keppler 2.1.18 → 2.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1290) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -6
  3. data/installer/core/.rspec +1 -0
  4. data/installer/core/Gemfile +2 -0
  5. data/installer/core/Gemfile.lock +3 -0
  6. data/installer/core/app/assets/stylesheets/admin/utils/_theme.scss +9 -0
  7. data/installer/core/app/controllers/admin/admin_controller.rb +7 -3
  8. data/installer/core/app/controllers/admin/settings_controller.rb +17 -17
  9. data/installer/core/app/controllers/application_controller.rb +1 -0
  10. data/installer/core/app/controllers/devise/keppler_sessions_controller.rb +116 -0
  11. data/installer/core/app/helpers/sessions_helper.rb +12 -0
  12. data/installer/core/app/views/admin/layouts/_navigation.html.haml +1 -1
  13. data/installer/core/app/views/admin/layouts/_sidebar.html.haml +4 -1
  14. data/installer/core/app/views/admin/settings/fields/_appearance.html.haml +0 -8
  15. data/installer/core/app/views/admin/settings/fields/_configuration.html.haml +28 -0
  16. data/installer/core/app/views/devise/keppler_sessions/new.html.haml +35 -0
  17. data/installer/core/app/views/errors/internal_server_error.html.haml +1 -1
  18. data/installer/core/app/views/errors/not_found.html.haml +1 -1
  19. data/installer/core/app/views/errors/unprocessable.html.haml +1 -1
  20. data/installer/core/config/application.rb +1 -1
  21. data/installer/core/config/initializers/keppler_configuration.rb +1 -1
  22. data/installer/core/config/locales/en.yml +3 -1
  23. data/installer/core/config/locales/es.yml +3 -1
  24. data/installer/core/config/routes.rb +14 -4
  25. data/installer/core/db/migrate/20160201210520_create_appearances.rb +1 -0
  26. data/installer/core/db/seeds.rb +0 -56
  27. data/installer/core/node_modules/.yarn-integrity +12 -0
  28. data/installer/core/public/assets/.sprockets-manifest-877f022ba780399cd6a445cb823e8e72.json +1 -0
  29. data/installer/core/public/assets/admin/application-58d3091abebccc0cbdc30400232e382b2b1af77adf19a8b0b7f1176d04e3e5e9.js +69621 -0
  30. data/installer/core/public/assets/admin/application-58d3091abebccc0cbdc30400232e382b2b1af77adf19a8b0b7f1176d04e3e5e9.js.gz +0 -0
  31. data/installer/core/public/assets/admin/application-b27fef8a9a1ff72bcdcc99542bef8dc3a0e5dabce87889ccfa6f292de2f80d7a.css +35768 -0
  32. data/installer/core/public/assets/admin/application-b27fef8a9a1ff72bcdcc99542bef8dc3a0e5dabce87889ccfa6f292de2f80d7a.css.gz +0 -0
  33. data/{testing-with-2.1.18/app/assets/images/admin/astronauta_keppler.svg → installer/core/public/assets/admin/astronauta_keppler-d82d3870b4df83d706e62601ee8bcdbf226ce7ca7928602d4de1055a95a8b751.svg} +0 -0
  34. data/installer/core/public/assets/admin/astronauta_keppler-d82d3870b4df83d706e62601ee8bcdbf226ce7ca7928602d4de1055a95a8b751.svg.gz +0 -0
  35. data/{testing-with-2.1.18/app/assets/images/admin/avatar_keppler.svg → installer/core/public/assets/admin/avatar_keppler-1bce561c65816623b43025321fc59c2bdab4800bac6e7e000ecfe471f105865a.svg} +0 -0
  36. data/installer/core/public/assets/admin/avatar_keppler-1bce561c65816623b43025321fc59c2bdab4800bac6e7e000ecfe471f105865a.svg.gz +0 -0
  37. data/{testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/css/gss.html → installer/core/public/assets/admin/codemirror/mode/css/gss-c9fc3e7b6f68e62e1d26819c29c1be5beb597140fd8141293549385c79222d98.html} +0 -0
  38. data/installer/core/public/assets/admin/codemirror/mode/css/gss-c9fc3e7b6f68e62e1d26819c29c1be5beb597140fd8141293549385c79222d98.html.gz +0 -0
  39. data/{testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/css/index.html → installer/core/public/assets/admin/codemirror/mode/css/index-1408e496c4871b6ab739e26b9f3dceaa8ef071aebce27d37c2f504a7f8033ccd.html} +0 -0
  40. data/installer/core/public/assets/admin/codemirror/mode/css/index-1408e496c4871b6ab739e26b9f3dceaa8ef071aebce27d37c2f504a7f8033ccd.html.gz +0 -0
  41. data/{testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/css/less.html → installer/core/public/assets/admin/codemirror/mode/css/less-f7c3a9cfe1b5f3135f2e01037e9020d50b9c23103b8065514095fbbdea4e0764.html} +0 -0
  42. data/installer/core/public/assets/admin/codemirror/mode/css/less-f7c3a9cfe1b5f3135f2e01037e9020d50b9c23103b8065514095fbbdea4e0764.html.gz +0 -0
  43. data/{testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/css/scss.html → installer/core/public/assets/admin/codemirror/mode/css/scss-bad8aebefd205cd2e6eae3abbed6ffc808bbe7e7eea75acb9b1586ef2a762b3f.html} +0 -0
  44. data/installer/core/public/assets/admin/codemirror/mode/css/scss-bad8aebefd205cd2e6eae3abbed6ffc808bbe7e7eea75acb9b1586ef2a762b3f.html.gz +0 -0
  45. data/{testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/haml/index.html → installer/core/public/assets/admin/codemirror/mode/haml/index-c6fc029a6ab99692007433b79e187d25c3e779645d0cf1039dda43bc983d5022.html} +0 -0
  46. data/installer/core/public/assets/admin/codemirror/mode/haml/index-c6fc029a6ab99692007433b79e187d25c3e779645d0cf1039dda43bc983d5022.html.gz +0 -0
  47. data/{testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/htmlembedded/index.html → installer/core/public/assets/admin/codemirror/mode/htmlembedded/index-5f63fdda0414dad66a9837d592767325f553a21a4a44d6dc29e8b9183fde838a.html} +0 -0
  48. data/installer/core/public/assets/admin/codemirror/mode/htmlembedded/index-5f63fdda0414dad66a9837d592767325f553a21a4a44d6dc29e8b9183fde838a.html.gz +0 -0
  49. data/{testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/htmlmixed/index.html → installer/core/public/assets/admin/codemirror/mode/htmlmixed/index-461cc2868fa06065c0443310e03fb947d324bcc31c13cb5b8b5b3ed30a10ebe6.html} +0 -0
  50. data/installer/core/public/assets/admin/codemirror/mode/htmlmixed/index-461cc2868fa06065c0443310e03fb947d324bcc31c13cb5b8b5b3ed30a10ebe6.html.gz +0 -0
  51. data/{testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/javascript/index.html → installer/core/public/assets/admin/codemirror/mode/javascript/index-bd3eb54016a0d4bba846aa86a8dd5f451459f02c0a09352094b3d974ddabd6c3.html} +0 -0
  52. data/installer/core/public/assets/admin/codemirror/mode/javascript/index-bd3eb54016a0d4bba846aa86a8dd5f451459f02c0a09352094b3d974ddabd6c3.html.gz +0 -0
  53. data/{testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/javascript/json-ld.html → installer/core/public/assets/admin/codemirror/mode/javascript/json-ld-ac787941ea8a1b871daf68054ca196a99d05cd6873587d4b62586aff9fb92452.html} +0 -0
  54. data/installer/core/public/assets/admin/codemirror/mode/javascript/json-ld-ac787941ea8a1b871daf68054ca196a99d05cd6873587d4b62586aff9fb92452.html.gz +0 -0
  55. data/{testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/javascript/typescript.html → installer/core/public/assets/admin/codemirror/mode/javascript/typescript-f930148de0b8380ee4b3ca765c56c7b21e40b935a97cd1de75aa1b60843aa8b5.html} +0 -0
  56. data/installer/core/public/assets/admin/codemirror/mode/javascript/typescript-f930148de0b8380ee4b3ca765c56c7b21e40b935a97cd1de75aa1b60843aa8b5.html.gz +0 -0
  57. data/{testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/ruby/index.html → installer/core/public/assets/admin/codemirror/mode/ruby/index-00f454d5eff4cef18448d1b8a0052595272d1414c208fb346222ab81eaef1d5a.html} +0 -0
  58. data/installer/core/public/assets/admin/codemirror/mode/ruby/index-00f454d5eff4cef18448d1b8a0052595272d1414c208fb346222ab81eaef1d5a.html.gz +0 -0
  59. data/{testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/vue/index.html → installer/core/public/assets/admin/codemirror/mode/vue/index-72d3f8d8f5146bcd0f56166eb47299eee5f32fd150d7e4afac48dc4778105bea.html} +0 -0
  60. data/installer/core/public/assets/admin/codemirror/mode/vue/index-72d3f8d8f5146bcd0f56166eb47299eee5f32fd150d7e4afac48dc4778105bea.html.gz +0 -0
  61. data/{testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/xml/index.html → installer/core/public/assets/admin/codemirror/mode/xml/index-d4700b1f6a65957d38cd05e178d099b0bbe200309a5d54172d797ce99dd4a247.html} +0 -0
  62. data/installer/core/public/assets/admin/codemirror/mode/xml/index-d4700b1f6a65957d38cd05e178d099b0bbe200309a5d54172d797ce99dd4a247.html.gz +0 -0
  63. data/{testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/yaml-frontmatter/index.html → installer/core/public/assets/admin/codemirror/mode/yaml-frontmatter/index-7350bfe40ce807d0846efe10b17607190bfc8b75229866679c553e12ebf54f79.html} +0 -0
  64. data/installer/core/public/assets/admin/codemirror/mode/yaml-frontmatter/index-7350bfe40ce807d0846efe10b17607190bfc8b75229866679c553e12ebf54f79.html.gz +0 -0
  65. data/{testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/yaml/index.html → installer/core/public/assets/admin/codemirror/mode/yaml/index-f998ecd3cffb4f8f1b0d8fcff32462681f7ea38e59bd66599ccd789d3d8b638f.html} +0 -0
  66. data/installer/core/public/assets/admin/codemirror/mode/yaml/index-f998ecd3cffb4f8f1b0d8fcff32462681f7ea38e59bd66599ccd789d3d8b638f.html.gz +0 -0
  67. data/{testing-with-2.1.18/app/assets/images/admin/en.png → installer/core/public/assets/admin/en-04d44fc02de55acae6c442daaa08250b16d7698cb5f20a7b79ffff7429b46b77.png} +0 -0
  68. data/{testing-with-2.1.18/app/assets/images/admin/es.png → installer/core/public/assets/admin/es-50df0dad9e0d73050da6cb012b273ded096ab4c25daa332a8c1514c8feb2e38d.png} +0 -0
  69. data/{testing-with-2.1.18/app/assets/images/admin/favicon.png → installer/core/public/assets/admin/favicon-8502ac8dee08af63f06b51ba4bfe7d73ad822453cd728df71ea061669dfda46d.png} +0 -0
  70. data/{testing-with-2.1.18/app/assets/stylesheets/admin/fonts-and-icons/ZXuke1cDvLCKLDcimxB44_lu.woff2 → installer/core/public/assets/admin/fonts-and-icons/ZXuke1cDvLCKLDcimxB44_lu-930d66533ab5afb83f852c6e3ae10a1bacc46e97dfd92ddcb905b5556205d677.woff2} +0 -0
  71. data/{testing-with-2.1.18/app/assets/stylesheets/admin/fonts-and-icons/fonts/Simple-Line-Icons.woff2 → installer/core/public/assets/admin/fonts-and-icons/fonts/Simple-Line-Icons-104673f4859604362a18fc6294197d8fffb8cb24ad3211e92eb04f655e18cf4a.woff2} +0 -0
  72. data/{testing-with-2.1.18/app/assets/stylesheets/admin/fonts-and-icons/fonts/Simple-Line-Icons.woff → installer/core/public/assets/admin/fonts-and-icons/fonts/Simple-Line-Icons-14b825d7785bf7f90bab8b02c6df6f22863c639cab02038a8ba3e682ab7d2752.woff} +0 -0
  73. data/{testing-with-2.1.18/app/assets/stylesheets/admin/fonts-and-icons/fonts/Simple-Line-Icons.eot → installer/core/public/assets/admin/fonts-and-icons/fonts/Simple-Line-Icons-1c823013a692818b26ad756540fcb73f53bfb3409af0d08129bb340c9c5c8a1f.eot} +0 -0
  74. data/installer/core/public/assets/admin/fonts-and-icons/fonts/Simple-Line-Icons-1c823013a692818b26ad756540fcb73f53bfb3409af0d08129bb340c9c5c8a1f.eot.gz +0 -0
  75. data/{testing-with-2.1.18/app/assets/stylesheets/admin/fonts-and-icons/fonts/Simple-Line-Icons.ttf → installer/core/public/assets/admin/fonts-and-icons/fonts/Simple-Line-Icons-3f501ddb05c70829bbb51cfe9ca9fff57f39e060457c257b3ccf25df767f0870.ttf} +0 -0
  76. data/installer/core/public/assets/admin/fonts-and-icons/fonts/Simple-Line-Icons-3f501ddb05c70829bbb51cfe9ca9fff57f39e060457c257b3ccf25df767f0870.ttf.gz +0 -0
  77. data/{testing-with-2.1.18/app/assets/stylesheets/admin/fonts-and-icons/fonts/boxicons.svg → installer/core/public/assets/admin/fonts-and-icons/fonts/boxicons-04e91e102f037f44d5fab187d1c120bdfe2029357c7e19957ec8ab284174668a.svg} +0 -0
  78. data/installer/core/public/assets/admin/fonts-and-icons/fonts/boxicons-04e91e102f037f44d5fab187d1c120bdfe2029357c7e19957ec8ab284174668a.svg.gz +0 -0
  79. data/{testing-with-2.1.18/app/assets/stylesheets/admin/fonts-and-icons/fonts/boxicons.woff → installer/core/public/assets/admin/fonts-and-icons/fonts/boxicons-34b356ebfc024ecb1f42ecc4020ce1f9e0e40dfa569de7e24db7ff746774f904.woff} +0 -0
  80. data/{testing-with-2.1.18/app/assets/stylesheets/admin/fonts-and-icons/fonts/boxicons.woff2 → installer/core/public/assets/admin/fonts-and-icons/fonts/boxicons-4db228a5fbed38f7046bcecafb5839a49b39756b48c4bec7a4c13d44ccb41b91.woff2} +0 -0
  81. data/{testing-with-2.1.18/app/assets/stylesheets/admin/fonts-and-icons/fonts/boxicons.eot → installer/core/public/assets/admin/fonts-and-icons/fonts/boxicons-8a68af92eea95d1698739c0d390c8c73228b622b91f6e3170f19e765a8e8979b.eot} +0 -0
  82. data/installer/core/public/assets/admin/fonts-and-icons/fonts/boxicons-8a68af92eea95d1698739c0d390c8c73228b622b91f6e3170f19e765a8e8979b.eot.gz +0 -0
  83. data/{testing-with-2.1.18/app/assets/stylesheets/admin/fonts-and-icons/fonts/boxicons.ttf → installer/core/public/assets/admin/fonts-and-icons/fonts/boxicons-db138c828adc2a31e6cfbb64188dd079eeef577131fd4bd138c4d566dd00b6bb.ttf} +0 -0
  84. data/installer/core/public/assets/admin/fonts-and-icons/fonts/boxicons-db138c828adc2a31e6cfbb64188dd079eeef577131fd4bd138c4d566dd00b6bb.ttf.gz +0 -0
  85. data/{testing-with-2.1.18/app/assets/images/admin/image_default.png → installer/core/public/assets/admin/image_default-be1d557511976c97715fc6215fc6c861f00a86c33654ef2ded273027182168b9.png} +0 -0
  86. data/{testing-with-2.1.18/app/assets/images/admin/logo.png → installer/core/public/assets/admin/logo-6fc9f869f19a13f29ea006362e0a3be5fdf2c37c144a0ccac184c8e4b1e9bb28.png} +0 -0
  87. data/{testing-with-2.1.18/app/assets/images/admin/logo2.png → installer/core/public/assets/admin/logo2-0b42a0f73a5f567a52100fea42cd88764a90ace1f2b0b76df3fdaca41a960421.png} +0 -0
  88. data/{testing-with-2.1.18/app/assets/images/admin/profile-menu.jpg → installer/core/public/assets/admin/profile-menu-6222ad8e7c653f9216519a7ae99e072e38d6b7435a397648d9beb10678e11f40.jpg} +0 -0
  89. data/{testing-with-2.1.18/app/assets/images/admin/search.png → installer/core/public/assets/admin/search-1ad39e363da0eb5ec86508ea61bd7c1198aad27e35c9f083466bda731c30f62d.png} +0 -0
  90. data/{testing-with-2.1.18/app/assets/images/admin/slice.png → installer/core/public/assets/admin/slice-fdba819c5f7aac1c10620c1c7d8e1e9bae109765ff1e0cabce2f57400b6169bf.png} +0 -0
  91. data/{testing-with-2.1.18/app/assets/images/admin/slice-icon.png → installer/core/public/assets/admin/slice-icon-54a0271ab483f5ed561a4f9e608bbc07ff76ad142d7462e9853f7c8cc1e39ad3.png} +0 -0
  92. data/{testing-with-2.1.18/app/assets/images/admin/slice-icon-orange.png → installer/core/public/assets/admin/slice-icon-orange-7cdaf53dd3ec3822fe4d7e266766d2527d7f0e95fad681b3b38e000c80eca26f.png} +0 -0
  93. data/{testing-with-2.1.18/app/assets/images/admin/slice_white.png → installer/core/public/assets/admin/slice_white-3396dde6fa31d2140341e38bfe39044f9f087294373fb75c53b1284387e0ac88.png} +0 -0
  94. data/installer/core/public/assets/adminlte/dist/img/boxed-bg-5487391fa5db6155709522886beebc00fd7433ffb7ae5f63e585497cd5174ae5.jpg +0 -0
  95. data/{testing-with-2.1.18/app/assets/images/app/Cohete_nubes_new.png → installer/core/public/assets/app/Cohete_nubes_new-6222ad8e7c653f9216519a7ae99e072e38d6b7435a397648d9beb10678e11f40.png} +0 -0
  96. data/{testing-with-2.1.18/app/assets/images/app/Home_Keppler.png → installer/core/public/assets/app/Home_Keppler-2f69e6ff6073f785b8253e9fc23dfd06b210881bb611bdb8915c2d07993b90f6.png} +0 -0
  97. data/{testing-with-2.1.18/app/assets/images/app/Home_Keppler2.png → installer/core/public/assets/app/Home_Keppler2-09a96f8ea6f6ed972ce18747f308d02859c6bb076ab62812e2857389df8f3fab.png} +0 -0
  98. data/installer/core/public/assets/app/application-168cc167d8c7a14d11da39286d8f0fe13d50a6675e7da90a99ecad8abc962530.css +17575 -0
  99. data/installer/core/public/assets/app/application-168cc167d8c7a14d11da39286d8f0fe13d50a6675e7da90a99ecad8abc962530.css.gz +0 -0
  100. data/installer/core/public/assets/app/application-7feb58fe1bdf49525dc81b13cefa58ede1b6878f950febf6cf36cd51ff988445.js +19866 -0
  101. data/installer/core/public/assets/app/application-7feb58fe1bdf49525dc81b13cefa58ede1b6878f950febf6cf36cd51ff988445.js.gz +0 -0
  102. data/{testing-with-2.1.18/app/assets/images/app/fondo.svg → installer/core/public/assets/app/fondo-0cace9dce98e106c6911a3eda205eba6a535965900043d7b803a9d178ea28c08.svg} +0 -0
  103. data/installer/core/public/assets/app/fondo-0cace9dce98e106c6911a3eda205eba6a535965900043d7b803a9d178ea28c08.svg.gz +0 -0
  104. data/{testing-with-2.1.18/app/assets/images/app/keppler-front.png → installer/core/public/assets/app/keppler-front-a4b24e51b3249bc6cc06f3fd4b17cab6af17018629ec1110b14f6f769749a78e.png} +0 -0
  105. data/{testing-with-2.1.18/app/assets/images/app/slice.png → installer/core/public/assets/app/slice-fdba819c5f7aac1c10620c1c7d8e1e9bae109765ff1e0cabce2f57400b6169bf.png} +0 -0
  106. data/{testing-with-2.1.18/app/assets/images/app/slice-front.png → installer/core/public/assets/app/slice-front-366ab15723861e1b74139461053806b21c5d6e9d5f52baa24fd399fdbea23d70.png} +0 -0
  107. data/installer/core/public/assets/bootstrap/glyphicons-halflings-regular-13634da87d9e23f8c3ed9108ce1724d183a39ad072e73e1b3d8cbf646d2d0407.eot +0 -0
  108. data/installer/core/public/assets/bootstrap/glyphicons-halflings-regular-13634da87d9e23f8c3ed9108ce1724d183a39ad072e73e1b3d8cbf646d2d0407.eot.gz +0 -0
  109. data/installer/core/public/assets/bootstrap/glyphicons-halflings-regular-42f60659d265c1a3c30f9fa42abcbb56bd4a53af4d83d316d6dd7a36903c43e5.svg +288 -0
  110. data/installer/core/public/assets/bootstrap/glyphicons-halflings-regular-42f60659d265c1a3c30f9fa42abcbb56bd4a53af4d83d316d6dd7a36903c43e5.svg.gz +0 -0
  111. data/installer/core/public/assets/bootstrap/glyphicons-halflings-regular-a26394f7ede100ca118eff2eda08596275a9839b959c226e15439557a5a80742.woff +0 -0
  112. data/installer/core/public/assets/bootstrap/glyphicons-halflings-regular-e395044093757d82afcb138957d06a1ea9361bdcf0b442d06a18a8051af57456.ttf +0 -0
  113. data/installer/core/public/assets/bootstrap/glyphicons-halflings-regular-e395044093757d82afcb138957d06a1ea9361bdcf0b442d06a18a8051af57456.ttf.gz +0 -0
  114. data/installer/core/public/assets/bootstrap/glyphicons-halflings-regular-fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c.woff2 +0 -0
  115. data/installer/core/public/assets/ckeditor/adapters/jquery-1bc59ef62f52859422f96a481de8476c38bbecff7aa6301fc6732261f659bcd2.js +11 -0
  116. data/installer/core/public/assets/ckeditor/adapters/jquery-1bc59ef62f52859422f96a481de8476c38bbecff7aa6301fc6732261f659bcd2.js.gz +0 -0
  117. data/installer/core/public/assets/ckeditor/adapters/jquery.js +11 -0
  118. data/installer/core/public/assets/ckeditor/adapters/jquery.js.gz +0 -0
  119. data/installer/core/public/assets/ckeditor/application-42636d4067159a70cb5dd3c8f994ed4ed06ea1914f40348f715fd344ac1f5c30.css +225 -0
  120. data/installer/core/public/assets/ckeditor/application-42636d4067159a70cb5dd3c8f994ed4ed06ea1914f40348f715fd344ac1f5c30.css.gz +0 -0
  121. data/installer/core/public/assets/ckeditor/application-56a1c7231485c7ea14ed14a767c7fc8d7cfc133308e31300f9751430a78dec38.js +2221 -0
  122. data/installer/core/public/assets/ckeditor/application-56a1c7231485c7ea14ed14a767c7fc8d7cfc133308e31300f9751430a78dec38.js.gz +0 -0
  123. data/installer/core/public/assets/ckeditor/application.css +225 -0
  124. data/installer/core/public/assets/ckeditor/application.css.gz +0 -0
  125. data/installer/core/public/assets/ckeditor/application.js +2221 -0
  126. data/installer/core/public/assets/ckeditor/application.js.gz +0 -0
  127. data/installer/core/public/assets/ckeditor/ckeditor-5627b7c5975c03aa8c738623a75f40df11e006c51dad749183c4ced4ea4906a1.js +1185 -0
  128. data/installer/core/public/assets/ckeditor/ckeditor-5627b7c5975c03aa8c738623a75f40df11e006c51dad749183c4ced4ea4906a1.js.gz +0 -0
  129. data/installer/core/public/assets/ckeditor/ckeditor.js +1185 -0
  130. data/installer/core/public/assets/ckeditor/ckeditor.js.gz +0 -0
  131. data/installer/core/public/assets/ckeditor/config-6728244dac0c5efcd52dd3415680536b746da4ebc863f0d7322891e465c36303.js +131 -0
  132. data/installer/core/public/assets/ckeditor/config-6728244dac0c5efcd52dd3415680536b746da4ebc863f0d7322891e465c36303.js.gz +0 -0
  133. data/installer/core/public/assets/ckeditor/config.js +131 -0
  134. data/installer/core/public/assets/ckeditor/config.js.gz +0 -0
  135. data/installer/core/public/assets/ckeditor/contents-2f984ad78c3fcc0586386f0850c78bc6a6e6e9c6aac695464eb1a3f04eaebe6f.css +209 -0
  136. data/installer/core/public/assets/ckeditor/contents-2f984ad78c3fcc0586386f0850c78bc6a6e6e9c6aac695464eb1a3f04eaebe6f.css.gz +0 -0
  137. data/installer/core/public/assets/ckeditor/contents.css +209 -0
  138. data/installer/core/public/assets/ckeditor/contents.css.gz +0 -0
  139. data/installer/core/public/assets/ckeditor/filebrowser/gal_add-e97dc0969bf9a7b88d048bcc2e4eb28a2f9ae75763e7076b4c68ee2e7de3ea05.png +0 -0
  140. data/installer/core/public/assets/ckeditor/filebrowser/gal_add.png +0 -0
  141. data/installer/core/public/assets/ckeditor/filebrowser/gal_del-5103ec7de60473f8c5bafa0208257dca3a993edb783a766666edbc606fd6c531.png +0 -0
  142. data/installer/core/public/assets/ckeditor/filebrowser/gal_del.png +0 -0
  143. data/installer/core/public/assets/ckeditor/filebrowser/gal_more-93d8887361f4dd7f757c20a186a2dae6e5cc6698da238814eacbff7b19a43f51.gif +0 -0
  144. data/installer/core/public/assets/ckeditor/filebrowser/gal_more.gif +0 -0
  145. data/installer/core/public/assets/ckeditor/filebrowser/javascripts/application-6eb1266221a129c66ba8976527279e7539746e3c5f6b1af3faf7b5a9d013d4e4.js +230 -0
  146. data/installer/core/public/assets/ckeditor/filebrowser/javascripts/application-6eb1266221a129c66ba8976527279e7539746e3c5f6b1af3faf7b5a9d013d4e4.js.gz +0 -0
  147. data/installer/core/public/assets/ckeditor/filebrowser/javascripts/application.js +230 -0
  148. data/installer/core/public/assets/ckeditor/filebrowser/javascripts/application.js.gz +0 -0
  149. data/installer/core/public/assets/ckeditor/filebrowser/preloader-3799a3e41d7787a31dac5796ebccc242951da2f2b57eb088326ab3bffe15056a.gif +0 -0
  150. data/installer/core/public/assets/ckeditor/filebrowser/preloader.gif +0 -0
  151. data/installer/core/public/assets/ckeditor/init-08a73ffab1aded8d16921075e0580e3cc58665718ea81934dda19cbffad54c85.js +1193 -0
  152. data/installer/core/public/assets/ckeditor/init-08a73ffab1aded8d16921075e0580e3cc58665718ea81934dda19cbffad54c85.js.gz +0 -0
  153. data/installer/core/public/assets/ckeditor/init.js +1193 -0
  154. data/installer/core/public/assets/ckeditor/init.js.gz +0 -0
  155. data/installer/core/public/assets/ckeditor/plugins/a11yhelp/dialogs/a11yhelp-d2d45b8c2f3c6c181ac56ba1634ace1359a5c95ee916124a8a25b085b7959265.js +11 -0
  156. data/installer/core/public/assets/ckeditor/plugins/a11yhelp/dialogs/a11yhelp-d2d45b8c2f3c6c181ac56ba1634ace1359a5c95ee916124a8a25b085b7959265.js.gz +0 -0
  157. data/installer/core/public/assets/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +11 -0
  158. data/installer/core/public/assets/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js.gz +0 -0
  159. data/installer/core/public/assets/ckeditor/plugins/about/dialogs/about-2bdd60f2936ccd80435dc740622f8cc5bee4363ceb8f6c103e46d596d21ef6d0.js +9 -0
  160. data/installer/core/public/assets/ckeditor/plugins/about/dialogs/about-2bdd60f2936ccd80435dc740622f8cc5bee4363ceb8f6c103e46d596d21ef6d0.js.gz +0 -0
  161. data/installer/core/public/assets/ckeditor/plugins/about/dialogs/about.js +9 -0
  162. data/installer/core/public/assets/ckeditor/plugins/about/dialogs/about.js.gz +0 -0
  163. data/installer/core/public/assets/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor-227a0aade8e648c3ab3977ce9e66b9491baa9aa7376082c652fdb76230adffdd.png +0 -0
  164. data/installer/core/public/assets/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
  165. data/installer/core/public/assets/ckeditor/plugins/about/dialogs/logo_ckeditor-954605bb634dae9f4d15ca33057d86eb62e34ae3bc57dfd5877b6d3356067413.png +0 -0
  166. data/installer/core/public/assets/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  167. data/installer/core/public/assets/ckeditor/plugins/colordialog/dialogs/colordialog-1b0cfd23c7a4ee7ea1d35cda8d1ca84b06fffcde7b0d1da676d02af65c1a4e06.css +21 -0
  168. data/installer/core/public/assets/ckeditor/plugins/colordialog/dialogs/colordialog-1b0cfd23c7a4ee7ea1d35cda8d1ca84b06fffcde7b0d1da676d02af65c1a4e06.css.gz +0 -0
  169. data/installer/core/public/assets/ckeditor/plugins/colordialog/dialogs/colordialog-e44136d492cbbfbb392ac90a85baa6e0cc18c328a285d05212e8dadccb0babaf.js +15 -0
  170. data/installer/core/public/assets/ckeditor/plugins/colordialog/dialogs/colordialog-e44136d492cbbfbb392ac90a85baa6e0cc18c328a285d05212e8dadccb0babaf.js.gz +0 -0
  171. data/installer/core/public/assets/ckeditor/plugins/colordialog/dialogs/colordialog.css +21 -0
  172. data/installer/core/public/assets/ckeditor/plugins/colordialog/dialogs/colordialog.css.gz +0 -0
  173. data/installer/core/public/assets/ckeditor/plugins/colordialog/dialogs/colordialog.js +15 -0
  174. data/installer/core/public/assets/ckeditor/plugins/colordialog/dialogs/colordialog.js.gz +0 -0
  175. data/installer/core/public/assets/ckeditor/plugins/copyformatting/styles/copyformatting-ac599201edee5f6b9414f171c626d6aa70650a5795b31d95d12d31265f6304be.css +46 -0
  176. data/installer/core/public/assets/ckeditor/plugins/copyformatting/styles/copyformatting-ac599201edee5f6b9414f171c626d6aa70650a5795b31d95d12d31265f6304be.css.gz +0 -0
  177. data/installer/core/public/assets/ckeditor/plugins/copyformatting/styles/copyformatting.css +46 -0
  178. data/installer/core/public/assets/ckeditor/plugins/copyformatting/styles/copyformatting.css.gz +0 -0
  179. data/installer/core/public/assets/ckeditor/plugins/dialog/dialogDefinition-9ed0fdac536bfa3fa926464f908080b7fd109c847998a496fa5d930b2d05104a.js +6 -0
  180. data/installer/core/public/assets/ckeditor/plugins/dialog/dialogDefinition-9ed0fdac536bfa3fa926464f908080b7fd109c847998a496fa5d930b2d05104a.js.gz +0 -0
  181. data/installer/core/public/assets/ckeditor/plugins/dialog/dialogDefinition.js +6 -0
  182. data/installer/core/public/assets/ckeditor/plugins/dialog/dialogDefinition.js.gz +0 -0
  183. data/installer/core/public/assets/ckeditor/plugins/div/dialogs/div-a39822a3b267ec2ea02d7b23b134682ec663c6e3051fb0a13333577b81e3db6f.js +9 -0
  184. data/installer/core/public/assets/ckeditor/plugins/div/dialogs/div-a39822a3b267ec2ea02d7b23b134682ec663c6e3051fb0a13333577b81e3db6f.js.gz +0 -0
  185. data/installer/core/public/assets/ckeditor/plugins/div/dialogs/div.js +9 -0
  186. data/installer/core/public/assets/ckeditor/plugins/div/dialogs/div.js.gz +0 -0
  187. data/installer/core/public/assets/ckeditor/plugins/find/dialogs/find-b0230f4d5a23db0546f7c786f5e6870c1d9d876765568eb94ebacbdb56a4c487.js +26 -0
  188. data/installer/core/public/assets/ckeditor/plugins/find/dialogs/find-b0230f4d5a23db0546f7c786f5e6870c1d9d876765568eb94ebacbdb56a4c487.js.gz +0 -0
  189. data/installer/core/public/assets/ckeditor/plugins/find/dialogs/find.js +26 -0
  190. data/installer/core/public/assets/ckeditor/plugins/find/dialogs/find.js.gz +0 -0
  191. data/installer/core/public/assets/ckeditor/plugins/flash/dialogs/flash-46239716a5ebaecdf30e3e5090799649eb83b04da46b43e65cb360532babe11a.js +25 -0
  192. data/installer/core/public/assets/ckeditor/plugins/flash/dialogs/flash-46239716a5ebaecdf30e3e5090799649eb83b04da46b43e65cb360532babe11a.js.gz +0 -0
  193. data/installer/core/public/assets/ckeditor/plugins/flash/dialogs/flash.js +25 -0
  194. data/installer/core/public/assets/ckeditor/plugins/flash/dialogs/flash.js.gz +0 -0
  195. data/installer/core/public/assets/ckeditor/plugins/flash/images/placeholder-3693431ff1695c9691d5b29bed1c2e30be843edb77bc45ef25effe3eb776a7d9.png +0 -0
  196. data/installer/core/public/assets/ckeditor/plugins/flash/images/placeholder.png +0 -0
  197. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/button-9581cee2c5ee9dba2e2616ac53d9dce7945360ad19133ff778be15df144cace0.js +9 -0
  198. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/button-9581cee2c5ee9dba2e2616ac53d9dce7945360ad19133ff778be15df144cace0.js.gz +0 -0
  199. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/button.js +9 -0
  200. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/button.js.gz +0 -0
  201. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/checkbox-0147ed57721bca0ee1aaf044bd3c1f499ccb40e8ec3fd07f0588e75485df3203.js +10 -0
  202. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/checkbox-0147ed57721bca0ee1aaf044bd3c1f499ccb40e8ec3fd07f0588e75485df3203.js.gz +0 -0
  203. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/checkbox.js +10 -0
  204. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/checkbox.js.gz +0 -0
  205. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/form-0e934aa82a0bbc58ae59a095fe6567c81117d677d83d3b6eaa89dbfc2ac9f6aa.js +9 -0
  206. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/form-0e934aa82a0bbc58ae59a095fe6567c81117d677d83d3b6eaa89dbfc2ac9f6aa.js.gz +0 -0
  207. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/form.js +9 -0
  208. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/form.js.gz +0 -0
  209. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/hiddenfield-9ff5458874521e288a588e929811578a4158e0fe6b01a1125cc57451ea271c80.js +8 -0
  210. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/hiddenfield-9ff5458874521e288a588e929811578a4158e0fe6b01a1125cc57451ea271c80.js.gz +0 -0
  211. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/hiddenfield.js +8 -0
  212. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/hiddenfield.js.gz +0 -0
  213. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/radio-3fcb2e4bb22edd35f3d96b9de1be6e765ede73a84ab5a09e678c51b714fac982.js +10 -0
  214. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/radio-3fcb2e4bb22edd35f3d96b9de1be6e765ede73a84ab5a09e678c51b714fac982.js.gz +0 -0
  215. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/radio.js +10 -0
  216. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/radio.js.gz +0 -0
  217. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/select-51f77cb58f50119b7b267838d07edd5d4a65a65a6b68c4fa42eca9656879b38b.js +21 -0
  218. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/select-51f77cb58f50119b7b267838d07edd5d4a65a65a6b68c4fa42eca9656879b38b.js.gz +0 -0
  219. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/select.js +21 -0
  220. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/select.js.gz +0 -0
  221. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/textarea-03c78985cc9239c079ed579a0dfe380d0ad4d33d71561a9cb4a19bc2fe807455.js +9 -0
  222. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/textarea-03c78985cc9239c079ed579a0dfe380d0ad4d33d71561a9cb4a19bc2fe807455.js.gz +0 -0
  223. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/textarea.js +9 -0
  224. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/textarea.js.gz +0 -0
  225. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/textfield-0a8d256c89b72b596af1bbdfe7deafa9ea59909f157e6e9fc01808191423900a.js +12 -0
  226. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/textfield-0a8d256c89b72b596af1bbdfe7deafa9ea59909f157e6e9fc01808191423900a.js.gz +0 -0
  227. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/textfield.js +12 -0
  228. data/installer/core/public/assets/ckeditor/plugins/forms/dialogs/textfield.js.gz +0 -0
  229. data/installer/core/public/assets/ckeditor/plugins/forms/images/hiddenfield-2314846c5b4071dec60aaa00f5a1bb10496adcfc1f084eb84a76ff2280b00aee.gif +0 -0
  230. data/installer/core/public/assets/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  231. data/installer/core/public/assets/ckeditor/plugins/icons-af6217b63920631c6dd9914678b77fdd11a6e04a2dd72fe154015f52d646476e.png +0 -0
  232. data/installer/core/public/assets/ckeditor/plugins/icons.png +0 -0
  233. data/installer/core/public/assets/ckeditor/plugins/icons_hidpi-be1786d2965715aa5c3d777a477d1f295a634dcf93128b57b46718c5518e82bd.png +0 -0
  234. data/installer/core/public/assets/ckeditor/plugins/icons_hidpi.png +0 -0
  235. data/installer/core/public/assets/ckeditor/plugins/iframe/dialogs/iframe-6769eb441c58bb1ce49b56ca8051ae0bc0472f6b51292d87a872ded0ee2d7aff.js +11 -0
  236. data/installer/core/public/assets/ckeditor/plugins/iframe/dialogs/iframe-6769eb441c58bb1ce49b56ca8051ae0bc0472f6b51292d87a872ded0ee2d7aff.js.gz +0 -0
  237. data/installer/core/public/assets/ckeditor/plugins/iframe/dialogs/iframe.js +11 -0
  238. data/installer/core/public/assets/ckeditor/plugins/iframe/dialogs/iframe.js.gz +0 -0
  239. data/installer/core/public/assets/ckeditor/plugins/iframe/images/placeholder-992092e4bcca197097e9fe917441f710b8ef07b9450705ecd514eb8789384d76.png +0 -0
  240. data/installer/core/public/assets/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  241. data/installer/core/public/assets/ckeditor/plugins/image/dialogs/image-701dfe8cd31d930125d5992f3c3e48525d2cf02f8260c898aef60aa03dbc309b.js +45 -0
  242. data/installer/core/public/assets/ckeditor/plugins/image/dialogs/image-701dfe8cd31d930125d5992f3c3e48525d2cf02f8260c898aef60aa03dbc309b.js.gz +0 -0
  243. data/installer/core/public/assets/ckeditor/plugins/image/dialogs/image.js +45 -0
  244. data/installer/core/public/assets/ckeditor/plugins/image/dialogs/image.js.gz +0 -0
  245. data/installer/core/public/assets/ckeditor/plugins/image/images/noimage-bd8c0e93d7bc89b0c36085672424fe2f698dac0e680a1b278f00a152579f2a93.png +0 -0
  246. data/installer/core/public/assets/ckeditor/plugins/image/images/noimage.png +0 -0
  247. data/installer/core/public/assets/ckeditor/plugins/link/dialogs/anchor-8a72aeec75103ff7c347c2667da52dc7d1a7885be7c2703dae714d643901bc93.js +9 -0
  248. data/installer/core/public/assets/ckeditor/plugins/link/dialogs/anchor-8a72aeec75103ff7c347c2667da52dc7d1a7885be7c2703dae714d643901bc93.js.gz +0 -0
  249. data/installer/core/public/assets/ckeditor/plugins/link/dialogs/anchor.js +9 -0
  250. data/installer/core/public/assets/ckeditor/plugins/link/dialogs/anchor.js.gz +0 -0
  251. data/installer/core/public/assets/ckeditor/plugins/link/dialogs/link-4a63a2521e2df045d7ce9b3cd6c3950124503dfe550153275b53eb5cab2b2857.js +29 -0
  252. data/installer/core/public/assets/ckeditor/plugins/link/dialogs/link-4a63a2521e2df045d7ce9b3cd6c3950124503dfe550153275b53eb5cab2b2857.js.gz +0 -0
  253. data/installer/core/public/assets/ckeditor/plugins/link/dialogs/link.js +29 -0
  254. data/installer/core/public/assets/ckeditor/plugins/link/dialogs/link.js.gz +0 -0
  255. data/installer/core/public/assets/ckeditor/plugins/link/images/anchor-cddc8927dfdd672d655b96b551ba1ad1599c5f13d13deb2b09a28b54c853a25c.png +0 -0
  256. data/installer/core/public/assets/ckeditor/plugins/link/images/anchor.png +0 -0
  257. data/installer/core/public/assets/ckeditor/plugins/link/images/hidpi/anchor-b5b952c9dbf47ff88b4904b99cf673cf6ec94cd65f4c66b55eaea5dbb911f4db.png +0 -0
  258. data/installer/core/public/assets/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
  259. data/installer/core/public/assets/ckeditor/plugins/liststyle/dialogs/liststyle-3ea7426e423ac3a17f484b67e9d06c488676c3184e859ff3358b8b6a02cd2f10.js +11 -0
  260. data/installer/core/public/assets/ckeditor/plugins/liststyle/dialogs/liststyle-3ea7426e423ac3a17f484b67e9d06c488676c3184e859ff3358b8b6a02cd2f10.js.gz +0 -0
  261. data/installer/core/public/assets/ckeditor/plugins/liststyle/dialogs/liststyle.js +11 -0
  262. data/installer/core/public/assets/ckeditor/plugins/liststyle/dialogs/liststyle.js.gz +0 -0
  263. data/installer/core/public/assets/ckeditor/plugins/magicline/images/hidpi/icon-92dfb414e7a31e632288097db347e272ecfd001f9825423a16c623dcaeb968b8.png +0 -0
  264. data/installer/core/public/assets/ckeditor/plugins/magicline/images/hidpi/icon-rtl-4046986f6904328c9d470b44c95f1f50ef82d9e470915ea471e1f4dcc0f06618.png +0 -0
  265. data/installer/core/public/assets/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png +0 -0
  266. data/installer/core/public/assets/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
  267. data/installer/core/public/assets/ckeditor/plugins/magicline/images/icon-db2f77571f3e9cb69096a5da21af65b0eacf5eaef08492bb831999504a3e115a.png +0 -0
  268. data/installer/core/public/assets/ckeditor/plugins/magicline/images/icon-rtl-9510f6245b266712f0ec4159e5fc5a97e1ad5c667e65b7fb97c5d1f20cfd7ba5.png +0 -0
  269. data/installer/core/public/assets/ckeditor/plugins/magicline/images/icon-rtl.png +0 -0
  270. data/installer/core/public/assets/ckeditor/plugins/magicline/images/icon.png +0 -0
  271. data/installer/core/public/assets/ckeditor/plugins/pagebreak/images/pagebreak-5db8cbdaf997d012baa522bb75816a70c9ca15017fc170d63392b74958198846.gif +0 -0
  272. data/installer/core/public/assets/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  273. data/installer/core/public/assets/ckeditor/plugins/pastefromword/filter/default-553673a5f77556fe9dcea80c6c9773b770f23f93f5a2bce2b08248f2229e7384.js +53 -0
  274. data/installer/core/public/assets/ckeditor/plugins/pastefromword/filter/default-553673a5f77556fe9dcea80c6c9773b770f23f93f5a2bce2b08248f2229e7384.js.gz +0 -0
  275. data/installer/core/public/assets/ckeditor/plugins/pastefromword/filter/default.js +53 -0
  276. data/installer/core/public/assets/ckeditor/plugins/pastefromword/filter/default.js.gz +0 -0
  277. data/installer/core/public/assets/ckeditor/plugins/preview/preview-9dd8bdcb9cdf799986eca2803b6a463e05eee76007a8d81d97116876ea0f6685.html +13 -0
  278. data/installer/core/public/assets/ckeditor/plugins/preview/preview-9dd8bdcb9cdf799986eca2803b6a463e05eee76007a8d81d97116876ea0f6685.html.gz +0 -0
  279. data/installer/core/public/assets/ckeditor/plugins/preview/preview.html +13 -0
  280. data/installer/core/public/assets/ckeditor/plugins/preview/preview.html.gz +0 -0
  281. data/installer/core/public/assets/ckeditor/plugins/scayt/dialogs/dialog-75e0679953e586ffac55af12700c15b9a4b7d49765103c16fd8943c24162bf0c.css +23 -0
  282. data/installer/core/public/assets/ckeditor/plugins/scayt/dialogs/dialog-75e0679953e586ffac55af12700c15b9a4b7d49765103c16fd8943c24162bf0c.css.gz +0 -0
  283. data/installer/core/public/assets/ckeditor/plugins/scayt/dialogs/dialog.css +23 -0
  284. data/installer/core/public/assets/ckeditor/plugins/scayt/dialogs/dialog.css.gz +0 -0
  285. data/installer/core/public/assets/ckeditor/plugins/scayt/dialogs/options-9a2090b658e9048617ef46bda16cd14009c4f51cc427babbabddb75aadc4c50a.js +32 -0
  286. data/installer/core/public/assets/ckeditor/plugins/scayt/dialogs/options-9a2090b658e9048617ef46bda16cd14009c4f51cc427babbabddb75aadc4c50a.js.gz +0 -0
  287. data/installer/core/public/assets/ckeditor/plugins/scayt/dialogs/options.js +32 -0
  288. data/installer/core/public/assets/ckeditor/plugins/scayt/dialogs/options.js.gz +0 -0
  289. data/installer/core/public/assets/ckeditor/plugins/scayt/dialogs/toolbar-e66191abbfc4b5e5e6291bf4d4cacb4e074bb8d94457ff5384b3f18e72195a2c.css +71 -0
  290. data/installer/core/public/assets/ckeditor/plugins/scayt/dialogs/toolbar-e66191abbfc4b5e5e6291bf4d4cacb4e074bb8d94457ff5384b3f18e72195a2c.css.gz +0 -0
  291. data/installer/core/public/assets/ckeditor/plugins/scayt/dialogs/toolbar.css +71 -0
  292. data/installer/core/public/assets/ckeditor/plugins/scayt/dialogs/toolbar.css.gz +0 -0
  293. data/installer/core/public/assets/ckeditor/plugins/scayt/skins/moono-lisa/scayt-94465f8a7abf4da8295e0fa93a60eba1287830dfc41e3698fb3d20091b95d58c.css +25 -0
  294. data/installer/core/public/assets/ckeditor/plugins/scayt/skins/moono-lisa/scayt-94465f8a7abf4da8295e0fa93a60eba1287830dfc41e3698fb3d20091b95d58c.css.gz +0 -0
  295. data/installer/core/public/assets/ckeditor/plugins/scayt/skins/moono-lisa/scayt.css +25 -0
  296. data/installer/core/public/assets/ckeditor/plugins/scayt/skins/moono-lisa/scayt.css.gz +0 -0
  297. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_address-d896b164eb70e2a22f0521131188b185bb7e404d6e0a0d0f55d11d585d28caa3.png +0 -0
  298. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  299. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_blockquote-30d5929384e0a68850cd667f70779b8464b6f2b1bececf01526eda3e2b191073.png +0 -0
  300. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  301. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_div-34ea88912f128e162de10370b7eadd91e7a0c07f8728693494c1479e95525f56.png +0 -0
  302. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  303. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_h1-40d4a2cd8e2737607867d95948972475ff478e0efaf510cbf17a52b511ef0fc3.png +0 -0
  304. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  305. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_h2-6e3acd9cd6b16dcfce92ade07cb8a8d1929103f3a9a7dcd83c49cc52ec72cdea.png +0 -0
  306. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  307. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_h3-3d26b01e2687763a9a00205d749fc9991de1a75f3f346a3dec473ce2141b693a.png +0 -0
  308. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  309. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_h4-5c6807bb4bb7024c89b8364b5dd0f20ef1961e924db31fa338b39998b677a3f0.png +0 -0
  310. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  311. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_h5-148c02c6a115c4d568604f72126dfe2e27ee8ca3a6a4a7d7ae72b2523e27db77.png +0 -0
  312. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  313. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_h6-85384f22c9128004409679694aeb38ba858ca77fa0f85ef52a61b8f289191df5.png +0 -0
  314. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  315. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_p-68e9e5a80bed810ad2bd0fc9273756fcdb7e7b940fa52cc19a38911ca50ee4f3.png +0 -0
  316. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  317. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_pre-4168bf89d34fac97391bffbd82339ee79125edf2c6d50c153f3fc30efbf536c8.png +0 -0
  318. data/installer/core/public/assets/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  319. data/installer/core/public/assets/ckeditor/plugins/smiley/dialogs/smiley-c7ccf0ced2d6ffd277f834016347e2ab35d9e4aa5c18716055895e56634f0da8.js +12 -0
  320. data/installer/core/public/assets/ckeditor/plugins/smiley/dialogs/smiley-c7ccf0ced2d6ffd277f834016347e2ab35d9e4aa5c18716055895e56634f0da8.js.gz +0 -0
  321. data/installer/core/public/assets/ckeditor/plugins/smiley/dialogs/smiley.js +12 -0
  322. data/installer/core/public/assets/ckeditor/plugins/smiley/dialogs/smiley.js.gz +0 -0
  323. data/installer/core/public/assets/ckeditor/plugins/smiley/images/angel_smile-7b227fc3a29cb0a99e105bbf5065c6086d744bfd8a79b1511bf43184aaf3a0b9.gif +0 -0
  324. data/installer/core/public/assets/ckeditor/plugins/smiley/images/angel_smile-8e2aaced8635d70dff8eb5a269cb2ff071115b965cfea30f31275f3aea88529a.png +0 -0
  325. data/installer/core/public/assets/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  326. data/installer/core/public/assets/ckeditor/plugins/smiley/images/angel_smile.png +0 -0
  327. data/installer/core/public/assets/ckeditor/plugins/smiley/images/angry_smile-aeb431608cf1496216f2c94995d7d568481e32e3cc075e45f12a66a303d2e29d.gif +0 -0
  328. data/installer/core/public/assets/ckeditor/plugins/smiley/images/angry_smile-b4fc95418415fe8999f252649af9541c8f77234f57abc2cf8ee99abd56cc19e3.png +0 -0
  329. data/installer/core/public/assets/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  330. data/installer/core/public/assets/ckeditor/plugins/smiley/images/angry_smile.png +0 -0
  331. data/installer/core/public/assets/ckeditor/plugins/smiley/images/broken_heart-4e8286aacd60df65e9995d8f2afaf4666fc0b0c3be935c441700b5e572e75c5a.gif +0 -0
  332. data/installer/core/public/assets/ckeditor/plugins/smiley/images/broken_heart-7a2005c6a4ee561393b6bb9e37dd0a0080b837f2dc938b10ec7ae305a9681825.png +0 -0
  333. data/installer/core/public/assets/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  334. data/installer/core/public/assets/ckeditor/plugins/smiley/images/broken_heart.png +0 -0
  335. data/installer/core/public/assets/ckeditor/plugins/smiley/images/confused_smile-09953a3738bd6df32e93261f32aa9b8300a05fdd24445f501f55ac468659ef66.gif +0 -0
  336. data/installer/core/public/assets/ckeditor/plugins/smiley/images/confused_smile-2de21fd594b102ab9ed8cd4e5b005c45c4e2ff34bf30e5dacea437a959162d6e.png +0 -0
  337. data/installer/core/public/assets/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  338. data/installer/core/public/assets/ckeditor/plugins/smiley/images/confused_smile.png +0 -0
  339. data/installer/core/public/assets/ckeditor/plugins/smiley/images/cry_smile-7bd254c99e3ff1d1f3e1a832b1564f3e47f9cbdf54f3fca73a91525912ddb38e.png +0 -0
  340. data/installer/core/public/assets/ckeditor/plugins/smiley/images/cry_smile-a2d235ad7d007a6f80c920cbd5e85006a2a42c39e178691e29babe96a03e3d63.gif +0 -0
  341. data/installer/core/public/assets/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  342. data/installer/core/public/assets/ckeditor/plugins/smiley/images/cry_smile.png +0 -0
  343. data/installer/core/public/assets/ckeditor/plugins/smiley/images/devil_smile-2bc850da71b5f9b78a3ed26f03f08869a825e2b40d3e50e2442307361a39dc9f.gif +0 -0
  344. data/installer/core/public/assets/ckeditor/plugins/smiley/images/devil_smile-d433e5ef97e9fe9c73b2e36f1a9be76171fa1f4d2464789a1fe440387495dd6c.png +0 -0
  345. data/installer/core/public/assets/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  346. data/installer/core/public/assets/ckeditor/plugins/smiley/images/devil_smile.png +0 -0
  347. data/installer/core/public/assets/ckeditor/plugins/smiley/images/embaressed_smile-d185a4f35865a517a60dce3cdf73bf92a800d1f7a3a2fabdbded4625b465678d.gif +0 -0
  348. data/installer/core/public/assets/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  349. data/installer/core/public/assets/ckeditor/plugins/smiley/images/embarrassed_smile-ce9a77bf015b4c90b27312f4214684460fde4d2d805d44ddc1871082334d3432.png +0 -0
  350. data/installer/core/public/assets/ckeditor/plugins/smiley/images/embarrassed_smile-d185a4f35865a517a60dce3cdf73bf92a800d1f7a3a2fabdbded4625b465678d.gif +0 -0
  351. data/installer/core/public/assets/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
  352. data/installer/core/public/assets/ckeditor/plugins/smiley/images/embarrassed_smile.png +0 -0
  353. data/installer/core/public/assets/ckeditor/plugins/smiley/images/envelope-0f1546e9abb9b5bc1cf37b2da74606800cb12b64f001553e7fb5ade49df4d29c.png +0 -0
  354. data/installer/core/public/assets/ckeditor/plugins/smiley/images/envelope-489cf811c9835fef32e06696e3893093f9cda5520b5eac65855bb00fa13e804b.gif +0 -0
  355. data/installer/core/public/assets/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  356. data/installer/core/public/assets/ckeditor/plugins/smiley/images/envelope.png +0 -0
  357. data/installer/core/public/assets/ckeditor/plugins/smiley/images/heart-4cf4c3ab6c1b894d721b59b2acb0686c832bab5bb03192471ac6548a4bddf92b.png +0 -0
  358. data/installer/core/public/assets/ckeditor/plugins/smiley/images/heart-fd3b59c7dd52b24ee0614169ff7a06ce1b2a6d49fa7098aecbb9f7c4197107e7.gif +0 -0
  359. data/installer/core/public/assets/ckeditor/plugins/smiley/images/heart.gif +0 -0
  360. data/installer/core/public/assets/ckeditor/plugins/smiley/images/heart.png +0 -0
  361. data/installer/core/public/assets/ckeditor/plugins/smiley/images/kiss-21c801e1e6371e57bdba6ecb16609a627c75a4ec294f9580a03ff498c3099c66.gif +0 -0
  362. data/installer/core/public/assets/ckeditor/plugins/smiley/images/kiss-f142944550a855cb698db1d35723e56ce063c8a6a8088a5dfbe99c62b9a00856.png +0 -0
  363. data/installer/core/public/assets/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  364. data/installer/core/public/assets/ckeditor/plugins/smiley/images/kiss.png +0 -0
  365. data/installer/core/public/assets/ckeditor/plugins/smiley/images/lightbulb-98347f12145eb2987104a5e04bb78ce8f2a154a1347e422f66327d0def3fc75d.gif +0 -0
  366. data/installer/core/public/assets/ckeditor/plugins/smiley/images/lightbulb-ac296632601de086f7aff2c97cbc123dd6a589a2031d1524a28d6222fb005668.png +0 -0
  367. data/installer/core/public/assets/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  368. data/installer/core/public/assets/ckeditor/plugins/smiley/images/lightbulb.png +0 -0
  369. data/installer/core/public/assets/ckeditor/plugins/smiley/images/omg_smile-628c7bb0d4386f901c2690e5a9ad90ee3e9252ef49a7a708f672b9cbb81aa43b.png +0 -0
  370. data/installer/core/public/assets/ckeditor/plugins/smiley/images/omg_smile-a4ebdb8d59ff587b38a762fa4c97ab7a5fd585d7b0722bb503884f8961e45917.gif +0 -0
  371. data/installer/core/public/assets/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  372. data/installer/core/public/assets/ckeditor/plugins/smiley/images/omg_smile.png +0 -0
  373. data/installer/core/public/assets/ckeditor/plugins/smiley/images/regular_smile-7eb86259f47ef5faf89ccbb9648ba0e93d4e9c48588509048f97156634aac3fb.png +0 -0
  374. data/installer/core/public/assets/ckeditor/plugins/smiley/images/regular_smile-8d3049e853d5fab5e1de160f471649edb6b0d9ffbf791d390d1c2152838ad2c3.gif +0 -0
  375. data/installer/core/public/assets/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  376. data/installer/core/public/assets/ckeditor/plugins/smiley/images/regular_smile.png +0 -0
  377. data/installer/core/public/assets/ckeditor/plugins/smiley/images/sad_smile-34b38077abd9f18ecaad2fa65b3158d61465462875592c4ba62b9a12bf154caf.png +0 -0
  378. data/installer/core/public/assets/ckeditor/plugins/smiley/images/sad_smile-aa4692a6fdec3f45f0eb55243c3371e01bab3fc04d61715b6a9171e70b72e257.gif +0 -0
  379. data/installer/core/public/assets/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  380. data/installer/core/public/assets/ckeditor/plugins/smiley/images/sad_smile.png +0 -0
  381. data/installer/core/public/assets/ckeditor/plugins/smiley/images/shades_smile-8af43d1ee5729b8f6e14f831a63fa64430ad54be488c7a57e0da0f45789bc64d.gif +0 -0
  382. data/installer/core/public/assets/ckeditor/plugins/smiley/images/shades_smile-9fd924ea50cb2915ce2863ac5576409b37d9ba9cc7b33832ad3e3b963b2df02c.png +0 -0
  383. data/installer/core/public/assets/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  384. data/installer/core/public/assets/ckeditor/plugins/smiley/images/shades_smile.png +0 -0
  385. data/installer/core/public/assets/ckeditor/plugins/smiley/images/teeth_smile-ab4d093812a347b70126ac79e0cfc16cae45c1d32fd4437da99b2ea22311c0d6.png +0 -0
  386. data/installer/core/public/assets/ckeditor/plugins/smiley/images/teeth_smile-b1f571f9a46641a3cfb78e3319faa37dcb685bc69ed45dfbea3e1e1fd3b71b1f.gif +0 -0
  387. data/installer/core/public/assets/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  388. data/installer/core/public/assets/ckeditor/plugins/smiley/images/teeth_smile.png +0 -0
  389. data/installer/core/public/assets/ckeditor/plugins/smiley/images/thumbs_down-571de749810a2b8c5ee078a30be1c872eefb933c5e2a8c33ded5b304787e7ebe.png +0 -0
  390. data/installer/core/public/assets/ckeditor/plugins/smiley/images/thumbs_down-ec8d8c4a49a38597888bee7971c49b25355d1b8ae59a1c6d224608ee7112055d.gif +0 -0
  391. data/installer/core/public/assets/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  392. data/installer/core/public/assets/ckeditor/plugins/smiley/images/thumbs_down.png +0 -0
  393. data/installer/core/public/assets/ckeditor/plugins/smiley/images/thumbs_up-26ac57c9f26ec725511c7c97a9e0e005aa46710311033eb3f5f23ba355f80cc7.png +0 -0
  394. data/installer/core/public/assets/ckeditor/plugins/smiley/images/thumbs_up-b6359e23c088a020df03ab8e0cd7a5046a3954736426c3cf8370210afc1496cb.gif +0 -0
  395. data/installer/core/public/assets/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  396. data/installer/core/public/assets/ckeditor/plugins/smiley/images/thumbs_up.png +0 -0
  397. data/installer/core/public/assets/ckeditor/plugins/smiley/images/tongue_smile-9c9ad82d7fdf34d3aef1c92ec4001146348bd4405c9b9252e21047c12a30b5d3.png +0 -0
  398. data/installer/core/public/assets/ckeditor/plugins/smiley/images/tongue_smile-e638c648ca78900b2c8f82156604dd8b46ed0cdaef4095e09277583e6f730e3e.gif +0 -0
  399. data/installer/core/public/assets/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
  400. data/installer/core/public/assets/ckeditor/plugins/smiley/images/tongue_smile.png +0 -0
  401. data/installer/core/public/assets/ckeditor/plugins/smiley/images/tounge_smile-e638c648ca78900b2c8f82156604dd8b46ed0cdaef4095e09277583e6f730e3e.gif +0 -0
  402. data/installer/core/public/assets/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  403. data/installer/core/public/assets/ckeditor/plugins/smiley/images/whatchutalkingabout_smile-305e959c2c304a31a052a60ac972df52fdb7819945a10a3a1a1f1a7ee5fecf57.gif +0 -0
  404. data/installer/core/public/assets/ckeditor/plugins/smiley/images/whatchutalkingabout_smile-e2a8446ea58800515e9e27a49e56518a8b05597df32b2a10d998f6380f293f2b.png +0 -0
  405. data/installer/core/public/assets/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  406. data/installer/core/public/assets/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png +0 -0
  407. data/installer/core/public/assets/ckeditor/plugins/smiley/images/wink_smile-3ec65841e54db291aa0335c7c2083451f7cb92062744ed8831e08e9660d45ec3.gif +0 -0
  408. data/installer/core/public/assets/ckeditor/plugins/smiley/images/wink_smile-95de89ce230bc6cbdb5d7881bf9f646e1a0935ca59e5a1ba43526637e1af3d6a.png +0 -0
  409. data/installer/core/public/assets/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  410. data/installer/core/public/assets/ckeditor/plugins/smiley/images/wink_smile.png +0 -0
  411. data/installer/core/public/assets/ckeditor/plugins/specialchar/dialogs/specialchar-5b811b917affecbd45c75c2563627f3204f4958e99fdfeef387ce3c98b61adc0.js +15 -0
  412. data/installer/core/public/assets/ckeditor/plugins/specialchar/dialogs/specialchar-5b811b917affecbd45c75c2563627f3204f4958e99fdfeef387ce3c98b61adc0.js.gz +0 -0
  413. data/installer/core/public/assets/ckeditor/plugins/specialchar/dialogs/specialchar.js +15 -0
  414. data/installer/core/public/assets/ckeditor/plugins/specialchar/dialogs/specialchar.js.gz +0 -0
  415. data/installer/core/public/assets/ckeditor/plugins/table/dialogs/table-f41e0d83975bd104aff05dbb326fc62a31e1cef27d7abc0046f9e3e1489d3593.js +22 -0
  416. data/installer/core/public/assets/ckeditor/plugins/table/dialogs/table-f41e0d83975bd104aff05dbb326fc62a31e1cef27d7abc0046f9e3e1489d3593.js.gz +0 -0
  417. data/installer/core/public/assets/ckeditor/plugins/table/dialogs/table.js +22 -0
  418. data/installer/core/public/assets/ckeditor/plugins/table/dialogs/table.js.gz +0 -0
  419. data/installer/core/public/assets/ckeditor/plugins/tableselection/styles/tableselection-9792b2b1cd17c57ba2adc876d7e2c2bcb474f5876bb18c07fbd757970f8765d7.css +32 -0
  420. data/installer/core/public/assets/ckeditor/plugins/tableselection/styles/tableselection-9792b2b1cd17c57ba2adc876d7e2c2bcb474f5876bb18c07fbd757970f8765d7.css.gz +0 -0
  421. data/installer/core/public/assets/ckeditor/plugins/tableselection/styles/tableselection.css +32 -0
  422. data/installer/core/public/assets/ckeditor/plugins/tableselection/styles/tableselection.css.gz +0 -0
  423. data/installer/core/public/assets/ckeditor/plugins/tabletools/dialogs/tableCell-c3bfee31e5a4a1cf6af2b49e3a9570d528d1e4872dcb74b9504419fadba32fbf.js +18 -0
  424. data/installer/core/public/assets/ckeditor/plugins/tabletools/dialogs/tableCell-c3bfee31e5a4a1cf6af2b49e3a9570d528d1e4872dcb74b9504419fadba32fbf.js.gz +0 -0
  425. data/installer/core/public/assets/ckeditor/plugins/tabletools/dialogs/tableCell.js +18 -0
  426. data/installer/core/public/assets/ckeditor/plugins/tabletools/dialogs/tableCell.js.gz +0 -0
  427. data/installer/core/public/assets/ckeditor/plugins/templates/dialogs/templates-1ef0039fb16321fd4389611090d375cf5f53ec651054b494d1182521413d44e5.js +11 -0
  428. data/installer/core/public/assets/ckeditor/plugins/templates/dialogs/templates-1ef0039fb16321fd4389611090d375cf5f53ec651054b494d1182521413d44e5.js.gz +0 -0
  429. data/installer/core/public/assets/ckeditor/plugins/templates/dialogs/templates-f6ec2ac3c08326b52ae312f0262d4503118dae4d2d8778f85bf20ff2497ea089.css +85 -0
  430. data/installer/core/public/assets/ckeditor/plugins/templates/dialogs/templates-f6ec2ac3c08326b52ae312f0262d4503118dae4d2d8778f85bf20ff2497ea089.css.gz +0 -0
  431. data/installer/core/public/assets/ckeditor/plugins/templates/dialogs/templates.css +85 -0
  432. data/installer/core/public/assets/ckeditor/plugins/templates/dialogs/templates.css.gz +0 -0
  433. data/installer/core/public/assets/ckeditor/plugins/templates/dialogs/templates.js +11 -0
  434. data/installer/core/public/assets/ckeditor/plugins/templates/dialogs/templates.js.gz +0 -0
  435. data/installer/core/public/assets/ckeditor/plugins/templates/templates/default-5700a967e02c2de4bb41ded64f8db4d87bd73c4a4441e6e0d04e0941b3b2e6d1.js +8 -0
  436. data/installer/core/public/assets/ckeditor/plugins/templates/templates/default-5700a967e02c2de4bb41ded64f8db4d87bd73c4a4441e6e0d04e0941b3b2e6d1.js.gz +0 -0
  437. data/installer/core/public/assets/ckeditor/plugins/templates/templates/default.js +8 -0
  438. data/installer/core/public/assets/ckeditor/plugins/templates/templates/default.js.gz +0 -0
  439. data/installer/core/public/assets/ckeditor/plugins/templates/templates/images/template1-0e5b3ea58bdf1ccf7f8aa1d50c86e03832d0e89056f266b1e938e4872f298a1b.gif +0 -0
  440. data/installer/core/public/assets/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  441. data/installer/core/public/assets/ckeditor/plugins/templates/templates/images/template2-3f7cea1cac236e2732feb9eb9f7e5e70bb4b05eced144fc90ebbbce9856c1ddf.gif +0 -0
  442. data/installer/core/public/assets/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  443. data/installer/core/public/assets/ckeditor/plugins/templates/templates/images/template3-91987500818e6fa63f868eea61db15178180a11ef09eebd87a295722590efe05.gif +0 -0
  444. data/installer/core/public/assets/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  445. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/ciframe-bbc1f85ed681f80c12a29fc6e390fe3259fc127faadd7a1ab87cc6acf13705f3.html +66 -0
  446. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/ciframe-bbc1f85ed681f80c12a29fc6e390fe3259fc127faadd7a1ab87cc6acf13705f3.html.gz +0 -0
  447. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/ciframe.html +66 -0
  448. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/ciframe.html.gz +0 -0
  449. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/tmpFrameset-8edad96824ed6e6687bc150fc92ba749e0cd55c4f4de53434568e2ece1e2b999.html +52 -0
  450. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/tmpFrameset-8edad96824ed6e6687bc150fc92ba749e0cd55c4f4de53434568e2ece1e2b999.html.gz +0 -0
  451. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  452. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/tmpFrameset.html.gz +0 -0
  453. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/wsc-43418d6b5efe142c0ea4e864a56974f317d2cac650defd437703587ef2bf83d4.js +93 -0
  454. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/wsc-43418d6b5efe142c0ea4e864a56974f317d2cac650defd437703587ef2bf83d4.js.gz +0 -0
  455. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/wsc-e31787ec9d2b04cbd4a6183923949e0dfda6a3bf104656c1f344c71fdfa4875c.css +83 -0
  456. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/wsc-e31787ec9d2b04cbd4a6183923949e0dfda6a3bf104656c1f344c71fdfa4875c.css.gz +0 -0
  457. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/wsc.css +83 -0
  458. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/wsc.css.gz +0 -0
  459. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/wsc.js +93 -0
  460. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/wsc.js.gz +0 -0
  461. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/wsc_ie-dba8afec87a67f0e0a39f3882c952d25e228b6228d0be03f157be65e1e272167.js +12 -0
  462. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/wsc_ie-dba8afec87a67f0e0a39f3882c952d25e228b6228d0be03f157be65e1e272167.js.gz +0 -0
  463. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/wsc_ie.js +12 -0
  464. data/installer/core/public/assets/ckeditor/plugins/wsc/dialogs/wsc_ie.js.gz +0 -0
  465. data/installer/core/public/assets/ckeditor/plugins/wsc/skins/moono-lisa/wsc-a0fc7fe1ba275090a93038c52950ddb538963b336f0009f4c6efd1722717404f.css +43 -0
  466. data/installer/core/public/assets/ckeditor/plugins/wsc/skins/moono-lisa/wsc-a0fc7fe1ba275090a93038c52950ddb538963b336f0009f4c6efd1722717404f.css.gz +0 -0
  467. data/installer/core/public/assets/ckeditor/plugins/wsc/skins/moono-lisa/wsc.css +43 -0
  468. data/installer/core/public/assets/ckeditor/plugins/wsc/skins/moono-lisa/wsc.css.gz +0 -0
  469. data/installer/core/public/assets/ckeditor/skins/moono-lisa/dialog-7d4bb724b744f9985fe8fe77929477041cbb2b9b32933fd6377599e2b6fecefb.css +6 -0
  470. data/installer/core/public/assets/ckeditor/skins/moono-lisa/dialog-7d4bb724b744f9985fe8fe77929477041cbb2b9b32933fd6377599e2b6fecefb.css.gz +0 -0
  471. data/installer/core/public/assets/ckeditor/skins/moono-lisa/dialog.css +6 -0
  472. data/installer/core/public/assets/ckeditor/skins/moono-lisa/dialog.css.gz +0 -0
  473. data/installer/core/public/assets/ckeditor/skins/moono-lisa/dialog_ie-eb563326b8654de4304b0d42250b1a8aef0d8ebeda3190b3dbd4d14e287b5d7a.css +6 -0
  474. data/installer/core/public/assets/ckeditor/skins/moono-lisa/dialog_ie-eb563326b8654de4304b0d42250b1a8aef0d8ebeda3190b3dbd4d14e287b5d7a.css.gz +0 -0
  475. data/installer/core/public/assets/ckeditor/skins/moono-lisa/dialog_ie.css +6 -0
  476. data/installer/core/public/assets/ckeditor/skins/moono-lisa/dialog_ie.css.gz +0 -0
  477. data/installer/core/public/assets/ckeditor/skins/moono-lisa/dialog_ie8-2d4df01d6ffaf95a014c2e7a84f4a1c4282e389256b2a46baf78c03e6a48b8d4.css +6 -0
  478. data/installer/core/public/assets/ckeditor/skins/moono-lisa/dialog_ie8-2d4df01d6ffaf95a014c2e7a84f4a1c4282e389256b2a46baf78c03e6a48b8d4.css.gz +0 -0
  479. data/installer/core/public/assets/ckeditor/skins/moono-lisa/dialog_ie8.css +6 -0
  480. data/installer/core/public/assets/ckeditor/skins/moono-lisa/dialog_ie8.css.gz +0 -0
  481. data/installer/core/public/assets/ckeditor/skins/moono-lisa/dialog_iequirks-56c1ac096674ca2ffa96415f097d6e811c0fcd18d26249d3551341c353e4d5f6.css +6 -0
  482. data/installer/core/public/assets/ckeditor/skins/moono-lisa/dialog_iequirks-56c1ac096674ca2ffa96415f097d6e811c0fcd18d26249d3551341c353e4d5f6.css.gz +0 -0
  483. data/installer/core/public/assets/ckeditor/skins/moono-lisa/dialog_iequirks.css +6 -0
  484. data/installer/core/public/assets/ckeditor/skins/moono-lisa/dialog_iequirks.css.gz +0 -0
  485. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor-a642f516332c0923ce5b04aef2b8ae2f0deb7baf7964f88c72fd2ebb919ca946.css +6 -0
  486. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor-a642f516332c0923ce5b04aef2b8ae2f0deb7baf7964f88c72fd2ebb919ca946.css.gz +0 -0
  487. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor.css +6 -0
  488. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor.css.gz +0 -0
  489. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor_gecko-f55d1d265c00d459a9d53b74e6683dae3f6246b1e664532fb9efe2b8aec9d83a.css +6 -0
  490. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor_gecko-f55d1d265c00d459a9d53b74e6683dae3f6246b1e664532fb9efe2b8aec9d83a.css.gz +0 -0
  491. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor_gecko.css +6 -0
  492. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor_gecko.css.gz +0 -0
  493. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor_ie-87bccbf693180cf4489c2c7a89ee6dba186a9f87d8b40944c1cb8263666384b6.css +6 -0
  494. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor_ie-87bccbf693180cf4489c2c7a89ee6dba186a9f87d8b40944c1cb8263666384b6.css.gz +0 -0
  495. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor_ie.css +6 -0
  496. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor_ie.css.gz +0 -0
  497. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor_ie8-724e651f2ca9cb5f5c10f6735053214218fc93bf29b530c7915aa071f354df8f.css +6 -0
  498. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor_ie8-724e651f2ca9cb5f5c10f6735053214218fc93bf29b530c7915aa071f354df8f.css.gz +0 -0
  499. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor_ie8.css +6 -0
  500. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor_ie8.css.gz +0 -0
  501. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor_iequirks-fa8825aeccb20dd5c1779a1fc12f536d2e07d8973ee8d238d30c47f245ae751d.css +6 -0
  502. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor_iequirks-fa8825aeccb20dd5c1779a1fc12f536d2e07d8973ee8d238d30c47f245ae751d.css.gz +0 -0
  503. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor_iequirks.css +6 -0
  504. data/installer/core/public/assets/ckeditor/skins/moono-lisa/editor_iequirks.css.gz +0 -0
  505. data/installer/core/public/assets/ckeditor/skins/moono-lisa/icons-af6217b63920631c6dd9914678b77fdd11a6e04a2dd72fe154015f52d646476e.png +0 -0
  506. data/installer/core/public/assets/ckeditor/skins/moono-lisa/icons.png +0 -0
  507. data/installer/core/public/assets/ckeditor/skins/moono-lisa/icons_hidpi-be1786d2965715aa5c3d777a477d1f295a634dcf93128b57b46718c5518e82bd.png +0 -0
  508. data/installer/core/public/assets/ckeditor/skins/moono-lisa/icons_hidpi.png +0 -0
  509. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/arrow-b2277bbb26fff842ebf687d4e0db0011c97ce2ad5150e20ebd63cd15a2c9550b.png +0 -0
  510. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/arrow.png +0 -0
  511. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/close-0d5aab99d91cdf9451203c690d1b681efac0e247873137c2e4b254f5eaed0250.png +0 -0
  512. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/close.png +0 -0
  513. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/hidpi/close-31ca8328e53f548322e8d6cb9b889e1fe6d918e3f944910b905a3c3a9b97f616.png +0 -0
  514. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/hidpi/close.png +0 -0
  515. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/hidpi/lock-590115a32954f2bf27bdad510aa986ab4790616b3838ed840d36707c37d2e549.png +0 -0
  516. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/hidpi/lock-open-0f89da48392084c2b92f1184b20cd15a82b00f76369619827f0c256e4d064a84.png +0 -0
  517. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/hidpi/lock-open.png +0 -0
  518. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/hidpi/lock.png +0 -0
  519. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/hidpi/refresh-0afa815ccda8e98ab0c53b7f84405e7af5926a2f674f294ab7e0636eab8d59bc.png +0 -0
  520. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/hidpi/refresh.png +0 -0
  521. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/lock-591538a3e1c27b0666fbea0e16e5fd35c37824711bf843bd42e692886cd34a87.png +0 -0
  522. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/lock-open-76f7cea49f5c9c3a33ebe05a241e5278530887fe7669529a04accf237ef491ae.png +0 -0
  523. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/lock-open.png +0 -0
  524. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/lock.png +0 -0
  525. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/refresh-908ab5420bc35b3dbb1408cba105349ba1f47334ca98be08d0607410353d033a.png +0 -0
  526. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/refresh.png +0 -0
  527. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/spinner-fe605d83531314abeaec1f47b43c86a4a48c86e3f332ad01b5a9ed2558b8b41f.gif +0 -0
  528. data/installer/core/public/assets/ckeditor/skins/moono-lisa/images/spinner.gif +0 -0
  529. data/installer/core/public/assets/ckeditor/styles-97df3adaaae4178d12a212fad062f011c569a42c836a1c558fc7d751a46f3fc4.js +137 -0
  530. data/installer/core/public/assets/ckeditor/styles-97df3adaaae4178d12a212fad062f011c569a42c836a1c558fc7d751a46f3fc4.js.gz +0 -0
  531. data/installer/core/public/assets/ckeditor/styles.js +137 -0
  532. data/installer/core/public/assets/ckeditor/styles.js.gz +0 -0
  533. data/installer/core/public/assets/errors/application-5bedab1af7243cbddbac6a3bfdb855848f031688fdf0f923ea0432fdc62b76f2.js +117 -0
  534. data/installer/core/public/assets/errors/application-5bedab1af7243cbddbac6a3bfdb855848f031688fdf0f923ea0432fdc62b76f2.js.gz +0 -0
  535. data/installer/core/public/assets/errors/application-b2440acdfe3667a77a6858d9dbc123740884b45cc4870f4ad52b831d16ffac97.css +187 -0
  536. data/installer/core/public/assets/errors/application-b2440acdfe3667a77a6858d9dbc123740884b45cc4870f4ad52b831d16ffac97.css.gz +0 -0
  537. data/installer/core/public/assets/font-awesome/fa-brands-400-15fe80489bf95e94ba22be4084a11dcf5ff3c631fa8ded2051c0f99f08895f52.svg +1011 -0
  538. data/installer/core/public/assets/font-awesome/fa-brands-400-15fe80489bf95e94ba22be4084a11dcf5ff3c631fa8ded2051c0f99f08895f52.svg.gz +0 -0
  539. data/installer/core/public/assets/font-awesome/fa-brands-400-8c507886294992429a98e9382dd1557ef1e7d4a45d6a7bbffa9771e839190c23.ttf +0 -0
  540. data/installer/core/public/assets/font-awesome/fa-brands-400-8c507886294992429a98e9382dd1557ef1e7d4a45d6a7bbffa9771e839190c23.ttf.gz +0 -0
  541. data/installer/core/public/assets/font-awesome/fa-brands-400-9ae2326c389ddbc93a2636b121456333152931549bd5bd16a5cd2ee24e601c16.woff2 +0 -0
  542. data/installer/core/public/assets/font-awesome/fa-brands-400-a25479bdac618c6b4f32a3f60bedee6b4fe759db1500c790eab5f94fdeb59f92.woff +0 -0
  543. data/installer/core/public/assets/font-awesome/fa-brands-400-b9c345f4fa1349aea117ed753492783a632513f2dd75dc86942cfbc630c84d05.eot +0 -0
  544. data/installer/core/public/assets/font-awesome/fa-brands-400-b9c345f4fa1349aea117ed753492783a632513f2dd75dc86942cfbc630c84d05.eot.gz +0 -0
  545. data/installer/core/public/assets/font-awesome/fa-regular-400-33a8657a09af038500733bdaf969d8928b48475f26020cc35ca7193a53fcbedc.eot +0 -0
  546. data/installer/core/public/assets/font-awesome/fa-regular-400-33a8657a09af038500733bdaf969d8928b48475f26020cc35ca7193a53fcbedc.eot.gz +0 -0
  547. data/installer/core/public/assets/font-awesome/fa-regular-400-75e64a952613e7f6cdc74628f8bf85206db9a75cc1926ffccb8f1caade2e4db7.svg +366 -0
  548. data/installer/core/public/assets/font-awesome/fa-regular-400-75e64a952613e7f6cdc74628f8bf85206db9a75cc1926ffccb8f1caade2e4db7.svg.gz +0 -0
  549. data/installer/core/public/assets/font-awesome/fa-regular-400-b2bb708d78f9ce7490251f676f8f8f6dadc7e8d7e4b3d1ab560a4c1130b0c460.woff2 +0 -0
  550. data/installer/core/public/assets/font-awesome/fa-regular-400-c25d1ee715f6ca69202404165aa0942709ff14d1bd99f9df5b124522d42077ef.ttf +0 -0
  551. data/installer/core/public/assets/font-awesome/fa-regular-400-c25d1ee715f6ca69202404165aa0942709ff14d1bd99f9df5b124522d42077ef.ttf.gz +0 -0
  552. data/installer/core/public/assets/font-awesome/fa-regular-400-e4d56ba6fcd7b99e7e83ee13aa2cecbf6391bc9965d18f43a13bec2957ecd851.woff +0 -0
  553. data/installer/core/public/assets/font-awesome/fa-solid-900-08f7874f8336b47e49d9719c38cea16cdea6362962f5001db3f2d0bb47332357.woff2 +0 -0
  554. data/installer/core/public/assets/font-awesome/fa-solid-900-31bb4aa00b5293474c3d74e67a316442a8de04a5331edb3e9e11349b7355fcec.eot +0 -0
  555. data/installer/core/public/assets/font-awesome/fa-solid-900-31bb4aa00b5293474c3d74e67a316442a8de04a5331edb3e9e11349b7355fcec.eot.gz +0 -0
  556. data/installer/core/public/assets/font-awesome/fa-solid-900-54997dacd19dcdad4bffdda880c9aa9268ef52281ab39fb0d17b7ba7618a49a6.svg +1644 -0
  557. data/installer/core/public/assets/font-awesome/fa-solid-900-54997dacd19dcdad4bffdda880c9aa9268ef52281ab39fb0d17b7ba7618a49a6.svg.gz +0 -0
  558. data/installer/core/public/assets/font-awesome/fa-solid-900-7cf25b1d45ac4436b575e86dcafdd37efc5faeab3bdad3144a9af3b7eae4b48f.ttf +0 -0
  559. data/installer/core/public/assets/font-awesome/fa-solid-900-7cf25b1d45ac4436b575e86dcafdd37efc5faeab3bdad3144a9af3b7eae4b48f.ttf.gz +0 -0
  560. data/installer/core/public/assets/font-awesome/fa-solid-900-e20ab4de8913d1e569c3016c5c5aecfd6589f2bff211c387f2d0422d9123ae2f.woff +0 -0
  561. data/installer/core/public/assets/keppler_capsules/admin/application-3e18899279f0f0db0ed087ef60a3133b36f7735f3e5bf09411c5099fe9551fcd.css +22 -0
  562. data/installer/core/public/assets/keppler_capsules/admin/application-3e18899279f0f0db0ed087ef60a3133b36f7735f3e5bf09411c5099fe9551fcd.css.gz +0 -0
  563. data/installer/core/public/assets/keppler_capsules/admin/application-f46080ad1616c7365ec458f0663ca9a285bb005dea3d10079f00e0298c6cd670.js +22 -0
  564. data/installer/core/public/assets/keppler_capsules/admin/application-f46080ad1616c7365ec458f0663ca9a285bb005dea3d10079f00e0298c6cd670.js.gz +0 -0
  565. data/installer/core/public/assets/keppler_frontend/admin/application-a59d5002b1a4c8a889da935c51f2679c69bdc2eb3b789d6c96de3f7db67ba730.css +485 -0
  566. data/installer/core/public/assets/keppler_frontend/admin/application-a59d5002b1a4c8a889da935c51f2679c69bdc2eb3b789d6c96de3f7db67ba730.css.gz +0 -0
  567. data/installer/core/public/assets/keppler_frontend/admin/application-e783e6e18f4436fdd1b29d1eae96cb33a54b2310f89735806c363c6213488493.js +885 -0
  568. data/installer/core/public/assets/keppler_frontend/admin/application-e783e6e18f4436fdd1b29d1eae96cb33a54b2310f89735806c363c6213488493.js.gz +0 -0
  569. data/installer/core/public/assets/keppler_frontend/app/application-6fc1d0e6a7d356107c213726b8f894c8df9332bf966899559aa863b5388748d3.js +34345 -0
  570. data/installer/core/public/assets/keppler_frontend/app/application-6fc1d0e6a7d356107c213726b8f894c8df9332bf966899559aa863b5388748d3.js.gz +0 -0
  571. data/installer/core/public/assets/keppler_frontend/app/application-e8573318eb1e34fe271f40b72d2c8b886c16853ee9af153bd6a986091a8e1dd2.css +352 -0
  572. data/installer/core/public/assets/keppler_frontend/app/application-e8573318eb1e34fe271f40b72d2c8b886c16853ee9af153bd6a986091a8e1dd2.css.gz +0 -0
  573. data/installer/core/public/assets/keppler_languages/application-789fd3d62d3ea0a804c0818f1e22d8dce8f2a330acd678b5803b078c1e58e59a.css +21 -0
  574. data/installer/core/public/assets/keppler_languages/application-789fd3d62d3ea0a804c0818f1e22d8dce8f2a330acd678b5803b078c1e58e59a.css.gz +0 -0
  575. data/installer/core/public/assets/keppler_languages/application-f4839ea4cb8c278f79995502e2945a4490245751bb22f01730596d1c585f5b5a.js +15 -0
  576. data/installer/core/public/assets/keppler_languages/application-f4839ea4cb8c278f79995502e2945a4490245751bb22f01730596d1c585f5b5a.js.gz +0 -0
  577. data/installer/core/public/assets/slick-06d80cf01250132fd1068701108453feee68854b750d22c344ffc0de395e1dcb.eot +0 -0
  578. data/installer/core/public/assets/slick-06d80cf01250132fd1068701108453feee68854b750d22c344ffc0de395e1dcb.eot.gz +0 -0
  579. data/installer/core/public/assets/slick-26726bac4060abb1226e6ceebc1336e84930fe7a7af1b3895a109d067f5b5dcc.woff +0 -0
  580. data/installer/core/public/assets/slick-37bc99cfdbbc046193a26396787374d00e7b10d3a758a36045c07bd8886360d2.ttf +0 -0
  581. data/installer/core/public/assets/slick-37bc99cfdbbc046193a26396787374d00e7b10d3a758a36045c07bd8886360d2.ttf.gz +0 -0
  582. data/installer/core/public/assets/slick-8ca11b5fcbff92ee6378017cf6832dddfa745253202d7c8d01f42d5d17c4cb5c.svg +14 -0
  583. data/installer/core/public/assets/slick-8ca11b5fcbff92ee6378017cf6832dddfa745253202d7c8d01f42d5d17c4cb5c.svg.gz +0 -0
  584. data/installer/core/public/assets/slick/ajax-loader-e7b44c86b050fca766a96ddac2d0932af0126da6f2305280342d909168dcce6b.gif +0 -0
  585. data/installer/core/rockets/keppler_capsules/app/controllers/keppler_capsules/application_controller.rb +1 -1
  586. data/installer/core/rockets/keppler_capsules/lib/generators/keppler_capsule_scaffold/templates/models/model.rb +2 -0
  587. data/installer/core/rockets/keppler_frontend/app/assets/stylesheets/keppler_frontend/admin/frontend.scss +68 -0
  588. data/installer/core/rockets/keppler_frontend/app/controllers/keppler_frontend/admin/multimedia_controller.rb +7 -7
  589. data/installer/core/rockets/keppler_frontend/app/controllers/keppler_frontend/admin/themes_controller.rb +0 -15
  590. data/installer/core/rockets/keppler_frontend/app/controllers/keppler_frontend/admin/views_controller.rb +49 -218
  591. data/installer/core/rockets/keppler_frontend/app/controllers/keppler_frontend/app/app_controller.rb +5 -0
  592. data/installer/core/rockets/keppler_frontend/app/controllers/keppler_frontend/app/frontend_controller.rb +0 -11
  593. data/installer/core/rockets/keppler_frontend/app/controllers/keppler_frontend/application_controller.rb +1 -1
  594. data/installer/core/rockets/keppler_frontend/app/controllers/keppler_frontend/concerns/services.rb +10 -2
  595. data/installer/core/rockets/keppler_frontend/app/models/keppler_frontend/theme.rb +12 -14
  596. data/installer/core/rockets/keppler_frontend/app/policies/keppler_frontend/theme_policy.rb +12 -4
  597. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/editor/resources_format.rb +1 -1
  598. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/urls/assets.rb +4 -0
  599. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/views/add.rb +58 -0
  600. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/views/remove.rb +51 -0
  601. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/views/routes_handler.rb +45 -38
  602. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/views/theme_views.rb +51 -0
  603. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/views/views.rb +78 -0
  604. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/themes/_listing.html.haml +0 -3
  605. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/themes/index.html.haml +59 -57
  606. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/_new_view.html.haml +25 -0
  607. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/_select_theme.html.haml +32 -0
  608. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/_views_listing.html.haml +43 -0
  609. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/generate.js.erb +7 -0
  610. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/index.html.haml +47 -78
  611. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/refresh.js.erb +1 -0
  612. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/remove.js.erb +2 -0
  613. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/app/frontend/keppler.html.haml +4 -1
  614. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/app/partials/_devise_login.html.erb +1 -1
  615. data/installer/core/rockets/keppler_frontend/config/locales/en.yml +8 -0
  616. data/installer/core/rockets/keppler_frontend/config/locales/es.yml +8 -0
  617. data/installer/core/rockets/keppler_frontend/config/menu.yml +9 -24
  618. data/installer/core/rockets/keppler_frontend/config/routes.rb +8 -108
  619. data/installer/core/rockets/keppler_frontend/config/themes.yml +4 -4
  620. data/installer/core/rockets/keppler_frontend/lib/keppler_frontend/engine.rb +1 -1
  621. data/installer/core/rockets/keppler_ga_dashboard/app/controllers/keppler_ga_dashboard/admin/dashboard_controller.rb +7 -1
  622. data/installer/core/rockets/keppler_ga_dashboard/app/views/keppler_ga_dashboard/admin/dashboard/analytics.html.haml +0 -1
  623. data/installer/core/rockets/keppler_languages/app/controllers/keppler_languages/application_controller.rb +1 -1
  624. data/installer/core/spec/controllers/admin/admin_controller_spec.rb +8 -1
  625. data/installer/core/spec/controllers/admin/settings_controller_spec.rb +34 -0
  626. data/installer/core/spec/routing/setting_spec.rb +12 -0
  627. data/installer/core/vendor/cache/html-to-haml-0.0.6.gem +0 -0
  628. data/installer/core/yarn.lock +4 -0
  629. data/keppler.gemspec +3 -3
  630. data/lib/keppler/version.rb +1 -1
  631. metadata +585 -15216
  632. data/installer/core/app/controllers/devise/sessions_controller.rb +0 -108
  633. data/installer/core/app/views/devise/sessions/new.html.haml +0 -35
  634. data/installer/core/db/migrate/20180717160308_create_keppler_frontend_views.keppler_frontend.rb +0 -17
  635. data/installer/core/db/migrate/20180806203410_create_keppler_frontend_partials.keppler_frontend.rb +0 -13
  636. data/installer/core/db/migrate/20180827120841_create_keppler_frontend_callback_functions.keppler_frontend.rb +0 -14
  637. data/installer/core/db/migrate/20180827154329_create_keppler_frontend_view_callbacks.keppler_frontend.rb +0 -12
  638. data/installer/core/db/migrate/20180830153221_create_keppler_frontend_functions.keppler_frontend.rb +0 -14
  639. data/installer/core/db/migrate/20180830153222_create_keppler_frontend_parameters.keppler_frontend.rb +0 -13
  640. data/installer/core/rockets/keppler_frontend/app/controllers/keppler_frontend/admin/callback_functions_controller.rb +0 -194
  641. data/installer/core/rockets/keppler_frontend/app/controllers/keppler_frontend/admin/functions_controller.rb +0 -205
  642. data/installer/core/rockets/keppler_frontend/app/controllers/keppler_frontend/admin/parameters_controller.rb +0 -165
  643. data/installer/core/rockets/keppler_frontend/app/controllers/keppler_frontend/admin/partials_controller.rb +0 -187
  644. data/installer/core/rockets/keppler_frontend/app/models/keppler_frontend/callback_function.rb +0 -52
  645. data/installer/core/rockets/keppler_frontend/app/models/keppler_frontend/function.rb +0 -59
  646. data/installer/core/rockets/keppler_frontend/app/models/keppler_frontend/parameter.rb +0 -43
  647. data/installer/core/rockets/keppler_frontend/app/models/keppler_frontend/partial.rb +0 -102
  648. data/installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view.rb +0 -93
  649. data/installer/core/rockets/keppler_frontend/app/models/keppler_frontend/view_callback.rb +0 -29
  650. data/installer/core/rockets/keppler_frontend/app/policies/keppler_frontend/callback_function_policy.rb +0 -19
  651. data/installer/core/rockets/keppler_frontend/app/policies/keppler_frontend/function_policy.rb +0 -19
  652. data/installer/core/rockets/keppler_frontend/app/policies/keppler_frontend/parameter_policy.rb +0 -11
  653. data/installer/core/rockets/keppler_frontend/app/policies/keppler_frontend/partial_policy.rb +0 -16
  654. data/installer/core/rockets/keppler_frontend/app/policies/keppler_frontend/view_policy.rb +0 -39
  655. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/callbacks/code_handler.rb +0 -115
  656. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/callbacks/code_views.rb +0 -74
  657. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/functions/code_handler.rb +0 -0
  658. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/views/actions_handler.rb +0 -120
  659. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/views/css_handler.rb +0 -60
  660. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/views/html_handler.rb +0 -85
  661. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/views/install.rb +0 -57
  662. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/views/js_handler.rb +0 -67
  663. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/views/output.rb +0 -49
  664. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/views/remote_js_handler.rb +0 -60
  665. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/views/save.rb +0 -25
  666. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/views/uninstall.rb +0 -60
  667. data/installer/core/rockets/keppler_frontend/app/services/keppler_frontend/views/update.rb +0 -57
  668. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/callback_functions/_description.html.haml +0 -13
  669. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/callback_functions/_editor_views.html.haml +0 -45
  670. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/callback_functions/_form.html.haml +0 -31
  671. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/callback_functions/_listing.html.haml +0 -48
  672. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/callback_functions/edit.html.haml +0 -1
  673. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/callback_functions/editor.html.haml +0 -47
  674. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/callback_functions/index.html.haml +0 -80
  675. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/callback_functions/new.html.haml +0 -1
  676. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/callback_functions/reload.js.haml +0 -5
  677. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/callback_functions/show.html.haml +0 -33
  678. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/functions/_description.html.haml +0 -13
  679. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/functions/_form.html.haml +0 -51
  680. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/functions/_listing.html.haml +0 -45
  681. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/functions/_parameter_fields.html.haml +0 -5
  682. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/functions/_parameter_fields_edit.html.haml +0 -6
  683. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/functions/edit.html.haml +0 -1
  684. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/functions/editor.html.haml +0 -0
  685. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/functions/index.html.haml +0 -78
  686. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/functions/new.html.haml +0 -1
  687. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/functions/reload.js.haml +0 -5
  688. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/functions/show.html.haml +0 -65
  689. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/parameters/_description.html.haml +0 -13
  690. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/parameters/_form.html.haml +0 -31
  691. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/parameters/_listing.html.haml +0 -41
  692. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/parameters/edit.html.haml +0 -1
  693. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/parameters/index.html.haml +0 -79
  694. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/parameters/new.html.haml +0 -1
  695. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/parameters/reload.js.haml +0 -5
  696. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/parameters/show.html.haml +0 -33
  697. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/partials/_description.html.haml +0 -13
  698. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/partials/_editor_assets.html.haml +0 -129
  699. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/partials/_form.html.haml +0 -29
  700. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/partials/_listing.html.haml +0 -37
  701. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/partials/edit.html.haml +0 -1
  702. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/partials/index.html.haml +0 -76
  703. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/partials/new.html.haml +0 -1
  704. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/partials/reload.js.haml +0 -5
  705. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/partials/show.html.haml +0 -87
  706. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/themes/editor.html.haml +0 -82
  707. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/_description.html.haml +0 -13
  708. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/_editor_assets.html.haml +0 -132
  709. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/_editor_themes.html.haml +0 -62
  710. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/_editor_views.html.haml +0 -103
  711. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/_form.html.haml +0 -66
  712. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/_listing.html.haml +0 -60
  713. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/_view_callback_fields.html.haml +0 -8
  714. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/_view_callback_fields_edit.html.haml +0 -8
  715. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/destroy_callback.js.erb +0 -5
  716. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/edit.html.haml +0 -1
  717. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/editor.html.haml +0 -7
  718. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/editors/_html_editor.html.haml +0 -91
  719. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/editors/_only_action.html.haml +0 -40
  720. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/editors/_view_js_editor.html.haml +0 -56
  721. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/new.html.haml +0 -1
  722. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/reload.js.haml +0 -5
  723. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/admin/views/show.html.haml +0 -33
  724. data/installer/core/rockets/keppler_frontend/app/views/keppler_frontend/app/partials/conf +0 -0
  725. data/installer/core/rockets/keppler_frontend/config/data/callback_functions.yml +0 -15
  726. data/installer/core/rockets/keppler_frontend/config/data/view_callbacks.yml +0 -1
  727. data/installer/core/rockets/keppler_frontend/config/data/views.yml +0 -18
  728. data/installer/core/rockets/keppler_frontend/db/migrate/20180717160248_create_keppler_frontend_views.rb +0 -17
  729. data/installer/core/rockets/keppler_frontend/db/migrate/20180806203329_create_keppler_frontend_partials.rb +0 -12
  730. data/installer/core/rockets/keppler_frontend/db/migrate/20180827120734_create_keppler_frontend_callback_functions.rb +0 -13
  731. data/installer/core/rockets/keppler_frontend/db/migrate/20180827154249_create_keppler_frontend_view_callbacks.rb +0 -11
  732. data/installer/core/rockets/keppler_frontend/db/migrate/20180830130934_create_keppler_frontend_functions.rb +0 -13
  733. data/installer/core/rockets/keppler_frontend/db/migrate/20180830153029_create_keppler_frontend_parameters.rb +0 -12
  734. data/installer/core/spec/controllers/keppler_frontend/admin/views_controller/create_view_spec.rb +0 -35
  735. data/installer/core/spec/controllers/keppler_frontend/admin/views_controller/editor_spec.rb +0 -20
  736. data/installer/core/spec/controllers/keppler_frontend/admin/views_controller/views_list_spec.rb +0 -30
  737. data/installer/core/spec/factories/keppler_frontend/callback_function.rb +0 -8
  738. data/installer/core/spec/factories/keppler_frontend/function.rb +0 -8
  739. data/installer/core/spec/factories/keppler_frontend/view.rb +0 -8
  740. data/installer/core/spec/factories/keppler_frontend/view_callback.rb +0 -6
  741. data/installer/core/spec/fixtures/keppler_frontend/editor/test.html +0 -16
  742. data/installer/core/spec/fixtures/keppler_frontend/editor/test.png +0 -0
  743. data/installer/core/spec/fixtures/keppler_frontend/live_editor/test_index_1.html +0 -16
  744. data/installer/core/spec/fixtures/keppler_frontend/live_editor/test_index_2.html +0 -0
  745. data/installer/core/spec/models/keppler_frontend/callback/calbacks_handler_spec.rb +0 -61
  746. data/installer/core/spec/models/keppler_frontend/callback/model_spec.rb +0 -19
  747. data/installer/core/spec/models/keppler_frontend/view/callback_view_spec.rb +0 -38
  748. data/installer/core/spec/models/keppler_frontend/view/model_spec.rb +0 -19
  749. data/installer/core/spec/models/keppler_frontend/view/view_files_handler_spec.rb +0 -64
  750. data/installer/core/spec/routing/keppler_frontend/callbacks_spec.rb +0 -68
  751. data/installer/core/spec/routing/keppler_frontend/functions_spec.rb +0 -68
  752. data/installer/core/spec/routing/keppler_frontend/views_spec.rb +0 -68
  753. data/installer/core/spec/services/keppler_frontend/callbacks/callback_view_spec.rb +0 -104
  754. data/installer/core/spec/services/keppler_frontend/callbacks/code_handler_spec.rb +0 -63
  755. data/installer/core/spec/services/keppler_frontend/editor/file_format_spec.rb +0 -35
  756. data/installer/core/spec/services/keppler_frontend/editor/resources_format_spec.rb +0 -45
  757. data/installer/core/spec/services/keppler_frontend/editor/resources_spec.rb +0 -44
  758. data/installer/core/spec/services/keppler_frontend/urls/assets_spec.rb +0 -25
  759. data/installer/core/spec/services/keppler_frontend/urls/config_spec.rb +0 -25
  760. data/installer/core/spec/services/keppler_frontend/urls/front_spec.rb +0 -38
  761. data/installer/core/spec/services/keppler_frontend/urls/roots_spec.rb +0 -22
  762. data/installer/core/spec/services/keppler_frontend/utils/code_search_spec.rb +0 -29
  763. data/installer/core/spec/services/keppler_frontend/utils/file_format_spec.rb +0 -52
  764. data/installer/core/spec/services/keppler_frontend/utils/yml_handle_spec.rb +0 -42
  765. data/installer/core/spec/services/keppler_frontend/views/actions_handler_spec.rb +0 -59
  766. data/installer/core/spec/services/keppler_frontend/views/css_handler_spec.rb +0 -59
  767. data/installer/core/spec/services/keppler_frontend/views/format_html_spec.rb +0 -99
  768. data/installer/core/spec/services/keppler_frontend/views/format_only_action_spec.rb +0 -91
  769. data/installer/core/spec/services/keppler_frontend/views/format_remote_js_spec.rb +0 -101
  770. data/installer/core/spec/services/keppler_frontend/views/html_handler_spec.rb +0 -52
  771. data/installer/core/spec/services/keppler_frontend/views/js_handler_spec.rb +0 -59
  772. data/installer/core/spec/services/keppler_frontend/views/output_code_spec.rb +0 -39
  773. data/installer/core/spec/services/keppler_frontend/views/remote_js_handler_spec.rb +0 -55
  774. data/installer/core/spec/services/keppler_frontend/views/routes_handler_spec.rb +0 -63
  775. data/installer/core/spec/services/keppler_frontend/views/save_code_spec.rb +0 -53
  776. data/testing-with-2.1.18/.gitignore +0 -88
  777. data/testing-with-2.1.18/.ruby-version +0 -1
  778. data/testing-with-2.1.18/Gemfile +0 -149
  779. data/testing-with-2.1.18/Gemfile.lock +0 -645
  780. data/testing-with-2.1.18/Guardfile +0 -18
  781. data/testing-with-2.1.18/LICENSE +0 -674
  782. data/testing-with-2.1.18/README.md +0 -134
  783. data/testing-with-2.1.18/Rakefile +0 -6
  784. data/testing-with-2.1.18/_config.yml +0 -1
  785. data/testing-with-2.1.18/app/assets/images/.keep +0 -0
  786. data/testing-with-2.1.18/app/assets/javascripts/admin/application.coffee +0 -25
  787. data/testing-with-2.1.18/app/assets/javascripts/admin/bootstrap-colorpicker.js +0 -1322
  788. data/testing-with-2.1.18/app/assets/javascripts/admin/bootstrap-file-input/fileinput.js +0 -4463
  789. data/testing-with-2.1.18/app/assets/javascripts/admin/bootstrap-file-input/locales/LANG.js +0 -100
  790. data/testing-with-2.1.18/app/assets/javascripts/admin/bootstrap-file-input/locales/es.js +0 -100
  791. data/testing-with-2.1.18/app/assets/javascripts/admin/bootstrap-file-input/plugins/piexif.js +0 -2471
  792. data/testing-with-2.1.18/app/assets/javascripts/admin/bootstrap-file-input/plugins/piexif.min.js +0 -1
  793. data/testing-with-2.1.18/app/assets/javascripts/admin/bootstrap-file-input/plugins/purify.js +0 -812
  794. data/testing-with-2.1.18/app/assets/javascripts/admin/bootstrap-file-input/plugins/purify.min.js +0 -1
  795. data/testing-with-2.1.18/app/assets/javascripts/admin/bootstrap-file-input/plugins/sortable.js +0 -1590
  796. data/testing-with-2.1.18/app/assets/javascripts/admin/bootstrap-file-input/plugins/sortable.min.js +0 -1
  797. data/testing-with-2.1.18/app/assets/javascripts/admin/code_editor.js +0 -94
  798. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/comment/comment.js +0 -209
  799. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/comment/continuecomment.js +0 -78
  800. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/dialog/dialog.css +0 -32
  801. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/dialog/dialog.js +0 -161
  802. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/display/autorefresh.js +0 -47
  803. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/display/fullscreen.css +0 -6
  804. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/display/fullscreen.js +0 -41
  805. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/display/panel.js +0 -123
  806. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/display/placeholder.js +0 -63
  807. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/display/rulers.js +0 -51
  808. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/edit/closebrackets.js +0 -194
  809. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/edit/closetag.js +0 -175
  810. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/edit/continuelist.js +0 -89
  811. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/edit/matchbrackets.js +0 -145
  812. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/edit/matchtags.js +0 -66
  813. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/edit/trailingspace.js +0 -27
  814. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/fold/brace-fold.js +0 -105
  815. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/fold/comment-fold.js +0 -59
  816. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/fold/foldcode.js +0 -152
  817. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/fold/foldgutter.css +0 -20
  818. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/fold/foldgutter.js +0 -146
  819. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/fold/indent-fold.js +0 -48
  820. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/fold/markdown-fold.js +0 -49
  821. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/fold/xml-fold.js +0 -184
  822. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/hint/anyword-hint.js +0 -41
  823. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/hint/css-hint.js +0 -60
  824. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/hint/html-hint.js +0 -348
  825. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/hint/javascript-hint.js +0 -157
  826. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/hint/show-hint.css +0 -36
  827. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/hint/show-hint.js +0 -433
  828. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/hint/sql-hint.js +0 -299
  829. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/hint/xml-hint.js +0 -110
  830. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/mode/loadmode.js +0 -64
  831. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/mode/multiplex.js +0 -131
  832. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/mode/overlay.js +0 -90
  833. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/mode/simple.js +0 -216
  834. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/scroll/annotatescrollbar.js +0 -122
  835. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/scroll/scrollpastend.js +0 -48
  836. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/scroll/simplescrollbars.css +0 -66
  837. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/scroll/simplescrollbars.js +0 -152
  838. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/search/jump-to-line.js +0 -49
  839. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/search/match-highlighter.js +0 -165
  840. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/search/matchesonscrollbar.css +0 -8
  841. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/search/matchesonscrollbar.js +0 -97
  842. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/search/search.js +0 -252
  843. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/addon/search/searchcursor.js +0 -293
  844. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/codemirror.js +0 -9683
  845. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/keymap/sublime.js +0 -691
  846. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/css/css.js +0 -832
  847. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/haml/haml.js +0 -161
  848. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/htmlembedded/htmlembedded.js +0 -37
  849. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/htmlmixed/htmlmixed.js +0 -152
  850. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/javascript/javascript.js +0 -896
  851. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/ruby/ruby.js +0 -296
  852. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/vue/vue.js +0 -77
  853. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/xml/xml.js +0 -402
  854. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js +0 -68
  855. data/testing-with-2.1.18/app/assets/javascripts/admin/codemirror/mode/yaml/yaml.js +0 -119
  856. data/testing-with-2.1.18/app/assets/javascripts/admin/file_uploader.coffee +0 -152
  857. data/testing-with-2.1.18/app/assets/javascripts/admin/img_preview.js +0 -32
  858. data/testing-with-2.1.18/app/assets/javascripts/admin/jscolor.js +0 -1855
  859. data/testing-with-2.1.18/app/assets/javascripts/admin/main.coffee +0 -58
  860. data/testing-with-2.1.18/app/assets/javascripts/admin/notification.js +0 -14
  861. data/testing-with-2.1.18/app/assets/javascripts/admin/ruby_console.js +0 -14
  862. data/testing-with-2.1.18/app/assets/javascripts/admin/sidebar.js +0 -24
  863. data/testing-with-2.1.18/app/assets/javascripts/admin/sort.coffee +0 -8
  864. data/testing-with-2.1.18/app/assets/javascripts/admin/swal.js +0 -39
  865. data/testing-with-2.1.18/app/assets/javascripts/admin/sweetalert2/delete-confirm.js +0 -118
  866. data/testing-with-2.1.18/app/assets/javascripts/admin/sweetalert2/sweetalert2.all.min.js +0 -2
  867. data/testing-with-2.1.18/app/assets/javascripts/admin/switch.js +0 -6
  868. data/testing-with-2.1.18/app/assets/javascripts/admin/tooltips.coffee +0 -4
  869. data/testing-with-2.1.18/app/assets/javascripts/admin/upload_records.coffee +0 -8
  870. data/testing-with-2.1.18/app/assets/javascripts/app/application.js.coffee +0 -9
  871. data/testing-with-2.1.18/app/assets/javascripts/app/google_analytics.js.coffee +0 -5
  872. data/testing-with-2.1.18/app/assets/javascripts/ckeditor/config.js +0 -130
  873. data/testing-with-2.1.18/app/assets/javascripts/errors/application.js.coffee +0 -1
  874. data/testing-with-2.1.18/app/assets/javascripts/errors/errors.js +0 -113
  875. data/testing-with-2.1.18/app/assets/javascripts/vue_admin/index.js +0 -111
  876. data/testing-with-2.1.18/app/assets/stylesheets/admin/application.scss +0 -48
  877. data/testing-with-2.1.18/app/assets/stylesheets/admin/bootstrap-file-input/fileinput-rtl.scss +0 -133
  878. data/testing-with-2.1.18/app/assets/stylesheets/admin/bootstrap-file-input/fileinput.scss +0 -760
  879. data/testing-with-2.1.18/app/assets/stylesheets/admin/bootstrap-file-input/themes/explorer-fa/theme.scss +0 -213
  880. data/testing-with-2.1.18/app/assets/stylesheets/admin/bootstrap-file-input/themes/explorer-fas/theme.scss +0 -213
  881. data/testing-with-2.1.18/app/assets/stylesheets/admin/bootstrap-file-input/themes/explorer/theme.scss +0 -213
  882. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/comment/comment.js +0 -209
  883. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/comment/continuecomment.js +0 -78
  884. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/dialog/dialog.css +0 -32
  885. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/dialog/dialog.js +0 -161
  886. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/display/autorefresh.js +0 -47
  887. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/display/fullscreen.css +0 -6
  888. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/display/fullscreen.js +0 -41
  889. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/display/panel.js +0 -123
  890. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/display/placeholder.js +0 -63
  891. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/display/rulers.js +0 -51
  892. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/edit/closebrackets.js +0 -194
  893. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/edit/closetag.js +0 -175
  894. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/edit/continuelist.js +0 -89
  895. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/edit/matchbrackets.js +0 -145
  896. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/edit/matchtags.js +0 -66
  897. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/edit/trailingspace.js +0 -27
  898. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/fold/brace-fold.js +0 -105
  899. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/fold/comment-fold.js +0 -59
  900. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/fold/foldcode.js +0 -152
  901. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/fold/foldgutter.css +0 -20
  902. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/fold/foldgutter.js +0 -146
  903. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/fold/indent-fold.js +0 -48
  904. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/fold/markdown-fold.js +0 -49
  905. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/fold/xml-fold.js +0 -184
  906. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/hint/anyword-hint.js +0 -41
  907. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/hint/css-hint.js +0 -60
  908. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/hint/html-hint.js +0 -348
  909. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/hint/javascript-hint.js +0 -157
  910. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/hint/show-hint.css +0 -36
  911. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/hint/show-hint.js +0 -433
  912. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/hint/sql-hint.js +0 -299
  913. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/hint/xml-hint.js +0 -110
  914. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/scroll/annotatescrollbar.js +0 -122
  915. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/scroll/scrollpastend.js +0 -48
  916. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/scroll/simplescrollbars.css +0 -66
  917. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/scroll/simplescrollbars.js +0 -152
  918. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/search/jump-to-line.js +0 -49
  919. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/search/match-highlighter.js +0 -165
  920. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/search/matchesonscrollbar.css +0 -8
  921. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/search/matchesonscrollbar.js +0 -97
  922. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/search/search.js +0 -252
  923. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/addon/search/searchcursor.js +0 -293
  924. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/codemirror.css +0 -366
  925. data/testing-with-2.1.18/app/assets/stylesheets/admin/codemirror/theme/monokai.css +0 -41
  926. data/testing-with-2.1.18/app/assets/stylesheets/admin/components/layouts/_footer.scss +0 -5
  927. data/testing-with-2.1.18/app/assets/stylesheets/admin/components/layouts/_settings.scss +0 -51
  928. data/testing-with-2.1.18/app/assets/stylesheets/admin/components/navigation/_navbar.scss +0 -187
  929. data/testing-with-2.1.18/app/assets/stylesheets/admin/components/navigation/_sidebar.scss +0 -207
  930. data/testing-with-2.1.18/app/assets/stylesheets/admin/components/navigation/_turbolinks.scss +0 -4
  931. data/testing-with-2.1.18/app/assets/stylesheets/admin/components/paginator/_paginator.scss +0 -53
  932. data/testing-with-2.1.18/app/assets/stylesheets/admin/fonts-and-icons/boxicons.css +0 -2918
  933. data/testing-with-2.1.18/app/assets/stylesheets/admin/fonts-and-icons/fonts.css +0 -8
  934. data/testing-with-2.1.18/app/assets/stylesheets/admin/fonts-and-icons/icons.css +0 -778
  935. data/testing-with-2.1.18/app/assets/stylesheets/admin/pages/_appearance.scss +0 -5
  936. data/testing-with-2.1.18/app/assets/stylesheets/admin/pages/_bootstrap-colorpicker.scss +0 -269
  937. data/testing-with-2.1.18/app/assets/stylesheets/admin/pages/_customize.scss +0 -22
  938. data/testing-with-2.1.18/app/assets/stylesheets/admin/pages/_datepicker.scss +0 -1086
  939. data/testing-with-2.1.18/app/assets/stylesheets/admin/pages/_devise.scss +0 -189
  940. data/testing-with-2.1.18/app/assets/stylesheets/admin/pages/_files.scss +0 -229
  941. data/testing-with-2.1.18/app/assets/stylesheets/admin/pages/_form.scss +0 -190
  942. data/testing-with-2.1.18/app/assets/stylesheets/admin/pages/_index.scss +0 -466
  943. data/testing-with-2.1.18/app/assets/stylesheets/admin/pages/_listing.scss +0 -40
  944. data/testing-with-2.1.18/app/assets/stylesheets/admin/pages/_preloader.scss +0 -224
  945. data/testing-with-2.1.18/app/assets/stylesheets/admin/pages/_rockets.scss +0 -13
  946. data/testing-with-2.1.18/app/assets/stylesheets/admin/pages/_roles.scss +0 -3
  947. data/testing-with-2.1.18/app/assets/stylesheets/admin/pages/_search.scss +0 -244
  948. data/testing-with-2.1.18/app/assets/stylesheets/admin/pages/_show.scss +0 -23
  949. data/testing-with-2.1.18/app/assets/stylesheets/admin/pages/_switchs.scss +0 -143
  950. data/testing-with-2.1.18/app/assets/stylesheets/admin/pages/_themes.scss +0 -45
  951. data/testing-with-2.1.18/app/assets/stylesheets/admin/pages/_timepicker.scss +0 -14
  952. data/testing-with-2.1.18/app/assets/stylesheets/admin/pages/_user.scss +0 -6
  953. data/testing-with-2.1.18/app/assets/stylesheets/admin/utils/_base.scss +0 -65
  954. data/testing-with-2.1.18/app/assets/stylesheets/admin/utils/_mixins.scss +0 -26
  955. data/testing-with-2.1.18/app/assets/stylesheets/admin/utils/_theme.scss +0 -124
  956. data/testing-with-2.1.18/app/assets/stylesheets/admin/utils/_variables.scss +0 -109
  957. data/testing-with-2.1.18/app/assets/stylesheets/app/application.scss +0 -30
  958. data/testing-with-2.1.18/app/assets/stylesheets/app/base/_base_project.scss +0 -17
  959. data/testing-with-2.1.18/app/assets/stylesheets/app/base/_typography.scss +0 -1
  960. data/testing-with-2.1.18/app/assets/stylesheets/app/components/_buttons.scss +0 -0
  961. data/testing-with-2.1.18/app/assets/stylesheets/app/components/_inputs.scss +0 -0
  962. data/testing-with-2.1.18/app/assets/stylesheets/app/components/_navbar.scss +0 -21
  963. data/testing-with-2.1.18/app/assets/stylesheets/app/layout/_container.scss +0 -0
  964. data/testing-with-2.1.18/app/assets/stylesheets/app/layout/_footer.scss +0 -15
  965. data/testing-with-2.1.18/app/assets/stylesheets/app/layout/_header.scss +0 -39
  966. data/testing-with-2.1.18/app/assets/stylesheets/app/pages/_front.sass +0 -83
  967. data/testing-with-2.1.18/app/assets/stylesheets/app/plugins/_bootstrap_override.scss +0 -37
  968. data/testing-with-2.1.18/app/assets/stylesheets/app/plugins/_font_awesome.scss +0 -2
  969. data/testing-with-2.1.18/app/assets/stylesheets/app/plugins/_keppler.scss +0 -161
  970. data/testing-with-2.1.18/app/assets/stylesheets/app/plugins/_npogress.scss +0 -2
  971. data/testing-with-2.1.18/app/assets/stylesheets/app/utils/_mixins.scss +0 -18
  972. data/testing-with-2.1.18/app/assets/stylesheets/app/utils/_variables.scss +0 -28
  973. data/testing-with-2.1.18/app/assets/stylesheets/errors/application.scss +0 -3
  974. data/testing-with-2.1.18/app/assets/stylesheets/errors/errors.scss +0 -161
  975. data/testing-with-2.1.18/app/assets/stylesheets/vendor/admin-lte/_skin-blue.scss +0 -141
  976. data/testing-with-2.1.18/app/assets/stylesheets/vendor/sweetalert2/sweetalert2.scss +0 -11
  977. data/testing-with-2.1.18/app/controllers/admin/admin_controller.rb +0 -95
  978. data/testing-with-2.1.18/app/controllers/admin/meta_tags_controller.rb +0 -118
  979. data/testing-with-2.1.18/app/controllers/admin/permissions_controller.rb +0 -55
  980. data/testing-with-2.1.18/app/controllers/admin/rockets_controller.rb +0 -95
  981. data/testing-with-2.1.18/app/controllers/admin/roles_controller.rb +0 -124
  982. data/testing-with-2.1.18/app/controllers/admin/scripts_controller.rb +0 -104
  983. data/testing-with-2.1.18/app/controllers/admin/seos_controller.rb +0 -31
  984. data/testing-with-2.1.18/app/controllers/admin/settings_controller.rb +0 -131
  985. data/testing-with-2.1.18/app/controllers/admin/users_controller.rb +0 -122
  986. data/testing-with-2.1.18/app/controllers/app/app_controller.rb +0 -38
  987. data/testing-with-2.1.18/app/controllers/app/front_controller.rb +0 -8
  988. data/testing-with-2.1.18/app/controllers/application_controller.rb +0 -151
  989. data/testing-with-2.1.18/app/controllers/concerns/.keep +0 -0
  990. data/testing-with-2.1.18/app/controllers/concerns/devise_params.rb +0 -33
  991. data/testing-with-2.1.18/app/controllers/concerns/mailer_config.rb +0 -37
  992. data/testing-with-2.1.18/app/controllers/concerns/object_query.rb +0 -50
  993. data/testing-with-2.1.18/app/controllers/concerns/settings.rb +0 -105
  994. data/testing-with-2.1.18/app/controllers/devise/sessions_controller.rb +0 -108
  995. data/testing-with-2.1.18/app/controllers/errors_controller.rb +0 -30
  996. data/testing-with-2.1.18/app/helpers/admin_helper.rb +0 -138
  997. data/testing-with-2.1.18/app/helpers/application_helper.rb +0 -33
  998. data/testing-with-2.1.18/app/helpers/fronts_helper.rb +0 -38
  999. data/testing-with-2.1.18/app/helpers/rockets_helper.rb +0 -8
  1000. data/testing-with-2.1.18/app/helpers/roles_helper.rb +0 -5
  1001. data/testing-with-2.1.18/app/helpers/scaffolds_helper.rb +0 -5
  1002. data/testing-with-2.1.18/app/inputs/keppler_boolean_input.rb +0 -52
  1003. data/testing-with-2.1.18/app/inputs/keppler_file_input.rb +0 -124
  1004. data/testing-with-2.1.18/app/mailers/.keep +0 -0
  1005. data/testing-with-2.1.18/app/mailers/application_mailer.rb +0 -42
  1006. data/testing-with-2.1.18/app/models/.keep +0 -0
  1007. data/testing-with-2.1.18/app/models/appearance.rb +0 -7
  1008. data/testing-with-2.1.18/app/models/application_record.rb +0 -6
  1009. data/testing-with-2.1.18/app/models/concerns/.keep +0 -0
  1010. data/testing-with-2.1.18/app/models/concerns/activity_history.rb +0 -11
  1011. data/testing-with-2.1.18/app/models/concerns/clone_record.rb +0 -14
  1012. data/testing-with-2.1.18/app/models/concerns/downloadable.rb +0 -16
  1013. data/testing-with-2.1.18/app/models/concerns/searchable.rb +0 -27
  1014. data/testing-with-2.1.18/app/models/concerns/sortable.rb +0 -13
  1015. data/testing-with-2.1.18/app/models/concerns/uploadable.rb +0 -13
  1016. data/testing-with-2.1.18/app/models/front.rb +0 -5
  1017. data/testing-with-2.1.18/app/models/google_analytics_setting.rb +0 -6
  1018. data/testing-with-2.1.18/app/models/meta_tag.rb +0 -54
  1019. data/testing-with-2.1.18/app/models/permission.rb +0 -6
  1020. data/testing-with-2.1.18/app/models/rocket.rb +0 -105
  1021. data/testing-with-2.1.18/app/models/role.rb +0 -134
  1022. data/testing-with-2.1.18/app/models/script.rb +0 -21
  1023. data/testing-with-2.1.18/app/models/seo.rb +0 -49
  1024. data/testing-with-2.1.18/app/models/setting.rb +0 -19
  1025. data/testing-with-2.1.18/app/models/smtp_setting.rb +0 -7
  1026. data/testing-with-2.1.18/app/models/social_account.rb +0 -6
  1027. data/testing-with-2.1.18/app/models/user.rb +0 -75
  1028. data/testing-with-2.1.18/app/policies/application_policy.rb +0 -18
  1029. data/testing-with-2.1.18/app/policies/controller_policy.rb +0 -59
  1030. data/testing-with-2.1.18/app/policies/meta_tag_policy.rb +0 -11
  1031. data/testing-with-2.1.18/app/policies/permission_policy.rb +0 -23
  1032. data/testing-with-2.1.18/app/policies/rocket_policy.rb +0 -11
  1033. data/testing-with-2.1.18/app/policies/role_policy.rb +0 -31
  1034. data/testing-with-2.1.18/app/policies/script_policy.rb +0 -11
  1035. data/testing-with-2.1.18/app/policies/seo_policy.rb +0 -23
  1036. data/testing-with-2.1.18/app/policies/setting_policy.rb +0 -15
  1037. data/testing-with-2.1.18/app/policies/user_policy.rb +0 -19
  1038. data/testing-with-2.1.18/app/services/admin/appearance_service.rb +0 -49
  1039. data/testing-with-2.1.18/app/services/admin/git_handler.rb +0 -28
  1040. data/testing-with-2.1.18/app/uploaders/attachment_uploader.rb +0 -61
  1041. data/testing-with-2.1.18/app/uploaders/ckeditor_attachment_file_uploader.rb +0 -38
  1042. data/testing-with-2.1.18/app/uploaders/ckeditor_picture_uploader.rb +0 -49
  1043. data/testing-with-2.1.18/app/uploaders/template_uploader.rb +0 -44
  1044. data/testing-with-2.1.18/app/views/admin/layouts/_footer.html.haml +0 -0
  1045. data/testing-with-2.1.18/app/views/admin/layouts/_git_info.html.haml +0 -13
  1046. data/testing-with-2.1.18/app/views/admin/layouts/_head.html.haml +0 -7
  1047. data/testing-with-2.1.18/app/views/admin/layouts/_keppler_boolean_script.haml +0 -12
  1048. data/testing-with-2.1.18/app/views/admin/layouts/_listing_preloader.haml +0 -4
  1049. data/testing-with-2.1.18/app/views/admin/layouts/_messages.html.haml +0 -4
  1050. data/testing-with-2.1.18/app/views/admin/layouts/_navigation.html.haml +0 -59
  1051. data/testing-with-2.1.18/app/views/admin/layouts/_preloader.html.haml +0 -14
  1052. data/testing-with-2.1.18/app/views/admin/layouts/_sidebar.html.haml +0 -83
  1053. data/testing-with-2.1.18/app/views/admin/layouts/application.html.haml +0 -23
  1054. data/testing-with-2.1.18/app/views/admin/layouts/index/remote_messages.js.haml +0 -9
  1055. data/testing-with-2.1.18/app/views/admin/meta_tags/_description.html.haml +0 -13
  1056. data/testing-with-2.1.18/app/views/admin/meta_tags/_form.html.haml +0 -35
  1057. data/testing-with-2.1.18/app/views/admin/meta_tags/_listing.html.haml +0 -40
  1058. data/testing-with-2.1.18/app/views/admin/meta_tags/edit.html.haml +0 -2
  1059. data/testing-with-2.1.18/app/views/admin/meta_tags/index.html.haml +0 -69
  1060. data/testing-with-2.1.18/app/views/admin/meta_tags/new.html.haml +0 -2
  1061. data/testing-with-2.1.18/app/views/admin/meta_tags/reload.js.haml +0 -5
  1062. data/testing-with-2.1.18/app/views/admin/meta_tags/show.html.haml +0 -28
  1063. data/testing-with-2.1.18/app/views/admin/permissions/_switch.html.haml +0 -13
  1064. data/testing-with-2.1.18/app/views/admin/permissions/add.html.haml +0 -95
  1065. data/testing-with-2.1.18/app/views/admin/permissions/create.html.haml +0 -0
  1066. data/testing-with-2.1.18/app/views/admin/permissions/create.js.erb +0 -2
  1067. data/testing-with-2.1.18/app/views/admin/permissions/show.js.erb +0 -2
  1068. data/testing-with-2.1.18/app/views/admin/permissions/toggle_permissions.js.erb +0 -6
  1069. data/testing-with-2.1.18/app/views/admin/rockets/_create_rocket.haml +0 -61
  1070. data/testing-with-2.1.18/app/views/admin/rockets/_install_rocket.haml +0 -28
  1071. data/testing-with-2.1.18/app/views/admin/rockets/rockets.haml +0 -54
  1072. data/testing-with-2.1.18/app/views/admin/roles/_description.html.haml +0 -13
  1073. data/testing-with-2.1.18/app/views/admin/roles/_form.html.haml +0 -27
  1074. data/testing-with-2.1.18/app/views/admin/roles/_listing.html.haml +0 -42
  1075. data/testing-with-2.1.18/app/views/admin/roles/_switch.html.haml +0 -24
  1076. data/testing-with-2.1.18/app/views/admin/roles/edit.html.haml +0 -1
  1077. data/testing-with-2.1.18/app/views/admin/roles/index.html.haml +0 -64
  1078. data/testing-with-2.1.18/app/views/admin/roles/new.html.haml +0 -1
  1079. data/testing-with-2.1.18/app/views/admin/roles/reload.js.haml +0 -5
  1080. data/testing-with-2.1.18/app/views/admin/roles/show.html.haml +0 -29
  1081. data/testing-with-2.1.18/app/views/admin/scripts/_description.html.haml +0 -13
  1082. data/testing-with-2.1.18/app/views/admin/scripts/_form.html.haml +0 -30
  1083. data/testing-with-2.1.18/app/views/admin/scripts/_listing.html.haml +0 -40
  1084. data/testing-with-2.1.18/app/views/admin/scripts/edit.html.haml +0 -1
  1085. data/testing-with-2.1.18/app/views/admin/scripts/index.html.haml +0 -70
  1086. data/testing-with-2.1.18/app/views/admin/scripts/new.html.haml +0 -1
  1087. data/testing-with-2.1.18/app/views/admin/scripts/reload.js.haml +0 -5
  1088. data/testing-with-2.1.18/app/views/admin/scripts/show.html.haml +0 -28
  1089. data/testing-with-2.1.18/app/views/admin/seos/robots.html.haml +0 -35
  1090. data/testing-with-2.1.18/app/views/admin/seos/sitemap.html.haml +0 -36
  1091. data/testing-with-2.1.18/app/views/admin/settings/_form.html.haml +0 -10
  1092. data/testing-with-2.1.18/app/views/admin/settings/components/_preview.html.haml +0 -30
  1093. data/testing-with-2.1.18/app/views/admin/settings/edit.html.haml +0 -4
  1094. data/testing-with-2.1.18/app/views/admin/settings/fields/_appearance.html.haml +0 -64
  1095. data/testing-with-2.1.18/app/views/admin/settings/fields/_basic_information.html.haml +0 -40
  1096. data/testing-with-2.1.18/app/views/admin/settings/fields/_email_setting.html.haml +0 -18
  1097. data/testing-with-2.1.18/app/views/admin/settings/fields/_google_analytics_setting.html.haml +0 -21
  1098. data/testing-with-2.1.18/app/views/admin/settings/fields/_social_accounts.html.haml +0 -43
  1099. data/testing-with-2.1.18/app/views/admin/users/_description.html.haml +0 -13
  1100. data/testing-with-2.1.18/app/views/admin/users/_form.html.haml +0 -45
  1101. data/testing-with-2.1.18/app/views/admin/users/_listing.html.haml +0 -47
  1102. data/testing-with-2.1.18/app/views/admin/users/delete_avatar.js.haml +0 -3
  1103. data/testing-with-2.1.18/app/views/admin/users/edit.html.haml +0 -1
  1104. data/testing-with-2.1.18/app/views/admin/users/filter_by_role.js.erb +0 -9
  1105. data/testing-with-2.1.18/app/views/admin/users/index.html.haml +0 -69
  1106. data/testing-with-2.1.18/app/views/admin/users/new.html.haml +0 -1
  1107. data/testing-with-2.1.18/app/views/admin/users/reload.js.haml +0 -5
  1108. data/testing-with-2.1.18/app/views/admin/users/show.html.haml +0 -34
  1109. data/testing-with-2.1.18/app/views/app/front/index.html.haml +0 -223
  1110. data/testing-with-2.1.18/app/views/app/front/message.haml +0 -1
  1111. data/testing-with-2.1.18/app/views/app/layouts/_footer.html.haml +0 -3
  1112. data/testing-with-2.1.18/app/views/app/layouts/_google_analytics.html.haml +0 -13
  1113. data/testing-with-2.1.18/app/views/app/layouts/_head.html.haml +0 -15
  1114. data/testing-with-2.1.18/app/views/app/layouts/_messages.html.haml +0 -6
  1115. data/testing-with-2.1.18/app/views/app/layouts/_meta_tags.html.haml +0 -40
  1116. data/testing-with-2.1.18/app/views/app/layouts/_navigation.html.haml +0 -13
  1117. data/testing-with-2.1.18/app/views/app/layouts/_navigation_links.html.haml +0 -6
  1118. data/testing-with-2.1.18/app/views/app/layouts/application.html.haml +0 -10
  1119. data/testing-with-2.1.18/app/views/application_mailer/testing.html.haml +0 -1
  1120. data/testing-with-2.1.18/app/views/devise/confirmations/new.html.erb +0 -16
  1121. data/testing-with-2.1.18/app/views/devise/mailer/reset_password_instructions.html.haml +0 -6
  1122. data/testing-with-2.1.18/app/views/devise/passwords/edit.html.haml +0 -31
  1123. data/testing-with-2.1.18/app/views/devise/passwords/new.html.haml +0 -27
  1124. data/testing-with-2.1.18/app/views/devise/registrations/edit.html.erb +0 -48
  1125. data/testing-with-2.1.18/app/views/devise/registrations/new.html.erb +0 -19
  1126. data/testing-with-2.1.18/app/views/devise/sessions/new.html.haml +0 -35
  1127. data/testing-with-2.1.18/app/views/devise/shared/_links.html.erb +0 -21
  1128. data/testing-with-2.1.18/app/views/errors/internal_server_error.html.haml +0 -50
  1129. data/testing-with-2.1.18/app/views/errors/not_authorized.html.haml +0 -76
  1130. data/testing-with-2.1.18/app/views/errors/not_found.html.haml +0 -101
  1131. data/testing-with-2.1.18/app/views/errors/unprocessable.html.haml +0 -50
  1132. data/testing-with-2.1.18/app/views/kaminari/_first_page.html.haml +0 -11
  1133. data/testing-with-2.1.18/app/views/kaminari/_gap.html.haml +0 -8
  1134. data/testing-with-2.1.18/app/views/kaminari/_last_page.html.haml +0 -11
  1135. data/testing-with-2.1.18/app/views/kaminari/_next_page.html.haml +0 -11
  1136. data/testing-with-2.1.18/app/views/kaminari/_page.html.haml +0 -10
  1137. data/testing-with-2.1.18/app/views/kaminari/_paginator.html.haml +0 -18
  1138. data/testing-with-2.1.18/app/views/kaminari/_prev_page.html.haml +0 -11
  1139. data/testing-with-2.1.18/app/views/layouts/errors/_head.html.haml +0 -3
  1140. data/testing-with-2.1.18/app/views/layouts/errors/application.html.haml +0 -11
  1141. data/testing-with-2.1.18/app/views/layouts/mailers/mailer.html.haml +0 -3
  1142. data/testing-with-2.1.18/app/views/layouts/mailers/mailer.text.haml +0 -1
  1143. data/testing-with-2.1.18/app/views/layouts/templates/application.html.haml +0 -1
  1144. data/testing-with-2.1.18/app/views/public_activity/layout/_create.html.haml +0 -44
  1145. data/testing-with-2.1.18/app/views/public_activity/layout/_destroy.html.haml +0 -15
  1146. data/testing-with-2.1.18/app/views/public_activity/layout/_update.html.haml +0 -44
  1147. data/testing-with-2.1.18/app/views/public_activity/session/_create.html.haml +0 -13
  1148. data/testing-with-2.1.18/app/views/public_activity/session/_destroy.html.haml +0 -13
  1149. data/testing-with-2.1.18/app/views/templates/kaminari/_first_page.html.haml +0 -9
  1150. data/testing-with-2.1.18/app/views/templates/kaminari/_gap.html.haml +0 -8
  1151. data/testing-with-2.1.18/app/views/templates/kaminari/_last_page.html.haml +0 -9
  1152. data/testing-with-2.1.18/app/views/templates/kaminari/_next_page.html.haml +0 -9
  1153. data/testing-with-2.1.18/app/views/templates/kaminari/_page.html.haml +0 -10
  1154. data/testing-with-2.1.18/app/views/templates/kaminari/_paginator.html.haml +0 -18
  1155. data/testing-with-2.1.18/app/views/templates/kaminari/_prev_page.html.haml +0 -9
  1156. data/testing-with-2.1.18/bin/bundle +0 -3
  1157. data/testing-with-2.1.18/bin/rails +0 -4
  1158. data/testing-with-2.1.18/bin/rake +0 -4
  1159. data/testing-with-2.1.18/bin/setup +0 -29
  1160. data/testing-with-2.1.18/bin/spring +0 -15
  1161. data/testing-with-2.1.18/bin/update +0 -31
  1162. data/testing-with-2.1.18/bin/yarn +0 -11
  1163. data/testing-with-2.1.18/config.ru +0 -4
  1164. data/testing-with-2.1.18/config/application.rb +0 -46
  1165. data/testing-with-2.1.18/config/attachments.yml +0 -24
  1166. data/testing-with-2.1.18/config/boot.rb +0 -7
  1167. data/testing-with-2.1.18/config/circleci/db_config.yml +0 -51
  1168. data/testing-with-2.1.18/config/database.yml +0 -25
  1169. data/testing-with-2.1.18/config/environment.rb +0 -10
  1170. data/testing-with-2.1.18/config/environments/development.rb +0 -61
  1171. data/testing-with-2.1.18/config/environments/production.rb +0 -109
  1172. data/testing-with-2.1.18/config/environments/test.rb +0 -45
  1173. data/testing-with-2.1.18/config/gaAuth/gauth_key.p12 +0 -0
  1174. data/testing-with-2.1.18/config/initializers/assets.rb +0 -14
  1175. data/testing-with-2.1.18/config/initializers/carrierwave.rb +0 -12
  1176. data/testing-with-2.1.18/config/initializers/compression.rb +0 -47
  1177. data/testing-with-2.1.18/config/initializers/cookies_serializer.rb +0 -3
  1178. data/testing-with-2.1.18/config/initializers/date_formats.rb +0 -2
  1179. data/testing-with-2.1.18/config/initializers/devise.rb +0 -259
  1180. data/testing-with-2.1.18/config/initializers/filter_parameter_logging.rb +0 -5
  1181. data/testing-with-2.1.18/config/initializers/inflections.rb +0 -16
  1182. data/testing-with-2.1.18/config/initializers/keppler_configuration.rb +0 -9
  1183. data/testing-with-2.1.18/config/initializers/mime_types.rb +0 -6
  1184. data/testing-with-2.1.18/config/initializers/paginate_kaminari_configuration.rb +0 -12
  1185. data/testing-with-2.1.18/config/initializers/ransack.rb +0 -7
  1186. data/testing-with-2.1.18/config/initializers/rolify.rb +0 -10
  1187. data/testing-with-2.1.18/config/initializers/route_traslator.rb +0 -3
  1188. data/testing-with-2.1.18/config/initializers/session_store.rb +0 -5
  1189. data/testing-with-2.1.18/config/initializers/simple_form.rb +0 -170
  1190. data/testing-with-2.1.18/config/initializers/simple_form_bootstrap.rb +0 -174
  1191. data/testing-with-2.1.18/config/initializers/simple_form_components.rb +0 -61
  1192. data/testing-with-2.1.18/config/initializers/time_formats.rb +0 -2
  1193. data/testing-with-2.1.18/config/initializers/wrap_parameters.rb +0 -15
  1194. data/testing-with-2.1.18/config/jshint.yml +0 -21
  1195. data/testing-with-2.1.18/config/locales/devise.en.yml +0 -61
  1196. data/testing-with-2.1.18/config/locales/devise.es.yml +0 -62
  1197. data/testing-with-2.1.18/config/locales/en.yml +0 -477
  1198. data/testing-with-2.1.18/config/locales/es.yml +0 -510
  1199. data/testing-with-2.1.18/config/locales/routes.en.yml +0 -4
  1200. data/testing-with-2.1.18/config/locales/routes.es.yml +0 -5
  1201. data/testing-with-2.1.18/config/locales/simple_form.en.yml +0 -46
  1202. data/testing-with-2.1.18/config/locales/simple_form.es.yml +0 -96
  1203. data/testing-with-2.1.18/config/locales/social_share_button.es.yml +0 -10
  1204. data/testing-with-2.1.18/config/menu.yml +0 -58
  1205. data/testing-with-2.1.18/config/permissions.yml +0 -39
  1206. data/testing-with-2.1.18/config/puma.rb +0 -56
  1207. data/testing-with-2.1.18/config/roles.yml +0 -2
  1208. data/testing-with-2.1.18/config/routes.rb +0 -191
  1209. data/testing-with-2.1.18/config/settings.yml +0 -30
  1210. data/testing-with-2.1.18/config/sitemap.rb +0 -30
  1211. data/testing-with-2.1.18/config/spring.rb +0 -6
  1212. data/testing-with-2.1.18/db/migrate/20140812203549_devise_create_users.rb +0 -50
  1213. data/testing-with-2.1.18/db/migrate/20140812210925_rolify_create_roles.rb +0 -21
  1214. data/testing-with-2.1.18/db/migrate/20151221173228_create_activities.rb +0 -23
  1215. data/testing-with-2.1.18/db/migrate/20160122201215_create_settings.rb +0 -15
  1216. data/testing-with-2.1.18/db/migrate/20160126141856_create_smtp_settings.rb +0 -15
  1217. data/testing-with-2.1.18/db/migrate/20160128131802_create_scripts.rb +0 -12
  1218. data/testing-with-2.1.18/db/migrate/20160128151351_create_google_analytics_settings.rb +0 -13
  1219. data/testing-with-2.1.18/db/migrate/20160128193740_create_social_accounts.rb +0 -26
  1220. data/testing-with-2.1.18/db/migrate/20160201134918_create_meta_tags.rb +0 -13
  1221. data/testing-with-2.1.18/db/migrate/20160201210520_create_appearances.rb +0 -14
  1222. data/testing-with-2.1.18/db/migrate/20171225023933_create_scaffolds.rb +0 -10
  1223. data/testing-with-2.1.18/db/migrate/20180503174351_create_permissions.rb +0 -11
  1224. data/testing-with-2.1.18/db/migrate/20180717160308_create_keppler_frontend_views.keppler_frontend.rb +0 -17
  1225. data/testing-with-2.1.18/db/migrate/20180730194655_create_keppler_frontend_themes.rb +0 -13
  1226. data/testing-with-2.1.18/db/migrate/20180802184429_create_keppler_capsules_capsules.keppler_capsules.rb +0 -13
  1227. data/testing-with-2.1.18/db/migrate/20180802184430_create_keppler_capsules_capsule_fields.keppler_capsules.rb +0 -12
  1228. data/testing-with-2.1.18/db/migrate/20180806192023_create_keppler_capsules_capsule_validations.keppler_capsules.rb +0 -13
  1229. data/testing-with-2.1.18/db/migrate/20180806203410_create_keppler_frontend_partials.keppler_frontend.rb +0 -13
  1230. data/testing-with-2.1.18/db/migrate/20180807204310_create_keppler_capsules_capsule_associations.keppler_capsules.rb +0 -13
  1231. data/testing-with-2.1.18/db/migrate/20180813160624_create_keppler_languages_languages.keppler_languages.rb +0 -14
  1232. data/testing-with-2.1.18/db/migrate/20180813160625_create_keppler_languages_fields.keppler_languages.rb +0 -14
  1233. data/testing-with-2.1.18/db/migrate/20180818073305_create_active_storage_tables.active_storage.rb +0 -26
  1234. data/testing-with-2.1.18/db/migrate/20180827120841_create_keppler_frontend_callback_functions.keppler_frontend.rb +0 -14
  1235. data/testing-with-2.1.18/db/migrate/20180827154329_create_keppler_frontend_view_callbacks.keppler_frontend.rb +0 -12
  1236. data/testing-with-2.1.18/db/migrate/20180827154647_add_position_to_users_table.rb +0 -5
  1237. data/testing-with-2.1.18/db/migrate/20180830153221_create_keppler_frontend_functions.keppler_frontend.rb +0 -14
  1238. data/testing-with-2.1.18/db/migrate/20180830153222_create_keppler_frontend_parameters.keppler_frontend.rb +0 -13
  1239. data/testing-with-2.1.18/db/migrate/20180904144238_create_seos.rb +0 -11
  1240. data/testing-with-2.1.18/db/seeds.rb +0 -162
  1241. data/testing-with-2.1.18/docs/diagrams/keppler_core/config +0 -0
  1242. data/testing-with-2.1.18/docs/diagrams/keppler_frontend/editor/resources_editor.dia +0 -0
  1243. data/testing-with-2.1.18/docs/diagrams/keppler_frontend/views/create_view.dia +0 -0
  1244. data/testing-with-2.1.18/docs/diagrams/keppler_frontend/views/delete_view.dia +0 -0
  1245. data/testing-with-2.1.18/docs/diagrams/keppler_frontend/views/delete_view.dia.autosave +0 -0
  1246. data/testing-with-2.1.18/lib/generators/install_rocket/USAGE +0 -44
  1247. data/testing-with-2.1.18/lib/generators/install_rocket/install_rocket_generator.rb +0 -107
  1248. data/testing-with-2.1.18/lib/generators/keppler_add_module/USAGE +0 -5
  1249. data/testing-with-2.1.18/lib/generators/keppler_add_module/keppler_add_module_generator.rb +0 -324
  1250. data/testing-with-2.1.18/lib/generators/keppler_add_module/templates/controllers/controller.rb +0 -106
  1251. data/testing-with-2.1.18/lib/generators/keppler_add_module/templates/models/model.rb +0 -29
  1252. data/testing-with-2.1.18/lib/generators/keppler_add_module/templates/policies/policy.rb +0 -11
  1253. data/testing-with-2.1.18/lib/generators/keppler_add_module/templates/views/_description.haml +0 -13
  1254. data/testing-with-2.1.18/lib/generators/keppler_add_module/templates/views/_form.haml +0 -49
  1255. data/testing-with-2.1.18/lib/generators/keppler_add_module/templates/views/_listing.haml +0 -58
  1256. data/testing-with-2.1.18/lib/generators/keppler_add_module/templates/views/edit.haml +0 -1
  1257. data/testing-with-2.1.18/lib/generators/keppler_add_module/templates/views/index.haml +0 -70
  1258. data/testing-with-2.1.18/lib/generators/keppler_add_module/templates/views/new.haml +0 -1
  1259. data/testing-with-2.1.18/lib/generators/keppler_add_module/templates/views/reload.js.haml +0 -5
  1260. data/testing-with-2.1.18/lib/generators/keppler_add_module/templates/views/show.haml +0 -35
  1261. data/testing-with-2.1.18/lib/generators/keppler_delete_module/USAGE +0 -5
  1262. data/testing-with-2.1.18/lib/generators/keppler_delete_module/keppler_delete_module_generator.rb +0 -305
  1263. data/testing-with-2.1.18/lib/generators/keppler_front/keppler_front_generator.rb +0 -139
  1264. data/testing-with-2.1.18/lib/generators/keppler_front/templates/controllers/controller.rb +0 -17
  1265. data/testing-with-2.1.18/lib/generators/keppler_front/templates/views/template.html.haml +0 -225
  1266. data/testing-with-2.1.18/lib/generators/keppler_relation/keppler_relation_generator.rb +0 -219
  1267. data/testing-with-2.1.18/lib/generators/new_rocket/USAGE +0 -44
  1268. data/testing-with-2.1.18/lib/generators/new_rocket/new_rocket_generator.rb +0 -258
  1269. data/testing-with-2.1.18/lib/generators/uninstall_rocket/USAGE +0 -32
  1270. data/testing-with-2.1.18/lib/generators/uninstall_rocket/uninstall_rocket_generator.rb +0 -140
  1271. data/testing-with-2.1.18/lib/keppler_configuration.rb +0 -12
  1272. data/testing-with-2.1.18/lib/plugins/config/locales/en.yml +0 -16
  1273. data/testing-with-2.1.18/lib/plugins/config/locales/es.yml +0 -16
  1274. data/testing-with-2.1.18/lib/plugins/config/menu.yml +0 -16
  1275. data/testing-with-2.1.18/lib/plugins/config/permissions.yml +0 -1
  1276. data/testing-with-2.1.18/lib/plugins/generators/keppler_scaffold/keppler_scaffold_generator.rb +0 -223
  1277. data/testing-with-2.1.18/lib/plugins/generators/keppler_scaffold/templates/controllers/controller.rb +0 -107
  1278. data/testing-with-2.1.18/lib/plugins/generators/keppler_scaffold/templates/models/model.rb +0 -29
  1279. data/testing-with-2.1.18/lib/plugins/generators/keppler_scaffold/templates/policies/policy.rb +0 -14
  1280. data/testing-with-2.1.18/lib/plugins/generators/keppler_scaffold/templates/views/_description.haml +0 -13
  1281. data/testing-with-2.1.18/lib/plugins/generators/keppler_scaffold/templates/views/_form.haml +0 -49
  1282. data/testing-with-2.1.18/lib/plugins/generators/keppler_scaffold/templates/views/_listing.haml +0 -58
  1283. data/testing-with-2.1.18/lib/plugins/generators/keppler_scaffold/templates/views/edit.haml +0 -1
  1284. data/testing-with-2.1.18/lib/plugins/generators/keppler_scaffold/templates/views/index.haml +0 -69
  1285. data/testing-with-2.1.18/lib/plugins/generators/keppler_scaffold/templates/views/new.haml +0 -1
  1286. data/testing-with-2.1.18/lib/plugins/generators/keppler_scaffold/templates/views/reload.js.haml +0 -5
  1287. data/testing-with-2.1.18/lib/plugins/generators/keppler_scaffold/templates/views/show.haml +0 -35
  1288. data/testing-with-2.1.18/lib/plugins/install.rb +0 -151
  1289. data/testing-with-2.1.18/lib/plugins/layouts/application.html.haml +0 -23
  1290. data/testing-with-2.1.18/lib/templates/haml/scaffold/_form.html.haml +0 -10
@@ -0,0 +1,2221 @@
1
+ /*
2
+ * jQuery Templates Plugin 1.0.0pre
3
+ * http://github.com/jquery/jquery-tmpl
4
+ * Requires jQuery 1.4.2
5
+ *
6
+ * Copyright Software Freedom Conservancy, Inc.
7
+ * Dual licensed under the MIT or GPL Version 2 licenses.
8
+ * http://jquery.org/license
9
+ */
10
+
11
+ (function(a){var r=a.fn.domManip,d="_tmplitem",q=/^[^<]*(<[\w\W]+>)[^>]*$|\{\{\! /,b={},f={},e,p={key:0,data:{}},i=0,c=0,l=[];function g(g,d,h,e){var c={data:e||(e===0||e===false)?e:d?d.data:{},_wrap:d?d._wrap:null,tmpl:null,parent:d||null,nodes:[],calls:u,nest:w,wrap:x,html:v,update:t};g&&a.extend(c,g,{nodes:[],parent:d});if(h){c.tmpl=h;c._ctnt=c._ctnt||c.tmpl(a,c);c.key=++i;(l.length?f:b)[i]=c}return c}a.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(f,d){a.fn[f]=function(n){var g=[],i=a(n),k,h,m,l,j=this.length===1&&this[0].parentNode;e=b||{};if(j&&j.nodeType===11&&j.childNodes.length===1&&i.length===1){i[d](this[0]);g=this}else{for(h=0,m=i.length;h<m;h++){c=h;k=(h>0?this.clone(true):this).get();a(i[h])[d](k);g=g.concat(k)}c=0;g=this.pushStack(g,f,i.selector)}l=e;e=null;a.tmpl.complete(l);return g}});a.fn.extend({tmpl:function(d,c,b){return a.tmpl(this[0],d,c,b)},tmplItem:function(){return a.tmplItem(this[0])},template:function(b){return a.template(b,this[0])},domManip:function(d,m,k){if(d[0]&&a.isArray(d[0])){var g=a.makeArray(arguments),h=d[0],j=h.length,i=0,f;while(i<j&&!(f=a.data(h[i++],"tmplItem")));if(f&&c)g[2]=function(b){a.tmpl.afterManip(this,b,k)};r.apply(this,g)}else r.apply(this,arguments);c=0;!e&&a.tmpl.complete(b);return this}});a.extend({tmpl:function(d,h,e,c){var i,k=!c;if(k){c=p;d=a.template[d]||a.template(null,d);f={}}else if(!d){d=c.tmpl;b[c.key]=c;c.nodes=[];c.wrapped&&n(c,c.wrapped);return a(j(c,null,c.tmpl(a,c)))}if(!d)return[];if(typeof h==="function")h=h.call(c||{});e&&e.wrapped&&n(e,e.wrapped);i=a.isArray(h)?a.map(h,function(a){return a?g(e,c,d,a):null}):[g(e,c,d,h)];return k?a(j(c,null,i)):i},tmplItem:function(b){var c;if(b instanceof a)b=b[0];while(b&&b.nodeType===1&&!(c=a.data(b,"tmplItem"))&&(b=b.parentNode));return c||p},template:function(c,b){if(b){if(typeof b==="string")b=o(b);else if(b instanceof a)b=b[0]||{};if(b.nodeType)b=a.data(b,"tmpl")||a.data(b,"tmpl",o(b.innerHTML));return typeof c==="string"?(a.template[c]=b):b}return c?typeof c!=="string"?a.template(null,c):a.template[c]||a.template(null,q.test(c)?c:a(c)):null},encode:function(a){return(""+a).split("<").join("&lt;").split(">").join("&gt;").split('"').join("&#34;").split("'").join("&#39;")}});a.extend(a.tmpl,{tag:{tmpl:{_default:{$2:"null"},open:"if($notnull_1){__=__.concat($item.nest($1,$2));}"},wrap:{_default:{$2:"null"},open:"$item.calls(__,$1,$2);__=[];",close:"call=$item.calls();__=call._.concat($item.wrap(call,__));"},each:{_default:{$2:"$index, $value"},open:"if($notnull_1){$.each($1a,function($2){with(this){",close:"}});}"},"if":{open:"if(($notnull_1) && $1a){",close:"}"},"else":{_default:{$1:"true"},open:"}else if(($notnull_1) && $1a){"},html:{open:"if($notnull_1){__.push($1a);}"},"=":{_default:{$1:"$data"},open:"if($notnull_1){__.push($.encode($1a));}"},"!":{open:""}},complete:function(){b={}},afterManip:function(f,b,d){var e=b.nodeType===11?a.makeArray(b.childNodes):b.nodeType===1?[b]:[];d.call(f,b);m(e);c++}});function j(e,g,f){var b,c=f?a.map(f,function(a){return typeof a==="string"?e.key?a.replace(/(<\w+)(?=[\s>])(?![^>]*_tmplitem)([^>]*)/g,"$1 "+d+'="'+e.key+'" $2'):a:j(a,e,a._ctnt)}):e;if(g)return c;c=c.join("");c.replace(/^\s*([^<\s][^<]*)?(<[\w\W]+>)([^>]*[^>\s])?\s*$/,function(f,c,e,d){b=a(e).get();m(b);if(c)b=k(c).concat(b);if(d)b=b.concat(k(d))});return b?b:k(c)}function k(c){var b=document.createElement("div");b.innerHTML=c;return a.makeArray(b.childNodes)}function o(b){return new Function("jQuery","$item","var $=jQuery,call,__=[],$data=$item.data;with($data){__.push('"+a.trim(b).replace(/([\\'])/g,"\\$1").replace(/[\r\t\n]/g," ").replace(/\$\{([^\}]*)\}/g,"{{= $1}}").replace(/\{\{(\/?)(\w+|.)(?:\(((?:[^\}]|\}(?!\}))*?)?\))?(?:\s+(.*?)?)?(\(((?:[^\}]|\}(?!\}))*?)\))?\s*\}\}/g,function(m,l,k,g,b,c,d){var j=a.tmpl.tag[k],i,e,f;if(!j)throw"Unknown template tag: "+k;i=j._default||[];if(c&&!/\w$/.test(b)){b+=c;c=""}if(b){b=h(b);d=d?","+h(d)+")":c?")":"";e=c?b.indexOf(".")>-1?b+h(c):"("+b+").call($item"+d:b;f=c?e:"(typeof("+b+")==='function'?("+b+").call($item):("+b+"))"}else f=e=i.$1||"null";g=h(g);return"');"+j[l?"close":"open"].split("$notnull_1").join(b?"typeof("+b+")!=='undefined' && ("+b+")!=null":"true").split("$1a").join(f).split("$1").join(e).split("$2").join(g||i.$2||"")+"__.push('"})+"');}return __;")}function n(c,b){c._wrap=j(c,true,a.isArray(b)?b:[q.test(b)?b:a(b).html()]).join("")}function h(a){return a?a.replace(/\\'/g,"'").replace(/\\\\/g,"\\"):null}function s(b){var a=document.createElement("div");a.appendChild(b.cloneNode(true));return a.innerHTML}function m(o){var n="_"+c,k,j,l={},e,p,h;for(e=0,p=o.length;e<p;e++){if((k=o[e]).nodeType!==1)continue;j=k.getElementsByTagName("*");for(h=j.length-1;h>=0;h--)m(j[h]);m(k)}function m(j){var p,h=j,k,e,m;if(m=j.getAttribute(d)){while(h.parentNode&&(h=h.parentNode).nodeType===1&&!(p=h.getAttribute(d)));if(p!==m){h=h.parentNode?h.nodeType===11?0:h.getAttribute(d)||0:0;if(!(e=b[m])){e=f[m];e=g(e,b[h]||f[h]);e.key=++i;b[i]=e}c&&o(m)}j.removeAttribute(d)}else if(c&&(e=a.data(j,"tmplItem"))){o(e.key);b[e.key]=e;h=a.data(j.parentNode,"tmplItem");h=h?h.key:0}if(e){k=e;while(k&&k.key!=h){k.nodes.push(j);k=k.parent}delete e._ctnt;delete e._wrap;a.data(j,"tmplItem",e)}function o(a){a=a+n;e=l[a]=l[a]||g(e,b[e.parent.key+n]||e.parent)}}}function u(a,d,c,b){if(!a)return l.pop();l.push({_:a,tmpl:d,item:this,data:c,options:b})}function w(d,c,b){return a.tmpl(a.template(d),c,b,this)}function x(b,d){var c=b.options||{};c.wrapped=d;return a.tmpl(a.template(b.tmpl),b.data,c,b.item)}function v(d,c){var b=this._wrap;return a.map(a(a.isArray(b)?b.join(""):b).filter(d||"*"),function(a){return c?a.innerText||a.textContent:a.outerHTML||s(a)})}function t(){var b=this.nodes;a.tmpl(null,null,null,this).insertBefore(b[0]);a(b).remove()}})(jQuery);
12
+ /**
13
+ * http://github.com/valums/file-uploader
14
+ *
15
+ * Multiple file upload component with progress-bar, drag-and-drop.
16
+ * © 2010 Andrew Valums ( andrew(at)valums.com )
17
+ *
18
+ * Licensed under GNU GPL 2 or later, see license.txt.
19
+ */
20
+
21
+ //
22
+ // Helper functions
23
+ //
24
+
25
+ var qq = qq || {};
26
+
27
+ /**
28
+ * Adds all missing properties from second obj to first obj
29
+ */
30
+ qq.extend = function(first, second){
31
+ for (var prop in second){
32
+ first[prop] = second[prop];
33
+ }
34
+ };
35
+
36
+ /**
37
+ * Searches for a given element in the array, returns -1 if it is not present.
38
+ * @param {Number} [from] The index at which to begin the search
39
+ */
40
+ qq.indexOf = function(arr, elt, from){
41
+ if (arr.indexOf) return arr.indexOf(elt, from);
42
+
43
+ from = from || 0;
44
+ var len = arr.length;
45
+
46
+ if (from < 0) from += len;
47
+
48
+ for (; from < len; from++){
49
+ if (from in arr && arr[from] === elt){
50
+ return from;
51
+ }
52
+ }
53
+ return -1;
54
+ };
55
+
56
+ qq.getUniqueId = (function(){
57
+ var id = 0;
58
+ return function(){ return id++; };
59
+ })();
60
+
61
+ //
62
+ // Events
63
+
64
+ qq.attach = function(element, type, fn){
65
+ if (element.addEventListener){
66
+ element.addEventListener(type, fn, false);
67
+ } else if (element.attachEvent){
68
+ element.attachEvent('on' + type, fn);
69
+ }
70
+ };
71
+ qq.detach = function(element, type, fn){
72
+ if (element.removeEventListener){
73
+ element.removeEventListener(type, fn, false);
74
+ } else if (element.attachEvent){
75
+ element.detachEvent('on' + type, fn);
76
+ }
77
+ };
78
+
79
+ qq.preventDefault = function(e){
80
+ if (e.preventDefault){
81
+ e.preventDefault();
82
+ } else{
83
+ e.returnValue = false;
84
+ }
85
+ };
86
+
87
+ //
88
+ // Node manipulations
89
+
90
+ /**
91
+ * Insert node a before node b.
92
+ */
93
+ qq.insertBefore = function(a, b){
94
+ b.parentNode.insertBefore(a, b);
95
+ };
96
+ qq.remove = function(element){
97
+ element.parentNode.removeChild(element);
98
+ };
99
+
100
+ qq.contains = function(parent, descendant){
101
+ // compareposition returns false in this case
102
+ if (parent == descendant) return true;
103
+
104
+ if (parent.contains){
105
+ return parent.contains(descendant);
106
+ } else {
107
+ return !!(descendant.compareDocumentPosition(parent) & 8);
108
+ }
109
+ };
110
+
111
+ /**
112
+ * Creates and returns element from html string
113
+ * Uses innerHTML to create an element
114
+ */
115
+ qq.toElement = (function(){
116
+ var div = document.createElement('div');
117
+ return function(html){
118
+ div.innerHTML = html;
119
+ var element = div.firstChild;
120
+ div.removeChild(element);
121
+ return element;
122
+ };
123
+ })();
124
+
125
+ //
126
+ // Node properties and attributes
127
+
128
+ /**
129
+ * Sets styles for an element.
130
+ * Fixes opacity in IE6-8.
131
+ */
132
+ qq.css = function(element, styles){
133
+ if (styles.opacity != null){
134
+ if (typeof element.style.opacity != 'string' && typeof(element.filters) != 'undefined'){
135
+ styles.filter = 'alpha(opacity=' + Math.round(100 * styles.opacity) + ')';
136
+ }
137
+ }
138
+ qq.extend(element.style, styles);
139
+ };
140
+ qq.hasClass = function(element, name){
141
+ var re = new RegExp('(^| )' + name + '( |$)');
142
+ return re.test(element.className);
143
+ };
144
+ qq.addClass = function(element, name){
145
+ if (!qq.hasClass(element, name)){
146
+ element.className += ' ' + name;
147
+ }
148
+ };
149
+ qq.removeClass = function(element, name){
150
+ var re = new RegExp('(^| )' + name + '( |$)');
151
+ element.className = element.className.replace(re, ' ').replace(/^\s+|\s+$/g, "");
152
+ };
153
+ qq.setText = function(element, text){
154
+ element.innerText = text;
155
+ element.textContent = text;
156
+ };
157
+
158
+ //
159
+ // Selecting elements
160
+
161
+ qq.children = function(element){
162
+ var children = [],
163
+ child = element.firstChild;
164
+
165
+ while (child){
166
+ if (child.nodeType == 1){
167
+ children.push(child);
168
+ }
169
+ child = child.nextSibling;
170
+ }
171
+
172
+ return children;
173
+ };
174
+
175
+ qq.getByClass = function(element, className){
176
+ if (element.querySelectorAll){
177
+ return element.querySelectorAll('.' + className);
178
+ }
179
+
180
+ var result = [];
181
+ var candidates = element.getElementsByTagName("*");
182
+ var len = candidates.length;
183
+
184
+ for (var i = 0; i < len; i++){
185
+ if (qq.hasClass(candidates[i], className)){
186
+ result.push(candidates[i]);
187
+ }
188
+ }
189
+ return result;
190
+ };
191
+
192
+ /**
193
+ * obj2url() takes a json-object as argument and generates
194
+ * a querystring. pretty much like jQuery.param()
195
+ *
196
+ * how to use:
197
+ *
198
+ * `qq.obj2url({a:'b',c:'d'},'http://any.url/upload?otherParam=value');`
199
+ *
200
+ * will result in:
201
+ *
202
+ * `http://any.url/upload?otherParam=value&a=b&c=d`
203
+ *
204
+ * @param Object JSON-Object
205
+ * @param String current querystring-part
206
+ * @return String encoded querystring
207
+ */
208
+ qq.obj2url = function(obj, temp, prefixDone){
209
+ var uristrings = [],
210
+ prefix = '&',
211
+ add = function(nextObj, i){
212
+ var nextTemp = temp
213
+ ? (/\[\]$/.test(temp)) // prevent double-encoding
214
+ ? temp
215
+ : temp+'['+i+']'
216
+ : i;
217
+ if ((nextTemp != 'undefined') && (i != 'undefined')) {
218
+ uristrings.push(
219
+ (typeof nextObj === 'object')
220
+ ? qq.obj2url(nextObj, nextTemp, true)
221
+ : (Object.prototype.toString.call(nextObj) === '[object Function]')
222
+ ? encodeURIComponent(nextTemp) + '=' + encodeURIComponent(nextObj())
223
+ : encodeURIComponent(nextTemp) + '=' + encodeURIComponent(nextObj)
224
+ );
225
+ }
226
+ };
227
+
228
+ if (!prefixDone && temp) {
229
+ prefix = (/\?/.test(temp)) ? (/\?$/.test(temp)) ? '' : '&' : '?';
230
+ uristrings.push(temp);
231
+ uristrings.push(qq.obj2url(obj));
232
+ } else if ((Object.prototype.toString.call(obj) === '[object Array]') && (typeof obj != 'undefined') ) {
233
+ // we wont use a for-in-loop on an array (performance)
234
+ for (var i = 0, len = obj.length; i < len; ++i){
235
+ add(obj[i], i);
236
+ }
237
+ } else if ((typeof obj != 'undefined') && (obj !== null) && (typeof obj === "object")){
238
+ // for anything else but a scalar, we will use for-in-loop
239
+ for (var i in obj){
240
+ add(obj[i], i);
241
+ }
242
+ } else {
243
+ uristrings.push(encodeURIComponent(temp) + '=' + encodeURIComponent(obj));
244
+ }
245
+
246
+ return uristrings.join(prefix)
247
+ .replace(/^&/, '')
248
+ .replace(/%20/g, '+');
249
+ };
250
+
251
+ //
252
+ //
253
+ // Uploader Classes
254
+ //
255
+ //
256
+
257
+ var qq = qq || {};
258
+
259
+ /**
260
+ * Creates upload button, validates upload, but doesn't create file list or dd.
261
+ */
262
+ qq.FileUploaderBasic = function(o){
263
+ this._options = {
264
+ // set to true to see the server response
265
+ debug: false,
266
+ action: '/server/upload',
267
+ params: {},
268
+ button: null,
269
+ multiple: true,
270
+ maxConnections: 3,
271
+ method: 'POST',
272
+ fieldName: 'qqfile',
273
+ // validation
274
+ allowedExtensions: [],
275
+ sizeLimit: 0,
276
+ minSizeLimit: 0,
277
+ maxFilesCount: 0, // 0 - no limit, works only in multiple mode
278
+ minFilesCount: 0, // 0 - no limit, works only in multiple mode
279
+ // events
280
+ // return false to cancel submit
281
+ onSubmit: function(id, fileName){},
282
+ onProgress: function(id, fileName, loaded, total){},
283
+ onComplete: function(id, fileName, responseJSON){},
284
+ onCancel: function(id, fileName){},
285
+ // messages
286
+ messages: {
287
+ typeError: "{file} has invalid extension. Only {extensions} are allowed.",
288
+ sizeError: "{file} is too large, maximum file size is {sizeLimit}.",
289
+ minSizeError: "{file} is too small, minimum file size is {minSizeLimit}.",
290
+ emptyError: "{file} is empty, please select files again without it.",
291
+ onLeave: "The files are being uploaded, if you leave now the upload will be cancelled.",
292
+ maxFilesError: "You must select less then {maxFilesCount} files.",
293
+ minFilesError: "You must select more then {minFilesCount} files."
294
+ },
295
+ showMessage: function(message){
296
+ alert(message);
297
+ }
298
+ };
299
+ qq.extend(this._options, o);
300
+
301
+ // number of files being uploaded
302
+ this._filesInProgress = 0;
303
+ // number of files was processed
304
+ this._filesUploaded = 0;
305
+ this._handler = this._createUploadHandler();
306
+
307
+ if (this._options.button){
308
+ this._button = this._createUploadButton(this._options.button);
309
+ }
310
+
311
+ this._preventLeaveInProgress();
312
+ };
313
+
314
+ qq.FileUploaderBasic.prototype = {
315
+ setParams: function(params){
316
+ this._options.params = params;
317
+ },
318
+ getInProgress: function(){
319
+ return this._filesInProgress;
320
+ },
321
+ _createUploadButton: function(element){
322
+ var self = this;
323
+
324
+ return new qq.UploadButton({
325
+ element: element,
326
+ multiple: this._options.multiple && qq.UploadHandlerXhr.isSupported(),
327
+ onChange: function(input){
328
+ self._onInputChange(input);
329
+ }
330
+ });
331
+ },
332
+ _createUploadHandler: function(){
333
+ var self = this,
334
+ handlerClass;
335
+
336
+ if(qq.UploadHandlerXhr.isSupported()){
337
+ handlerClass = 'UploadHandlerXhr';
338
+ } else {
339
+ handlerClass = 'UploadHandlerForm';
340
+ }
341
+
342
+ var handler = new qq[handlerClass]({
343
+ debug: this._options.debug,
344
+ action: this._options.action,
345
+ maxConnections: this._options.maxConnections,
346
+ fieldName: this._options.fieldName,
347
+ method: this._options.method,
348
+ onProgress: function(id, fileName, loaded, total){
349
+ self._onProgress(id, fileName, loaded, total);
350
+ self._options.onProgress(id, fileName, loaded, total);
351
+ },
352
+ onComplete: function(id, fileName, result){
353
+ self._onComplete(id, fileName, result);
354
+ self._options.onComplete(id, fileName, result);
355
+ },
356
+ onCancel: function(id, fileName){
357
+ self._onCancel(id, fileName);
358
+ self._options.onCancel(id, fileName);
359
+ }
360
+ });
361
+
362
+ return handler;
363
+ },
364
+ _preventLeaveInProgress: function(){
365
+ var self = this;
366
+
367
+ qq.attach(window, 'beforeunload', function(e){
368
+ if (!self._filesInProgress){return;}
369
+
370
+ var e = e || window.event;
371
+ // for ie, ff
372
+ e.returnValue = self._options.messages.onLeave;
373
+ // for webkit
374
+ return self._options.messages.onLeave;
375
+ });
376
+ },
377
+ _onSubmit: function(id, fileName){
378
+ this._filesInProgress++;
379
+ },
380
+ _onProgress: function(id, fileName, loaded, total){
381
+ },
382
+ _onComplete: function(id, fileName, result){
383
+ this._filesInProgress--;
384
+ if (result.error){
385
+ this._options.showMessage(result.error);
386
+ } else {
387
+ this._filesUploaded++;
388
+ }
389
+ },
390
+ _onCancel: function(id, fileName){
391
+ this._filesInProgress--;
392
+ },
393
+ _onInputChange: function(input){
394
+ if (this._handler instanceof qq.UploadHandlerXhr){
395
+ this._uploadFileList(input.files);
396
+ } else {
397
+ if (this._validateFile(input)){
398
+ this._uploadFile(input);
399
+ }
400
+ }
401
+ this._button.reset();
402
+ },
403
+ _uploadFileList: function(files){
404
+ if ( this._validateFiles(files) ) {
405
+ for (var i=0; i<files.length; i++){
406
+ this._uploadFile(files[i]);
407
+ }
408
+ }
409
+ },
410
+ _uploadFile: function(fileContainer){
411
+ var id = this._handler.add(fileContainer);
412
+ var fileName = this._handler.getName(id);
413
+
414
+ if (this._options.onSubmit(id, fileName) !== false){
415
+ this._onSubmit(id, fileName);
416
+ this._handler.upload(id, this._options.params);
417
+ }
418
+ },
419
+ _validateFiles: function(files){
420
+ var uploadedCount = this._filesUploaded + files.length;
421
+
422
+ if (this._options.maxFilesCount > 0) {
423
+ if ( uploadedCount > this._options.maxFilesCount) {
424
+ this._error('maxFilesError', 'name');
425
+ return false;
426
+ }
427
+ }
428
+
429
+ if (this._options.minFilesCount > 0) {
430
+ if ( uploadedCount < this._options.minFilesCount) {
431
+ this._error('minFilesError', 'name');
432
+ return false;
433
+ }
434
+ }
435
+
436
+ for (var i=0; i<files.length; i++){
437
+ if ( !this._validateFile(files[i])){
438
+ return false;
439
+ }
440
+ }
441
+
442
+ return true;
443
+ },
444
+ _validateFile: function(file){
445
+ var name, size;
446
+
447
+ if (file.value){
448
+ // it is a file input
449
+ // get input value and remove path to normalize
450
+ name = file.value.replace(/.*(\/|\\)/, "");
451
+ } else {
452
+ // fix missing properties in Safari
453
+ name = file.fileName != null ? file.fileName : file.name;
454
+ size = file.fileSize != null ? file.fileSize : file.size;
455
+ }
456
+
457
+ if (! this._isAllowedExtension(name)){
458
+ this._error('typeError', name);
459
+ return false;
460
+
461
+ } else if (size === 0){
462
+ this._error('emptyError', name);
463
+ return false;
464
+
465
+ } else if (size && this._options.sizeLimit && size > this._options.sizeLimit){
466
+ this._error('sizeError', name);
467
+ return false;
468
+
469
+ } else if (size && size < this._options.minSizeLimit){
470
+ this._error('minSizeError', name);
471
+ return false;
472
+ }
473
+
474
+ return true;
475
+ },
476
+ _error: function(code, fileName){
477
+ var message = this._options.messages[code];
478
+ function r(name, replacement){ message = message.replace(name, replacement); }
479
+
480
+ r('{file}', this._formatFileName(fileName));
481
+ r('{extensions}', this._options.allowedExtensions.join(', '));
482
+ r('{sizeLimit}', this._formatSize(this._options.sizeLimit));
483
+ r('{minSizeLimit}', this._formatSize(this._options.minSizeLimit));
484
+ r('{maxFilesCount}', this._options.maxFilesCount);
485
+ r('{minFilesCount}', this._options.minFilesCount);
486
+
487
+ this._options.showMessage(message);
488
+ },
489
+ _formatFileName: function(name){
490
+ if (name.length > 33){
491
+ name = name.slice(0, 19) + '...' + name.slice(-13);
492
+ }
493
+ return name;
494
+ },
495
+ _isAllowedExtension: function(fileName){
496
+ var ext = (-1 !== fileName.indexOf('.')) ? fileName.replace(/.*[.]/, '').toLowerCase() : '';
497
+ var allowed = this._options.allowedExtensions;
498
+
499
+ if (!allowed.length){return true;}
500
+
501
+ for (var i=0; i<allowed.length; i++){
502
+ if (allowed[i].toLowerCase() == ext){ return true;}
503
+ }
504
+
505
+ return false;
506
+ },
507
+ _formatSize: function(bytes){
508
+ var i = -1;
509
+ do {
510
+ bytes = bytes / 1024;
511
+ i++;
512
+ } while (bytes > 99);
513
+
514
+ return Math.max(bytes, 0.1).toFixed(1) + ['kB', 'MB', 'GB', 'TB', 'PB', 'EB'][i];
515
+ }
516
+ };
517
+
518
+
519
+ /**
520
+ * Class that creates upload widget with drag-and-drop and file list
521
+ * @inherits qq.FileUploaderBasic
522
+ */
523
+ qq.FileUploader = function(o){
524
+ // call parent constructor
525
+ qq.FileUploaderBasic.apply(this, arguments);
526
+
527
+ // additional options
528
+ qq.extend(this._options, {
529
+ element: null,
530
+ // if set, will be used instead of qq-upload-list in template
531
+ listElement: null,
532
+
533
+ template: '<div class="qq-uploader">' +
534
+ '<div class="qq-upload-drop-area"><span>Drop files here to upload</span></div>' +
535
+ '<div class="qq-upload-button">Upload a file</div>' +
536
+ '<ul class="qq-upload-list"></ul>' +
537
+ '</div>',
538
+
539
+ // template for one item in file list
540
+ fileTemplate: '<li>' +
541
+ '<span class="qq-upload-file"></span>' +
542
+ '<span class="qq-upload-spinner"></span>' +
543
+ '<span class="qq-upload-size"></span>' +
544
+ '<a class="qq-upload-cancel" href="#">Cancel</a>' +
545
+ '<span class="qq-upload-failed-text">Failed</span>' +
546
+ '</li>',
547
+
548
+ classes: {
549
+ // used to get elements from templates
550
+ button: 'qq-upload-button',
551
+ drop: 'qq-upload-drop-area',
552
+ dropActive: 'qq-upload-drop-area-active',
553
+ list: 'qq-upload-list',
554
+
555
+ file: 'qq-upload-file',
556
+ spinner: 'qq-upload-spinner',
557
+ size: 'qq-upload-size',
558
+ cancel: 'qq-upload-cancel',
559
+
560
+ // added to list item when upload completes
561
+ // used in css to hide progress spinner
562
+ success: 'qq-upload-success',
563
+ fail: 'qq-upload-fail'
564
+ }
565
+ });
566
+ // overwrite options with user supplied
567
+ qq.extend(this._options, o);
568
+
569
+ this._element = this._options.element;
570
+ this._element.innerHTML = this._options.template;
571
+ this._listElement = this._options.listElement || this._find(this._element, 'list');
572
+
573
+ this._classes = this._options.classes;
574
+
575
+ this._button = this._createUploadButton(this._find(this._element, 'button'));
576
+
577
+ this._bindCancelEvent();
578
+ this._setupDragDrop();
579
+ };
580
+
581
+ // inherit from Basic Uploader
582
+ qq.extend(qq.FileUploader.prototype, qq.FileUploaderBasic.prototype);
583
+
584
+ qq.extend(qq.FileUploader.prototype, {
585
+ /**
586
+ * Gets one of the elements listed in this._options.classes
587
+ **/
588
+ _find: function(parent, type){
589
+ var element = qq.getByClass(parent, this._options.classes[type])[0];
590
+ if (!element){
591
+ throw new Error('element not found ' + type);
592
+ }
593
+
594
+ return element;
595
+ },
596
+ _setupDragDrop: function(){
597
+ var self = this,
598
+ dropArea = this._find(this._element, 'drop');
599
+
600
+ var dz = new qq.UploadDropZone({
601
+ element: dropArea,
602
+ onEnter: function(e){
603
+ qq.addClass(dropArea, self._classes.dropActive);
604
+ e.stopPropagation();
605
+ },
606
+ onLeave: function(e){
607
+ e.stopPropagation();
608
+ },
609
+ onLeaveNotDescendants: function(e){
610
+ qq.removeClass(dropArea, self._classes.dropActive);
611
+ },
612
+ onDrop: function(e){
613
+ dropArea.style.display = 'none';
614
+ qq.removeClass(dropArea, self._classes.dropActive);
615
+ self._uploadFileList(e.dataTransfer.files);
616
+ }
617
+ });
618
+
619
+ dropArea.style.display = 'none';
620
+
621
+ qq.attach(document, 'dragenter', function(e){
622
+ if (!dz._isValidFileDrag(e)) return;
623
+
624
+ dropArea.style.display = 'block';
625
+ });
626
+ qq.attach(document, 'dragleave', function(e){
627
+ if (!dz._isValidFileDrag(e)) return;
628
+
629
+ var relatedTarget = document.elementFromPoint(e.clientX, e.clientY);
630
+ // only fire when leaving document out
631
+ if ( ! relatedTarget || relatedTarget.nodeName == "HTML"){
632
+ dropArea.style.display = 'none';
633
+ }
634
+ });
635
+ },
636
+ _onSubmit: function(id, fileName){
637
+ qq.FileUploaderBasic.prototype._onSubmit.apply(this, arguments);
638
+ this._addToList(id, fileName);
639
+ },
640
+ _onProgress: function(id, fileName, loaded, total){
641
+ qq.FileUploaderBasic.prototype._onProgress.apply(this, arguments);
642
+
643
+ var item = this._getItemByFileId(id);
644
+ var size = this._find(item, 'size');
645
+ size.style.display = 'inline';
646
+
647
+ var text;
648
+ if (loaded != total){
649
+ text = Math.round(loaded / total * 100) + '% from ' + this._formatSize(total);
650
+ } else {
651
+ text = this._formatSize(total);
652
+ }
653
+
654
+ qq.setText(size, text);
655
+ },
656
+ _onComplete: function(id, fileName, result){
657
+ qq.FileUploaderBasic.prototype._onComplete.apply(this, arguments);
658
+
659
+ // mark completed
660
+ var item = this._getItemByFileId(id);
661
+ qq.remove(this._find(item, 'cancel'));
662
+ qq.remove(this._find(item, 'spinner'));
663
+
664
+ if (result.success){
665
+ qq.addClass(item, this._classes.success);
666
+ } else {
667
+ qq.addClass(item, this._classes.fail);
668
+ }
669
+ },
670
+ _addToList: function(id, fileName){
671
+ var item = qq.toElement(this._options.fileTemplate);
672
+ item.qqFileId = id;
673
+
674
+ var fileElement = this._find(item, 'file');
675
+ qq.setText(fileElement, this._formatFileName(fileName));
676
+ this._find(item, 'size').style.display = 'none';
677
+
678
+ this._listElement.appendChild(item);
679
+ },
680
+ _getItemByFileId: function(id){
681
+ var item = this._listElement.firstChild;
682
+
683
+ // there can't be txt nodes in dynamically created list
684
+ // and we can use nextSibling
685
+ while (item){
686
+ if (item.qqFileId == id) return item;
687
+ item = item.nextSibling;
688
+ }
689
+ },
690
+ /**
691
+ * delegate click event for cancel link
692
+ **/
693
+ _bindCancelEvent: function(){
694
+ var self = this,
695
+ list = this._listElement;
696
+
697
+ qq.attach(list, 'click', function(e){
698
+ e = e || window.event;
699
+ var target = e.target || e.srcElement;
700
+
701
+ if (qq.hasClass(target, self._classes.cancel)){
702
+ qq.preventDefault(e);
703
+
704
+ var item = target.parentNode;
705
+ self._handler.cancel(item.qqFileId);
706
+ qq.remove(item);
707
+ }
708
+ });
709
+ }
710
+ });
711
+
712
+ qq.UploadDropZone = function(o){
713
+ this._options = {
714
+ element: null,
715
+ onEnter: function(e){},
716
+ onLeave: function(e){},
717
+ // is not fired when leaving element by hovering descendants
718
+ onLeaveNotDescendants: function(e){},
719
+ onDrop: function(e){}
720
+ };
721
+ qq.extend(this._options, o);
722
+
723
+ this._element = this._options.element;
724
+
725
+ this._disableDropOutside();
726
+ this._attachEvents();
727
+ };
728
+
729
+ qq.UploadDropZone.prototype = {
730
+ _disableDropOutside: function(e){
731
+ // run only once for all instances
732
+ if (!qq.UploadDropZone.dropOutsideDisabled ){
733
+
734
+ qq.attach(document, 'dragover', function(e){
735
+ if (e.dataTransfer){
736
+ e.dataTransfer.dropEffect = 'none';
737
+ e.preventDefault();
738
+ }
739
+ });
740
+
741
+ qq.UploadDropZone.dropOutsideDisabled = true;
742
+ }
743
+ },
744
+ _attachEvents: function(){
745
+ var self = this;
746
+
747
+ qq.attach(self._element, 'dragover', function(e){
748
+ if (!self._isValidFileDrag(e)) return;
749
+
750
+ var effect = e.dataTransfer.effectAllowed;
751
+ if (effect == 'move' || effect == 'linkMove'){
752
+ e.dataTransfer.dropEffect = 'move'; // for FF (only move allowed)
753
+ } else {
754
+ e.dataTransfer.dropEffect = 'copy'; // for Chrome
755
+ }
756
+
757
+ e.stopPropagation();
758
+ e.preventDefault();
759
+ });
760
+
761
+ qq.attach(self._element, 'dragenter', function(e){
762
+ if (!self._isValidFileDrag(e)) return;
763
+
764
+ self._options.onEnter(e);
765
+ });
766
+
767
+ qq.attach(self._element, 'dragleave', function(e){
768
+ if (!self._isValidFileDrag(e)) return;
769
+
770
+ self._options.onLeave(e);
771
+
772
+ var relatedTarget = document.elementFromPoint(e.clientX, e.clientY);
773
+ // do not fire when moving a mouse over a descendant
774
+ if (qq.contains(this, relatedTarget)) return;
775
+
776
+ self._options.onLeaveNotDescendants(e);
777
+ });
778
+
779
+ qq.attach(self._element, 'drop', function(e){
780
+ if (!self._isValidFileDrag(e)) return;
781
+
782
+ e.preventDefault();
783
+ self._options.onDrop(e);
784
+ });
785
+ },
786
+ _isValidFileDrag: function(e){
787
+ var dt = e.dataTransfer,
788
+ // do not check dt.types.contains in webkit, because it crashes safari 4
789
+ isWebkit = navigator.userAgent.indexOf("AppleWebKit") > -1;
790
+
791
+ // dt.effectAllowed is none in Safari 5
792
+ // dt.types.contains check is for firefox
793
+ return dt && dt.effectAllowed != 'none' &&
794
+ (dt.files || (!isWebkit && dt.types.contains && dt.types.contains('Files')));
795
+
796
+ }
797
+ };
798
+
799
+ qq.UploadButton = function(o){
800
+ this._options = {
801
+ element: null,
802
+ // if set to true adds multiple attribute to file input
803
+ multiple: false,
804
+ // name attribute of file input
805
+ name: 'file',
806
+ onChange: function(input){},
807
+ hoverClass: 'qq-upload-button-hover',
808
+ focusClass: 'qq-upload-button-focus'
809
+ };
810
+
811
+ qq.extend(this._options, o);
812
+
813
+ this._element = this._options.element;
814
+
815
+ // make button suitable container for input
816
+ qq.css(this._element, {
817
+ position: 'relative',
818
+ overflow: 'hidden',
819
+ // Make sure browse button is in the right side
820
+ // in Internet Explorer
821
+ direction: 'ltr'
822
+ });
823
+
824
+ this._input = this._createInput();
825
+ };
826
+
827
+ qq.UploadButton.prototype = {
828
+ /* returns file input element */
829
+ getInput: function(){
830
+ return this._input;
831
+ },
832
+ /* cleans/recreates the file input */
833
+ reset: function(){
834
+ if (this._input.parentNode){
835
+ qq.remove(this._input);
836
+ }
837
+
838
+ qq.removeClass(this._element, this._options.focusClass);
839
+ this._input = this._createInput();
840
+ },
841
+ _createInput: function(){
842
+ var input = document.createElement("input");
843
+
844
+ if (this._options.multiple){
845
+ input.setAttribute("multiple", "multiple");
846
+ }
847
+
848
+ input.setAttribute("type", "file");
849
+ input.setAttribute("name", this._options.name);
850
+
851
+ qq.css(input, {
852
+ position: 'absolute',
853
+ // in Opera only 'browse' button
854
+ // is clickable and it is located at
855
+ // the right side of the input
856
+ right: 0,
857
+ top: 0,
858
+ fontFamily: 'Arial',
859
+ // 4 persons reported this, the max values that worked for them were 243, 236, 236, 118
860
+ fontSize: '118px',
861
+ margin: 0,
862
+ padding: 0,
863
+ cursor: 'pointer',
864
+ opacity: 0
865
+ });
866
+
867
+ this._element.appendChild(input);
868
+
869
+ var self = this;
870
+ qq.attach(input, 'change', function(){
871
+ self._options.onChange(input);
872
+ });
873
+
874
+ qq.attach(input, 'mouseover', function(){
875
+ qq.addClass(self._element, self._options.hoverClass);
876
+ });
877
+ qq.attach(input, 'mouseout', function(){
878
+ qq.removeClass(self._element, self._options.hoverClass);
879
+ });
880
+ qq.attach(input, 'focus', function(){
881
+ qq.addClass(self._element, self._options.focusClass);
882
+ });
883
+ qq.attach(input, 'blur', function(){
884
+ qq.removeClass(self._element, self._options.focusClass);
885
+ });
886
+
887
+ // IE and Opera, unfortunately have 2 tab stops on file input
888
+ // which is unacceptable in our case, disable keyboard access
889
+ if (window.attachEvent){
890
+ // it is IE or Opera
891
+ input.setAttribute('tabIndex', "-1");
892
+ }
893
+
894
+ return input;
895
+ }
896
+ };
897
+
898
+ /**
899
+ * Class for uploading files, uploading itself is handled by child classes
900
+ */
901
+ qq.UploadHandlerAbstract = function(o){
902
+ this._options = {
903
+ debug: false,
904
+ action: '/upload.php',
905
+ method: 'POST',
906
+ fieldName: 'qqfile',
907
+ // maximum number of concurrent uploads
908
+ maxConnections: 999,
909
+ onProgress: function(id, fileName, loaded, total){},
910
+ onComplete: function(id, fileName, response){},
911
+ onCancel: function(id, fileName){}
912
+ };
913
+ qq.extend(this._options, o);
914
+
915
+ this._queue = [];
916
+ // params for files in queue
917
+ this._params = [];
918
+ };
919
+ qq.UploadHandlerAbstract.prototype = {
920
+ log: function(str){
921
+ if (this._options.debug && window.console) console.log('[uploader] ' + str);
922
+ },
923
+ /**
924
+ * Adds file or file input to the queue
925
+ * @returns id
926
+ **/
927
+ add: function(file){},
928
+ /**
929
+ * Sends the file identified by id and additional query params to the server
930
+ */
931
+ upload: function(id, params){
932
+ var len = this._queue.push(id);
933
+
934
+ var copy = {};
935
+ qq.extend(copy, params);
936
+ this._params[id] = copy;
937
+
938
+ // if too many active uploads, wait...
939
+ if (len <= this._options.maxConnections){
940
+ this._upload(id, this._params[id]);
941
+ }
942
+ },
943
+ /**
944
+ * Cancels file upload by id
945
+ */
946
+ cancel: function(id){
947
+ this._cancel(id);
948
+ this._dequeue(id);
949
+ },
950
+ /**
951
+ * Cancells all uploads
952
+ */
953
+ cancelAll: function(){
954
+ for (var i=0; i<this._queue.length; i++){
955
+ this._cancel(this._queue[i]);
956
+ }
957
+ this._queue = [];
958
+ },
959
+ /**
960
+ * Returns name of the file identified by id
961
+ */
962
+ getName: function(id){},
963
+ /**
964
+ * Returns size of the file identified by id
965
+ */
966
+ getSize: function(id){},
967
+ /**
968
+ * Returns id of files being uploaded or
969
+ * waiting for their turn
970
+ */
971
+ getQueue: function(){
972
+ return this._queue;
973
+ },
974
+ /**
975
+ * Actual upload method
976
+ */
977
+ _upload: function(id){},
978
+ /**
979
+ * Actual cancel method
980
+ */
981
+ _cancel: function(id){},
982
+ /**
983
+ * Removes element from queue, starts upload of next
984
+ */
985
+ _dequeue: function(id){
986
+ var i = qq.indexOf(this._queue, id);
987
+ this._queue.splice(i, 1);
988
+
989
+ var max = this._options.maxConnections;
990
+
991
+ if (this._queue.length >= max && i < max){
992
+ var nextId = this._queue[max-1];
993
+ this._upload(nextId, this._params[nextId]);
994
+ }
995
+ }
996
+ };
997
+
998
+ /**
999
+ * Class for uploading files using form and iframe
1000
+ * @inherits qq.UploadHandlerAbstract
1001
+ */
1002
+ qq.UploadHandlerForm = function(o){
1003
+ qq.UploadHandlerAbstract.apply(this, arguments);
1004
+
1005
+ this._inputs = {};
1006
+ };
1007
+ // @inherits qq.UploadHandlerAbstract
1008
+ qq.extend(qq.UploadHandlerForm.prototype, qq.UploadHandlerAbstract.prototype);
1009
+
1010
+ qq.extend(qq.UploadHandlerForm.prototype, {
1011
+ add: function(fileInput){
1012
+ fileInput.setAttribute('name', this._options.fieldName);
1013
+ var id = 'qq-upload-handler-iframe' + qq.getUniqueId();
1014
+
1015
+ this._inputs[id] = fileInput;
1016
+
1017
+ // remove file input from DOM
1018
+ if (fileInput.parentNode){
1019
+ qq.remove(fileInput);
1020
+ }
1021
+
1022
+ return id;
1023
+ },
1024
+ getName: function(id){
1025
+ // get input value and remove path to normalize
1026
+ return this._inputs[id].value.replace(/.*(\/|\\)/, "");
1027
+ },
1028
+ _cancel: function(id){
1029
+ this._options.onCancel(id, this.getName(id));
1030
+
1031
+ delete this._inputs[id];
1032
+
1033
+ var iframe = document.getElementById(id);
1034
+ if (iframe){
1035
+ // to cancel request set src to something else
1036
+ // we use src="javascript:false;" because it doesn't
1037
+ // trigger ie6 prompt on https
1038
+ iframe.setAttribute('src', 'javascript:false;');
1039
+
1040
+ qq.remove(iframe);
1041
+ }
1042
+ },
1043
+ _upload: function(id, params){
1044
+ var input = this._inputs[id];
1045
+
1046
+ if (!input){
1047
+ throw new Error('file with passed id was not added, or already uploaded or cancelled');
1048
+ }
1049
+
1050
+ var fileName = this.getName(id);
1051
+
1052
+ var iframe = this._createIframe(id);
1053
+ var form = this._createForm(iframe, params);
1054
+ form.appendChild(input);
1055
+
1056
+ var self = this;
1057
+ this._attachLoadEvent(iframe, function(){
1058
+ self.log('iframe loaded');
1059
+
1060
+ var response = self._getIframeContentJSON(iframe);
1061
+
1062
+ self._options.onComplete(id, fileName, response);
1063
+ self._dequeue(id);
1064
+
1065
+ delete self._inputs[id];
1066
+ // timeout added to fix busy state in FF3.6
1067
+ setTimeout(function(){
1068
+ qq.remove(iframe);
1069
+ }, 1);
1070
+ });
1071
+
1072
+ form.submit();
1073
+ qq.remove(form);
1074
+
1075
+ return id;
1076
+ },
1077
+ _attachLoadEvent: function(iframe, callback){
1078
+ qq.attach(iframe, 'load', function(){
1079
+ // when we remove iframe from dom
1080
+ // the request stops, but in IE load
1081
+ // event fires
1082
+ if (!iframe.parentNode){
1083
+ return;
1084
+ }
1085
+
1086
+ // fixing Opera 10.53
1087
+ if (iframe.contentDocument &&
1088
+ iframe.contentDocument.body &&
1089
+ iframe.contentDocument.body.innerHTML == "false"){
1090
+ // In Opera event is fired second time
1091
+ // when body.innerHTML changed from false
1092
+ // to server response approx. after 1 sec
1093
+ // when we upload file with iframe
1094
+ return;
1095
+ }
1096
+
1097
+ callback();
1098
+ });
1099
+ },
1100
+ /**
1101
+ * Returns json object received by iframe from server.
1102
+ */
1103
+ _getIframeContentJSON: function(iframe){
1104
+ // iframe.contentWindow.document - for IE<7
1105
+ var doc = iframe.contentDocument ? iframe.contentDocument: iframe.contentWindow.document,
1106
+ response;
1107
+
1108
+ this.log("converting iframe's innerHTML to JSON");
1109
+ this.log("innerHTML = " + doc.body.innerHTML);
1110
+
1111
+ try {
1112
+ response = eval("(" + doc.body.innerHTML + ")");
1113
+ } catch(err){
1114
+ response = {};
1115
+ }
1116
+
1117
+ return response;
1118
+ },
1119
+ /**
1120
+ * Creates iframe with unique name
1121
+ */
1122
+ _createIframe: function(id){
1123
+ // We can't use following code as the name attribute
1124
+ // won't be properly registered in IE6, and new window
1125
+ // on form submit will open
1126
+ // var iframe = document.createElement('iframe');
1127
+ // iframe.setAttribute('name', id);
1128
+
1129
+ var iframe = qq.toElement('<iframe src="javascript:false;" name="' + id + '" />');
1130
+ // src="javascript:false;" removes ie6 prompt on https
1131
+
1132
+ iframe.setAttribute('id', id);
1133
+
1134
+ iframe.style.display = 'none';
1135
+ document.body.appendChild(iframe);
1136
+
1137
+ return iframe;
1138
+ },
1139
+ /**
1140
+ * Creates form, that will be submitted to iframe
1141
+ */
1142
+ _createForm: function(iframe, params){
1143
+ // We can't use the following code in IE6
1144
+ // var form = document.createElement('form');
1145
+ // form.setAttribute('method', 'post');
1146
+ // form.setAttribute('enctype', 'multipart/form-data');
1147
+ // Because in this case file won't be attached to request
1148
+ var form = qq.toElement('<form enctype="multipart/form-data"></form>');
1149
+
1150
+ var queryString = qq.obj2url(params, this._options.action);
1151
+
1152
+ form.setAttribute('method', this._options.method);
1153
+ form.setAttribute('action', queryString);
1154
+ form.setAttribute('target', iframe.name);
1155
+ form.style.display = 'none';
1156
+
1157
+ // Rails CSRFProtection
1158
+ var token = $('meta[name="csrf-token"]').attr('content');
1159
+ var param = $('meta[name="csrf-param"]').attr('content');
1160
+ var input = qq.toElement('<input type="hidden" />');
1161
+
1162
+ input.setAttribute('name', param);
1163
+ input.setAttribute('value', token);
1164
+
1165
+ form.appendChild(input);
1166
+ document.body.appendChild(form);
1167
+
1168
+ return form;
1169
+ }
1170
+ });
1171
+
1172
+ /**
1173
+ * Class for uploading files using xhr
1174
+ * @inherits qq.UploadHandlerAbstract
1175
+ */
1176
+ qq.UploadHandlerXhr = function(o){
1177
+ qq.UploadHandlerAbstract.apply(this, arguments);
1178
+
1179
+ this._files = [];
1180
+ this._xhrs = [];
1181
+
1182
+ // current loaded size in bytes for each file
1183
+ this._loaded = [];
1184
+ };
1185
+
1186
+ // static method
1187
+ qq.UploadHandlerXhr.isSupported = function(){
1188
+ var input = document.createElement('input');
1189
+ input.type = 'file';
1190
+
1191
+ return (
1192
+ 'multiple' in input &&
1193
+ typeof File != "undefined" &&
1194
+ typeof (new XMLHttpRequest()).upload != "undefined" );
1195
+ };
1196
+
1197
+ // @inherits qq.UploadHandlerAbstract
1198
+ qq.extend(qq.UploadHandlerXhr.prototype, qq.UploadHandlerAbstract.prototype)
1199
+
1200
+ qq.extend(qq.UploadHandlerXhr.prototype, {
1201
+ /**
1202
+ * Adds file to the queue
1203
+ * Returns id to use with upload, cancel
1204
+ **/
1205
+ add: function(file){
1206
+ if (!(file instanceof File)){
1207
+ throw new Error('Passed obj in not a File (in qq.UploadHandlerXhr)');
1208
+ }
1209
+
1210
+ return this._files.push(file) - 1;
1211
+ },
1212
+ getName: function(id){
1213
+ var file = this._files[id];
1214
+ // fix missing name in Safari 4
1215
+ return file.fileName != null ? file.fileName : file.name;
1216
+ },
1217
+ getSize: function(id){
1218
+ var file = this._files[id];
1219
+ return file.fileSize != null ? file.fileSize : file.size;
1220
+ },
1221
+ /**
1222
+ * Returns uploaded bytes for file identified by id
1223
+ */
1224
+ getLoaded: function(id){
1225
+ return this._loaded[id] || 0;
1226
+ },
1227
+ /**
1228
+ * Sends the file identified by id and additional query params to the server
1229
+ * @param {Object} params name-value string pairs
1230
+ */
1231
+ _upload: function(id, params){
1232
+ var file = this._files[id],
1233
+ name = this.getName(id),
1234
+ size = this.getSize(id);
1235
+
1236
+ this._loaded[id] = 0;
1237
+
1238
+ var xhr = this._xhrs[id] = new XMLHttpRequest();
1239
+ var self = this;
1240
+
1241
+ xhr.upload.onprogress = function(e){
1242
+ if (e.lengthComputable){
1243
+ self._loaded[id] = e.loaded;
1244
+ self._options.onProgress(id, name, e.loaded, e.total);
1245
+ }
1246
+ };
1247
+
1248
+ xhr.onreadystatechange = function(){
1249
+ if (xhr.readyState == 4){
1250
+ self._onComplete(id, xhr);
1251
+ }
1252
+ };
1253
+
1254
+ // build query string
1255
+ params = params || {};
1256
+ params[this._options.fieldName] = name;
1257
+ var queryString = qq.obj2url(params, this._options.action);
1258
+
1259
+ xhr.open(this._options.method, queryString, true);
1260
+ xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
1261
+ xhr.setRequestHeader("X-File-Name", encodeURIComponent(name));
1262
+ xhr.setRequestHeader('X-File-Size', size);
1263
+ xhr.setRequestHeader('X-File-Type', file.type);
1264
+ xhr.setRequestHeader("Content-Type", "application/octet-stream");
1265
+
1266
+ // Rails CSRFProtection
1267
+ if ($.rails) $.rails.CSRFProtection(xhr);
1268
+
1269
+ xhr.send(file);
1270
+ },
1271
+ _onComplete: function(id, xhr){
1272
+ // the request was aborted/cancelled
1273
+ if (!this._files[id]) return;
1274
+
1275
+ var name = this.getName(id);
1276
+ var size = this.getSize(id);
1277
+
1278
+ this._options.onProgress(id, name, size, size);
1279
+
1280
+ if ([200, 201].indexOf( xhr.status ) > -1){
1281
+ this.log("xhr - server response received");
1282
+ this.log("responseText = " + xhr.responseText);
1283
+
1284
+ var response;
1285
+
1286
+ try {
1287
+ response = eval("(" + xhr.responseText + ")");
1288
+ } catch(err){
1289
+ response = {};
1290
+ }
1291
+
1292
+ this._options.onComplete(id, name, response);
1293
+
1294
+ } else {
1295
+ this._options.onComplete(id, name, {});
1296
+ }
1297
+
1298
+ this._files[id] = null;
1299
+ this._xhrs[id] = null;
1300
+ this._dequeue(id);
1301
+ },
1302
+ _cancel: function(id){
1303
+ this._options.onCancel(id, this.getName(id));
1304
+
1305
+ this._files[id] = null;
1306
+
1307
+ if (this._xhrs[id]){
1308
+ this._xhrs[id].abort();
1309
+ this._xhrs[id] = null;
1310
+ }
1311
+ }
1312
+ });
1313
+ /**
1314
+ * Author: Sergey Kukunin
1315
+ * See: https://github.com/Kukunin/jquery-endless-scroll
1316
+ */
1317
+
1318
+ (function($) {
1319
+ 'use strict';
1320
+
1321
+ // Is pushState supported by this browser?
1322
+ $.support.pushState =
1323
+ window.history && window.history.pushState && window.history.replaceState &&
1324
+ // pushState isn't reliable on iOS until 5.
1325
+ !navigator.userAgent.match(/((iPod|iPhone|iPad).+\bOS\s+[1-4]|WebApps\/.+CFNetwork)/)
1326
+
1327
+ //Declaration of modules
1328
+ var scrollModule = {
1329
+ init: function(options, obj) {
1330
+ obj.options = $.extend({
1331
+ scrollContainer: window,
1332
+ scrollPadding: 100,
1333
+ scrollEventDelay: 300
1334
+ }, options);
1335
+ this.options = obj.options;
1336
+ this.container = obj.container;
1337
+ obj.scrollModule = this;
1338
+
1339
+ this._toplock = true;
1340
+ this._bottomlock = true;
1341
+
1342
+ this.scrollContainer = $(this.options.scrollContainer);
1343
+
1344
+ this.updateEntities();
1345
+ this.sortMarkers();
1346
+
1347
+ this.currentPage = null;
1348
+
1349
+ this.container.on("jes:afterPageLoad", $.proxy(function(event, url, placement) {
1350
+ this.updateEntities();
1351
+ this.sortMarkers();
1352
+ this.checkMarker();
1353
+
1354
+ if ( placement == "top" ) {
1355
+ //Get offset between first and second pages
1356
+ var offset = this.markers[1].top,
1357
+ scrollTop = this.scrollContainer.scrollTop();
1358
+
1359
+ this.scrollContainer.scrollTop(scrollTop + offset);
1360
+ }
1361
+ }, this));
1362
+
1363
+ this.bind();
1364
+ },
1365
+ updateEntities: function() {
1366
+ this.entities = $(this.options.entity, this.container);
1367
+ },
1368
+ sortMarkers: function() {
1369
+ var markers = [];
1370
+ $(".jes-marker", this.container).each(function() {
1371
+ markers.push({ top: $(this).position().top, url: $(this).data("jesUrl") });
1372
+ });
1373
+ this.markers = markers;
1374
+ },
1375
+ //Check, whether user scrolled to another page
1376
+ checkMarker: function() {
1377
+ var newPage = this.markers[0],
1378
+ scrollTop = this.scrollContainer.scrollTop();
1379
+
1380
+ //Determine, what is current page
1381
+ for ( var i = 1; i < this.markers.length; i++ ) {
1382
+ if ( scrollTop > this.markers[i].top ) {
1383
+ newPage = this.markers[i];
1384
+ } else {
1385
+ break;
1386
+ }
1387
+ }
1388
+ if ( newPage.url != this.currentPage ) {
1389
+ this.currentPage = newPage.url;
1390
+ $(this.container).trigger("jes:scrollToPage", newPage.url);
1391
+ }
1392
+ },
1393
+ bind: function() {
1394
+ this.scrollContainer.on("scroll.jes", $.proxy(function(event) {
1395
+ if ( this._tId ) { return; }
1396
+
1397
+ this.scrollHandler(event);
1398
+ //Clean up mark
1399
+ this._tId= setTimeout($.proxy(function(){
1400
+ this._tId = null;
1401
+ },this), this.options.scrollEventDelay);
1402
+
1403
+ }, this));
1404
+ },
1405
+ unbind: function() {
1406
+ $(this.options.scrollContainer).off("scroll.jes");
1407
+ },
1408
+ scrollHandler: function(ev) {
1409
+ var $scrollable = this.scrollContainer,
1410
+ $entities = this.entities,
1411
+ $firstEntity = $entities.first(),
1412
+ $lastEntity = $entities.last();
1413
+
1414
+ var scrollTop = $scrollable.scrollTop(),
1415
+ height = $scrollable.height(),
1416
+ scrollBottom = scrollTop + height;
1417
+
1418
+ var topEntityPosition = $firstEntity.position().top,
1419
+ topTarget = topEntityPosition + this.options.scrollPadding,
1420
+ bottomEntityPosition = $lastEntity.outerHeight() + $lastEntity.position().top,
1421
+ bottomTarget = bottomEntityPosition - this.options.scrollPadding;
1422
+
1423
+ //Don't trigger event again, if already fired
1424
+ //Visitor have to leave the area and get back to fire event again
1425
+ //Process top threshold
1426
+ if ( scrollTop < topTarget ) {
1427
+ if ( !this._toplock ) {
1428
+ $(this.container).trigger("jes:topThreshold");
1429
+ this._toplock = true;
1430
+ }
1431
+ } else {
1432
+ this._toplock = false;
1433
+ }
1434
+
1435
+ //Process bottom threshold
1436
+ if ( scrollBottom > bottomTarget ) {
1437
+ if ( !this._bottomlock ) {
1438
+ $(this.container).trigger("jes:bottomThreshold");
1439
+ this._bottomlock = true;
1440
+ }
1441
+ } else {
1442
+ this._bottomlock = false;
1443
+ }
1444
+
1445
+ this.checkMarker();
1446
+ }
1447
+ }
1448
+
1449
+ var ajaxModule = {
1450
+ init: function(options, obj) {
1451
+ obj.options = $.extend({
1452
+ }, options);
1453
+
1454
+ this.options = obj.options;
1455
+ this.container = obj.container;
1456
+
1457
+ //markers
1458
+ this.setMarker($(this.options.entity, this.container).first(), location.href);
1459
+
1460
+ obj.ajaxModule = this;
1461
+ },
1462
+ loadPage: function(url, placement, callback) {
1463
+ //The hash with methods list
1464
+ //depends from placement
1465
+ var actions = {
1466
+ top: {
1467
+ find: 'first',
1468
+ inject: 'insertBefore'
1469
+ },
1470
+ bottom: {
1471
+ find: 'last',
1472
+ inject: 'insertAfter'
1473
+ }
1474
+ },
1475
+ action = actions[placement];
1476
+
1477
+ this.container.trigger("jes:beforePageLoad", [url, placement]);
1478
+
1479
+ //Make AJAX query
1480
+ $.get(url, null, $.proxy(function (_data) {
1481
+ var data = $("<div>").html(_data),
1482
+ containerSelector = this.options.container,
1483
+ container = $(containerSelector, data).first();
1484
+
1485
+ if ( container.length ) {
1486
+ //Find entities
1487
+ var entities = container.find(this.options.entity);
1488
+
1489
+ if ( placement == "bottom" ) {
1490
+ //Remove duplicated (staled) entities from page
1491
+ entities.each(function(i) {
1492
+ var id = $(this).attr("id");
1493
+ if ( id ) {
1494
+ $('#' + id, this.container).remove();
1495
+ }
1496
+ });
1497
+ }
1498
+
1499
+ //Find the cursor
1500
+ var cursor = $(this.options.entity, containerSelector)[action.find]();
1501
+
1502
+ //Find and insert entities
1503
+ entities[action.inject](cursor);
1504
+ this.setMarker(entities.first(), url);
1505
+ }
1506
+
1507
+ if ( $.isFunction(callback) ) {
1508
+ callback(data);
1509
+ }
1510
+ this.container.trigger("jes:afterPageLoad", [url, placement, data, entities]);
1511
+ }, this), 'html');
1512
+ },
1513
+ setMarker: function(entity, url) {
1514
+ entity.addClass("jes-marker").data("jesUrl", url);
1515
+ }
1516
+ }
1517
+
1518
+ var navigationModule = {
1519
+ init: function(options, obj) {
1520
+ obj.options = $.extend({
1521
+ nextPage: ".pagination a[rel=next]",
1522
+ previousPage: ".pagination a[rel=previous]"
1523
+ }, options);
1524
+
1525
+ this.options = obj.options;
1526
+ this.container = obj.container;
1527
+
1528
+ $.each([{
1529
+ selector: this.options.nextPage,
1530
+ event: "jes:bottomThreshold.navigation",
1531
+ placement: 'bottom'
1532
+ }, {
1533
+ selector: this.options.previousPage,
1534
+ event: "jes:topThreshold.navigation",
1535
+ placement: 'top'
1536
+ }], $.proxy(function(i, v) {
1537
+ v.element = $(v.selector);
1538
+ if ( v.element.length ) {
1539
+ var url = v.element.prop("href"),
1540
+ lock = false;
1541
+
1542
+ var handler = function() {
1543
+ //this object is container
1544
+ if ( lock || !url ) return;
1545
+
1546
+ lock = true;
1547
+ obj.ajaxModule.loadPage(url, v.placement, $.proxy(function( data ) {
1548
+ //Search new next link
1549
+ var newElement = $(v.selector, $(data));
1550
+ if ( newElement.length ) {
1551
+ //Update URL and remove lock
1552
+ lock = false;
1553
+ url = newElement.prop("href");
1554
+ v.element.attr("href", url);
1555
+ } else {
1556
+ //Remove event at all
1557
+ $(this).off(v.event);
1558
+ v.element.remove();
1559
+ }
1560
+ }, this));
1561
+ };
1562
+
1563
+ $(this.container).on(v.event, handler);
1564
+ $(v.element).on("click", $.proxy(function(ev) {
1565
+ ev.preventDefault();
1566
+ handler.apply(this.container)
1567
+ }, this));
1568
+ }
1569
+ },this));
1570
+ }
1571
+ }
1572
+
1573
+ var pushStateHistory = {
1574
+ init: function(options, obj) {
1575
+ if ( !$.support.pushState ) {
1576
+ return;
1577
+ }
1578
+
1579
+ obj.container.on("jes:scrollToPage", function(event, url) {
1580
+ history.replaceState({}, null, url);
1581
+ });
1582
+ }
1583
+ }
1584
+
1585
+ $.endlessScroll = function(options) {
1586
+
1587
+ //Initialize modules
1588
+ this.options = $.extend(true, {
1589
+ container: "#container",
1590
+ entity: ".entity",
1591
+ _modules: [ ajaxModule, scrollModule, navigationModule, pushStateHistory ],
1592
+ modules: []
1593
+ }, options);
1594
+
1595
+ this.container = $(this.options.container);
1596
+ if ( !this.container.length ) {
1597
+ throw "Container for endless scroll isn't available on the page";
1598
+ return;
1599
+ }
1600
+
1601
+
1602
+ //Merge custom options with default
1603
+ $.merge(this.options.modules, this.options._modules);
1604
+ //Init modules
1605
+ this.options.modules.forEach($.proxy(function(module) {
1606
+ module.init(this.options, this);
1607
+ },this));
1608
+
1609
+
1610
+ return this;
1611
+ }
1612
+
1613
+ })(jQuery);
1614
+ (function($, undefined) {
1615
+
1616
+ /**
1617
+ * Unobtrusive scripting adapter for jQuery
1618
+ *
1619
+ * Requires jQuery 1.6.0 or later.
1620
+ * https://github.com/rails/jquery-ujs
1621
+
1622
+ * Uploading file using rails.js
1623
+ * =============================
1624
+ *
1625
+ * By default, browsers do not allow files to be uploaded via AJAX. As a result, if there are any non-blank file fields
1626
+ * in the remote form, this adapter aborts the AJAX submission and allows the form to submit through standard means.
1627
+ *
1628
+ * The `ajax:aborted:file` event allows you to bind your own handler to process the form submission however you wish.
1629
+ *
1630
+ * Ex:
1631
+ * $('form').live('ajax:aborted:file', function(event, elements){
1632
+ * // Implement own remote file-transfer handler here for non-blank file inputs passed in `elements`.
1633
+ * // Returning false in this handler tells rails.js to disallow standard form submission
1634
+ * return false;
1635
+ * });
1636
+ *
1637
+ * The `ajax:aborted:file` event is fired when a file-type input is detected with a non-blank value.
1638
+ *
1639
+ * Third-party tools can use this hook to detect when an AJAX file upload is attempted, and then use
1640
+ * techniques like the iframe method to upload the file instead.
1641
+ *
1642
+ * Required fields in rails.js
1643
+ * ===========================
1644
+ *
1645
+ * If any blank required inputs (required="required") are detected in the remote form, the whole form submission
1646
+ * is canceled. Note that this is unlike file inputs, which still allow standard (non-AJAX) form submission.
1647
+ *
1648
+ * The `ajax:aborted:required` event allows you to bind your own handler to inform the user of blank required inputs.
1649
+ *
1650
+ * !! Note that Opera does not fire the form's submit event if there are blank required inputs, so this event may never
1651
+ * get fired in Opera. This event is what causes other browsers to exhibit the same submit-aborting behavior.
1652
+ *
1653
+ * Ex:
1654
+ * $('form').live('ajax:aborted:required', function(event, elements){
1655
+ * // Returning false in this handler tells rails.js to submit the form anyway.
1656
+ * // The blank required inputs are passed to this function in `elements`.
1657
+ * return ! confirm("Would you like to submit the form with missing info?");
1658
+ * });
1659
+ */
1660
+
1661
+ // Shorthand to make it a little easier to call public rails functions from within rails.js
1662
+ var rails;
1663
+
1664
+ $.rails = rails = {
1665
+ // Link elements bound by jquery-ujs
1666
+ linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote], a[data-disable-with]',
1667
+
1668
+ // Select elements bound by jquery-ujs
1669
+ inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',
1670
+
1671
+ // Form elements bound by jquery-ujs
1672
+ formSubmitSelector: 'form',
1673
+
1674
+ // Form input elements bound by jquery-ujs
1675
+ formInputClickSelector: 'form input[type=submit], form input[type=image], form button[type=submit], form button:not(button[type])',
1676
+
1677
+ // Form input elements disabled during form submission
1678
+ disableSelector: 'input[data-disable-with], button[data-disable-with], textarea[data-disable-with]',
1679
+
1680
+ // Form input elements re-enabled after form submission
1681
+ enableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled',
1682
+
1683
+ // Form required input elements
1684
+ requiredInputSelector: 'input[name][required]:not([disabled]),textarea[name][required]:not([disabled])',
1685
+
1686
+ // Form file input elements
1687
+ fileInputSelector: 'input:file',
1688
+
1689
+ // Link onClick disable selector with possible reenable after remote submission
1690
+ linkDisableSelector: 'a[data-disable-with]',
1691
+
1692
+ // Make sure that every Ajax request sends the CSRF token
1693
+ CSRFProtection: function(xhr) {
1694
+ var token = $('meta[name="csrf-token"]').attr('content');
1695
+ if (token) xhr.setRequestHeader('X-CSRF-Token', token);
1696
+ },
1697
+
1698
+ // Triggers an event on an element and returns false if the event result is false
1699
+ fire: function(obj, name, data) {
1700
+ var event = $.Event(name);
1701
+ obj.trigger(event, data);
1702
+ return event.result !== false;
1703
+ },
1704
+
1705
+ // Default confirm dialog, may be overridden with custom confirm dialog in $.rails.confirm
1706
+ confirm: function(message) {
1707
+ return confirm(message);
1708
+ },
1709
+
1710
+ // Default ajax function, may be overridden with custom function in $.rails.ajax
1711
+ ajax: function(options) {
1712
+ return $.ajax(options);
1713
+ },
1714
+
1715
+ // Submits "remote" forms and links with ajax
1716
+ handleRemote: function(element) {
1717
+ var method, url, data,
1718
+ crossDomain = element.data('cross-domain') || null,
1719
+ dataType = element.data('type') || ($.ajaxSettings && $.ajaxSettings.dataType),
1720
+ options;
1721
+
1722
+ if (rails.fire(element, 'ajax:before')) {
1723
+
1724
+ if (element.is('form')) {
1725
+ method = element.attr('method');
1726
+ url = element.attr('action');
1727
+ data = element.serializeArray();
1728
+ // memoized value from clicked submit button
1729
+ var button = element.data('ujs:submit-button');
1730
+ if (button) {
1731
+ data.push(button);
1732
+ element.data('ujs:submit-button', null);
1733
+ }
1734
+ } else if (element.is(rails.inputChangeSelector)) {
1735
+ method = element.data('method');
1736
+ url = element.data('url');
1737
+ data = element.serialize();
1738
+ if (element.data('params')) data = data + "&" + element.data('params');
1739
+ } else {
1740
+ method = element.data('method');
1741
+ url = element.attr('href');
1742
+ data = element.data('params') || null;
1743
+ }
1744
+
1745
+ options = {
1746
+ type: method || 'GET', data: data, dataType: dataType, crossDomain: crossDomain,
1747
+ // stopping the "ajax:beforeSend" event will cancel the ajax request
1748
+ beforeSend: function(xhr, settings) {
1749
+ if (settings.dataType === undefined) {
1750
+ xhr.setRequestHeader('accept', '*/*;q=0.5, ' + settings.accepts.script);
1751
+ }
1752
+ return rails.fire(element, 'ajax:beforeSend', [xhr, settings]);
1753
+ },
1754
+ success: function(data, status, xhr) {
1755
+ element.trigger('ajax:success', [data, status, xhr]);
1756
+ },
1757
+ complete: function(xhr, status) {
1758
+ element.trigger('ajax:complete', [xhr, status]);
1759
+ },
1760
+ error: function(xhr, status, error) {
1761
+ element.trigger('ajax:error', [xhr, status, error]);
1762
+ }
1763
+ };
1764
+ // Only pass url to `ajax` options if not blank
1765
+ if (url) { options.url = url; }
1766
+
1767
+ return rails.ajax(options);
1768
+ } else {
1769
+ return false;
1770
+ }
1771
+ },
1772
+
1773
+ // Handles "data-method" on links such as:
1774
+ // <a href="/users/5" data-method="delete" rel="nofollow" data-confirm="Are you sure?">Delete</a>
1775
+ handleMethod: function(link) {
1776
+ var href = link.attr('href'),
1777
+ method = link.data('method'),
1778
+ target = link.attr('target'),
1779
+ csrf_token = $('meta[name=csrf-token]').attr('content'),
1780
+ csrf_param = $('meta[name=csrf-param]').attr('content'),
1781
+ form = $('<form method="post" action="' + href + '"></form>'),
1782
+ metadata_input = '<input name="_method" value="' + method + '" type="hidden" />';
1783
+
1784
+ if (csrf_param !== undefined && csrf_token !== undefined) {
1785
+ metadata_input += '<input name="' + csrf_param + '" value="' + csrf_token + '" type="hidden" />';
1786
+ }
1787
+
1788
+ if (target) { form.attr('target', target); }
1789
+
1790
+ form.hide().append(metadata_input).appendTo('body');
1791
+ form.submit();
1792
+ },
1793
+
1794
+ /* Disables form elements:
1795
+ - Caches element value in 'ujs:enable-with' data store
1796
+ - Replaces element text with value of 'data-disable-with' attribute
1797
+ - Sets disabled property to true
1798
+ */
1799
+ disableFormElements: function(form) {
1800
+ form.find(rails.disableSelector).each(function() {
1801
+ var element = $(this), method = element.is('button') ? 'html' : 'val';
1802
+ element.data('ujs:enable-with', element[method]());
1803
+ element[method](element.data('disable-with'));
1804
+ element.prop('disabled', true);
1805
+ });
1806
+ },
1807
+
1808
+ /* Re-enables disabled form elements:
1809
+ - Replaces element text with cached value from 'ujs:enable-with' data store (created in `disableFormElements`)
1810
+ - Sets disabled property to false
1811
+ */
1812
+ enableFormElements: function(form) {
1813
+ form.find(rails.enableSelector).each(function() {
1814
+ var element = $(this), method = element.is('button') ? 'html' : 'val';
1815
+ if (element.data('ujs:enable-with')) element[method](element.data('ujs:enable-with'));
1816
+ element.prop('disabled', false);
1817
+ });
1818
+ },
1819
+
1820
+ /* For 'data-confirm' attribute:
1821
+ - Fires `confirm` event
1822
+ - Shows the confirmation dialog
1823
+ - Fires the `confirm:complete` event
1824
+
1825
+ Returns `true` if no function stops the chain and user chose yes; `false` otherwise.
1826
+ Attaching a handler to the element's `confirm` event that returns a `falsy` value cancels the confirmation dialog.
1827
+ Attaching a handler to the element's `confirm:complete` event that returns a `falsy` value makes this function
1828
+ return false. The `confirm:complete` event is fired whether or not the user answered true or false to the dialog.
1829
+ */
1830
+ allowAction: function(element) {
1831
+ var message = element.data('confirm'),
1832
+ answer = false, callback;
1833
+ if (!message) { return true; }
1834
+
1835
+ if (rails.fire(element, 'confirm')) {
1836
+ answer = rails.confirm(message);
1837
+ callback = rails.fire(element, 'confirm:complete', [answer]);
1838
+ }
1839
+ return answer && callback;
1840
+ },
1841
+
1842
+ // Helper function which checks for blank inputs in a form that match the specified CSS selector
1843
+ blankInputs: function(form, specifiedSelector, nonBlank) {
1844
+ var inputs = $(), input,
1845
+ selector = specifiedSelector || 'input,textarea';
1846
+ form.find(selector).each(function() {
1847
+ input = $(this);
1848
+ // Collect non-blank inputs if nonBlank option is true, otherwise, collect blank inputs
1849
+ if (nonBlank ? input.val() : !input.val()) {
1850
+ inputs = inputs.add(input);
1851
+ }
1852
+ });
1853
+ return inputs.length ? inputs : false;
1854
+ },
1855
+
1856
+ // Helper function which checks for non-blank inputs in a form that match the specified CSS selector
1857
+ nonBlankInputs: function(form, specifiedSelector) {
1858
+ return rails.blankInputs(form, specifiedSelector, true); // true specifies nonBlank
1859
+ },
1860
+
1861
+ // Helper function, needed to provide consistent behavior in IE
1862
+ stopEverything: function(e) {
1863
+ $(e.target).trigger('ujs:everythingStopped');
1864
+ e.stopImmediatePropagation();
1865
+ return false;
1866
+ },
1867
+
1868
+ // find all the submit events directly bound to the form and
1869
+ // manually invoke them. If anyone returns false then stop the loop
1870
+ callFormSubmitBindings: function(form, event) {
1871
+ var events = form.data('events'), continuePropagation = true;
1872
+ if (events !== undefined && events['submit'] !== undefined) {
1873
+ $.each(events['submit'], function(i, obj){
1874
+ if (typeof obj.handler === 'function') return continuePropagation = obj.handler(event);
1875
+ });
1876
+ }
1877
+ return continuePropagation;
1878
+ },
1879
+
1880
+ // replace element's html with the 'data-disable-with' after storing original html
1881
+ // and prevent clicking on it
1882
+ disableElement: function(element) {
1883
+ element.data('ujs:enable-with', element.html()); // store enabled state
1884
+ element.html(element.data('disable-with')); // set to disabled state
1885
+ element.bind('click.railsDisable', function(e) { // prevent further clicking
1886
+ return rails.stopEverything(e)
1887
+ });
1888
+ },
1889
+
1890
+ // restore element to its original state which was disabled by 'disableElement' above
1891
+ enableElement: function(element) {
1892
+ if (element.data('ujs:enable-with') !== undefined) {
1893
+ element.html(element.data('ujs:enable-with')); // set to old enabled state
1894
+ // this should be element.removeData('ujs:enable-with')
1895
+ // but, there is currently a bug in jquery which makes hyphenated data attributes not get removed
1896
+ element.data('ujs:enable-with', false); // clean up cache
1897
+ }
1898
+ element.unbind('click.railsDisable'); // enable element
1899
+ }
1900
+
1901
+ };
1902
+
1903
+ $.ajaxPrefilter(function(options, originalOptions, xhr){ if ( !options.crossDomain ) { rails.CSRFProtection(xhr); }});
1904
+
1905
+ $(document).delegate(rails.linkDisableSelector, 'ajax:complete', function() {
1906
+ rails.enableElement($(this));
1907
+ });
1908
+
1909
+ $(document).delegate(rails.linkClickSelector, 'click.rails', function(e) {
1910
+ var link = $(this), method = link.data('method'), data = link.data('params');
1911
+ if (!rails.allowAction(link)) return rails.stopEverything(e);
1912
+
1913
+ if (link.is(rails.linkDisableSelector)) rails.disableElement(link);
1914
+
1915
+ if (link.data('remote') !== undefined) {
1916
+ if ( (e.metaKey || e.ctrlKey) && (!method || method === 'GET') && !data ) { return true; }
1917
+
1918
+ if (rails.handleRemote(link) === false) { rails.enableElement(link); }
1919
+ return false;
1920
+
1921
+ } else if (link.data('method')) {
1922
+ rails.handleMethod(link);
1923
+ return false;
1924
+ }
1925
+ });
1926
+
1927
+ $(document).delegate(rails.inputChangeSelector, 'change.rails', function(e) {
1928
+ var link = $(this);
1929
+ if (!rails.allowAction(link)) return rails.stopEverything(e);
1930
+
1931
+ rails.handleRemote(link);
1932
+ return false;
1933
+ });
1934
+
1935
+ $(document).delegate(rails.formSubmitSelector, 'submit.rails', function(e) {
1936
+ var form = $(this),
1937
+ remote = form.data('remote') !== undefined,
1938
+ blankRequiredInputs = rails.blankInputs(form, rails.requiredInputSelector),
1939
+ nonBlankFileInputs = rails.nonBlankInputs(form, rails.fileInputSelector);
1940
+
1941
+ if (!rails.allowAction(form)) return rails.stopEverything(e);
1942
+
1943
+ // skip other logic when required values are missing or file upload is present
1944
+ if (blankRequiredInputs && form.attr("novalidate") == undefined && rails.fire(form, 'ajax:aborted:required', [blankRequiredInputs])) {
1945
+ return rails.stopEverything(e);
1946
+ }
1947
+
1948
+ if (remote) {
1949
+ if (nonBlankFileInputs) {
1950
+ return rails.fire(form, 'ajax:aborted:file', [nonBlankFileInputs]);
1951
+ }
1952
+
1953
+ // If browser does not support submit bubbling, then this live-binding will be called before direct
1954
+ // bindings. Therefore, we should directly call any direct bindings before remotely submitting form.
1955
+ if (!$.support.submitBubbles && $().jquery < '1.7' && rails.callFormSubmitBindings(form, e) === false) return rails.stopEverything(e);
1956
+
1957
+ rails.handleRemote(form);
1958
+ return false;
1959
+
1960
+ } else {
1961
+ // slight timeout so that the submit button gets properly serialized
1962
+ setTimeout(function(){ rails.disableFormElements(form); }, 13);
1963
+ }
1964
+ });
1965
+
1966
+ $(document).delegate(rails.formInputClickSelector, 'click.rails', function(event) {
1967
+ var button = $(this);
1968
+
1969
+ if (!rails.allowAction(button)) return rails.stopEverything(event);
1970
+
1971
+ // register the pressed submit button
1972
+ var name = button.attr('name'),
1973
+ data = name ? {name:name, value:button.val()} : null;
1974
+
1975
+ button.closest('form').data('ujs:submit-button', data);
1976
+ });
1977
+
1978
+ $(document).delegate(rails.formSubmitSelector, 'ajax:beforeSend.rails', function(event) {
1979
+ if (this == event.target) rails.disableFormElements($(this));
1980
+ });
1981
+
1982
+ $(document).delegate(rails.formSubmitSelector, 'ajax:complete.rails', function(event) {
1983
+ if (this == event.target) rails.enableFormElements($(this));
1984
+ });
1985
+
1986
+ })( jQuery );
1987
+ $.QueryString = (function(a) {
1988
+ if (a == "") return {};
1989
+ var b = {};
1990
+ for (var i = 0; i < a.length; ++i)
1991
+ {
1992
+ var p=a[i].split('=');
1993
+ if (p.length != 2) continue;
1994
+ b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
1995
+ }
1996
+ return b;
1997
+ })(window.location.search.substr(1).split('&'))
1998
+
1999
+ $(document).ready(function(){
2000
+ var selector = "div.gal-item div.gal-inner-holder";
2001
+
2002
+ $(document)
2003
+ .on('mouseover', selector, function(e){
2004
+ $(this).addClass('hover');
2005
+ })
2006
+ .on('mouseout', selector, function(e){
2007
+ $(this).removeClass('hover');
2008
+ })
2009
+ .on('click', selector, function(e){
2010
+ var url = $(this).parents('div.gal-item').data('url');
2011
+ CKEDITOR.tools.callFunction(CKEditorFuncNum, url);
2012
+ window.close();
2013
+ });
2014
+
2015
+ $(document).on('ajax:complete', "div.gal-item a.gal-del", function(xhr, status){
2016
+ $(this).parents('div.gal-item').remove();
2017
+ });
2018
+
2019
+ var endlessScroll = $.endlessScroll({
2020
+ container: ".fileupload-list",
2021
+ entity: ".gal-item",
2022
+ scrollPadding: 100
2023
+ });
2024
+
2025
+ // Don't listen events first second
2026
+ endlessScroll.scrollModule.unbind();
2027
+ window.setTimeout(function() { endlessScroll.scrollModule.bind();}, 1000);
2028
+ });
2029
+
2030
+ // Collection of all instances on page
2031
+ qq.FileUploader.instances = new Object();
2032
+
2033
+ /**
2034
+ * Class that creates upload widget with drag-and-drop and file list
2035
+ * @inherits qq.FileUploaderBasic
2036
+ */
2037
+ qq.FileUploaderInput = function(o){
2038
+ // call parent constructor
2039
+ qq.FileUploaderBasic.apply(this, arguments);
2040
+
2041
+ // additional options
2042
+ qq.extend(this._options, {
2043
+ element: null,
2044
+ // if set, will be used instead of qq-upload-list in template
2045
+ listElement: null,
2046
+
2047
+ template_id: '#fileupload_tmpl',
2048
+
2049
+ classes: {
2050
+ // used to get elements from templates
2051
+ button: 'fileupload-button',
2052
+ drop: 'fileupload-drop-area',
2053
+ dropActive: 'fileupload-drop-area-active',
2054
+ list: 'fileupload-list',
2055
+ preview: 'fileupload-preview',
2056
+
2057
+ file: 'fileupload-file',
2058
+ spinner: 'fileupload-spinner',
2059
+ size: 'fileupload-size',
2060
+ cancel: 'fileupload-cancel',
2061
+
2062
+ // added to list item when upload completes
2063
+ // used in css to hide progress spinner
2064
+ success: 'fileupload-success',
2065
+ fail: 'fileupload-fail'
2066
+ }
2067
+ });
2068
+ // overwrite options with user supplied
2069
+ qq.extend(this._options, o);
2070
+
2071
+ this._element = document.getElementById(this._options.element);
2072
+ this._listElement = this._options.listElement || this._find(this._element, 'list');
2073
+
2074
+ this._classes = this._options.classes;
2075
+
2076
+ this._button = this._createUploadButton(this._find(this._element, 'button'));
2077
+
2078
+ //this._setupDragDrop();
2079
+
2080
+ qq.FileUploader.instances[this._element.id] = this;
2081
+ };
2082
+
2083
+ // inherit from Basic Uploader
2084
+ qq.extend(qq.FileUploaderInput.prototype, qq.FileUploaderBasic.prototype);
2085
+
2086
+ qq.extend(qq.FileUploaderInput.prototype, {
2087
+ /**
2088
+ * Gets one of the elements listed in this._options.classes
2089
+ **/
2090
+ _find: function(parent, type){
2091
+ var element = qq.getByClass(parent, this._options.classes[type])[0];
2092
+ if (!element){
2093
+ alert(type);
2094
+ throw new Error('element not found ' + type);
2095
+ }
2096
+
2097
+ return element;
2098
+ },
2099
+ _setupDragDrop: function(){
2100
+ var self = this,
2101
+ dropArea = this._find(this._element, 'drop');
2102
+
2103
+ var dz = new qq.UploadDropZone({
2104
+ element: dropArea,
2105
+ onEnter: function(e){
2106
+ qq.addClass(dropArea, self._classes.dropActive);
2107
+ e.stopPropagation();
2108
+ },
2109
+ onLeave: function(e){
2110
+ e.stopPropagation();
2111
+ },
2112
+ onLeaveNotDescendants: function(e){
2113
+ qq.removeClass(dropArea, self._classes.dropActive);
2114
+ },
2115
+ onDrop: function(e){
2116
+ dropArea.style.display = 'none';
2117
+ qq.removeClass(dropArea, self._classes.dropActive);
2118
+ self._uploadFileList(e.dataTransfer.files);
2119
+ }
2120
+ });
2121
+
2122
+ dropArea.style.display = 'none';
2123
+
2124
+ qq.attach(document, 'dragenter', function(e){
2125
+ if (!dz._isValidFileDrag(e)) return;
2126
+
2127
+ dropArea.style.display = 'block';
2128
+ });
2129
+ qq.attach(document, 'dragleave', function(e){
2130
+ if (!dz._isValidFileDrag(e)) return;
2131
+
2132
+ var relatedTarget = document.elementFromPoint(e.clientX, e.clientY);
2133
+ // only fire when leaving document out
2134
+ if ( ! relatedTarget || relatedTarget.nodeName == "HTML"){
2135
+ dropArea.style.display = 'none';
2136
+ }
2137
+ });
2138
+ },
2139
+ _onSubmit: function(id, fileName){
2140
+ qq.FileUploaderBasic.prototype._onSubmit.apply(this, arguments);
2141
+ this._addToList(id, fileName);
2142
+ },
2143
+ _onProgress: function(id, fileName, loaded, total){
2144
+ qq.FileUploaderBasic.prototype._onProgress.apply(this, arguments);
2145
+
2146
+ var item = this._getItemByFileId(id);
2147
+ var size = this._find(item, 'size');
2148
+
2149
+ var text;
2150
+ if (loaded != total){
2151
+ text = Math.round(loaded / total * 100) + '% from ' + this._formatSize(total);
2152
+ } else {
2153
+ text = this._formatSize(total);
2154
+ }
2155
+
2156
+ qq.setText(size, text);
2157
+ },
2158
+ _onComplete: function(id, fileName, result){
2159
+ qq.FileUploaderBasic.prototype._onComplete.apply(this, arguments);
2160
+
2161
+ var item = this._getItemByFileId(id);
2162
+ var asset = result.asset ? result.asset : result;
2163
+
2164
+ if (asset && asset.id){
2165
+ qq.addClass(item, this._classes.success);
2166
+
2167
+ asset.size = this._formatSize(asset.size);
2168
+ asset.controller = (asset.type !== undefined && asset.type.toLowerCase() == "ckeditor::picture" ? "pictures" : "attachment_files");
2169
+
2170
+ $(item).replaceWith($(this._options.template_id).tmpl(asset));
2171
+ } else {
2172
+ qq.addClass(item, this._classes.fail);
2173
+ }
2174
+ },
2175
+ _addToList: function(id, fileName){
2176
+ if (this._listElement) {
2177
+ if (this._options.multiple === false) {
2178
+ $(this._listElement).empty();
2179
+ }
2180
+
2181
+ var asset = {
2182
+ id: 0,
2183
+ filename: this._formatFileName(fileName),
2184
+ size: 0,
2185
+ format_created_at: '',
2186
+ url_content: "#",
2187
+ controller: "assets",
2188
+ url_thumb: ""
2189
+ };
2190
+
2191
+ var item = $(this._options.template_id).tmpl(asset).attr('qqfileid', id)
2192
+
2193
+ item.find('div.img').html('').addClass('preloader');
2194
+ item.prependTo( this._listElement );
2195
+
2196
+ this._bindCancelEvent(item);
2197
+ }
2198
+ },
2199
+ _getItemByFileId: function(id){
2200
+ return $(this._listElement).find('div[qqfileid=' + id +']').get(0);
2201
+ },
2202
+ /**
2203
+ * delegate click event for cancel link
2204
+ **/
2205
+ _bindCancelEvent: function(element){
2206
+ var self = this,
2207
+ item = $(element);
2208
+
2209
+ item.find('a.' + this._classes.cancel).bind('click', function(e){
2210
+ self._handler.cancel( item.attr('qqfileid') );
2211
+ item.remove();
2212
+ qq.preventDefault(e);
2213
+ return false;
2214
+ });
2215
+ }
2216
+ });
2217
+
2218
+
2219
+
2220
+
2221
+