imagine_cms 3.0.0.beta6 → 3.0.0.beta7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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