base2_ckeditor 4.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +39 -0
- data/MIT-LICENSE +20 -0
- data/README.md +240 -0
- data/Rakefile +66 -0
- data/app/assets/javascripts/ckeditor/application.js +5 -0
- data/app/assets/javascripts/ckeditor/config.js +92 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/gal_add.jpg +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/gal_add.png +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/gal_del.png +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/gal_more.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/preloader.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/avi.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/ckfnothumb.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/doc.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/docx.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/exe.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/gz.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/htm.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/jpg.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/mp3.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/mpg.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/pdf.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/psd.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/rar.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/swf.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/tar.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/txt.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/unknown.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/wmv.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/xls.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/xlsx.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/images/thumbs/zip.gif +0 -0
- data/app/assets/javascripts/ckeditor/filebrowser/javascripts/application.js.erb +220 -0
- data/app/assets/javascripts/ckeditor/filebrowser/javascripts/fileuploader.js +1301 -0
- data/app/assets/javascripts/ckeditor/filebrowser/javascripts/jquery.min.js +4 -0
- data/app/assets/javascripts/ckeditor/filebrowser/javascripts/jquery.tmpl.min.js +10 -0
- data/app/assets/javascripts/ckeditor/filebrowser/javascripts/rails.js +373 -0
- data/app/assets/javascripts/ckeditor/filebrowser/stylesheets/uploader.css.erb +118 -0
- data/app/assets/javascripts/ckeditor/init.js.erb +16 -0
- data/app/assets/javascripts/ckeditor/override.js.erb +21 -0
- data/app/assets/stylesheets/ckeditor/application.css +6 -0
- data/app/controllers/ckeditor/application_controller.rb +27 -0
- data/app/controllers/ckeditor/attachment_files_controller.rb +28 -0
- data/app/controllers/ckeditor/pictures_controller.rb +28 -0
- data/app/helpers/ckeditor/application_helper.rb +11 -0
- data/app/views/ckeditor/attachment_files/index.html.erb +15 -0
- data/app/views/ckeditor/pictures/index.html.erb +15 -0
- data/app/views/ckeditor/shared/_asset.html.erb +20 -0
- data/app/views/ckeditor/shared/_asset_tmpl.html.erb +22 -0
- data/app/views/layouts/ckeditor/application.html.erb +30 -0
- data/config/locales/cs.ckeditor.yml +8 -0
- data/config/locales/de.ckeditor.yml +8 -0
- data/config/locales/el-GR.cdkeditor.yml +8 -0
- data/config/locales/en.ckeditor.yml +8 -0
- data/config/locales/es.ckeditor.yml +8 -0
- data/config/locales/fr.ckeditor.yml +8 -0
- data/config/locales/hu.ckeditor.yml +8 -0
- data/config/locales/it.ckeditor.yml +8 -0
- data/config/locales/nl.ckeditor.yml +8 -0
- data/config/locales/pl.ckeditor.yml +8 -0
- data/config/locales/pt-BR.ckeditor.yml +8 -0
- data/config/locales/pt-PT.ckeditor.yml +8 -0
- data/config/locales/ru.ckeditor.yml +8 -0
- data/config/locales/sv-SE.ckeditor.yml +8 -0
- data/config/locales/uk.ckeditor.yml +8 -0
- data/config/locales/zh-CN.ckeditor.yml +8 -0
- data/config/routes.rb +4 -0
- data/lib/ckeditor.rb +184 -0
- data/lib/ckeditor/backend/carrierwave.rb +64 -0
- data/lib/ckeditor/backend/dragonfly.rb +45 -0
- data/lib/ckeditor/backend/paperclip.rb +56 -0
- data/lib/ckeditor/engine.rb +38 -0
- data/lib/ckeditor/helpers/controllers.rb +34 -0
- data/lib/ckeditor/helpers/form_builder.rb +11 -0
- data/lib/ckeditor/helpers/form_helper.rb +11 -0
- data/lib/ckeditor/helpers/view_helper.rb +11 -0
- data/lib/ckeditor/hooks/cancan.rb +46 -0
- data/lib/ckeditor/hooks/formtastic.rb +12 -0
- data/lib/ckeditor/hooks/simple_form.rb +20 -0
- data/lib/ckeditor/http.rb +90 -0
- data/lib/ckeditor/orm/active_record.rb +24 -0
- data/lib/ckeditor/orm/base.rb +50 -0
- data/lib/ckeditor/orm/mongoid.rb +41 -0
- data/lib/ckeditor/text_area.rb +52 -0
- data/lib/ckeditor/utils.rb +87 -0
- data/lib/ckeditor/version.rb +6 -0
- data/lib/generators/ckeditor/install_generator.rb +83 -0
- data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/asset.rb +7 -0
- data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/attachment_file.rb +7 -0
- data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/picture.rb +7 -0
- data/lib/generators/ckeditor/templates/active_record/carrierwave/migration.rb +26 -0
- data/lib/generators/ckeditor/templates/active_record/dragonfly/ckeditor/asset.rb +7 -0
- data/lib/generators/ckeditor/templates/active_record/dragonfly/ckeditor/attachment_file.rb +7 -0
- data/lib/generators/ckeditor/templates/active_record/dragonfly/ckeditor/picture.rb +12 -0
- data/lib/generators/ckeditor/templates/active_record/dragonfly/migration.rb +27 -0
- data/lib/generators/ckeditor/templates/active_record/paperclip/ckeditor/asset.rb +4 -0
- data/lib/generators/ckeditor/templates/active_record/paperclip/ckeditor/attachment_file.rb +12 -0
- data/lib/generators/ckeditor/templates/active_record/paperclip/ckeditor/picture.rb +13 -0
- data/lib/generators/ckeditor/templates/active_record/paperclip/migration.rb +26 -0
- data/lib/generators/ckeditor/templates/base/carrierwave/uploaders/ckeditor_attachment_file_uploader.rb +36 -0
- data/lib/generators/ckeditor/templates/base/carrierwave/uploaders/ckeditor_picture_uploader.rb +47 -0
- data/lib/generators/ckeditor/templates/base/dragonfly/initializer.rb +26 -0
- data/lib/generators/ckeditor/templates/ckeditor.rb +23 -0
- data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/asset.rb +7 -0
- data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/attachment_file.rb +7 -0
- data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/picture.rb +7 -0
- data/lib/generators/ckeditor/templates/mongoid/paperclip/ckeditor/asset.rb +5 -0
- data/lib/generators/ckeditor/templates/mongoid/paperclip/ckeditor/attachment_file.rb +12 -0
- data/lib/generators/ckeditor/templates/mongoid/paperclip/ckeditor/picture.rb +13 -0
- data/test/ckeditor_test.rb +66 -0
- data/test/controllers/attachment_files_controller_test.rb +63 -0
- data/test/controllers/pictures_controller_test.rb +64 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +11 -0
- data/test/dummy/app/assets/stylesheets/application.css +7 -0
- data/test/dummy/app/assets/stylesheets/scaffold.css +56 -0
- data/test/dummy/app/controllers/application_controller.rb +4 -0
- data/test/dummy/app/controllers/posts_controller.rb +83 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/helpers/posts_helper.rb +2 -0
- data/test/dummy/app/models/post.rb +17 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/posts/_form.html.erb +30 -0
- data/test/dummy/app/views/posts/edit.html.erb +6 -0
- data/test/dummy/app/views/posts/index.html.erb +27 -0
- data/test/dummy/app/views/posts/new.html.erb +5 -0
- data/test/dummy/app/views/posts/show.html.erb +5 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +63 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/ckeditor.rb +10 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/mongoid.yml +2 -0
- data/test/dummy/config/routes.rb +6 -0
- data/test/dummy/db/migrate/20110623120047_create_posts.rb +14 -0
- data/test/dummy/log/test.log +288 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +26 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/dummy/test/fixtures/files/rails.png +0 -0
- data/test/dummy/test/fixtures/files/rails.tar.gz +0 -0
- data/test/functional/posts_controller_test.rb +41 -0
- data/test/generators/install_generator_test.rb +97 -0
- data/test/integration/navigation_test.rb +7 -0
- data/test/models/attachment_file_test.rb +22 -0
- data/test/models/picture_test.rb +21 -0
- data/test/models/utils_test.rb +19 -0
- data/test/orm/active_record.rb +1 -0
- data/test/orm/mongoid.rb +6 -0
- data/test/support/controller_hooks.rb +27 -0
- data/test/support/helpers.rb +30 -0
- data/test/support/integration_case.rb +5 -0
- data/test/support/raw_post.rb +9 -0
- data/test/support/routes.txt +4 -0
- data/test/test_helper.rb +38 -0
- data/test/tmp/app/models/ckeditor/asset.rb +5 -0
- data/test/tmp/app/models/ckeditor/attachment_file.rb +12 -0
- data/test/tmp/app/models/ckeditor/picture.rb +13 -0
- data/test/tmp/config/initializers/ckeditor.rb +23 -0
- data/test/tmp/config/routes.rb +6 -0
- data/vendor/assets/javascripts/ckeditor/CHANGES.md +342 -0
- data/vendor/assets/javascripts/ckeditor/LICENSE.md +1264 -0
- data/vendor/assets/javascripts/ckeditor/README.md +39 -0
- data/vendor/assets/javascripts/ckeditor/adapters/jquery.js +10 -0
- data/vendor/assets/javascripts/ckeditor/build-config.js +167 -0
- data/vendor/assets/javascripts/ckeditor/ckeditor.js +973 -0
- data/vendor/assets/javascripts/ckeditor/config.js +10 -0
- data/vendor/assets/javascripts/ckeditor/contents.css +106 -0
- data/vendor/assets/javascripts/ckeditor/lang/en.js +5 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +10 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +25 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +9 -0
- data/vendor/assets/javascripts/ckeditor/plugins/about/dialogs/about.js +7 -0
- data/vendor/assets/javascripts/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
- data/vendor/assets/javascripts/ckeditor/plugins/div/dialogs/div.js +9 -0
- data/vendor/assets/javascripts/ckeditor/plugins/fakeobjects/images/spacer.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/find/dialogs/find.js +24 -0
- data/vendor/assets/javascripts/ckeditor/plugins/flash/dialogs/flash.js +24 -0
- data/vendor/assets/javascripts/ckeditor/plugins/flash/images/placeholder.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/button.js +8 -0
- data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +8 -0
- data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/form.js +8 -0
- data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +8 -0
- data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/radio.js +8 -0
- data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/select.js +20 -0
- data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +8 -0
- data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +10 -0
- data/vendor/assets/javascripts/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/icons.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/icons_hidpi.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +10 -0
- data/vendor/assets/javascripts/ckeditor/plugins/iframe/images/placeholder.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +43 -0
- data/vendor/assets/javascripts/ckeditor/plugins/image/images/noimage.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/link/dialogs/anchor.js +8 -0
- data/vendor/assets/javascripts/ckeditor/plugins/link/dialogs/link.js +37 -0
- data/vendor/assets/javascripts/ckeditor/plugins/link/images/anchor.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +10 -0
- data/vendor/assets/javascripts/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/magicline/images/icon.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/pastefromword/filter/default.js +31 -0
- data/vendor/assets/javascripts/ckeditor/plugins/preview/preview.html +10 -0
- data/vendor/assets/javascripts/ckeditor/plugins/scayt/LICENSE.md +28 -0
- data/vendor/assets/javascripts/ckeditor/plugins/scayt/README.md +25 -0
- data/vendor/assets/javascripts/ckeditor/plugins/scayt/dialogs/options.js +20 -0
- data/vendor/assets/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +71 -0
- data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +10 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angel_smile.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angry_smile.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/broken_heart.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/confused_smile.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/cry_smile.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/devil_smile.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/embarrassed_smile.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/envelope.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/heart.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/kiss.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/lightbulb.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/omg_smile.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/regular_smile.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/sad_smile.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/shades_smile.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/teeth_smile.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_down.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_up.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/tongue_smile.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/wink_smile.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +20 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +14 -0
- data/vendor/assets/javascripts/ckeditor/plugins/table/dialogs/table.js +21 -0
- data/vendor/assets/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +16 -0
- data/vendor/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.css +84 -0
- data/vendor/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.js +10 -0
- data/vendor/assets/javascripts/ckeditor/plugins/templates/templates/default.js +6 -0
- data/vendor/assets/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/wsc/LICENSE.md +28 -0
- data/vendor/assets/javascripts/ckeditor/plugins/wsc/README.md +25 -0
- data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +66 -0
- data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/tmp.html +118 -0
- data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
- data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.css +82 -0
- data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +67 -0
- data/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc_ie.js +11 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/dialog.css +5 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie.css +5 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie7.css +5 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie8.css +5 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_iequirks.css +5 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_opera.css +5 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/editor.css +5 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/editor_gecko.css +5 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie.css +5 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie7.css +5 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie8.css +5 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/editor_iequirks.css +5 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/icons.png +0 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/icons_hidpi.png +0 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/images/arrow.png +0 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/images/close.png +0 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/images/hidpi/close.png +0 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/images/hidpi/lock-open.png +0 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/images/hidpi/lock.png +0 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/images/hidpi/refresh.png +0 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/images/lock-open.png +0 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/images/lock.png +0 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/images/refresh.png +0 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/readme.md +51 -0
- data/vendor/assets/javascripts/ckeditor/styles.js +111 -0
- metadata +460 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0670469174ffff84387554dd48f38d738186103d
|
4
|
+
data.tar.gz: 1bc4289e75e3e027bfe2258d8460e741bd3a6ced
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a18eab35d76f144760bc8b1a90bc9ddb2b45f6f8f8821f33ac811203653c42e2b717fe018aec1846164a4419f1bc4f2526293b66d8ee9bcc605132f4009c7186
|
7
|
+
data.tar.gz: c66cfefd09ae67c610e82314bc389d368c8aeb191d5a4c2e6aae4b76f7aeb77db9dae2b8be4d7dc081614bbe81abb6e6b947712f1c8499df1c743fdacbe4c6fa
|
data/Gemfile
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
source "http://rubygems.org"
|
2
|
+
|
3
|
+
gemspec
|
4
|
+
|
5
|
+
gem "rails", "3.2.3"
|
6
|
+
|
7
|
+
platforms :mri_18 do
|
8
|
+
group :test do
|
9
|
+
gem 'ruby-debug'
|
10
|
+
gem 'SystemTimer'
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
platforms :ruby do
|
15
|
+
gem "sqlite3"
|
16
|
+
|
17
|
+
group :development do
|
18
|
+
gem "unicorn", "~> 4.0.1"
|
19
|
+
end
|
20
|
+
|
21
|
+
group :development, :test do
|
22
|
+
gem "capybara", ">= 0.4.0"
|
23
|
+
gem "mynyml-redgreen", "~> 0.7.1", :require => 'redgreen'
|
24
|
+
end
|
25
|
+
|
26
|
+
group :active_record do
|
27
|
+
gem "paperclip", "~> 3.0.3"
|
28
|
+
gem "carrierwave"
|
29
|
+
gem "dragonfly"
|
30
|
+
gem "mini_magick"
|
31
|
+
end
|
32
|
+
|
33
|
+
group :mongoid do
|
34
|
+
gem "mongoid"
|
35
|
+
gem "bson_ext"
|
36
|
+
gem 'mongoid-paperclip', :require => 'mongoid_paperclip'
|
37
|
+
gem 'carrierwave-mongoid', :require => 'carrierwave/mongoid'
|
38
|
+
end
|
39
|
+
end
|
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright 2011 AIMBULANCE
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,240 @@
|
|
1
|
+
# Ckeditor
|
2
|
+
|
3
|
+
CKEditor is a ready-for-use HTML text editor designed to simplify web content creation. It's a WYSIWYG editor that brings common word processor features directly to your web pages. Enhance your website experience with our community maintained editor.
|
4
|
+
[ckeditor.com](http://ckeditor.com/)
|
5
|
+
|
6
|
+
## Features
|
7
|
+
|
8
|
+
* Ckeditor version 4.3 (full)
|
9
|
+
* Rails 4 integration
|
10
|
+
* Files browser
|
11
|
+
* HTML5 files uploader
|
12
|
+
* Hooks for formtastic and simple_form forms generators
|
13
|
+
|
14
|
+
## Installation
|
15
|
+
|
16
|
+
For basic usage just include ckeditor gem:
|
17
|
+
|
18
|
+
```
|
19
|
+
gem "ckeditor"
|
20
|
+
```
|
21
|
+
|
22
|
+
For files uploading support you need generage models for file storage.
|
23
|
+
Currently supported next backends:
|
24
|
+
|
25
|
+
* ActiveRecord (paperclip, carrierwave, dragonfly)
|
26
|
+
* Mongoid (paperclip, carrierwave, dragonfly)
|
27
|
+
|
28
|
+
### How generate models for store uploading files
|
29
|
+
|
30
|
+
#### ActiveRecord + paperclip
|
31
|
+
|
32
|
+
For active_record orm is used paperclip gem (it's by default).
|
33
|
+
|
34
|
+
```
|
35
|
+
gem "paperclip"
|
36
|
+
|
37
|
+
rails generate ckeditor:install --orm=active_record --backend=paperclip
|
38
|
+
```
|
39
|
+
|
40
|
+
#### ActiveRecord + carrierwave
|
41
|
+
|
42
|
+
```
|
43
|
+
gem "carrierwave"
|
44
|
+
gem "mini_magick"
|
45
|
+
|
46
|
+
rails generate ckeditor:install --orm=active_record --backend=carrierwave
|
47
|
+
```
|
48
|
+
|
49
|
+
#### Mongoid + paperclip
|
50
|
+
|
51
|
+
```
|
52
|
+
gem 'mongoid-paperclip', :require => 'mongoid_paperclip'
|
53
|
+
|
54
|
+
rails generate ckeditor:install --orm=mongoid --backend=paperclip
|
55
|
+
```
|
56
|
+
|
57
|
+
#### Mongoid + carrierwave
|
58
|
+
|
59
|
+
```
|
60
|
+
gem "carrierwave-mongoid", :require => 'carrierwave/mongoid'
|
61
|
+
gem "mini_magick"
|
62
|
+
|
63
|
+
rails generate ckeditor:install --orm=mongoid --backend=carrierwave
|
64
|
+
```
|
65
|
+
|
66
|
+
#### Load generated models
|
67
|
+
|
68
|
+
All ckeditor models will be generated into app/models/ckeditor folder.
|
69
|
+
Autoload ckeditor models folder (application.rb):
|
70
|
+
|
71
|
+
```ruby
|
72
|
+
config.autoload_paths += %W(#{config.root}/app/models/ckeditor)
|
73
|
+
```
|
74
|
+
|
75
|
+
Mount engine in your routes (config/routes.rb):
|
76
|
+
|
77
|
+
```ruby
|
78
|
+
mount Ckeditor::Engine => "/ckeditor"
|
79
|
+
```
|
80
|
+
|
81
|
+
## Usage
|
82
|
+
|
83
|
+
Include ckeditor javascripts rails 3.2 (application.js):
|
84
|
+
|
85
|
+
```
|
86
|
+
//= require ckeditor/init
|
87
|
+
```
|
88
|
+
|
89
|
+
Form helpers:
|
90
|
+
|
91
|
+
```erb
|
92
|
+
<%= form_for @page do |form| -%>
|
93
|
+
...
|
94
|
+
<%= form.cktext_area :notes, :class => "someclass", :ckeditor => {:language => "uk"} %>
|
95
|
+
...
|
96
|
+
<%= form.cktext_area :content, :value => "Default value", :id => "sometext" %>
|
97
|
+
...
|
98
|
+
<%= cktext_area :page, :info, :cols => 40, :ckeditor => {:uiColor => "#AADC6E", :toolbar => "mini"} %>
|
99
|
+
...
|
100
|
+
<% end -%>
|
101
|
+
```
|
102
|
+
|
103
|
+
All ckeditor options [here](http://docs.ckeditor.com/#!/api/CKEDITOR.config)
|
104
|
+
|
105
|
+
In order to configure the ckeditor default options, create files:
|
106
|
+
|
107
|
+
```
|
108
|
+
app/assets/javascripts/ckeditor/config.js
|
109
|
+
|
110
|
+
app/assets/javascripts/ckeditor/contents.css
|
111
|
+
```
|
112
|
+
|
113
|
+
### Usage with Rails 4 assets
|
114
|
+
|
115
|
+
In order to use rails 4 assets with digest in production environment you need some preparing.
|
116
|
+
|
117
|
+
First, you need to include in `application.js` **before** `ckeditor/init`
|
118
|
+
|
119
|
+
```
|
120
|
+
//= require ckeditor/override
|
121
|
+
```
|
122
|
+
|
123
|
+
It forces ckeditor core to respect digested assets.
|
124
|
+
|
125
|
+
Next you need to check, that some non-core plugins and skins don't use core ckeditor functions
|
126
|
+
to determine path to assets. Therefore we have to create a rake task thats copies the original assets and creates a non-digest version of it. Some example of such rake task is:
|
127
|
+
|
128
|
+
```ruby
|
129
|
+
namespace :ckeditor do
|
130
|
+
desc 'Create nondigest versions of some ckeditor assets (e.g. moono skin png)'
|
131
|
+
task :create_nondigest_assets do
|
132
|
+
fingerprint = /\-[0-9a-f]{32}\./
|
133
|
+
for file in Dir['public/assets/ckeditor/contents-*.css', 'public/assets/ckeditor/skins/moono/*.png']
|
134
|
+
next unless file =~ fingerprint
|
135
|
+
nondigest = file.sub fingerprint, '.' # contents-0d8ffa186a00f5063461bc0ba0d96087.css => contents.css
|
136
|
+
FileUtils.cp file, nondigest, verbose: true
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
# auto run ckeditor:create_nondigest_assets after assets:precompile
|
142
|
+
Rake::Task['assets:precompile'].enhance do
|
143
|
+
Rake::Task['ckeditor:create_nondigest_assets'].invoke
|
144
|
+
end
|
145
|
+
```
|
146
|
+
This also works on heroku. Even after restarting dynos running on a cedar stack, the assets will remain.
|
147
|
+
|
148
|
+
You can include this rake task in a capistrano task (if you are deploying via capistrano):
|
149
|
+
|
150
|
+
```ruby
|
151
|
+
desc 'copy ckeditor nondigest assets'
|
152
|
+
task :copy_nondigest_assets, roles: :app do
|
153
|
+
run "cd #{latest_release} && #{rake} RAILS_ENV=#{rails_env} ckeditor:copy_nondigest_assets"
|
154
|
+
end
|
155
|
+
after 'deploy:assets:precompile', 'copy_nondigest_assets'
|
156
|
+
```
|
157
|
+
|
158
|
+
Periodically check your error monitoring tool, if you see some part of ckeditor try to load
|
159
|
+
unexisting non-digest asset - if so just add it in the ckeditor rake task.
|
160
|
+
|
161
|
+
### AJAX
|
162
|
+
|
163
|
+
jQuery sample:
|
164
|
+
|
165
|
+
```html
|
166
|
+
<script type='text/javascript' charset='UTF-8'>
|
167
|
+
$(document).ready(function(){
|
168
|
+
$('form[data-remote]').bind("ajax:before", function(){
|
169
|
+
for (instance in CKEDITOR.instances){
|
170
|
+
CKEDITOR.instances[instance].updateElement();
|
171
|
+
}
|
172
|
+
});
|
173
|
+
});
|
174
|
+
</script>
|
175
|
+
```
|
176
|
+
|
177
|
+
### Formtastic integration
|
178
|
+
|
179
|
+
```erb
|
180
|
+
<%= form.input :content, :as => :ckeditor %>
|
181
|
+
<%= form.input :content, :as => :ckeditor, :input_html => { :ckeditor => { :height => 400 } } %>
|
182
|
+
```
|
183
|
+
|
184
|
+
### SimpleForm integration
|
185
|
+
|
186
|
+
```erb
|
187
|
+
<%= form.input :content, :as => :ckeditor, :input_html => { :ckeditor => {:toolbar => 'Full'} } %>
|
188
|
+
```
|
189
|
+
|
190
|
+
### CanCan integration
|
191
|
+
|
192
|
+
To use cancan with Ckeditor, add this to an initializer.
|
193
|
+
|
194
|
+
```ruby
|
195
|
+
# in config/initializers/ckeditor.rb
|
196
|
+
|
197
|
+
Ckeditor.setup do |config|
|
198
|
+
config.authorize_with :cancan
|
199
|
+
end
|
200
|
+
```
|
201
|
+
|
202
|
+
At this point, all authorization will fail and no one will be able to access the filebrowser pages.
|
203
|
+
To grant access, add this to Ability#initialize
|
204
|
+
|
205
|
+
```ruby
|
206
|
+
# Always performed
|
207
|
+
can :access, :ckeditor # needed to access Ckeditor filebrowser
|
208
|
+
|
209
|
+
# Performed checks for actions:
|
210
|
+
can [:read, :create, :destroy], Ckeditor::Picture
|
211
|
+
can [:read, :create, :destroy], Ckeditor::AttachmentFile
|
212
|
+
```
|
213
|
+
|
214
|
+
## I18n
|
215
|
+
|
216
|
+
```yml
|
217
|
+
en:
|
218
|
+
ckeditor:
|
219
|
+
page_title: "CKEditor Files Manager"
|
220
|
+
confirm_delete: "Delete file?"
|
221
|
+
buttons:
|
222
|
+
cancel: "Cancel"
|
223
|
+
upload: "Upload"
|
224
|
+
delete: "Delete"
|
225
|
+
```
|
226
|
+
|
227
|
+
## Tests
|
228
|
+
|
229
|
+
```bash
|
230
|
+
$> rake test
|
231
|
+
$> rake test CKEDITOR_ORM=mongoid
|
232
|
+
$> rake test CKEDITOR_BACKEND=carrierwave
|
233
|
+
|
234
|
+
$> rake test:controllers
|
235
|
+
$> rake test:generators
|
236
|
+
$> rake test:integration
|
237
|
+
$> rake test:models
|
238
|
+
```
|
239
|
+
|
240
|
+
This project rocks and uses MIT-LICENSE.
|
data/Rakefile
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require 'rubygems'
|
3
|
+
begin
|
4
|
+
require 'bundler/setup'
|
5
|
+
rescue LoadError
|
6
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
7
|
+
end
|
8
|
+
|
9
|
+
require 'rake'
|
10
|
+
require 'rdoc/task'
|
11
|
+
|
12
|
+
require "bundler/gem_tasks"
|
13
|
+
|
14
|
+
require 'rake/testtask'
|
15
|
+
|
16
|
+
Rake::TestTask.new(:test) do |t|
|
17
|
+
t.libs << 'lib'
|
18
|
+
t.libs << 'test'
|
19
|
+
t.pattern = 'test/**/*_test.rb'
|
20
|
+
t.verbose = false
|
21
|
+
end
|
22
|
+
|
23
|
+
Rake::TestTask.new("test:controllers") do |t|
|
24
|
+
t.libs << 'lib'
|
25
|
+
t.libs << 'test'
|
26
|
+
t.pattern = 'test/controllers/*_test.rb'
|
27
|
+
t.verbose = false
|
28
|
+
end
|
29
|
+
|
30
|
+
Rake::TestTask.new("test:generators") do |t|
|
31
|
+
t.libs << 'lib'
|
32
|
+
t.libs << 'test'
|
33
|
+
t.pattern = 'test/generators/*_test.rb'
|
34
|
+
t.verbose = false
|
35
|
+
end
|
36
|
+
|
37
|
+
Rake::TestTask.new("test:integration") do |t|
|
38
|
+
t.libs << 'lib'
|
39
|
+
t.libs << 'test'
|
40
|
+
t.pattern = 'test/integration/*_test.rb'
|
41
|
+
t.verbose = false
|
42
|
+
end
|
43
|
+
|
44
|
+
Rake::TestTask.new("test:models") do |t|
|
45
|
+
t.libs << 'lib'
|
46
|
+
t.libs << 'test'
|
47
|
+
t.pattern = 'test/models/*_test.rb'
|
48
|
+
t.verbose = false
|
49
|
+
end
|
50
|
+
|
51
|
+
Rake::TestTask.new("test:functional") do |t|
|
52
|
+
t.libs << 'lib'
|
53
|
+
t.libs << 'test'
|
54
|
+
t.pattern = 'test/functional/*_test.rb'
|
55
|
+
t.verbose = false
|
56
|
+
end
|
57
|
+
|
58
|
+
task :default => :test
|
59
|
+
|
60
|
+
RDoc::Task.new do |rdoc|
|
61
|
+
rdoc.rdoc_dir = 'rdoc'
|
62
|
+
rdoc.title = 'Ckeditor'
|
63
|
+
rdoc.options << '--line-numbers' << '--inline-source'
|
64
|
+
rdoc.rdoc_files.include('README.rdoc')
|
65
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
66
|
+
end
|
@@ -0,0 +1,5 @@
|
|
1
|
+
//= require ckeditor/filebrowser/javascripts/jquery.min.js
|
2
|
+
//= require ckeditor/filebrowser/javascripts/jquery.tmpl.min.js
|
3
|
+
//= require ckeditor/filebrowser/javascripts/fileuploader.js
|
4
|
+
//= require ckeditor/filebrowser/javascripts/rails.js
|
5
|
+
//= require ckeditor/filebrowser/javascripts/application.js
|
@@ -0,0 +1,92 @@
|
|
1
|
+
/*
|
2
|
+
Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
|
3
|
+
For licensing, see LICENSE.html or http://ckeditor.com/license
|
4
|
+
*/
|
5
|
+
|
6
|
+
CKEDITOR.editorConfig = function( config )
|
7
|
+
{
|
8
|
+
// Define changes to default configuration here. For example:
|
9
|
+
// config.language = 'fr';
|
10
|
+
// config.uiColor = '#AADC6E';
|
11
|
+
|
12
|
+
/* Filebrowser routes */
|
13
|
+
// The location of an external file browser, that should be launched when "Browse Server" button is pressed.
|
14
|
+
config.filebrowserBrowseUrl = "/ckeditor/attachment_files";
|
15
|
+
|
16
|
+
// The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Flash dialog.
|
17
|
+
config.filebrowserFlashBrowseUrl = "/ckeditor/attachment_files";
|
18
|
+
|
19
|
+
// The location of a script that handles file uploads in the Flash dialog.
|
20
|
+
config.filebrowserFlashUploadUrl = "/ckeditor/attachment_files";
|
21
|
+
|
22
|
+
// The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Link tab of Image dialog.
|
23
|
+
config.filebrowserImageBrowseLinkUrl = "/ckeditor/pictures";
|
24
|
+
|
25
|
+
// The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Image dialog.
|
26
|
+
config.filebrowserImageBrowseUrl = "/ckeditor/pictures";
|
27
|
+
|
28
|
+
// The location of a script that handles file uploads in the Image dialog.
|
29
|
+
config.filebrowserImageUploadUrl = "/ckeditor/pictures";
|
30
|
+
|
31
|
+
// The location of a script that handles file uploads.
|
32
|
+
config.filebrowserUploadUrl = "/ckeditor/attachment_files";
|
33
|
+
|
34
|
+
// Rails CSRF token
|
35
|
+
config.filebrowserParams = function(){
|
36
|
+
var csrf_token, csrf_param, meta,
|
37
|
+
metas = document.getElementsByTagName('meta'),
|
38
|
+
params = new Object();
|
39
|
+
|
40
|
+
for ( var i = 0 ; i < metas.length ; i++ ){
|
41
|
+
meta = metas[i];
|
42
|
+
|
43
|
+
switch(meta.name) {
|
44
|
+
case "csrf-token":
|
45
|
+
csrf_token = meta.content;
|
46
|
+
break;
|
47
|
+
case "csrf-param":
|
48
|
+
csrf_param = meta.content;
|
49
|
+
break;
|
50
|
+
default:
|
51
|
+
continue;
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
if (csrf_param !== undefined && csrf_token !== undefined) {
|
56
|
+
params[csrf_param] = csrf_token;
|
57
|
+
}
|
58
|
+
|
59
|
+
return params;
|
60
|
+
};
|
61
|
+
|
62
|
+
config.addQueryString = function( url, params ){
|
63
|
+
var queryString = [];
|
64
|
+
|
65
|
+
if ( !params ) {
|
66
|
+
return url;
|
67
|
+
} else {
|
68
|
+
for ( var i in params )
|
69
|
+
queryString.push( i + "=" + encodeURIComponent( params[ i ] ) );
|
70
|
+
}
|
71
|
+
|
72
|
+
return url + ( ( url.indexOf( "?" ) != -1 ) ? "&" : "?" ) + queryString.join( "&" );
|
73
|
+
};
|
74
|
+
|
75
|
+
// Integrate Rails CSRF token into file upload dialogs (link, image, attachment and flash)
|
76
|
+
CKEDITOR.on( 'dialogDefinition', function( ev ){
|
77
|
+
// Take the dialog name and its definition from the event data.
|
78
|
+
var dialogName = ev.data.name;
|
79
|
+
var dialogDefinition = ev.data.definition;
|
80
|
+
var content, upload;
|
81
|
+
|
82
|
+
if (CKEDITOR.tools.indexOf(['link', 'image', 'attachment', 'flash'], dialogName) > -1) {
|
83
|
+
content = (dialogDefinition.getContents('Upload') || dialogDefinition.getContents('upload'));
|
84
|
+
upload = (content == null ? null : content.get('upload'));
|
85
|
+
|
86
|
+
if (upload && upload.filebrowser && upload.filebrowser['params'] === undefined) {
|
87
|
+
upload.filebrowser['params'] = config.filebrowserParams();
|
88
|
+
upload.action = config.addQueryString(upload.action, upload.filebrowser['params']);
|
89
|
+
}
|
90
|
+
}
|
91
|
+
});
|
92
|
+
};
|