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 @@
1
+ <%= javascript_tag "$('pg_thumbnail_path').value = '/#{File.join('images', 'content', @pg.path, File.basename(@image_file))}'; $('thumbnail_preview').innerHTML = '#{page_image_tag(@pg, @image_file)}'; cancelSelectThumbnail();" %>
@@ -0,0 +1,188 @@
1
+ <script type="text/javascript">
2
+ var resize_ratio = 1.0;
3
+ var aspect_ratio = <%= @width %>.0 / <%= @height %>;
4
+ var imageSizeLocked = false;
5
+
6
+ try {
7
+ if (cropper) cropper.remove();
8
+ } catch (e) {}
9
+
10
+ onEndCrop = function (coords, dimensions) {
11
+ if (dimensions.width > 0 && dimensions.height > 0) {
12
+ var size_changed = false;
13
+
14
+ $('image_x1').value = coords.x1;
15
+ $('image_y1').value = coords.y1;
16
+ $('image_x2').value = coords.x2;
17
+ $('image_y2').value = coords.y2;
18
+
19
+ if (dimensions.width != $('image_width').value) {
20
+ $('image_width').value = dimensions.width;
21
+ size_changed = true;
22
+ }
23
+ if (dimensions.height != $('image_height').value) {
24
+ $('image_height').value = dimensions.height;
25
+ size_changed = true;
26
+ }
27
+
28
+ if (size_changed) {
29
+ setResizeRatio();
30
+ aspect_ratio = 1.0 * dimensions.width / dimensions.height;
31
+
32
+ $('selection_x2').value = dimensions.width;
33
+ $('selection_y2').value = dimensions.height;
34
+
35
+ if (!imageSizeLocked) {
36
+ if (resize_ratio) {
37
+ $('image_max_width').value = Math.round(dimensions.width * resize_ratio);
38
+ $('image_max_height').value = Math.round(dimensions.height * resize_ratio);
39
+ } else {
40
+ $('image_max_width').value = dimensions.width;
41
+ $('image_max_height').value = dimensions.height;
42
+ }
43
+ }
44
+
45
+ $('aspect_ratio').innerHTML = setPrecision(dimensions.width/dimensions.height, 3);
46
+ }
47
+ }
48
+ }
49
+
50
+ resizeCropper = function () {
51
+ width = $('selection_x2').value;
52
+ height = $('selection_y2').value;
53
+ end_x = parseInt(width) + parseInt(cropper.areaCoords.x1);
54
+ end_y = parseInt(height) + parseInt(cropper.areaCoords.y1);
55
+ cropper.setAreaCoords(cropper.cloneCoords({ x1:parseInt(cropper.areaCoords.x1),
56
+ y1:parseInt(cropper.areaCoords.y1),
57
+ x2:end_x,
58
+ y2:end_y }), false, false, 1);
59
+ cropper.selArea.show();
60
+ cropper.drawArea();
61
+ cropper.endCrop();
62
+
63
+ setResizeRatio();
64
+ }
65
+
66
+ resizeCropperScaled = function () {
67
+ if (imageSizeLocked) {
68
+ width = parseInt($('image_max_width').value);
69
+ height = parseInt($('image_max_height').value);
70
+ if (width > 10 && height > 10) {
71
+ cropper.options.ratioDim = { x: width, y: height };
72
+ reloadCropper();
73
+ }
74
+ } else {
75
+ $('selection_x2').value = Math.round($('image_max_width').value / resize_ratio);
76
+ $('selection_y2').value = Math.round($('image_max_height').value / resize_ratio);
77
+ resizeCropper();
78
+ }
79
+ }
80
+
81
+ setResizeRatio = function () {
82
+ crop_width = parseInt($('image_max_width').value);
83
+ selection_width = parseInt($('selection_x2').value); // this is correct... x2 is the sel width
84
+
85
+ if (crop_width > 10 && selection_width > 10) {
86
+ resize_ratio = 1.0 * $('image_max_width').value / $('selection_x2').value;
87
+ } else {
88
+ resize_ratio = 1.0;
89
+ }
90
+ }
91
+
92
+ lockImageSize = function () {
93
+ imageSizeLocked = true;
94
+ cropper.options.ratioDim = { x: parseInt($('image_max_width').value),
95
+ y: parseInt($('image_max_height').value) };
96
+ reloadCropper();
97
+
98
+ $('icon_unlocked').hide();
99
+ $('icon_locked').show();
100
+ }
101
+
102
+ unlockImageSize = function () {
103
+ imageSizeLocked = false;
104
+ cropper.options.ratioDim = { x: 0, y: 0 };
105
+ reloadCropper();
106
+
107
+ $('icon_locked').hide();
108
+ $('icon_unlocked').show();
109
+ }
110
+
111
+ reloadCropper = function () {
112
+ oldOptions = cropper.options;
113
+ oldOptions.displayOnInit = 1;
114
+ if (($('image_x1').value == $('image_x2').value) && ($('image_y1').value == $('image_y2').value)) {
115
+ $('image_x1').value = '0';
116
+ $('image_x2').value = $('image_max_width').value;
117
+ $('image_y1').value = '0';
118
+ $('image_y2').value = $('image_max_height').value;
119
+ }
120
+ oldOptions.onloadCoords = { x1: $('image_x1').value, y1: $('image_y1').value,
121
+ x2: $('image_x2').value, y2: $('image_y2').value };
122
+ cropper.remove();
123
+ cropper = new Cropper.Img('testImage', oldOptions);
124
+ }
125
+
126
+ recalculateWidth = function () {
127
+ if (imageSizeLocked) {
128
+ $('image_max_width').value = Math.round(parseInt($('image_max_height').value) / aspect_ratio);
129
+ }
130
+ }
131
+
132
+ recalculateHeight = function () {
133
+ if (imageSizeLocked) {
134
+ $('image_max_height').value = Math.round(parseInt($('image_max_width').value) / aspect_ratio);
135
+ }
136
+ }
137
+ </script>
138
+
139
+ <h3>Crop Thumbnail</h3>
140
+
141
+ Crop the image by clicking and dragging the mouse over the image.<br/>
142
+ Pressing "Save Thumbnail" will crop the thumbnail and set it as the new thumbnail for this page.
143
+ <br/>
144
+
145
+ <center>
146
+ <%= cropper_image_tag({ :url => File.join('content', @pg.path, @image_file) }) %><br/>
147
+ </center>
148
+ <br/>
149
+
150
+ <center>
151
+ <%= form_remote_tag :update => 'select_thumbnail_dialog_content',
152
+ :url => { :action => "save_crop_thumb", :id => @pg, :filename => @image_file } do -%>
153
+ <table cellpadding="10">
154
+ <tr>
155
+ <td>
156
+ <fieldset style="padding: 10px 15px; text-align: center; display: none;">
157
+ <legend>Adjust Crop:</legend>
158
+ <%= text_field :selection, :x2, :size => 3, :onkeyup => "resizeCropper();" %> x <%= text_field :selection, :y2, :size => 3, :onkeyup => "resizeCropper();" %>
159
+ </fieldset>
160
+
161
+ <fieldset style="padding: 10px 15px; text-align: center;">
162
+ <legend>Final Image Dimensions:</legend>
163
+ <%= text_field :image, :max_width, :size => 3, :value => @width, :onchange => "recalculateHeight();" %>
164
+ x <%= text_field :image, :max_height, :size => 3, :value => @height, :onchange => "recalculateWidth();" %>
165
+ <%= javascript_tag "$('image_max_width').onkeydown = disableEnterKey; $('image_max_height').onkeydown = disableEnterKey;" %>
166
+
167
+ <%= image_tag('/assets/management/icon_unlocked.png', :id => 'icon_unlocked', :onclick => "lockImageSize();") %>
168
+ <%= image_tag('/assets/management/icon_locked.png', :id => 'icon_locked', :onclick => "unlockImageSize();", :style => 'display: none;') %>
169
+
170
+ <%= link_to_function "Apply", "resizeCropperScaled();" %> |
171
+ <%= link_to_function "Reset", "cropper.reset(); resize_ratio = 1.0;" %>
172
+
173
+ <span id="aspect_ratio" style="display: none;"><%= sprintf("%.3f", @aspect_ratio) %></span><br/>
174
+ <%= text_field :image, :x1, :style => "display: none" %>
175
+ <%= text_field :image, :y1, :style => "display: none" %>
176
+ <%= text_field :image, :x2, :style => "display: none" %>
177
+ <%= text_field :image, :y2, :style => "display: none" %>
178
+ <%= text_field :image, :width, :style => "display: none" %>
179
+ <%= text_field :image, :height, :style => "display: none" %>
180
+ </fieldset>
181
+ </td>
182
+ </tr>
183
+ </table>
184
+
185
+ <%= submit_tag 'Save Thumbnail', :class => 'form_button', :style => 'width: 90px;', :onclick => 'cropper.remove(); this.disabled = true; this.value = "Saving...";' %>
186
+ <%= link_to_function "Cancel", "cancelSelectThumbnail()" %>
187
+ <%- end -%>
188
+ </center>
@@ -0,0 +1,39 @@
1
+ <div style="display: none">
2
+ <div dojoType="ModalFloatingPane" id="properties_dialog" title="Page Properties"
3
+ hasShadow="true" resizable="true" followScroll="false" displayCloseAction="true" style="width: 560px; height: 580px; display: none">
4
+ <div id="properties_dialog_content" style=""></div>
5
+ </div>
6
+
7
+ <div dojoType="ModalFloatingPane" id="page_browser_dialog" title="Select Page"
8
+ hasShadow="true" resizable="true" followScroll="false" displayCloseAction="true" style="width: 520px; height: 326px;">
9
+ <div>
10
+ <div id="page_browser" style="height: 220px; padding-top: 10px; margin-bottom: 8px;">Loading...</div>
11
+
12
+ <input id="page_browser_selection" type="text" class="form" style="width: 420px" />
13
+ <button onclick="closePageBrowser(); return false;" class="form" style="width: 70px">Select</button>
14
+ </div>
15
+ </div>
16
+
17
+ <div dojoType="ModalFloatingPane" id="insert_image_dialog" title="Insert Image"
18
+ hasShadow="true" resizable="true" followScroll="false" displayCloseAction="true" style="width: 650px; height: 580px;">
19
+ <div id="insert_image_dialog_content"></div>
20
+ </div>
21
+
22
+ <div dojoType="ModalFloatingPane" id="insert_file_dialog" title="Create Download Link"
23
+ hasShadow="true" resizable="true" followScroll="false" displayCloseAction="true" style="width: 650px; height: 580px;">
24
+ <div id="insert_file_dialog_content"></div>
25
+ </div>
26
+
27
+ <div dojoType="ModalFloatingPane" id="select_thumbnail_dialog" title="Select Thumbnail"
28
+ hasShadow="true" resizable="true" followScroll="false" displayCloseAction="true" style="width: 650px; height: 580px;">
29
+ <div id="select_thumbnail_dialog_content"></div>
30
+ </div>
31
+
32
+
33
+ <div dojoType="ModalFloatingPane" id="gallery_dialog" title="Gallery"
34
+ hasShadow="true" resizable="true" followScroll="false" displayCloseAction="true" style="width: 650px; height: 580px;">
35
+ <div id="gallery_dialog_content"></div>
36
+ </div>
37
+
38
+
39
+ </div>
@@ -0,0 +1,176 @@
1
+ <script type="text/javascript">
2
+ attrlist = new Array(<%= @attrs.size %>)
3
+
4
+ <% @attrs.each_with_index do |attr, i| -%>
5
+ attrlist[<%= i %>]="<%=h attr %>"
6
+ <% end -%>
7
+ </script>
8
+
9
+ <div id="save_errors" class="error"></div>
10
+
11
+ <%= form_remote_tag :url => { :action => 'edit_page', :id => @pg },
12
+ :loading => "$('btn_save').disabled = true; $('btn_save').value = 'Saving...';",
13
+ :html => { :onsubmit => 'teardownTextFieldHints();' } do -%>
14
+ <table>
15
+ <%- if (@pg.id || 2) > 1 -%>
16
+ <tr>
17
+ <td>Name/URL:</td>
18
+ <td>
19
+ <%= text_field :pg, :name, :class => 'form', :style => 'margin-bottom: 0; width: 150px', :onchange => (@pg.new_record? ? '' : "if (!confirm('Are you sure you want to change the name of this page? Any bookmarks or links to this page will no longer work if you proceed with this change.')) { this.value = $('original_name').value; };") %><br/>
20
+ <%= text_field_tag :original_name, @pg.name, :style => 'display: none' %>
21
+ <%= text_field :pg, :parent_id, :style => 'display: none' %>
22
+ </td>
23
+ </tr>
24
+ <%- end -%>
25
+ <tr>
26
+ <td>Title:</td>
27
+ <td><%= text_field :pg, :title, :class => 'form', :style => 'width: 100%;' %></td>
28
+ </tr>
29
+ <%- if @pg.respond_to?(:html_head) -%>
30
+ <tr>
31
+ <td valign="top"><div style="margin-top: 4px;">HTML Head:<br/>(for advanced users)</div></td>
32
+ <td><%= text_area :pg, :html_head, :class => 'form', :style => 'width: 100%; height: 50px; overflow: auto;' %></td>
33
+ </tr>
34
+ <%- end -%>
35
+ <tr>
36
+ <td valign="top"><div style="margin-top: 4px;">Template:</div></td>
37
+ <td>
38
+ <%= select :pg, :cms_template_id, CmsTemplate.find(:all, :order => 'name').collect { |t| [ t.name, t.id ] }, {}, :class => 'form', :style => 'width: 100%;', :onchange => '' %>
39
+
40
+ <div id="edit_page_template_options" style="background-color: white; width: 100%; height: 80px; overflow: auto; border: 1px solid #aaaaaa">
41
+ <%= render :partial => 'template_options' %>
42
+ </div>
43
+ <%= observe_field 'pg_cms_template_id', :update => 'edit_page_template_options', :with => 'template_id',
44
+ :url => { :action => 'show_template_options', :id => @pg },
45
+ :loading => "$('edit_page_template_options').innerHTML = 'Loading...';"
46
+ %>
47
+ </td>
48
+ </tr>
49
+ <tr>
50
+ <td>Article Date:</td>
51
+ <td>
52
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
53
+ <tr>
54
+ <td width="110">
55
+ <%= date_picker :pg, :article_date, :default_value => (@pg.article_date || @pg.created_on || Time.now), :start_date => Time.utc(2006, 1, 1), :end_date => 5.years.from_now %>
56
+ </td>
57
+ <td width="120">
58
+ <div id="div_article_end_date"<%= @pg.article_end_date && @pg.article_date != @pg.article_end_date ? '' : 'style="display: none"' %>>&ndash; <%= date_picker :pg, :article_end_date, :default_value => (@pg.article_end_date || @pg.article_date || @pg.created_on || Time.now), :start_date => Time.utc(2006, 1, 1), :end_date => 5.years.from_now %></div>
59
+ </td>
60
+ <td align="right" width="180">
61
+ <input type="checkbox" name="use_article_date_range" value="1" onclick="$('div_article_end_date').toggle();"<%= @pg.article_end_date && @pg.article_date != @pg.article_end_date ? ' checked="checked"' : '' %> /><label for="use_article_date_range">Use date range</label>
62
+ </td>
63
+ </tr>
64
+ </table>
65
+ </td>
66
+ </tr>
67
+ <tr>
68
+ <td>Tags:</td>
69
+ <td><%= text_field_tag :tags, @tags, :class => 'form', :style => 'width: 100%' %></td>
70
+ </tr>
71
+ <tr>
72
+ <td>Published Version:</td>
73
+ <td><%= select :pg, :published_version, [ [ '[ Offline ]', -1 ], [ '[ Latest Version ]', 0 ] ].concat(@pg.versions.reverse.map { |pg| [ "#{pg.version} - #{ts_to_str pg.updated_on}#{" by #{pg.updated_by_username}" unless pg.updated_by_username.empty? }", pg.version ] }), {}, :class => 'form', :style => 'width: 100%' %></td>
74
+ </tr>
75
+ <tr>
76
+ <td>Publish Date:</td>
77
+ <td>
78
+ <table border="0" cellpadding="0" cellspacing="0">
79
+ <tr>
80
+ <td width="120"><%= date_picker :pg, :published_date, :default_value => (@pg.published_date || @pg.created_on || Time.now), :start_date => Time.utc(2006, 1, 1), :end_date => 2.years.from_now %></td>
81
+ <td width="60">Position:</td>
82
+ <td><%= text_field :pg, :position, :class => 'form', :style => 'width: 20px' %></td>
83
+ </tr>
84
+ </table>
85
+ </td>
86
+ </tr>
87
+ <tr>
88
+ <td>Expiration Date:</td>
89
+ <td>
90
+ <table border="0" cellpadding="0" cellspacing="0">
91
+ <tr>
92
+ <td width="100"><%= check_box :pg, :expires, {}, 'true', 'false' %><label>Expires on:</label></td>
93
+ <td width="120"><%= date_picker :pg, :expiration_date, :default_value => (@pg.expiration_date || @pg.published_date || Time.now), :start_date => Time.utc(2006, 1, 1), :end_date => 2.years.from_now %></td>
94
+ </tr>
95
+ </table>
96
+ </td>
97
+ </tr>
98
+ <tr>
99
+ <td valign="top"><div style="margin-top: 4px;">Summary:</div></td>
100
+ <td><%= text_area :pg, :summary, :class => 'form', :style => 'width: 100%; height: 50px;' %></td>
101
+ </tr>
102
+ <tr>
103
+ <td>Thumbnail:</td>
104
+ <td>
105
+ <%- if @pg.new_record? -%>
106
+ A thumbnail cannot be added until you save this page.
107
+ <%- else -%>
108
+ <div id="thumbnail_preview">
109
+ <%- if @pg.thumbnail_path.empty? -%>
110
+ no thumbnail image selected
111
+ <%- else -%>
112
+ <%= image_tag(@pg.thumbnail_path) %>
113
+ <%- end -%>
114
+ </div>
115
+ <%= button_to_function "Select Thumbnail...",
116
+ "selectThumbnail('#{url_for :action => 'upload_thumb', :id => @pg.id}');",
117
+ :class => 'form_button' %>
118
+ <%- end -%>
119
+ <%= text_field :pg, :thumbnail_path, :class => 'form', :style => 'width: 350px; display: inline;' %>
120
+ </td>
121
+ </tr>
122
+ <%- if @pg.respond_to?(:feature_image_path) -%>
123
+ <tr>
124
+ <td>Feature Image:</td>
125
+ <td>
126
+ <%- if @pg.new_record? -%>
127
+ A feature image cannot be added until you save this page.
128
+ <%- else -%>
129
+ <div id="feature_image_preview">
130
+ <%- if @pg.feature_image_path.empty? -%>
131
+ no feature image selected
132
+ <%- else -%>
133
+ <%= image_tag(@pg.feature_image_path) %>
134
+ <%- end -%>
135
+ </div>
136
+ <%= button_to_function "Select Feature Image...",
137
+ "selectThumbnail('#{url_for :action => 'upload_feature_image', :id => @pg.id}');",
138
+ :class => 'form_button' %>
139
+ <%- end -%>
140
+ <%= text_field :pg, :feature_image_path, :class => 'form', :style => 'width: 350px; display: inline;' %>
141
+ </td>
142
+ </tr>
143
+ <%- end -%>
144
+ <tr>
145
+ <td valign="top"><div style="margin-top: 4px;">Custom Attributes:</div></td>
146
+ <td>
147
+ <table cellspacing="0" cellpadding="0" border="0">
148
+ <tr>
149
+ <td>Add an attribute: &nbsp;</td>
150
+ <td>
151
+ <%= text_field_tag :custom_attribute_name, '', :class => 'form', :style => 'margin-bottom: 4px;' %>
152
+ <%= javascript_tag "addTextFieldHint('custom_attribute_name', '[ attribute name ]'); setupTextFieldHints(); "%>
153
+ <div id="custom_attribute_name_auto_complete" class="auto_complete" style="display: none;"></div>
154
+ <%= javascript_tag "$('custom_attribute_name').onkeydown = disableEnterKey; new Autocompleter.Local('custom_attribute_name', 'custom_attribute_name_auto_complete', attrlist, { frequency: 0.1, minChars: 1 });" %>
155
+
156
+ <%= button_to_function 'Add', "new Ajax.Updater('custom_attributes', '/manage/cms/page_attribute?name=' + $('custom_attribute_name').value, {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom}); $('custom_attribute_name').value = ''; return false;", :class => 'form_button', :style => 'margin-bottom: 5px;' %>
157
+ </td>
158
+ </tr>
159
+ </table>
160
+ <div id="custom_attributes" style="background-color: white; height: 100px; overflow: auto; border: 1px solid #aaaaaa">
161
+ <%- @page_objects.each do |key,val| -%>
162
+ <%- key =~ /^obj-(\w+?)-(.+?)$/ -%>
163
+ <%= render :partial => 'page_attribute', :locals => { :name => $2 } if $1 == 'attribute' %>
164
+ <%- end -%>
165
+ </div>
166
+ </td>
167
+ <tr>
168
+ <td></td>
169
+ <td>
170
+ <%= submit_tag 'Save', :id => 'btn_save', :class => 'form_button', :style => 'width: 70px;' %>
171
+ <%= link_to_function 'Cancel', "cancelEditProperties();" %>
172
+ <%= hidden_field_tag 'return_to', params[:return_to] %>
173
+ </td>
174
+ </tr>
175
+ </table>
176
+ <% end -%>
@@ -0,0 +1,10 @@
1
+ <div id="images_container">
2
+ <div id="images">
3
+ <%= render :partial => 'image', :collection => @images, :locals => { :id => @pg, :path => @pg.path, :gallery_id => params[:gallery_id] } %>
4
+ </div>
5
+ </div>
6
+
7
+ <%= form_remote_tag(:update => 'gallery_container', :html => { :id => 'mainform_gallery' },
8
+ :url => { :action => 'gallery_management', :id => @pg, :gallery_id => params[:gallery_id] }) do -%>
9
+ <%= text_field_tag :dirname, '', :style => 'display: none' %>
10
+ <%- end -%>
@@ -0,0 +1,22 @@
1
+ <h3 style="margin-bottom: 10px;">Gallery Setup</h3>
2
+
3
+ <p>Drag the images until they are in the desired order.</p>
4
+
5
+ <div id="image_sorter" style="border: 1px solid gray">
6
+ <%- @thumbs.each_with_index do |thumb, index| -%>
7
+ <table id="thumb_<%= File.basename(thumb, File.extname(thumb)).to_i %>" border="0" cellpadding="0" cellspacing="2" style="width: 90px; height: 90px; float: left;">
8
+ <tr height="80">
9
+ <td align="center"><%= image_tag '/' + thumb %></td>
10
+ </tr>
11
+ </table>
12
+ <%- end -%>
13
+ <br clear="all" />
14
+ </div>
15
+ <%= sortable_element('image_sorter', :url => { :action => 'set_gallery_order' }, :tag => 'table', :constraint => '') %>
16
+
17
+ <%= form_remote_tag(:update => 'insert_image_dialog_content', :url => { :action => 'complete_gallery', :id => @pg }) do -%>
18
+ Resize to be at most <%= text_field_tag :max_width, GalleryMaxWidth, :style => 'width: 40px' %> pixels wide and <%= text_field_tag :max_height, GalleryMaxHeight, :style => 'width: 40px' %> pixels high<br/>
19
+ <%= text_field_tag 'dirname', params[:dirname], :style => 'display: none' %>
20
+
21
+ <%= submit_tag 'Finish', :class => 'form_button', :style => 'width: 70px;', :onclick => "this.disabled = true; this.value = 'Please wait...';" %>
22
+ <%- end -%>
@@ -0,0 +1,3 @@
1
+ <%= link_to_remote image_tag("content/#{path}/#{gallery_id}/management/#{image}.jpg", :size => '90x90'),
2
+ :url => { :action => 'image_details', :id => id, :path => path, :gallery_id => gallery_id, :image => image.to_s + '.jpg' },
3
+ :update => 'gallery_window' %>
@@ -0,0 +1,26 @@
1
+ <table>
2
+ <tr valign="top">
3
+ <td><%= image_tag "content/#{params[:path]}/#{params[:gallery_id]}/#{params[:image]}" %></td>
4
+ <td style="padding-left: 10px;">
5
+ <div id="caption_container" style="margin-bottom: 20px;">
6
+ <strong>Caption</strong><br/>
7
+ <%= form_remote_tag :url => { :action => 'update_caption', :id => params[:id], :path => params[:path], :gallery_id => params[:gallery_id], :image => params[:image] },
8
+ :update => 'gallery_container' do -%>
9
+ <%= text_area_tag "caption", @caption %><br/>
10
+ <%= submit_tag "Save" %> or <%= link_to_remote "cancel",
11
+ :url => { :action => 'gallery_management', :id => params[:id], :gallery_id => params[:gallery_id] },
12
+ :update => 'gallery_container' %>
13
+ <%- end -%>
14
+ </div>
15
+
16
+ <div id="delete_container">
17
+ <strong>Delete Photo</strong><br/>
18
+ <%= form_remote_tag :url => { :action => 'delete_photo', :id => params[:id], :path => params[:path], :gallery_id => params[:gallery_id], :image => params[:image] },
19
+ :update => 'gallery_container',
20
+ :confirm => "This action cannot be undone. Continue?" do -%>
21
+ <%= submit_tag "Delete" %>
22
+ <%- end -%>
23
+ </div>
24
+ </td>
25
+ </tr>
26
+ </table>
@@ -0,0 +1,4 @@
1
+ <%- image = image_draggable -%>
2
+ <div id="image_<%= image %>.jpg" style="float: left; cursor: move;">
3
+ <%= image_tag("content/#{path}/#{gallery_id}/management/#{image}.jpg", :size => '90x90') %>
4
+ </div>
@@ -0,0 +1,8 @@
1
+ <div id="<%= "cb_item_#{list_page.id}" %>" class="cb_item" style="width: 148px; overflow: hidden; margin: 2px; float: left; cursor: pointer" onclick="$('view_link').href = '/<%= list_page.path %>'; $('new_link').onclick = function () { editProperties('<%=raw url_for :action => 'edit_page', :mode => 'ajax_new', :parent_id => list_page, :authenticity_token => form_authenticity_token.to_s %>', 'Create New Page under /<%= list_page.path %>'); return false; }; $('edit_link').onclick = function () { editProperties('<%=raw url_for :action => 'edit_page', :id => list_page, :mode => 'ajax_edit', :authenticity_token => form_authenticity_token.to_s %>', 'Page Properties: <%= list_page.name %>'); return false; }; $('edit_content_link').href = '<%=raw url_for :action => 'edit_page_content', :id => list_page, :authenticity_token => form_authenticity_token.to_s %>'; $('delete_form').action = '<%=raw url_for :action => 'delete_page', :id => list_page.id, :authenticity_token => form_authenticity_token.to_s %>'; setTimeout('cbSelectItem(\'' + this.id + '\', <%= @page_level %>, \'<%=raw url_for :action => 'list_pages', :level => @page_level + 1, :parent_id => list_page.id, :authenticity_token => form_authenticity_token.to_s %>\');', 200);" ondblclick="$('edit_content_form').onsubmit(); $('edit_content_form').submit();">
2
+ <table cellpadding="0" cellspacing="0" border="0">
3
+ <tr>
4
+ <td valign="top"><img src="/assets/management/icon_page.gif" style="margin: 2px 5px 0 0; "/></td>
5
+ <td<%= list_page.published_version >= 0 ? '' : ' style="color: gray"' %>><%= list_page.name %></td>
6
+ </tr>
7
+ </table>
8
+ </div>
@@ -0,0 +1,8 @@
1
+ <div id="<%= "cb_item_#{list_page_select.id}" %>" class="cb_item" style="width: 148px; overflow: hidden; margin: 2px; float: left; cursor: pointer" onclick="$('page_browser_selection').value = '/<%= list_page_select.path %>'; setTimeout('cbSelectItem(\'' + this.id + '\', <%= @page_level %>, \'<%=raw url_for :action => 'list_pages_select', :level => @page_level + 1, :parent_id => list_page_select.id, :authenticity_token => form_authenticity_token.to_s %>\');', 200);" ondblclick="">
2
+ <table cellpadding="0" cellspacing="0" border="0">
3
+ <tr>
4
+ <td valign="top"><img src="/assets/management/icon_page.gif" style="margin: 2px 5px 0 0; "/></td>
5
+ <td<%= list_page_select.published_version >= 0 ? '' : ' style="color: gray"' %>><%= list_page_select.name %></td>
6
+ </tr>
7
+ </table>
8
+ </div>
@@ -0,0 +1 @@
1
+ <%= render :partial => 'list_page', :collection => @pages %>
@@ -0,0 +1 @@
1
+ <%= render :partial => 'list_page_select', :collection => @pages %>
@@ -0,0 +1,6 @@
1
+ <table width="350">
2
+ <tr>
3
+ <td width="100"><%=h name %>:</td>
4
+ <td><%= text_field :page_objects, "obj-attribute-#{name.gsub(/[^\w\d]/, '_')}", :class => 'form', :style => 'width: 240px' %></td>
5
+ </tr>
6
+ </table>