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,269 @@
1
+ <div class="ccs-toolbar EditorToolbarDomNode EditorToolbarSmallBg">
2
+ <table cellpadding="1" cellspacing="0" border="0">
3
+ <tbody>
4
+ <tr valign="top" align="left">
5
+ <td onclick="document.forms.page_content_form.elements.btn_save.click();">
6
+ <!-- save -->
7
+ <span class="iconContainer">
8
+ <span title="Save" class="dojoE2TBIcon dojoE2TBIcon_Save">&nbsp;</span>
9
+ </span>
10
+ </td>
11
+ <td onclick="document.forms.page_content_form.elements.btn_save.click();" style="vertical-align: middle; cursor: pointer">
12
+ <span title="Save" style="font-family: Arial">Save</span>
13
+ </td>
14
+ <td onclick="if (confirm('Are you sure you want to throw away any changes to this page since your last save?')) { location.href = '<%= '/' + @pg.path + (@pg.path == '' ? '' : '/') %>version/<%= @pg.version %>'; }">
15
+ <!-- cancel -->
16
+ <span class="iconContainer">
17
+ <span title="Cancel" class="dojoE2TBIcon dojoE2TBIcon_Cancel" style="cursor: pointer">&nbsp;</span>
18
+ </span>
19
+ </td>
20
+ <td onclick="if (confirm('Are you sure you want to throw away any changes to this page since your last save?')) { location.href = '<%= '/' + @pg.path + (@pg.path == '' ? '' : '/') %>version/<%= @pg.version %>'; }" style="vertical-align: middle; cursor: pointer">
21
+ <span title="Cancel" style="font-family: Arial">Cancel</span>
22
+ </td>
23
+
24
+ <td isSpacer="true">
25
+ <!-- spacer -->
26
+ <span class="dojoE2TBIcon dojoE2TBIcon_Sep"></span>
27
+ </td>
28
+
29
+ <td>
30
+ <!-- undo -->
31
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="undo">
32
+ <!-- FIXME: should we have the text "undo" here? -->
33
+ <span class="dojoE2TBIcon dojoE2TBIcon_Undo">&nbsp;</span>
34
+ </span>
35
+ </td>
36
+
37
+ <td>
38
+ <!-- redo -->
39
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="redo">
40
+ <span class="dojoE2TBIcon dojoE2TBIcon_Redo">&nbsp;</span>
41
+ </span>
42
+ </td>
43
+
44
+ <td isSpacer="true">
45
+ <!-- spacer -->
46
+ <span class="dojoE2TBIcon dojoE2TBIcon_Sep"></span>
47
+ </td>
48
+
49
+ <td>
50
+ <select class="dojoEditorToolbarItem" style="font-size: 8pt" dojoETItemName="plainformatblock">
51
+ <!-- FIXME: using "p" here inserts a paragraph in most cases! -->
52
+ <option value="">-- format --</option>
53
+ <option value="p">Normal</option>
54
+ <option value="pre">Fixed Font</option>
55
+ <option value="h1">Main Heading (H1)</option>
56
+ <option value="h2">Section Heading (H2)</option>
57
+ <option value="h3">Sub-Heading (H3)</option>
58
+ <option value="h4">Sub-Heading (H4)</option>
59
+ <option value="blockquote">Block Quote</option>
60
+ </select>
61
+ </td>
62
+ <td>
63
+ <!-- bold -->
64
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="bold">
65
+ <span class="dojoE2TBIcon dojoE2TBIcon_Bold">&nbsp;</span>
66
+ </span>
67
+ </td>
68
+ <td>
69
+ <!-- italic -->
70
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="italic">
71
+ <span class="dojoE2TBIcon dojoE2TBIcon_Italic">&nbsp;</span>
72
+ </span>
73
+ </td>
74
+ <td>
75
+ <!-- underline -->
76
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="underline">
77
+ <span class="dojoE2TBIcon dojoE2TBIcon_Underline">&nbsp;</span>
78
+ </span>
79
+ </td>
80
+ <td>
81
+ <!-- strikethrough -->
82
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="strikethrough"><span
83
+ class="dojoE2TBIcon dojoE2TBIcon_StrikeThrough">&nbsp;</span>
84
+ </span>
85
+ </td>
86
+
87
+ <td isSpacer="true">
88
+ <!-- spacer -->
89
+ <span class="dojoE2TBIcon dojoE2TBIcon_Sep"></span>
90
+ </td>
91
+
92
+ <td>
93
+ <!-- subscript -->
94
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="subscript">
95
+ <span class="dojoE2TBIcon dojoE2TBIcon_Subscript">&nbsp;</span>
96
+ </span>
97
+ </td>
98
+ <td>
99
+ <!-- superscript -->
100
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="superscript">
101
+ <span class="dojoE2TBIcon dojoE2TBIcon_Superscript">&nbsp;</span>
102
+ </span>
103
+ </td>
104
+
105
+ <td isSpacer="true">
106
+ <!-- spacer -->
107
+ <span class="dojoE2TBIcon dojoE2TBIcon_Sep"></span>
108
+ </td>
109
+
110
+ <td>
111
+ <!-- removeformat -->
112
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="removeformat">
113
+ <span class="dojoE2TBIcon dojoE2TBIcon_RemoveFormat">&nbsp;</span>
114
+ </span>
115
+ </td>
116
+
117
+ <td isSpacer="true">
118
+ <!-- spacer -->
119
+ <span class="dojoE2TBIcon dojoE2TBIcon_Sep"></span>
120
+ </td>
121
+
122
+ <td>
123
+ <!-- justify left -->
124
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="justifyleft">
125
+ <span class="dojoE2TBIcon dojoE2TBIcon_LeftJustify">&nbsp;</span>
126
+ </span>
127
+ </td>
128
+ <td>
129
+ <!-- justify center -->
130
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="justifycenter">
131
+ <span class="dojoE2TBIcon dojoE2TBIcon_CenterJustify">&nbsp;</span>
132
+ </span>
133
+ </td>
134
+ <td>
135
+ <!-- justify right -->
136
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="justifyright">
137
+ <span class="dojoE2TBIcon dojoE2TBIcon_RightJustify">&nbsp;</span>
138
+ </span>
139
+ </td>
140
+ <td>
141
+ <!-- justify full -->
142
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="justifyfull">
143
+ <span class="dojoE2TBIcon dojoE2TBIcon_BlockJustify">&nbsp;</span>
144
+ </span>
145
+ </td>
146
+
147
+ <td isSpacer="true">
148
+ <!-- spacer -->
149
+ <span class="dojoE2TBIcon dojoE2TBIcon_Sep"></span>
150
+ </td>
151
+
152
+ <td>
153
+ <!-- inserthorizontalrule -->
154
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="inserthorizontalrule">
155
+ <span class="dojoE2TBIcon dojoE2TBIcon_HorizontalLine">&nbsp;</span>
156
+ </span>
157
+ </td>
158
+
159
+ <td>
160
+ <!-- link -->
161
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="createlink">
162
+ <span class="dojoE2TBIcon dojoE2TBIcon_Link">&nbsp;</span>
163
+ </span>
164
+ </td>
165
+
166
+ <td>
167
+ <!-- insertsymbol -->
168
+ <!--span class="iconContainer dojoEditorToolbarItem" dojoETItemName="insertsymbol_symbol">
169
+ <span class="dojoE2TBIcon dojoE2TBIcon_insertsymbol_symbol">&nbsp;</span>
170
+ </span-->
171
+ </td>
172
+ <td>
173
+ <!-- insertsmiley -->
174
+ <!--span class="iconContainer dojoEditorToolbarItem" dojoETItemName="insertsymbol_smiley">
175
+ <span class="dojoE2TBIcon dojoE2TBIcon_insertsymbol_smiley">&nbsp;</span>
176
+ </span-->
177
+ </td>
178
+
179
+ <td>
180
+ <!-- inserttable -->
181
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="inserttable">
182
+ <span class="dojoE2TBIcon dojoE2TBIcon_Table">&nbsp;</span>
183
+ </span>
184
+ </td>
185
+
186
+ <td onclick="insertImage('<%= url_for :action => 'upload_image', :id => @pg.id %>');">
187
+ <span class="iconContainer dojoEditorToolbarItem" onmouseover="this.className = 'iconContainer dojoEditorToolbarItem ToolbarButtonHighlighted';" onmouseout="this.className = 'iconContainer dojoEditorToolbarItem';">
188
+ <span class="dojoE2TBIcon dojoE2TBIcon_Image" title="Insert/Edit Image">&nbsp;</span>
189
+ </span>
190
+ </td>
191
+
192
+ <td onclick="insertFile('<%= url_for :action => 'upload_file', :id => @pg.id %>');">
193
+ <span class="iconContainer dojoEditorToolbarItem" onmouseover="this.className = 'iconContainer dojoEditorToolbarItem ToolbarButtonHighlighted';" onmouseout="this.className = 'iconContainer dojoEditorToolbarItem';">
194
+ <span class="dojoE2TBIcon" title="Create/Edit Download Link" style="background-image: url('/assets/management/icon_download.gif'); background-repeat: no-repeat; background-position: 3px 1px;">&nbsp;</span>
195
+ </span>
196
+ </td>
197
+
198
+ <td>
199
+ <!-- insertaudio -->
200
+ <!--span class="iconContainer dojoEditorToolbarItem"
201
+ dojoETItemName="insertaudio">
202
+ <span class="dojoE2TBIcon dojoE2TBIcon_Audio">&nbsp;</span>
203
+ </span-->
204
+ </td>
205
+
206
+ <td isSpacer="true">
207
+ <!-- spacer -->
208
+ <span class="dojoE2TBIcon dojoE2TBIcon_Sep"></span>
209
+ </td>
210
+
211
+ <td>
212
+ <!-- inserthtml -->
213
+ <!--span class="iconContainer dojoEditorToolbarItem" dojoETItemName="inserthtmldialog">
214
+ <span class="dojoE2TBIcon dojoE2TBIcon_InsertHtml">&nbsp;</span>
215
+ </span-->
216
+ </td>
217
+
218
+ <td>
219
+ <!-- insertunorderedlist -->
220
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="insertunorderedlist">
221
+ <span title="Insert Bullet List"
222
+ class="dojoE2TBIcon dojoE2TBIcon_BulletedList">&nbsp;</span>
223
+ </span>
224
+ </td>
225
+ <td>
226
+ <!-- insertorderedlist -->
227
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="insertorderedlist">
228
+ <span title="Insert Numbered List"
229
+ class="dojoE2TBIcon dojoE2TBIcon_NumberedList">&nbsp;</span>
230
+ </span>
231
+ </td>
232
+
233
+ <td isSpacer="true">
234
+ <!-- spacer -->
235
+ <span class="dojoE2TBIcon dojoE2TBIcon_Sep"></span>
236
+ </td>
237
+
238
+ <td>
239
+ <!-- indent -->
240
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="indent">
241
+ <span title="Indent Selection" class="dojoE2TBIcon dojoE2TBIcon_Indent"
242
+ unselectable="on">&nbsp;</span>
243
+ </span>
244
+ </td>
245
+ <td>
246
+ <!-- outdent -->
247
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="outdent">
248
+ <span title="Outdent Selection" class="dojoE2TBIcon dojoE2TBIcon_Outdent"
249
+ unselectable="on">&nbsp;</span>
250
+ </span>
251
+ </td>
252
+
253
+ <td isSpacer="true">
254
+ <!-- spacer -->
255
+ <span class="dojoE2TBIcon dojoE2TBIcon_Sep"></span>
256
+ </td>
257
+
258
+ <td>
259
+ <!-- htmltoggle -->
260
+ <span class="iconContainer dojoEditorToolbarItem" dojoETItemName="htmltoggle">
261
+ <span title="Toggle Rich Text and HTML Markup Editing Modes" class="dojoE2TBIcon dojoE2TBIcon_HtmlToggle">&nbsp;</span>
262
+ </span>
263
+ </td>
264
+
265
+ <td width="*">&nbsp;</td>
266
+ </tr>
267
+ </tbody>
268
+ </table>
269
+ </div>
@@ -0,0 +1,109 @@
1
+ <div class="ccs-toolbar EditorToolbarDomNode EditorToolbarSmallBg" style="height: 25px;">
2
+ <table cellpadding="1" cellspacing="0" border="0">
3
+ <tbody>
4
+ <tr valign="top" align="left">
5
+ <% if @pg -%>
6
+ <td onclick="location.href = '<%= url_for :controller => '/management/cms', :action => 'edit_page_content', :id => @pg, :version => params[:version] %>';">
7
+ <!-- save -->
8
+ <span class="iconContainer">
9
+ <span title="Edit" class="dojoE2TBIcon dojoE2TBIcon_Save">&nbsp;</span>
10
+ </span>
11
+ </td>
12
+ <td onclick="location.href = '<%= url_for :controller => '/management/cms', :action => 'edit_page_content', :id => @pg, :version => params[:version] %>';" style="vertical-align: middle; cursor: pointer">
13
+ <span title="Edit" style="font-family: Arial">Edit</span>
14
+ </td>
15
+
16
+ <td onclick="editProperties('<%= url_for :action => 'edit_page', :id => @pg, :mode => 'ajax_edit', :return_to => 'preview' %>');">
17
+ <!-- save -->
18
+ <span class="iconContainer" style="margin: 0 0 0 10px;">
19
+ <span title="Edit" class="dojoE2TBIcon dojoE2TBIcon_Save">&nbsp;</span>
20
+ </span>
21
+ </td>
22
+ <td onclick="editProperties('<%= url_for :action => 'edit_page', :id => @pg, :mode => 'ajax_edit', :return_to => 'preview' %>');" style="vertical-align: middle; cursor: pointer">
23
+ <span title="Edit" style="font-family: Arial">Properties</span>
24
+ </td>
25
+
26
+ <td isSpacer="true">
27
+ <!-- spacer -->
28
+ <span class="iconContainer">
29
+ <span class="dojoE2TBIcon dojoE2TBIcon_Sep" style="width: 5px; min-width: 5px;"></span>
30
+ </span>
31
+ </td>
32
+
33
+ <td onclick="location.href = '<%= url_for :controller => '/management/cms', :action => 'pages', :path => (@pg ? @pg.path : nil) %>';" style="vertical-align: middle; cursor: pointer">
34
+ <a href="<%= url_for :controller => '/management/cms', :action => 'pages', :path => (@pg ? @pg.path : nil) %>" style="text-decoration: none"><span title="Manage Pages" style="font-family: Arial; color: #3c3c3c;">Pages</span></a>
35
+ </td>
36
+
37
+ <td isSpacer="true">
38
+ <!-- spacer -->
39
+ <span class="iconContainer">
40
+ <span class="dojoE2TBIcon dojoE2TBIcon_Sep" style="width: 5px; min-width: 5px;"></span>
41
+ </span>
42
+ </td>
43
+
44
+ <td style="vertical-align: middle;">
45
+ <span style="font-family: Arial">Preview:</span>
46
+ </td>
47
+ <td style="vertical-align: middle;">
48
+ <%= form_tag('/' + @pg.path, { :method => 'get' }) do -%>
49
+ <div style="border: 2px solid #EBEBEB">
50
+ <select name="version" style="font-size: 8pt; width: 210px" onchange="location.href = this.value;">
51
+ <!-- FIXME: using "p" here inserts a paragraph in most cases! -->
52
+ <%- @pg.versions.reverse.each do |pg| -%>
53
+ <option value="<%= "#{@pg.path.empty? ? '' : '/' + @pg.path}/version/#{pg.version}" %>"<%= (params[:version] || @pg.published_version).to_i == pg.version ? ' selected="selected"' : '' %>>
54
+ <%= "#{pg.version} - #{date_to_str(pg.updated_on)} #{time_to_str(pg.updated_on)}#{ " by #{pg.updated_by_username}" unless pg.updated_by_username.empty? }" + (pg.version == @pg.published_version ? ' [PUBLISHED]' : '') %>
55
+ </option>
56
+ <%- end -%>
57
+ </select>
58
+ </div>
59
+ <%- end -%>
60
+ </td>
61
+
62
+ <td style="vertical-align: middle;">
63
+ <span style="font-family: Arial; margin-left: 10px;">Publish:</span>
64
+ </td>
65
+
66
+ <td style="vertical-align: middle;">
67
+ <%- if !UseCmsAccessLevels || user_has_permission?(:manage_cms_publishing) -%>
68
+ <%= form_remote_tag(:url => { :controller => '/management/cms', :action => 'set_page_version', :id => @pg },
69
+ :loading => "$('set_page_version_loading').show();",
70
+ :complete => "$('set_page_version_loading').hide();" + (@pg ? "$('pg_published_version_container').style.borderColor = ($('pg_published_version').value == '0' || $('pg_published_version').value == '#{@pg.versions.last.version}') ? '#EBEBEB' : 'red';" : '')) do -%>
71
+ <div id="pg_published_version_container" style="border-color: <%= @pg && (@pg.published_version == 0 || @pg.published_version == @pg.versions.last.version) ? '#EBEBEB' : 'red' %>; border-style: solid; border-width: 2px;">
72
+ <select name="pg[published_version]" id="pg_published_version" style="font-size: 8pt; width: 210px;" onchange="this.form.onsubmit();">
73
+ <%- [ [ '[ Offline ]', -1 ], [ '[ Latest Version ]', 0 ] ].concat(@pg.versions.reverse.map { |pg| [ "#{pg.version} - #{date_to_str(pg.updated_on)} #{time_to_str(pg.updated_on)}#{" by #{pg.updated_by_username}" unless pg.updated_by_username.empty? }", pg.version ] }).each do |label, version| %>
74
+ <option value="<%= version %>"<%= (@pg && @pg.published_version == version.to_i) ? ' selected="selected"' : '' %>><%= label %></option>
75
+ <%- end -%>
76
+ </select>
77
+ </div>
78
+ <% end %>
79
+ <%- else -%>
80
+ <%- if params[:version] && params[:version].to_i != @pg.published_version && !(@pg.published_version == 0 && params[:version].to_i == @pg.versions.count) -%>
81
+ <%= form_remote_tag(:url => { :controller => '/management/cms', :action => 'request_review', :id => @pg, :version => (params[:version] || @pg.published_version) },
82
+ :loading => "$('set_page_version_loading').show();",
83
+ :complete => "$('set_page_version_loading').hide();") do -%>
84
+ <%= submit_tag "Submit Version #{(params[:version])} for Review" %>
85
+ <% end %>
86
+ <%- else -%>
87
+ [ version <%= @pg.version %> is the published version ]
88
+ <%- end -%>
89
+ <%- end -%>
90
+ </td>
91
+ <td width="20">
92
+ <div id="set_page_version_loading" style="display: none"><img src="/assets/interface/form_loading.gif" /></div>
93
+ </td>
94
+ <% end -%>
95
+
96
+ <td isSpacer="true">
97
+ <!-- spacer -->
98
+ <span class="iconContainer">
99
+ <span class="dojoE2TBIcon dojoE2TBIcon_Sep" style="width: 5px; min-width: 5px;"></span>
100
+ </span>
101
+ </td>
102
+
103
+ <td onclick="location.href = '<%= url_for :controller => '/management/user', :action => 'logout', :redirect => (@pg ? @pg.path : '') %>';" style="vertical-align: middle; cursor: pointer">
104
+ <a href="<%= url_for :controller => '/management/user', :action => 'logout', :redirect => (@pg ? "/#{@pg.path}" : '') %>" style="text-decoration: none"><span title="Log out" style="font-family: Arial; color: #3c3c3c;">Logout</span></a>
105
+ </td>
106
+ </tr>
107
+ </tbody>
108
+ </table>
109
+ </div>
@@ -0,0 +1,72 @@
1
+ <%
2
+ earliest = Time.at(@min_time)
3
+ latest = Time.at(@max_time)
4
+
5
+ # adjust to fall on day boundaries
6
+ earliest = Time.utc(earliest.year, earliest.month, earliest.day)
7
+ latest = Time.utc(latest.year, latest.month, latest.day)
8
+
9
+ today = Time.utc(Time.now.year, Time.now.month, Time.now.day)
10
+ first_of_month = Time.utc(@year || Time.now.year, @month || Time.now.month, 1) rescue today
11
+ last_of_month = first_of_month.end_of_month
12
+
13
+ first_day = first_of_month - first_of_month.wday.days
14
+ last_day = last_of_month + (6 - last_of_month.wday).days
15
+
16
+ d = first_day
17
+
18
+ @css_prefix = @css_prefix.to_s.gsub(/[^-\w]/, '')
19
+ -%>
20
+ <table class="<%= @css_prefix %>base" cellspacing="0" cellpadding="0" border="0">
21
+ <tr class="<%= @css_prefix %>base <%= @css_prefix %>dow">
22
+ <td class="<%= @css_prefix %>base <%= @css_prefix %>dow"><div class="<%= @css_prefix %>base <%= @css_prefix %>dow">S</div></td>
23
+ <td class="<%= @css_prefix %>base <%= @css_prefix %>dow"><div class="<%= @css_prefix %>base <%= @css_prefix %>dow">M</div></td>
24
+ <td class="<%= @css_prefix %>base <%= @css_prefix %>dow"><div class="<%= @css_prefix %>base <%= @css_prefix %>dow">T</div></td>
25
+ <td class="<%= @css_prefix %>base <%= @css_prefix %>dow"><div class="<%= @css_prefix %>base <%= @css_prefix %>dow">W</div></td>
26
+ <td class="<%= @css_prefix %>base <%= @css_prefix %>dow"><div class="<%= @css_prefix %>base <%= @css_prefix %>dow">T</div></td>
27
+ <td class="<%= @css_prefix %>base <%= @css_prefix %>dow"><div class="<%= @css_prefix %>base <%= @css_prefix %>dow">F</div></td>
28
+ <td class="<%= @css_prefix %>base <%= @css_prefix %>dow"><div class="<%= @css_prefix %>base <%= @css_prefix %>dow">S</div></td>
29
+ </tr>
30
+ <% while d <= last_day -%>
31
+ <% if d.wday == 0 %>
32
+ <tr class="<%= @css_prefix %>base">
33
+ <% end -%>
34
+ <td class="<%= @css_prefix %>base">
35
+ <% if d >= first_of_month && d <= last_of_month -%>
36
+ <div id="<%= @css_prefix %>day_<%= d.mday %>" class="<%= @css_prefix %>base <%= @css_prefix %>day_this_month<%= @event_days[d.mday] ? " #{@css_prefix}event_day " + (@event_days[d.mday].css_class || 'calendar1') : '' %><%= d == today ? " #{@css_prefix}today" : '' %>" <%= @event_days[d.mday] ? "onmouseover=\"this.className += ' #{@event_days[d.mday].css_class_hover || 'calendar1_hover'}'; showRollover(this.id, 0, 0, #{@popout_direction == 'right' ? 15 : -248}, 4);\" onmouseout=\"var classes = this.className.split(' '); classes.pop(); this.className = classes.join(' '); hideRollover(this.id);\"" : '' %>><div id="<%= @css_prefix %>day_<%= d.mday %>_std"><%= d.mday %></div>
37
+ <% if evt = @event_days[d.mday] %>
38
+ <div id="<%= @css_prefix %>day_<%= d.mday %>_hover" style="display: none;" class="<%= @css_prefix %>event_rollover">
39
+ <table cellpadding="0" cellspacing="0" border="0" width="100%">
40
+ <tr>
41
+ <td background="/assets/interface/bubble_top<%= @popout_direction == 'right' ? '' : '_left' %>.gif" style="padding: <%= @popout_direction == 'right' ? '4px 7px 0 20px' : '4px 20px 0 7px' %>">
42
+ <%= d.strftime("%A, %B ") + d.strftime("%d").to_i.to_s + d.strftime(", %Y") %>
43
+ </td>
44
+ </tr>
45
+ <tr>
46
+ <td>
47
+ <div class="<%= @css_prefix %>event_rollover_body" style="border-width: 0 1px 0 1px; border-style: solid; padding: 7px 7px 0 7px; margin-<%= @popout_direction == 'right' ? 'left' : 'right' %>: 12px;">
48
+ <b><%= evt[:name] %></b>
49
+ <%= '<br/>' + evt[:html] unless evt[:html].empty? %>
50
+ </div>
51
+ </td>
52
+ </tr>
53
+ <tr>
54
+ <td>
55
+ <img src="/assets/interface/bubble_bottom<%= @popout_direction == 'right' ? '' : '_left' %>.gif" border="0" alt="" style="float: left" />
56
+ </td>
57
+ </tr>
58
+ </table>
59
+ </div>
60
+ <% end -%>
61
+ <% else -%>
62
+ <div class="<%= @css_prefix %>base <%= @css_prefix %>day_other_month"><%= d.mday %></div>
63
+ <% end -%>
64
+ </div>
65
+ </td>
66
+ <% if d.wday == 6 -%>
67
+ </tr>
68
+ <% end -%>
69
+ <% d += 1.day -%>
70
+ <% end -%>
71
+ </table>
72
+ <%= javascript_tag "$('#{@object}_#{@method_prefix}_month_sel').value = '#{@month}'; $('#{@object}_#{@method_prefix}_year_sel').value = '#{@year}';"%>
@@ -0,0 +1 @@
1
+ <%= Time.utc(@year, @month, 1).strftime('%B %Y').upcase %>
@@ -0,0 +1,56 @@
1
+ <%-
2
+ earliest = Time.at(@min_time)
3
+ latest = Time.at(@max_time)
4
+
5
+ # adjust to fall on day boundaries
6
+ earliest = Time.utc(earliest.year, earliest.month, earliest.day)
7
+ latest = Time.utc(latest.year, latest.month, latest.day)
8
+
9
+ today = Time.utc(Time.now.year, Time.now.month, Time.now.day)
10
+ first_of_month = Time.utc(@year || Time.now.year, @month || Time.now.month, 1) rescue today
11
+ last_of_month = first_of_month.end_of_month
12
+
13
+ first_day = first_of_month - first_of_month.wday.days
14
+ last_day = last_of_month + (6 - last_of_month.wday).days
15
+
16
+ d = first_day
17
+
18
+ @object = @object.to_s.gsub(/[^-\w]/, '')
19
+ @method_prefix = @method_prefix.to_s.gsub(/[^-\w]/, '')
20
+ -%>
21
+ <table style="background-color: #666666" cellspacing="1">
22
+ <col width="24" />
23
+ <col width="24" />
24
+ <col width="24" />
25
+ <col width="24" />
26
+ <col width="24" />
27
+ <col width="24" />
28
+ <col width="24" />
29
+ <tr height="20">
30
+ <td align="center" bgcolor="#ffffff"><div style="width: 24px">S</div></td>
31
+ <td align="center" bgcolor="#ffffff"><div style="width: 24px">M</div></td>
32
+ <td align="center" bgcolor="#ffffff"><div style="width: 24px">T</div></td>
33
+ <td align="center" bgcolor="#ffffff"><div style="width: 24px">W</div></td>
34
+ <td align="center" bgcolor="#ffffff"><div style="width: 24px">T</div></td>
35
+ <td align="center" bgcolor="#ffffff"><div style="width: 24px">F</div></td>
36
+ <td align="center" bgcolor="#ffffff"><div style="width: 24px">S</div></td>
37
+ </tr>
38
+ <%- while d <= last_day -%>
39
+ <%- if d.wday == 0 %>
40
+ <tr height="20">
41
+ <%- end -%>
42
+ <%- if d >= earliest && d <= latest && !@exclude_days.include?(d.wday) -%>
43
+ <td align="center" bgcolor="<%= d >= first_of_month && d <= last_of_month ? "#ffffff" : "#cccccc" %>">
44
+ <a href="#" onclick="<%= params[:onchange].to_s.gsub('<', '&lt;') %>; $('date_picker_<%= "#{@object}_#{@method_prefix}" %>_value').innerHTML = '<%= d.strftime('%a %m/%d/%y') %>'; $('<%= "#{@object}_#{@method_prefix}_year" %>').value = <%= d.year %>; $('<%= "#{@object}_#{@method_prefix}_month" %>').value = <%= d.month %>; $('<%= "#{@object}_#{@method_prefix}_day" %>').value = <%= d.mday %>; hideDatePicker('<%= @object %>', '<%= @method_prefix %>'); return false;"><%= d.mday %></a>
45
+ <%- else -%>
46
+ <td align="center" bgcolor="<%= d >= first_of_month && d <= last_of_month ? "#eeeeee" : "#cccccc" %>">
47
+ <s><%= d.mday %></s>
48
+ <%- end -%>
49
+ </td>
50
+ <%- if d.wday == 6 -%>
51
+ </tr>
52
+ <%- end -%>
53
+ <%- d += 1.day -%>
54
+ <%- end -%>
55
+ </table>
56
+ <%= javascript_tag "$('#{@object}_#{@method_prefix}_month_sel').value = '#{@month}'; $('#{@object}_#{@method_prefix}_year_sel').value = '#{@year}';"%>
@@ -0,0 +1 @@
1
+ <span id="message_<%= id %>" style="display: none"><%= message %></span>
@@ -0,0 +1,6 @@
1
+ num = (rand*1000).to_i
2
+ page.replace_html message_div, :partial => 'util/message', :locals => { :id => num, :message => message }
3
+ page.visual_effect 'appear', 'message_' + num.to_s, { :duration => '0.3' }
4
+ page.delay(1.5) do
5
+ page.visual_effect 'fade', 'message_' + num.to_s, { :duration => '0.3' }
6
+ end
@@ -0,0 +1,4 @@
1
+ <td id="<%= tab.downcase.gsub(/\s/, '_') %>_tab_left" width="4" height="24"></td>
2
+ <td id="<%= tab.downcase.gsub(/\s/, '_') %>_tab_center" onclick="setTabVisibility('<%= tab.downcase.gsub(/\s/, '_') %>')" style="cursor: pointer; padding: 0 5px 0 5px;" height="24"><%= tab %></td>
3
+ <td id="<%= tab.downcase.gsub(/\s/, '_') %>_tab_right" onclick="setTabVisibility('<%= tab.downcase.gsub(/\s/, '_') %>')" width="4" height="24"></td>
4
+ <td>&nbsp;</td>
data/config/routes.rb CHANGED
@@ -10,8 +10,11 @@ Rails.application.routes.draw do
10
10
  match 'manage/cms(/:action(/:id))' => 'management/cms'
11
11
  match 'manage/users(/:action(/:id))' => 'management/users'
12
12
 
13
+ match 'util/date_picker' => 'util#date_picker', :as => :date_picker
14
+
13
15
  # primary CMS content routes
14
16
  root :to => 'cms/content#show'
15
- match '*content_path' => 'cms/content#show'
17
+ match 'rss/:page_id/:page_list_name' => 'cms/content#rss_feed'
18
+ match '*content_path' => 'cms/content#show'
16
19
 
17
20
  end
data/imagine_cms.gemspec CHANGED
@@ -20,6 +20,10 @@ Gem::Specification.new do |s|
20
20
  s.require_paths = ["lib"]
21
21
 
22
22
  s.add_dependency "rails", "~> 3.2.8"
23
+ s.add_dependency "prototype-rails"
24
+ # s.add_dependency "redactor-rails"
23
25
  s.add_dependency "mini_magick", "~> 3.4"
26
+ s.add_dependency "rinku", "~> 1.7.2"
24
27
  s.add_dependency "net-dns", "~> 0.7.1"
28
+ s.add_dependency "acts_as_tree", "~> 1.2"
25
29
  end
File without changes
@@ -4,3 +4,5 @@ test/*.log
4
4
  pkg
5
5
  .rvmrc
6
6
  *.sqlite3.db
7
+ .project
8
+ Gemfile.lock
File without changes
@@ -0,0 +1,7 @@
1
+ source 'http://rubygems.org'
2
+
3
+ group :development do
4
+ gem 'rails', '>=3.0.9'
5
+ gem 'sqlite3-ruby'
6
+ gem 'mysql'
7
+ end
File without changes
File without changes
@@ -60,7 +60,7 @@ task :coverage do
60
60
  sh "open coverage/index.html"
61
61
  end
62
62
 
63
- require 'rake/rdoctask'
63
+ require 'rdoc/task'
64
64
  Rake::RDocTask.new do |rdoc|
65
65
  rdoc.rdoc_dir = 'rdoc'
66
66
  rdoc.title = "#{name} #{version}"
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
14
14
  ## the sub! line in the Rakefile
15
15
  s.name = 'acts_as_versioned'
16
16
  s.version = '0.6.0'
17
- s.date = '2010-07-19'
17
+ s.date = '2012-03-28'
18
18
  s.rubyforge_project = 'acts_as_versioned'
19
19
 
20
20
  ## Make sure your summary is short. The description may be as long
@@ -40,11 +40,11 @@ Gem::Specification.new do |s|
40
40
 
41
41
  ## List your runtime dependencies here. Runtime dependencies are those
42
42
  ## that are needed for an end user to actually USE your code.
43
- s.add_dependency('activerecord', ["~> 3.0.0.beta4"])
43
+ s.add_dependency('activerecord', [">= 3.0.9"])
44
44
 
45
45
  ## List your development dependencies here. Development dependencies are
46
46
  ## those that are only needed during development
47
- s.add_development_dependency('sqlite3-ruby', ["~> 1.3.1"])
47
+ s.add_development_dependency('sqlite3-ruby', [">= 1.3.1"])
48
48
 
49
49
  ## Leave this section as-is. It will be automatically generated from the
50
50
  ## contents of your Git repository via the gemspec task. DO NOT REMOVE
@@ -68,7 +68,7 @@ Gem::Specification.new do |s|
68
68
  test/fixtures/landmarks.yml
69
69
  test/fixtures/locked_pages.yml
70
70
  test/fixtures/locked_pages_revisions.yml
71
- test/fixtures/migrations/1_add_versioned_tables.rb
71
+ test/fixtures/migrations/2_add_versioned_tables.rb
72
72
  test/fixtures/page.rb
73
73
  test/fixtures/page_versions.yml
74
74
  test/fixtures/pages.yml
File without changes