imagine_cms 3.0.0.beta6 → 3.0.0.beta7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (278) hide show
  1. data/README.rdoc +1 -1
  2. data/app/assets/images/codepress/line-numbers.png +0 -0
  3. data/app/assets/images/cropper/marqueeHoriz.gif +0 -0
  4. data/app/assets/images/cropper/marqueeVert.gif +0 -0
  5. data/app/assets/images/management/btn_add.gif +0 -0
  6. data/app/assets/images/management/btn_archive.gif +0 -0
  7. data/app/assets/images/management/btn_delete.gif +0 -0
  8. data/app/assets/images/management/btn_duplicate.gif +0 -0
  9. data/app/assets/images/management/btn_edit.gif +0 -0
  10. data/app/assets/images/management/btn_help.gif +0 -0
  11. data/app/assets/images/management/btn_new_page.gif +0 -0
  12. data/app/assets/images/management/btn_preview.gif +0 -0
  13. data/app/assets/images/management/btn_properties.gif +0 -0
  14. data/app/assets/images/management/btn_restore.gif +0 -0
  15. data/app/assets/images/management/btn_top_delete.gif +0 -0
  16. data/app/assets/images/management/btn_top_duplicate.gif +0 -0
  17. data/app/assets/images/management/btn_top_edit.gif +0 -0
  18. data/app/assets/images/management/btn_top_new.gif +0 -0
  19. data/app/assets/images/management/btn_top_preview.gif +0 -0
  20. data/app/assets/images/management/btn_top_properties.gif +0 -0
  21. data/app/assets/{manage → images/management}/bullet.gif +0 -0
  22. data/app/assets/images/management/cvv2_graphic.gif +0 -0
  23. data/app/assets/images/management/error.gif +0 -0
  24. data/app/assets/images/management/gallery_index.gif +0 -0
  25. data/app/assets/images/management/gallery_preview_overlay.png +0 -0
  26. data/app/assets/images/management/gallery_small_drag_overlay.png +0 -0
  27. data/app/assets/images/management/gallery_small_overlay.png +0 -0
  28. data/app/assets/images/management/gallery_sort.gif +0 -0
  29. data/app/assets/images/management/icon_download.gif +0 -0
  30. data/app/assets/images/management/icon_locked.png +0 -0
  31. data/app/assets/images/management/icon_page.gif +0 -0
  32. data/app/assets/images/management/icon_time.gif +0 -0
  33. data/app/assets/images/management/icon_unlocked.png +0 -0
  34. data/app/assets/images/management/page_loading.gif +0 -0
  35. data/app/assets/{manage → images/management}/start.gif +0 -0
  36. data/app/assets/images/management/vcard.gif +0 -0
  37. data/app/assets/javascripts/builder.js +101 -0
  38. data/app/assets/javascripts/codepress/codepress.html +36 -0
  39. data/app/assets/javascripts/codepress/codepress.js +130 -0
  40. data/app/assets/javascripts/codepress/engines/gecko.js +240 -0
  41. data/{vendor/gems/acts_as_tree/test/abstract_unit.rb → app/assets/javascripts/codepress/engines/khtml.js} +0 -0
  42. data/app/assets/javascripts/codepress/engines/msie.js +263 -0
  43. data/{vendor/gems/acts_as_tree/test/database.yml → app/assets/javascripts/codepress/engines/older.js} +0 -0
  44. data/app/assets/javascripts/codepress/engines/opera.js +259 -0
  45. data/app/assets/javascripts/codepress/languages/css.js +23 -0
  46. data/app/assets/javascripts/codepress/languages/generic.js +25 -0
  47. data/app/assets/javascripts/codepress/languages/html.js +63 -0
  48. data/app/assets/javascripts/codepress/languages/java.js +24 -0
  49. data/app/assets/javascripts/codepress/languages/javascript.js +30 -0
  50. data/app/assets/javascripts/codepress/languages/perl.js +27 -0
  51. data/app/assets/javascripts/codepress/languages/php.js +60 -0
  52. data/app/assets/javascripts/codepress/languages/ruby.js +26 -0
  53. data/app/assets/javascripts/codepress/languages/sql.js +30 -0
  54. data/app/assets/javascripts/codepress/languages/text.js +9 -0
  55. data/app/assets/javascripts/cropper.js +568 -0
  56. data/app/assets/javascripts/dojo/dojo.js +14155 -0
  57. data/app/assets/javascripts/dojo/src/html/images/shadowB.png +0 -0
  58. data/app/assets/javascripts/dojo/src/html/images/shadowBL.png +0 -0
  59. data/app/assets/javascripts/dojo/src/html/images/shadowBR.png +0 -0
  60. data/app/assets/javascripts/dojo/src/html/images/shadowL.png +0 -0
  61. data/app/assets/javascripts/dojo/src/html/images/shadowR.png +0 -0
  62. data/app/assets/javascripts/dojo/src/html/images/shadowT.png +0 -0
  63. data/app/assets/javascripts/dojo/src/html/images/shadowTL.png +0 -0
  64. data/app/assets/javascripts/dojo/src/html/images/shadowTR.png +0 -0
  65. data/app/assets/javascripts/dojo/src/widget/templates/Editor2/showtableborder_gecko.css +19 -0
  66. data/app/assets/javascripts/dojo/src/widget/templates/HslColorPicker.svg +30 -0
  67. data/app/assets/javascripts/dojo/src/widget/templates/buttons/aggregate.gif +0 -0
  68. data/app/assets/javascripts/dojo/src/widget/templates/buttons/aggregate.psd +0 -0
  69. data/app/assets/javascripts/dojo/src/widget/templates/buttons/backcolor.gif +0 -0
  70. data/app/assets/javascripts/dojo/src/widget/templates/buttons/bg-fade.png +0 -0
  71. data/app/assets/javascripts/dojo/src/widget/templates/buttons/bold.gif +0 -0
  72. data/app/assets/javascripts/dojo/src/widget/templates/buttons/cancel.gif +0 -0
  73. data/app/assets/javascripts/dojo/src/widget/templates/buttons/copy.gif +0 -0
  74. data/app/assets/javascripts/dojo/src/widget/templates/buttons/createlink.gif +0 -0
  75. data/app/assets/javascripts/dojo/src/widget/templates/buttons/cut.gif +0 -0
  76. data/app/assets/javascripts/dojo/src/widget/templates/buttons/delete.gif +0 -0
  77. data/app/assets/javascripts/dojo/src/widget/templates/buttons/forecolor.gif +0 -0
  78. data/app/assets/javascripts/dojo/src/widget/templates/buttons/hilitecolor.gif +0 -0
  79. data/app/assets/javascripts/dojo/src/widget/templates/buttons/indent.gif +0 -0
  80. data/app/assets/javascripts/dojo/src/widget/templates/buttons/inserthorizontalrule.gif +0 -0
  81. data/app/assets/javascripts/dojo/src/widget/templates/buttons/insertimage.gif +0 -0
  82. data/app/assets/javascripts/dojo/src/widget/templates/buttons/insertorderedlist.gif +0 -0
  83. data/app/assets/javascripts/dojo/src/widget/templates/buttons/inserttable.gif +0 -0
  84. data/app/assets/javascripts/dojo/src/widget/templates/buttons/insertunorderedlist.gif +0 -0
  85. data/app/assets/javascripts/dojo/src/widget/templates/buttons/italic.gif +0 -0
  86. data/app/assets/javascripts/dojo/src/widget/templates/buttons/justifycenter.gif +0 -0
  87. data/app/assets/javascripts/dojo/src/widget/templates/buttons/justifyfull.gif +0 -0
  88. data/app/assets/javascripts/dojo/src/widget/templates/buttons/justifyleft.gif +0 -0
  89. data/app/assets/javascripts/dojo/src/widget/templates/buttons/justifyright.gif +0 -0
  90. data/app/assets/javascripts/dojo/src/widget/templates/buttons/left_to_right.gif +0 -0
  91. data/app/assets/javascripts/dojo/src/widget/templates/buttons/list_bullet_indent.gif +0 -0
  92. data/app/assets/javascripts/dojo/src/widget/templates/buttons/list_bullet_outdent.gif +0 -0
  93. data/app/assets/javascripts/dojo/src/widget/templates/buttons/list_num_indent.gif +0 -0
  94. data/app/assets/javascripts/dojo/src/widget/templates/buttons/list_num_outdent.gif +0 -0
  95. data/app/assets/javascripts/dojo/src/widget/templates/buttons/outdent.gif +0 -0
  96. data/app/assets/javascripts/dojo/src/widget/templates/buttons/paste.gif +0 -0
  97. data/app/assets/javascripts/dojo/src/widget/templates/buttons/redo.gif +0 -0
  98. data/app/assets/javascripts/dojo/src/widget/templates/buttons/removeformat.gif +0 -0
  99. data/app/assets/javascripts/dojo/src/widget/templates/buttons/right_to_left.gif +0 -0
  100. data/app/assets/javascripts/dojo/src/widget/templates/buttons/save.gif +0 -0
  101. data/app/assets/javascripts/dojo/src/widget/templates/buttons/sep.gif +0 -0
  102. data/app/assets/javascripts/dojo/src/widget/templates/buttons/space.gif +0 -0
  103. data/app/assets/javascripts/dojo/src/widget/templates/buttons/strikethrough.gif +0 -0
  104. data/app/assets/javascripts/dojo/src/widget/templates/buttons/subscript.gif +0 -0
  105. data/app/assets/javascripts/dojo/src/widget/templates/buttons/superscript.gif +0 -0
  106. data/app/assets/javascripts/dojo/src/widget/templates/buttons/underline.gif +0 -0
  107. data/app/assets/javascripts/dojo/src/widget/templates/buttons/undo.gif +0 -0
  108. data/app/assets/javascripts/dojo/src/widget/templates/buttons/wikiword.gif +0 -0
  109. data/app/assets/javascripts/dojo/src/widget/templates/check.gif +0 -0
  110. data/app/assets/javascripts/dojo/src/widget/templates/decrementMonth.gif +0 -0
  111. data/app/assets/javascripts/dojo/src/widget/templates/decrementWeek.gif +0 -0
  112. data/app/assets/javascripts/dojo/src/widget/templates/grabCorner.gif +0 -0
  113. data/app/assets/javascripts/dojo/src/widget/templates/images/floatingPaneClose.gif +0 -0
  114. data/app/assets/javascripts/dojo/src/widget/templates/images/soriaAccordionOff.gif +0 -0
  115. data/app/assets/javascripts/dojo/src/widget/templates/images/soriaAccordionSelected.gif +0 -0
  116. data/app/assets/javascripts/dojo/src/widget/templates/images/soriaActive-c.gif +0 -0
  117. data/app/assets/javascripts/dojo/src/widget/templates/images/soriaActive-l.gif +0 -0
  118. data/app/assets/javascripts/dojo/src/widget/templates/images/soriaActive-r.gif +0 -0
  119. data/app/assets/javascripts/dojo/src/widget/templates/images/soriaBarBg.gif +0 -0
  120. data/app/assets/javascripts/dojo/src/widget/templates/images/soriaButton-c.gif +0 -0
  121. data/app/assets/javascripts/dojo/src/widget/templates/images/soriaButton-l.gif +0 -0
  122. data/app/assets/javascripts/dojo/src/widget/templates/images/soriaButton-r.gif +0 -0
  123. data/app/assets/javascripts/dojo/src/widget/templates/images/soriaDisabled-c.gif +0 -0
  124. data/app/assets/javascripts/dojo/src/widget/templates/images/soriaDisabled-l.gif +0 -0
  125. data/app/assets/javascripts/dojo/src/widget/templates/images/soriaDisabled-r.gif +0 -0
  126. data/app/assets/javascripts/dojo/src/widget/templates/images/soriaMenuBg.gif +0 -0
  127. data/app/assets/javascripts/dojo/src/widget/templates/images/soriaPressed-c.gif +0 -0
  128. data/app/assets/javascripts/dojo/src/widget/templates/images/soriaPressed-l.gif +0 -0
  129. data/app/assets/javascripts/dojo/src/widget/templates/images/soriaPressed-r.gif +0 -0
  130. data/app/assets/javascripts/dojo/src/widget/templates/images/tab_close.gif +0 -0
  131. data/app/assets/javascripts/dojo/src/widget/templates/images/toolbar-bg.gif +0 -0
  132. data/app/assets/javascripts/dojo/src/widget/templates/incrementMonth.gif +0 -0
  133. data/app/assets/javascripts/dojo/src/widget/templates/incrementWeek.gif +0 -0
  134. data/app/assets/javascripts/dojo/src/widget/templates/richtextframe.html +24 -0
  135. data/app/assets/javascripts/imagine.js +1385 -0
  136. data/app/assets/javascripts/jquery_no_conflict.js +9405 -0
  137. data/app/assets/stylesheets/codepress/codepress.css +7 -0
  138. data/app/assets/stylesheets/codepress/languages/css.css +10 -0
  139. data/app/assets/stylesheets/codepress/languages/generic.css +9 -0
  140. data/app/assets/stylesheets/codepress/languages/html.css +18 -0
  141. data/app/assets/stylesheets/codepress/languages/java.css +7 -0
  142. data/app/assets/stylesheets/codepress/languages/javascript.css +8 -0
  143. data/app/assets/stylesheets/codepress/languages/perl.css +11 -0
  144. data/app/assets/stylesheets/codepress/languages/php.css +12 -0
  145. data/app/assets/stylesheets/codepress/languages/ruby.css +10 -0
  146. data/app/assets/stylesheets/codepress/languages/sql.css +10 -0
  147. data/app/assets/stylesheets/codepress/languages/text.css +5 -0
  148. data/app/assets/stylesheets/cropper.css +182 -0
  149. data/app/assets/stylesheets/management.css +96 -0
  150. data/app/assets/stylesheets/reset.css +58 -0
  151. data/app/controllers/cms/content_controller.rb +318 -2
  152. data/app/controllers/management/cms_controller.rb +1669 -0
  153. data/app/controllers/management/user_controller.rb +4 -4
  154. data/app/controllers/management/users_controller.rb +18 -4
  155. data/app/controllers/util_controller.rb +45 -0
  156. data/app/helpers/cms_application_helper.rb +662 -15
  157. data/app/models/cms_content_sweeper.rb +21 -0
  158. data/app/models/cms_page.rb +126 -0
  159. data/app/models/cms_page_object.rb +23 -0
  160. data/app/models/cms_page_tag.rb +5 -0
  161. data/app/models/cms_page_version.rb +3 -0
  162. data/app/models/cms_snippet.rb +16 -0
  163. data/app/models/cms_template.rb +29 -0
  164. data/app/models/user.rb +6 -3
  165. data/app/views/management/cms/_complete_gallery.html.erb +5 -0
  166. data/app/views/management/cms/_create_file_link.html.erb +21 -0
  167. data/app/views/management/cms/_crop_feature_image.html.erb +188 -0
  168. data/app/views/management/cms/_crop_image.html.erb +188 -0
  169. data/app/views/management/cms/_crop_results.html.erb +1 -0
  170. data/app/views/management/cms/_crop_results_feature_image.html.erb +1 -0
  171. data/app/views/management/cms/_crop_results_thumb.html.erb +1 -0
  172. data/app/views/management/cms/_crop_thumb.html.erb +188 -0
  173. data/app/views/management/cms/_dialogs.html.erb +39 -0
  174. data/app/views/management/cms/_edit_page.html.erb +176 -0
  175. data/app/views/management/cms/_gallery_index.html.erb +10 -0
  176. data/app/views/management/cms/_gallery_setup.html.erb +22 -0
  177. data/app/views/management/cms/_image.html.erb +3 -0
  178. data/app/views/management/cms/_image_details.html.erb +26 -0
  179. data/app/views/management/cms/_image_draggable.html.erb +4 -0
  180. data/app/views/management/cms/_list_page.html.erb +8 -0
  181. data/app/views/management/cms/_list_page_select.html.erb +8 -0
  182. data/app/views/management/cms/_list_pages.html.erb +1 -0
  183. data/app/views/management/cms/_list_pages_select.html.erb +1 -0
  184. data/app/views/management/cms/_page_attribute.html.erb +6 -0
  185. data/app/views/management/cms/_page_list.html.erb +171 -0
  186. data/app/views/management/cms/_page_list_source_folder.html.erb +20 -0
  187. data/app/views/management/cms/_page_list_source_tag.html.erb +18 -0
  188. data/app/views/management/cms/_select_gallery.html.erb +117 -0
  189. data/app/views/management/cms/_snippet.html.erb +3 -0
  190. data/app/views/management/cms/_sort_images.html.erb +15 -0
  191. data/app/views/management/cms/_temp.html.erb +3 -0
  192. data/app/views/management/cms/_template_options.html.erb +21 -0
  193. data/app/views/management/cms/_template_reference.html.erb +42 -0
  194. data/app/views/management/cms/_upload_feature_image.html.erb +35 -0
  195. data/app/views/management/cms/_upload_file.html.erb +31 -0
  196. data/app/views/management/cms/_upload_image.html.erb +74 -0
  197. data/app/views/management/cms/_upload_thumb.html.erb +35 -0
  198. data/app/views/management/cms/edit_master.html.erb +48 -0
  199. data/app/views/management/cms/edit_page_content.html.erb +4 -0
  200. data/app/views/management/cms/edit_snippet.html.erb +47 -0
  201. data/app/views/management/cms/edit_template.html.erb +48 -0
  202. data/app/views/management/cms/gallery_management.html.erb +108 -0
  203. data/app/views/management/cms/index.html.erb +20 -0
  204. data/app/views/management/cms/page_tags_for_lookup.html.erb +5 -0
  205. data/app/views/management/cms/pages.html.erb +99 -0
  206. data/app/views/management/cms/permission_denied.html.erb +1 -0
  207. data/app/views/management/cms/select_page.html.erb +57 -0
  208. data/app/views/management/cms/snippets.html.erb +14 -0
  209. data/app/views/management/cms/templates.html.erb +14 -0
  210. data/app/views/management/cms/toolbar_edit.html.erb +269 -0
  211. data/app/views/management/cms/toolbar_preview.html.erb +109 -0
  212. data/app/views/util/_calendar_days.html.erb +72 -0
  213. data/app/views/util/_calendar_month_year.html.erb +1 -0
  214. data/app/views/util/_date_picker.html.erb +56 -0
  215. data/app/views/util/_message.html.erb +1 -0
  216. data/app/views/util/_show_message.js.erb +6 -0
  217. data/app/views/util/_tab.html.erb +4 -0
  218. data/config/routes.rb +4 -1
  219. data/imagine_cms.gemspec +4 -0
  220. data/{vendor/gems → lib}/acts_as_versioned/.document +0 -0
  221. data/{vendor/gems → lib}/acts_as_versioned/.gitignore +2 -0
  222. data/{vendor/gems → lib}/acts_as_versioned/CHANGELOG +0 -0
  223. data/lib/acts_as_versioned/Gemfile +7 -0
  224. data/{vendor/gems → lib}/acts_as_versioned/MIT-LICENSE +0 -0
  225. data/{vendor/gems → lib}/acts_as_versioned/README +0 -0
  226. data/{vendor/gems → lib}/acts_as_versioned/RUNNING_UNIT_TESTS +0 -0
  227. data/{vendor/gems → lib}/acts_as_versioned/Rakefile +1 -1
  228. data/{vendor/gems → lib}/acts_as_versioned/acts_as_versioned.gemspec +4 -4
  229. data/{vendor/gems → lib}/acts_as_versioned/init.rb +0 -0
  230. data/{vendor/gems → lib}/acts_as_versioned/lib/acts_as_versioned.rb +109 -107
  231. data/{vendor/gems → lib}/acts_as_versioned/test/abstract_unit.rb +0 -0
  232. data/{vendor/gems → lib}/acts_as_versioned/test/database.yml +0 -0
  233. data/{vendor/gems → lib}/acts_as_versioned/test/fixtures/authors.yml +0 -0
  234. data/{vendor/gems → lib}/acts_as_versioned/test/fixtures/landmark.rb +0 -0
  235. data/{vendor/gems → lib}/acts_as_versioned/test/fixtures/landmark_versions.yml +0 -0
  236. data/{vendor/gems → lib}/acts_as_versioned/test/fixtures/landmarks.yml +0 -0
  237. data/{vendor/gems → lib}/acts_as_versioned/test/fixtures/locked_pages.yml +0 -0
  238. data/{vendor/gems → lib}/acts_as_versioned/test/fixtures/locked_pages_revisions.yml +0 -0
  239. data/{vendor/gems/acts_as_versioned/test/fixtures/migrations/1_add_versioned_tables.rb → lib/acts_as_versioned/test/fixtures/migrations/2_add_versioned_tables.rb} +0 -0
  240. data/{vendor/gems → lib}/acts_as_versioned/test/fixtures/page.rb +0 -0
  241. data/{vendor/gems → lib}/acts_as_versioned/test/fixtures/page_versions.yml +0 -0
  242. data/{vendor/gems → lib}/acts_as_versioned/test/fixtures/pages.yml +0 -0
  243. data/{vendor/gems → lib}/acts_as_versioned/test/fixtures/widget.rb +0 -0
  244. data/{vendor/gems → lib}/acts_as_versioned/test/migration_test.rb +0 -1
  245. data/{vendor/gems → lib}/acts_as_versioned/test/schema.rb +0 -0
  246. data/{vendor/gems → lib}/acts_as_versioned/test/versioned_test.rb +0 -0
  247. data/lib/extensions/action_controller.rb +154 -143
  248. data/lib/imagine_cms/engine.rb +33 -12
  249. data/lib/imagine_cms/version.rb +1 -1
  250. data/lib/imagine_cms.rb +30 -6
  251. data/lib/prototype_legacy_helper/README.markdown +13 -0
  252. data/lib/prototype_legacy_helper/init.rb +1 -0
  253. data/lib/prototype_legacy_helper/lib/prototype_legacy_helper.rb +430 -0
  254. data/lib/prototype_legacy_helper/test/test_prototype_helper.rb +297 -0
  255. data/lib/upload_progress/CHANGELOG +5 -0
  256. data/lib/upload_progress/MIT-LICENSE +20 -0
  257. data/lib/upload_progress/README +45 -0
  258. data/{vendor/gems/acts_as_tree → lib/upload_progress}/Rakefile +6 -5
  259. data/lib/upload_progress/init.rb +7 -0
  260. data/lib/upload_progress/lib/multipart_progress.rb +176 -0
  261. data/lib/upload_progress/lib/progress.rb +145 -0
  262. data/lib/upload_progress/lib/upload_progress.rb +303 -0
  263. data/lib/upload_progress/lib/upload_progress_helper.rb +425 -0
  264. data/lib/upload_progress/public/stylesheets/upload_progress.css +21 -0
  265. data/lib/upload_progress/test/multipart_progress_testx.rb +364 -0
  266. data/lib/upload_progress/test/upload_progress_helper_testx.rb +134 -0
  267. data/lib/upload_progress/test/upload_progress_testx.rb +88 -0
  268. metadata +305 -43
  269. data/app/assets/manage/btn_delete.gif +0 -0
  270. data/vendor/gems/.DS_Store +0 -0
  271. data/vendor/gems/acts_as_tree/README +0 -26
  272. data/vendor/gems/acts_as_tree/init.rb +0 -1
  273. data/vendor/gems/acts_as_tree/lib/active_record/acts/tree.rb +0 -96
  274. data/vendor/gems/acts_as_tree/test/acts_as_tree_test.rb +0 -219
  275. data/vendor/gems/acts_as_tree/test/fixtures/mixin.rb +0 -0
  276. data/vendor/gems/acts_as_tree/test/fixtures/mixins.yml +0 -0
  277. data/vendor/gems/acts_as_tree/test/schema.rb +0 -0
  278. data/vendor/gems/acts_as_versioned/Gemfile +0 -7
@@ -0,0 +1,48 @@
1
+ <style type="text/css">
2
+ .CodeMirror-line-numbers {
3
+ padding: 6px 6px 0;
4
+ line-height: 15px;
5
+ font-size: 7pt;
6
+ color: #777;
7
+ }
8
+
9
+ .CodeMirror-line-numbers div {
10
+ text-align: right;
11
+ }
12
+ </style>
13
+
14
+ <%= flash_message %>
15
+
16
+ <h2>Edit Master <%=
17
+ case params[:id]
18
+ when 'template' then 'Template'
19
+ when 'web_stylesheet' then 'Web Stylesheet'
20
+ when 'print_stylesheet' then 'Print Stylesheet'
21
+ end %></h2>
22
+
23
+ <%= form_tag({}, { :onsubmit => "file_content.toggleEditor();" }) do -%>
24
+ <table width="100%" height="100%">
25
+ <tr>
26
+ <td>
27
+ <%= text_area_tag :file_content, h(@file_content), :class => "codepress #{@file_type} autocomplete-off", :style => 'width: 100%; height: 600px;' %>
28
+
29
+ <%- case params[:id]
30
+ when 'template' -%>
31
+ <%= javascript_tag "if (typeof(CodeMirror) == 'function') { var editor = CodeMirror.fromTextArea('file_content', { parserfile: ['parsexml.js', 'parsejavascript.js', 'tokenizejavascript.js', 'parsecss.js', 'parsehtmlmixed.js'], stylesheet: ['/javascripts/codemirror/css/xmlcolors.css', '/javascripts/codemirror/css/csscolors.css'], path: '/javascripts/codemirror/', lineNumbers: true, textWrapping: false, indentUnit: 2, tabMode: 'spaces', electricChars: false }); }" %>
32
+ <%- when 'web_stylesheet', 'print_stylesheet' -%>
33
+ <%= javascript_tag "if (typeof(CodeMirror) == 'function') { var editor = CodeMirror.fromTextArea('file_content', { parserfile: ['parsecss.js'], stylesheet: '/javascripts/codemirror/css/csscolors.css', path: '/javascripts/codemirror/', lineNumbers: true, textWrapping: false, indentUnit: 2, tabMode: 'spaces', electricChars: false }); }" %>
34
+ <%- end -%>
35
+ </td>
36
+ </tr>
37
+ <tr>
38
+ <td>
39
+ <%= submit_tag 'Save File', :class => 'form_button' %>
40
+ <%= link_to 'Cancel', :action => 'index' %>
41
+ </td>
42
+ </tr>
43
+ </table>
44
+ <br/>
45
+
46
+ <%= render :partial => 'template_reference' %>
47
+
48
+ <%- end -%>
@@ -0,0 +1,4 @@
1
+ <%= form_tag({}, :id => 'page_content_form') do %>
2
+ <%= submit_tag 'Save', :id => 'btn_save', :style => 'display: none' %>
3
+ <%= render :inline => @template_content %>
4
+ <% end %>
@@ -0,0 +1,47 @@
1
+ <%= flash_message %>
2
+
3
+ <h2>Edit Snippet</h2>
4
+
5
+ <%= form_tag({}, { :onsubmit => "snip_content.toggleEditor();" }) do %>
6
+ <table width="100%" height="100%">
7
+ <col width="100" />
8
+ <tr>
9
+ <td>Name:</td>
10
+ <td><%= text_field :snip, :name %></td>
11
+ </tr>
12
+ <tr>
13
+ <td valign="top"><div style="margin-top: 2px">Content:</div></td>
14
+ <td>
15
+ <%= text_area :snip, :content, :class => 'codepress html autocomplete-off', :style => 'width: 100%; height: 600px;' %>
16
+ </td>
17
+ </tr>
18
+ <tr>
19
+ <td></td>
20
+ <td>
21
+ <%= submit_tag 'Save Snippet', :class => 'form_button' %>
22
+ <button onclick="$('preview_frame').scrollIntoView(); snip_content.toggleEditor(); $('preview_content').value = $('snip_content_cp').value; $('preview_form').submit(); snip_content.toggleEditor(); return false;" class="form_button">Preview</button>
23
+ <%= link_to 'Cancel', :action => 'snippets' %>
24
+ </td>
25
+ </tr>
26
+ </table>
27
+ <br/>
28
+
29
+ <%= render :partial => 'template_reference' %>
30
+ <br/>
31
+
32
+ <table width="100%">
33
+ <col width="100" />
34
+ <tr>
35
+ <td valign="top"><div style="margin-top: 2px">Preview:</div></td>
36
+ <td>
37
+ <iframe id="preview_frame" name="preview_frame" style="width: 100%; height: 600px; border: 1px solid gray;"></iframe>
38
+ <%= submit_tag 'Save Snippet', :class => 'form_button' %>
39
+ </td>
40
+ </tr>
41
+ </table>
42
+ <% end %>
43
+
44
+
45
+ <form id="preview_form" action="<%= url_for :controller => '/cms/content', :action => 'preview_template' %>" target="preview_frame">
46
+ <textarea id="preview_content" name="temp[content]" style="display: none;"></textarea>
47
+ </form>
@@ -0,0 +1,48 @@
1
+ <%= flash_message %>
2
+
3
+ <h2>Edit Template</h2>
4
+
5
+ <%= form_tag({}, { :onsubmit => "temp_content.toggleEditor();" }) do %>
6
+ <table width="100%" height="100%">
7
+ <col width="100" />
8
+ <tr>
9
+ <td>Name:</td>
10
+ <td><%= text_field :temp, :name %></td>
11
+ </tr>
12
+ <tr>
13
+ <td valign="top"><div style="margin-top: 2px">Content:</div></td>
14
+ <td>
15
+ <%= text_area :temp, :content, :class => 'codepress html autocomplete-off', :style => 'width: 100%; height: 600px;' %>
16
+ </td>
17
+ </tr>
18
+ <tr>
19
+ <td></td>
20
+ <td>
21
+ <%= submit_tag 'Save Template', :class => 'form_button' %>
22
+ <button onclick="$('preview_frame').scrollIntoView(); temp_content.toggleEditor(); $('preview_content').value = $('temp_content_cp').value; $('preview_form').submit(); temp_content.toggleEditor(); return false;" class="form_button">Preview</button>
23
+ <%= link_to 'Cancel', :action => 'templates' %>
24
+ </td>
25
+ </tr>
26
+ </table>
27
+ <br/>
28
+
29
+ <%= render :partial => 'template_reference' %>
30
+ <br/>
31
+
32
+ <table width="100%">
33
+ <col width="100" />
34
+ <tr>
35
+ <td valign="top"><div style="margin-top: 2px">Preview:</div></td>
36
+ <td>
37
+ <iframe id="preview_frame" name="preview_frame" style="width: 100%; height: 600px; border: 1px solid gray;"></iframe>
38
+ <%= submit_tag 'Save Template', :class => 'form_button' %>
39
+ </td>
40
+ </tr>
41
+ </table>
42
+ <% end -%>
43
+
44
+
45
+ <%= form_tag({ :controller => '/cms/content', :action => 'preview_template' }, :id => 'preview_form', :target => 'preview_frame') do %>
46
+ <%= text_area_tag 'temp[content]', '', :id => 'preview_content', :style => 'display: none;' %>
47
+ <%= hidden_field_tag 'mode', 'preview' %>
48
+ <% end %>
@@ -0,0 +1,108 @@
1
+ <style type="text/css" media="screen">
2
+ div#controls a {
3
+ color: #4c4c4c;
4
+ font-weight: bold;
5
+ text-decoration: none;
6
+ }
7
+ </style>
8
+ <div id="gallery_container">
9
+ <div id="controls" style="margin-bottom: 10px;">
10
+ <div id="select_gallery" style="float: left;">
11
+ <%= form_remote_tag :url => { :action => 'select_gallery', :id => @pg },
12
+ :update => 'select_gallery' do -%>
13
+ Current Gallery:
14
+ <select name="gallery_id" onchange="new Ajax.Updater('gallery_container', '/manage/cms/select_gallery/<%= @pg.id %>', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this.form)}); return false;">
15
+ <%-
16
+ @galleries.each do |gallery|
17
+ unless session[:broken_galleries].include?(File.basename(gallery))
18
+ -%>
19
+ <option value="<%= File.basename(gallery) %>"<%= " selected=\"selected\"" if File.basename(gallery) == params[:gallery_id] %>><%= File.basename(gallery).titleize %></option>
20
+ <%-
21
+ end
22
+ end
23
+ -%>
24
+ <option value="new">New&hellip;</option>
25
+ </select>
26
+ <%- end -%>
27
+ </div>
28
+
29
+ <%= link_to_remote image_tag("management/gallery_index.gif") + " Index",
30
+ { :url => { :action => 'gallery_management', :id => @pg, :gallery_id => params[:gallery_id] },
31
+ :update => 'gallery_container' }, :style => 'float: right; margin-right: 6px;' %>
32
+ <%= link_to_remote image_tag("management/gallery_sort.gif") + " Sort images",
33
+ { :url => { :action => 'sort_images', :id => @pg, :gallery_id => params[:gallery_id] },
34
+ :update => 'gallery_window' }, :style => 'float: right; margin-right: 6px;' %>
35
+ <%= link_to_remote image_tag("management/gallery_delete.gif") + " Delete Gallery",
36
+ { :url => { :action => 'delete_gallery', :id => @pg, :gallery_id => params[:gallery_id] },
37
+ :update => 'delete_gallery_container',
38
+ :confirm => "This gallery, including photos and captions, will be deleted and cannot be undone. Continue?" },
39
+ :style => 'float: right; margin-right: 6px;' %>
40
+ <br clear="all" />
41
+ </div>
42
+
43
+ <fieldset style="margin-bottom: 10px;">
44
+ <legend>Gallery Settings</legend>
45
+
46
+ <%= form_remote_tag(:url => { :action => 'save_gallery_settings', :id => @pg, :gallery_id => params[:gallery_id] },
47
+ :loading => "$('btn_save_settings').disabled = true; $('btn_save_settings').value = 'Saving...'",
48
+ :failure => "$('btn_save_settings').disabled = false; $('btn_save_settings').value = 'Save Failed'",
49
+ :success => "$('btn_save_settings').value = 'Saved'") do %>
50
+ <table>
51
+ <tr>
52
+ <td width="100">Slideshow Speed:</td>
53
+ <td>
54
+ <%= text_field :gallery, :slide_duration, :class => 'form', :style => 'margin-bottom: 0; width: 20px', :onkeypress => "$('btn_save_settings').disabled = false;" %> seconds per slide (set to zero to disable)
55
+ </td>
56
+ </tr>
57
+ <tr>
58
+ <td width="100">Slideshow Autoplay?</td>
59
+ <td>
60
+ <%= radio_button :gallery, :autoplay, true, :onclick => "$('btn_save_settings').disabled = false;" %> <label for="gallery_autoplay_true">Yes</label><br/>
61
+ <%= radio_button :gallery, :autoplay, false, :onclick => "$('btn_save_settings').disabled = false;" %> <label for="gallery_autoplay_false">No</label>
62
+ </td>
63
+ </tr>
64
+ <tr>
65
+ <td>Show Thumbnails?</td>
66
+ <td>
67
+ <%= radio_button :gallery, :show_thumbs, true, :onclick => "$('btn_save_settings').disabled = false;" %> <label for="gallery_show_thumbs_true">Yes</label><br/>
68
+ <%= radio_button :gallery, :show_thumbs, false, :onclick => "$('btn_save_settings').disabled = false;" %> <label for="gallery_show_thumbs_false">No</label>
69
+ </td>
70
+ </tr>
71
+ <tr>
72
+ <td></td>
73
+ <td>
74
+ <%= submit_tag 'Save', :id => 'btn_save_settings', :class => 'form_button', :style => 'width: 70px;' %>
75
+ <%= javascript_tag "$('btn_save_settings').disabled = true;" %>
76
+ </td>
77
+ </tr>
78
+ </table>
79
+ <% end %>
80
+ </fieldset>
81
+
82
+ <fieldset style="margin-bottom: 10px;">
83
+ <legend>Add Images</legend>
84
+
85
+ <%= form_tag_with_upload_progress({ :action => 'add_to_gallery', :id => @pg, :gallery_id => params[:gallery_id] },
86
+ { :finish => "if (arguments[0]) { $('dirname').value = arguments[0]; $('mainform_gallery').onsubmit(); }" }) do %>
87
+ <table>
88
+ <tr>
89
+ <td width="100">Zip or Image File:</td>
90
+ <td>
91
+ <%= file_field 'gallery_file', 'data', :class => 'form', :style => 'margin-bottom: 0; width: 150px' %><br/>
92
+ </td>
93
+ </tr>
94
+ <tr>
95
+ <td></td>
96
+ <td>
97
+ <div id="upload_status_div" class="error"><%= upload_status_tag %></div>
98
+ <%= submit_tag 'Next', :class => 'form_button', :style => 'width: 70px;', :onclick => "if ($('gallery_file_data').value == '') return false; this.disabled = true; this.value = 'Uploading...';" %>
99
+ </td>
100
+ </tr>
101
+ </table>
102
+ <% end %>
103
+ </fieldset>
104
+
105
+ <div id="gallery_window">
106
+ <%= render :partial => 'gallery_index' %>
107
+ </div>
108
+ </div>
@@ -0,0 +1,20 @@
1
+ <h2>CMS</h2>
2
+
3
+ <ul>
4
+ <li><strong><%= link_to 'Pages', :action => 'pages' %></strong></li>
5
+ <li><%= link_to 'Templates', :action => 'templates' %></li>
6
+ <li><%= link_to 'Snippets', :action => 'snippets' %></li>
7
+ </ul>
8
+
9
+ <b>Admin</b>
10
+ <br/>
11
+ <div style="width: 400px">
12
+ Warning: For expert users only. The master files are not versioned and all changes take effect immediately. There is no undo.
13
+ </div>
14
+ <ul style="margin-top: 4px">
15
+ <li><%= link_to 'Edit Master Template', :action => 'edit_master', :id => 'template' %></li>
16
+ <li><%= link_to 'Edit Master Web Stylesheet', :action => 'edit_master', :id => 'web_stylesheet' %></li>
17
+ <li><%= link_to 'Edit Master Print Stylesheet', :action => 'edit_master', :id => 'print_stylesheet' %></li>
18
+ <li><%= link_to 'Edit Master IE Stylesheet', :action => 'edit_master', :id => 'ie_stylesheet' %></li>
19
+ <li><%= link_to 'Edit Master IE6 Stylesheet', :action => 'edit_master', :id => 'ie6_stylesheet' %></li>
20
+ </ul>
@@ -0,0 +1,5 @@
1
+ var taglist = new Array(<%= @tags.size %>)
2
+
3
+ <% @tags.each_with_index do |tag, i| -%>
4
+ taglist[<%= i %>]="<%=h tag %>"
5
+ <% end -%>
@@ -0,0 +1,99 @@
1
+ <%
2
+ cbNumColumns = 0;
3
+ cbColWidth = 170;
4
+ cbColHeight = 300;
5
+ cbBorderWidth = 1;
6
+ cbColWidthFull = 172;
7
+ -%>
8
+ <%= javascript_tag <<-EOF
9
+ dojo.require("dojo.widget.*");
10
+ dojo.require("dojo.widget.Dialog");
11
+
12
+ cbColWidth = '#{cbColWidth}px';
13
+ cbColHeight = '#{cbColHeight}px';
14
+ cbBorderWidth = '#{cbBorderWidth}px';
15
+ cbColWidthFull = '#{cbColWidthFull}';
16
+ EOF
17
+ %>
18
+
19
+ <h2>CMS &raquo; Pages</h2>
20
+
21
+ <%= flash_message %>
22
+
23
+ <div id="columnBrowserToolbar" style="background-color: #d0d0d0; padding: 4px; margin-bottom: 5px; ">
24
+ <a id="new_link" href="#">
25
+ <img src="/assets/management/btn_top_new.gif" style="margin-right: 2px;" />
26
+ </a>
27
+ <a id="edit_content_link" href="#" target="_blank">
28
+ <img src="/assets/management/btn_top_edit.gif" style="margin-right: 2px;" />
29
+ </a>
30
+ <form id="edit_content_form" action="#" onsubmit="this.action = $('edit_content_link').href;" target="_blank" style="display: none">
31
+ <button>dummy</button>
32
+ </form>
33
+ <a id="edit_link" href="#">
34
+ <img src="/assets/management/btn_top_properties.gif" style="margin-right: 2px;" />
35
+ </a>
36
+ <a id="view_link" href="#" target="_blank">
37
+ <img src="/assets/management/btn_top_preview.gif" style="margin-right: 2px;" />
38
+ </a>
39
+ <a id="delete_link" href="#" onclick="if (confirm('Are you sure you want to delete the selected page?')) { $('delete_form').submit(); } return false;">
40
+ <img src="/assets/management/btn_top_delete.gif" style="margin: 0" />
41
+ </a>
42
+ <%= form_tag('', :id => "delete_form", :style => "display: none") do %>
43
+ <button>dummy</button>
44
+ <% end %>
45
+ <div class="clearer"></div>
46
+ </div>
47
+
48
+ <div id="columnBrowserContainer" style="width: 100%; height: <%= cbColHeight + 20 %>px; overflow: auto;">
49
+ <div id="columnBrowser" style="width: <%= cbColWidthFull * (@page_levels.size) %>px;">
50
+ <%- @page_levels.each_with_index do |name, i| -%>
51
+ <%-
52
+ if !name.empty?
53
+ @path << '/' if !@path.empty?
54
+ @path << name
55
+ end
56
+ @parent = @page
57
+ @page = CmsPage.find_by_path @path
58
+ @page_level = i
59
+ @pages = @parent.children if @parent
60
+
61
+ break_flag = false
62
+
63
+ if !@page
64
+ if @parent && @parent.children.first
65
+ @page = @parent.children.first
66
+ elsif @parent
67
+ @page = @parent
68
+ else
69
+ @page = CmsPage.find(:first)
70
+ end
71
+ break_flag = true
72
+ end
73
+ -%>
74
+ <div id="columnBrowserLevel<%= i %>" style="width: <%= cbColWidth %>px; height: <%= cbColHeight %>px; overflow: auto; float: left; border-width: <%= cbBorderWidth %>px <%= cbBorderWidth %>px <%= cbBorderWidth %>px <%= i == 0 ? "#{cbBorderWidth}px" : '0' %>; border-style: solid; border-color: gray;">
75
+ <%- if i == 0 -%>
76
+ <%= render :partial => 'list_page', :locals => { :list_page => CmsPage.find(1) } %>
77
+ <%- else -%>
78
+ <%= render :partial => 'list_pages' %>
79
+ <%- end -%>
80
+ <%= javascript_tag "$('cb_item_#{@parent.id}').className = 'cb_item cb_item_selected';" if @parent %>
81
+ </div>
82
+ <%- break if break_flag -%>
83
+ <%- end -%>
84
+ </div>
85
+ </div>
86
+
87
+ <%- list_page = @page -%>
88
+
89
+ <script type="text/javascript">
90
+ cbNumColumns = <%= @page_levels.size - 1 %>;
91
+ $('columnBrowserLevel' + cbNumColumns).scrollIntoView();
92
+ $('view_link').href = '/<%= list_page.path %>';
93
+ $('new_link').onclick = function () { editProperties('<%=raw url_for(:action => 'edit_page', :mode => 'ajax_new', :parent_id => list_page, :authenticity_token => form_authenticity_token.to_s) %>', 'Create New Page under /<%= list_page.path %>'); return false; };
94
+ $('edit_link').onclick = function () { editProperties('<%=raw url_for :action => 'edit_page', :id => list_page, :mode => 'ajax_edit', :authenticity_token => form_authenticity_token.to_s %>', 'Page Properties: <%= list_page.name %>'); return false; };
95
+ $('edit_content_link').href = '<%=raw url_for :action => 'edit_page_content', :id => list_page, :authenticity_token => form_authenticity_token.to_s %>';
96
+ $('delete_form').action = '<%=raw url_for :action => 'delete_page', :id => list_page.id %>';
97
+ </script>
98
+
99
+ <%= render :partial => 'dialogs' %>
@@ -0,0 +1 @@
1
+ Sorry, you don't have permission to do that.
@@ -0,0 +1,57 @@
1
+ <%
2
+ cbNumColumns = 0;
3
+ cbColWidth = 170;
4
+ cbColHeight = 200;
5
+ cbBorderWidth = 1;
6
+ cbColWidthFull = 172;
7
+ -%>
8
+ <%= javascript_tag <<-EOF
9
+ dojo.require("dojo.widget.*");
10
+ dojo.require("dojo.widget.Dialog");
11
+
12
+ cbColWidth = '#{cbColWidth}px';
13
+ cbColHeight = '#{cbColHeight}px';
14
+ cbBorderWidth = '#{cbBorderWidth}px';
15
+ cbColWidthFull = '#{cbColWidthFull}';
16
+ EOF
17
+ %>
18
+
19
+ <div id="columnBrowserContainer" style="width: 100%; height: <%= cbColHeight + 20 %>px; overflow: auto;">
20
+ <div id="columnBrowser" style="width: <%= cbColWidthFull * (@page_levels.size) %>px;">
21
+ <% @page_levels.each_with_index do |name, i| %>
22
+ <%
23
+ if !name.empty?
24
+ @path << '/' if !@path.empty?
25
+ @path << name
26
+ end
27
+ @parent = @page
28
+ @page = CmsPage.find_by_path @path
29
+ @page_level = i
30
+ @pages = @parent.children if @parent
31
+
32
+ break_flag = false
33
+
34
+ if !@page
35
+ if @parent && @parent.children.first
36
+ @page = @parent.children.first
37
+ elsif @parent
38
+ @page = @parent
39
+ else
40
+ @page = CmsPage.find(:first)
41
+ end
42
+ break_flag = true
43
+ end
44
+ -%>
45
+ <div id="columnBrowserLevel<%= i %>" style="width: <%= cbColWidth %>px; height: <%= cbColHeight %>px; overflow: auto; float: left; border: <%= cbBorderWidth %>px solid gray;">
46
+ <% if i == 0 -%>
47
+ <%= render :partial => 'list_page_select', :locals => { :list_page_select => CmsPage.find(1) } %>
48
+ <% else -%>
49
+ <%= render :partial => 'list_pages_select' %>
50
+ <% end -%>
51
+ <%= javascript_tag "$('cb_item_#{@parent.id}').className = 'cb_item cb_item_selected';" if @parent %>
52
+ </div>
53
+ <%- break if break_flag -%>
54
+ <% end -%>
55
+ </div>
56
+ </div>
57
+ <%= javascript_tag "cbNumColumns = #{@page_levels.size - 1}; try { $('columnBrowserLevel' + cbNumColumns).scrollIntoView(); } catch (e) {}; $('page_browser_selection').value = '/#{@page.path}';" %>
@@ -0,0 +1,14 @@
1
+ <h2>CMS &raquo; Snippets</h2>
2
+
3
+ <%= flash_message %>
4
+
5
+ <button onclick="location.href = '<%= url_for :action => 'edit_snippet' %>'" class="form_button">Create Snippet</button>
6
+ <br/>
7
+ <br/>
8
+
9
+ <table>
10
+ <tr>
11
+ <td>Name</td>
12
+ </tr>
13
+ <%= render :partial => 'snippet', :collection => @snippets %>
14
+ </table>
@@ -0,0 +1,14 @@
1
+ <h2>CMS &raquo; Templates</h2>
2
+
3
+ <%= flash_message %>
4
+
5
+ <button onclick="location.href = '<%= url_for :action => 'edit_template' %>'" class="form_button">Create Template</button>
6
+ <br/>
7
+ <br/>
8
+
9
+ <table>
10
+ <tr>
11
+ <td>Name</td>
12
+ </tr>
13
+ <%= render :partial => 'temp', :collection => @temps %>
14
+ </table>