kit_cms 2.3.20 → 2.3.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. data/app/assets/images/kit/toolbar/smile.png +0 -0
  2. data/app/assets/images/kit/toolbar/wink.gif +0 -0
  3. data/app/assets/images/kit/toolbar/wink.png +0 -0
  4. data/app/assets/javascripts/codemirror/editor.js +55 -17
  5. data/app/assets/javascripts/codemirror/jquery.js +0 -1
  6. data/app/assets/javascripts/codemirror/ruby.js +196 -0
  7. data/app/assets/javascripts/jquery.js +3036 -2838
  8. data/app/assets/javascripts/kit/utilities.js +655 -586
  9. data/app/assets/stylesheets/codemirror/style.css +1 -1
  10. data/app/assets/stylesheets/codemirror/theme.css +23 -3
  11. data/app/assets/stylesheets/kit/calendar.css +6 -1
  12. data/app/assets/stylesheets/kit/cms/cms.css +36 -0
  13. data/app/assets/stylesheets/kit/forums.css +5 -1
  14. data/app/assets/stylesheets/kit/kit.css +3 -1
  15. data/app/controllers/account_controller.rb +306 -0
  16. data/app/controllers/ad_controller.rb +2 -0
  17. data/app/controllers/admin/ad_units_controller.rb +1 -1
  18. data/app/controllers/admin/ad_zones_controller.rb +15 -0
  19. data/app/controllers/admin/ads_controller.rb +5 -0
  20. data/app/controllers/admin/block_controller.rb +1 -65
  21. data/app/controllers/admin/blocks_controller.rb +2 -0
  22. data/app/controllers/admin/content_controller.rb +3 -1
  23. data/app/controllers/admin/dashboard_controller.rb +28 -4
  24. data/app/controllers/admin/dj_controller.rb +45 -0
  25. data/app/controllers/admin/help_controller.rb +1 -1
  26. data/app/controllers/admin/html_asset_controller.rb +0 -12
  27. data/app/controllers/admin/q_controller.rb +120 -0
  28. data/app/controllers/admin/user_controller.rb +4 -4
  29. data/app/controllers/api_controller.rb +34 -0
  30. data/app/controllers/calendar_controller.rb +1 -1
  31. data/app/controllers/form_controller.rb +3 -3
  32. data/app/controllers/forum_controller.rb +39 -29
  33. data/app/controllers/kit_controller.rb +42 -15
  34. data/app/controllers/pages_controller.rb +25 -5
  35. data/app/controllers/q_controller.rb +235 -0
  36. data/app/controllers/repo_controller.rb +7 -0
  37. data/app/controllers/user_controller.rb +14 -10
  38. data/app/controllers/utility_controller.rb +1 -1
  39. data/app/helpers/account_helper.rb +47 -0
  40. data/app/helpers/admin/layouts_helper.rb +8 -0
  41. data/app/helpers/admin/page_templates_helper.rb +8 -0
  42. data/app/helpers/ads_helper.rb +11 -12
  43. data/app/helpers/calendar_helper.rb +6 -2
  44. data/app/helpers/form_data_helper.rb +1 -1
  45. data/app/helpers/form_helper.rb +8 -0
  46. data/app/helpers/forum_helper.rb +5 -1
  47. data/app/helpers/kit_helper.rb +65 -35
  48. data/app/helpers/kit_modules_helper.rb +4 -0
  49. data/app/helpers/user_helper.rb +0 -28
  50. data/app/jobs/page_link_job.rb +34 -0
  51. data/app/jobs/queue_job.rb +134 -0
  52. data/app/mailers/notification.rb +10 -0
  53. data/app/mailers/queue_mailer.rb +13 -0
  54. data/app/models/ad.rb +6 -6
  55. data/app/models/ad_unit.rb +1 -1
  56. data/app/models/ad_zone.rb +4 -0
  57. data/app/models/block.rb +1 -1
  58. data/app/models/delayed_job.rb +3 -0
  59. data/app/models/form.rb +16 -4
  60. data/app/models/html_asset.rb +19 -4
  61. data/app/models/html_asset_usage.rb +3 -0
  62. data/app/models/html_assetable.rb +4 -0
  63. data/app/models/layout.rb +36 -6
  64. data/app/models/newsletter.rb +1 -1
  65. data/app/models/page.rb +36 -2
  66. data/app/models/page_link.rb +5 -0
  67. data/app/models/page_template.rb +22 -2
  68. data/app/models/preference.rb +1 -1
  69. data/app/models/q_event.rb +12 -0
  70. data/app/models/q_klass.rb +5 -0
  71. data/app/models/q_message.rb +9 -0
  72. data/app/models/q_publisher.rb +35 -0
  73. data/app/models/q_subscription.rb +7 -0
  74. data/app/models/q_user.rb +29 -0
  75. data/app/models/q_users_method.rb +6 -0
  76. data/app/models/q_users_publisher.rb +6 -0
  77. data/app/models/user.rb +127 -19
  78. data/app/models/user_login.rb +4 -0
  79. data/app/validators/email_validator.rb +14 -0
  80. data/app/views/account/_edit.html.haml +40 -0
  81. data/app/views/account/_edit_intro.html.haml +3 -0
  82. data/app/views/account/_forgotten.html.haml +20 -0
  83. data/app/views/account/_forgotten_intro.html.haml +5 -0
  84. data/app/views/account/_sign_in.html.haml +31 -0
  85. data/app/views/account/_sign_in_intro.html.haml +4 -0
  86. data/app/views/account/_sign_up.html.haml +51 -0
  87. data/app/views/account/_sign_up_intro.html.haml +4 -0
  88. data/app/views/account/edit.html.haml +1 -0
  89. data/app/views/account/forgotten.html.haml +1 -0
  90. data/app/views/account/sign_in.html.haml +2 -0
  91. data/app/views/account/sign_up.html.haml +1 -0
  92. data/app/views/ad/_buy.html.haml +2 -1
  93. data/app/views/admin/ad_zones/_form.html.haml +1 -1
  94. data/app/views/admin/ad_zones/show.html.haml +2 -0
  95. data/app/views/admin/blocks/_form.html.haml +11 -1
  96. data/app/views/admin/dashboard/broken_links.html.haml +9 -0
  97. data/app/views/admin/dashboard/system.html.haml +11 -0
  98. data/app/views/admin/dj/index.html.haml +43 -0
  99. data/app/views/admin/form/_form.html.haml +15 -10
  100. data/app/views/admin/group/index.html.haml +1 -1
  101. data/app/views/admin/help/edit.html.haml +1 -1
  102. data/app/views/admin/html_asset/show.html.haml +9 -2
  103. data/app/views/admin/layouts/show.html.haml +10 -16
  104. data/app/views/admin/page_templates/_form.html.haml +9 -17
  105. data/app/views/admin/page_templates/show.html.haml +5 -4
  106. data/app/views/admin/q/events.html.haml +26 -0
  107. data/app/views/admin/q/index.html.haml +28 -0
  108. data/app/views/admin/q/klasses.html.haml +61 -0
  109. data/app/views/admin/q/messages.html.haml +37 -0
  110. data/app/views/admin/q/show.html.haml +98 -0
  111. data/app/views/admin/q/subscriptions.html.haml +26 -0
  112. data/app/views/admin/q/users.html.haml +27 -0
  113. data/app/views/admin/snippet/edit.html.erb +1 -1
  114. data/app/views/admin/snippet/new.html.erb +1 -1
  115. data/app/views/admin/stylesheet/show.html.haml +1 -1
  116. data/app/views/admin/user/index.html.erb +15 -6
  117. data/app/views/admin/user/view.html.erb +5 -4
  118. data/app/views/admin/views/_form.html.haml +3 -3
  119. data/app/views/calendar/_buy_tickets.html.haml +1 -1
  120. data/app/views/calendar/_calendar_entry.html.haml +1 -1
  121. data/app/views/calendar/_month.html.haml +7 -7
  122. data/app/views/form/_show.html.haml +1 -1
  123. data/app/views/forum/_add_post.html.haml +7 -8
  124. data/app/views/forum/_mod_thread.js.erb +46 -6
  125. data/app/views/forum/_post_moderation.html.haml +2 -1
  126. data/app/views/forum/_post_preview.html.haml +1 -9
  127. data/app/views/forum/_post_scripts.js.erb +29 -5
  128. data/app/views/forum/fetch_raw.html.haml +1 -0
  129. data/app/views/forum/moderate.html.haml +1 -0
  130. data/app/views/forum/topic_index.html.haml +4 -0
  131. data/app/views/notification/{event.txt.erb → event.text.erb} +0 -0
  132. data/app/views/notification/forgotten_password.text.erb +2 -0
  133. data/app/views/pages/content_edit.html.haml +1 -1
  134. data/app/views/pages/info.html.erb +13 -2
  135. data/app/views/pages/links.html.haml +63 -0
  136. data/app/views/user/edit_profile.html.haml +1 -1
  137. data/app/views/utility/_cm_editor.html.erb +13 -10
  138. data/app/views/utility/_cm_toolbar_markdown.html.haml +8 -1
  139. data/app/views/utility/_menu.html.haml +4 -0
  140. data/app/views/utility/mercury_html.html.haml +1 -0
  141. data/config/initializers/elastic_search.rb +6 -3
  142. data/config/initializers/extend_controller.rb +3 -0
  143. data/config/initializers/string.rb +9 -6
  144. data/config/initializers/warden.rb +49 -0
  145. data/config/locales/en.yml +29 -1
  146. data/config/routes.rb +35 -2
  147. data/lib/kit_cms.rb +7 -2
  148. data/lib/tasks/kit.rake +90 -2
  149. metadata +139 -27
  150. data/app/controllers/user/confirmations_controller.rb +0 -11
  151. data/app/controllers/user/passwords_controller.rb +0 -13
  152. data/app/controllers/user/registrations_controller.rb +0 -110
  153. data/app/controllers/user/sessions_controller.rb +0 -33
  154. data/app/controllers/user/unlocks_controller.rb +0 -13
  155. data/app/views/devise/_links.erb +0 -25
  156. data/app/views/devise/confirmations/new.html.erb +0 -12
  157. data/app/views/devise/mailer/confirmation_instructions.html.erb +0 -5
  158. data/app/views/devise/mailer/reset_password_instructions.html.erb +0 -8
  159. data/app/views/devise/mailer/unlock_instructions.html.erb +0 -7
  160. data/app/views/devise/passwords/edit.html.erb +0 -16
  161. data/app/views/devise/passwords/new.html.erb +0 -12
  162. data/app/views/devise/registrations/edit.html.erb +0 -28
  163. data/app/views/devise/registrations/new.html.erb +0 -18
  164. data/app/views/devise/sessions/new.html.erb +0 -18
  165. data/app/views/devise/shared/_links.erb +0 -25
  166. data/app/views/devise/unlocks/new.html.erb +0 -12
  167. data/app/views/pages/links.html.erb +0 -8
  168. data/app/views/user/shared/_links.erb +0 -25
  169. data/config/initializers/devise.rb +0 -196
  170. data/config/initializers/devise_extender.rb +0 -39
@@ -27,5 +27,6 @@
27
27
  = post.created_by_user.spam_points
28
28
   
29
29
   
30
- IP: #{post.ip}
30
+ IP:
31
+ = ip_info_link post.ip
31
32
 
@@ -1,10 +1,2 @@
1
- %html
2
- %head
3
- = stylesheet_link_tag "application"
4
- = kit_stylesheets(['forums'])
5
-
6
- %body
7
- .post_preview
8
- .post_preview_inner(style="overflow: hidden; border: thin #DDD solid; padding: 5px; ")
9
- = post.display_body.html_safe
1
+ NOT USED
10
2
 
@@ -17,6 +17,7 @@ $(document).ready(function() {
17
17
  });
18
18
 
19
19
  var editing_id = null;
20
+ var use_markdown_editor = <%= use_markdown_editor %>;
20
21
 
21
22
  function user_edit_post(post_id) {
22
23
  if (editing_id!=null) {
@@ -25,9 +26,16 @@ function user_edit_post(post_id) {
25
26
  var bod = $('#body_'+post_id);
26
27
  bod.append('<div id="popup_form"></div>');
27
28
  div = $('#popup_form');
29
+ if (use_markdown_editor) {
30
+ div.append('Post: <div style="width:95%; z-index: 0;" id="topic_post_body_edit"></div>');
31
+ $('#topic_post_body_edit').load("/forums/post/"+post_id+"?editor=1");
32
+ }
33
+ else {
34
+ div.append('Post: <textarea style="width:95%;" rows="18" id="topic_post_body_edit"></textarea>');
35
+ $('#topic_post_body_edit').load("/forums/post/"+post_id);
36
+ }
28
37
 
29
- div.append('Post: <textarea style="width:95%;" rows="18" id="topic_post_body_edit"></textarea>');
30
- // TODO Markdown editor
38
+ $('div#posts div.edit').hide();
31
39
  div.append('<br/><input type="button" onClick="user_save_edit();" value="Save"/>');
32
40
  $('#topic_post_body_edit').load("/forums/post/"+post_id);
33
41
  editing_id = post_id;
@@ -36,7 +44,15 @@ function user_edit_post(post_id) {
36
44
 
37
45
  function user_save_edit() {
38
46
  var id = editing_id;
39
- var bod = $('#topic_post_body_edit').val();
47
+ var bod;
48
+ if (use_markdown_editor) {
49
+ bod = get_editor_by_name('topic_post_body_edit').getValue();
50
+ deregister_editor_by_name('topic_post_body_edit');
51
+ }
52
+ else {
53
+ bod = $('#topic_post_body_edit').val();
54
+ }
55
+
40
56
  $('#popup_form').remove();
41
57
  editing_id = null;
42
58
 
@@ -87,7 +103,16 @@ function show_post() {
87
103
  }
88
104
 
89
105
  function validate_post() {
90
- var msgbody = $('#topic_post_body').val();
106
+ var msgbody = "";
107
+
108
+ if (use_markdown_editor) {
109
+ var editor = get_editor_by_name("topic_post[body]");
110
+ msgbody = editor.getValue();
111
+ }
112
+ else {
113
+ msgbody = $('#topic_post_body').val();
114
+ }
115
+
91
116
  if (msgbody.length<2) {
92
117
  alert("You must write something!");
93
118
  return false;
@@ -107,7 +132,6 @@ function validate_post() {
107
132
  <% end %>
108
133
  $('#topic_post_submit').val('Saving...');
109
134
  $('#topic_post_submit').attr('disabled', true);
110
- $('#topic_post_body').focus();
111
135
  return true;
112
136
  }
113
137
 
@@ -0,0 +1 @@
1
+ = cm_editor("topic_post_body_#{is_mod ? 'mod' : 'edit'}", {:value=>@post.raw_body, :mode=>"markdown", :theme=>"neat", :dont_show_mode=>true, :dont_show_line_numbers=>true, :show_toolbar=>true, :height=>300, :width=>800}).html_safe
@@ -30,5 +30,6 @@
30
30
  .mod_comment(id="mod_comment_#{post.id}")
31
31
  .info
32
32
  .mod_actions
33
+ = link_to_function "Quick Reply", "mod_reply(#{post.id}, #{post.topic_thread_id});", :id=>"reply_#{post.id}"
33
34
  = render partial:"post_moderation", :locals=>{:post=>post}
34
35
 
@@ -2,6 +2,10 @@
2
2
  - content_for :page_scripts do
3
3
  = render :partial=>"topic_index", :formats=>[:js]
4
4
 
5
+ - content_for :head do
6
+ = javascript_include_tag "codemirror/editor"
7
+ = stylesheet_link_tag "codemirror/editor"
8
+
5
9
  #forums.clearfix
6
10
 
7
11
  = render :partial=>"introduction"
@@ -0,0 +1,2 @@
1
+ <%= kit_snippet("Forgotten Password Email", "You have asked to reset your password. To do so, please follow this link: #{@reset_link}", @user.system_id) %>
2
+
@@ -6,7 +6,7 @@
6
6
  .cms_form
7
7
  = form_for @page_content, :url=>"/page/#{@page.id}/content/#{@page_content.id}", :method=>:post do |f|
8
8
 
9
- = cm_editor('html', :page_content, :value, f)
9
+ = cm_editor("page_content[value]", {:mode=>"html"})
10
10
 
11
11
  .div
12
12
  = kit_submit "Save"
@@ -19,9 +19,12 @@ return false;
19
19
  <%# TODO: render(:partial=>"favourite_link", :locals=>{:page_url=>@page.full_path }) %>
20
20
  </div>
21
21
 
22
+ <% unless @page.is_stub? %>
22
23
  <div class="clearfix">
23
24
  <%= icon_to "View", @page.full_path, false, :method=>:get %> <%= icon_to("Edit", @page.full_path+"?edit=1") unless @page.is_stub? || @page.locked? %>
24
25
  </div>
26
+ <% end %>
27
+
25
28
  <h1 class="summary_icon" style="margin-top: 20px;">Summary</h1>
26
29
  <div class="clearfix">
27
30
  <%= icon_to "Edit Info", "/page/#{@page.id}/edit" unless @page.locked? %>
@@ -70,6 +73,12 @@ return false;
70
73
  <td>Path:</td>
71
74
  <td colspan='2'><%= @page.full_path %></td>
72
75
  </tr>
76
+
77
+ <tr>
78
+ <td>Links To This Page:</td>
79
+ <td colspan="2"><%= PageLink.sys(_sid).where(:url=>@page.full_path).count %></td>
80
+ </tr>
81
+
73
82
  <tr>
74
83
  <td>Template:</td>
75
84
  <td><%= link_to(@page.page_template.name, "/admin/page_templates/#{@page.page_template_id}") rescue '' %></td>
@@ -203,9 +212,11 @@ return false;
203
212
 
204
213
  <tr class="advanced">
205
214
  <td colspan="3">
206
- <p>Show: <%= icon_to "Page Analysis", "/db/content/analyse/#{@page.id}", false, :class=>"icon_stack advanced" %>
215
+ <p>Show:
216
+ <%= icon_to "Links", "/page/#{@page.id}/links", false %>
217
+ <%= icon_to "Page Analysis", "/db/content/analyse/#{@page.id}", false, :class=>"icon_stack advanced" %>
207
218
  <%= icon_to "Content", "/page/#{@page.id}/contents", false, :class=>"advanced" %>
208
- <%= icon_to "Blocks Used On This Page", "/admin/block_instances?page_id=#{@page.id}", false, :class=>"advanced" %>
219
+ <%= icon_to "Blocks Used", "/admin/block_instances?page_id=#{@page.id}", false, :class=>"advanced" %>
209
220
  <%= icon_to_function "Access Permissions", "$('#access').slideDown(); $('#show_access_link').hide();",false, {:id=>'show_access_link', :class=>"icon_stack"} %>
210
221
  </p>
211
222
  </td>
@@ -0,0 +1,63 @@
1
+ - content_for :main do
2
+
3
+ %h1.page_icon Page '#{@page.title}' Links
4
+
5
+ .link
6
+ = icon_to "Page Info", "/page/#{@page.id}/info"
7
+
8
+ - if @page.needs_crawl
9
+ .warning(style="margin-top: 10px; color: red;")
10
+ This information may be out of date. You can
11
+ = link_to "force an update", "/page/#{@page.id}/links?refresh=1"
12
+ but be aware it make take some time. Alternatively one will happen automatically soon.
13
+
14
+ - else
15
+ - unless @page.updated_crawl
16
+ .warning(style="margin-top: 10px; color: red;")
17
+ This page hasn't been processed for link information. You can
18
+ = link_to "force an update", "/page/#{@page.id}/links?refresh=1"
19
+ but it will take some time to process.
20
+
21
+
22
+ - links = @page.page_links.order(:url).limit(500).all
23
+ %h3
24
+ Pages This One Links To:
25
+ - if links.size==500
26
+ Showing the first 500 but there are more
27
+ - else
28
+ = links.size
29
+ %ul.link_list
30
+ - links.each do |page|
31
+ %li
32
+ - other_page = Page.sys(_sid).where(:full_path=>page.url).first rescue nil
33
+ .title.clearfix(class="http_#{page.http_status}")
34
+ .left
35
+ = link_to truncate(page.url, :length=>80), page.url
36
+ - if other_page
37
+ = other_page.title
38
+ [
39
+ = link_to other_page.status.name, "/page/#{other_page.id}/info"
40
+ ]
41
+
42
+
43
+ - links = PageLink.sys(_sid).order(:url).where(:url=>@page.full_path).limit(500).all
44
+ %h3
45
+ Pages Linking To This One:
46
+ - if links.size==500
47
+ Showing the first 500 but there are mot
48
+ - else
49
+ = links.size
50
+
51
+ %ul.link_list
52
+ - links.each do |page|
53
+ %li
54
+ .title.clearfix(class="http_#{page.http_status}")
55
+ .left
56
+ = link_to truncate(page.page.full_path, :length=>80), page.page.full_path
57
+ - if page.page
58
+ = page.page.title
59
+ [
60
+ = link_to page.page.status.name, "/page/#{page.page.id}/info"
61
+ ]
62
+
63
+
@@ -1,4 +1,4 @@
1
- #user_profile
1
+ #user_profile.users
2
2
  %h1 Your Profile
3
3
 
4
4
  - if @errors
@@ -1,6 +1,8 @@
1
+ <div class='markdown_instance'>
2
+
1
3
  <script type="text/javascript">
2
4
  $(document).ready(function() {
3
- var editor_a = parent.document.getElementById('<%= form_field %>');
5
+ var editor_element = parent.document.getElementById('<%= options[:id] %>');
4
6
  var options = {
5
7
  <% unless options[:dont_show_line_numbers] %>
6
8
  lineNumbers: true,
@@ -10,37 +12,38 @@
10
12
  lineWrapping: true,
11
13
  matchBrackets: true,
12
14
  collapseRange: true,
13
- mode : '<%= mode %>'};
14
- var html_editor = parent.CodeMirror.fromTextArea(editor_a, options);
15
- html_editors["<%= form_field %>"] = html_editor;
16
- html_editor.focus();
15
+ mode : '<%= options[:mode] %>'};
16
+ var editor = parent.CodeMirror.fromTextArea(editor_element, options);
17
+ register_editor(editor, "<%= options[:id] %>", "<%= name %>");
18
+ editor.focus();
17
19
  <% height = options[:height] %>
18
20
  <% width = options[:width] %>
19
21
  <% if height || width %>
20
22
  <% width = width ? "\"#{width}\"" : 'null' %>
21
23
  <% height = height ? "\"#{height}\"" : 'null' %>
22
- <%= "html_editor.setSize(#{width}, #{height})".html_safe %>
24
+ <%= "editor.setSize(#{width}, #{height})".html_safe %>
23
25
  <% end %>
24
26
 
25
27
  });
26
28
  </script>
27
29
 
28
30
  <% unless options[:dont_show_mode] %>
29
- <div class='editor_mode'>Mode: <%= (mode=='htmlmixed' ? 'html' : mode).upcase %>
31
+ <div class='editor_mode'>Mode: <%= (options[:mode]=='htmlmixed' ? 'html' : options[:mode]).upcase %>
30
32
  </div>
31
33
  <% end %>
32
34
 
33
35
  <% if options[:show_toolbar] %>
34
36
  <div class='toolbar'>
35
- <%= render :partial=>"utility/cm_toolbar_#{mode}", :locals=>{:name=>form_field} %>
37
+ <%= render :partial=>"utility/cm_toolbar_#{options[:mode]}", :locals=>{:name=>options[:id]} %>
36
38
  </div>
37
39
  <% end %>
38
40
 
39
- <%= form.text_area field %>
41
+ <textarea id="<%= options[:id] %>" name="<%= name %>"><%= options[:value] %></textarea>
40
42
 
41
43
  <% unless options[:no_preview] %>
42
- <div id="preview_<%= form_field %>" class='markdown_preview' style='display: none;'>
44
+ <div id="preview_<%= options[:id] %>" class='markdown_preview' style='display: none;'>
43
45
  Please wait whilst the preview loads
44
46
  </div>
45
47
  <% end %>
46
48
 
49
+ </div>
@@ -1,6 +1,5 @@
1
1
  - rand = rand(100000)
2
2
 
3
-
4
3
  %ul.markdown.clearfix(id="tb_#{rand}")
5
4
 
6
5
  %li.bold(data-cmd="undo" data-hint="Undo")
@@ -37,6 +36,14 @@
37
36
  %li.spacer.pre(data-cmd="pre" data-hint="Preformatted")
38
37
  = image_tag "/assets/kit/toolbar/formatted.png"
39
38
  %label Formatted
39
+ - if Preference.get_cached(_sid, "forum_use_smilies")=='true'
40
+ %li.smile(data-cmd="smile" data-hint="Smile")
41
+ = image_tag "/assets/kit/toolbar/smile.png"
42
+ %label Smile
43
+ %li.spacer.wink(data-cmd="wink" data-hint="Wink")
44
+ = image_tag "/assets/kit/toolbar/wink.png"
45
+ %label Wink
46
+
40
47
  %li.pre(data-cmd="preview" data-hint="Preview")
41
48
  = image_tag "/assets/kit/toolbar/preview.png"
42
49
  %label Preview
@@ -86,6 +86,8 @@
86
86
  %a.ads_wicon(href="/admin/advertisments") Advertisments
87
87
  %p.advanced
88
88
  %a.menu_wicon(href="/menus") Menus
89
+ %p.advanced
90
+ %a.notificationqueue_wicon(href="/admin/q") Notification Queue
89
91
 
90
92
  - if can?(:use, :design)
91
93
  %li
@@ -119,6 +121,8 @@
119
121
  %a(href="/admin/dashboard/errors") Errors
120
122
  %p
121
123
  %a(href="/admin/dashboard/logfile") Log File
124
+ %p
125
+ %a(href="/admin/dj") Delayed Job Queue
122
126
  %p
123
127
  %a.help_wicon(href="/db/help") Help
124
128
 
@@ -22,6 +22,7 @@
22
22
  var options = { lineNumbers: true, theme: 'blackboard', indentUnit: 2, lineWrapping: true, matchBrackets: true , collapseRange: true};
23
23
  html_editor = parent.CodeMirror.fromTextArea(editor_a, options);
24
24
  html_editor.focus();
25
+ parent.$('.CodeMirror').css('height', ($(window).height()-40) + 'px');
25
26
  }
26
27
 
27
28
  function the_editor() {
@@ -1,7 +1,10 @@
1
- app_name = Rails.configuration.es_index_name rescue 'kit'
1
+ module ElasticSearch
2
+ INDEX_NAME = (Rails.configuration.es_index_name rescue Rails.application.class.to_s.split("::").first).downcase
2
3
 
3
- Tire::Model::Search.index_prefix "kit_#{app_name}".downcase
4
+ Tire::Model::Search.index_prefix INDEX_NAME
5
+
6
+ Tire.configure { logger 'log/search.log', :level => 'info' }
7
+ end
4
8
 
5
- Tire.configure { logger 'log/search.log', :level => 'info' }
6
9
 
7
10
 
@@ -2,6 +2,7 @@ module DomainController
2
2
 
3
3
  attr_accessor :kit_system
4
4
 
5
+
5
6
  def licensed(c = nil)
6
7
  if c!=nil
7
8
  function = c
@@ -50,6 +51,8 @@ module DomainController
50
51
  break
51
52
  end
52
53
  end
54
+
55
+ session[:system_id] = nil
53
56
 
54
57
  if system_id
55
58
  session[:system_id] = system_id
@@ -20,6 +20,12 @@ class String
20
20
  options[:filter_styles] ||= true
21
21
  options[:autolink] ||= true
22
22
 
23
+ if options[:smilies]
24
+ text = text.gsub(/\:smile\:/, '+smile+smile+')
25
+ text = text.gsub(/\:wink\:/, '+smile+wink+')
26
+ text = text.gsub(/\:wall\:/, '+smile+wall+')
27
+ end
28
+
23
29
  r = Maruku.new(text)
24
30
 
25
31
  options.each do |k,v|
@@ -30,12 +36,9 @@ class String
30
36
 
31
37
  d = r.to_html.gsub(/!YOUTUBE!([0-9a-zA-Z\_\-]{5,15})!/i, '<br/><iframe width="560" height="315" src="http://www.youtube.com/embed/\1" frameborder="0" allowfullscreen></iframe><br/>') unless options[:strict_markdown] || options[:no_youtube]
32
38
  d = d.gsub(/!VIMEO!([0-9]{6,9})!/i, '<br/><iframe src="http://player.vimeo.com/video/\1" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe><br/>') unless options[:strict_markdown] || options[:no_youtube]
33
-
34
- if options[:smilies]
35
- d.gsub!(/:smile:/, '<img src="/assets/smilies/smile.gif" height="20" width="20" />')
36
- d.gsub!(/:wink:/, '<img src="/assets/smilies/wink.gif" height="20" width="20" />')
37
- d.gsub!(/:wall:/, '<img src="/assets/smilies/wall.gif" height="20" width="20" />')
38
- end
39
+
40
+ d = d.gsub(/\+smile\+([a-z0-9]+)\+/i, '<img src="/assets/smilies/\1.gif" class="smiley" />')
41
+
39
42
  return d
40
43
  end
41
44
 
@@ -0,0 +1,49 @@
1
+ Rails.configuration.middleware.use RailsWarden::Manager do |manager|
2
+ manager.default_strategies :cookie, :token, :email
3
+ manager.failure_app = AccountController
4
+ end
5
+
6
+ Warden::Strategies.add(:cookie) do
7
+ def valid?
8
+ cookies[:sign_in]
9
+ end
10
+
11
+ def authenticate!
12
+ u = User.cookie_authenticate(session[:system_id], cookies[:sign_in])
13
+
14
+ success!(u) if u
15
+ end
16
+ end
17
+
18
+ Warden::Strategies.add(:email) do
19
+
20
+ def valid?
21
+ session[:system_id] &&
22
+ (
23
+ ( params[:email] && params[:password] ) ||
24
+ ( params[:user] && params[:user][:email] && params[:user][:password] )
25
+ )
26
+ end
27
+
28
+ def authenticate!
29
+ u = User.authenticate(session[:system_id], params[:email] || (params[:user] && params[:user][:email]), params[:password] || (params[:user] && params[:user][:password]))
30
+ success!(u) if u
31
+ end
32
+ end
33
+
34
+ Warden::Strategies.add(:token) do
35
+ def valid?
36
+ session[:system_id] && params[(Preference.get_cached(session[:system_id], "account_token_param") || 'token').to_sym]
37
+ end
38
+
39
+ def authenticate!
40
+ system_id = nil
41
+
42
+ u = User.token_authenticate(session[:system_id], params[(Preference.get_cached(session[:system_id], "account_token_param") || 'token').to_sym]
43
+ )
44
+ success!(u) if u
45
+ end
46
+
47
+ end
48
+
49
+