gluttonberg-core 2.6.4 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +29 -3
- data/Rakefile +32 -15
- data/app/assets/images/chosen-sprite-2x.png +0 -0
- data/app/assets/images/chosen-sprite.png +0 -0
- data/app/assets/images/{library/gb_sort_by_asc.png → gb_sort_by_asc.png} +0 -0
- data/app/assets/images/{library/gb_sort_by_desc.png → gb_sort_by_desc.png} +0 -0
- data/app/assets/javascripts/chosen-jquery-min.js +2 -0
- data/app/assets/javascripts/gb_360player.js +676 -0
- data/app/assets/javascripts/gb_application.js +708 -463
- data/app/assets/javascripts/gb_html5.js +9 -0
- data/app/assets/javascripts/gb_jeditable.js +356 -356
- data/app/assets/javascripts/gb_jquery-nestable.js +490 -0
- data/app/assets/javascripts/gb_utils.js +1808 -0
- data/app/assets/javascripts/gluttonberg.js +26 -0
- data/app/assets/javascripts/jcrop/css/gb_jquery-Jcrop.css +163 -31
- data/app/assets/javascripts/jcrop/js/jquery-Jcrop-min.js +19 -243
- data/app/assets/javascripts/jquery-1-10-1.js +6 -0
- data/app/assets/javascripts/jquery-ui-1-10-3.custom-min.js +6 -0
- data/app/assets/javascripts/jquery-validate.js +652 -718
- data/app/assets/javascripts/rails.js +372 -106
- data/app/assets/javascripts/redactormin.js +7348 -0
- data/app/assets/stylesheets/chosen.css +430 -0
- data/app/assets/stylesheets/gb_360player.css +2 -10
- data/app/assets/stylesheets/gb_admin-override.sass +466 -22
- data/app/assets/stylesheets/gb_bootstrap.css +7 -1
- data/app/assets/stylesheets/gluttonberg.css +17 -0
- data/app/assets/stylesheets/redactor.css +864 -0
- data/app/assets/stylesheets/user-styles.sass +0 -3
- data/app/controllers/gluttonberg/admin/asset_library/assets_ajax_controller.rb +65 -0
- data/app/controllers/gluttonberg/admin/asset_library/assets_bulk_controller.rb +47 -0
- data/app/controllers/gluttonberg/admin/asset_library/assets_controller.rb +43 -266
- data/app/controllers/gluttonberg/admin/asset_library/base_controller.rb +29 -0
- data/app/controllers/gluttonberg/admin/asset_library/collections_controller.rb +11 -37
- data/app/controllers/gluttonberg/admin/base_controller.rb +117 -178
- data/app/controllers/gluttonberg/admin/content/auto_save_controller.rb +63 -0
- data/app/controllers/gluttonberg/admin/content/flag_controller.rb +6 -6
- data/app/controllers/gluttonberg/admin/content/galleries_controller.rb +29 -37
- data/app/controllers/gluttonberg/admin/content/page_localizations_controller.rb +82 -49
- data/app/controllers/gluttonberg/admin/content/pages_controller.rb +59 -32
- data/app/controllers/gluttonberg/admin/main_controller.rb +77 -7
- data/app/controllers/gluttonberg/admin/membership/base_controller.rb +2 -1
- data/app/controllers/gluttonberg/admin/membership/groups_controller.rb +27 -33
- data/app/controllers/gluttonberg/admin/membership/main_controller.rb +3 -2
- data/app/controllers/gluttonberg/admin/membership/members_controller.rb +37 -42
- data/app/controllers/gluttonberg/admin/password_resets_controller.rb +16 -28
- data/app/controllers/gluttonberg/admin/settings/configurations_controller.rb +101 -0
- data/app/controllers/gluttonberg/admin/settings/embeds_controller.rb +79 -0
- data/app/controllers/gluttonberg/admin/settings/locales_controller.rb +22 -28
- data/app/controllers/gluttonberg/admin/settings/stylesheets_controller.rb +31 -36
- data/app/controllers/gluttonberg/admin/settings/users_controller.rb +45 -40
- data/app/controllers/gluttonberg/base_controller.rb +95 -0
- data/app/controllers/gluttonberg/public/base_controller.rb +104 -157
- data/app/controllers/gluttonberg/public/flag_controller.rb +2 -7
- data/app/controllers/gluttonberg/public/gallery_controller.rb +1 -0
- data/app/controllers/gluttonberg/public/member_password_resets_controller.rb +5 -17
- data/app/controllers/gluttonberg/public/members_controller.rb +5 -15
- data/app/controllers/gluttonberg/public/pages_controller.rb +25 -14
- data/app/controllers/gluttonberg/public/public_assets_controller.rb +4 -2
- data/app/helpers/gluttonberg/admin.rb +86 -368
- data/app/helpers/gluttonberg/admin/assets.rb +84 -0
- data/app/helpers/gluttonberg/admin/form.rb +159 -0
- data/app/helpers/gluttonberg/admin/messages.rb +32 -0
- data/app/helpers/gluttonberg/admin/versioning.rb +196 -0
- data/app/helpers/gluttonberg/application_helper.rb +34 -7
- data/app/helpers/gluttonberg/asset_library.rb +29 -254
- data/app/helpers/gluttonberg/content_helpers.rb +17 -69
- data/app/helpers/gluttonberg/deprecated.rb +24 -0
- data/app/helpers/gluttonberg/public.rb +51 -244
- data/app/helpers/gluttonberg/public/assets.rb +31 -0
- data/app/helpers/gluttonberg/public/cms_stylesheets.rb +35 -0
- data/app/helpers/gluttonberg/public/html_truncate.rb +74 -0
- data/app/helpers/gluttonberg/public/meta_tags.rb +27 -0
- data/app/helpers/gluttonberg/public/nav_tree.rb +99 -0
- data/app/helpers/gluttonberg/public/page_info.rb +168 -0
- data/app/mailer/gluttonberg/base_notifier.rb +25 -0
- data/app/mailer/member_notifier.rb +8 -20
- data/app/mailer/notifier.rb +14 -39
- data/app/models/ability.rb +48 -34
- data/app/models/flag.rb +7 -7
- data/app/models/gluttonberg/asset.rb +115 -166
- data/app/models/gluttonberg/asset_bulk_import.rb +70 -0
- data/app/models/gluttonberg/asset_category.rb +75 -29
- data/app/models/gluttonberg/asset_collection.rb +65 -12
- data/app/models/gluttonberg/asset_mime_type.rb +5 -0
- data/app/models/gluttonberg/asset_thumbnail.rb +6 -1
- data/app/models/gluttonberg/asset_type.rb +49 -38
- data/app/models/gluttonberg/audio_asset_attribute.rb +7 -3
- data/app/models/gluttonberg/authorization.rb +10 -0
- data/app/models/gluttonberg/auto_save.rb +32 -0
- data/app/models/gluttonberg/collapsed_page.rb +13 -0
- data/app/models/gluttonberg/embed.rb +13 -0
- data/app/models/gluttonberg/feed.rb +14 -5
- data/app/models/gluttonberg/gallery.rb +35 -9
- data/app/models/gluttonberg/gallery_image.rb +9 -2
- data/app/models/gluttonberg/group.rb +18 -2
- data/app/models/gluttonberg/html_content.rb +5 -1
- data/app/models/gluttonberg/image_content.rb +5 -1
- data/app/models/gluttonberg/locale.rb +28 -9
- data/app/models/gluttonberg/member.rb +48 -197
- data/app/models/gluttonberg/page.rb +78 -288
- data/app/models/gluttonberg/page_localization.rb +63 -66
- data/app/models/gluttonberg/plain_text_content.rb +6 -0
- data/app/models/gluttonberg/repeater.rb +30 -0
- data/app/models/gluttonberg/search.rb +96 -72
- data/app/models/gluttonberg/select_content.rb +12 -0
- data/app/models/gluttonberg/setting.rb +79 -29
- data/app/models/gluttonberg/sitemap.rb +1 -0
- data/app/models/gluttonberg/stylesheet.rb +12 -6
- data/app/models/gluttonberg/textarea_content.rb +14 -0
- data/app/models/gluttonberg/version.rb +9 -0
- data/app/models/user.rb +137 -13
- data/app/observers/gluttonberg/locale_observer.rb +33 -22
- data/app/observers/gluttonberg/page_localization_observer.rb +22 -12
- data/app/observers/gluttonberg/page_observer.rb +50 -35
- data/app/views/{gluttonberg/public/exceptions → exceptions}/access_denied.html.haml +0 -0
- data/app/views/{gluttonberg/public/exceptions → exceptions}/not_found.html.haml +0 -0
- data/app/views/gluttonberg/admin/asset_library/assets/_browser_root.html.haml +17 -12
- data/app/views/gluttonberg/admin/asset_library/assets/_form.html.haml +5 -7
- data/app/views/gluttonberg/admin/asset_library/assets/browser.html.haml +5 -5
- data/app/views/gluttonberg/admin/asset_library/assets/show.html.haml +13 -7
- data/app/views/gluttonberg/admin/asset_library/assets/show.json.rabl +3 -0
- data/app/views/gluttonberg/admin/asset_library/{assets → assets_ajax}/browser_collection.json.haml +0 -0
- data/app/views/gluttonberg/admin/asset_library/{assets → assets_bulk}/add_assets_in_bulk.html.haml +6 -20
- data/app/views/gluttonberg/admin/asset_library/{assets → assets_bulk}/create_assets_in_bulk.html.haml +0 -0
- data/app/views/gluttonberg/admin/asset_library/collections/_form.html.haml +8 -5
- data/app/views/gluttonberg/admin/asset_library/shared/_asset_browser.html.haml +34 -0
- data/app/views/gluttonberg/admin/asset_library/shared/_asset_panels.html.haml +15 -11
- data/app/views/gluttonberg/admin/content/editors/_html_content.html.haml +2 -2
- data/app/views/gluttonberg/admin/content/editors/_select_content.html.haml +7 -0
- data/app/views/gluttonberg/admin/content/editors/_textarea_content.html.haml +6 -0
- data/app/views/gluttonberg/admin/content/flag/index.html.haml +48 -39
- data/app/views/gluttonberg/admin/content/galleries/_form.html.haml +46 -9
- data/app/views/gluttonberg/admin/content/galleries/_image_repeater.html.haml +30 -0
- data/app/views/gluttonberg/admin/content/galleries/edit.html.haml +1 -12
- data/app/views/gluttonberg/admin/content/galleries/index.html.haml +18 -9
- data/app/views/gluttonberg/admin/content/galleries/new.html.haml +1 -1
- data/app/views/gluttonberg/admin/content/main/_sidebar.html.haml +28 -16
- data/app/views/gluttonberg/admin/content/page_localizations/_form.html.haml +11 -20
- data/app/views/gluttonberg/admin/content/page_localizations/edit.html.haml +7 -0
- data/app/views/gluttonberg/admin/content/pages/_form.html.haml +11 -4
- data/app/views/gluttonberg/admin/content/pages/_page_settings.html.haml +4 -7
- data/app/views/gluttonberg/admin/content/pages/_row.html.haml +38 -30
- data/app/views/gluttonberg/admin/content/pages/index.html.haml +23 -15
- data/app/views/gluttonberg/admin/content/pages/pages_list_for_tinymce.html.haml +14 -3
- data/app/views/gluttonberg/admin/content/pages/show.html.haml +1 -1
- data/app/views/gluttonberg/admin/main/index.html.haml +13 -12
- data/app/views/gluttonberg/admin/main/waiting_for_approval.html.haml +33 -0
- data/app/views/gluttonberg/admin/membership/groups/index.html.haml +5 -5
- data/app/views/gluttonberg/admin/membership/members/_form.html.haml +3 -1
- data/app/views/gluttonberg/admin/membership/members/edit.html.haml +1 -0
- data/app/views/gluttonberg/admin/membership/members/index.html.haml +1 -1
- data/app/views/gluttonberg/admin/password_resets/edit.html.haml +36 -16
- data/app/views/gluttonberg/admin/password_resets/new.html.haml +19 -11
- data/app/views/gluttonberg/admin/settings/configurations/_form.html.haml +28 -0
- data/app/views/gluttonberg/admin/settings/configurations/_settings_table.html.haml +42 -0
- data/app/views/gluttonberg/admin/settings/{generic_settings → configurations}/_value_tag.html.haml +0 -0
- data/app/views/gluttonberg/admin/settings/configurations/edit.html.haml +4 -0
- data/app/views/gluttonberg/admin/settings/configurations/index.html.haml +31 -0
- data/app/views/gluttonberg/admin/settings/{generic_settings → configurations}/new.html.haml +2 -2
- data/app/views/gluttonberg/admin/settings/embeds/_form.html.haml +19 -0
- data/app/views/gluttonberg/admin/settings/embeds/edit.html.haml +12 -0
- data/app/views/gluttonberg/admin/settings/embeds/index.html.haml +36 -0
- data/app/views/gluttonberg/admin/settings/embeds/list_for_redactor.html.haml +29 -0
- data/app/views/gluttonberg/admin/settings/embeds/new.html.haml +12 -0
- data/app/views/gluttonberg/admin/settings/locales/edit.html.haml +9 -1
- data/app/views/gluttonberg/admin/settings/locales/index.html.haml +2 -1
- data/app/views/gluttonberg/admin/settings/locales/new.html.haml +10 -1
- data/app/views/gluttonberg/admin/settings/main/_sidebar.html.haml +9 -7
- data/app/views/gluttonberg/admin/settings/stylesheets/_form.html.haml +11 -9
- data/app/views/gluttonberg/admin/settings/stylesheets/edit.html.haml +11 -2
- data/app/views/gluttonberg/admin/settings/stylesheets/index.html.haml +45 -36
- data/app/views/gluttonberg/admin/settings/stylesheets/new.html.haml +11 -2
- data/app/views/gluttonberg/admin/settings/users/_form.html.haml +29 -18
- data/app/views/gluttonberg/admin/settings/users/index.html.haml +1 -1
- data/app/views/gluttonberg/admin/shared/_asset_panel.html.haml +19 -4
- data/app/views/gluttonberg/admin/shared/_auto_save_version.html.haml +12 -0
- data/app/views/gluttonberg/admin/shared/_datetime_field.html.haml +19 -0
- data/app/views/gluttonberg/admin/shared/_previous_version_warning.html.haml +5 -0
- data/app/views/gluttonberg/admin/shared/_version_alerts.html.haml +34 -0
- data/app/views/gluttonberg/admin/shared/_version_dashboard_notifications.html.haml +11 -0
- data/app/views/gluttonberg/admin/shared/_version_listing.html.haml +23 -0
- data/app/views/gluttonberg/admin/shared/delete.html.haml +21 -48
- data/app/views/gluttonberg/admin/shared/generic.html.haml +20 -19
- data/app/views/gluttonberg/admin/user_sessions/new.html.haml +14 -9
- data/app/views/gluttonberg/public/member_password_resets/edit.html.haml +2 -0
- data/app/views/gluttonberg/public/member_password_resets/new.html.haml +3 -0
- data/app/views/gluttonberg/public/members/_form.html.haml +3 -0
- data/app/views/gluttonberg/public/members/edit.html.haml +7 -9
- data/app/views/gluttonberg/public/members/show.html.haml +1 -3
- data/app/views/gluttonberg/public/pages/restrict_site_access.html.haml +3 -4
- data/app/views/gluttonberg/public/shared/_gallery_images_lis.html.haml +9 -0
- data/app/views/layouts/_flash_messages.html.haml +5 -3
- data/app/views/layouts/bare.html.haml +8 -17
- data/app/views/layouts/gluttonberg.html.haml +37 -44
- data/app/views/notifier/version_declined.html.haml +21 -0
- data/config/locales/en_au.yml +1 -1
- data/config/locales/en_gb.yml +2 -1
- data/config/routes.rb +70 -85
- data/db/migrate/20130801050257_create_repeater.rb +14 -0
- data/lib/audio_job.rb +11 -9
- data/lib/engine.rb +115 -72
- data/lib/generators/gluttonberg/resource/resource_generator.rb +51 -41
- data/lib/generators/gluttonberg/resource/templates/admin_controller.rb +16 -11
- data/lib/generators/gluttonberg/resource/templates/backend_view_edit.html.haml +7 -2
- data/lib/generators/gluttonberg/resource/templates/backend_view_form.html.haml +3 -14
- data/lib/generators/gluttonberg/resource/templates/backend_view_import.html.haml +10 -7
- data/lib/generators/gluttonberg/resource/templates/backend_view_index.html.haml +6 -5
- data/lib/generators/gluttonberg/resource/templates/backend_view_show.html.haml +2 -2
- data/lib/generators/gluttonberg/resource/templates/migration.rb +12 -1
- data/lib/generators/gluttonberg/resource/templates/model.rb +18 -1
- data/lib/generators/gluttonberg/resource/templates/public_view_index.html.haml +27 -10
- data/lib/generators/gluttonberg/resource/templates/public_view_show.html.haml +10 -4
- data/lib/gluttonberg.rb +68 -37
- data/lib/gluttonberg/can_flag.rb +64 -76
- data/lib/gluttonberg/components.rb +47 -24
- data/lib/gluttonberg/content.rb +15 -0
- data/lib/gluttonberg/content/block.rb +99 -85
- data/lib/gluttonberg/content/block_localization.rb +11 -8
- data/lib/gluttonberg/content/clean_html.rb +12 -15
- data/lib/gluttonberg/content/default_template_file.rb +44 -0
- data/lib/gluttonberg/content/despamilator/filter/naughty_words.rb +4 -2
- data/lib/gluttonberg/content/home_page_info.rb +39 -0
- data/lib/gluttonberg/content/import_export_csv.rb +243 -130
- data/lib/gluttonberg/content/localization.rb +137 -148
- data/lib/gluttonberg/content/page_children.rb +36 -0
- data/lib/gluttonberg/content/page_components.rb +23 -0
- data/lib/gluttonberg/content/page_description_info.rb +55 -0
- data/lib/gluttonberg/content/page_duplicate.rb +68 -0
- data/lib/gluttonberg/content/page_finder.rb +63 -0
- data/lib/gluttonberg/content/page_localization_slug.rb +89 -0
- data/lib/gluttonberg/content/page_repairer.rb +117 -0
- data/lib/gluttonberg/content/publishable.rb +77 -71
- data/lib/gluttonberg/content/slug_management.rb +74 -26
- data/lib/gluttonberg/content/validations.rb +58 -0
- data/lib/gluttonberg/content/versioning.rb +40 -22
- data/lib/gluttonberg/drag_tree.rb +0 -1
- data/lib/gluttonberg/drag_tree/action_controller.rb +49 -37
- data/lib/gluttonberg/drag_tree/action_view.rb +0 -6
- data/lib/gluttonberg/drag_tree/active_record.rb +49 -49
- data/lib/gluttonberg/extensions.rb +1 -0
- data/lib/gluttonberg/extensions/string.rb +20 -0
- data/lib/gluttonberg/gb_file.rb +30 -0
- data/lib/gluttonberg/helpers/form_builder.rb +91 -38
- data/lib/gluttonberg/library.rb +9 -90
- data/lib/gluttonberg/library/attachment_mixin.rb +88 -98
- data/lib/gluttonberg/library/config/image_sizes.rb +22 -19
- data/lib/gluttonberg/library/default_asset_types.rb +104 -0
- data/lib/gluttonberg/library/processor/audio.rb +32 -16
- data/lib/gluttonberg/library/processor/image.rb +78 -69
- data/lib/gluttonberg/library/quick_magick/image.rb +72 -319
- data/lib/gluttonberg/library/quick_magick/image/draw.rb +133 -0
- data/lib/gluttonberg/library/quick_magick/image/operators_and_settings.rb +78 -0
- data/lib/gluttonberg/library/quick_magick/image/serialization.rb +79 -0
- data/lib/gluttonberg/library/quick_magick/image_list.rb +0 -1
- data/lib/gluttonberg/library/storage/filesystem.rb +45 -46
- data/lib/gluttonberg/library/storage/s3.rb +123 -119
- data/lib/gluttonberg/membership.rb +9 -0
- data/lib/gluttonberg/membership/export.rb +82 -0
- data/lib/gluttonberg/membership/import.rb +179 -0
- data/lib/gluttonberg/middleware/honeypot.rb +1 -2
- data/lib/gluttonberg/middleware/locales.rb +69 -18
- data/lib/gluttonberg/middleware/rewriter.rb +57 -16
- data/lib/gluttonberg/mixin_manager.rb +19 -0
- data/lib/gluttonberg/page_description.rb +82 -112
- data/lib/gluttonberg/random_string_generator.rb +31 -0
- data/lib/gluttonberg/record_history.rb +5 -7
- data/lib/gluttonberg/tasks/asset.rake +19 -8
- data/lib/gluttonberg/tasks/gluttonberg.rake +167 -13
- data/lib/gluttonberg/templates.rb +1 -3
- data/lib/gluttonberg/version.rb +1 -1
- data/lib/photo_job.rb +16 -0
- data/spec/controllers/auto_save_controller_spec.rb +57 -0
- data/spec/controllers/record_history_spec.rb +75 -0
- data/spec/dummy/README.rdoc +261 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/assets/javascripts/application.js +15 -0
- data/spec/dummy/app/assets/stylesheets/application.css +13 -0
- data/spec/dummy/app/controllers/admin/staff_profiles_controller.rb +56 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/models/staff_profile.rb +20 -0
- data/spec/dummy/app/models/vendor_mixin.rb +14 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +18 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/database.yml +8 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +37 -0
- data/spec/dummy/config/environments/production.rb +67 -0
- data/spec/dummy/config/environments/test.rb +37 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/gluttonberg_advance_settings.rb +73 -0
- data/spec/dummy/config/initializers/gluttonberg_basic_settings.rb +65 -0
- data/spec/dummy/config/initializers/gluttonberg_menu_settings.rb +1 -0
- data/spec/dummy/config/initializers/inflections.rb +15 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/{lib/generators/gluttonberg/installer/templates → spec/dummy/config}/page_descriptions.rb +103 -65
- data/spec/dummy/config/routes.rb +10 -0
- data/spec/dummy/db/20130625060411_create_staff_profile.rb +35 -0
- data/spec/dummy/db/schema.rb +474 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +25 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/dummy/tmp/cache/041/891/setting_library_number_of_recent_assets +0 -0
- data/spec/dummy/tmp/cache/08E/741/setting_comment_number_of_emails_allowed +0 -0
- data/spec/dummy/tmp/cache/580/D10/setting_title +0 -0
- data/spec/dummy/tmp/cache/62E/160/setting_fb_icon +0 -0
- data/spec/dummy/tmp/cache/6D6/FB0/setting_keywords +0 -0
- data/spec/dummy/tmp/cache/6D8/B60/setting_s3_key_id +0 -0
- data/spec/dummy/tmp/cache/6E1/A40/setting_s3_bucket +0 -0
- data/spec/dummy/tmp/cache/779/DF0/setting_from_email +0 -0
- data/spec/dummy/tmp/cache/7C5/450/setting_title_site1 +0 -0
- data/spec/dummy/tmp/cache/7C6/460/setting_title_site2 +0 -0
- data/spec/dummy/tmp/cache/802/000/setting_description +0 -0
- data/spec/dummy/tmp/cache/836/DD0/setting_backend_logo +0 -0
- data/spec/dummy/tmp/cache/862/FA0/setting_audio_assets +1 -0
- data/spec/dummy/tmp/cache/867/4E0/setting_video_assets +0 -0
- data/spec/dummy/tmp/cache/867/710/setting_enable_WYSIWYG +0 -0
- data/spec/dummy/tmp/cache/873/9E0/setting_fb_icon_site1 +0 -0
- data/spec/dummy/tmp/cache/874/9F0/setting_fb_icon_site2 +0 -0
- data/spec/dummy/tmp/cache/87D/A10/setting_s3_access_key +0 -0
- data/spec/dummy/tmp/cache/8AC/280/setting_s3_server_url +0 -0
- data/spec/dummy/tmp/cache/91B/730/setting_keywords_site1 +0 -0
- data/spec/dummy/tmp/cache/91C/740/setting_keywords_site2 +0 -0
- data/spec/dummy/tmp/cache/933/980/setting_auto_save_time +0 -0
- data/spec/dummy/tmp/cache/9BE/290/setting_from_email_site1 +0 -0
- data/spec/dummy/tmp/cache/9BF/2A0/setting_from_email_site2 +0 -0
- data/spec/dummy/tmp/cache/A02/5E0/setting_google_analytics +0 -0
- data/spec/dummy/tmp/cache/A47/800/setting_description_site1 +0 -0
- data/spec/dummy/tmp/cache/A48/810/setting_description_site2 +0 -0
- data/spec/dummy/tmp/cache/A69/B60/setting_comment_blacklist +0 -0
- data/spec/dummy/tmp/cache/B5C/D40/setting_number_of_revisions +0 -0
- data/spec/dummy/tmp/cache/BB3/350/setting_restrict_site_access +0 -0
- data/spec/dummy/tmp/cache/BB7/620/setting_comment_notification +0 -0
- data/spec/dummy/tmp/cache/BFB/140/setting_comment_email_as_spam +0 -0
- data/spec/dummy/tmp/cache/C47/DE0/setting_google_analytics_site1 +0 -0
- data/spec/dummy/tmp/cache/C48/DF0/setting_google_analytics_site2 +0 -0
- data/spec/dummy/tmp/cache/D3E/E20/setting_number_of_per_page_items +0 -0
- data/spec/dummy/tmp/cache/DF8/DB0/setting_restrict_site_access_site1 +0 -0
- data/spec/dummy/tmp/cache/DF9/DC0/setting_restrict_site_access_site2 +0 -0
- data/spec/dummy/tmp/cache/DFC/200/setting_comment_notification_site1 +0 -0
- data/spec/dummy/tmp/cache/DFD/210/setting_comment_notification_site2 +0 -0
- data/spec/dummy/tmp/cache/FD9/200/setting_comment_number_of_urls_allowed +0 -0
- data/spec/fixtures/assets/assets_import.zip +0 -0
- data/spec/fixtures/assets/audio.mp3 +0 -0
- data/spec/fixtures/assets/c3-add-interactive.mov +0 -0
- data/spec/fixtures/assets/gb_banner.jpg +0 -0
- data/spec/fixtures/assets/gb_logo.png +0 -0
- data/spec/fixtures/assets/high_res_photo.jpg +0 -0
- data/spec/fixtures/assets/untitled +0 -0
- data/spec/fixtures/members.csv +5 -0
- data/spec/fixtures/staff_profiles.csv +4 -0
- data/spec/helpers/public/assets_spec.rb +73 -0
- data/spec/helpers/public/content_helpers_spec.rb +71 -0
- data/spec/helpers/public/html_truncate_spec.rb +37 -0
- data/spec/helpers/public/meta_tags_spec.rb +29 -0
- data/spec/helpers/public/page_info_spec.rb +233 -0
- data/spec/helpers/public_spec.rb +114 -0
- data/spec/lib/content/import_export_csv_spec.rb +177 -0
- data/spec/lib/content/localization_spec.rb +107 -0
- data/spec/lib/content/page_finder_spec.rb +71 -0
- data/spec/lib/content/page_repairer_spec.rb +151 -0
- data/spec/lib/content/publishable_spec.rb +54 -0
- data/spec/lib/content/validations_spec.rb +88 -0
- data/spec/lib/drag_tree/action_controller_spec.rb +137 -0
- data/spec/lib/drag_tree/active_record_spec.rb +86 -0
- data/spec/lib/library/s3_rspec.rb +78 -0
- data/spec/lib/membership/export_spec.rb +89 -0
- data/spec/lib/membership/import_spec.rb +68 -0
- data/spec/lib/middleware/locales_spec.rb +192 -0
- data/spec/lib/middleware/rewriter_spec.rb +186 -0
- data/spec/lib/page_description_spec.rb +68 -0
- data/spec/mailers/member_notifier_spec.rb +140 -0
- data/spec/mailers/notifier_spec.rb +86 -0
- data/spec/models/asset_bulk_import_spec.rb +43 -0
- data/spec/models/asset_category_spec.rb +77 -0
- data/spec/models/asset_collection_spec.rb +72 -0
- data/spec/models/asset_spec.rb +278 -0
- data/spec/models/asset_type_spec.rb +109 -0
- data/spec/models/member_spec.rb +128 -0
- data/spec/models/page_localization_spec.rb +81 -0
- data/spec/models/page_spec.rb +221 -0
- data/spec/models/setting_spec.rb +49 -0
- data/spec/models/user_spec.rb +385 -0
- data/spec/observers/locale_observer_spec.rb +79 -0
- data/spec/observers/page_localization_observer_spec.rb +87 -0
- data/spec/observers/page_observer_spec.rb +130 -0
- data/spec/spec_helper.rb +90 -0
- metadata +508 -331
- data/app/assets/images/gb_360-button-pause-light.gif +0 -0
- data/app/assets/images/gb_360-button-pause-light.png +0 -0
- data/app/assets/images/gb_360-button-pause.gif +0 -0
- data/app/assets/images/gb_360-button-pause.png +0 -0
- data/app/assets/images/gb_360-button-play-light.gif +0 -0
- data/app/assets/images/gb_360-button-play-light.png +0 -0
- data/app/assets/images/gb_360-button-play.gif +0 -0
- data/app/assets/images/gb_360-button-play.png +0 -0
- data/app/assets/images/gb_360-button-vis-pause-light.gif +0 -0
- data/app/assets/images/gb_360-button-vis-pause-light.png +0 -0
- data/app/assets/images/gb_360-button-vis-pause.gif +0 -0
- data/app/assets/images/gb_360-button-vis-pause.png +0 -0
- data/app/assets/images/gb_360-button-vis-play-light.gif +0 -0
- data/app/assets/images/gb_360-button-vis-play-light.png +0 -0
- data/app/assets/images/gb_360-button-vis-play.gif +0 -0
- data/app/assets/images/gb_360-button-vis-play.png +0 -0
- data/app/assets/images/gb_button_bkg_grey.gif +0 -0
- data/app/assets/images/gb_icon_content_2.png +0 -0
- data/app/assets/images/gb_icon_dash.png +0 -0
- data/app/assets/images/gb_icon_library_2.png +0 -0
- data/app/assets/images/gb_page_content_fillin.gif +0 -0
- data/app/assets/images/gb_spinner_for_dialouge.gif +0 -0
- data/app/assets/images/gb_sub_nav_back_bkg.gif +0 -0
- data/app/assets/images/gb_subnav_bkg.gif +0 -0
- data/app/assets/images/gb_table_head_bkg.gif +0 -0
- data/app/assets/images/gb_wrapper_bkg.png +0 -0
- data/app/assets/images/gb_wysiwyg.png +0 -0
- data/app/assets/images/help/gb_help.jpg +0 -0
- data/app/assets/images/icons/gb_collapsed.png +0 -0
- data/app/assets/images/icons/gb_expanded.png +0 -0
- data/app/assets/images/library/gb_back.gif +0 -0
- data/app/assets/images/library/gb_dialog_overlay.png +0 -0
- data/app/assets/images/library/gb_inactive_tab.jpg +0 -0
- data/app/assets/images/library/gb_search_icon.gif +0 -0
- data/app/assets/images/library/gb_wysiwyg_pic.png +0 -0
- data/app/assets/javascripts/gb_ajaxfileupload.js +0 -205
- data/app/assets/javascripts/gb_berniecode-animator.js +0 -674
- data/app/assets/javascripts/gb_bootstrap-datepicker.js +0 -501
- data/app/assets/javascripts/gb_expander.js +0 -81
- data/app/assets/javascripts/gb_jquery-dragTree.js +0 -525
- data/app/assets/javascripts/gb_jquery-tagarea.js +0 -404
- data/app/assets/javascripts/gb_login.js +0 -33
- data/app/assets/javascripts/gb_tags.js +0 -177
- data/app/assets/javascripts/jquery-1-7-1.js +0 -9267
- data/app/assets/javascripts/jquery-dimensions-min.js +0 -12
- data/app/assets/javascripts/jquery-ui-1-8-23-custom-min.js +0 -85
- data/app/assets/javascripts/tiny_mce/jquery.tinymce.js +0 -1
- data/app/assets/javascripts/tiny_mce/langs/en.js +0 -223
- data/app/assets/javascripts/tiny_mce/plugins/advhr/css/advhr.css +0 -5
- data/app/assets/javascripts/tiny_mce/plugins/advhr/editor_plugin.js +0 -1
- data/app/assets/javascripts/tiny_mce/plugins/advhr/js/rule.js +0 -43
- data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/en_dlg.js +0 -7
- data/app/assets/javascripts/tiny_mce/plugins/advhr/rule.htm +0 -58
- data/app/assets/javascripts/tiny_mce/plugins/advlink/css/advlink.css +0 -8
- data/app/assets/javascripts/tiny_mce/plugins/advlink/editor_plugin.js +0 -61
- data/app/assets/javascripts/tiny_mce/plugins/advlink/js/advlink.js +0 -564
- data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/en_dlg.js +0 -54
- data/app/assets/javascripts/tiny_mce/plugins/advlink/link.htm +0 -355
- data/app/assets/javascripts/tiny_mce/plugins/advlist/editor_plugin.js +0 -1
- data/app/assets/javascripts/tiny_mce/plugins/autolink/editor_plugin.js +0 -1
- data/app/assets/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js +0 -1
- data/app/assets/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +0 -109
- data/app/assets/javascripts/tiny_mce/plugins/gb_assets/editor_plugin.js +0 -47
- data/app/assets/javascripts/tiny_mce/plugins/gb_assets/editor_plugin_src.js +0 -43
- data/app/assets/javascripts/tiny_mce/plugins/gb_assets/emotions.htm +0 -41
- data/app/assets/javascripts/tiny_mce/plugins/gb_assets/js/emotions.js +0 -22
- data/app/assets/javascripts/tiny_mce/plugins/gb_assets/langs/en_dlg.js +0 -20
- data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +0 -1
- data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
- data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
- data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
- data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
- data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
- data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
- data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
- data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +0 -90
- data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/template.htm +0 -387
- data/app/assets/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin.js +0 -1
- data/app/assets/javascripts/tiny_mce/plugins/lists/editor_plugin.js +0 -1
- data/app/assets/javascripts/tiny_mce/plugins/paste/editor_plugin.js +0 -1
- data/app/assets/javascripts/tiny_mce/plugins/paste/js/pastetext.js +0 -36
- data/app/assets/javascripts/tiny_mce/plugins/paste/js/pasteword.js +0 -51
- data/app/assets/javascripts/tiny_mce/plugins/paste/langs/en_dlg.js +0 -5
- data/app/assets/javascripts/tiny_mce/plugins/paste/pastetext.htm +0 -27
- data/app/assets/javascripts/tiny_mce/plugins/paste/pasteword.htm +0 -21
- data/app/assets/javascripts/tiny_mce/plugins/preview/editor_plugin.js +0 -1
- data/app/assets/javascripts/tiny_mce/plugins/preview/jscripts/embed.js +0 -73
- data/app/assets/javascripts/tiny_mce/plugins/preview/preview.html +0 -18
- data/app/assets/javascripts/tiny_mce/plugins/style/css/props.css +0 -13
- data/app/assets/javascripts/tiny_mce/plugins/style/editor_plugin.js +0 -1
- data/app/assets/javascripts/tiny_mce/plugins/style/js/props.js +0 -635
- data/app/assets/javascripts/tiny_mce/plugins/style/langs/en_dlg.js +0 -70
- data/app/assets/javascripts/tiny_mce/plugins/style/props.htm +0 -838
- data/app/assets/javascripts/tiny_mce/plugins/table/cell.htm +0 -180
- data/app/assets/javascripts/tiny_mce/plugins/table/css/cell.css +0 -17
- data/app/assets/javascripts/tiny_mce/plugins/table/css/row.css +0 -25
- data/app/assets/javascripts/tiny_mce/plugins/table/css/table.css +0 -13
- data/app/assets/javascripts/tiny_mce/plugins/table/editor_plugin.js +0 -1
- data/app/assets/javascripts/tiny_mce/plugins/table/js/cell.js +0 -319
- data/app/assets/javascripts/tiny_mce/plugins/table/js/merge_cells.js +0 -27
- data/app/assets/javascripts/tiny_mce/plugins/table/js/row.js +0 -237
- data/app/assets/javascripts/tiny_mce/plugins/table/js/table.js +0 -450
- data/app/assets/javascripts/tiny_mce/plugins/table/langs/en_dlg.js +0 -75
- data/app/assets/javascripts/tiny_mce/plugins/table/merge_cells.htm +0 -32
- data/app/assets/javascripts/tiny_mce/plugins/table/row.htm +0 -158
- data/app/assets/javascripts/tiny_mce/plugins/table/table.htm +0 -188
- data/app/assets/javascripts/tiny_mce/plugins/wordcount/editor_plugin.js +0 -1
- data/app/assets/javascripts/tiny_mce/themes/advanced/anchor.htm +0 -26
- data/app/assets/javascripts/tiny_mce/themes/advanced/editor_template.js +0 -1
- data/app/assets/javascripts/tiny_mce/themes/advanced/editor_template_src.js +0 -1358
- data/app/assets/javascripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
- data/app/assets/javascripts/tiny_mce/themes/advanced/img/trans.gif +0 -0
- data/app/assets/javascripts/tiny_mce/themes/advanced/js/anchor.js +0 -42
- data/app/assets/javascripts/tiny_mce/themes/advanced/js/link.js +0 -153
- data/app/assets/javascripts/tiny_mce/themes/advanced/js/source_editor.js +0 -56
- data/app/assets/javascripts/tiny_mce/themes/advanced/langs/en.js +0 -68
- data/app/assets/javascripts/tiny_mce/themes/advanced/langs/en_dlg.js +0 -54
- data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/content.css +0 -47
- data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/dialog.css +0 -117
- data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
- data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
- data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
- data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
- data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
- data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
- data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/ui.css +0 -227
- data/app/assets/javascripts/tiny_mce/themes/advanced/source_editor.htm +0 -25
- data/app/assets/javascripts/tiny_mce/tiny_mce.js +0 -1
- data/app/assets/javascripts/tiny_mce/tiny_mce_popup.js +0 -5
- data/app/assets/javascripts/tiny_mce/utils/editable_selects.js +0 -70
- data/app/assets/javascripts/tiny_mce/utils/form_utils.js +0 -210
- data/app/assets/javascripts/tiny_mce/utils/mctabs.js +0 -162
- data/app/assets/javascripts/tiny_mce/utils/validate.js +0 -252
- data/app/controllers/gluttonberg/admin/content/articles_controller.rb +0 -139
- data/app/controllers/gluttonberg/admin/content/blogs_controller.rb +0 -101
- data/app/controllers/gluttonberg/admin/content/comments_controller.rb +0 -130
- data/app/controllers/gluttonberg/admin/content/main_controller.rb +0 -13
- data/app/controllers/gluttonberg/admin/help_controller.rb +0 -15
- data/app/controllers/gluttonberg/admin/settings/generic_settings_controller.rb +0 -90
- data/app/controllers/gluttonberg/admin/settings/main_controller.rb +0 -11
- data/app/controllers/gluttonberg/public/articles_controller.rb +0 -79
- data/app/controllers/gluttonberg/public/blogs_controller.rb +0 -44
- data/app/controllers/gluttonberg/public/comments_controller.rb +0 -46
- data/app/models/gluttonberg/article.rb +0 -73
- data/app/models/gluttonberg/article_localization.rb +0 -21
- data/app/models/gluttonberg/blog.rb +0 -19
- data/app/models/gluttonberg/comment.rb +0 -142
- data/app/models/gluttonberg/comment_subscription.rb +0 -28
- data/app/models/gluttonberg/help.rb +0 -48
- data/app/views/gluttonberg/admin/content/articles/_form.html.haml +0 -115
- data/app/views/gluttonberg/admin/content/articles/edit.html.haml +0 -11
- data/app/views/gluttonberg/admin/content/articles/index.html.haml +0 -71
- data/app/views/gluttonberg/admin/content/articles/new.html.haml +0 -11
- data/app/views/gluttonberg/admin/content/blogs/_form.html.haml +0 -56
- data/app/views/gluttonberg/admin/content/blogs/edit.html.haml +0 -3
- data/app/views/gluttonberg/admin/content/blogs/index.html.haml +0 -35
- data/app/views/gluttonberg/admin/content/blogs/new.html.haml +0 -10
- data/app/views/gluttonberg/admin/content/comments/index.html.haml +0 -66
- data/app/views/gluttonberg/admin/content/galleries/_images_list.html.haml +0 -21
- data/app/views/gluttonberg/admin/content/galleries/add_image.html.haml +0 -1
- data/app/views/gluttonberg/admin/content/main/index.html.haml +0 -20
- data/app/views/gluttonberg/admin/content/pages/edit_home.html.haml +0 -11
- data/app/views/gluttonberg/admin/exceptions/internal_server_error.html.haml +0 -11
- data/app/views/gluttonberg/admin/exceptions/not_acceptable.html.haml +0 -9
- data/app/views/gluttonberg/admin/membership/main/index.html.haml +0 -11
- data/app/views/gluttonberg/admin/settings/generic_settings/_form.html.haml +0 -26
- data/app/views/gluttonberg/admin/settings/generic_settings/edit.html.haml +0 -4
- data/app/views/gluttonberg/admin/settings/generic_settings/index.html.haml +0 -58
- data/app/views/gluttonberg/admin/settings/main/index.html.haml +0 -18
- data/app/views/gluttonberg/public/articles/index.rss.builder +0 -21
- data/app/views/gluttonberg/public/blogs/show.rss.builder +0 -21
- data/app/views/gluttonberg/public/exceptions/internal_server_error.html.haml +0 -11
- data/app/views/gluttonberg/public/exceptions/not_acceptable.html.haml +0 -9
- data/app/views/help/gluttonberg/admin/AssetLibrary/assets/add_assets_in_bulk.html.haml +0 -41
- data/app/views/help/gluttonberg/admin/AssetLibrary/assets/edit.html.haml +0 -61
- data/app/views/help/gluttonberg/admin/AssetLibrary/assets/index.html.haml +0 -16
- data/app/views/help/gluttonberg/admin/AssetLibrary/assets/new.html.haml +0 -57
- data/app/views/help/gluttonberg/admin/AssetLibrary/collections/edit.html.haml +0 -15
- data/app/views/help/gluttonberg/admin/AssetLibrary/collections/index.html.haml +0 -41
- data/app/views/help/gluttonberg/admin/AssetLibrary/collections/new.html.haml +0 -15
- data/app/views/help/gluttonberg/admin/AssetLibrary/main/index.html.haml +0 -34
- data/app/views/help/gluttonberg/admin/content/page_localizations/edit.html.haml +0 -89
- data/app/views/help/gluttonberg/admin/content/pages/_page_description_help.html.haml +0 -14
- data/app/views/help/gluttonberg/admin/content/pages/edit.html.haml +0 -62
- data/app/views/help/gluttonberg/admin/content/pages/index.html.haml +0 -111
- data/app/views/help/gluttonberg/admin/content/pages/new.html.haml +0 -61
- data/app/views/help/gluttonberg/admin/settings/dialects/edit.html.haml +0 -47
- data/app/views/help/gluttonberg/admin/settings/dialects/index.html.haml +0 -50
- data/app/views/help/gluttonberg/admin/settings/dialects/new.html.haml +0 -47
- data/app/views/help/gluttonberg/admin/settings/generic_settings/index.html.haml +0 -74
- data/app/views/help/gluttonberg/admin/settings/locales/edit.html.haml +0 -71
- data/app/views/help/gluttonberg/admin/settings/locales/index.html.haml +0 -57
- data/app/views/help/gluttonberg/admin/settings/locales/new.html.haml +0 -71
- data/app/views/help/gluttonberg/admin/settings/users/edit.html.haml +0 -63
- data/app/views/help/gluttonberg/admin/settings/users/index.html.haml +0 -60
- data/app/views/help/gluttonberg/admin/settings/users/new.html.haml +0 -69
- data/app/views/notifier/comment_notification.html.haml +0 -17
- data/app/views/notifier/comment_notification_for_admin.html.haml +0 -19
- data/db/migrate/20121106025800_add_artist_and_link_to_assets.rb +0 -6
- data/lib/acts_as_versioned.rb +0 -496
- data/lib/generators/gluttonberg/blog/blog_generator.rb +0 -46
- data/lib/generators/gluttonberg/blog/templates/articles_index.html.haml +0 -18
- data/lib/generators/gluttonberg/blog/templates/articles_show.html.haml +0 -63
- data/lib/generators/gluttonberg/blog/templates/articles_tag.html.haml +0 -24
- data/lib/generators/gluttonberg/blog/templates/blog_migration.rb +0 -90
- data/lib/generators/gluttonberg/blog/templates/blogs_index.html.haml +0 -15
- data/lib/generators/gluttonberg/blog/templates/blogs_show.html.haml +0 -25
- data/lib/generators/gluttonberg/installer/USAGE +0 -1
- data/lib/generators/gluttonberg/installer/installer_generator.rb +0 -106
- data/lib/generators/gluttonberg/installer/templates/delayed_job_script +0 -5
- data/lib/generators/gluttonberg/installer/templates/gluttonberg_migration.rb +0 -368
- data/lib/generators/gluttonberg/installer/templates/public.html.haml +0 -24
- data/lib/generators/gluttonberg/installer/templates/sitemap.rb +0 -70
- data/lib/gluttonberg/authorizable.rb +0 -51
- data/lib/gluttonberg/helpers.rb +0 -20
- data/lib/rails/railties/tasks.rake +0 -3
@@ -1,21 +1,33 @@
|
|
1
|
-
|
1
|
+
var editingInProgress = false;
|
2
|
+
var changedSinceLastAutoSave = false;
|
2
3
|
|
4
|
+
$(document).ready(function() {
|
3
5
|
dragTreeManager.init();
|
6
|
+
initNestable();
|
4
7
|
initClickEventsForAssetLinks($("body"));
|
5
8
|
initSlugManagement();
|
6
9
|
initBetterSlugManagement();
|
7
|
-
|
10
|
+
initSettingDropdownAjax();
|
8
11
|
initPublishedDateTime();
|
9
12
|
initBulkDeleteAsset();
|
13
|
+
initGluttonbergUI();
|
14
|
+
initFormValidation();
|
15
|
+
setUpAudio();
|
16
|
+
WarnNavigateAway.init();
|
17
|
+
AutoSave.init();
|
18
|
+
$(".chzn-select").chosen();
|
19
|
+
initPublishingButton();
|
20
|
+
initPreview();
|
21
|
+
shortcodeNameValidation();
|
22
|
+
});
|
10
23
|
|
11
|
-
|
12
|
-
|
24
|
+
/*
|
25
|
+
General UI fixes.
|
26
|
+
*/
|
27
|
+
function initGluttonbergUI(){
|
13
28
|
if ($('table').length > 0) {
|
14
29
|
$('table').find('tr:last').css('background-image', 'none !important');
|
15
30
|
}
|
16
|
-
|
17
|
-
$("form.validation").validate();
|
18
|
-
|
19
31
|
if( $('.page_flash').length > 0){
|
20
32
|
if($(".model-error").length > 0){
|
21
33
|
$('.page_flash').remove();
|
@@ -25,204 +37,56 @@ $(document).ready(function() {
|
|
25
37
|
}
|
26
38
|
|
27
39
|
$("ul.nav a.active").each(function(){
|
28
|
-
$(this).parent("li").addClass('active')
|
29
|
-
});
|
30
|
-
|
31
|
-
setUpAudio();
|
32
|
-
|
33
|
-
});
|
34
|
-
|
35
|
-
function initBetterSlugManagement() {
|
36
|
-
var str = $('#page_slug_holder .domain').html();
|
37
|
-
var pt = $('#page_title');
|
38
|
-
var pb = $('#page_slug .edit');
|
39
|
-
var ps = $('#page_slug span');
|
40
|
-
var hs = $('#page_hidden_slug');
|
41
|
-
var regex = /[\!\*'"″′‟‛„‚”“”˝\(\);:.@&=+$,\/?%#\[\]]/gim;
|
42
|
-
var doNotEdit = ps.attr('donotedit');
|
43
|
-
var editPage = false;
|
44
|
-
var slugLength = 0;
|
45
|
-
var slug = "";
|
46
|
-
var currentSlug = "";
|
47
|
-
|
48
|
-
if (typeof doNotEdit == 'string') {
|
49
|
-
doNotEdit = true;
|
50
|
-
editPage = true;
|
51
|
-
} else {
|
52
|
-
doNotEdit = false;
|
53
|
-
}
|
54
|
-
|
55
|
-
$('#page_slug_holder .domain').html($.trim(str));
|
56
|
-
|
57
|
-
pt.keyup(function(){
|
58
|
-
if (!doNotEdit) {
|
59
|
-
slug = pt.attr('value').toLowerCase().replace(/\s/gim, '_').replace(regex, '')
|
60
|
-
ps.html(slug);
|
61
|
-
hs.attr('value', slug);
|
62
|
-
};
|
63
|
-
})
|
64
|
-
|
65
|
-
pb.click(function(){
|
66
|
-
hs.show();
|
67
|
-
ps.hide();
|
68
|
-
pb.hide();
|
69
|
-
hs.focus();
|
70
|
-
doNotEdit = true;
|
71
|
-
slugLength = hs.val().length;
|
72
|
-
currentSlug = hs.val();
|
73
|
-
})
|
74
|
-
|
75
|
-
hs.focusout(function(){
|
76
|
-
var len = hs.val().length;
|
77
|
-
if (doNotEdit) {
|
78
|
-
if (len == 0) {
|
79
|
-
hs.hide();
|
80
|
-
ps.show();
|
81
|
-
pb.show();
|
82
|
-
if (!editPage) {
|
83
|
-
doNotEdit = false;
|
84
|
-
slug = pt.attr('value').toLowerCase().replace(/\s/gim, '_').replace(regex, '')
|
85
|
-
ps.html(slug);
|
86
|
-
hs.attr('value', slug);
|
87
|
-
} else {
|
88
|
-
hs.attr('value', currentSlug);
|
89
|
-
}
|
90
|
-
} else if(slugLength == len) {
|
91
|
-
hs.hide();
|
92
|
-
ps.show();
|
93
|
-
pb.show();
|
94
|
-
if (!editPage) {
|
95
|
-
doNotEdit = false;
|
96
|
-
}
|
97
|
-
} else {
|
98
|
-
hs.hide();
|
99
|
-
ps.show();
|
100
|
-
pb.show();
|
101
|
-
ps.html(hs.attr('value').toLowerCase().replace(/\s/gim, '_').replace(regex, ''));
|
102
|
-
doNotEdit = true;
|
103
|
-
};
|
104
|
-
};
|
105
|
-
})
|
106
|
-
|
107
|
-
}
|
108
|
-
|
109
|
-
|
110
|
-
function enable_jwysiwyg_on(selector) {
|
111
|
-
$(document).ready(function() {
|
112
|
-
$(selector).tinymce({
|
113
|
-
// Location of TinyMCE script
|
114
|
-
script_url: '/assets/tiny_mce/tiny_mce.js',
|
115
|
-
|
116
|
-
// General options
|
117
|
-
theme: "advanced",
|
118
|
-
plugins: "autolink,lists,style,table,advhr,advlink,gb_assets,inlinepopups,insertdatetime,preview,paste,fullscreen,advlist,wordcount",
|
119
|
-
|
120
|
-
// Theme options
|
121
|
-
theme_advanced_buttons1: "gb_assets,newdocument,|,bold,italic,underline,|,justifyleft,justifyright,styleselect,formatselect,|,attribs,removeformat,cleanup,code",
|
122
|
-
theme_advanced_buttons2: "pastetext,pasteword,|,bullist,numlist,|,blockquote,|,undo,redo,|,link,unlink,anchor,|,insertdate,inserttime|,advhr,",
|
123
|
-
theme_advanced_buttons3: "tablecontrols,|,fullscreen,preview",
|
124
|
-
theme_advanced_toolbar_location: "top",
|
125
|
-
theme_advanced_toolbar_align: "left",
|
126
|
-
theme_advanced_statusbar_location: "bottom",
|
127
|
-
theme_advanced_resizing: true,
|
128
|
-
plugin_insertdate_dateFormat: "%d/%m/%Y",
|
129
|
-
plugin_insertdate_timeFormat: "%H:%M:%S",
|
130
|
-
theme_advanced_resizing_use_cookie: false,
|
131
|
-
width: get_wysiwyg_width(selector),
|
132
|
-
|
133
|
-
// Example content CSS (should be your site CSS)
|
134
|
-
content_css: "/stylesheets/user-styles.css"
|
135
|
-
|
136
|
-
});
|
137
|
-
|
40
|
+
$(this).parent("li").addClass('active');
|
138
41
|
});
|
139
42
|
}
|
140
43
|
|
141
|
-
function
|
142
|
-
|
143
|
-
return $(selector).attr('width')
|
144
|
-
} else {
|
145
|
-
return null;
|
146
|
-
}
|
147
|
-
}
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
// This method initialize slug related event on a title text box.
|
152
|
-
function initSlugManagement() {
|
153
|
-
try {
|
154
|
-
var pt = $('#page_title');
|
155
|
-
var ps = $('#page_slug');
|
156
|
-
|
157
|
-
var regex = /[\!\*'"″′‟‛„‚”“”˝\(\);:.@&=+$,\/?%#\[\]]/gim;
|
158
|
-
|
159
|
-
var pt_function = function() {
|
160
|
-
if (ps.attr('donotmodify') != 'true') ps.attr('value', pt.attr('value').toLowerCase().replace(/\s/gim, '_').replace(regex, ''));
|
161
|
-
};
|
162
|
-
|
163
|
-
pt.bind("keyup", pt_function);
|
164
|
-
pt.bind("blur", pt_function);
|
165
|
-
|
166
|
-
ps.bind("blur", function() {
|
167
|
-
ps.attr('value', ps.attr('value').toLowerCase().replace(/\s/gim, '_').replace(regex, ''));
|
168
|
-
ps.attr('donotmodify', 'true');
|
169
|
-
});
|
170
|
-
} catch(e) {
|
171
|
-
console.log(e)
|
172
|
-
}
|
173
|
-
}
|
174
|
-
|
175
|
-
function enable_slug_management_on(src_class){
|
176
|
-
$("."+src_class).attr('id','page_title')
|
44
|
+
function initFormValidation(){
|
45
|
+
$("form.validation").validate();
|
177
46
|
}
|
178
47
|
|
179
48
|
|
180
49
|
|
181
|
-
//
|
50
|
+
// Initalize a tags for asset selector and remove button
|
51
|
+
// It also handles autosave mode of asset selector
|
182
52
|
function initClickEventsForAssetLinks(element) {
|
183
53
|
element.find(".thumbnails a.choose_button").click(function(e) {
|
184
54
|
var p = $(this).parent().parent().parent(".asset_selector_wrapper");
|
185
|
-
|
186
55
|
var link = $(this);
|
187
|
-
AssetBrowser.showOverlay()
|
56
|
+
AssetBrowser.showOverlay();
|
188
57
|
$.get(link.attr("href"), null, function(markup) {
|
189
58
|
AssetBrowser.load(p, link, markup);
|
190
59
|
});
|
191
60
|
e.preventDefault();
|
192
61
|
});
|
193
62
|
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
var
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
63
|
+
element.find(".thumbnails a.remove").click(function(e) {
|
64
|
+
var p = $(this).parent().parent().parent(".asset_selector_wrapper");
|
65
|
+
var link = $(this);
|
66
|
+
var parent = link.parents(".thumbnails");
|
67
|
+
parent.find('.choose_asset_hidden_field').val('');
|
68
|
+
parent.find('h5').html('');
|
69
|
+
parent.find('img').remove();
|
70
|
+
if(!blank(link.attr('data_url'))){
|
71
|
+
$.ajax({
|
72
|
+
url: link.attr('data_url'),
|
73
|
+
data: 'gluttonberg_setting[value]=',
|
74
|
+
type: "PUT",
|
75
|
+
success: function(data) {}
|
203
76
|
});
|
204
|
-
}
|
205
|
-
|
206
|
-
PADDING_ATTRS: ["padding-top", "padding-bottom"],
|
207
|
-
resizeDisplay: function(object) {
|
208
|
-
// Get the display and the offsets if we don't have them
|
209
|
-
if (!object.display) object.display = object.frame.find(".display");
|
210
|
-
if (!object.offsets) object.offsets = object.frame.find("> *:not(.display)");
|
211
|
-
var offsetHeight = 0;
|
212
|
-
object.offsets.each(function(i, node) {
|
213
|
-
offsetHeight += $(node).outerHeight();
|
214
|
-
});
|
215
|
-
// Get the padding for the display
|
216
|
-
if (!object.displayPadding) {
|
217
|
-
object.displayPadding = 0
|
218
|
-
for (var i = 0; i < this.PADDING_ATTRS.length; i++) {
|
219
|
-
object.displayPadding += parseInt(object.display.css(this.PADDING_ATTRS[i]).match(/\d+/)[0]);
|
220
|
-
};
|
77
|
+
}else{
|
78
|
+
changedSinceLastAutoSave = true;
|
221
79
|
}
|
222
|
-
object.display.height(object.frame.innerHeight() - (offsetHeight + object.displayPadding));
|
223
|
-
}
|
224
|
-
};
|
225
80
|
|
81
|
+
e.preventDefault();
|
82
|
+
});
|
83
|
+
|
84
|
+
}
|
85
|
+
|
86
|
+
/*
|
87
|
+
All functioanlity for asset selector
|
88
|
+
Listing, searching, ajax upload, auto save, inserting image in redactor, filters
|
89
|
+
*/
|
226
90
|
var AssetBrowser = {
|
227
91
|
overlay: null,
|
228
92
|
dialog: null,
|
@@ -230,6 +94,7 @@ var AssetBrowser = {
|
|
230
94
|
Wysiwyg: null,
|
231
95
|
logo_setting: false,
|
232
96
|
filter: null,
|
97
|
+
filter_value: null,
|
233
98
|
actualLink: null,
|
234
99
|
link_parent: null,
|
235
100
|
load: function(p, link, markup, Wysiwyg) {
|
@@ -242,6 +107,12 @@ var AssetBrowser = {
|
|
242
107
|
}
|
243
108
|
// its used for category filtering on assets and collections
|
244
109
|
AssetBrowser.filter = $("#filter_" + $(link).attr("rel"));
|
110
|
+
if(!blank(link)){
|
111
|
+
AssetBrowser.filter_value = getParameterByName(link.attr('href'), "filter");
|
112
|
+
if(!blank(AssetBrowser.filter_value) && !blank(AssetBrowser.filter)){
|
113
|
+
AssetBrowser.filter_value = AssetBrowser.filter.val();
|
114
|
+
}
|
115
|
+
}
|
245
116
|
|
246
117
|
if ($(link).is(".logo_setting")) {
|
247
118
|
AssetBrowser.logo_setting = true;
|
@@ -265,19 +136,12 @@ var AssetBrowser = {
|
|
265
136
|
AssetBrowser.target = null;
|
266
137
|
AssetBrowser.nameDisplay = p.find("h5");
|
267
138
|
}
|
268
|
-
if(AssetBrowser.actualLink.hasClass("add_image_to_gallery")){
|
269
|
-
AssetBrowser.target = null;
|
270
|
-
}
|
271
139
|
|
272
140
|
threeSixtyPlayer.init();
|
273
141
|
|
274
142
|
// Grab the various nodes we need
|
275
143
|
AssetBrowser.display = AssetBrowser.browser.find("#assetsDisplay");
|
276
144
|
AssetBrowser.offsets = AssetBrowser.browser.find("> *:not(#assetsDisplay)");
|
277
|
-
AssetBrowser.backControl = AssetBrowser.browser.find("#back a");
|
278
|
-
AssetBrowser.backControl.css({
|
279
|
-
display: "none"
|
280
|
-
});
|
281
145
|
// Calculate the offsets
|
282
146
|
AssetBrowser.offsetHeight = 0;
|
283
147
|
AssetBrowser.offsets.each(function(i, element) {
|
@@ -287,15 +151,21 @@ var AssetBrowser = {
|
|
287
151
|
AssetBrowser.resizeDisplay();
|
288
152
|
$(window).resize(AssetBrowser.resizeDisplay);
|
289
153
|
// Cancel button
|
290
|
-
AssetBrowser.browser.find("
|
154
|
+
AssetBrowser.browser.find(".cancel").click(AssetBrowser.close);
|
291
155
|
// Capture anchor clicks
|
292
156
|
AssetBrowser.display.find("a").click(AssetBrowser.click);
|
157
|
+
// Capture size selector change
|
158
|
+
AssetBrowser.display.find("select.size_selector").change(AssetBrowser.sizeSelectHandler);
|
159
|
+
|
293
160
|
$("#assetsDialog form#asset_search_form").submit(AssetBrowser.search_submit);
|
294
|
-
|
161
|
+
$("#assetsDialog #asset_date_filter").blur(AssetBrowser.date_filter);
|
162
|
+
$("#assetsDialog #asset_date_filter").change(AssetBrowser.date_filter);
|
163
|
+
$("#assetsDialog #asset_date_filter").bsdatepicker();
|
295
164
|
|
296
165
|
AssetBrowser.browser.find("#ajax_new_asset_form").submit(function(e) {
|
297
|
-
if($("#
|
298
|
-
|
166
|
+
if($("#ajax_new_asset_form #ajax_asset_file").val() != null && $("#ajax_new_asset_form #asset_name").val() != null && $("#ajax_new_asset_form #ajax_asset_file").val() != "" && $("#ajax_new_asset_form #asset_name").val() != ""){
|
167
|
+
$("#ajax_new_asset_form").addClass('uploading');
|
168
|
+
ajaxFileUploadForAssetLibrary(link);
|
299
169
|
}
|
300
170
|
e.preventDefault();
|
301
171
|
});
|
@@ -307,45 +177,12 @@ var AssetBrowser = {
|
|
307
177
|
|
308
178
|
try{
|
309
179
|
$().collapse({parent: "#accordion_for_collections"});
|
310
|
-
}catch(e){
|
311
|
-
console.log(e);
|
312
|
-
}
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
$("#assetsDialog").css({
|
318
|
-
height: ($(window).height()*0.9) + "px",
|
319
|
-
width: ($(window).width()*0.7) + "px",
|
320
|
-
"margin-top": "-" + (($(window).height()*0.9)/2) + "px",
|
321
|
-
"margin-left": "-" + (($(window).width()*0.7)/2) + "px"
|
322
|
-
})
|
323
|
-
|
324
|
-
$(".modal-body").css({
|
325
|
-
"max-height": (($(window).height()*0.9) - 135) + "px",
|
326
|
-
"height": (($(window).height()*0.9) - 135) + "px"
|
327
|
-
})
|
180
|
+
}catch(e){}
|
328
181
|
|
329
182
|
try {
|
330
|
-
$("#assetsDialog form
|
331
|
-
} catch(e) {
|
332
|
-
console.log(e)
|
333
|
-
}
|
183
|
+
$("#assetsDialog form#ajax_new_asset_form").validate();
|
184
|
+
} catch(e) {}
|
334
185
|
|
335
|
-
$(window).resize(function(e) {
|
336
|
-
$("#assetsDialog").css({
|
337
|
-
height: ($(window).height()*0.9) + "px",
|
338
|
-
width: ($(window).width()*0.7) + "px",
|
339
|
-
"margin-top": "-" + (($(window).height()*0.9)/2) + "px",
|
340
|
-
"margin-left": "-" + (($(window).width()*0.7)/2) + "px"
|
341
|
-
})
|
342
|
-
|
343
|
-
$(".modal-body").css({
|
344
|
-
"max-height": (($(window).height()*0.9) - 135) + "px",
|
345
|
-
"height": (($(window).height()*0.9) - 135) + "px"
|
346
|
-
})
|
347
|
-
|
348
|
-
})
|
349
186
|
},
|
350
187
|
sameHeightForAllElementsOfSameRow: function(parent_element){
|
351
188
|
|
@@ -357,6 +194,10 @@ var AssetBrowser = {
|
|
357
194
|
if($(element).height() > row_max_height){
|
358
195
|
row_max_height = $(element).height();
|
359
196
|
}
|
197
|
+
if(row_max_height < 210){
|
198
|
+
row_max_height = 210;
|
199
|
+
}
|
200
|
+
|
360
201
|
$(element).attr('data-row' , row_num);
|
361
202
|
if( (index+1) % ASSET_MAX_COLUMNS == 0 ){
|
362
203
|
if(row_max_height > 0){
|
@@ -368,8 +209,17 @@ var AssetBrowser = {
|
|
368
209
|
});
|
369
210
|
},
|
370
211
|
resizeDisplay: function() {
|
371
|
-
|
372
|
-
|
212
|
+
$("#assetsDialog").css({
|
213
|
+
height: ($(window).height()*0.9) + "px",
|
214
|
+
width: ($(window).width()*0.7) + "px",
|
215
|
+
"margin-top": "-" + (($(window).height()*0.9)/2) + "px",
|
216
|
+
"margin-left": "-" + (($(window).width()*0.7)/2) + "px"
|
217
|
+
});
|
218
|
+
|
219
|
+
$(".modal-body").css({
|
220
|
+
"max-height": (($(window).height()*0.9) - 135) + "px",
|
221
|
+
"height": (($(window).height()*0.9) - 135) + "px"
|
222
|
+
});
|
373
223
|
},
|
374
224
|
showOverlay: function() {
|
375
225
|
AssetBrowser.overlay = $("#assetsDialogOverlay");
|
@@ -383,10 +233,10 @@ var AssetBrowser = {
|
|
383
233
|
});
|
384
234
|
}
|
385
235
|
set_height = wrapper_height = $("body").height();
|
386
|
-
window_height = $(window).height() + $(window).scrollTop()
|
387
|
-
if (set_height < window_height)
|
388
|
-
|
389
|
-
|
236
|
+
window_height = $(window).height() + $(window).scrollTop();
|
237
|
+
if (set_height < window_height)
|
238
|
+
set_height = window_height;
|
239
|
+
$("#assetsDialogOverlay").height(set_height);
|
390
240
|
},
|
391
241
|
close: function() {
|
392
242
|
AssetBrowser.overlay.css({
|
@@ -402,12 +252,6 @@ var AssetBrowser = {
|
|
402
252
|
|
403
253
|
},
|
404
254
|
handleJSON: function(json) {
|
405
|
-
if (json.backURL) {
|
406
|
-
AssetBrowser.backURL = json.backURL;
|
407
|
-
AssetBrowser.backControl.css({
|
408
|
-
display: "block"
|
409
|
-
});
|
410
|
-
}
|
411
255
|
AssetBrowser.updateDisplay(json.markup);
|
412
256
|
},
|
413
257
|
updateDisplay: function(markup) {
|
@@ -415,14 +259,14 @@ var AssetBrowser = {
|
|
415
259
|
AssetBrowser.display.find("a").click(AssetBrowser.click);
|
416
260
|
|
417
261
|
try {
|
418
|
-
$("form
|
262
|
+
$("#assetsDialog form#ajax_new_asset_form").validate();
|
419
263
|
} catch(ex) {}
|
420
264
|
AssetBrowser.browser.find("#ajax_new_asset_form").submit(function(e) {
|
421
|
-
if($("#
|
265
|
+
if($("#ajax_new_asset_form #ajax_asset_file").val() != null && $("#ajax_new_asset_form #asset_name").val() != null && $("#ajax_new_asset_form #ajax_asset_file").val() != "" && $("#ajax_new_asset_form #asset_name").val() != ""){
|
422
266
|
ajaxFileUpload(AssetBrowser.actualLink);
|
423
267
|
}
|
424
268
|
e.preventDefault();
|
425
|
-
})
|
269
|
+
});
|
426
270
|
},
|
427
271
|
search_submit: function(e) {
|
428
272
|
$("#progress_ajax_upload").ajaxStart(function() {
|
@@ -431,13 +275,52 @@ var AssetBrowser = {
|
|
431
275
|
$(this).hide();
|
432
276
|
});
|
433
277
|
var url = $("#assetsDialog form#asset_search_form").attr("action");
|
434
|
-
url += ".json?" + $("#assetsDialog form#asset_search_form").serialize()
|
278
|
+
url += ".json?" + $("#assetsDialog form#asset_search_form").serialize();
|
435
279
|
$.getJSON(url, null, function(json){
|
436
280
|
$("#search_tab_results").html(json.markup);
|
437
281
|
$("#search_tab_results").find("a").click(AssetBrowser.click);
|
438
282
|
});
|
439
283
|
e.preventDefault();
|
440
284
|
},
|
285
|
+
date_filter: function(e){
|
286
|
+
console.log($(this).val());
|
287
|
+
var dateTokens = $(this).val().split("/");
|
288
|
+
console.log(dateTokens)
|
289
|
+
if(dateTokens.length == 3){
|
290
|
+
var day = parseInt(dateTokens[0]);
|
291
|
+
var month = parseInt(dateTokens[1]);
|
292
|
+
var year = parseInt(dateTokens[2]);
|
293
|
+
if(day > 0 && day <= 31 && month > 0 && month <= 12 && year > 1971 && year <= 2050){
|
294
|
+
var date = new Date(year,month-1, day);
|
295
|
+
var formattedDate = year + "-" + month + "-" + day;
|
296
|
+
console.log(date);
|
297
|
+
|
298
|
+
var serverDateFormat = "";
|
299
|
+
|
300
|
+
$("#progress_ajax_upload").ajaxStart(function() {
|
301
|
+
$(this).show();
|
302
|
+
}).ajaxComplete(function() {
|
303
|
+
$(this).hide();
|
304
|
+
});
|
305
|
+
var url = "/admin/filter_assets_by_date.json?asset_date_filter=" + formattedDate;
|
306
|
+
$.getJSON(url, null, function(json){
|
307
|
+
$("#search_tab_results").html(json.markup);
|
308
|
+
$("#search_tab_results").find("a").click(AssetBrowser.click);
|
309
|
+
});
|
310
|
+
}
|
311
|
+
|
312
|
+
}
|
313
|
+
|
314
|
+
|
315
|
+
e.preventDefault();
|
316
|
+
},
|
317
|
+
sizeSelectHandler: function(){
|
318
|
+
var target = $(this);
|
319
|
+
var image_url = target.val();
|
320
|
+
var file_title = target.attr("data-title");
|
321
|
+
insertImageInWysiwyg(image_url,"image",file_title);
|
322
|
+
AssetBrowser.close();
|
323
|
+
},
|
441
324
|
click: function() {
|
442
325
|
var target = $(this);
|
443
326
|
if (target.is(".assetLink")) {
|
@@ -446,13 +329,14 @@ var AssetBrowser = {
|
|
446
329
|
|
447
330
|
// assets only
|
448
331
|
if (AssetBrowser.target !== null) {
|
449
|
-
AssetBrowser.
|
332
|
+
AssetBrowser.actualLink.parents(".caption").find(".choose_asset_hidden_field").attr("value", id);
|
333
|
+
AssetBrowser.actualLink.parents(".caption").find(".choose_asset_hidden_field").trigger( "selected", [target.attr("data-title"), target.attr("data-credits")] );
|
450
334
|
var image_src = target.attr("data-thumb");
|
451
335
|
|
452
336
|
image_url = target.attr("data-jwysiwyg");
|
453
337
|
file_type = target.attr("data-category");
|
454
338
|
file_title = name;
|
455
|
-
|
339
|
+
insertImageInWysiwyg(image_url,file_type,file_title);
|
456
340
|
|
457
341
|
AssetBrowser.nameDisplay.html(name);
|
458
342
|
|
@@ -462,6 +346,12 @@ var AssetBrowser = {
|
|
462
346
|
} else {
|
463
347
|
AssetBrowser.link_parent.prepend("<img src='" + image_src + "' />");
|
464
348
|
}
|
349
|
+
}else if(file_type == "video"){
|
350
|
+
if (AssetBrowser.link_parent.find("img").length > 0) {
|
351
|
+
AssetBrowser.link_parent.find("img").attr('src', image_src);
|
352
|
+
} else {
|
353
|
+
AssetBrowser.link_parent.prepend("<img src='" + image_src + "' />");
|
354
|
+
}
|
465
355
|
}else if(file_type == "audio"){
|
466
356
|
if (AssetBrowser.link_parent.find("div.ui360 a").length > 0) {
|
467
357
|
AssetBrowser.link_parent.find("div.ui360 a").attr('href', image_url);
|
@@ -472,27 +362,10 @@ var AssetBrowser = {
|
|
472
362
|
AssetBrowser.nameDisplay.html('');
|
473
363
|
}
|
474
364
|
}
|
475
|
-
|
476
|
-
|
477
|
-
auto_save_asset(AssetBrowser.logo_setting_url, id); //auto save if it is required
|
365
|
+
changedSinceLastAutoSave = true;
|
366
|
+
autoSaveAsset(AssetBrowser.logo_setting_url, id); //auto save if it is required
|
478
367
|
} else {
|
479
|
-
if (AssetBrowser.actualLink.hasClass("add_image_to_gallery")) {
|
480
368
|
|
481
|
-
$.ajax({
|
482
|
-
url: AssetBrowser.actualLink.attr("data_url"),
|
483
|
-
data: 'asset_id=' + id,
|
484
|
-
type: "GET",
|
485
|
-
success: function(data) {
|
486
|
-
$("#images_container").html(data);
|
487
|
-
initEditGalleryList();
|
488
|
-
dragTreeManager.init();
|
489
|
-
AssetBrowser.close();
|
490
|
-
},
|
491
|
-
error: function(data) {
|
492
|
-
AssetBrowser.close();
|
493
|
-
}
|
494
|
-
});
|
495
|
-
}
|
496
369
|
}
|
497
370
|
|
498
371
|
AssetBrowser.close();
|
@@ -507,9 +380,10 @@ var AssetBrowser = {
|
|
507
380
|
|
508
381
|
if(accordionContentInner.attr("content-loaded") == "false"){
|
509
382
|
accordionContentInner.prepend("<img src='/assets/gb_spinner.gif' class='gb_spinner'/>");
|
510
|
-
$.get("/admin/browser-collection/"+collectionID+".json?filter="+AssetBrowser.
|
383
|
+
$.get("/admin/browser-collection/"+collectionID+".json?filter="+AssetBrowser.filter_value, function(data){
|
511
384
|
$(".gb_spinner").remove();
|
512
385
|
accordionContentInner.prepend(data['markup']);
|
386
|
+
accordionContentInner.find("a").click(AssetBrowser.click);
|
513
387
|
});
|
514
388
|
accordionContentInner.attr("content-loaded",true);
|
515
389
|
}
|
@@ -528,59 +402,45 @@ var AssetBrowser = {
|
|
528
402
|
var url = target.attr("href") + ".json";
|
529
403
|
// its collection url then add category filter for filtering assets
|
530
404
|
if (target.hasClass("collection")) {
|
531
|
-
url += "?filter=" + AssetBrowser.
|
405
|
+
url += "?filter=" + AssetBrowser.filter_value;
|
532
406
|
}
|
533
407
|
$.getJSON(url, null, AssetBrowser.handleJSON);
|
534
408
|
}
|
535
409
|
return false;
|
536
|
-
},
|
537
|
-
back: function() {
|
538
|
-
if (AssetBrowser.backURL) {
|
539
|
-
var category = "";
|
540
|
-
var show_content = ""
|
541
|
-
// if filter exist then apply it on backurl
|
542
|
-
if (AssetBrowser.filter !== null) {
|
543
|
-
if (AssetBrowser.filter == undefined || AssetBrowser.filter.length == 0) {
|
544
|
-
if (AssetBrowser.Wysiwyg != null) category = "&filter=image";
|
545
|
-
} else category = "&filter=" + AssetBrowser.filter.val();
|
546
|
-
}
|
547
|
-
$.get(AssetBrowser.backURL + category + show_content, null, AssetBrowser.updateDisplay);
|
548
|
-
AssetBrowser.backURL = null;
|
549
|
-
AssetBrowser.backControl.css({
|
550
|
-
display: "none"
|
551
|
-
});
|
552
|
-
}
|
553
|
-
return false;
|
554
410
|
}
|
555
411
|
|
556
412
|
};
|
557
413
|
|
558
414
|
|
559
|
-
function
|
415
|
+
function insertImageInWysiwyg(image_url,file_type,title) {
|
560
416
|
if (AssetBrowser.Wysiwyg != undefined && AssetBrowser.Wysiwyg !== null) {
|
561
417
|
Wysiwyg = AssetBrowser.Wysiwyg;
|
562
|
-
if(file_type == undefined)
|
418
|
+
if(file_type == undefined){
|
563
419
|
file_type = "";
|
564
|
-
|
420
|
+
}
|
421
|
+
if(title == undefined){
|
565
422
|
title = "";
|
566
|
-
|
567
|
-
|
423
|
+
}
|
424
|
+
Wysiwyg.selectionRestore();
|
425
|
+
if(!blank(Wysiwyg.getSelectionText())){
|
426
|
+
title = Wysiwyg.getSelectionText();
|
427
|
+
}
|
568
428
|
description = "";
|
569
429
|
style = "";
|
570
|
-
if(file_type == "image")
|
430
|
+
if(file_type == "image" && !AssetBrowser.actualLink.hasClass("attach")){
|
571
431
|
image = "<img src='" + image_url + "' title='" + title + "' alt='" + description + "'" + style + "/>";
|
572
|
-
else
|
573
|
-
image = "
|
574
|
-
|
575
|
-
|
432
|
+
}else{
|
433
|
+
image = "<a href='"+image_url+"' target='_blank' >"+title+"</a>";
|
434
|
+
}
|
435
|
+
Wysiwyg.insertHtml(image);
|
576
436
|
}
|
437
|
+
|
577
438
|
}
|
578
439
|
|
579
440
|
|
580
|
-
function
|
441
|
+
function autoSaveAsset(url, new_id) {
|
581
442
|
// HACK FOR LOGO SETTINGS
|
582
443
|
if (AssetBrowser.logo_setting != undefined && AssetBrowser.logo_setting != null && AssetBrowser.logo_setting == true) {
|
583
|
-
//data_id = data_id;
|
584
444
|
new_value = new_id;
|
585
445
|
|
586
446
|
$.ajax({
|
@@ -592,102 +452,57 @@ function auto_save_asset(url, new_id) {
|
|
592
452
|
}
|
593
453
|
}
|
594
454
|
|
595
|
-
// Help Browser
|
596
|
-
// Displays the help in an overlayed box. Intended to be used for contextual
|
597
|
-
// help initially.
|
598
|
-
var Help = {
|
599
|
-
load: function(url) {
|
600
|
-
$.get(url, null, function(markup) {
|
601
|
-
Help.show(markup)
|
602
|
-
});
|
603
|
-
},
|
604
|
-
show: function(markup) {
|
605
|
-
this.buildFrames();
|
606
|
-
this.frame.html(markup)
|
607
|
-
this.frame.find("a#closeHelp").click(this.close);
|
608
|
-
var centerFunction = function() {
|
609
|
-
Dialog.center(Help.frame, Help.overlay);
|
610
|
-
Dialog.resizeDisplay(Help);
|
611
|
-
};
|
612
|
-
$(window).resize(centerFunction);
|
613
|
-
$(document).scroll(centerFunction);
|
614
|
-
centerFunction();
|
615
|
-
},
|
616
|
-
close: function() {
|
617
|
-
Help.display = null;
|
618
|
-
Help.offsets = null;
|
619
|
-
Help.displayPadding = null;
|
620
|
-
Help.frame.hide();
|
621
|
-
Help.overlay.hide();
|
622
|
-
return false;
|
623
|
-
},
|
624
|
-
click: function(e) {
|
625
|
-
Help.load(this.href);
|
626
|
-
return false;
|
627
|
-
},
|
628
|
-
buildFrames: function() {
|
629
|
-
if (!this.overlay) {
|
630
|
-
this.overlay = $('<div id="overlay"> </div>');
|
631
|
-
$("body").append(this.overlay);
|
632
|
-
this.frame = $('<div id="helpDialog"> </div>');
|
633
|
-
$("body").append(this.frame);
|
634
|
-
} else {
|
635
|
-
this.overlay.show();
|
636
|
-
this.frame.show();
|
637
|
-
}
|
638
|
-
}
|
639
|
-
};
|
640
455
|
|
641
456
|
|
457
|
+
/* Setup settings page */
|
642
458
|
|
643
|
-
|
644
|
-
function init_setting_dropdown_ajax() {
|
459
|
+
function initSettingDropdownAjax() {
|
645
460
|
$(".setting_dropdown").change(function() {
|
646
461
|
url = $(this).attr("rel");
|
647
462
|
id = $(this).attr("data_id");
|
648
|
-
new_value = $(this).val()
|
649
|
-
|
650
|
-
$("#progress_" + id).show("fast")
|
463
|
+
new_value = $(this).val();
|
464
|
+
$("#progress_" + id).show("fast");
|
651
465
|
|
652
466
|
$.ajax({
|
653
467
|
url: url,
|
654
468
|
data: 'gluttonberg_setting[value]=' + new_value,
|
655
469
|
type: "PUT",
|
656
470
|
success: function(data) {
|
657
|
-
$("#progress_" + id).hide("fast")
|
471
|
+
$("#progress_" + id).hide("fast");
|
472
|
+
WarnNavigateAway.removeEventHandler();
|
658
473
|
}
|
659
474
|
});
|
660
475
|
|
661
476
|
});
|
662
|
-
|
477
|
+
initHomePageSettingDropdownAjax();
|
663
478
|
}
|
664
479
|
|
665
|
-
|
666
|
-
|
667
|
-
|
480
|
+
/* Home page dropdown setting is special case on settings page in backend, it is handled by
|
481
|
+
a seperate ajax call.
|
482
|
+
*/
|
483
|
+
function initHomePageSettingDropdownAjax() {
|
668
484
|
$(".home_page_setting_dropdown").change(function() {
|
669
485
|
url = $(this).attr("rel");
|
670
|
-
id = "home_page"
|
671
|
-
new_value = $(this).val()
|
672
|
-
|
673
|
-
$("#progress_" + id).show("fast")
|
674
|
-
|
486
|
+
id = "home_page";
|
487
|
+
new_value = $(this).val();
|
488
|
+
$("#progress_" + id).show("fast");
|
675
489
|
$.ajax({
|
676
490
|
url: url,
|
677
491
|
data: 'home=' + new_value,
|
678
492
|
type: "POST",
|
679
493
|
success: function(data) {
|
680
|
-
$("#progress_" + id).hide("fast")
|
494
|
+
$("#progress_" + id).hide("fast");
|
495
|
+
WarnNavigateAway.removeEventHandler();
|
681
496
|
}
|
682
497
|
});
|
683
498
|
|
684
|
-
})
|
685
|
-
|
499
|
+
});
|
686
500
|
}
|
687
501
|
|
688
502
|
|
503
|
+
/* Setup Ajax file upload */
|
689
504
|
|
690
|
-
function
|
505
|
+
function ajaxFileUploadForAssetLibrary(link) {
|
691
506
|
//starting setting some animation when the ajax starts and completes
|
692
507
|
$("#loading").ajaxStart(function() {
|
693
508
|
$(this).show();
|
@@ -696,29 +511,27 @@ function ajaxFileUpload(link) {
|
|
696
511
|
});
|
697
512
|
link = $(link);
|
698
513
|
|
699
|
-
$(
|
700
|
-
|
701
|
-
asset_name = $('input[name$="asset[name]"]').val();
|
514
|
+
asset_name = $('#ajax_new_asset_form input[name$="asset[name]"]').val();
|
702
515
|
var formData = {
|
703
516
|
"asset[name]": asset_name,
|
704
|
-
"asset[asset_collection_ids]": $("#asset_asset_collection_ids").val(),
|
705
|
-
"new_collection[new_collection_name]": $('input[name$="new_collection[new_collection_name]"]').val()
|
706
|
-
}
|
517
|
+
"asset[asset_collection_ids]": $("#ajax_new_asset_form #asset_asset_collection_ids").val(),
|
518
|
+
"new_collection[new_collection_name]": $('#ajax_new_asset_form input[name$="new_collection[new_collection_name]"]').val()
|
519
|
+
};
|
707
520
|
|
708
521
|
/*
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
522
|
+
prepareing ajax file upload
|
523
|
+
url: the url of script file handling the uploaded files
|
524
|
+
fileElementId: the file type of input element id and it will be the index of $_FILES Array()
|
525
|
+
dataType: it support json, xml
|
526
|
+
secureuri:use secure protocol
|
527
|
+
success: call back function when the ajax complete
|
528
|
+
error: callback function when the ajax failed
|
529
|
+
|
530
|
+
*/
|
718
531
|
$.ajaxFileUpload({
|
719
532
|
url: '/admin/add_asset_using_ajax',
|
720
533
|
secureuri: false,
|
721
|
-
fileElementId: '
|
534
|
+
fileElementId: 'ajax_asset_file',
|
722
535
|
dataType: 'json',
|
723
536
|
data: formData,
|
724
537
|
success: function(data, status) {
|
@@ -731,44 +544,27 @@ function ajaxFileUpload(link) {
|
|
731
544
|
}
|
732
545
|
|
733
546
|
|
734
|
-
new_id = data["asset_id"]
|
735
|
-
file_path = data["url"]
|
547
|
+
new_id = data["asset_id"];
|
548
|
+
file_path = data["url"];
|
736
549
|
jwysiwyg_image = data["jwysiwyg_image"];
|
737
550
|
|
738
551
|
try{
|
739
552
|
AssetBrowser.target.attr("value", new_id);
|
740
553
|
AssetBrowser.nameDisplay.html(asset_name);
|
741
554
|
if (AssetBrowser.link_parent.find("img").length > 0) {
|
742
|
-
AssetBrowser.link_parent.find("img").attr('src', file_path)
|
743
|
-
|
555
|
+
AssetBrowser.link_parent.find("img").attr('src', file_path);
|
744
556
|
} else {
|
745
|
-
AssetBrowser.link_parent.prepend("<img src='" + file_path + "' />")
|
557
|
+
AssetBrowser.link_parent.prepend("<img src='" + file_path + "' />");
|
746
558
|
}
|
747
559
|
}catch(e){}
|
748
560
|
if(data["category"] == "image")
|
749
|
-
|
561
|
+
insertImageInWysiwyg(jwysiwyg_image,data["category"],data["title"]);
|
750
562
|
else
|
751
|
-
|
563
|
+
insertImageInWysiwyg(file_path,data["category"],data["title"]);
|
752
564
|
|
753
565
|
data_id = $(this).attr("data_id");
|
754
566
|
url = AssetBrowser.logo_setting_url;
|
755
|
-
|
756
|
-
|
757
|
-
if (AssetBrowser.actualLink.hasClass("add_image_to_gallery")) {
|
758
|
-
$.ajax({
|
759
|
-
url: AssetBrowser.actualLink.attr("data_url"),
|
760
|
-
data: 'asset_id=' + new_id,
|
761
|
-
type: "GET",
|
762
|
-
success: function(data) {
|
763
|
-
$("#images_container").html(data);
|
764
|
-
initEditGalleryList();
|
765
|
-
dragTreeManager.init();
|
766
|
-
},
|
767
|
-
error: function(data) {
|
768
|
-
}
|
769
|
-
});
|
770
|
-
}
|
771
|
-
|
567
|
+
autoSaveAsset(url, new_id); // only if autosave is required
|
772
568
|
|
773
569
|
AssetBrowser.close();
|
774
570
|
},
|
@@ -776,13 +572,18 @@ function ajaxFileUpload(link) {
|
|
776
572
|
console.log(data);
|
777
573
|
console.log(e);
|
778
574
|
}
|
779
|
-
})
|
575
|
+
});
|
576
|
+
|
577
|
+
$(".ajax-upload-progress").show();
|
578
|
+
window.setTimeout(function(){
|
579
|
+
$("#ajax_asset_file").blur();
|
580
|
+
}, 10);
|
780
581
|
|
781
582
|
return false;
|
782
583
|
|
783
584
|
}
|
784
585
|
|
785
|
-
|
586
|
+
/* Setup jcrop - image cropping library for asset library */
|
786
587
|
|
787
588
|
function initJcrop(image_type, w, h) {
|
788
589
|
var ratio = w/(h*1.0);
|
@@ -801,50 +602,25 @@ function initJcrop(image_type, w, h) {
|
|
801
602
|
|
802
603
|
|
803
604
|
|
804
|
-
|
805
|
-
|
806
|
-
};
|
807
|
-
|
808
|
-
|
809
|
-
|
810
|
-
|
811
|
-
|
605
|
+
/* Setup publish date and time fields */
|
812
606
|
|
813
607
|
function initPublishedDateTime() {
|
814
|
-
|
815
|
-
|
816
608
|
$(".publishing_state").change(function(){
|
817
|
-
updatePublishedDateField()
|
818
|
-
})
|
609
|
+
updatePublishedDateField();
|
610
|
+
});
|
819
611
|
|
820
612
|
function updatePublishedDateField(){
|
821
613
|
if($(".publishing_state").val()=="published"){
|
822
|
-
$(".published_at").show()
|
614
|
+
$(".published_at").show();
|
823
615
|
}else{
|
824
|
-
$(".published_at").hide()
|
616
|
+
$(".published_at").hide();
|
825
617
|
}
|
826
618
|
}
|
827
|
-
updatePublishedDateField()
|
619
|
+
updatePublishedDateField();
|
828
620
|
}
|
829
621
|
|
830
622
|
|
831
|
-
|
832
|
-
function initEditGalleryList() {
|
833
|
-
$(".delete_gallery_item").click(delete_event_handler_for_gallery_list)
|
834
|
-
|
835
|
-
}
|
836
|
-
|
837
|
-
function delete_event_handler_for_gallery_list() {
|
838
|
-
id = $(this).attr("rel")
|
839
|
-
$("#progress_" + id).show("fast")
|
840
|
-
$.ajax({
|
841
|
-
url: $(this).attr("data-url"),
|
842
|
-
type: "GET",
|
843
|
-
success: function(data) {
|
844
|
-
$("#node-" + id).remove();
|
845
|
-
}
|
846
|
-
});
|
847
|
-
}
|
623
|
+
/* Setup Bulk actions for asset library */
|
848
624
|
|
849
625
|
var selected_assets_ids = [];
|
850
626
|
function initBulkDeleteAsset(){
|
@@ -854,7 +630,7 @@ function initBulkDeleteAsset(){
|
|
854
630
|
selected_assets_ids.push($(this).attr("rel"));
|
855
631
|
$(".delete_selected_assets").show();
|
856
632
|
}else{
|
857
|
-
selected_assets_ids.remove($(this).attr("rel"))
|
633
|
+
selected_assets_ids.remove($(this).attr("rel"));
|
858
634
|
if(selected_assets_ids.length <= 0){
|
859
635
|
$(".delete_selected_assets").hide();
|
860
636
|
}
|
@@ -867,21 +643,20 @@ function initBulkDeleteAsset(){
|
|
867
643
|
selected_assets_ids = [];
|
868
644
|
if($(".select_all_assets").is(':checked')){
|
869
645
|
$(".select_asset_checkbox").each(function(){
|
870
|
-
|
646
|
+
selected_assets_ids.push($(this).attr("rel"));
|
871
647
|
});
|
872
648
|
$(".delete_selected_assets").show();
|
873
649
|
}else{
|
874
650
|
selected_assets_ids = [];
|
875
651
|
$(".delete_selected_assets").hide();
|
876
652
|
}
|
877
|
-
|
878
653
|
});
|
879
654
|
|
880
655
|
$(".delete_selected_assets").click(function(e){
|
881
656
|
if(selected_assets_ids == null || selected_assets_ids.length <= 0){
|
882
|
-
alert("Please select at least one asset.")
|
657
|
+
alert("Please select at least one asset.");
|
883
658
|
}else{
|
884
|
-
var answer = confirm("Are you sure to delete all selected assets?")
|
659
|
+
var answer = confirm("Are you sure to delete all selected assets?");
|
885
660
|
if(answer){
|
886
661
|
$("form#delete_selected_assets_form input").val(selected_assets_ids);
|
887
662
|
$("form#delete_selected_assets_form").submit();
|
@@ -892,19 +667,7 @@ function initBulkDeleteAsset(){
|
|
892
667
|
}
|
893
668
|
|
894
669
|
|
895
|
-
|
896
|
-
Array.prototype.remove= function(){
|
897
|
-
var what, a= arguments, L= a.length, ax;
|
898
|
-
while(L && this.length){
|
899
|
-
what= a[--L];
|
900
|
-
while((ax= this.indexOf(what))!= -1){
|
901
|
-
this.splice(ax, 1);
|
902
|
-
}
|
903
|
-
}
|
904
|
-
return this;
|
905
|
-
}
|
906
|
-
|
907
|
-
// Audio
|
670
|
+
/* Setup Audio */
|
908
671
|
|
909
672
|
function setUpAudio(){
|
910
673
|
soundManager.setup({
|
@@ -914,10 +677,6 @@ function setUpAudio(){
|
|
914
677
|
});
|
915
678
|
}
|
916
679
|
|
917
|
-
function setUp360(){
|
918
|
-
|
919
|
-
}
|
920
|
-
|
921
680
|
function stopAudio(){
|
922
681
|
if(!blank(basicMP3Player) && basicMP3Player.lastSound !== null){
|
923
682
|
basicMP3Player.stopSound(basicMP3Player.lastSound);
|
@@ -925,7 +684,7 @@ function stopAudio(){
|
|
925
684
|
}
|
926
685
|
|
927
686
|
function initCollectionAccordion(){
|
928
|
-
$(".collapse").collapse({parent: "#accordion_for_collections"})
|
687
|
+
$(".collapse").collapse({parent: "#accordion_for_collections"});
|
929
688
|
$(".accordion-heading a").click(function(e){
|
930
689
|
var target = $(this);
|
931
690
|
var accordionContent = $(target.attr('href'));
|
@@ -934,7 +693,7 @@ function initCollectionAccordion(){
|
|
934
693
|
|
935
694
|
if(accordionContentInner.attr("content-loaded") == "false"){
|
936
695
|
accordionContentInner.prepend("<img src='/assets/gb_spinner.gif' class='gb_spinner'/>");
|
937
|
-
$.get("/admin/browser-collection/"+collectionID+".json", function(data){
|
696
|
+
$.get("/admin/browser-collection/"+collectionID+".json?open_link=true", function(data){
|
938
697
|
$(".gb_spinner").remove();
|
939
698
|
accordionContentInner.prepend(data['markup']);
|
940
699
|
});
|
@@ -942,3 +701,489 @@ function initCollectionAccordion(){
|
|
942
701
|
}
|
943
702
|
});
|
944
703
|
}
|
704
|
+
|
705
|
+
|
706
|
+
|
707
|
+
/* Redactor wysiwyg Setup and its plugins */
|
708
|
+
var linkCount = 0;
|
709
|
+
function enableRedactor(selector, _linkCount) {
|
710
|
+
$(document).ready(function() {
|
711
|
+
linkCount = _linkCount;
|
712
|
+
$(selector).redactor({
|
713
|
+
linkEmail: true,
|
714
|
+
linkAnchor: true,
|
715
|
+
minHeight: 200,
|
716
|
+
autoresize: false,
|
717
|
+
buttons: ['formatting', '|', 'bold',
|
718
|
+
'italic', 'underline', '|', 'alignment', '|',
|
719
|
+
'unorderedlist', 'orderedlist',
|
720
|
+
'outdent', 'indent', '|', 'video',
|
721
|
+
'table', '|', 'html', '|', 'fullscreen'
|
722
|
+
],
|
723
|
+
plugins: ['asset_library_image', 'gluttonberg_embeds', 'gluttonberg_pages', 'fullscreen'],
|
724
|
+
keyupCallback : function(){
|
725
|
+
WarnNavigateAway.changeEventHandler();
|
726
|
+
AutoSave.changeEventHandler();
|
727
|
+
}
|
728
|
+
});
|
729
|
+
|
730
|
+
});
|
731
|
+
}
|
732
|
+
|
733
|
+
|
734
|
+
|
735
|
+
/* Setup Slug management */
|
736
|
+
function initBetterSlugManagement() {
|
737
|
+
var str = $('#page_slug_holder .domain').html();
|
738
|
+
var pt = $('#page_title');
|
739
|
+
var pb = $('#page_slug .edit');
|
740
|
+
var ps = $('#page_slug span');
|
741
|
+
var hs = $('#page_hidden_slug');
|
742
|
+
var regex = /[\!\*'"″′‟‛„‚”“”˝\(\);:.@&=+$,\/?%#\[\]]/gim;
|
743
|
+
var doNotEdit = ps.attr('donotedit');
|
744
|
+
var editPage = false;
|
745
|
+
var slugLength = 0;
|
746
|
+
var slug = "";
|
747
|
+
var currentSlug = "";
|
748
|
+
|
749
|
+
if (typeof doNotEdit == 'string') {
|
750
|
+
doNotEdit = true;
|
751
|
+
editPage = true;
|
752
|
+
} else {
|
753
|
+
doNotEdit = false;
|
754
|
+
}
|
755
|
+
|
756
|
+
if(pt.length > 0 && ps.length > 0 && hs.length > 0 ){
|
757
|
+
|
758
|
+
$('#page_slug_holder .domain').html($.trim(str));
|
759
|
+
|
760
|
+
pt.keyup(function(){
|
761
|
+
if (!doNotEdit) {
|
762
|
+
slug = pt.val().toLowerCase().replace(/\s/gim, '-').replace(regex, '');
|
763
|
+
ps.html(slug);
|
764
|
+
hs.val(slug);
|
765
|
+
}
|
766
|
+
});
|
767
|
+
|
768
|
+
pb.click(function(){
|
769
|
+
hs.show();
|
770
|
+
ps.hide();
|
771
|
+
pb.hide();
|
772
|
+
hs.focus();
|
773
|
+
doNotEdit = true;
|
774
|
+
slugLength = hs.val().length;
|
775
|
+
currentSlug = hs.val();
|
776
|
+
});
|
777
|
+
|
778
|
+
hs.focusout(function(){
|
779
|
+
var len = hs.val().length;
|
780
|
+
if (doNotEdit) {
|
781
|
+
if (len == 0) {
|
782
|
+
hs.hide();
|
783
|
+
ps.show();
|
784
|
+
pb.show();
|
785
|
+
if (!editPage) {
|
786
|
+
doNotEdit = false;
|
787
|
+
slug = pt.val().toLowerCase().replace(/\s/gim, '_').replace(regex, '');
|
788
|
+
ps.html(slug);
|
789
|
+
hs.val(slug);
|
790
|
+
} else {
|
791
|
+
hs.val(currentSlug);
|
792
|
+
}
|
793
|
+
} else {
|
794
|
+
hs.hide();
|
795
|
+
ps.show();
|
796
|
+
pb.show();
|
797
|
+
ps.html(hs.val().toLowerCase().replace(/\s/gim, '_').replace(regex, ''));
|
798
|
+
doNotEdit = true;
|
799
|
+
}
|
800
|
+
}
|
801
|
+
});
|
802
|
+
}
|
803
|
+
|
804
|
+
}
|
805
|
+
|
806
|
+
|
807
|
+
// This method initialize slug related event on a title text box.
|
808
|
+
function initSlugManagement() {
|
809
|
+
try {
|
810
|
+
var pt = $('#page_title');
|
811
|
+
var ps = $('#page_slug');
|
812
|
+
var donotmodify = (ps.attr('donotmodify') == 'true') || ps.val().length > 1;
|
813
|
+
|
814
|
+
if(pt.length > 0 && ps.length > 0 ){
|
815
|
+
var regex = /[\!\*'"″′‟‛„‚”“”˝\(\);:.@&=+$,\/?%#\[\]]/gim;
|
816
|
+
var pt_function = function() {
|
817
|
+
if (!donotmodify)
|
818
|
+
ps.val(pt.val().toLowerCase().replace(/\s/gim, '-').replace(regex, ''));
|
819
|
+
};
|
820
|
+
|
821
|
+
pt.bind("keyup", pt_function);
|
822
|
+
pt.bind("blur", pt_function);
|
823
|
+
|
824
|
+
ps.bind("blur", function() {
|
825
|
+
ps.val(ps.val().toLowerCase().replace(/\s/gim, '-').replace(regex, ''));
|
826
|
+
ps.attr('donotmodify', 'true');
|
827
|
+
});
|
828
|
+
}
|
829
|
+
} catch(e) {}
|
830
|
+
}
|
831
|
+
|
832
|
+
function enable_slug_management_on(src_class){
|
833
|
+
$("."+src_class).attr('id','page_title');
|
834
|
+
}
|
835
|
+
/*
|
836
|
+
Nestable is used for reordering pages.
|
837
|
+
*/
|
838
|
+
|
839
|
+
function initNestable(){
|
840
|
+
window.nestableSerializedDataOnPageLoad = [];
|
841
|
+
$(".collapse_all").click(function(e){
|
842
|
+
$.get("/admin/pages/collapse_all", function( data ) {
|
843
|
+
});
|
844
|
+
$('.dd').nestable('collapseAll');
|
845
|
+
e.preventDefault();
|
846
|
+
});
|
847
|
+
|
848
|
+
$(".expand_all").click(function(e){
|
849
|
+
$.get("/admin/pages/expand_all", function( data ) {});
|
850
|
+
$('.dd').nestable('expandAll');
|
851
|
+
e.preventDefault();
|
852
|
+
});
|
853
|
+
|
854
|
+
$('.dd.dd-sortable').each(function(){
|
855
|
+
var $list = $(this);
|
856
|
+
var $saveButton = $($list.attr('data-saveButton'));
|
857
|
+
$saveButton.attr('disabled', 'disabled');
|
858
|
+
$listNestable = $list.nestable({
|
859
|
+
/* config options */
|
860
|
+
maxDepth: 10
|
861
|
+
}).on("change", function(){
|
862
|
+
if(doesListReallyChanged($list) ){
|
863
|
+
enableButton($saveButton);
|
864
|
+
}
|
865
|
+
});
|
866
|
+
|
867
|
+
$saveButton.click(function(e){
|
868
|
+
if(blank($saveButton.attr('disabled'))){
|
869
|
+
saveNestableData($list, $saveButton);
|
870
|
+
}
|
871
|
+
e.preventDefault();
|
872
|
+
});
|
873
|
+
|
874
|
+
updateCurrentState($list);
|
875
|
+
|
876
|
+
$(".nestable_dragtree button[data-action='collapse']").click(function(e){
|
877
|
+
var pageID = $(this).parents(".dd-item").attr('data-id');
|
878
|
+
$.get( "/admin/pages/"+pageID+"/collapse", function( data ) {
|
879
|
+
|
880
|
+
});
|
881
|
+
});
|
882
|
+
|
883
|
+
$(".nestable_dragtree button[data-action='expand']").click(function(e){
|
884
|
+
var pageID = $(this).parents(".dd-item").attr('data-id');
|
885
|
+
$.get( "/admin/pages/"+pageID+"/expand", function( data ) {
|
886
|
+
|
887
|
+
});
|
888
|
+
});
|
889
|
+
});
|
890
|
+
|
891
|
+
function saveNestableData(list, saveButton){
|
892
|
+
updateCurrentState(list);
|
893
|
+
var url = list.attr('data-url');
|
894
|
+
if (window.JSON) {
|
895
|
+
var data = window.JSON.stringify(list.nestable('serialize'));
|
896
|
+
$.ajax({
|
897
|
+
type: "POST",
|
898
|
+
url: url,
|
899
|
+
data: "nestable_serialized_data=" + data,
|
900
|
+
beforeSend: function(jqXHR, settings){
|
901
|
+
showOverlay();
|
902
|
+
},
|
903
|
+
success: function(html){
|
904
|
+
window.setTimeout(function(){
|
905
|
+
hideOverlay();
|
906
|
+
},500);
|
907
|
+
if(!blank(saveButton)){
|
908
|
+
disableButton(saveButton);
|
909
|
+
}
|
910
|
+
},
|
911
|
+
error: function(html){
|
912
|
+
$("#assetsDialogOverlay").html(html.responseText);
|
913
|
+
window.setTimeout(function(){
|
914
|
+
hideOverlay();
|
915
|
+
},10000);
|
916
|
+
}
|
917
|
+
});
|
918
|
+
} else {
|
919
|
+
console.log('JSON browser support required for this demo.');
|
920
|
+
}
|
921
|
+
}
|
922
|
+
|
923
|
+
function enableButton(saveButton){
|
924
|
+
WarnNavigateAway.changeEventHandler();
|
925
|
+
saveButton.removeAttr('disabled');
|
926
|
+
saveButton.addClass('btn-primary');
|
927
|
+
}
|
928
|
+
|
929
|
+
function disableButton(saveButton){
|
930
|
+
WarnNavigateAway.removeEventHandler();
|
931
|
+
saveButton.attr('disabled', 'disabled');
|
932
|
+
saveButton.removeClass('btn-primary');
|
933
|
+
}
|
934
|
+
|
935
|
+
function updateCurrentState(list){
|
936
|
+
window.nestableSerializedDataOnPageLoad[list.attr('data-id')] = list.nestable('serialize');
|
937
|
+
}
|
938
|
+
|
939
|
+
function doesListReallyChanged(list){
|
940
|
+
var change = JSON.stringify(window.nestableSerializedDataOnPageLoad[list.attr('data-id')]) != JSON.stringify(list.nestable('serialize'));
|
941
|
+
return change;
|
942
|
+
}
|
943
|
+
}
|
944
|
+
|
945
|
+
var WarnNavigateAway = {
|
946
|
+
init: function(){
|
947
|
+
$('input:not(:button,:submit),textarea,select').each(function(){
|
948
|
+
$(this).change(WarnNavigateAway.changeEventHandler);
|
949
|
+
$(this).keydown(WarnNavigateAway.changeEventHandler);
|
950
|
+
});
|
951
|
+
|
952
|
+
$('form').submit(WarnNavigateAway.removeEventHandler);
|
953
|
+
},
|
954
|
+
|
955
|
+
changeEventHandler : function(e){
|
956
|
+
if(!editingInProgress){
|
957
|
+
setNavigationAwayConfirm();
|
958
|
+
}
|
959
|
+
editingInProgress = true;
|
960
|
+
function setNavigationAwayConfirm(){
|
961
|
+
window.onbeforeunload = function() {
|
962
|
+
AutoSave.save_now();
|
963
|
+
return "Any changes to this page will not be saved.";
|
964
|
+
};
|
965
|
+
}
|
966
|
+
},
|
967
|
+
removeEventHandler : function(){
|
968
|
+
editingInProgress = false;
|
969
|
+
window.onbeforeunload = function() { };
|
970
|
+
}
|
971
|
+
};
|
972
|
+
|
973
|
+
|
974
|
+
function initGalleryImageRepeater(){
|
975
|
+
var containerselector = ".form_field_wrapper[data-field='gallery_images'] ul:first";
|
976
|
+
var rowSelector = "li.row-fluid.gallery_image_repeater_form";
|
977
|
+
$(".add_gallery_image").click(function(e){
|
978
|
+
HtmlFormRepeater.add(containerselector, rowSelector, this, function(newElement){
|
979
|
+
initClickEventsForAssetLinks(newElement);
|
980
|
+
newElement.find(".remove").click();
|
981
|
+
initHiddenFieldListner(newElement);
|
982
|
+
});
|
983
|
+
e.preventDefault();
|
984
|
+
});
|
985
|
+
|
986
|
+
HtmlFormRepeater.initRemoveButton(containerselector, rowSelector);
|
987
|
+
HtmlFormRepeater.initSorter(containerselector, rowSelector);
|
988
|
+
|
989
|
+
initHiddenFieldListner($("body"));
|
990
|
+
function initHiddenFieldListner(container){
|
991
|
+
container.find(".choose_asset_hidden_field").on('selected', function(event, title, credits){
|
992
|
+
var formRow = $(this).parents("li.gallery_image_repeater_form");
|
993
|
+
if(!blank(title) && blank(formRow.find(".caption-field").val())){
|
994
|
+
formRow.find(".caption-field").val(title);
|
995
|
+
}
|
996
|
+
if(!blank(credits) && blank(formRow.find(".credits-field").val())){
|
997
|
+
formRow.find(".credits-field").val(credits);
|
998
|
+
}
|
999
|
+
});
|
1000
|
+
}
|
1001
|
+
}
|
1002
|
+
|
1003
|
+
/* If user modifies something in forms Autosave sends an ajax call to server and save form json dump */
|
1004
|
+
var AutoSave = {
|
1005
|
+
init : function(class_name){
|
1006
|
+
$(".retreive_changes").click(AutoSave.retrieve);
|
1007
|
+
$(".cancel_changes").click(AutoSave.destroy);
|
1008
|
+
$('input:not(:button,:submit),textarea,select').each(function(){
|
1009
|
+
$(this).change(AutoSave.changeEventHandler);
|
1010
|
+
$(this).keydown(AutoSave.changeEventHandler);
|
1011
|
+
});
|
1012
|
+
},
|
1013
|
+
changeEventHandler: function(e){
|
1014
|
+
changedSinceLastAutoSave = true;
|
1015
|
+
},
|
1016
|
+
save_now: function(successCallback){
|
1017
|
+
var version = getParameterByName(window.location, 'version');
|
1018
|
+
|
1019
|
+
if(!blank(version) || changedSinceLastAutoSave){
|
1020
|
+
var form = AutoSave.formObj;
|
1021
|
+
if(form == undefined){
|
1022
|
+
form = $("form.auto_save");
|
1023
|
+
}
|
1024
|
+
if(form != null && form.length > 0 ){
|
1025
|
+
$.ajax({
|
1026
|
+
url: AutoSave.autosave_url+(blank(version) ? '' : '?version='+version),
|
1027
|
+
data: form.serialize(),
|
1028
|
+
type: "POST",
|
1029
|
+
success: function(data) {
|
1030
|
+
|
1031
|
+
},
|
1032
|
+
complete: function(){
|
1033
|
+
if(successCallback != undefined){
|
1034
|
+
successCallback();
|
1035
|
+
}
|
1036
|
+
}
|
1037
|
+
});
|
1038
|
+
}
|
1039
|
+
}else{
|
1040
|
+
if(successCallback != undefined){
|
1041
|
+
successCallback();
|
1042
|
+
}
|
1043
|
+
}
|
1044
|
+
},
|
1045
|
+
save : function(autosave_url, delay , form){
|
1046
|
+
AutoSave.autosave_url = autosave_url;
|
1047
|
+
AutoSave.delay = delay;
|
1048
|
+
AutoSave.formObj = form;
|
1049
|
+
setTimeout(function(){
|
1050
|
+
if(changedSinceLastAutoSave){
|
1051
|
+
if(form == undefined){
|
1052
|
+
form = $("form.auto_save");
|
1053
|
+
}
|
1054
|
+
if(form != null && form.length > 0 ){
|
1055
|
+
$.ajax({
|
1056
|
+
url: autosave_url,
|
1057
|
+
data: form.serialize(),
|
1058
|
+
type: "POST",
|
1059
|
+
success: function(data) {
|
1060
|
+
changedSinceLastAutoSave = false;
|
1061
|
+
},
|
1062
|
+
complete: function(){
|
1063
|
+
AutoSave.save(autosave_url,delay , form);
|
1064
|
+
}
|
1065
|
+
});
|
1066
|
+
}
|
1067
|
+
}else{
|
1068
|
+
AutoSave.save(autosave_url,delay , form);
|
1069
|
+
}
|
1070
|
+
},delay * 1000);
|
1071
|
+
},
|
1072
|
+
retrieve : function(e){
|
1073
|
+
var self = $(this);
|
1074
|
+
$.getJSON(self.attr("href"), function(data) {
|
1075
|
+
updateForm(data, self.attr("data-param-name"));
|
1076
|
+
});
|
1077
|
+
|
1078
|
+
function updateForm(data, prefix){
|
1079
|
+
|
1080
|
+
function getAssetDetails(val, element){
|
1081
|
+
$.getJSON("/admin/assets/"+val+".json", function(data){
|
1082
|
+
data = data["asset"];
|
1083
|
+
if (element.parents(".asset_selector_wrapper").find("img").length > 0) {
|
1084
|
+
element.parents(".asset_selector_wrapper").find("img").attr('src', data["small_thumb"]);
|
1085
|
+
} else {
|
1086
|
+
element.parents(".asset_selector_wrapper").prepend("<img src='" + data["small_thumb"] + "' />");
|
1087
|
+
}
|
1088
|
+
element.parents(".caption").find("h5").html(data["name"]);
|
1089
|
+
});
|
1090
|
+
}
|
1091
|
+
|
1092
|
+
for(index in data){
|
1093
|
+
var val = data[index];
|
1094
|
+
var name = prefix + "["+ index +"]";
|
1095
|
+
if((typeof val) == "object"){
|
1096
|
+
if(val instanceof Array){
|
1097
|
+
var element = $("[name='"+name+"']");
|
1098
|
+
if(element.length == 0){
|
1099
|
+
element = $("[name='"+name+"[]']");
|
1100
|
+
}
|
1101
|
+
if(element.length >= 1 && element.is("select")){
|
1102
|
+
element.find("option").prop("selected", false);
|
1103
|
+
for(option in val){
|
1104
|
+
element.find("option[value='"+val[option]+"']").prop("selected", true);
|
1105
|
+
}
|
1106
|
+
}
|
1107
|
+
|
1108
|
+
}else{
|
1109
|
+
updateForm(val, name);
|
1110
|
+
}
|
1111
|
+
}else{
|
1112
|
+
var element = $("[name='"+name+"']");
|
1113
|
+
if(element.length >= 1){
|
1114
|
+
if(element.hasClass("jwysiwyg")){
|
1115
|
+
element.redactor('set', val);
|
1116
|
+
}else if(element.attr("type") == "file"){
|
1117
|
+
// ignore
|
1118
|
+
}else if(element.attr("type") == "password"){
|
1119
|
+
// ignore
|
1120
|
+
}else if(element.attr("type") == "checkbox"){
|
1121
|
+
element.attr("checked", "checked");
|
1122
|
+
}else if(element.attr("type") == "radio"){
|
1123
|
+
// ignore
|
1124
|
+
}else if(element.is(".choose_asset_hidden_field")){
|
1125
|
+
element.val(val);
|
1126
|
+
if(!blank(val)){
|
1127
|
+
getAssetDetails(val, element);
|
1128
|
+
|
1129
|
+
}else{
|
1130
|
+
//delete
|
1131
|
+
}
|
1132
|
+
|
1133
|
+
}else{
|
1134
|
+
element.val(val);
|
1135
|
+
}
|
1136
|
+
}
|
1137
|
+
}
|
1138
|
+
}
|
1139
|
+
}//updateForm
|
1140
|
+
|
1141
|
+
e.preventDefault();
|
1142
|
+
},
|
1143
|
+
destroy: function(e){
|
1144
|
+
$.getJSON($(this).attr("href"), function(data) {
|
1145
|
+
$(".restore-auto-save").hide();
|
1146
|
+
});
|
1147
|
+
e.preventDefault();
|
1148
|
+
}
|
1149
|
+
};
|
1150
|
+
|
1151
|
+
|
1152
|
+
function initPublishingButton(){
|
1153
|
+
$(".publishing_btn").click(function(e){
|
1154
|
+
var id = $(this).attr('id');
|
1155
|
+
if(id == "draft_btn" || id == "unpublish_btn"){
|
1156
|
+
$("._publish_state").val("draft");
|
1157
|
+
} else if(id == "publish_btn" || id == "update_btn"){
|
1158
|
+
$("._publish_state").val("published");
|
1159
|
+
} else if(id == "approval_btn"){
|
1160
|
+
$("._publish_status").val("submitted_for_approval");
|
1161
|
+
} else if(id == "revision_btn"){
|
1162
|
+
$("._publish_status").val("revision");
|
1163
|
+
}
|
1164
|
+
});
|
1165
|
+
}
|
1166
|
+
|
1167
|
+
function initPreview(){
|
1168
|
+
$(".preview-page").click(function(e){
|
1169
|
+
var $this = $(this);
|
1170
|
+
var url = $this.attr('data-url');
|
1171
|
+
AutoSave.save_now(function(){
|
1172
|
+
window.open(url);
|
1173
|
+
});
|
1174
|
+
e.preventDefault();
|
1175
|
+
})
|
1176
|
+
}
|
1177
|
+
|
1178
|
+
|
1179
|
+
function shortcodeNameValidation() {
|
1180
|
+
var regex = /[\!\*'"″′‟‛„‚”“”˝\(\);:.@&=+$,\/?%#\[\]]/gim;
|
1181
|
+
var field = $("#gluttonberg_embed_shortcode");
|
1182
|
+
|
1183
|
+
field.bind("blur", function() {
|
1184
|
+
field.val(field.val().toLowerCase().replace(/\s/gim, '-').replace(regex, ''));
|
1185
|
+
});
|
1186
|
+
field.bind("keyup", function() {
|
1187
|
+
field.val(field.val().toLowerCase().replace(/\s/gim, '-').replace(regex, ''));
|
1188
|
+
});
|
1189
|
+
}
|