alchemy_cms 2.0.pre2
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.
- data/.gitignore +7 -0
- data/.yardopts +6 -0
- data/Gemfile +8 -0
- data/LICENSE +619 -0
- data/README.md +113 -0
- data/Rakefile +30 -0
- data/TODO.txt +1 -0
- data/alchemy.gemspec +36 -0
- data/app/controllers/admin/attachments_controller.rb +119 -0
- data/app/controllers/admin/clipboard_controller.rb +43 -0
- data/app/controllers/admin/contents_controller.rb +69 -0
- data/app/controllers/admin/elements_controller.rb +137 -0
- data/app/controllers/admin/essence_audios_controller.rb +14 -0
- data/app/controllers/admin/essence_files_controller.rb +35 -0
- data/app/controllers/admin/essence_flashes_controller.rb +14 -0
- data/app/controllers/admin/essence_pictures_controller.rb +89 -0
- data/app/controllers/admin/essence_videos_controller.rb +14 -0
- data/app/controllers/admin/languages_controller.rb +70 -0
- data/app/controllers/admin/layoutpages_controller.rb +11 -0
- data/app/controllers/admin/pages_controller.rb +244 -0
- data/app/controllers/admin/pictures_controller.rb +132 -0
- data/app/controllers/admin/trash_controller.rb +25 -0
- data/app/controllers/admin/users_controller.rb +75 -0
- data/app/controllers/admin_controller.rb +78 -0
- data/app/controllers/alchemy_controller.rb +239 -0
- data/app/controllers/attachments_controller.rb +30 -0
- data/app/controllers/elements_controller.rb +18 -0
- data/app/controllers/messages_controller.rb +98 -0
- data/app/controllers/pages_controller.rb +137 -0
- data/app/controllers/pictures_controller.rb +68 -0
- data/app/helpers/admin/attachments_helper.rb +7 -0
- data/app/helpers/admin/elements_helper.rb +28 -0
- data/app/helpers/admin/pages_helper.rb +3 -0
- data/app/helpers/admin/pictures_helper.rb +26 -0
- data/app/helpers/alchemy_helper.rb +1168 -0
- data/app/helpers/elements_helper.rb +2 -0
- data/app/helpers/errors_helper.rb +37 -0
- data/app/helpers/layout_helper.rb +37 -0
- data/app/helpers/pages_helper.rb +141 -0
- data/app/mailers/messages.rb +15 -0
- data/app/mailers/notifications.rb +23 -0
- data/app/models/attachment.rb +73 -0
- data/app/models/cell.rb +63 -0
- data/app/models/content.rb +145 -0
- data/app/models/element.rb +423 -0
- data/app/models/essence_audio.rb +17 -0
- data/app/models/essence_date.rb +20 -0
- data/app/models/essence_file.rb +17 -0
- data/app/models/essence_flash.rb +15 -0
- data/app/models/essence_html.rb +19 -0
- data/app/models/essence_picture.rb +27 -0
- data/app/models/essence_richtext.rb +50 -0
- data/app/models/essence_text.rb +28 -0
- data/app/models/essence_video.rb +17 -0
- data/app/models/folded_page.rb +3 -0
- data/app/models/language.rb +75 -0
- data/app/models/message.rb +57 -0
- data/app/models/page.rb +501 -0
- data/app/models/picture.rb +100 -0
- data/app/models/user.rb +72 -0
- data/app/models/user_session.rb +10 -0
- data/app/sweepers/content_sweeper.rb +20 -0
- data/app/sweepers/pages_sweeper.rb +46 -0
- data/app/sweepers/pictures_sweeper.rb +20 -0
- data/app/views/_contact.html.erb +3 -0
- data/app/views/_intro.html.erb +3 -0
- data/app/views/_news.html.erb +3 -0
- data/app/views/_newsletter_layout.html.erb +1 -0
- data/app/views/_search.html.erb +3 -0
- data/app/views/_standard.html.erb +1 -0
- data/app/views/admin/attachments/_attachment.html.erb +58 -0
- data/app/views/admin/attachments/_file_to_assign.html.erb +20 -0
- data/app/views/admin/attachments/_files_list.html.erb +24 -0
- data/app/views/admin/attachments/archive_overlay.html.erb +8 -0
- data/app/views/admin/attachments/create.js.erb +6 -0
- data/app/views/admin/attachments/edit.html.erb +12 -0
- data/app/views/admin/attachments/index.html.erb +30 -0
- data/app/views/admin/attachments/new.html.erb +11 -0
- data/app/views/admin/clipboard/clear.js.erb +6 -0
- data/app/views/admin/clipboard/index.html.erb +19 -0
- data/app/views/admin/clipboard/insert.js.erb +14 -0
- data/app/views/admin/clipboard/remove.js.erb +10 -0
- data/app/views/admin/contents/_missing.html.erb +20 -0
- data/app/views/admin/contents/create.js.erb +93 -0
- data/app/views/admin/contents/new.html.erb +15 -0
- data/app/views/admin/elements/_add_content.html.erb +16 -0
- data/app/views/admin/elements/_element.html.erb +22 -0
- data/app/views/admin/elements/_element_foot.html.erb +35 -0
- data/app/views/admin/elements/_element_head.html.erb +29 -0
- data/app/views/admin/elements/_elements_select.html.erb +8 -0
- data/app/views/admin/elements/_new_element_form.html.erb +25 -0
- data/app/views/admin/elements/_picture_editor.html.erb +25 -0
- data/app/views/admin/elements/create.js.erb +20 -0
- data/app/views/admin/elements/destroy.js.erb +6 -0
- data/app/views/admin/elements/fold.js.erb +37 -0
- data/app/views/admin/elements/index.html.erb +33 -0
- data/app/views/admin/elements/list.js.erb +20 -0
- data/app/views/admin/elements/new.html.erb +33 -0
- data/app/views/admin/elements/order.js.erb +7 -0
- data/app/views/admin/elements/trash.js.erb +13 -0
- data/app/views/admin/elements/update.js.erb +10 -0
- data/app/views/admin/essence_files/edit.html.erb +91 -0
- data/app/views/admin/essence_pictures/assign.js.erb +15 -0
- data/app/views/admin/essence_pictures/crop.html.erb +36 -0
- data/app/views/admin/essence_pictures/destroy.js.erb +17 -0
- data/app/views/admin/essence_pictures/edit.html.erb +75 -0
- data/app/views/admin/essence_pictures/update.js.erb +16 -0
- data/app/views/admin/index.html.erb +92 -0
- data/app/views/admin/infos.html.erb +5 -0
- data/app/views/admin/languages/_form.html.erb +34 -0
- data/app/views/admin/languages/_language.html.erb +35 -0
- data/app/views/admin/languages/edit.html.erb +1 -0
- data/app/views/admin/languages/index.html.erb +41 -0
- data/app/views/admin/languages/new.html.erb +1 -0
- data/app/views/admin/layoutpages/_layoutpage.html.erb +80 -0
- data/app/views/admin/layoutpages/index.html.erb +75 -0
- data/app/views/admin/leave.html.erb +11 -0
- data/app/views/admin/login.html.erb +46 -0
- data/app/views/admin/logout.html.erb +5 -0
- data/app/views/admin/pages/_contactform_links.html.erb +66 -0
- data/app/views/admin/pages/_create_language_form.html.erb +42 -0
- data/app/views/admin/pages/_external_link.html.erb +54 -0
- data/app/views/admin/pages/_file_link.html.erb +52 -0
- data/app/views/admin/pages/_internal_link.html.erb +47 -0
- data/app/views/admin/pages/_new_page_form.html.erb +29 -0
- data/app/views/admin/pages/_page.html.erb +114 -0
- data/app/views/admin/pages/_page_for_links.html.erb +43 -0
- data/app/views/admin/pages/_page_infos.html.erb +3 -0
- data/app/views/admin/pages/_page_status.html.erb +9 -0
- data/app/views/admin/pages/_sitemap.html.erb +99 -0
- data/app/views/admin/pages/configure.html.erb +71 -0
- data/app/views/admin/pages/configure_external.html.erb +40 -0
- data/app/views/admin/pages/destroy.js.erb +12 -0
- data/app/views/admin/pages/edit.html.erb +185 -0
- data/app/views/admin/pages/flush.js.erb +2 -0
- data/app/views/admin/pages/fold.js.erb +4 -0
- data/app/views/admin/pages/index.html.erb +108 -0
- data/app/views/admin/pages/link.html.erb +30 -0
- data/app/views/admin/pages/locked.html.erb +3 -0
- data/app/views/admin/pages/new.html.erb +50 -0
- data/app/views/admin/pages/show.html.erb +1 -0
- data/app/views/admin/pages/sort.js.erb +6 -0
- data/app/views/admin/pages/unlock.js.erb +8 -0
- data/app/views/admin/pages/update.js.erb +19 -0
- data/app/views/admin/partials/_flash.html.erb +4 -0
- data/app/views/admin/partials/_flash_notices.html.erb +5 -0
- data/app/views/admin/partials/_mainnavigation_entry.html.erb +27 -0
- data/app/views/admin/partials/_pagination_links.html.erb +7 -0
- data/app/views/admin/partials/_per_page_links.html.erb +17 -0
- data/app/views/admin/partials/_remote_pagination_links.html.erb +11 -0
- data/app/views/admin/partials/_remote_search_form.html.erb +36 -0
- data/app/views/admin/partials/_search_form.html.erb +17 -0
- data/app/views/admin/partials/_sub_navigation.html.erb +14 -0
- data/app/views/admin/partials/_upload_form.html.erb +116 -0
- data/app/views/admin/pictures/_archive_overlay_images.html.erb +17 -0
- data/app/views/admin/pictures/_filter_and_size_bar.html.erb +88 -0
- data/app/views/admin/pictures/_picture.html.erb +36 -0
- data/app/views/admin/pictures/_picture_to_assign.html.erb +32 -0
- data/app/views/admin/pictures/_pictures_list.html.erb +12 -0
- data/app/views/admin/pictures/archive_overlay.html.erb +3 -0
- data/app/views/admin/pictures/create.js.erb +12 -0
- data/app/views/admin/pictures/index.html.erb +56 -0
- data/app/views/admin/pictures/new.html.erb +11 -0
- data/app/views/admin/pictures/show_in_window.html.erb +1 -0
- data/app/views/admin/pictures/update.js.erb +11 -0
- data/app/views/admin/signup.html.erb +16 -0
- data/app/views/admin/trash/index.html.erb +25 -0
- data/app/views/admin/users/_table.html.erb +54 -0
- data/app/views/admin/users/_user.html.erb +36 -0
- data/app/views/admin/users/edit.html.erb +6 -0
- data/app/views/admin/users/index.html.erb +41 -0
- data/app/views/admin/users/new.html.erb +6 -0
- data/app/views/attachments/show.html.erb +1 -0
- data/app/views/elements/_article_editor.html.erb +4 -0
- data/app/views/elements/_article_view.html.erb +25 -0
- data/app/views/elements/_bild_editor.html.erb +1 -0
- data/app/views/elements/_bild_text_editor.html.erb +2 -0
- data/app/views/elements/_bild_text_view.html.erb +9 -0
- data/app/views/elements/_bild_view.html.erb +9 -0
- data/app/views/elements/_claim_editor.html.erb +1 -0
- data/app/views/elements/_claim_view.html.erb +1 -0
- data/app/views/elements/_contactform_editor.html.erb +7 -0
- data/app/views/elements/_contactform_view.html.erb +92 -0
- data/app/views/elements/_editor_not_found.html.erb +5 -0
- data/app/views/elements/_footnote_editor.html.erb +1 -0
- data/app/views/elements/_footnote_view.html.erb +5 -0
- data/app/views/elements/_header_editor.html.erb +1 -0
- data/app/views/elements/_header_view.html.erb +1 -0
- data/app/views/elements/_headline_editor.html.erb +1 -0
- data/app/views/elements/_headline_view.html.erb +1 -0
- data/app/views/elements/_image_mosaic_editor.html.erb +2 -0
- data/app/views/elements/_image_mosaic_view.html.erb +12 -0
- data/app/views/elements/_intro_editor.html.erb +1 -0
- data/app/views/elements/_intro_image_text_editor.html.erb +3 -0
- data/app/views/elements/_intro_image_text_view.html.erb +16 -0
- data/app/views/elements/_intro_view.html.erb +3 -0
- data/app/views/elements/_news_editor.html.erb +3 -0
- data/app/views/elements/_news_view.html.erb +11 -0
- data/app/views/elements/_searchresult_editor.html.erb +1 -0
- data/app/views/elements/_searchresult_view.html.erb +42 -0
- data/app/views/elements/_sitemap_editor.html.erb +3 -0
- data/app/views/elements/_sitemap_view.html.erb +38 -0
- data/app/views/elements/_sitename_editor.html.erb +1 -0
- data/app/views/elements/_sitename_view.html.erb +1 -0
- data/app/views/elements/_subheadline_editor.html.erb +1 -0
- data/app/views/elements/_subheadline_view.html.erb +5 -0
- data/app/views/elements/_text_editor.html.erb +1 -0
- data/app/views/elements/_text_view.html.erb +3 -0
- data/app/views/elements/_view_not_found.html.erb +1 -0
- data/app/views/elements/show.html.erb +6 -0
- data/app/views/elements/show.js.erb +11 -0
- data/app/views/essences/_essence_audio_editor.html.erb +1 -0
- data/app/views/essences/_essence_audio_view.html.erb +33 -0
- data/app/views/essences/_essence_date_editor.html.erb +12 -0
- data/app/views/essences/_essence_date_view.html.erb +7 -0
- data/app/views/essences/_essence_file_editor.html.erb +63 -0
- data/app/views/essences/_essence_file_view.html.erb +6 -0
- data/app/views/essences/_essence_flash_editor.html.erb +1 -0
- data/app/views/essences/_essence_flash_view.html.erb +26 -0
- data/app/views/essences/_essence_html_editor.html.erb +8 -0
- data/app/views/essences/_essence_html_view.html.erb +1 -0
- data/app/views/essences/_essence_picture_editor.html.erb +70 -0
- data/app/views/essences/_essence_picture_tools.html.erb +60 -0
- data/app/views/essences/_essence_picture_view.html.erb +42 -0
- data/app/views/essences/_essence_richtext_editor.html.erb +9 -0
- data/app/views/essences/_essence_richtext_view.html.erb +5 -0
- data/app/views/essences/_essence_text_editor.html.erb +82 -0
- data/app/views/essences/_essence_text_view.html.erb +11 -0
- data/app/views/essences/_essence_video_editor.html.erb +1 -0
- data/app/views/essences/_essence_video_view.html.erb +35 -0
- data/app/views/layouts/alchemy.html.erb +60 -0
- data/app/views/layouts/login.html.erb +60 -0
- data/app/views/layouts/pages.html.erb +31 -0
- data/app/views/layouts/sitemap.xml.erb +4 -0
- data/app/views/messages/mail.text.erb +10 -0
- data/app/views/messages/new.html.erb +1 -0
- data/app/views/notifications/admin_user_created.text.erb +13 -0
- data/app/views/notifications/registered_user_created.text.erb +10 -0
- data/app/views/page_layouts/_contact.html.erb +14 -0
- data/app/views/page_layouts/_external.html.erb +1 -0
- data/app/views/page_layouts/_intro.html.erb +14 -0
- data/app/views/page_layouts/_layout_footer.html.erb +14 -0
- data/app/views/page_layouts/_layout_header.html.erb +14 -0
- data/app/views/page_layouts/_news.html.erb +14 -0
- data/app/views/page_layouts/_newsletter_layout.html.erb +1 -0
- data/app/views/page_layouts/_search.html.erb +14 -0
- data/app/views/page_layouts/_standard.html.erb +14 -0
- data/app/views/pages/show.html.erb +1 -0
- data/app/views/pages/show.rss.builder +27 -0
- data/app/views/pages/sitemap.xml.erb +8 -0
- data/app/views/partials/_navigation_image_link.html.erb +14 -0
- data/app/views/partials/_navigation_link.html.erb +20 -0
- data/app/views/partials/_navigation_renderer.html.erb +23 -0
- data/app/views/pictures/show.gif.flexi +19 -0
- data/app/views/pictures/show.jpg.flexi +19 -0
- data/app/views/pictures/show.png.flexi +19 -0
- data/app/views/pictures/thumbnail.png.flexi +13 -0
- data/app/views/pictures/zoom.png.flexi +3 -0
- data/assets/images/ajax_loader.gif +0 -0
- data/assets/images/alchemy-logo.png +0 -0
- data/assets/images/flags.png +0 -0
- data/assets/images/gui/navi-tab.png +0 -0
- data/assets/images/gui/shading.png +0 -0
- data/assets/images/gui/shading_90.png +0 -0
- data/assets/images/gui/toggle.png +0 -0
- data/assets/images/icons.png +0 -0
- data/assets/images/jquery-sb/select_arrow.gif +0 -0
- data/assets/images/jquery-sb/select_arrow_bg.gif +0 -0
- data/assets/images/jquery-sb/select_arrow_bg_hover.gif +0 -0
- data/assets/images/jquery-ui/ui-icons_666666_256x240.png +0 -0
- data/assets/images/placeholder.png +0 -0
- data/assets/images/swfupload/browse_button.png +0 -0
- data/assets/javascripts/alchemy.element_editor_selector.js +88 -0
- data/assets/javascripts/alchemy.growler.js +44 -0
- data/assets/javascripts/alchemy.image_cropper.js +56 -0
- data/assets/javascripts/alchemy.js +892 -0
- data/assets/javascripts/alchemy.link_overlay.js +221 -0
- data/assets/javascripts/alchemy.page_sorter.js +42 -0
- data/assets/javascripts/alchemy.preview.js +145 -0
- data/assets/javascripts/jquery-ui.js +428 -0
- data/assets/javascripts/jquery.Jcrop.min.js +246 -0
- data/assets/javascripts/jquery.dialogextend.min.js +8 -0
- data/assets/javascripts/jquery.in-place-edit.js +171 -0
- data/assets/javascripts/jquery.js +18 -0
- data/assets/javascripts/jquery.rails.js +315 -0
- data/assets/javascripts/jquery.sb.min.js +14 -0
- data/assets/javascripts/jquery.scrollTo-1.4.2-min.js +11 -0
- data/assets/javascripts/jquery.ui.nestedSortable.js +291 -0
- data/assets/javascripts/jquery.ui.tabspaging.js +281 -0
- data/assets/javascripts/swfupload/fileprogress.js +203 -0
- data/assets/javascripts/swfupload/handlers.js +171 -0
- data/assets/javascripts/swfupload/queue.js +98 -0
- data/assets/javascripts/swfupload/swfupload.js +980 -0
- data/assets/javascripts/swfupload/swfupload.swf +0 -0
- data/assets/javascripts/tiny_mce/jquery.tinymce.js +1 -0
- data/assets/javascripts/tiny_mce/langs/de.js +1 -0
- data/assets/javascripts/tiny_mce/langs/en.js +223 -0
- data/assets/javascripts/tiny_mce/license.txt +504 -0
- data/assets/javascripts/tiny_mce/plugins/alchemy_link/editor_plugin.js +43 -0
- data/assets/javascripts/tiny_mce/plugins/alchemy_link/langs/de.js +4 -0
- data/assets/javascripts/tiny_mce/plugins/alchemy_link/langs/en.js +4 -0
- data/assets/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -0
- data/assets/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +109 -0
- data/assets/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -0
- data/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/alchemy/window.css +402 -0
- data/assets/javascripts/tiny_mce/plugins/inlinepopups/template.htm +387 -0
- data/assets/javascripts/tiny_mce/plugins/lists/editor_plugin.js +1 -0
- data/assets/javascripts/tiny_mce/plugins/paste/editor_plugin.js +1 -0
- data/assets/javascripts/tiny_mce/plugins/paste/js/pastetext.js +36 -0
- data/assets/javascripts/tiny_mce/plugins/paste/js/pasteword.js +51 -0
- data/assets/javascripts/tiny_mce/plugins/paste/langs/de_dlg.js +1 -0
- data/assets/javascripts/tiny_mce/plugins/paste/langs/en_dlg.js +5 -0
- data/assets/javascripts/tiny_mce/plugins/paste/pastetext.htm +27 -0
- data/assets/javascripts/tiny_mce/plugins/paste/pasteword.htm +21 -0
- data/assets/javascripts/tiny_mce/plugins/table/cell.htm +180 -0
- data/assets/javascripts/tiny_mce/plugins/table/css/cell.css +17 -0
- data/assets/javascripts/tiny_mce/plugins/table/css/row.css +25 -0
- data/assets/javascripts/tiny_mce/plugins/table/css/table.css +13 -0
- data/assets/javascripts/tiny_mce/plugins/table/editor_plugin.js +1 -0
- data/assets/javascripts/tiny_mce/plugins/table/js/cell.js +319 -0
- data/assets/javascripts/tiny_mce/plugins/table/js/merge_cells.js +27 -0
- data/assets/javascripts/tiny_mce/plugins/table/js/row.js +237 -0
- data/assets/javascripts/tiny_mce/plugins/table/js/table.js +450 -0
- data/assets/javascripts/tiny_mce/plugins/table/langs/de_dlg.js +1 -0
- data/assets/javascripts/tiny_mce/plugins/table/langs/en_dlg.js +75 -0
- data/assets/javascripts/tiny_mce/plugins/table/merge_cells.htm +32 -0
- data/assets/javascripts/tiny_mce/plugins/table/row.htm +158 -0
- data/assets/javascripts/tiny_mce/plugins/table/table.htm +188 -0
- data/assets/javascripts/tiny_mce/themes/advanced/about.htm +52 -0
- data/assets/javascripts/tiny_mce/themes/advanced/anchor.htm +26 -0
- data/assets/javascripts/tiny_mce/themes/advanced/charmap.htm +51 -0
- data/assets/javascripts/tiny_mce/themes/advanced/color_picker.htm +74 -0
- data/assets/javascripts/tiny_mce/themes/advanced/editor_template.js +1 -0
- data/assets/javascripts/tiny_mce/themes/advanced/image.htm +80 -0
- data/assets/javascripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/img/flash.gif +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/img/iframe.gif +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/img/pagebreak.gif +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/img/quicktime.gif +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/img/realmedia.gif +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/img/shockwave.gif +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/img/trans.gif +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/img/video.gif +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/img/windowsmedia.gif +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/js/about.js +73 -0
- data/assets/javascripts/tiny_mce/themes/advanced/js/anchor.js +42 -0
- data/assets/javascripts/tiny_mce/themes/advanced/js/charmap.js +355 -0
- data/assets/javascripts/tiny_mce/themes/advanced/js/color_picker.js +329 -0
- data/assets/javascripts/tiny_mce/themes/advanced/js/image.js +247 -0
- data/assets/javascripts/tiny_mce/themes/advanced/js/link.js +153 -0
- data/assets/javascripts/tiny_mce/themes/advanced/js/source_editor.js +56 -0
- data/assets/javascripts/tiny_mce/themes/advanced/langs/de.js +1 -0
- data/assets/javascripts/tiny_mce/themes/advanced/langs/de_dlg.js +1 -0
- data/assets/javascripts/tiny_mce/themes/advanced/langs/en.js +68 -0
- data/assets/javascripts/tiny_mce/themes/advanced/langs/en_dlg.js +54 -0
- data/assets/javascripts/tiny_mce/themes/advanced/link.htm +57 -0
- data/assets/javascripts/tiny_mce/themes/advanced/shortcuts.htm +47 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/default/content.css +47 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/default/dialog.css +117 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/default/ui.css +214 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/content.css +23 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css +105 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css +102 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/content.css +46 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +117 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +217 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +8 -0
- data/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
- data/assets/javascripts/tiny_mce/themes/advanced/source_editor.htm +25 -0
- data/assets/javascripts/tiny_mce/themes/simple/langs/de.js +1 -0
- data/assets/javascripts/tiny_mce/tiny_mce.js +1 -0
- data/assets/javascripts/tiny_mce/tiny_mce_popup.js +5 -0
- data/assets/javascripts/tiny_mce/utils/editable_selects.js +70 -0
- data/assets/javascripts/tiny_mce/utils/form_utils.js +210 -0
- data/assets/javascripts/tiny_mce/utils/mctabs.js +162 -0
- data/assets/javascripts/tiny_mce/utils/validate.js +252 -0
- data/assets/stylesheets/Jcrop.gif +0 -0
- data/assets/stylesheets/alchemy.css +3629 -0
- data/assets/stylesheets/alchemy_tinymce_content.css +94 -0
- data/assets/stylesheets/alchemy_tinymce_dialog.css +415 -0
- data/assets/stylesheets/default/img/tabs.gif +0 -0
- data/assets/stylesheets/elements.css +900 -0
- data/assets/stylesheets/flags.css +1 -0
- data/assets/stylesheets/ie6.css +18 -0
- data/assets/stylesheets/jquery-ui-1.8.7.alchemy.css +2023 -0
- data/assets/stylesheets/jquery.Jcrop.css +35 -0
- data/assets/stylesheets/jquery.sb.css +244 -0
- data/assets/stylesheets/standard_set.css +374 -0
- data/bin/alchemy +347 -0
- data/config/alchemy/config.yml +199 -0
- data/config/alchemy/elements.yml +219 -0
- data/config/alchemy/page_layouts.yml +65 -0
- data/config/asset_packages.yml +32 -0
- data/config/authorization_rules.rb +96 -0
- data/config/initializers/authorization.rb +4 -0
- data/config/initializers/cache_storage.rb +1 -0
- data/config/initializers/fast_gettext.rb +2 -0
- data/config/initializers/tiny_mce_hammer.rb +32 -0
- data/config/locales/de.yml +370 -0
- data/config/locales/en.yml +364 -0
- data/config/routes.rb +141 -0
- data/db/migrate/20100607143125_create_pages.rb +34 -0
- data/db/migrate/20100607144254_create_elements.rb +20 -0
- data/db/migrate/20100607145256_create_contents.rb +18 -0
- data/db/migrate/20100607145719_create_users.rb +32 -0
- data/db/migrate/20100607150611_create_pictures.rb +16 -0
- data/db/migrate/20100607150812_create_attachments.rb +16 -0
- data/db/migrate/20100607153647_create_folded_pages.rb +13 -0
- data/db/migrate/20100607161345_create_essence_texts.rb +19 -0
- data/db/migrate/20100607162339_create_elements_pages.rb +12 -0
- data/db/migrate/20100607193638_create_essence_pictures.rb +23 -0
- data/db/migrate/20100607193646_create_essence_richtexts.rb +16 -0
- data/db/migrate/20100607193653_create_essence_htmls.rb +13 -0
- data/db/migrate/20100609111653_create_essence_dates.rb +13 -0
- data/db/migrate/20100609111809_create_essence_files.rb +15 -0
- data/db/migrate/20100609111821_create_essence_flashes.rb +16 -0
- data/db/migrate/20100609111837_create_essence_videos.rb +18 -0
- data/db/migrate/20100616150753_create_essence_audios.rb +17 -0
- data/db/migrate/20100812085225_add_crop_from_and_crop_size_to_essence_pictures.rb +11 -0
- data/db/migrate/20100909140701_change_essence_htmls_source_column_type.rb +9 -0
- data/db/migrate/20101109150312_alter_pages_visible_column_default.rb +9 -0
- data/db/migrate/20101109151812_create_languages.rb +19 -0
- data/db/migrate/20101216151419_add_language_id_to_pages.rb +19 -0
- data/db/migrate/20101216155216_add_index_to_languages.rb +9 -0
- data/db/migrate/20101216173323_add_default_to_languages.rb +9 -0
- data/db/migrate/20101218130049_add_urlname_index_to_pages.rb +9 -0
- data/db/migrate/20110115123343_remove_css_class_default_from_essence_pictures.rb +11 -0
- data/db/migrate/20110224105120_change_pages_visible_default.rb +11 -0
- data/db/migrate/20110228182659_remove_default_page_layout_from_pages.rb +11 -0
- data/db/migrate/20110414163140_remove_display_name_from_elements.rb +11 -0
- data/db/migrate/20110511100516_rename_essence_texts_title_to_link_title.rb +9 -0
- data/db/migrate/20110529130429_create_cells.rb +14 -0
- data/db/migrate/20110529130500_add_cell_id_to_elements.rb +11 -0
- data/db/migrate/20110530102804_change_pages_page_layout_column.rb +11 -0
- data/db/migrate/20110707190728_add_render_size_to_essence_pictures.rb +9 -0
- data/db/migrate/20110711142057_change_open_link_in_new_window_to_link_target.rb +19 -0
- data/lib/alchemy.rb +24 -0
- data/lib/alchemy/config.rb +51 -0
- data/lib/alchemy/controller.rb +79 -0
- data/lib/alchemy/engine.rb +29 -0
- data/lib/alchemy/essence.rb +178 -0
- data/lib/alchemy/file_utilz.rb +73 -0
- data/lib/alchemy/page_layout.rb +66 -0
- data/lib/alchemy/remote_pagination_link_renderer.rb +17 -0
- data/lib/alchemy/seeder.rb +112 -0
- data/lib/alchemy/version.rb +5 -0
- data/lib/extensions/action_view.rb +17 -0
- data/lib/extensions/array.rb +25 -0
- data/lib/extensions/hash.rb +34 -0
- data/lib/middleware/flash_session_cookie.rb +22 -0
- data/lib/rails/generators/alchemy/elements/elements_generator.rb +35 -0
- data/lib/rails/generators/alchemy/elements/templates/editor.html.erb +9 -0
- data/lib/rails/generators/alchemy/elements/templates/view.html.erb +21 -0
- data/lib/rails/generators/alchemy/page_layouts/page_layouts_generator.rb +32 -0
- data/lib/rails/generators/alchemy/page_layouts/templates/layout.html.erb +1 -0
- data/lib/rails/generators/alchemy/plugin/plugin_generator.rb +29 -0
- data/lib/rails/generators/alchemy/plugin/templates/authorization_rules.rb +5 -0
- data/lib/rails/generators/alchemy/plugin/templates/config.yml +30 -0
- data/lib/rails/generators/alchemy/plugin/templates/init.rb +4 -0
- data/lib/rails/generators/alchemy/plugin/templates/routes.rb +4 -0
- data/lib/rails/generators/alchemy/scaffold/scaffold_generator.rb +35 -0
- data/lib/rails/generators/alchemy/scaffold/templates/elements.yml +91 -0
- data/lib/rails/generators/alchemy/scaffold/templates/page_layouts.yml +29 -0
- data/lib/rails/templates/alchemy.rb +14 -0
- data/lib/tasks/fleximage.rake +154 -0
- data/lib/tasks/gettext.rake +75 -0
- data/lib/tasks/install.rake +123 -0
- data/lib/tasks/upgrade.rake +211 -0
- data/lib/translation_extras/alchemy_core_modules.rb +11 -0
- data/lib/vendor/i18n_label.rb +23 -0
- data/locale/alchemy.pot +1728 -0
- data/locale/de/LC_MESSAGES/alchemy.mo +0 -0
- data/locale/de/alchemy.po +1774 -0
- data/locale/en/LC_MESSAGES/alchemy.mo +0 -0
- data/locale/en/alchemy.po +1742 -0
- data/locale/missing_translations.rb +4 -0
- data/locale/model_attributes.rb +56 -0
- data/recipes/alchemy_capistrano_tasks.rb +83 -0
- metadata +769 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# This rails template installs Alchemy and all depending gems.
|
|
2
|
+
# Run it with +rails YOUR_APP_NAME -d mysql -m alchemy+.
|
|
3
|
+
|
|
4
|
+
# Installing Alchemy Gem
|
|
5
|
+
|
|
6
|
+
gem 'alchemy_cms'
|
|
7
|
+
gem 'ruby-debug', :group => :development
|
|
8
|
+
gem 'mongrel', :group => :development
|
|
9
|
+
|
|
10
|
+
if yes?("Use Capistrano for deployment? (y/N)")
|
|
11
|
+
gem 'capistrano', :group => :development
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
run 'bundle install'
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
namespace :fleximage do
|
|
2
|
+
|
|
3
|
+
# Find the model class
|
|
4
|
+
def model_class
|
|
5
|
+
raise 'You must specify a FLEXIMAGE_CLASS=MyClass' unless ENV['FLEXIMAGE_CLASS']
|
|
6
|
+
@model_class ||= ENV['FLEXIMAGE_CLASS'].camelcase.constantize
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
desc "Populate width and height magic columns from the current image store. Useful when migrating from on old installation."
|
|
10
|
+
task :dimensions => :environment do
|
|
11
|
+
model_class.find(:all).each do |obj|
|
|
12
|
+
if obj.has_image?
|
|
13
|
+
img = obj.load_image
|
|
14
|
+
obj.update_attribute :image_width, img.columns if obj.respond_to?(:image_width=)
|
|
15
|
+
obj.update_attribute :image_height, img.rows if obj.respond_to?(:image_height=)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
namespace :convert do
|
|
21
|
+
|
|
22
|
+
def convert_directory_format(to_format)
|
|
23
|
+
model_class.find(:all).each do |obj|
|
|
24
|
+
|
|
25
|
+
# Get the creation date
|
|
26
|
+
creation = obj[:created_at] || obj[:created_on] || Date.today
|
|
27
|
+
|
|
28
|
+
# Generate both types of file paths
|
|
29
|
+
flat_path = "#{RAILS_ROOT}/#{model_class.image_directory}/#{obj.id}.#{model_class.image_storage_format}"
|
|
30
|
+
nested_path = "#{RAILS_ROOT}/#{model_class.image_directory}/#{creation.year}/#{creation.month}/#{creation.day}/#{obj.id}.#{model_class.image_storage_format}"
|
|
31
|
+
|
|
32
|
+
# Assign old path and new path based on desired directory format
|
|
33
|
+
if to_format == :nested
|
|
34
|
+
old_path = flat_path
|
|
35
|
+
new_path = nested_path
|
|
36
|
+
else
|
|
37
|
+
old_path = nested_path
|
|
38
|
+
new_path = flat_path
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Move the files
|
|
42
|
+
if old_path != new_path && File.exists?(old_path)
|
|
43
|
+
FileUtils.mkdir_p(File.dirname(new_path))
|
|
44
|
+
FileUtils.move old_path, new_path
|
|
45
|
+
puts "#{old_path} -> #{new_path}"
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def convert_image_format(to_format)
|
|
51
|
+
model_class.find(:all).each do |obj|
|
|
52
|
+
|
|
53
|
+
# convert DB stored images
|
|
54
|
+
if model_class.db_store?
|
|
55
|
+
if obj.image_file_data && obj.image_file_data.any?
|
|
56
|
+
begin
|
|
57
|
+
image = Magick::Image.from_blob(obj.image_file_data).first
|
|
58
|
+
image.format = to_format.to_s.upcase
|
|
59
|
+
obj.image_file_data = image.to_blob
|
|
60
|
+
obj.save
|
|
61
|
+
rescue Exception => e
|
|
62
|
+
puts "Could not convert image for #{model_class} with id #{obj.id}\n #{e.class} #{e}\n"
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Convert file system stored images
|
|
67
|
+
else
|
|
68
|
+
# Generate both types of file paths
|
|
69
|
+
png_path = obj.file_path.gsub(/\.jpg$/, '.png')
|
|
70
|
+
jpg_path = obj.file_path.gsub(/\.png$/, '.jpg')
|
|
71
|
+
|
|
72
|
+
# Output stub
|
|
73
|
+
output = (to_format == :jpg) ? 'PNG -> JPG' : 'JPG -> PNG'
|
|
74
|
+
|
|
75
|
+
# Assign old path and new path based on desired image format
|
|
76
|
+
if to_format == :jpg
|
|
77
|
+
old_path = png_path
|
|
78
|
+
new_path = jpg_path
|
|
79
|
+
else
|
|
80
|
+
old_path = jpg_path
|
|
81
|
+
new_path = png_path
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# Perform conversion
|
|
85
|
+
if File.exists?(old_path)
|
|
86
|
+
image = Magick::Image.read(old_path).first
|
|
87
|
+
image.format = to_format.to_s.upcase
|
|
88
|
+
image.write(new_path)
|
|
89
|
+
File.delete(old_path)
|
|
90
|
+
|
|
91
|
+
puts "#{output} : Image #{obj.id}"
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def ensure_db_store
|
|
98
|
+
col = model_class.columns.find {|c| c.name == 'image_file_data'}
|
|
99
|
+
unless col && col.type == :binary
|
|
100
|
+
raise "No image_file_data field of type :binary for this model!"
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
desc "Convert a flat images/123.png style image store to a images/2007/11/12/123.png style. Requires FLEXIMAGE_CLASS=ModelName"
|
|
105
|
+
task :to_nested => :environment do
|
|
106
|
+
convert_directory_format :nested
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
desc "Convert a nested images/2007/11/12/123.png style image store to a images/123.png style. Requires FLEXIMAGE_CLASS=ModelName"
|
|
110
|
+
task :to_flat => :environment do
|
|
111
|
+
convert_directory_format :flat
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
desc "Convert master images stored as JPGs to PNGs"
|
|
115
|
+
task :to_png => :environment do
|
|
116
|
+
convert_image_format :png
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
desc "Convert master images stored as PNGs to JPGs"
|
|
120
|
+
task :to_jpg => :environment do
|
|
121
|
+
convert_image_format :jpg
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
desc "Convert master image storage to use the database. Loads all file-stored images into the database."
|
|
125
|
+
task :to_db => :environment do
|
|
126
|
+
ensure_db_store
|
|
127
|
+
model_class.find(:all).each do |obj|
|
|
128
|
+
if File.exists?(obj.file_path)
|
|
129
|
+
File.open(obj.file_path, 'rb') do |f|
|
|
130
|
+
obj.image_file_data = f.read
|
|
131
|
+
obj.save
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
puts "--- All images successfully moved to the database. Check to make sure the transfer worked cleanly before deleting your file system image store."
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
desc "Convert master image storage to use the file system. Loads all database images into files."
|
|
140
|
+
task :to_filestore => :environment do
|
|
141
|
+
ensure_db_store
|
|
142
|
+
model_class.find(:all).each do |obj|
|
|
143
|
+
if obj.image_file_data && obj.image_file_data.any?
|
|
144
|
+
File.open(obj.file_path, 'wb+') do |f|
|
|
145
|
+
f.write obj.image_file_data
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
puts "--- All images successfully moved to the file system. Remember to remove your image_file_data field from your models database table."
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
end
|
|
154
|
+
end
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
namespace :gettext do
|
|
2
|
+
|
|
3
|
+
def load_gettext
|
|
4
|
+
require 'gettext'
|
|
5
|
+
require 'gettext/tools'
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
desc "Create mo-files for L10n"
|
|
9
|
+
task :pack do
|
|
10
|
+
load_gettext
|
|
11
|
+
GetText.create_mofiles(:verbose => true, :po_root => "locale", :mo_root => "locale")
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
desc "Update pot/po files."
|
|
15
|
+
task :find do
|
|
16
|
+
load_gettext
|
|
17
|
+
#$LOAD_PATH << File.join(File.dirname(__FILE__),'plugins','gettext_i18n_rails','lib')
|
|
18
|
+
require 'gettext_i18n_rails/haml_parser'
|
|
19
|
+
|
|
20
|
+
if GetText.respond_to? :update_pofiles_org
|
|
21
|
+
GetText.update_pofiles_org(
|
|
22
|
+
"alchemy",
|
|
23
|
+
Dir.glob("{app,lib,config,locale}/**/*.{rb,erb,haml,rjs}"),
|
|
24
|
+
"version 2.0",
|
|
25
|
+
:po_root => 'locale',
|
|
26
|
+
:msgmerge=>['--sort-output']
|
|
27
|
+
)
|
|
28
|
+
else #we are on a version < 2.0
|
|
29
|
+
puts "install new GetText with gettext:install to gain more features..."
|
|
30
|
+
#kill ar parser...
|
|
31
|
+
require 'gettext/parser/active_record'
|
|
32
|
+
module GetText
|
|
33
|
+
module ActiveRecordParser
|
|
34
|
+
module_function
|
|
35
|
+
def init(x);end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
#parse files.. (models are simply parsed as ruby files)
|
|
40
|
+
GetText.update_pofiles(
|
|
41
|
+
"alchemy",
|
|
42
|
+
Dir.glob("{app,lib,config,locale}/**/*.{rb,erb,haml,rjs}"),
|
|
43
|
+
"version 2.0",
|
|
44
|
+
'locale'
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# This is more of an example, ignoring
|
|
50
|
+
# the columns/tables that mostly do not need translation.
|
|
51
|
+
# This can also be done with GetText::ActiveRecord
|
|
52
|
+
# but this crashed too often for me, and
|
|
53
|
+
# IMO which column should/should-not be translated does not
|
|
54
|
+
# belong into the model
|
|
55
|
+
#
|
|
56
|
+
# You can get your translations from GetText::ActiveRecord
|
|
57
|
+
# by adding this to you gettext:find task
|
|
58
|
+
#
|
|
59
|
+
# require 'active_record'
|
|
60
|
+
# gem "gettext_activerecord", '>=0.1.0' #download and install from github
|
|
61
|
+
# require 'gettext_activerecord/parser'
|
|
62
|
+
desc "write the locale/model_attributes.rb"
|
|
63
|
+
task :store_model_attributes => :environment do
|
|
64
|
+
FastGettext.silence_errors
|
|
65
|
+
require 'gettext_i18n_rails/model_attributes_finder'
|
|
66
|
+
storage_file = 'locale/model_attributes.rb'
|
|
67
|
+
puts "writing model translations to: #{storage_file}"
|
|
68
|
+
GettextI18nRails.store_model_attributes(
|
|
69
|
+
:to=>storage_file,
|
|
70
|
+
:ignore_columns=>[/_id$/,'id','type','created_at','updated_at'],
|
|
71
|
+
:ignore_tables=>[/^sitemap_/,/_versions$/,'schema_migrations']
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
end
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# encoding: UTF-8
|
|
2
|
+
require File.join(File.dirname(__FILE__), '../alchemy/file_utilz.rb')
|
|
3
|
+
|
|
4
|
+
namespace :alchemy do
|
|
5
|
+
|
|
6
|
+
desc "Migrates the database, inserts essential data into the database and copies all assets."
|
|
7
|
+
task :prepare do
|
|
8
|
+
Rake::Task['alchemy:migrations:sync'].invoke
|
|
9
|
+
Rake::Task['alchemy:seeder:copy'].invoke
|
|
10
|
+
Rake::Task['alchemy:assets:copy:all'].invoke
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
namespace 'seeder' do
|
|
14
|
+
desc "Copy a line of code into the seeds.rb file"
|
|
15
|
+
task :copy do
|
|
16
|
+
File.open("./db/seeds.rb", "a") do |f|
|
|
17
|
+
f.puts "\n# Seeding Alchemy data"
|
|
18
|
+
f.puts "Alchemy::Seeder.seed!\n"
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
namespace 'migrations' do
|
|
24
|
+
desc "Syncs Alchemy migrations into db/migrate"
|
|
25
|
+
task 'sync' do
|
|
26
|
+
source = File.join(File.dirname(__FILE__), '..', '..', 'db', 'migrate')
|
|
27
|
+
destination = File.join(Rails.root, 'db', 'migrate')
|
|
28
|
+
FileUtils.mkdir_p destination
|
|
29
|
+
Alchemy::FileUtilz.mirror_files(source, destination)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
namespace 'assets' do
|
|
34
|
+
namespace 'copy' do
|
|
35
|
+
|
|
36
|
+
desc "Copy all assets for Alchemy into apps public folder"
|
|
37
|
+
task :all do
|
|
38
|
+
Rake::Task['alchemy:assets:copy:javascripts'].invoke
|
|
39
|
+
Rake::Task['alchemy:assets:copy:stylesheets'].invoke
|
|
40
|
+
Rake::Task['alchemy:assets:copy:images'].invoke
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
desc "Copy javascripts for Alchemy into apps public folder"
|
|
44
|
+
task :javascripts do
|
|
45
|
+
source = File.join(File.dirname(__FILE__), '..', '..', 'assets', 'javascripts')
|
|
46
|
+
destination = File.join(Rails.root, 'public', 'javascripts', 'alchemy')
|
|
47
|
+
FileUtils.mkdir_p(destination)
|
|
48
|
+
Alchemy::FileUtilz.mirror_files(source, destination)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
desc "Copy stylesheets for Alchemy into apps public folder"
|
|
52
|
+
task :stylesheets do
|
|
53
|
+
source = File.join(File.dirname(__FILE__), '..', '..', 'assets', 'stylesheets')
|
|
54
|
+
destination = File.join(Rails.root, 'public', 'stylesheets', 'alchemy')
|
|
55
|
+
FileUtils.mkdir_p(destination)
|
|
56
|
+
Alchemy::FileUtilz.mirror_files(source, destination)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
desc "Copy images for Alchemy into apps public folder"
|
|
60
|
+
task :images do
|
|
61
|
+
source = File.join(File.dirname(__FILE__), '..', '..', 'assets', 'images')
|
|
62
|
+
destination = File.join(Rails.root, 'public', 'images', 'alchemy')
|
|
63
|
+
FileUtils.mkdir_p(destination)
|
|
64
|
+
Alchemy::FileUtilz.mirror_files(source, destination)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
namespace :standard_set do
|
|
71
|
+
|
|
72
|
+
desc "Install Alchemys standard set."
|
|
73
|
+
task :install do
|
|
74
|
+
system("rails g alchemy:scaffold --with_standard_set")
|
|
75
|
+
Rake::Task['alchemy:assets:copy:all'].invoke
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
namespace :cells do
|
|
81
|
+
|
|
82
|
+
desc "Creates all cells for all pages"
|
|
83
|
+
task :create => :environment do
|
|
84
|
+
cell_yml = File.join(File.dirname(__FILE__), '..', '..', '..', '..', '..', 'config', 'alchemy', 'cells.yml')
|
|
85
|
+
page_layouts = Alchemy::PageLayout.get_layouts
|
|
86
|
+
if File.exist?(cell_yml) && page_layouts
|
|
87
|
+
cells = YAML.load_file(cell_yml)
|
|
88
|
+
page_layouts.each do |layout|
|
|
89
|
+
unless layout['cells'].blank?
|
|
90
|
+
cells_for_layout = cells.select { |cell| layout['cells'].include? cell['name'] }
|
|
91
|
+
Page.find_all_by_page_layout(layout['name']).each do |page|
|
|
92
|
+
cells_for_layout.each do |cell_for_layout|
|
|
93
|
+
cell = Cell.find_or_initialize_by_name_and_page_id({:name => cell_for_layout['name'], :page_id => page.id})
|
|
94
|
+
cell.elements << page.elements.select { |element| cell_for_layout['elements'].include?(element.name) }
|
|
95
|
+
if cell.new_record?
|
|
96
|
+
cell.save
|
|
97
|
+
puts "== Creating cell '#{cell.name}' for page '#{page.name}'"
|
|
98
|
+
else
|
|
99
|
+
puts "== Skipping! Cell '#{cell.name}' for page '#{page.name}' was already present"
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
namespace :ferret do
|
|
113
|
+
|
|
114
|
+
desc "Updates the ferret index for the application."
|
|
115
|
+
task :rebuild_index => :environment do
|
|
116
|
+
puts "Rebuilding Ferret Index for EssenceText"
|
|
117
|
+
Alchemy::EssenceText.rebuild_index
|
|
118
|
+
puts "Rebuilding Ferret Index for EssenceRichtext"
|
|
119
|
+
Alchemy::EssenceRichtext.rebuild_index
|
|
120
|
+
puts "Completed Ferret Index Rebuild"
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
end
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# TODO: Refactor for Rails 3
|
|
2
|
+
namespace :alchemy do
|
|
3
|
+
namespace :upgrade do
|
|
4
|
+
|
|
5
|
+
desc "Removing unused files and directories"
|
|
6
|
+
task "cleanup" do
|
|
7
|
+
system('rm -rf vendor/plugins/webmate')
|
|
8
|
+
system('rm -rf public/plugin_assets/webmate')
|
|
9
|
+
system('rm config/initializers/fast_gettext.rb config/initializers/cache_storage.rb config/initializers/session_store.rb')
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
desc 'Writes a rake file into lib/tasks to make all the Alchemy plugins tasks available'
|
|
13
|
+
task 'write_rake_task' do
|
|
14
|
+
s = <<EOF
|
|
15
|
+
# Make all the Alchemy plugins tasks available
|
|
16
|
+
Dir.glob(File.dirname(__FILE__) + "/../../vendor/plugins/alchemy/plugins/**/tasks/*.rake").each do |rake_file|
|
|
17
|
+
import rake_file
|
|
18
|
+
end
|
|
19
|
+
EOF
|
|
20
|
+
File.open('lib/tasks/alchemy_plugins_tasks.rake', 'w') { |f| f.write(s)}
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
desc "Generates migration for upgrading the database."
|
|
24
|
+
task "generate_migration" do
|
|
25
|
+
system('script/generate migration upgrade_db_for_alchemy')
|
|
26
|
+
migration_file = Dir.glob("db/migrate/*_upgrade_db_for_alchemy.rb").first
|
|
27
|
+
s = <<EOF
|
|
28
|
+
class UpgradeDbForAlchemy < ActiveRecord::Migration
|
|
29
|
+
def self.up
|
|
30
|
+
|
|
31
|
+
# Removing unused tables
|
|
32
|
+
drop_table :wa_atom_checkboxes
|
|
33
|
+
drop_table :wa_atom_formtags
|
|
34
|
+
drop_table :wa_atom_galleries
|
|
35
|
+
drop_table :wa_atom_gallery_pictures
|
|
36
|
+
drop_table :wa_atom_molecule_selectors
|
|
37
|
+
drop_table :wa_atom_resetbuttons
|
|
38
|
+
drop_table :wa_atom_selectboxes
|
|
39
|
+
drop_table :wa_atom_submitbuttons
|
|
40
|
+
drop_table :wa_atom_text_bigs
|
|
41
|
+
drop_table :wa_atom_textareas
|
|
42
|
+
drop_table :wa_atom_textfields
|
|
43
|
+
drop_table :wa_gallery_images
|
|
44
|
+
drop_table :wa_atom_sitemaps
|
|
45
|
+
|
|
46
|
+
# renaming tables
|
|
47
|
+
rename_table :wa_pages, :pages
|
|
48
|
+
rename_table :wa_molecules, :elements
|
|
49
|
+
rename_table :wa_atoms, :contents
|
|
50
|
+
rename_table :wa_users, :users
|
|
51
|
+
rename_table :wa_images, :pictures
|
|
52
|
+
rename_table :wa_files, :attachments
|
|
53
|
+
rename_table :wa_foldeds, :folded_pages
|
|
54
|
+
rename_table :wa_molecules_wa_pages, :elements_pages
|
|
55
|
+
rename_table :wa_atom_texts, :essence_texts
|
|
56
|
+
rename_table :wa_atom_rtfs, :essence_richtexts
|
|
57
|
+
rename_table :wa_atom_pictures, :essence_pictures
|
|
58
|
+
rename_table :wa_atom_files, :essence_files
|
|
59
|
+
rename_table :wa_atom_htmls, :essence_htmls
|
|
60
|
+
rename_table :wa_atom_flashvideos, :essence_videos
|
|
61
|
+
rename_table :wa_atom_flashes, :essence_flashes
|
|
62
|
+
rename_table :wa_atom_dates, :essence_dates
|
|
63
|
+
rename_table :wa_atom_audios, :essence_audios
|
|
64
|
+
|
|
65
|
+
# renaming tables rows
|
|
66
|
+
rename_column :elements, :wa_page_id, :page_id
|
|
67
|
+
rename_column :elements_pages, :wa_molecule_id, :element_id
|
|
68
|
+
rename_column :elements_pages, :wa_page_id, :page_id
|
|
69
|
+
rename_column :folded_pages, :wa_user_id, :user_id
|
|
70
|
+
rename_column :folded_pages, :wa_page_id, :page_id
|
|
71
|
+
rename_column :contents, :wa_molecule_id, :element_id
|
|
72
|
+
rename_column :contents, :atom_id, :essence_id
|
|
73
|
+
rename_column :contents, :atom_type, :essence_type
|
|
74
|
+
rename_column :essence_pictures, :wa_image_id, :picture_id
|
|
75
|
+
rename_column :essence_files, :wa_file_id, :attachment_id
|
|
76
|
+
rename_column :essence_videos, :wa_file_id, :attachment_id
|
|
77
|
+
rename_column :essence_audios, :wa_file_id, :attachment_id
|
|
78
|
+
rename_column :essence_flashes, :wa_file_id, :attachment_id
|
|
79
|
+
rename_column :essence_texts, :content, :body
|
|
80
|
+
rename_column :essence_richtexts, :content, :body
|
|
81
|
+
rename_column :essence_richtexts, :stripped_content, :stripped_body
|
|
82
|
+
rename_column :pages, :systempage, :layoutpage
|
|
83
|
+
|
|
84
|
+
# Changing WaAtoms to Essences
|
|
85
|
+
execute("UPDATE contents SET essence_type = REPLACE(essence_type, 'WaAtom', 'Essence')")
|
|
86
|
+
execute("UPDATE contents SET essence_type = REPLACE(essence_type, 'EssenceRtf', 'EssenceRichtext')")
|
|
87
|
+
execute("UPDATE contents SET essence_type = REPLACE(essence_type, 'EssenceFlashvideo', 'EssenceVideo')")
|
|
88
|
+
|
|
89
|
+
# Renaming old userstamp columns to new userstamp columns
|
|
90
|
+
rename_column :essence_htmls, :content, :source
|
|
91
|
+
rename_column :pages, :created_by, :creator_id
|
|
92
|
+
rename_column :pages, :updated_by, :updater_id
|
|
93
|
+
|
|
94
|
+
# Adding userstamps to tables
|
|
95
|
+
add_column :essence_audios, :creator_id, :integer
|
|
96
|
+
add_column :essence_audios, :updater_id, :integer
|
|
97
|
+
add_column :attachments, :creator_id, :integer
|
|
98
|
+
add_column :attachments, :updater_id, :integer
|
|
99
|
+
add_column :contents, :creator_id, :integer
|
|
100
|
+
add_column :contents, :updater_id, :integer
|
|
101
|
+
add_column :essence_dates, :creator_id, :integer
|
|
102
|
+
add_column :essence_dates, :updater_id, :integer
|
|
103
|
+
add_column :essence_files, :creator_id, :integer
|
|
104
|
+
add_column :essence_files, :updater_id, :integer
|
|
105
|
+
add_column :essence_flashes, :creator_id, :integer
|
|
106
|
+
add_column :essence_flashes, :updater_id, :integer
|
|
107
|
+
add_column :essence_htmls, :creator_id, :integer
|
|
108
|
+
add_column :essence_htmls, :updater_id, :integer
|
|
109
|
+
add_column :essence_pictures, :creator_id, :integer
|
|
110
|
+
add_column :essence_pictures, :updater_id, :integer
|
|
111
|
+
add_column :essence_richtexts, :creator_id, :integer
|
|
112
|
+
add_column :essence_richtexts, :updater_id, :integer
|
|
113
|
+
add_column :essence_texts, :creator_id, :integer
|
|
114
|
+
add_column :essence_texts, :updater_id, :integer
|
|
115
|
+
add_column :essence_videos, :creator_id, :integer
|
|
116
|
+
add_column :essence_videos, :updater_id, :integer
|
|
117
|
+
add_column :pictures, :creator_id, :integer
|
|
118
|
+
add_column :pictures, :updater_id, :integer
|
|
119
|
+
add_column :elements, :creator_id, :integer
|
|
120
|
+
add_column :elements, :updater_id, :integer
|
|
121
|
+
add_column :users, :creator_id, :integer
|
|
122
|
+
add_column :users, :updater_id, :integer
|
|
123
|
+
|
|
124
|
+
# Adding columns
|
|
125
|
+
add_column :users, :gender, :string
|
|
126
|
+
|
|
127
|
+
execute("INSERT INTO schema_migrations SET version = '20100607143125-alchemy'")
|
|
128
|
+
execute("INSERT INTO schema_migrations SET version = '20100607144254-alchemy'")
|
|
129
|
+
execute("INSERT INTO schema_migrations SET version = '20100607145256-alchemy'")
|
|
130
|
+
execute("INSERT INTO schema_migrations SET version = '20100607145719-alchemy'")
|
|
131
|
+
execute("INSERT INTO schema_migrations SET version = '20100607150611-alchemy'")
|
|
132
|
+
execute("INSERT INTO schema_migrations SET version = '20100607150812-alchemy'")
|
|
133
|
+
execute("INSERT INTO schema_migrations SET version = '20100607153647-alchemy'")
|
|
134
|
+
execute("INSERT INTO schema_migrations SET version = '20100607161345-alchemy'")
|
|
135
|
+
execute("INSERT INTO schema_migrations SET version = '20100607162339-alchemy'")
|
|
136
|
+
execute("INSERT INTO schema_migrations SET version = '20100607193638-alchemy'")
|
|
137
|
+
execute("INSERT INTO schema_migrations SET version = '20100607193646-alchemy'")
|
|
138
|
+
execute("INSERT INTO schema_migrations SET version = '20100607193653-alchemy'")
|
|
139
|
+
execute("INSERT INTO schema_migrations SET version = '20100609111653-alchemy'")
|
|
140
|
+
execute("INSERT INTO schema_migrations SET version = '20100609111809-alchemy'")
|
|
141
|
+
execute("INSERT INTO schema_migrations SET version = '20100609111821-alchemy'")
|
|
142
|
+
execute("INSERT INTO schema_migrations SET version = '20100609111837-alchemy'")
|
|
143
|
+
execute("INSERT INTO schema_migrations SET version = '20100616150753-alchemy'")
|
|
144
|
+
execute("INSERT INTO schema_migrations SET version = '20100709163925-alchemy'")
|
|
145
|
+
execute("INSERT INTO schema_migrations SET version = '20100812085225-alchemy'")
|
|
146
|
+
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
def self.down
|
|
150
|
+
raise IrreversibleMigration
|
|
151
|
+
end
|
|
152
|
+
end
|
|
153
|
+
EOF
|
|
154
|
+
File.open(migration_file, 'w') { |f| f.write(s)}
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
desc "Updates the config/environment.rb file"
|
|
158
|
+
task "environment_file" do
|
|
159
|
+
s = <<EOF
|
|
160
|
+
RAILS_GEM_VERSION = '2.3.10' unless defined? RAILS_GEM_VERSION
|
|
161
|
+
|
|
162
|
+
require File.join(File.dirname(__FILE__), 'boot')
|
|
163
|
+
|
|
164
|
+
Rails::Initializer.run do |config|
|
|
165
|
+
config.gem 'acts_as_ferret', :version => '0.4.8.2'
|
|
166
|
+
config.gem 'authlogic', :version => '>=2.1.2'
|
|
167
|
+
config.gem 'awesome_nested_set', :version => '>=1.4.3'
|
|
168
|
+
config.gem 'declarative_authorization', :version => '>=0.4.1'
|
|
169
|
+
config.gem "fleximage", :version => ">=1.0.4"
|
|
170
|
+
config.gem 'fast_gettext', :version => '>=0.4.8'
|
|
171
|
+
config.gem 'gettext_i18n_rails', :version => '0.2.3'
|
|
172
|
+
config.gem 'gettext', :lib => false, :version => '>=1.9.3'
|
|
173
|
+
config.gem 'rmagick', :lib => "RMagick2", :version => '>=2.13.1'
|
|
174
|
+
config.gem 'jk-ferret', :version => '>=0.11.8.2', :lib => 'ferret'
|
|
175
|
+
config.gem 'will_paginate', :version => '2.3.15'
|
|
176
|
+
config.gem 'mimetype-fu', :version => '>=0.1.2', :lib => 'mimetype_fu'
|
|
177
|
+
config.autoload_paths += %W( vendor/plugins/alchemy/app/sweepers )
|
|
178
|
+
config.autoload_paths += %W( vendor/plugins/alchemy/app/middleware )
|
|
179
|
+
config.i18n.load_path += Dir[Rails.root.join('vendor/plugins/alchemy/config', 'locales', '*.{rb,yml}')]
|
|
180
|
+
config.time_zone = 'Berlin'
|
|
181
|
+
config.i18n.default_locale = :de
|
|
182
|
+
end
|
|
183
|
+
EOF
|
|
184
|
+
File.open('config/environment.rb', 'w') { |f| f.write(s)}
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
namespace :svn do
|
|
188
|
+
|
|
189
|
+
desc "Renaming files and folders for svn repository"
|
|
190
|
+
task "rename" do
|
|
191
|
+
system('svn rename config/webmate config/alchemy')
|
|
192
|
+
system('svn rename config/alchemy/molecules.yml config/alchemy/elements.yml')
|
|
193
|
+
system('svn rename app/views/wa_molecules app/views/elements')
|
|
194
|
+
system('svn rename app/views/layouts/wa_pages.html.erb app/views/layouts/pages.html.erb')
|
|
195
|
+
system('svn remove config/initializers/fast_gettext.rb config/initializers/cache_storage.rb')
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
desc "Commits everything into you svn repository"
|
|
199
|
+
task "commit" do
|
|
200
|
+
system("svn mkdir uploads")
|
|
201
|
+
system("svn propset svn:ignore '*' uploads/")
|
|
202
|
+
system("svn add lib/tasks/alchemy_plugins_tasks.rake")
|
|
203
|
+
system("svn add db/migrate/*")
|
|
204
|
+
system("svn commit -m 'upgraded to alchemy'")
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
end
|