danabr75-ckeditor 4.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +42 -0
- data/MIT-LICENSE +20 -0
- data/README.md +337 -0
- data/Rakefile +64 -0
- data/app/assets/javascripts/ckeditor/application.js +5 -0
- data/app/assets/javascripts/ckeditor/config.js +58 -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 +232 -0
- data/app/assets/javascripts/ckeditor/filebrowser/javascripts/fileuploader.js +1301 -0
- data/app/assets/javascripts/ckeditor/filebrowser/javascripts/jquery.endless-scroll.js +300 -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 +128 -0
- data/app/assets/javascripts/ckeditor/init.js.erb +8 -0
- data/app/assets/stylesheets/ckeditor/application.css +6 -0
- data/app/controllers/ckeditor/application_controller.rb +20 -0
- data/app/controllers/ckeditor/attachment_files_controller.rb +38 -0
- data/app/controllers/ckeditor/pictures_controller.rb +38 -0
- data/app/helpers/ckeditor/application_helper.rb +11 -0
- data/app/views/ckeditor/attachment_files/index.html.erb +21 -0
- data/app/views/ckeditor/pictures/index.html.erb +21 -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 +31 -0
- data/config/locales/bg.ckeditor.yml +9 -0
- data/config/locales/cs.ckeditor.yml +9 -0
- data/config/locales/de.ckeditor.yml +9 -0
- data/config/locales/el-GR.cdkeditor.yml +9 -0
- data/config/locales/en.ckeditor.yml +9 -0
- data/config/locales/es.ckeditor.yml +9 -0
- data/config/locales/fr.ckeditor.yml +9 -0
- data/config/locales/hu.ckeditor.yml +9 -0
- data/config/locales/it.ckeditor.yml +9 -0
- data/config/locales/ja.ckeditor.yml +9 -0
- data/config/locales/nb.ckeditor.yml +9 -0
- data/config/locales/nl.ckeditor.yml +9 -0
- data/config/locales/pl.ckeditor.yml +9 -0
- data/config/locales/pt-BR.ckeditor.yml +9 -0
- data/config/locales/pt-PT.ckeditor.yml +9 -0
- data/config/locales/ru.ckeditor.yml +9 -0
- data/config/locales/sv-SE.ckeditor.yml +9 -0
- data/config/locales/tr.ckeditor.yml +9 -0
- data/config/locales/uk.ckeditor.yml +9 -0
- data/config/locales/zh-CN.ckeditor.yml +9 -0
- data/config/locales/zh-TW.ckeditor.yml +9 -0
- data/config/routes.rb +4 -0
- data/lib/ckeditor.rb +234 -0
- data/lib/ckeditor/asset_response.rb +71 -0
- data/lib/ckeditor/backend/carrierwave.rb +57 -0
- data/lib/ckeditor/backend/dragonfly.rb +47 -0
- data/lib/ckeditor/backend/paperclip.rb +52 -0
- data/lib/ckeditor/backend/refile.rb +37 -0
- data/lib/ckeditor/engine.rb +46 -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 +49 -0
- data/lib/ckeditor/hooks/formtastic.rb +12 -0
- data/lib/ckeditor/hooks/pundit.rb +47 -0
- data/lib/ckeditor/hooks/simple_form.rb +20 -0
- data/lib/ckeditor/http.rb +88 -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/paginatable.rb +56 -0
- data/lib/ckeditor/text_area.rb +53 -0
- data/lib/ckeditor/utils.rb +108 -0
- data/lib/ckeditor/utils/content_type_detector.rb +41 -0
- data/lib/ckeditor/utils/javascript_code.rb +10 -0
- data/lib/ckeditor/version.rb +6 -0
- data/lib/generators/ckeditor/install_generator.rb +83 -0
- data/lib/generators/ckeditor/pundit_policy_generator.rb +22 -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 +13 -0
- data/lib/generators/ckeditor/templates/active_record/paperclip/ckeditor/picture.rb +14 -0
- data/lib/generators/ckeditor/templates/active_record/paperclip/migration.rb +26 -0
- data/lib/generators/ckeditor/templates/active_record/refile/ckeditor/asset.rb +4 -0
- data/lib/generators/ckeditor/templates/active_record/refile/ckeditor/attachment_file.rb +7 -0
- data/lib/generators/ckeditor/templates/active_record/refile/ckeditor/picture.rb +11 -0
- data/lib/generators/ckeditor/templates/active_record/refile/migration.rb +28 -0
- data/lib/generators/ckeditor/templates/base/carrierwave/uploaders/ckeditor_attachment_file_uploader.rb +38 -0
- data/lib/generators/ckeditor/templates/base/carrierwave/uploaders/ckeditor_picture_uploader.rb +47 -0
- data/lib/generators/ckeditor/templates/base/dragonfly/initializer.rb +20 -0
- data/lib/generators/ckeditor/templates/ckeditor.rb +53 -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 +13 -0
- data/lib/generators/ckeditor/templates/mongoid/paperclip/ckeditor/picture.rb +14 -0
- data/lib/generators/ckeditor/templates/pundit_policy/attachment_file_policy.rb +20 -0
- data/lib/generators/ckeditor/templates/pundit_policy/picture_policy.rb +20 -0
- data/lib/tasks/ckeditor.rake +26 -0
- data/test/controllers/attachment_files_controller_test.rb +63 -0
- data/test/controllers/pictures_controller_test.rb +63 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +10 -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 +3 -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 +39 -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/cookies_serializer.rb +3 -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/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 +136 -0
- data/test/dummy/config/routes.rb +6 -0
- data/test/dummy/config/secrets.yml +8 -0
- data/test/dummy/db/migrate/20110623120047_create_posts.rb +14 -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 +111 -0
- data/test/integration/navigation_test.rb +7 -0
- data/test/models/attachment_file_test.rb +22 -0
- data/test/models/ckeditor_test.rb +101 -0
- data/test/models/picture_test.rb +26 -0
- data/test/models/utils_test.rb +18 -0
- data/test/orm/active_record.rb +1 -0
- data/test/orm/mongoid.rb +6 -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 +36 -0
- data/vendor/assets/javascripts/ckeditor/CHANGES.md +1037 -0
- data/vendor/assets/javascripts/ckeditor/LICENSE.md +1420 -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/ckeditor.js +1083 -0
- data/vendor/assets/javascripts/ckeditor/config.js +10 -0
- data/vendor/assets/javascripts/ckeditor/contents.css +132 -0
- data/vendor/assets/javascripts/ckeditor/lang/af.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/ar.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/bg.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/bn.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/bs.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/ca.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/cs.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/cy.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/da.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/de.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/el.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/en-au.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/en-ca.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/en-gb.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/en.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/eo.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/es.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/et.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/eu.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/fa.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/fi.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/fo.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/fr-ca.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/fr.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/gl.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/gu.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/he.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/hi.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/hr.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/hu.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/id.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/is.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/it.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/ja.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/ka.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/km.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/ko.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/ku.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/lt.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/lv.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/mk.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/mn.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/ms.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/nb.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/nl.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/no.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/pl.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/pt-br.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/pt.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/ro.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/ru.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/si.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/sk.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/sl.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/sq.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/sr-latn.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/sr.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/sv.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/th.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/tr.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/tt.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/ug.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/uk.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/vi.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/zh-cn.js +5 -0
- data/vendor/assets/javascripts/ckeditor/lang/zh.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/af.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/id.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +9 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js +10 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/si.js +10 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +9 -0
- data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/zh.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 +12 -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/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 +9 -0
- data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/form.js +8 -0
- data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +7 -0
- data/vendor/assets/javascripts/ckeditor/plugins/forms/dialogs/radio.js +9 -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 +11 -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 +44 -0
- data/vendor/assets/javascripts/ckeditor/plugins/image/images/noimage.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/link/dialogs/anchor.js +7 -0
- data/vendor/assets/javascripts/ckeditor/plugins/link/dialogs/link.js +26 -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-rtl.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
- data/vendor/assets/javascripts/ckeditor/plugins/magicline/images/icon-rtl.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 +32 -0
- data/vendor/assets/javascripts/ckeditor/plugins/preview/preview.html +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/scayt/CHANGELOG.md +20 -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 +19 -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 +11 -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/af.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ar.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/bg.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ca.js +14 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cs.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cy.js +14 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/da.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/de.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/el.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/eo.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/es.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/et.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/eu.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fa.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fi.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js +10 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fr.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/gl.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/he.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/hr.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/hu.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/id.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/it.js +14 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ja.js +9 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/km.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ko.js +10 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ku.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/lt.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/lv.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nb.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nl.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/no.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pl.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pt.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ru.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/si.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sk.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sl.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sq.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sv.js +11 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/th.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/tr.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/tt.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ug.js +13 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/uk.js +12 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/vi.js +14 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +9 -0
- data/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/zh.js +9 -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 +17 -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 +7 -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/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 +92 -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/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/images/spinner.gif +0 -0
- data/vendor/assets/javascripts/ckeditor/skins/moono/readme.md +49 -0
- data/vendor/assets/javascripts/ckeditor/styles.js +111 -0
- metadata +640 -0
@@ -0,0 +1,88 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'digest/sha1'
|
3
|
+
|
4
|
+
module Ckeditor
|
5
|
+
module Http
|
6
|
+
# Create tempfile from hash
|
7
|
+
class UploadedFile
|
8
|
+
attr_accessor :original_filename, :content_type, :tempfile, :headers
|
9
|
+
|
10
|
+
def initialize(hash)
|
11
|
+
@original_filename = hash[:filename]
|
12
|
+
@content_type = hash[:type]
|
13
|
+
@headers = hash[:head]
|
14
|
+
@tempfile = hash[:tempfile]
|
15
|
+
raise(ArgumentError, ':tempfile is required') unless @tempfile
|
16
|
+
end
|
17
|
+
|
18
|
+
def open
|
19
|
+
@tempfile.open
|
20
|
+
end
|
21
|
+
|
22
|
+
def path
|
23
|
+
@tempfile.path
|
24
|
+
end
|
25
|
+
|
26
|
+
def read(*args)
|
27
|
+
@tempfile.read(*args)
|
28
|
+
end
|
29
|
+
|
30
|
+
def rewind
|
31
|
+
@tempfile.rewind
|
32
|
+
end
|
33
|
+
|
34
|
+
def size
|
35
|
+
@tempfile.size
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
# Usage (paperclip example)
|
40
|
+
# @asset.data = QqFile.new(params[:qqfile], request)
|
41
|
+
class QqFile < ::Tempfile
|
42
|
+
|
43
|
+
def initialize(filename, request, tmpdir = Dir::tmpdir)
|
44
|
+
@original_filename = filename
|
45
|
+
@request = request
|
46
|
+
|
47
|
+
super Digest::SHA1.hexdigest(filename), tmpdir
|
48
|
+
binmode
|
49
|
+
fetch
|
50
|
+
end
|
51
|
+
|
52
|
+
def fetch
|
53
|
+
self.write(body)
|
54
|
+
self.rewind
|
55
|
+
self
|
56
|
+
end
|
57
|
+
|
58
|
+
def original_filename
|
59
|
+
@original_filename
|
60
|
+
end
|
61
|
+
|
62
|
+
def content_type
|
63
|
+
@request.content_type
|
64
|
+
end
|
65
|
+
|
66
|
+
def body
|
67
|
+
if @request.raw_post.respond_to?(:force_encoding)
|
68
|
+
@request.raw_post.force_encoding("UTF-8")
|
69
|
+
else
|
70
|
+
@request.raw_post
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
# Convert nested Hash to HashWithIndifferentAccess and replace
|
76
|
+
# file upload hash with UploadedFile objects
|
77
|
+
def self.normalize_param(*args)
|
78
|
+
value = args.first
|
79
|
+
if Hash === value && value.has_key?(:tempfile)
|
80
|
+
UploadedFile.new(value)
|
81
|
+
elsif value.is_a?(String)
|
82
|
+
QqFile.new(*args)
|
83
|
+
else
|
84
|
+
value
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'ckeditor/orm/base'
|
2
|
+
|
3
|
+
module Ckeditor
|
4
|
+
module Orm
|
5
|
+
module ActiveRecord
|
6
|
+
module AssetBase
|
7
|
+
def self.included(base)
|
8
|
+
base.send(:include, Base::AssetBase::InstanceMethods)
|
9
|
+
base.send(:extend, ClassMethods)
|
10
|
+
end
|
11
|
+
|
12
|
+
module ClassMethods
|
13
|
+
def self.extended(base)
|
14
|
+
base.class_eval do
|
15
|
+
self.table_name = "ckeditor_assets"
|
16
|
+
|
17
|
+
belongs_to :assetable, :polymorphic => true
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module Ckeditor
|
2
|
+
module Orm
|
3
|
+
module Base
|
4
|
+
module AssetBase
|
5
|
+
module InstanceMethods
|
6
|
+
def filename
|
7
|
+
data_file_name
|
8
|
+
end
|
9
|
+
|
10
|
+
def size
|
11
|
+
data_file_size
|
12
|
+
end
|
13
|
+
|
14
|
+
def has_dimensions?
|
15
|
+
respond_to?(:width) && respond_to?(:height)
|
16
|
+
end
|
17
|
+
|
18
|
+
def image?
|
19
|
+
Ckeditor::IMAGE_TYPES.include?(data_content_type)
|
20
|
+
end
|
21
|
+
|
22
|
+
def format_created_at
|
23
|
+
self.created_at.strftime("%d.%m.%Y")
|
24
|
+
end
|
25
|
+
|
26
|
+
def url_content
|
27
|
+
url
|
28
|
+
end
|
29
|
+
|
30
|
+
def url_thumb
|
31
|
+
url(:thumb)
|
32
|
+
end
|
33
|
+
|
34
|
+
def as_json_methods
|
35
|
+
[:url_content, :url_thumb, :size, :filename, :format_created_at]
|
36
|
+
end
|
37
|
+
|
38
|
+
def as_json(options = nil)
|
39
|
+
options = {
|
40
|
+
:methods => as_json_methods,
|
41
|
+
:root => "asset"
|
42
|
+
}.merge(options || {})
|
43
|
+
|
44
|
+
super options
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'orm_adapter/adapters/mongoid'
|
2
|
+
require 'ckeditor/orm/base'
|
3
|
+
|
4
|
+
module Ckeditor
|
5
|
+
module Orm
|
6
|
+
module Mongoid
|
7
|
+
module AssetBase
|
8
|
+
def self.included(base)
|
9
|
+
base.send(:include, ::Mongoid::Document)
|
10
|
+
base.send(:include, ::Mongoid::Timestamps)
|
11
|
+
base.send(:include, Base::AssetBase::InstanceMethods)
|
12
|
+
base.send(:include, InstanceMethods)
|
13
|
+
base.send(:extend, ClassMethods)
|
14
|
+
end
|
15
|
+
|
16
|
+
module InstanceMethods
|
17
|
+
def type
|
18
|
+
_type
|
19
|
+
end
|
20
|
+
|
21
|
+
def as_json_methods
|
22
|
+
[:id, :type] + super
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
module ClassMethods
|
27
|
+
def self.extended(base)
|
28
|
+
base.class_eval do
|
29
|
+
field :data_content_type, :type => String
|
30
|
+
field :data_file_size, :type => Integer
|
31
|
+
field :width, :type => Integer
|
32
|
+
field :height, :type => Integer
|
33
|
+
|
34
|
+
belongs_to :assetable, :polymorphic => true
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module Ckeditor
|
2
|
+
# Simple paginate relation
|
3
|
+
class Paginatable
|
4
|
+
attr_reader :limit_value, :offset_value
|
5
|
+
|
6
|
+
def initialize(scope, options = {})
|
7
|
+
@scope = scope
|
8
|
+
@limit_value = (options[:limit] || Ckeditor.default_per_page).to_i
|
9
|
+
end
|
10
|
+
|
11
|
+
def page(num = 1)
|
12
|
+
@offset_value = limit_value * ([num.to_i, 1].max - 1)
|
13
|
+
self
|
14
|
+
end
|
15
|
+
|
16
|
+
def scoped
|
17
|
+
@scope.limit(limit_value).offset(offset_value)
|
18
|
+
end
|
19
|
+
|
20
|
+
# Next page number in the collection
|
21
|
+
def next_page
|
22
|
+
current_page + 1 unless last_page?
|
23
|
+
end
|
24
|
+
|
25
|
+
# Previous page number in the collection
|
26
|
+
def prev_page
|
27
|
+
current_page - 1 unless first_page?
|
28
|
+
end
|
29
|
+
|
30
|
+
# First page of the collection?
|
31
|
+
def first_page?
|
32
|
+
current_page == 1
|
33
|
+
end
|
34
|
+
|
35
|
+
# Last page of the collection?
|
36
|
+
def last_page?
|
37
|
+
current_page >= total_pages
|
38
|
+
end
|
39
|
+
|
40
|
+
# Total number of pages
|
41
|
+
def total_pages
|
42
|
+
(total_count.to_f / limit_value).ceil
|
43
|
+
end
|
44
|
+
|
45
|
+
# total item numbers of scope
|
46
|
+
def total_count
|
47
|
+
@total_count ||= @scope.count
|
48
|
+
end
|
49
|
+
|
50
|
+
# Current page number
|
51
|
+
def current_page
|
52
|
+
offset = (offset_value < 0 ? 0 : offset_value)
|
53
|
+
(offset / limit_value) + 1
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'active_support'
|
2
|
+
require 'action_view/helpers/tag_helper'
|
3
|
+
require 'action_view/helpers/form_tag_helper'
|
4
|
+
|
5
|
+
module Ckeditor
|
6
|
+
class TextArea
|
7
|
+
include ActionView::Helpers::TagHelper
|
8
|
+
include ActionView::Helpers::FormTagHelper
|
9
|
+
include ActionView::Helpers::JavaScriptHelper
|
10
|
+
|
11
|
+
attr_reader :template, :options, :ck_options
|
12
|
+
|
13
|
+
def initialize(template, options)
|
14
|
+
@template = template
|
15
|
+
@options = options.stringify_keys
|
16
|
+
@ck_options = (@options.delete('ckeditor') || {}).stringify_keys
|
17
|
+
@ck_options['customConfig'] ||= Ckeditor.js_config_url if Ckeditor.cdn_enabled?
|
18
|
+
end
|
19
|
+
|
20
|
+
def render_instance_tag(object_name, method)
|
21
|
+
tag = build_tag(object_name, method)
|
22
|
+
tag.send(:add_default_name_and_id, options) if options['id'].blank?
|
23
|
+
|
24
|
+
render tag.respond_to?(:to_text_area_tag) ? tag.to_text_area_tag(options) : tag.render
|
25
|
+
end
|
26
|
+
|
27
|
+
def render_tag(name, content)
|
28
|
+
options['id'] = sanitize_to_id(options['id'] || name)
|
29
|
+
|
30
|
+
render text_area_tag(name, content, options)
|
31
|
+
end
|
32
|
+
|
33
|
+
protected
|
34
|
+
|
35
|
+
def render(input)
|
36
|
+
output_buffer << input
|
37
|
+
output_buffer << javascript_tag(Utils.js_replace(options['id'], ck_options))
|
38
|
+
output_buffer
|
39
|
+
end
|
40
|
+
|
41
|
+
def output_buffer
|
42
|
+
@output_buffer ||= ActiveSupport::SafeBuffer.new
|
43
|
+
end
|
44
|
+
|
45
|
+
def build_tag(object_name, method)
|
46
|
+
if defined?(ActionView::Base::Tags::TextArea)
|
47
|
+
ActionView::Base::Tags::TextArea.new(object_name, method, template, options.symbolize_keys)
|
48
|
+
else
|
49
|
+
ActionView::Base::InstanceTag.new(object_name, method, template, options.delete('object'))
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,108 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'active_support/json/encoding'
|
3
|
+
|
4
|
+
module Ckeditor
|
5
|
+
module Utils
|
6
|
+
autoload :JavascriptCode, 'ckeditor/utils/javascript_code'
|
7
|
+
autoload :ContentTypeDetector, 'ckeditor/utils/content_type_detector'
|
8
|
+
|
9
|
+
class << self
|
10
|
+
def escape_single_quotes(str)
|
11
|
+
str.gsub('\\','\0\0').gsub('</','<\/').gsub(/\r\n|\n|\r/, "\\n").gsub(/["']/) { |m| "\\#{m}" }
|
12
|
+
end
|
13
|
+
|
14
|
+
def parameterize_filename(filename)
|
15
|
+
return filename unless Ckeditor.parameterize_filenames
|
16
|
+
|
17
|
+
extension = File.extname(filename)
|
18
|
+
basename = filename.gsub(/#{extension}$/, "")
|
19
|
+
|
20
|
+
[basename.parameterize('_'), extension].join.downcase
|
21
|
+
end
|
22
|
+
|
23
|
+
def js_replace(dom_id, options = nil)
|
24
|
+
js = ["(function() { if (typeof CKEDITOR != 'undefined') {"]
|
25
|
+
|
26
|
+
if options && !options.keys.empty?
|
27
|
+
js_options = ActiveSupport::JSON.encode(options)
|
28
|
+
js << "if (CKEDITOR.instances['#{dom_id}'] == undefined) { CKEDITOR.replace('#{dom_id}', #{js_options}); }"
|
29
|
+
else
|
30
|
+
js << "if (CKEDITOR.instances['#{dom_id}'] == undefined) { CKEDITOR.replace('#{dom_id}'); }"
|
31
|
+
end
|
32
|
+
|
33
|
+
js << "} else { setTimeout(arguments.callee, 50); } })();"
|
34
|
+
js.join(" ").html_safe
|
35
|
+
end
|
36
|
+
|
37
|
+
def js_fileuploader(uploader_type, options = {})
|
38
|
+
options = { :multiple => true, :element => "fileupload" }.merge(options)
|
39
|
+
|
40
|
+
case uploader_type.to_s.downcase
|
41
|
+
when "image" then
|
42
|
+
options[:action] = JavascriptCode.new("EDITOR.config.filebrowserImageUploadUrl")
|
43
|
+
options[:allowedExtensions] = Ckeditor.image_file_types
|
44
|
+
when "flash" then
|
45
|
+
options[:action] = JavascriptCode.new("EDITOR.config.filebrowserFlashUploadUrl")
|
46
|
+
options[:allowedExtensions] = ["swf"]
|
47
|
+
else
|
48
|
+
options[:action] = JavascriptCode.new("EDITOR.config.filebrowserUploadUrl")
|
49
|
+
options[:allowedExtensions] = Ckeditor.attachment_file_types
|
50
|
+
end
|
51
|
+
|
52
|
+
js_options = ActiveSupport::JSON.encode(options)
|
53
|
+
js_options.gsub!(/"(EDITOR\.config\.filebrowser(Image|Flash|)UploadUrl)"/, '\1')
|
54
|
+
|
55
|
+
"(function() { new qq.FileUploaderInput(#{js_options}); }).call(this);".html_safe
|
56
|
+
end
|
57
|
+
|
58
|
+
def filethumb(filename)
|
59
|
+
extname = filename.blank? ? "unknown" : File.extname(filename).gsub(/^\./, '')
|
60
|
+
image = "#{extname}.gif"
|
61
|
+
source = Ckeditor.root_path.join("app/assets/javascripts/ckeditor/filebrowser/images/thumbs")
|
62
|
+
|
63
|
+
unless File.exists?(File.join(source, image))
|
64
|
+
image = "unknown.gif"
|
65
|
+
end
|
66
|
+
|
67
|
+
File.join(Ckeditor.relative_path, "filebrowser/images/thumbs", image)
|
68
|
+
end
|
69
|
+
|
70
|
+
def select_assets(path, relative_path)
|
71
|
+
relative_folder = Ckeditor.root_path.join(relative_path)
|
72
|
+
folder = relative_folder.join(path)
|
73
|
+
extensions = '*.{js,css,png,gif,jpg,html}'
|
74
|
+
languages = (Ckeditor.assets_languages || [])
|
75
|
+
|
76
|
+
# Files at root
|
77
|
+
files = Dir[folder.join(extensions)]
|
78
|
+
|
79
|
+
# Filter plugins
|
80
|
+
if Ckeditor.assets_plugins.nil?
|
81
|
+
files += Dir[folder.join('plugins', '**', extensions)]
|
82
|
+
else
|
83
|
+
Ckeditor.assets_plugins.each do |plugin|
|
84
|
+
files += Dir[folder.join('plugins', plugin, '**', extensions)]
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
# Other folders
|
89
|
+
Dir[folder.join('*/')].each do |subfolder|
|
90
|
+
path = Pathname.new(subfolder)
|
91
|
+
next if ['plugins'].include?(path.basename.to_s)
|
92
|
+
files += Dir[path.join('**', extensions)]
|
93
|
+
end
|
94
|
+
|
95
|
+
files.inject([]) do |items, name|
|
96
|
+
file = Pathname.new(name)
|
97
|
+
base = file.basename('.*').to_s
|
98
|
+
|
99
|
+
if !name.include?('/lang/') || languages.include?(base)
|
100
|
+
items << file.relative_path_from(relative_folder).to_s
|
101
|
+
end
|
102
|
+
|
103
|
+
items
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'cocaine'
|
3
|
+
|
4
|
+
module Ckeditor
|
5
|
+
module Utils
|
6
|
+
class ContentTypeDetector
|
7
|
+
EMPTY_CONTENT_TYPE = 'inode/x-empty'
|
8
|
+
DEFAULT_CONTENT_TYPE = 'application/octet-stream'
|
9
|
+
|
10
|
+
def initialize(file_path)
|
11
|
+
@file_path = file_path
|
12
|
+
end
|
13
|
+
|
14
|
+
# content type detection strategy:
|
15
|
+
#
|
16
|
+
# 1. empty file: returns 'inode/x-empty'
|
17
|
+
# 2. nonempty file: if the file is not empty then returns the content type using file command
|
18
|
+
# 3. invalid file: file command raises error and returns 'application/octet-stream'
|
19
|
+
|
20
|
+
def detect
|
21
|
+
empty_file? ? EMPTY_CONTENT_TYPE : content_type_from_file_command
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def empty_file?
|
27
|
+
return true if @file_path.blank?
|
28
|
+
File.exists?(@file_path) && File.size(@file_path) == 0
|
29
|
+
end
|
30
|
+
|
31
|
+
def content_type_from_file_command
|
32
|
+
type = begin
|
33
|
+
Cocaine::CommandLine.new('file', '-b --mime-type :file').run(file: @file_path)
|
34
|
+
rescue Cocaine::CommandLineError => e
|
35
|
+
# TODO: log command failure
|
36
|
+
DEFAULT_CONTENT_TYPE
|
37
|
+
end.strip
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|