pages_core 3.6.0 → 3.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -3
- data/Rakefile +3 -1
- data/app/assets/builds/pages_core/admin-dist.js +55 -0
- data/app/assets/stylesheets/pages/admin/components/forms.scss +20 -0
- data/app/assets/stylesheets/pages/admin/components/image_editor.scss +1 -0
- data/app/assets/stylesheets/pages/admin/components/image_grid.scss +33 -5
- data/app/assets/stylesheets/pages/admin/components/layout.scss +2 -1
- data/app/assets/stylesheets/pages/admin/components/login.scss +6 -0
- data/app/assets/stylesheets/pages/admin/components/tabs.scss +5 -0
- data/app/assets/stylesheets/pages/admin/components/tag_editor.scss +13 -7
- data/app/assets/stylesheets/pages/admin/controllers/pages.scss +13 -5
- data/app/assets/stylesheets/pages/admin.scss +0 -1
- data/app/assets/stylesheets/pages/errors.css +2 -0
- data/app/controller_dummies/admin/admin_controller.rb +3 -1
- data/app/controller_dummies/application_controller.rb +3 -1
- data/app/controller_dummies/attachments_controller.rb +3 -1
- data/app/controller_dummies/frontend_controller.rb +3 -1
- data/app/controller_dummies/images_controller.rb +3 -1
- data/app/controller_dummies/page_files_controller.rb +3 -1
- data/app/controller_dummies/pages_controller.rb +3 -1
- data/app/controller_dummies/sitemaps_controller.rb +3 -1
- data/app/controllers/admin/attachments_controller.rb +5 -3
- data/app/controllers/admin/categories_controller.rb +2 -0
- data/app/controllers/admin/images_controller.rb +16 -8
- data/app/controllers/admin/invites_controller.rb +4 -1
- data/app/controllers/admin/pages_controller.rb +9 -26
- data/app/controllers/admin/password_resets_controller.rb +9 -5
- data/app/controllers/admin/users_controller.rb +10 -4
- data/app/controllers/concerns/pages_core/admin/news_page_controller.rb +13 -11
- data/app/controllers/concerns/pages_core/admin/persistent_params.rb +75 -0
- data/app/controllers/concerns/pages_core/authentication.rb +13 -5
- data/app/controllers/concerns/pages_core/error_renderer.rb +3 -0
- data/app/controllers/concerns/pages_core/error_reporting.rb +36 -0
- data/app/controllers/concerns/pages_core/policies_helper.rb +4 -1
- data/app/controllers/concerns/pages_core/preview_pages_controller.rb +8 -0
- data/app/controllers/concerns/pages_core/process_titler.rb +2 -0
- data/app/controllers/concerns/pages_core/rss_controller.rb +2 -0
- data/app/controllers/concerns/pages_core/static_cache_controller.rb +48 -0
- data/app/controllers/errors_controller.rb +5 -53
- data/app/controllers/pages_core/admin_controller.rb +7 -67
- data/app/controllers/pages_core/attachments_controller.rb +10 -6
- data/app/controllers/pages_core/base_controller.rb +11 -17
- data/app/controllers/pages_core/frontend/page_files_controller.rb +6 -2
- data/app/controllers/pages_core/frontend/pages_controller.rb +14 -18
- data/app/controllers/pages_core/frontend_controller.rb +3 -0
- data/app/controllers/pages_core/images_controller.rb +3 -1
- data/app/controllers/pages_core/sitemaps_controller.rb +11 -5
- data/app/controllers/sessions_controller.rb +3 -1
- data/app/formatters/pages_core/html_formatter.rb +13 -63
- data/app/formatters/pages_core/image_embedder.rb +79 -0
- data/app/formatters/pages_core/link_renderer.rb +4 -2
- data/app/helpers/admin/admin_helper.rb +2 -0
- data/app/helpers/admin/menu_helper.rb +6 -4
- data/app/helpers/admin/pages_helper.rb +4 -57
- data/app/helpers/application_helper.rb +3 -1
- data/app/helpers/frontend_helper.rb +3 -1
- data/app/helpers/pages_core/admin/admin_helper.rb +22 -106
- data/app/helpers/pages_core/admin/content_tabs_helper.rb +31 -0
- data/app/helpers/pages_core/admin/date_range_helper.rb +55 -0
- data/app/helpers/pages_core/admin/form_builder.rb +8 -0
- data/app/helpers/pages_core/admin/image_uploads_helper.rb +47 -0
- data/app/helpers/pages_core/admin/labelled_field_helper.rb +12 -9
- data/app/helpers/pages_core/admin/page_blocks_helper.rb +66 -0
- data/app/helpers/pages_core/admin/page_json_helper.rb +23 -0
- data/app/helpers/pages_core/admin/tag_editor_helper.rb +11 -39
- data/app/helpers/pages_core/application_helper.rb +3 -0
- data/app/helpers/pages_core/attachments_helper.rb +31 -27
- data/app/helpers/pages_core/form_builder.rb +17 -13
- data/app/helpers/pages_core/frontend_helper.rb +3 -3
- data/app/helpers/pages_core/head_tags_helper.rb +18 -22
- data/app/helpers/pages_core/images_helper.rb +3 -0
- data/app/helpers/pages_core/meta_tags_helper.rb +3 -1
- data/app/helpers/pages_core/open_graph_tags_helper.rb +8 -6
- data/app/helpers/pages_core/page_path_helper.rb +24 -3
- data/app/javascript/admin-dist.js +2 -0
- data/app/javascript/components/Attachments/Attachment.jsx +121 -0
- data/app/javascript/components/Attachments/AttachmentEditor.jsx +116 -0
- data/app/javascript/components/Attachments/Placeholder.jsx +10 -0
- data/app/javascript/components/Attachments.jsx +165 -0
- data/app/{assets/javascripts/pages/admin/components/date_range_select.jsx → javascript/components/DateRangeSelect.jsx} +16 -5
- data/app/javascript/components/EditableImage.jsx +61 -0
- data/app/{assets/javascripts/pages/admin/components/file_upload_button.jsx → javascript/components/FileUploadButton.jsx} +11 -1
- data/app/{assets/javascripts/pages/admin/components/focal_point.jsx → javascript/components/ImageCropper/FocalPoint.jsx} +12 -1
- data/app/javascript/components/ImageCropper/Image.jsx +65 -0
- data/app/javascript/components/ImageCropper/Toolbar.jsx +73 -0
- data/app/javascript/components/ImageCropper/useCrop.js +199 -0
- data/app/javascript/components/ImageCropper.jsx +90 -0
- data/app/javascript/components/ImageEditor/Form.jsx +98 -0
- data/app/javascript/components/ImageEditor.jsx +62 -0
- data/app/javascript/components/ImageGrid/DragElement.jsx +30 -0
- data/app/javascript/components/ImageGrid/FilePlaceholder.jsx +9 -0
- data/app/javascript/components/ImageGrid/GridImage.jsx +103 -0
- data/app/javascript/components/ImageGrid/Placeholder.jsx +23 -0
- data/app/javascript/components/ImageGrid.jsx +257 -0
- data/app/javascript/components/ImageUploader.jsx +171 -0
- data/app/{assets/javascripts/pages/admin/components/modal.jsx → javascript/components/Modal.jsx} +13 -2
- data/app/javascript/components/ModalStore.jsx +12 -0
- data/app/{assets/javascripts/pages/admin/components/page_dates.jsx → javascript/components/PageDates.jsx} +11 -1
- data/app/{assets/javascripts/pages/admin/components/page_files.jsx → javascript/components/PageFiles.jsx} +11 -2
- data/app/{assets/javascripts/pages/admin/components/page_images.jsx → javascript/components/PageImages.jsx} +11 -2
- data/app/{assets/javascripts/pages/admin/components/page_tree_store.jsx → javascript/components/PageTree.jsx} +127 -137
- data/app/{assets/javascripts/pages/admin/components/page_tree.jsx → javascript/components/PageTreeDraggable.jsx} +44 -38
- data/app/{assets/javascripts/pages/admin/components/page_tree_node.jsx → javascript/components/PageTreeNode.jsx} +46 -31
- data/app/javascript/components/RichTextArea.jsx +213 -0
- data/app/javascript/components/RichTextToolbarButton.jsx +20 -0
- data/app/javascript/components/TagEditor/AddTagForm.jsx +42 -0
- data/app/javascript/components/TagEditor/Tag.jsx +32 -0
- data/app/javascript/components/TagEditor.jsx +61 -0
- data/app/javascript/components/Toast.jsx +72 -0
- data/app/javascript/components/ToastStore.jsx +14 -0
- data/app/javascript/components/drag/draggedOrder.js +51 -0
- data/app/javascript/components/drag/useDragCollection.js +84 -0
- data/app/javascript/components/drag/useDragUploader.js +112 -0
- data/app/javascript/components/drag/useDraggable.js +17 -0
- data/app/javascript/components/drag.js +6 -0
- data/app/javascript/components.js +14 -0
- data/app/javascript/controllers/EditPageController.js +20 -0
- data/app/javascript/controllers/LoginController.js +29 -0
- data/app/javascript/controllers/MainController.js +65 -0
- data/app/javascript/controllers/PageOptionsController.js +62 -0
- data/app/javascript/features/RichText.jsx +34 -0
- data/app/javascript/hooks.js +2 -0
- data/app/javascript/index.js +33 -0
- data/app/{assets/javascripts/pages/admin/lib/tree.jsx → javascript/lib/Tree.js} +64 -63
- data/app/javascript/lib/copyToClipboard.js +13 -0
- data/app/javascript/lib/readyHandler.js +22 -0
- data/app/javascript/lib/request.js +36 -0
- data/app/jobs/pages_core/autopublish_job.rb +3 -1
- data/app/jobs/pages_core/sweep_cache_job.rb +4 -2
- data/app/mailers/admin_mailer.rb +4 -14
- data/app/models/attachment.rb +10 -8
- data/app/models/autopublisher.rb +3 -0
- data/app/models/category.rb +3 -1
- data/app/models/concerns/pages_core/has_roles.rb +2 -0
- data/app/models/concerns/pages_core/humanizable_param.rb +9 -6
- data/app/models/concerns/pages_core/page_model/attachments.rb +2 -0
- data/app/models/concerns/pages_core/page_model/autopublishable.rb +2 -0
- data/app/models/concerns/pages_core/page_model/dated_page.rb +11 -11
- data/app/models/concerns/pages_core/page_model/images.rb +8 -2
- data/app/models/concerns/pages_core/page_model/localizable.rb +2 -0
- data/app/models/concerns/pages_core/page_model/pathable.rb +26 -25
- data/app/models/concerns/pages_core/page_model/redirectable.rb +3 -1
- data/app/models/concerns/pages_core/page_model/searchable.rb +19 -0
- data/app/models/concerns/pages_core/page_model/sortable.rb +6 -5
- data/app/models/concerns/pages_core/page_model/status.rb +2 -0
- data/app/models/concerns/pages_core/page_model/templateable.rb +7 -2
- data/app/models/concerns/pages_core/page_model/tree.rb +27 -20
- data/app/models/concerns/pages_core/searchable_document.rb +71 -0
- data/app/models/concerns/pages_core/sweepable.rb +4 -2
- data/app/models/concerns/pages_core/taggable.rb +33 -12
- data/app/models/image.rb +14 -1
- data/app/models/invite.rb +3 -1
- data/app/models/invite_role.rb +5 -3
- data/app/models/page.rb +6 -3
- data/app/models/page_builder.rb +2 -0
- data/app/models/page_category.rb +3 -1
- data/app/models/page_exporter.rb +23 -10
- data/app/models/page_file.rb +3 -1
- data/app/models/page_image.rb +3 -3
- data/app/models/page_path.rb +13 -5
- data/app/models/password_reset_token.rb +3 -1
- data/app/models/role.rb +9 -6
- data/app/models/search_document.rb +72 -0
- data/app/models/tag.rb +9 -6
- data/app/models/tagging.rb +4 -2
- data/app/models/user.rb +8 -5
- data/app/policies/invite_policy.rb +2 -0
- data/app/policies/page_file_policy.rb +2 -0
- data/app/policies/page_image_policy.rb +2 -0
- data/app/policies/page_policy.rb +2 -0
- data/app/policies/policy.rb +2 -0
- data/app/policies/user_policy.rb +2 -0
- data/app/{serializers/admin/attachment_serializer.rb → resources/admin/attachment_resource.rb} +10 -7
- data/app/{serializers/admin/image_serializer.rb → resources/admin/image_resource.rb} +13 -11
- data/app/resources/admin/page_file_resource.rb +10 -0
- data/app/resources/admin/page_image_resource.rb +10 -0
- data/app/resources/export/attachment_resource.rb +10 -0
- data/app/resources/export/page_image_resource.rb +45 -0
- data/app/resources/export/page_resource.rb +42 -0
- data/app/{serializers/page_image_serializer.rb → resources/page_image_resource.rb} +10 -16
- data/app/resources/page_resource.rb +33 -0
- data/app/services/pages_core/create_user_service.rb +5 -2
- data/app/services/pages_core/destroy_invite_service.rb +25 -0
- data/app/services/pages_core/invite_service.rb +4 -2
- data/app/views/admin/images/show.json.jbuilder +2 -0
- data/app/views/admin/pages/_edit_content.html.erb +1 -1
- data/app/views/admin/pages/_edit_files.html.erb +1 -5
- data/app/views/admin/pages/_edit_images.html.erb +1 -5
- data/app/views/admin/pages/_edit_metadata.html.erb +1 -12
- data/app/views/admin/pages/_edit_options.html.erb +74 -55
- data/app/views/admin/pages/_form.html.erb +19 -0
- data/app/views/admin/pages/edit.html.erb +35 -61
- data/app/views/admin/pages/index.html.erb +0 -1
- data/app/views/admin/pages/new.html.erb +32 -32
- data/app/views/admin/pages/news.html.erb +1 -1
- data/app/views/admin/users/_access_control.html.erb +5 -1
- data/app/views/admin/users/login.html.erb +12 -4
- data/app/views/errors/500.html.erb +2 -20
- data/app/views/errors/_generic_help.html.erb +1 -1
- data/app/views/feeds/pages.rss.builder +3 -2
- data/app/views/layouts/admin/_header.html.erb +1 -1
- data/app/views/layouts/admin/_page_header.html.erb +33 -0
- data/app/views/layouts/admin.html.erb +23 -42
- data/app/views/pages_core/_google_analytics.html.erb +8 -0
- data/app/views/sitemaps/show.xml.builder +2 -0
- data/config/routes.rb +5 -6
- data/db/migrate/20111219033112_create_pages_tables.rb +192 -271
- data/db/migrate/20180625154059_enable_search_extensions.rb +10 -0
- data/db/migrate/20210209151400_create_search_configurations.rb +35 -0
- data/db/migrate/20210210235200_create_search_documents.rb +74 -0
- data/lib/pages_core/admin_menu_item.rb +3 -0
- data/lib/pages_core/archive_finder.rb +12 -16
- data/lib/pages_core/attachment_embedder.rb +4 -6
- data/lib/pages_core/cache_sweeper.rb +10 -108
- data/lib/pages_core/configuration/base.rb +5 -0
- data/lib/pages_core/configuration/pages.rb +4 -2
- data/lib/pages_core/configuration.rb +2 -0
- data/lib/pages_core/digest_verifier.rb +5 -5
- data/lib/pages_core/engine.rb +53 -5
- data/lib/pages_core/extensions/string_extensions.rb +3 -1
- data/lib/pages_core/extensions.rb +2 -0
- data/lib/pages_core/page_path_constraint.rb +2 -0
- data/lib/pages_core/pages_plugin.rb +3 -1
- data/lib/pages_core/plugin.rb +4 -52
- data/lib/pages_core/pub_sub.rb +2 -0
- data/lib/pages_core/static_cache/null_handler.rb +17 -0
- data/lib/pages_core/static_cache/page_cache_handler.rb +56 -0
- data/lib/pages_core/static_cache/varnish_handler.rb +55 -0
- data/lib/pages_core/static_cache.rb +26 -0
- data/lib/pages_core/templates/block_configuration.rb +4 -1
- data/lib/pages_core/templates/configuration.rb +5 -1
- data/lib/pages_core/templates/configuration_handler.rb +5 -3
- data/lib/pages_core/templates/configuration_proxy.rb +2 -0
- data/lib/pages_core/templates/controller_actions.rb +2 -0
- data/lib/pages_core/templates/template_configuration.rb +20 -14
- data/lib/pages_core/templates.rb +5 -3
- data/lib/pages_core/version.rb +3 -1
- data/lib/pages_core.rb +13 -5
- data/lib/rails/generators/pages_core/frontend/frontend_generator.rb +2 -7
- data/lib/rails/generators/pages_core/install/install_generator.rb +3 -7
- data/lib/rails/generators/pages_core/install/templates/active_job_initializer.rb +2 -0
- data/lib/rails/generators/pages_core/install/templates/application_controller.rb +2 -0
- data/lib/rails/generators/pages_core/install/templates/application_helper.rb +2 -0
- data/lib/rails/generators/pages_core/install/templates/delayed_job +1 -0
- data/lib/rails/generators/pages_core/install/templates/delayed_job_initializer.rb +17 -0
- data/lib/rails/generators/pages_core/install/templates/frontend_controller.rb +2 -0
- data/lib/rails/generators/pages_core/install/templates/frontend_helper.rb +2 -0
- data/lib/rails/generators/pages_core/install/templates/gitignore.erb +12 -1
- data/lib/rails/generators/pages_core/install/templates/page_templates_initializer.rb +4 -2
- data/lib/rails/generators/pages_core/install/templates/pages_controller.rb +2 -0
- data/lib/rails/generators/pages_core/install/templates/pages_initializer.rb +2 -6
- data/lib/rails/generators/pages_core/rspec/rspec_generator.rb +18 -14
- data/lib/rails/generators/pages_core/rspec/templates/factories.rb +3 -8
- data/lib/rails/generators/pages_core/rspec/templates/mailer_macros.rb +2 -0
- data/lib/rails/generators/pages_core/rspec/templates/page_templates_spec.rb +26 -0
- data/lib/rails/generators/pages_core/rspec/templates/rails_helper.rb +91 -0
- data/lib/rails/generators/pages_core/rspec/templates/spec_helper.rb +89 -36
- data/lib/tasks/pages/cache.rake +8 -5
- data/lib/tasks/pages/export.rake +3 -1
- data/lib/tasks/pages/page_paths.rake +2 -0
- data/lib/tasks/pages.rake +3 -2
- data/template.rb +2 -0
- metadata +193 -156
- data/app/assets/javascripts/pages/admin/components/attachment.jsx +0 -130
- data/app/assets/javascripts/pages/admin/components/attachment_editor.jsx +0 -131
- data/app/assets/javascripts/pages/admin/components/attachments.jsx +0 -211
- data/app/assets/javascripts/pages/admin/components/drag_uploader.jsx +0 -174
- data/app/assets/javascripts/pages/admin/components/editable_image.jsx +0 -57
- data/app/assets/javascripts/pages/admin/components/grid_image.jsx +0 -124
- data/app/assets/javascripts/pages/admin/components/image_editor.jsx +0 -496
- data/app/assets/javascripts/pages/admin/components/image_grid.jsx +0 -301
- data/app/assets/javascripts/pages/admin/components/image_uploader.jsx +0 -171
- data/app/assets/javascripts/pages/admin/components/modal_store.jsx +0 -20
- data/app/assets/javascripts/pages/admin/components/rich_text_area.jsx +0 -63
- data/app/assets/javascripts/pages/admin/components/rich_text_toolbar.jsx +0 -58
- data/app/assets/javascripts/pages/admin/components/toast.jsx +0 -37
- data/app/assets/javascripts/pages/admin/components/toast_store.jsx +0 -52
- data/app/assets/javascripts/pages/admin/components.jsx +0 -2
- data/app/assets/javascripts/pages/admin/features/content_tabs.jsx +0 -72
- data/app/assets/javascripts/pages/admin/features/edit_page.jsx +0 -97
- data/app/assets/javascripts/pages/admin/features/rich_text.jsx +0 -14
- data/app/assets/javascripts/pages/admin/features/tag_editor.jsx +0 -160
- data/app/assets/javascripts/pages/admin.jsx +0 -17
- data/app/assets/javascripts/pages/login_form.jsx +0 -21
- data/app/controllers/concerns/pages_core/domain_based_cache.rb +0 -26
- data/app/serializers/admin/page_file_serializer.rb +0 -6
- data/app/serializers/admin/page_image_serializer.rb +0 -6
- data/app/serializers/page_export_serializer.rb +0 -30
- data/app/serializers/page_file_export_serializer.rb +0 -4
- data/app/serializers/page_image_export_serializer.rb +0 -40
- data/app/serializers/page_serializer.rb +0 -21
- data/app/views/admin_mailer/error_report.html.erb +0 -70
- data/app/views/errors/500_critical.html.erb +0 -7
- data/app/views/errors/report.html.erb +0 -4
- data/app/views/layouts/admin/_analytics.html.erb +0 -16
- data/config/removed_migrations.yml +0 -60
- data/db/migrate/20120627033112_rename_textbits.rb +0 -17
- data/db/migrate/20121010055412_drop_removed_tables.rb +0 -81
- data/db/migrate/20130130053932_add_queue_to_delayed_jobs.rb +0 -9
- data/db/migrate/20130303053932_remove_filter_from_localizations.rb +0 -9
- data/db/migrate/20130303160632_remove_imagesets.rb +0 -22
- data/db/migrate/20130303161732_remove_sms_subscribers.rb +0 -14
- data/db/migrate/20130823133208_update_page_redirect_to.rb +0 -10
- data/db/migrate/20140203183900_create_roles.rb +0 -66
- data/db/migrate/20140414150500_change_locale_names.rb +0 -11
- data/db/migrate/20140604142100_remove_openid_url.rb +0 -9
- data/db/migrate/20140920231700_convert_images_to_dis.rb +0 -81
- data/db/migrate/20140922124600_convert_page_files_to_dis.rb +0 -50
- data/db/migrate/20141004003100_create_password_reset_tokens.rb +0 -10
- data/db/migrate/20141006181300_remove_user_cruft.rb +0 -11
- data/db/migrate/20141007173000_create_invites.rb +0 -16
- data/db/migrate/20150204130800_update_delayed_job_table.rb +0 -9
- data/db/migrate/20150401131300_localize_images.rb +0 -38
- data/db/migrate/20150520174300_add_meta_image_to_page.rb +0 -5
- data/db/migrate/20150904164200_add_pinned_to_tags.rb +0 -5
- data/db/migrate/20151002174800_create_page_paths.rb +0 -10
- data/db/migrate/20151021103400_drop_binaries_table.rb +0 -7
- data/db/migrate/20151204151000_remove_page_content_order.rb +0 -5
- data/db/migrate/20160330220900_rename_pages_categories.rb +0 -6
- data/db/migrate/20160405202700_change_localization_limit.rb +0 -9
- data/db/migrate/20170716040500_remove_page_comments.rb +0 -23
- data/db/migrate/20170716213400_remove_sessions.rb +0 -15
- data/db/migrate/20180207134000_add_dates_to_pages.rb +0 -11
- data/db/migrate/20190211154800_create_attachments.rb +0 -73
- data/lib/rails/generators/pages_core/frontend/templates/application.js.erb +0 -15
- data/lib/rails/generators/pages_core/install/templates/cache_sweeper_initializer.rb +0 -6
- data/lib/tasks/pages/update.rake +0 -17
- data/vendor/assets/javascripts/ReactCrop.min.js +0 -1
- data/vendor/assets/javascripts/reflux.min.js +0 -1
@@ -1,72 +0,0 @@
|
|
1
|
-
var ContentTabs = {
|
2
|
-
tabs: [],
|
3
|
-
ids: [],
|
4
|
-
|
5
|
-
show: function(id, skipPushState) {
|
6
|
-
let tabs = ContentTabs.tabs;
|
7
|
-
let tab = tabs[id];
|
8
|
-
if (tab) {
|
9
|
-
$.each(ContentTabs.ids, function(i) {
|
10
|
-
if (tabs[this]) {
|
11
|
-
$(tabs[this]).hide();
|
12
|
-
}
|
13
|
-
$("#content-tab-link-" + this).removeClass("current");
|
14
|
-
});
|
15
|
-
$(tab).show();
|
16
|
-
$("#content-tab-link-" + id).addClass("current");
|
17
|
-
if (!skipPushState) {
|
18
|
-
history.pushState({ tabId: id }, "", `${window.location.pathname}#${id}`);
|
19
|
-
}
|
20
|
-
}
|
21
|
-
},
|
22
|
-
|
23
|
-
showFromURL: function(url) {
|
24
|
-
let tab_expression = /#(.*)$/;
|
25
|
-
if (url.toString().match(tab_expression)) {
|
26
|
-
let id = url.toString().match(tab_expression)[1];
|
27
|
-
if (ContentTabs.tabs[id]) {
|
28
|
-
ContentTabs.show(id);
|
29
|
-
}
|
30
|
-
}
|
31
|
-
},
|
32
|
-
|
33
|
-
enable: function(ids) {
|
34
|
-
let tabs = ContentTabs.tabs;
|
35
|
-
ContentTabs.ids = ids;
|
36
|
-
$.each(ids, function(i) {
|
37
|
-
let id = this;
|
38
|
-
return $("#content-tab-" + this).each(function(i) {
|
39
|
-
this.id = id;
|
40
|
-
return tabs[id] = this;
|
41
|
-
});
|
42
|
-
});
|
43
|
-
ContentTabs.show(ids[0], true);
|
44
|
-
ContentTabs.showFromURL(document.location);
|
45
|
-
},
|
46
|
-
|
47
|
-
init: function() {
|
48
|
-
if ($("#content-tabs").length > 0) {
|
49
|
-
window.addEventListener("popstate", (evt) => {
|
50
|
-
if (evt.state && evt.state.tabId) {
|
51
|
-
ContentTabs.show(evt.state.tabId);
|
52
|
-
}
|
53
|
-
});
|
54
|
-
|
55
|
-
let tabNames = $("#content-tabs li").map(function() {
|
56
|
-
return $(this).data("tab-name");
|
57
|
-
}).get();
|
58
|
-
ContentTabs.enable(tabNames);
|
59
|
-
$("#content-tabs a").each(function() {
|
60
|
-
$(this).click(function() {
|
61
|
-
ContentTabs.showFromURL(this.href);
|
62
|
-
return false;
|
63
|
-
});
|
64
|
-
});
|
65
|
-
}
|
66
|
-
window.showContentTab = ContentTabs.show;
|
67
|
-
}
|
68
|
-
};
|
69
|
-
|
70
|
-
$(function() {
|
71
|
-
ContentTabs.init();
|
72
|
-
});
|
@@ -1,97 +0,0 @@
|
|
1
|
-
class EditPage {
|
2
|
-
constructor(container) {
|
3
|
-
this.container = container;
|
4
|
-
this.toggleAdvancedOptions();
|
5
|
-
this.replicateFormElements();
|
6
|
-
this.checkPublishedStatus();
|
7
|
-
this.checkPublishedDate();
|
8
|
-
this.previewButton();
|
9
|
-
}
|
10
|
-
|
11
|
-
checkPublishedStatus() {
|
12
|
-
let checkStatus = function() {
|
13
|
-
var pageStatus = $("#page-form-sidebar #page_status").val();
|
14
|
-
if (pageStatus === "2") {
|
15
|
-
return $("#page-form-sidebar .published-date").fadeIn();
|
16
|
-
} else {
|
17
|
-
return $("#page-form-sidebar .published-date").hide();
|
18
|
-
}
|
19
|
-
};
|
20
|
-
$("#page-form-sidebar #page_status").change(checkStatus);
|
21
|
-
checkStatus();
|
22
|
-
}
|
23
|
-
|
24
|
-
checkPublishedDate() {
|
25
|
-
$(".autopublish-notice").hide();
|
26
|
-
let publishedAt = function(i) {
|
27
|
-
return $(`#page-form-sidebar select[name="page[published_at(${i}i)]"]`)
|
28
|
-
.val();
|
29
|
-
};
|
30
|
-
let checkDate = function() {
|
31
|
-
var year = publishedAt(1);
|
32
|
-
var month = publishedAt(2);
|
33
|
-
var day = publishedAt(3);
|
34
|
-
var hour = publishedAt(4);
|
35
|
-
var minute = publishedAt(5);
|
36
|
-
var publishDate = new Date(year, (month - 1), day, hour, minute);
|
37
|
-
var now = new Date();
|
38
|
-
if (publishDate > now) {
|
39
|
-
return $(".autopublish-notice").fadeIn();
|
40
|
-
} else {
|
41
|
-
return $(".autopublish-notice").fadeOut();
|
42
|
-
}
|
43
|
-
};
|
44
|
-
$(".published-date").find("select").change(checkDate);
|
45
|
-
checkDate();
|
46
|
-
}
|
47
|
-
|
48
|
-
previewButton() {
|
49
|
-
$("#previewButton").click(function() {
|
50
|
-
var button = this;
|
51
|
-
var form = $(button).closest("form").get(0);
|
52
|
-
var previewUrl = $(this).data('url');
|
53
|
-
|
54
|
-
// Rewrite the form and submit
|
55
|
-
form.oldAction = form.action;
|
56
|
-
form.target = "_blank";
|
57
|
-
form.action = previewUrl;
|
58
|
-
$(form).submit();
|
59
|
-
|
60
|
-
// Undo rewrite
|
61
|
-
form.action = form.oldAction;
|
62
|
-
form.target = "";
|
63
|
-
});
|
64
|
-
}
|
65
|
-
|
66
|
-
replicateFormElements() {
|
67
|
-
let replicateFormElement = function() {
|
68
|
-
var newValue = this;
|
69
|
-
$("#page-form").find("[name=\"" + newValue.name + "\"]")
|
70
|
-
.each(function() {
|
71
|
-
if (newValue.type === "checkbox") {
|
72
|
-
$(this).prop("checked", $(newValue).prop("checked"));
|
73
|
-
} else {
|
74
|
-
$(this).val($(newValue).val());
|
75
|
-
}
|
76
|
-
});
|
77
|
-
};
|
78
|
-
|
79
|
-
$("#page-form-sidebar")
|
80
|
-
.find("input,textarea,select")
|
81
|
-
.change(replicateFormElement);
|
82
|
-
}
|
83
|
-
|
84
|
-
toggleAdvancedOptions() {
|
85
|
-
let container = this.container;
|
86
|
-
$(container).find(".advanced-options").hide();
|
87
|
-
$(container).find(".advanced-toggle").click(function() {
|
88
|
-
return $(container).find(".advanced-options").slideToggle();
|
89
|
-
});
|
90
|
-
}
|
91
|
-
}
|
92
|
-
|
93
|
-
$(function () {
|
94
|
-
$('.edit-page').each(function() {
|
95
|
-
new EditPage(this)}
|
96
|
-
);
|
97
|
-
});
|
@@ -1,14 +0,0 @@
|
|
1
|
-
$(function() {
|
2
|
-
$('textarea.rich').each(function () {
|
3
|
-
let container = document.createElement("div");
|
4
|
-
this.parentNode.appendChild(container);
|
5
|
-
ReactDOM.render(
|
6
|
-
<RichTextArea value={this.value}
|
7
|
-
name={this.name}
|
8
|
-
rows={this.rows}
|
9
|
-
id={this.id} />,
|
10
|
-
container
|
11
|
-
);
|
12
|
-
this.parentNode.removeChild(this);
|
13
|
-
});
|
14
|
-
});
|
@@ -1,160 +0,0 @@
|
|
1
|
-
var TagEditor = function(container) {
|
2
|
-
this.initialize(container);
|
3
|
-
};
|
4
|
-
|
5
|
-
$.extend(TagEditor.prototype, {
|
6
|
-
initialize: function(container) {
|
7
|
-
var tagEditor = this;
|
8
|
-
tagEditor.container = container;
|
9
|
-
tagEditor.tags = Array();
|
10
|
-
tagEditor.serializeField = $(tagEditor.container).find('.serialized_tags').get(0);
|
11
|
-
tagEditor.findTags(true);
|
12
|
-
|
13
|
-
tagEditor.inputField = $(tagEditor.container).find('.add-tag').get(0);
|
14
|
-
$(tagEditor.container).find('.add-tag-button').click(function() {
|
15
|
-
tagEditor.addTag();
|
16
|
-
$(tagEditor.container).find('.add-tag').blur();
|
17
|
-
return false;
|
18
|
-
});
|
19
|
-
$(tagEditor.container).find('.add-tag').keydown(function(event) {
|
20
|
-
if (event.which === 13) {
|
21
|
-
tagEditor.addTag();
|
22
|
-
return false;
|
23
|
-
}
|
24
|
-
});
|
25
|
-
|
26
|
-
$(tagEditor.container).find('.add-tag').each(function(){
|
27
|
-
var field = this;
|
28
|
-
field.exampleText = $(field).val();
|
29
|
-
$(field).addClass('example');
|
30
|
-
$(field).focus(function(event){
|
31
|
-
$(tagEditor.container).find('.add-tag-button').fadeIn('fast');
|
32
|
-
$(field).removeClass('example');
|
33
|
-
if ($(field).val() === field.exampleText) {
|
34
|
-
$(field).val('');
|
35
|
-
}
|
36
|
-
});
|
37
|
-
$(field).blur(function(event) {
|
38
|
-
$(tagEditor.container).find('.add-tag-button').fadeOut('fast');
|
39
|
-
if (!$(field).val() || $(field).val() === field.exampleText) {
|
40
|
-
$(field).addClass('example').val(field.exampleText);
|
41
|
-
}
|
42
|
-
});
|
43
|
-
});
|
44
|
-
$(tagEditor.container).find('.add-tag-button').hide();
|
45
|
-
},
|
46
|
-
|
47
|
-
addTag: function() {
|
48
|
-
var tagEditor = this;
|
49
|
-
var tagName = $(tagEditor.inputField).val().replace(/^\s\s*/, '').replace(/\s\s*$/, '');
|
50
|
-
if (tagName) {
|
51
|
-
if (this.hasTag(tagName)) {
|
52
|
-
this.enable(this.getTagByName(tagName));
|
53
|
-
} else {
|
54
|
-
$(tagEditor.container).find('.tags').append('<span class="tag"><input type="checkbox" name="tag-'+tagName+'" value="1" checked="checked"><span class="name">'+tagName+'</span></span>');
|
55
|
-
tagEditor.findTags();
|
56
|
-
}
|
57
|
-
}
|
58
|
-
$(tagEditor.inputField).val('');
|
59
|
-
},
|
60
|
-
|
61
|
-
findTags: function(permanentize) {
|
62
|
-
var tagEditor = this;
|
63
|
-
$(this.container).find('.tag').each(function () {
|
64
|
-
var tag = this;
|
65
|
-
if (!tag.tagEditorApplied) {
|
66
|
-
tag.checkBox = $(tag).find('input[type=checkbox]').get(0);
|
67
|
-
tag.name = $(tag).find('.name').text();
|
68
|
-
if(tagEditor.isChecked(tag)){
|
69
|
-
tag.enabled = true;
|
70
|
-
$(tag).addClass('enabled');
|
71
|
-
} else {
|
72
|
-
tag.enabled = false;
|
73
|
-
}
|
74
|
-
$(tag).click(function () {
|
75
|
-
tagEditor.toggle(tag);
|
76
|
-
});
|
77
|
-
tagEditor.tags[tagEditor.tags.length] = tag;
|
78
|
-
tag.tagEditorApplied = true;
|
79
|
-
}
|
80
|
-
});
|
81
|
-
tagEditor.serializeTags();
|
82
|
-
},
|
83
|
-
|
84
|
-
hasTag: function(tagName) {
|
85
|
-
var hasTag = false;
|
86
|
-
$(this.tags).each(function () {
|
87
|
-
if (tagName.toLowerCase() === this.name.toLowerCase()) {
|
88
|
-
hasTag = true;
|
89
|
-
}
|
90
|
-
});
|
91
|
-
return hasTag;
|
92
|
-
},
|
93
|
-
|
94
|
-
setEnabled: function(tag, enabled) {
|
95
|
-
tag.enabled = enabled;
|
96
|
-
if (tag.enabled) {
|
97
|
-
$(tag).addClass('enabled');
|
98
|
-
} else {
|
99
|
-
$(tag).removeClass('enabled');
|
100
|
-
}
|
101
|
-
$(tag.checkBox).attr('checked', tag.enabled);
|
102
|
-
this.serializeTags();
|
103
|
-
},
|
104
|
-
|
105
|
-
toggle: function(tag) {
|
106
|
-
if (tag.enabled) {
|
107
|
-
this.disable(tag);
|
108
|
-
} else {
|
109
|
-
this.enable(tag);
|
110
|
-
}
|
111
|
-
},
|
112
|
-
|
113
|
-
enable: function(tag) {
|
114
|
-
this.setEnabled(tag, true);
|
115
|
-
},
|
116
|
-
|
117
|
-
disable: function(tag) {
|
118
|
-
this.setEnabled(tag, false);
|
119
|
-
},
|
120
|
-
|
121
|
-
getTagByName: function(tagName) {
|
122
|
-
var tag = null;
|
123
|
-
$(this.tags).each(function(){
|
124
|
-
if (this.name.toLowerCase() === tagName.toLowerCase()) {
|
125
|
-
tag = this;
|
126
|
-
}
|
127
|
-
});
|
128
|
-
return tag;
|
129
|
-
},
|
130
|
-
|
131
|
-
isChecked: function(tag) {
|
132
|
-
return $(tag.checkBox).attr('checked');
|
133
|
-
},
|
134
|
-
|
135
|
-
enabledTags: function() {
|
136
|
-
var enabledTags = Array();
|
137
|
-
$(this.tags).each(function() {
|
138
|
-
if (this.enabled) {
|
139
|
-
enabledTags[enabledTags.length] = this;
|
140
|
-
}
|
141
|
-
});
|
142
|
-
return enabledTags;
|
143
|
-
},
|
144
|
-
|
145
|
-
serializeTags: function() {
|
146
|
-
var tagNames = Array();
|
147
|
-
$(this.enabledTags()).each(function() {
|
148
|
-
tagNames[tagNames.length] = '"' + this.name.replace('"', '\\"') + '"';
|
149
|
-
});
|
150
|
-
$(this.serializeField).val('['+tagNames.join(', ')+']');
|
151
|
-
$(this.container).find('.add-tag').attr('disabled', false);
|
152
|
-
}
|
153
|
-
});
|
154
|
-
|
155
|
-
// Apply the tag editor to each instance
|
156
|
-
$(function() {
|
157
|
-
$('.tag-editor').each(function() {
|
158
|
-
this.tagEditor = new TagEditor(this);
|
159
|
-
});
|
160
|
-
});
|
@@ -1,17 +0,0 @@
|
|
1
|
-
// Gem assets
|
2
|
-
//= require jquery
|
3
|
-
//= require jquery_ujs
|
4
|
-
//= require jquery-ui
|
5
|
-
//= require react
|
6
|
-
//= require react_ujs
|
7
|
-
//= require reflux.min
|
8
|
-
|
9
|
-
// Vendored assets
|
10
|
-
//= require ReactCrop.min
|
11
|
-
|
12
|
-
//= require_self
|
13
|
-
//= require pages/login_form
|
14
|
-
//= require_tree ./admin/lib
|
15
|
-
|
16
|
-
//= require pages/admin/components
|
17
|
-
//= require_tree ./admin/features
|
@@ -1,21 +0,0 @@
|
|
1
|
-
$(function () {
|
2
|
-
$('.login-form').each(function () {
|
3
|
-
let container = this;
|
4
|
-
|
5
|
-
function showTab(tabName) {
|
6
|
-
$(container).find('.login-tab').hide();
|
7
|
-
$(container).find(`.login-tab.${tabName}`).show();
|
8
|
-
return false
|
9
|
-
}
|
10
|
-
|
11
|
-
$(container).find('.show-password').click(function () {
|
12
|
-
return showTab('password');
|
13
|
-
});
|
14
|
-
|
15
|
-
$(container).find('.show-password-reset').click(function () {
|
16
|
-
return showTab('password-reset');
|
17
|
-
});
|
18
|
-
|
19
|
-
showTab('password');
|
20
|
-
});
|
21
|
-
});
|
@@ -1,26 +0,0 @@
|
|
1
|
-
module PagesCore
|
2
|
-
module DomainBasedCache
|
3
|
-
extend ActiveSupport::Concern
|
4
|
-
|
5
|
-
included do
|
6
|
-
before_action :set_domain_based_cache_path
|
7
|
-
end
|
8
|
-
|
9
|
-
module ClassMethods
|
10
|
-
def default_page_cache_directory
|
11
|
-
@default_page_cache_directory ||=
|
12
|
-
ActionController::Base.page_cache_directory
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
protected
|
17
|
-
|
18
|
-
def set_domain_based_cache_path
|
19
|
-
return unless PagesCore.config(:domain_based_cache)
|
20
|
-
ActionController::Base.page_cache_directory = File.join(
|
21
|
-
ApplicationController.default_page_cache_directory,
|
22
|
-
request.domain
|
23
|
-
)
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
class PageExportSerializer < ActiveModel::Serializer
|
2
|
-
attributes :id, :path, :locale, :author_name, :status
|
3
|
-
attributes(*PagesCore::Templates::TemplateConfiguration.all_blocks)
|
4
|
-
attributes :created_at, :published_at, :pinned, :template, :redirect_to,
|
5
|
-
:starts_at, :ends_at, :all_day
|
6
|
-
|
7
|
-
has_one :image, serializer: PageImageExportSerializer
|
8
|
-
has_many :images, serializer: PageImageExportSerializer
|
9
|
-
has_many :page_files, serializer: PageFileExportSerializer
|
10
|
-
|
11
|
-
def author_name
|
12
|
-
object&.author&.name
|
13
|
-
end
|
14
|
-
|
15
|
-
def path
|
16
|
-
object.full_path || object.to_param
|
17
|
-
end
|
18
|
-
|
19
|
-
def image
|
20
|
-
object.page_images.where(primary: true).try(:first)
|
21
|
-
end
|
22
|
-
|
23
|
-
def images
|
24
|
-
object.page_images
|
25
|
-
end
|
26
|
-
|
27
|
-
def status
|
28
|
-
object.status_label
|
29
|
-
end
|
30
|
-
end
|
@@ -1,40 +0,0 @@
|
|
1
|
-
class PageImageExportSerializer < ActiveModel::Serializer
|
2
|
-
attributes :id, :primary, :content_hash, :content_type, :filename,
|
3
|
-
:alternative, :caption, :created_at
|
4
|
-
|
5
|
-
def id
|
6
|
-
object.image.id
|
7
|
-
end
|
8
|
-
|
9
|
-
def name
|
10
|
-
object.image.name
|
11
|
-
end
|
12
|
-
|
13
|
-
def alternative
|
14
|
-
object.image.alternative
|
15
|
-
end
|
16
|
-
|
17
|
-
def caption
|
18
|
-
object.image.caption
|
19
|
-
end
|
20
|
-
|
21
|
-
def content_hash
|
22
|
-
object.image.content_hash
|
23
|
-
end
|
24
|
-
|
25
|
-
def content_type
|
26
|
-
object.image.content_type
|
27
|
-
end
|
28
|
-
|
29
|
-
def filename
|
30
|
-
object.image.filename
|
31
|
-
end
|
32
|
-
|
33
|
-
def size
|
34
|
-
object.image.crop_size
|
35
|
-
end
|
36
|
-
|
37
|
-
def created_at
|
38
|
-
object.image.created_at
|
39
|
-
end
|
40
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
class PageSerializer < ActiveModel::Serializer
|
2
|
-
attributes :id, :param, :parent_page_id, :locale
|
3
|
-
attributes(*PagesCore::Templates::TemplateConfiguration.all_blocks)
|
4
|
-
attributes :published_at, :pinned
|
5
|
-
|
6
|
-
has_one :image
|
7
|
-
has_many :images
|
8
|
-
has_many :pages
|
9
|
-
|
10
|
-
def param
|
11
|
-
object.to_param
|
12
|
-
end
|
13
|
-
|
14
|
-
def image
|
15
|
-
object.page_images.where(primary: true).try(:first)
|
16
|
-
end
|
17
|
-
|
18
|
-
def images
|
19
|
-
object.page_images
|
20
|
-
end
|
21
|
-
end
|
@@ -1,70 +0,0 @@
|
|
1
|
-
<style type="text/css">
|
2
|
-
h3 {
|
3
|
-
margin-top: 20px;
|
4
|
-
margin-bottom: 10px;
|
5
|
-
font-size: 18px;
|
6
|
-
}
|
7
|
-
pre {
|
8
|
-
background: #eee;
|
9
|
-
border: 1px solid #ccc;
|
10
|
-
padding: 8px;
|
11
|
-
background: #f8f8f8;
|
12
|
-
}
|
13
|
-
table {
|
14
|
-
border-collapse: collapse;
|
15
|
-
}
|
16
|
-
td {
|
17
|
-
border: 1px solid #ccc;
|
18
|
-
padding: 4px 20px 4px 8px;
|
19
|
-
}
|
20
|
-
</style>
|
21
|
-
|
22
|
-
<table>
|
23
|
-
<tr>
|
24
|
-
<td><strong>Requested URL</strong></td>
|
25
|
-
<td><a href="<%= @error_report[:url] %>"><%= @error_report[:url] %></td>
|
26
|
-
</tr>
|
27
|
-
<tr>
|
28
|
-
<td><strong>Timestamp</strong></td>
|
29
|
-
<td><%= @error_report[:timestamp].to_s %></a></td>
|
30
|
-
</tr>
|
31
|
-
<tr>
|
32
|
-
<td><strong>Reported by</strong></td>
|
33
|
-
<td><a href="mailto:<%= @from %>"><%= @from %></a></td>
|
34
|
-
</tr>
|
35
|
-
<% if @error_report[:user] %>
|
36
|
-
<tr>
|
37
|
-
<td><strong>User account</strong></td>
|
38
|
-
<td>#<%= @error_report[:user].id %>: <a href="mailto:<%= @error_report[:user].email %>"><%= @error_report[:user].email %></a></td>
|
39
|
-
</tr>
|
40
|
-
<% end %>
|
41
|
-
</table>
|
42
|
-
|
43
|
-
<h3>Message</h3>
|
44
|
-
<pre><%= @error_report[:message].gsub('<', '<').gsub('>', '>') %></pre>
|
45
|
-
|
46
|
-
<% if @description && !@description.empty? %>
|
47
|
-
<h3>Description of error</h3>
|
48
|
-
<pre><%= @description %></pre>
|
49
|
-
<% end %>
|
50
|
-
|
51
|
-
<h3>Params</h3>
|
52
|
-
<pre><%= @error_report[:params].to_yaml %></pre>
|
53
|
-
|
54
|
-
<% if @error_report[:session] %>
|
55
|
-
<h3>Session data</h3>
|
56
|
-
<pre><%= @error_report[:session].to_yaml %></pre>
|
57
|
-
<% end %>
|
58
|
-
|
59
|
-
<h3>Backtrace</h3>
|
60
|
-
<pre><%= @error_report[:backtrace].join("\n") %></pre>
|
61
|
-
|
62
|
-
<h3>Environment</h3>
|
63
|
-
<table>
|
64
|
-
<% @error_report[:env].each do |key,value| %>
|
65
|
-
<tr>
|
66
|
-
<td><strong><%= key %></strong></td>
|
67
|
-
<td><%= (key == 'HTTP_COOKIE' ) ? value.split(/;[\s]*/).reject{|c| c =~ /^[\w\d]+_session=/}.join('<br />') : value %></td>
|
68
|
-
</tr>
|
69
|
-
<% end %>
|
70
|
-
</table>
|
@@ -1,16 +0,0 @@
|
|
1
|
-
<script type="text/javascript">
|
2
|
-
var _gaq = _gaq || [];
|
3
|
-
_gaq.push(['_setAccount', 'UA-5468672-21']);
|
4
|
-
_gaq.push(['_setDomainName', 'none']);
|
5
|
-
_gaq.push(['_setAllowLinker', true]);
|
6
|
-
_gaq.push(['_trackPageview']);
|
7
|
-
|
8
|
-
(function() {
|
9
|
-
var ga = document.createElement('script');
|
10
|
-
ga.type = 'text/javascript';
|
11
|
-
ga.async = true;
|
12
|
-
ga.src = 'https://ssl.google-analytics.com/ga.js';
|
13
|
-
var s = document.getElementsByTagName('script')[0];
|
14
|
-
s.parentNode.insertBefore(ga, s);
|
15
|
-
})();
|
16
|
-
</script>
|
@@ -1,60 +0,0 @@
|
|
1
|
-
---
|
2
|
-
- "20120823033112_pinned_pages.rb"
|
3
|
-
- "20121010055412_drop_newsletter_tables.rb"
|
4
|
-
- "20121011014712_drop_feeds.rb"
|
5
|
-
- "20121011020112_drop_accounts.rb"
|
6
|
-
- "20121011023512_drop_partials.rb"
|
7
|
-
- "20090114130552_create_sessions.rb"
|
8
|
-
- "20090114130553_add_tag_support.rb"
|
9
|
-
- "20090114130554_create_images.rb"
|
10
|
-
- "20090114130555_create_imagesets.rb"
|
11
|
-
- "20090114130556_create_feeds.rb"
|
12
|
-
- "20090114130557_create_users.rb"
|
13
|
-
- "20090114130558_create_textbits.rb"
|
14
|
-
- "20090114130559_create_pages.rb"
|
15
|
-
- "20090114130600_create_binaries.rb"
|
16
|
-
- "20090114130602_create_mail_subscribers.rb"
|
17
|
-
- "20090114130603_pages_published_at.rb"
|
18
|
-
- "20090114130604_create_page_fragments.rb"
|
19
|
-
- "20090114130605_add_page_image.rb"
|
20
|
-
- "20090114130606_add_sms_flag.rb"
|
21
|
-
- "20090114130607_image_binaries.rb"
|
22
|
-
- "20090114130608_image_title_to_name.rb"
|
23
|
-
- "20090114130609_drop_extra_binary_columns.rb"
|
24
|
-
- "20090114130610_update_users.rb"
|
25
|
-
- "20090114130611_create_user_logins.rb"
|
26
|
-
- "20090114130612_create_mailings.rb"
|
27
|
-
- "20090114130614_create_partials.rb"
|
28
|
-
- "20090114130615_create_accounts.rb"
|
29
|
-
- "20090114130616_add_reviewer_flag.rb"
|
30
|
-
- "20090114130617_add_indexes.rb"
|
31
|
-
- "20090114130618_update_accounts.rb"
|
32
|
-
- "20090114130619_create_page_comments.rb"
|
33
|
-
- "20090114130620_add_feed_item_fields.rb"
|
34
|
-
- "20090114130621_add_mail_subscriber_group.rb"
|
35
|
-
- "20090114130622_add_page_image_link.rb"
|
36
|
-
- "20090114130623_create_sms_subscriber.rb"
|
37
|
-
- "20090114130624_create_page_files.rb"
|
38
|
-
- "20090114130625_mailing_content_type.rb"
|
39
|
-
- "20090114130626_create_mailouts.rb"
|
40
|
-
- "20090114130627_add_newsletter_image.rb"
|
41
|
-
- "20090114130628_drop_cached_dynamic_images.rb"
|
42
|
-
- "20090114130629_create_categories.rb"
|
43
|
-
- "20090114130630_add_news_flag.rb"
|
44
|
-
- "20090211140305_cropped_images.rb"
|
45
|
-
- "20090212113806_autopublish_page.rb"
|
46
|
-
- "20090427131345_add_sphinx_deltas.rb"
|
47
|
-
- "20090515130917_page_unique_name.rb"
|
48
|
-
- "20090519161958_open_id_login.rb"
|
49
|
-
- "20091118121627_mailing_in_progress.rb"
|
50
|
-
- "20100205140826_mailout_recipients.rb"
|
51
|
-
- "20100205140827_delayed_jobs.rb"
|
52
|
-
- "20100212061701_dynamic_image_binary_objects.rb"
|
53
|
-
- "20100427180610_page_comments_counter_cache.rb"
|
54
|
-
- "20100428153152_page_has_been_published.rb"
|
55
|
-
- "20100802210833_misc_indexes.rb"
|
56
|
-
- "20101027020110_remove_user_logins.rb"
|
57
|
-
- "20111011182907_dynamic_image_add_original_binary_to_images.rb"
|
58
|
-
- "20111103122938_rename_page_images.rb"
|
59
|
-
- "20111104195653_remove_autopublish_at.rb"
|
60
|
-
- "20111219033112_image_updated_at.rb"
|