locomotive_cms 0.0.3.3 → 0.0.4.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (839) hide show
  1. data/Gemfile +47 -33
  2. data/README.textile +11 -5
  3. data/app/controllers/admin/accounts_controller.rb +6 -6
  4. data/app/controllers/admin/api_contents_controller.rb +9 -9
  5. data/app/controllers/admin/asset_collections_controller.rb +9 -9
  6. data/app/controllers/admin/assets_controller.rb +13 -13
  7. data/app/controllers/admin/base_controller.rb +21 -21
  8. data/app/controllers/admin/content_types_controller.rb +7 -3
  9. data/app/controllers/admin/contents_controller.rb +16 -16
  10. data/app/controllers/admin/cross_domain_sessions_controller.rb +34 -0
  11. data/app/controllers/admin/current_sites_controller.rb +9 -9
  12. data/app/controllers/admin/custom_fields_controller.rb +11 -11
  13. data/app/controllers/admin/images_controller.rb +51 -0
  14. data/app/controllers/admin/imports_controller.rb +51 -0
  15. data/app/controllers/admin/memberships_controller.rb +4 -4
  16. data/app/controllers/admin/my_accounts_controller.rb +9 -9
  17. data/app/controllers/admin/pages_controller.rb +23 -12
  18. data/app/controllers/admin/passwords_controller.rb +6 -6
  19. data/app/controllers/admin/rendering_controller.rb +6 -6
  20. data/app/controllers/admin/sessions_controller.rb +8 -8
  21. data/app/controllers/admin/sitemaps_controller.rb +6 -6
  22. data/app/controllers/admin/sites_controller.rb +9 -9
  23. data/app/controllers/admin/snippets_controller.rb +10 -8
  24. data/app/controllers/admin/theme_assets_controller.rb +28 -17
  25. data/app/controllers/application_controller.rb +9 -1
  26. data/app/controllers/home_controller.rb +4 -4
  27. data/app/helpers/admin/accounts_helper.rb +3 -3
  28. data/app/helpers/admin/assets_helper.rb +11 -5
  29. data/app/helpers/admin/base_helper.rb +9 -9
  30. data/app/helpers/admin/custom_fields_helper.rb +11 -11
  31. data/app/helpers/admin/login_helper.rb +7 -7
  32. data/app/helpers/admin/pages_helper.rb +22 -18
  33. data/app/helpers/admin/sites_helper.rb +5 -5
  34. data/app/models/account.rb +33 -16
  35. data/app/models/asset.rb +19 -15
  36. data/app/models/asset_collection.rb +29 -20
  37. data/app/models/content_instance.rb +34 -17
  38. data/app/models/content_type.rb +29 -22
  39. data/app/models/editable_element.rb +21 -0
  40. data/app/models/editable_file.rb +9 -0
  41. data/app/models/editable_long_text.rb +3 -0
  42. data/app/models/editable_short_text.rb +12 -0
  43. data/app/models/extensions/asset/vignette.rb +13 -11
  44. data/app/models/extensions/page/editable_elements.rb +111 -0
  45. data/app/models/extensions/page/parse.rb +107 -0
  46. data/app/models/extensions/page/render.rb +8 -14
  47. data/app/models/extensions/page/templatized.rb +16 -16
  48. data/app/models/extensions/page/tree.rb +33 -24
  49. data/app/models/membership.rb +12 -12
  50. data/app/models/page.rb +41 -39
  51. data/app/models/site.rb +46 -41
  52. data/app/models/snippet.rb +63 -2
  53. data/app/models/theme_asset.rb +103 -59
  54. data/app/uploaders/asset_uploader.rb +19 -18
  55. data/app/uploaders/editable_file_uploader.rb +11 -0
  56. data/app/uploaders/theme_asset_uploader.rb +11 -22
  57. data/app/views/admin/accounts/new.html.haml +4 -4
  58. data/app/views/admin/asset_collections/edit.html.haml +10 -10
  59. data/app/views/admin/asset_collections/index.html.haml +2 -2
  60. data/app/views/admin/asset_collections/new.html.haml +2 -2
  61. data/app/views/admin/assets/edit.html.haml +1 -1
  62. data/app/views/admin/assets/new.html.haml +2 -2
  63. data/app/views/admin/content_types/_form.html.haml +4 -4
  64. data/app/views/admin/content_types/edit.html.haml +3 -3
  65. data/app/views/admin/content_types/new.html.haml +2 -2
  66. data/app/views/admin/contents/_form.html.haml +1 -1
  67. data/app/views/admin/contents/_list.html.haml +3 -3
  68. data/app/views/admin/contents/edit.html.haml +1 -1
  69. data/app/views/admin/contents/index.html.haml +6 -6
  70. data/app/views/admin/contents/new.html.haml +3 -3
  71. data/app/views/admin/cross_domain_sessions/new.html.haml +14 -0
  72. data/app/views/admin/current_sites/_form.html.haml +9 -9
  73. data/app/views/admin/current_sites/edit.html.haml +3 -2
  74. data/app/views/admin/custom_fields/_custom_form.html.haml +4 -4
  75. data/app/views/admin/custom_fields/_edit_field.html.haml +2 -2
  76. data/app/views/admin/custom_fields/_index.html.haml +24 -24
  77. data/app/views/admin/custom_fields/edit_category.html.haml +16 -16
  78. data/app/views/admin/errors/404.html.haml +7 -0
  79. data/app/views/admin/errors/500.html.haml +7 -0
  80. data/app/views/admin/imports/new.html.haml +21 -0
  81. data/app/views/admin/imports/show.html.haml +19 -0
  82. data/app/views/admin/mailer/confirmation_instructions.html.haml +2 -2
  83. data/app/views/admin/mailer/reset_password_instructions.html.haml +4 -4
  84. data/app/views/admin/mailer/unlock_instructions.html.haml +3 -3
  85. data/app/views/admin/memberships/new.html.haml +3 -3
  86. data/app/views/admin/my_accounts/edit.html.haml +11 -10
  87. data/app/views/admin/pages/_editable_elements.html.haml +35 -0
  88. data/app/views/admin/pages/_form.html.haml +21 -26
  89. data/app/views/admin/pages/_page.html.haml +5 -5
  90. data/app/views/admin/pages/edit.html.haml +3 -3
  91. data/app/views/admin/pages/index.html.haml +2 -2
  92. data/app/views/admin/pages/new.html.haml +2 -2
  93. data/app/views/admin/passwords/edit.html.haml +4 -4
  94. data/app/views/admin/passwords/new.html.haml +6 -6
  95. data/app/views/admin/sessions/new.html.haml +2 -2
  96. data/app/views/admin/shared/_footer.html.haml +1 -1
  97. data/app/views/admin/shared/_form_actions.html.haml +2 -2
  98. data/app/views/admin/shared/_head.html.haml +3 -3
  99. data/app/views/admin/shared/_header.html.haml +9 -2
  100. data/app/views/admin/shared/menu/_contents.html.haml +3 -3
  101. data/app/views/admin/shared/menu/_settings.html.haml +1 -2
  102. data/app/views/admin/sitemaps/show.xml.builder +13 -3
  103. data/app/views/admin/sites/_form.html.haml +5 -5
  104. data/app/views/admin/sites/new.html.haml +2 -2
  105. data/app/views/admin/snippets/_form.html.haml +6 -3
  106. data/app/views/admin/snippets/_snippet.html.haml +3 -2
  107. data/app/views/admin/snippets/edit.html.haml +2 -2
  108. data/app/views/admin/snippets/index.html.haml +2 -2
  109. data/app/views/admin/snippets/new.html.haml +3 -3
  110. data/app/views/admin/theme_assets/_asset.html.haml +11 -10
  111. data/app/views/admin/theme_assets/_form.html.haml +19 -21
  112. data/app/views/admin/theme_assets/edit.html.haml +1 -1
  113. data/app/views/admin/theme_assets/images.html.haml +11 -11
  114. data/app/views/admin/theme_assets/index.html.haml +34 -19
  115. data/app/views/admin/theme_assets/new.html.haml +2 -2
  116. data/app/views/home/show.html.haml +2 -2
  117. data/app/views/layouts/admin/application.html.haml +6 -6
  118. data/app/views/layouts/admin/{login.html.haml → box.html.haml} +5 -3
  119. data/app/views/layouts/application.html.haml +1 -1
  120. data/config/application.rb +3 -1
  121. data/config/cucumber.yml +2 -8
  122. data/config/environments/development.rb +4 -3
  123. data/config/environments/production.rb +16 -1
  124. data/config/environments/test.rb +7 -1
  125. data/config/initializers/devise.rb +3 -9
  126. data/config/initializers/formtastic.rb +2 -2
  127. data/config/initializers/haml.rb +1 -0
  128. data/config/initializers/inflections.rb +6 -1
  129. data/config/initializers/locomotive.rb +8 -9
  130. data/config/initializers/rspec_generator.rb +1 -1
  131. data/config/initializers/secret_token.rb +1 -1
  132. data/config/locales/admin_ui_en.yml +93 -56
  133. data/config/locales/admin_ui_fr.yml +82 -68
  134. data/config/locales/default_en.yml +8 -10
  135. data/config/locales/default_fr.yml +32 -37
  136. data/config/locales/flash.en.yml +20 -21
  137. data/config/locales/flash.fr.yml +20 -21
  138. data/config/routes.rb +33 -27
  139. data/lib/generators/locomotive/copy_assets/copy_assets_generator.rb +5 -5
  140. data/lib/generators/locomotive/install/install_generator.rb +3 -3
  141. data/lib/generators/locomotive/install/templates/locomotive.rb +8 -8
  142. data/lib/locomotive/admin_responder.rb +5 -5
  143. data/lib/locomotive/carrierwave/base.rb +3 -3
  144. data/lib/locomotive/carrierwave/patches.rb +17 -13
  145. data/lib/locomotive/carrierwave.rb +5 -1
  146. data/lib/locomotive/configuration.rb +8 -8
  147. data/lib/{core_ext.rb → locomotive/core_ext.rb} +15 -11
  148. data/lib/locomotive/custom_fields.rb +6 -5
  149. data/lib/locomotive/delayed_job.rb +47 -0
  150. data/lib/locomotive/engine.rb +13 -4
  151. data/lib/locomotive/heroku/custom_domain.rb +14 -14
  152. data/lib/locomotive/heroku.rb +18 -16
  153. data/lib/locomotive/httparty/patches.rb +4 -4
  154. data/lib/locomotive/httparty/webservice.rb +4 -4
  155. data/lib/locomotive/httparty.rb +1 -1
  156. data/lib/locomotive/import/asset_collections.rb +53 -0
  157. data/lib/locomotive/import/assets.rb +74 -0
  158. data/lib/locomotive/import/content_types.rb +84 -0
  159. data/lib/locomotive/import/job.rb +73 -0
  160. data/lib/locomotive/import/pages.rb +114 -0
  161. data/lib/locomotive/import/site.rb +17 -0
  162. data/lib/locomotive/import/snippets.rb +23 -0
  163. data/lib/locomotive/import.rb +7 -0
  164. data/lib/locomotive/inherited_resources.rb +5 -4
  165. data/lib/locomotive/liquid/drops/asset.rb +21 -0
  166. data/lib/locomotive/liquid/drops/asset_collections.rb +47 -12
  167. data/lib/locomotive/liquid/drops/base.rb +12 -12
  168. data/lib/locomotive/liquid/drops/content.rb +10 -10
  169. data/lib/locomotive/liquid/drops/contents.rb +15 -20
  170. data/lib/locomotive/liquid/drops/page.rb +9 -11
  171. data/lib/locomotive/liquid/drops/site.rb +15 -0
  172. data/lib/locomotive/liquid/errors.rb +5 -0
  173. data/lib/locomotive/liquid/filters/date.rb +14 -14
  174. data/lib/locomotive/liquid/filters/html.rb +65 -24
  175. data/lib/locomotive/liquid/filters/misc.rb +11 -11
  176. data/lib/locomotive/liquid/filters/text.rb +7 -7
  177. data/lib/locomotive/liquid/tags/blueprint.rb +13 -13
  178. data/lib/locomotive/liquid/tags/consume.rb +23 -13
  179. data/lib/locomotive/liquid/tags/editable/base.rb +60 -0
  180. data/lib/locomotive/liquid/tags/editable/file.rb +23 -0
  181. data/lib/locomotive/liquid/tags/editable/long_text.rb +31 -0
  182. data/lib/locomotive/liquid/tags/editable/short_text.rb +31 -0
  183. data/lib/locomotive/liquid/tags/editable.rb +4 -0
  184. data/lib/locomotive/liquid/tags/extends.rb +42 -0
  185. data/lib/locomotive/liquid/tags/google_analytics.rb +39 -0
  186. data/lib/locomotive/liquid/tags/inherited_block.rb +31 -0
  187. data/lib/locomotive/liquid/tags/inline_editor.rb +52 -0
  188. data/lib/locomotive/liquid/tags/jquery.rb +8 -8
  189. data/lib/locomotive/liquid/tags/nav.rb +17 -17
  190. data/lib/locomotive/liquid/tags/paginate.rb +23 -23
  191. data/lib/locomotive/liquid/tags/snippet.rb +39 -14
  192. data/lib/locomotive/liquid/tags/with_scope.rb +11 -11
  193. data/lib/locomotive/liquid.rb +3 -3
  194. data/lib/locomotive/logger.rb +4 -4
  195. data/lib/locomotive/middlewares/fonts.rb +44 -0
  196. data/lib/locomotive/middlewares.rb +1 -0
  197. data/lib/locomotive/misc_form_builder.rb +47 -0
  198. data/lib/locomotive/mongoid/document.rb +7 -8
  199. data/lib/locomotive/mongoid/model_extensions.rb +1 -1
  200. data/lib/locomotive/mongoid/patches.rb +79 -51
  201. data/lib/locomotive/mongoid.rb +1 -1
  202. data/lib/locomotive/railties/tasks.rake +16 -0
  203. data/lib/locomotive/regexps.rb +4 -8
  204. data/lib/locomotive/render.rb +46 -36
  205. data/lib/locomotive/routing/default_constraint.rb +12 -13
  206. data/lib/locomotive/routing/site_dispatcher.rb +20 -18
  207. data/lib/locomotive/routing.rb +2 -0
  208. data/lib/locomotive/session_store.rb +57 -0
  209. data/lib/locomotive/version.rb +3 -0
  210. data/lib/locomotive.rb +22 -14
  211. data/lib/tasks/cucumber.rake +2 -2
  212. data/lib/tasks/rspec.rake +1 -1
  213. data/public/images/admin/{login → box}/bottom_panel_bg.png +0 -0
  214. data/public/images/admin/{login → box}/buttons/left_bg.png +0 -0
  215. data/public/images/admin/{login → box}/buttons/right_bg.png +0 -0
  216. data/public/images/admin/{login → box}/content_panel_bg.png +0 -0
  217. data/public/images/admin/{login → box}/input_bg.png +0 -0
  218. data/public/images/admin/{login → box}/light_bg.png +0 -0
  219. data/public/images/admin/{login → box}/top_panel_bg.png +0 -0
  220. data/public/images/admin/{login → box}/wrapper_bg.png +0 -0
  221. data/public/images/admin/buttons/dark-gray-bg.png +0 -0
  222. data/public/images/admin/form/spinner.gif +0 -0
  223. data/public/images/admin/inline_editor/action-left.png +0 -0
  224. data/public/images/admin/inline_editor/action-right.png +0 -0
  225. data/public/images/admin/inline_editor/bg.png +0 -0
  226. data/public/images/admin/inline_editor/drawer.png +0 -0
  227. data/public/images/admin/list/icons/states.png +0 -0
  228. data/public/images/admin/plugins/selectmenu/arrow.png +0 -0
  229. data/public/images/admin/plugins/selectmenu/background.png +0 -0
  230. data/public/javascripts/admin/account.js +4 -4
  231. data/public/javascripts/admin/aloha/VERSION.txt +2 -0
  232. data/public/javascripts/admin/aloha/aloha-nodeps.js +153 -0
  233. data/public/javascripts/admin/aloha/aloha.js +246 -0
  234. data/public/javascripts/admin/aloha/css/aloha.css +408 -0
  235. data/{vendor/plugins/custom_fields/MIT-LICENSE → public/javascripts/admin/aloha/deps/MIT-LICENSE.txt} +4 -4
  236. data/public/javascripts/admin/aloha/deps/extjs/resources/charts.swf +0 -0
  237. data/public/javascripts/admin/aloha/deps/extjs/resources/css/ext-all.css +6795 -0
  238. data/public/javascripts/admin/aloha/deps/extjs/resources/css/xtheme-gray.css +1654 -0
  239. data/public/javascripts/admin/aloha/deps/extjs/resources/expressinstall.swf +0 -0
  240. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/box/corners-blue.gif +0 -0
  241. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/box/corners.gif +0 -0
  242. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/box/l-blue.gif +0 -0
  243. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/box/l.gif +0 -0
  244. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/box/r-blue.gif +0 -0
  245. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/box/r.gif +0 -0
  246. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/box/tb-blue.gif +0 -0
  247. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/box/tb.gif +0 -0
  248. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/button/arrow.gif +0 -0
  249. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/button/btn.gif +0 -0
  250. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/button/group-cs.gif +0 -0
  251. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/button/group-lr.gif +0 -0
  252. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/button/group-tb.gif +0 -0
  253. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/button/s-arrow-b-noline.gif +0 -0
  254. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/button/s-arrow-b.gif +0 -0
  255. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/button/s-arrow-bo.gif +0 -0
  256. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/button/s-arrow-noline.gif +0 -0
  257. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/button/s-arrow-o.gif +0 -0
  258. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/button/s-arrow.gif +0 -0
  259. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/dd/drop-add.gif +0 -0
  260. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/dd/drop-no.gif +0 -0
  261. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/dd/drop-yes.gif +0 -0
  262. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/editor/tb-sprite.gif +0 -0
  263. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/form/checkbox.gif +0 -0
  264. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/form/clear-trigger.gif +0 -0
  265. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/form/clear-trigger.psd +0 -0
  266. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/form/date-trigger.gif +0 -0
  267. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/form/date-trigger.psd +0 -0
  268. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/form/error-tip-corners.gif +0 -0
  269. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/form/exclamation.gif +0 -0
  270. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/form/radio.gif +0 -0
  271. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/form/search-trigger.gif +0 -0
  272. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/form/search-trigger.psd +0 -0
  273. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/form/text-bg.gif +0 -0
  274. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/form/trigger-square.gif +0 -0
  275. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/form/trigger-square.psd +0 -0
  276. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/form/trigger-tpl.gif +0 -0
  277. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/form/trigger.gif +0 -0
  278. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/form/trigger.psd +0 -0
  279. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/gradient-bg.gif +0 -0
  280. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/arrow-left-white.gif +0 -0
  281. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/arrow-right-white.gif +0 -0
  282. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/col-move-bottom.gif +0 -0
  283. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/col-move-top.gif +0 -0
  284. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/columns.gif +0 -0
  285. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/dirty.gif +0 -0
  286. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/done.gif +0 -0
  287. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/drop-no.gif +0 -0
  288. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/drop-yes.gif +0 -0
  289. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/footer-bg.gif +0 -0
  290. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/grid-blue-hd.gif +0 -0
  291. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/grid-blue-split.gif +0 -0
  292. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/grid-hrow.gif +0 -0
  293. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/grid-loading.gif +0 -0
  294. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/grid-split.gif +0 -0
  295. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/grid-vista-hd.gif +0 -0
  296. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/grid3-hd-btn.gif +0 -0
  297. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/grid3-hrow-over.gif +0 -0
  298. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/grid3-hrow.gif +0 -0
  299. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/grid3-special-col-bg.gif +0 -0
  300. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/grid3-special-col-sel-bg.gif +0 -0
  301. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/group-by.gif +0 -0
  302. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/group-collapse.gif +0 -0
  303. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/group-expand-sprite.gif +0 -0
  304. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/group-expand.gif +0 -0
  305. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/hd-pop.gif +0 -0
  306. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/hmenu-asc.gif +0 -0
  307. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/hmenu-desc.gif +0 -0
  308. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/hmenu-lock.gif +0 -0
  309. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/hmenu-lock.png +0 -0
  310. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/hmenu-unlock.gif +0 -0
  311. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/hmenu-unlock.png +0 -0
  312. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/invalid_line.gif +0 -0
  313. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/loading.gif +0 -0
  314. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/mso-hd.gif +0 -0
  315. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/nowait.gif +0 -0
  316. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/page-first-disabled.gif +0 -0
  317. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/page-first.gif +0 -0
  318. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/page-last-disabled.gif +0 -0
  319. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/page-last.gif +0 -0
  320. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/page-next-disabled.gif +0 -0
  321. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/page-next.gif +0 -0
  322. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/page-prev-disabled.gif +0 -0
  323. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/page-prev.gif +0 -0
  324. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/pick-button.gif +0 -0
  325. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/refresh.gif +0 -0
  326. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/row-check-sprite.gif +0 -0
  327. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/row-expand-sprite.gif +0 -0
  328. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/row-over.gif +0 -0
  329. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/row-sel.gif +0 -0
  330. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/sort-hd.gif +0 -0
  331. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/sort_asc.gif +0 -0
  332. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/sort_desc.gif +0 -0
  333. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/grid/wait.gif +0 -0
  334. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/layout/collapse.gif +0 -0
  335. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/layout/expand.gif +0 -0
  336. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/layout/gradient-bg.gif +0 -0
  337. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/layout/mini-bottom.gif +0 -0
  338. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/layout/mini-left.gif +0 -0
  339. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/layout/mini-right.gif +0 -0
  340. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/layout/mini-top.gif +0 -0
  341. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/layout/ns-collapse.gif +0 -0
  342. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/layout/ns-expand.gif +0 -0
  343. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/layout/panel-close.gif +0 -0
  344. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/layout/panel-title-bg.gif +0 -0
  345. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/layout/panel-title-light-bg.gif +0 -0
  346. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/layout/stick.gif +0 -0
  347. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/layout/stuck.gif +0 -0
  348. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/layout/tab-close-on.gif +0 -0
  349. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/layout/tab-close.gif +0 -0
  350. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/menu/checked.gif +0 -0
  351. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/menu/group-checked.gif +0 -0
  352. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/menu/item-over.gif +0 -0
  353. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/menu/menu-parent.gif +0 -0
  354. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/menu/menu.gif +0 -0
  355. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/menu/unchecked.gif +0 -0
  356. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/panel/corners-sprite.gif +0 -0
  357. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/panel/left-right.gif +0 -0
  358. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/panel/light-hd.gif +0 -0
  359. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/panel/tool-sprite-tpl.gif +0 -0
  360. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/panel/tool-sprites.gif +0 -0
  361. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/panel/tools-sprites-trans.gif +0 -0
  362. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/panel/top-bottom.gif +0 -0
  363. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/panel/top-bottom.png +0 -0
  364. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/panel/white-corners-sprite.gif +0 -0
  365. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/panel/white-left-right.gif +0 -0
  366. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/panel/white-top-bottom.gif +0 -0
  367. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/progress/progress-bg.gif +0 -0
  368. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/qtip/bg.gif +0 -0
  369. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/qtip/close.gif +0 -0
  370. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/qtip/tip-anchor-sprite.gif +0 -0
  371. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/qtip/tip-sprite.gif +0 -0
  372. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/s.gif +0 -0
  373. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/shadow-c.png +0 -0
  374. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/shadow-lr.png +0 -0
  375. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/shadow.png +0 -0
  376. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/shared/blue-loading.gif +0 -0
  377. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/shared/calendar.gif +0 -0
  378. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/shared/glass-bg.gif +0 -0
  379. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/shared/hd-sprite.gif +0 -0
  380. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/shared/large-loading.gif +0 -0
  381. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/shared/left-btn.gif +0 -0
  382. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/shared/loading-balls.gif +0 -0
  383. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/shared/right-btn.gif +0 -0
  384. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/shared/warning.gif +0 -0
  385. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/sizer/e-handle-dark.gif +0 -0
  386. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/sizer/e-handle.gif +0 -0
  387. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/sizer/ne-handle-dark.gif +0 -0
  388. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/sizer/ne-handle.gif +0 -0
  389. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/sizer/nw-handle-dark.gif +0 -0
  390. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/sizer/nw-handle.gif +0 -0
  391. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/sizer/s-handle-dark.gif +0 -0
  392. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/sizer/s-handle.gif +0 -0
  393. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/sizer/se-handle-dark.gif +0 -0
  394. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/sizer/se-handle.gif +0 -0
  395. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/sizer/square.gif +0 -0
  396. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/sizer/sw-handle-dark.gif +0 -0
  397. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/sizer/sw-handle.gif +0 -0
  398. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/slider/slider-bg.png +0 -0
  399. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/slider/slider-thumb.png +0 -0
  400. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/slider/slider-v-bg.png +0 -0
  401. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/slider/slider-v-thumb.png +0 -0
  402. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tabs/scroll-left.gif +0 -0
  403. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tabs/scroll-right.gif +0 -0
  404. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tabs/scroller-bg.gif +0 -0
  405. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tabs/tab-btm-inactive-left-bg.gif +0 -0
  406. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tabs/tab-btm-inactive-right-bg.gif +0 -0
  407. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tabs/tab-btm-left-bg.gif +0 -0
  408. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tabs/tab-btm-over-left-bg.gif +0 -0
  409. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tabs/tab-btm-over-right-bg.gif +0 -0
  410. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tabs/tab-btm-right-bg.gif +0 -0
  411. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tabs/tab-close.gif +0 -0
  412. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tabs/tab-strip-bg.gif +0 -0
  413. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tabs/tab-strip-bg.png +0 -0
  414. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tabs/tab-strip-btm-bg.gif +0 -0
  415. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tabs/tabs-sprite.gif +0 -0
  416. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/toolbar/bg.gif +0 -0
  417. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/toolbar/btn-arrow-light.gif +0 -0
  418. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/toolbar/btn-arrow.gif +0 -0
  419. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/toolbar/btn-over-bg.gif +0 -0
  420. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/toolbar/gray-bg.gif +0 -0
  421. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/toolbar/more.gif +0 -0
  422. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/toolbar/tb-bg.gif +0 -0
  423. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/toolbar/tb-btn-sprite.gif +0 -0
  424. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/toolbar/tb-xl-btn-sprite.gif +0 -0
  425. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/toolbar/tb-xl-sep.gif +0 -0
  426. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/arrows.gif +0 -0
  427. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/drop-add.gif +0 -0
  428. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/drop-between.gif +0 -0
  429. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/drop-no.gif +0 -0
  430. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/drop-over.gif +0 -0
  431. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/drop-under.gif +0 -0
  432. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/drop-yes.gif +0 -0
  433. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/elbow-end-minus-nl.gif +0 -0
  434. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/elbow-end-minus.gif +0 -0
  435. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/elbow-end-plus-nl.gif +0 -0
  436. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/elbow-end-plus.gif +0 -0
  437. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/elbow-end.gif +0 -0
  438. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/elbow-line.gif +0 -0
  439. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/elbow-minus-nl.gif +0 -0
  440. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/elbow-minus.gif +0 -0
  441. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/elbow-plus-nl.gif +0 -0
  442. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/elbow-plus.gif +0 -0
  443. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/elbow.gif +0 -0
  444. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/folder-open.gif +0 -0
  445. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/folder.gif +0 -0
  446. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/leaf.gif +0 -0
  447. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/loading.gif +0 -0
  448. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/tree/s.gif +0 -0
  449. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/window/icon-error.gif +0 -0
  450. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/window/icon-info.gif +0 -0
  451. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/window/icon-question.gif +0 -0
  452. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/window/icon-warning.gif +0 -0
  453. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/window/left-corners.png +0 -0
  454. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/window/left-corners.psd +0 -0
  455. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/window/left-right.png +0 -0
  456. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/window/left-right.psd +0 -0
  457. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/window/right-corners.png +0 -0
  458. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/window/right-corners.psd +0 -0
  459. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/window/top-bottom.png +0 -0
  460. data/public/javascripts/admin/aloha/deps/extjs/resources/images/default/window/top-bottom.psd +0 -0
  461. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/button/btn-arrow.gif +0 -0
  462. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/button/btn-sprite.gif +0 -0
  463. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/button/btn.gif +0 -0
  464. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/button/group-cs.gif +0 -0
  465. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/button/group-lr.gif +0 -0
  466. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/button/group-tb.gif +0 -0
  467. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/button/s-arrow-bo.gif +0 -0
  468. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/button/s-arrow-o.gif +0 -0
  469. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/form/clear-trigger.gif +0 -0
  470. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/form/date-trigger.gif +0 -0
  471. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/form/search-trigger.gif +0 -0
  472. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/form/trigger-square.gif +0 -0
  473. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/form/trigger.gif +0 -0
  474. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/gradient-bg.gif +0 -0
  475. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/col-move-bottom.gif +0 -0
  476. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/col-move-top.gif +0 -0
  477. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/grid3-hd-btn.gif +0 -0
  478. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/grid3-hrow-over.gif +0 -0
  479. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/grid3-hrow-over2.gif +0 -0
  480. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/grid3-hrow.gif +0 -0
  481. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/grid3-hrow2.gif +0 -0
  482. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/grid3-special-col-bg.gif +0 -0
  483. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/grid3-special-col-bg2.gif +0 -0
  484. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/grid3-special-col-sel-bg.gif +0 -0
  485. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/group-collapse.gif +0 -0
  486. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/group-expand-sprite.gif +0 -0
  487. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/group-expand.gif +0 -0
  488. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/page-first.gif +0 -0
  489. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/page-last.gif +0 -0
  490. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/page-next.gif +0 -0
  491. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/page-prev.gif +0 -0
  492. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/refresh.gif +0 -0
  493. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/row-expand-sprite.gif +0 -0
  494. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/sort_asc.gif +0 -0
  495. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/grid/sort_desc.gif +0 -0
  496. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/menu/group-checked.gif +0 -0
  497. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/menu/item-over-disabled.gif +0 -0
  498. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/menu/item-over.gif +0 -0
  499. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/menu/menu-parent.gif +0 -0
  500. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/panel/corners-sprite.gif +0 -0
  501. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/panel/left-right.gif +0 -0
  502. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/panel/light-hd.gif +0 -0
  503. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/panel/tool-sprite-tpl.gif +0 -0
  504. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/panel/tool-sprites.gif +0 -0
  505. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/panel/tools-sprites-trans.gif +0 -0
  506. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/panel/top-bottom.gif +0 -0
  507. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/panel/top-bottom.png +0 -0
  508. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/panel/white-corners-sprite.gif +0 -0
  509. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/panel/white-left-right.gif +0 -0
  510. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/panel/white-top-bottom.gif +0 -0
  511. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/progress/progress-bg.gif +0 -0
  512. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/qtip/bg.gif +0 -0
  513. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/qtip/close.gif +0 -0
  514. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/qtip/tip-anchor-sprite.gif +0 -0
  515. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/qtip/tip-sprite.gif +0 -0
  516. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/s.gif +0 -0
  517. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/shared/hd-sprite.gif +0 -0
  518. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/shared/left-btn.gif +0 -0
  519. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/shared/right-btn.gif +0 -0
  520. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/sizer/e-handle.gif +0 -0
  521. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/sizer/ne-handle.gif +0 -0
  522. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/sizer/nw-handle.gif +0 -0
  523. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/sizer/s-handle.gif +0 -0
  524. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/sizer/se-handle.gif +0 -0
  525. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/sizer/square.gif +0 -0
  526. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/sizer/sw-handle.gif +0 -0
  527. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/slider/slider-thumb.png +0 -0
  528. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/slider/slider-v-thumb.png +0 -0
  529. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tabs/scroll-left.gif +0 -0
  530. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tabs/scroll-right.gif +0 -0
  531. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tabs/scroller-bg.gif +0 -0
  532. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tabs/tab-btm-inactive-left-bg.gif +0 -0
  533. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tabs/tab-btm-inactive-right-bg.gif +0 -0
  534. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tabs/tab-btm-left-bg.gif +0 -0
  535. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tabs/tab-btm-over-left-bg.gif +0 -0
  536. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tabs/tab-btm-over-right-bg.gif +0 -0
  537. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tabs/tab-btm-right-bg.gif +0 -0
  538. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tabs/tab-close.gif +0 -0
  539. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tabs/tab-strip-bg.gif +0 -0
  540. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tabs/tab-strip-bg.png +0 -0
  541. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tabs/tab-strip-btm-bg.gif +0 -0
  542. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tabs/tabs-sprite.gif +0 -0
  543. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/toolbar/bg.gif +0 -0
  544. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/toolbar/btn-arrow-light.gif +0 -0
  545. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/toolbar/btn-arrow.gif +0 -0
  546. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/toolbar/btn-over-bg.gif +0 -0
  547. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/toolbar/gray-bg.gif +0 -0
  548. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/toolbar/more.gif +0 -0
  549. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/toolbar/tb-bg.gif +0 -0
  550. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/toolbar/tb-btn-sprite.gif +0 -0
  551. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tree/arrows.gif +0 -0
  552. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tree/elbow-end-minus-nl.gif +0 -0
  553. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tree/elbow-end-minus.gif +0 -0
  554. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tree/elbow-end-plus-nl.gif +0 -0
  555. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/tree/elbow-end-plus.gif +0 -0
  556. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/window/icon-error.gif +0 -0
  557. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/window/icon-info.gif +0 -0
  558. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/window/icon-question.gif +0 -0
  559. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/window/icon-warning.gif +0 -0
  560. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/window/left-corners.png +0 -0
  561. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/window/left-corners.pspimage +0 -0
  562. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/window/left-right.png +0 -0
  563. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/window/right-corners.png +0 -0
  564. data/public/javascripts/admin/aloha/deps/extjs/resources/images/gray/window/top-bottom.png +0 -0
  565. data/public/javascripts/admin/aloha/deps/extjs/resources/resources.jsb +507 -0
  566. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/css/prettyPhoto.css +386 -0
  567. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/dark_rounded/btnNext.png +0 -0
  568. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/dark_rounded/btnPrevious.png +0 -0
  569. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/dark_rounded/contentPattern.png +0 -0
  570. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/dark_rounded/loader.gif +0 -0
  571. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/dark_rounded/sprite.png +0 -0
  572. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/dark_square/btnNext.png +0 -0
  573. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/dark_square/btnPrevious.png +0 -0
  574. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/dark_square/contentPattern.png +0 -0
  575. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/dark_square/loader.gif +0 -0
  576. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/dark_square/sprite.png +0 -0
  577. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/facebook/btnNext.png +0 -0
  578. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/facebook/btnPrevious.png +0 -0
  579. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/facebook/contentPatternBottom.png +0 -0
  580. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/facebook/contentPatternLeft.png +0 -0
  581. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/facebook/contentPatternRight.png +0 -0
  582. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/facebook/contentPatternTop.png +0 -0
  583. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/facebook/loader.gif +0 -0
  584. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/facebook/sprite.png +0 -0
  585. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/light_rounded/btnNext.png +0 -0
  586. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/light_rounded/btnPrevious.png +0 -0
  587. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/light_rounded/loader.gif +0 -0
  588. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/light_rounded/sprite.png +0 -0
  589. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/light_square/btnNext.png +0 -0
  590. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/light_square/btnPrevious.png +0 -0
  591. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/light_square/loader.gif +0 -0
  592. data/public/javascripts/admin/aloha/deps/prettyPhoto/resources/images/light_square/sprite.png +0 -0
  593. data/public/javascripts/admin/aloha/i18n/de.dict +5 -0
  594. data/public/javascripts/admin/aloha/i18n/en.dict +5 -0
  595. data/public/javascripts/admin/aloha/i18n/eo.dict +5 -0
  596. data/public/javascripts/admin/aloha/i18n/fi.dict +5 -0
  597. data/public/javascripts/admin/aloha/i18n/fr.dict +5 -0
  598. data/public/javascripts/admin/aloha/i18n/it.dict +5 -0
  599. data/public/javascripts/admin/aloha/i18n/ru.dict +5 -0
  600. data/public/javascripts/admin/aloha/images/base.gif +0 -0
  601. data/public/javascripts/admin/aloha/images/base.png +0 -0
  602. data/public/javascripts/admin/aloha/images/base_multi.png +0 -0
  603. data/public/javascripts/admin/aloha/images/fade_in.png +0 -0
  604. data/public/javascripts/admin/aloha/images/fade_out.png +0 -0
  605. data/public/javascripts/admin/aloha/images/gentics_logo.png +0 -0
  606. data/public/javascripts/admin/aloha/images/grabhandle.png +0 -0
  607. data/public/javascripts/admin/aloha/images/maximize.png +0 -0
  608. data/public/javascripts/admin/aloha/images/multisplit-close.gif +0 -0
  609. data/public/javascripts/admin/aloha/images/multisplit-open.gif +0 -0
  610. data/public/javascripts/admin/aloha/images/multisplit_base.jpg +0 -0
  611. data/public/javascripts/admin/aloha/images/pin.png +0 -0
  612. data/public/javascripts/admin/aloha/images/removeformat.png +0 -0
  613. data/public/javascripts/admin/aloha/plugins/com.example.aloha.DummyDC/i18n/de.dict +2 -0
  614. data/public/javascripts/admin/aloha/plugins/com.example.aloha.DummyDC/i18n/en.dict +2 -0
  615. data/public/javascripts/admin/aloha/plugins/com.example.aloha.DummyDC/i18n/eo.dict +2 -0
  616. data/public/javascripts/admin/aloha/plugins/com.example.aloha.DummyDC/i18n/fi.dict +2 -0
  617. data/public/javascripts/admin/aloha/plugins/com.example.aloha.DummyDC/i18n/fr.dict +2 -0
  618. data/public/javascripts/admin/aloha/plugins/com.example.aloha.DummyDC/i18n/it.dict +2 -0
  619. data/public/javascripts/admin/aloha/plugins/com.example.aloha.DummyDC/plugin.js +7 -0
  620. data/public/javascripts/admin/aloha/plugins/com.example.aloha.DummySave/i18n/de.dict +2 -0
  621. data/public/javascripts/admin/aloha/plugins/com.example.aloha.DummySave/i18n/en.dict +3 -0
  622. data/public/javascripts/admin/aloha/plugins/com.example.aloha.DummySave/i18n/fi.dict +3 -0
  623. data/public/javascripts/admin/aloha/plugins/com.example.aloha.DummySave/i18n/fr.dict +3 -0
  624. data/public/javascripts/admin/aloha/plugins/com.example.aloha.DummySave/i18n/it.dict +3 -0
  625. data/public/javascripts/admin/aloha/plugins/com.example.aloha.DummySave/plugin.js +7 -0
  626. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Format/i18n/de.dict +30 -0
  627. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Format/i18n/en.dict +30 -0
  628. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Format/i18n/eo.dict +29 -0
  629. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Format/i18n/fi.dict +30 -0
  630. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Format/i18n/fr.dict +30 -0
  631. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Format/i18n/it.dict +30 -0
  632. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Format/i18n/ru.dict +30 -0
  633. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Format/plugin.js +7 -0
  634. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.GCN/i18n/de.dict +20 -0
  635. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.GCN/i18n/en.dict +20 -0
  636. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.GCN/i18n/eo.dict +16 -0
  637. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.GCN/i18n/fi.dict +20 -0
  638. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.GCN/i18n/fr.dict +16 -0
  639. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.GCN/i18n/it.dict +20 -0
  640. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.GCN/plugin.js +7 -0
  641. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.HighlightEditables/css/HighlightEditables.css +14 -0
  642. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.HighlightEditables/plugin.js +7 -0
  643. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Link/css/Link.css +15 -0
  644. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Link/css/jquery.autocomplete.css +48 -0
  645. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Link/deps/jquery.autocomplete.js +1 -0
  646. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Link/i18n/de.dict +4 -0
  647. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Link/i18n/en.dict +4 -0
  648. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Link/i18n/fr.dict +4 -0
  649. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Link/i18n/ru.dict +4 -0
  650. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Link/plugin.js +7 -0
  651. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Link/ressource.js +7 -0
  652. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Link/ressourcedummy.js +7 -0
  653. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Link/ressourceregistry.js +7 -0
  654. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.List/i18n/de.dict +2 -0
  655. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.List/i18n/en.dict +2 -0
  656. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.List/i18n/eo.dict +2 -0
  657. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.List/i18n/fi.dict +2 -0
  658. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.List/i18n/fr.dict +2 -0
  659. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.List/i18n/it.dict +2 -0
  660. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.List/i18n/ru.dict +2 -0
  661. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.List/plugin.js +7 -0
  662. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.TOC/plugin.js +1 -0
  663. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Table/i18n/de.dict +12 -0
  664. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Table/i18n/en.dict +12 -0
  665. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Table/i18n/eo.dict +12 -0
  666. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Table/i18n/fi.dict +12 -0
  667. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Table/i18n/fr.dict +12 -0
  668. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Table/i18n/it.dict +12 -0
  669. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Table/i18n/ru.dict +12 -0
  670. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Table/plugin.js +7 -0
  671. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Table/resources/down.cur +0 -0
  672. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Table/resources/left.cur +0 -0
  673. data/public/javascripts/admin/aloha/plugins/com.gentics.aloha.plugins.Table/resources/table.css +194 -0
  674. data/public/javascripts/admin/aloha/plugins/eu.iksproject.plugins.Loader/plugin.js +1 -0
  675. data/public/javascripts/admin/aloha/plugins/eu.iksproject.plugins.Person/i18n/en.dict +2 -0
  676. data/public/javascripts/admin/aloha/plugins/eu.iksproject.plugins.Person/i18n/fi.dict +2 -0
  677. data/public/javascripts/admin/aloha/plugins/eu.iksproject.plugins.Person/i18n/fr.dict +2 -0
  678. data/public/javascripts/admin/aloha/plugins/eu.iksproject.plugins.Person/person.css +3 -0
  679. data/public/javascripts/admin/aloha/plugins/eu.iksproject.plugins.Person/plugin.js +1 -0
  680. data/public/javascripts/admin/aloha/plugins/simpletable/plugin.js.deactivated +2330 -0
  681. data/public/javascripts/admin/application.js +112 -98
  682. data/public/javascripts/admin/asset_collections.js +50 -50
  683. data/public/javascripts/admin/assets.js +4 -4
  684. data/public/javascripts/admin/content_types.js +15 -15
  685. data/public/javascripts/admin/contents.js +20 -20
  686. data/public/javascripts/admin/custom_fields.js +154 -154
  687. data/public/javascripts/admin/editable_elements.js +30 -0
  688. data/public/javascripts/admin/import.js +32 -0
  689. data/public/javascripts/admin/inline_editor.js +64 -0
  690. data/public/javascripts/admin/inline_editor_toolbar.js +170 -0
  691. data/public/javascripts/admin/pages.js +86 -79
  692. data/public/javascripts/admin/plugins/imagepicker.js +81 -0
  693. data/public/javascripts/admin/plugins/plupload/src/flash.js +298 -0
  694. data/public/javascripts/admin/plugins/plupload/src/plupload.js +1333 -0
  695. data/public/javascripts/admin/plugins/selectmenu.js +527 -0
  696. data/public/javascripts/admin/plugins/smartupdater.js +155 -0
  697. data/public/javascripts/admin/plugins/tiny_mce/langs/fr.js +154 -0
  698. data/public/javascripts/admin/plugins/tiny_mce/plugins/inlinepopups/skins/locomotive/window.css +72 -0
  699. data/public/javascripts/admin/plugins/tiny_mce/plugins/locoimage/css/locoimage.css +110 -0
  700. data/public/javascripts/admin/plugins/tiny_mce/plugins/locoimage/editor_plugin.js +1 -0
  701. data/public/javascripts/admin/plugins/tiny_mce/plugins/locoimage/editor_plugin_src.js +46 -0
  702. data/public/javascripts/admin/plugins/tiny_mce/plugins/locoimage/image.htm +62 -0
  703. data/public/javascripts/admin/plugins/tiny_mce/plugins/{advimage → locoimage}/img/sample.gif +0 -0
  704. data/public/javascripts/admin/plugins/tiny_mce/plugins/locoimage/js/image.js +172 -0
  705. data/public/javascripts/admin/plugins/tiny_mce/plugins/locoimage/langs/en_dlg.js +9 -0
  706. data/public/javascripts/admin/plugins/tiny_mce/plugins/locoimage/langs/fr_dlg.js +9 -0
  707. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/js/source_editor.js +37 -37
  708. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/langs/fr.js +62 -0
  709. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/langs/fr_dlg.js +51 -0
  710. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/skins/locomotive/content.css +36 -5
  711. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/skins/locomotive/dialog.css +53 -109
  712. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/skins/locomotive/img/butt2.png +0 -0
  713. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/skins/locomotive/img/button-bg.png +0 -0
  714. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/skins/locomotive/img/buttons.png +0 -0
  715. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/skins/locomotive/img/down_arrow.gif +0 -0
  716. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/skins/locomotive/img/fade-butt.png +0 -0
  717. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/skins/locomotive/img/icons.png +0 -0
  718. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/skins/locomotive/img/items.gif +0 -0
  719. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/skins/locomotive/img/menu-arrow.png +0 -0
  720. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/skins/locomotive/img/menu-check.png +0 -0
  721. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/skins/locomotive/img/progress.gif +0 -0
  722. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/skins/locomotive/img/tabs.gif +0 -0
  723. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/skins/locomotive/img/toolbarbg.png +0 -0
  724. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/skins/locomotive/ui.css +997 -213
  725. data/public/javascripts/admin/rails.js +16 -11
  726. data/public/javascripts/admin/site.js +42 -38
  727. data/public/javascripts/admin/snippets.js +21 -15
  728. data/public/javascripts/admin/theme_assets.js +32 -94
  729. data/public/javascripts/admin/utils.js +10 -10
  730. data/public/stylesheets/admin/application.css +142 -154
  731. data/public/stylesheets/admin/assets.css +54 -0
  732. data/public/stylesheets/admin/box.css +114 -59
  733. data/public/stylesheets/admin/buttons.css +36 -38
  734. data/public/stylesheets/admin/editable_elements.css +64 -0
  735. data/public/stylesheets/admin/fancybox_changes.css +101 -0
  736. data/public/stylesheets/admin/formtastic.css +3 -3
  737. data/public/stylesheets/admin/formtastic_changes.css +239 -232
  738. data/public/stylesheets/admin/inline_editor.css +90 -0
  739. data/public/stylesheets/admin/jquery/images/ui-icons_ffffff_256x240.png +0 -0
  740. data/public/stylesheets/admin/layout.css +86 -84
  741. data/public/stylesheets/admin/menu.css +106 -106
  742. data/public/stylesheets/admin/plugins/selectmenu.css +64 -0
  743. metadata +1104 -586
  744. data/app/controllers/admin/layouts_controller.rb +0 -13
  745. data/app/controllers/admin/page_parts_controller.rb +0 -12
  746. data/app/models/extensions/page/parts.rb +0 -54
  747. data/app/models/layout.rb +0 -48
  748. data/app/models/liquid_template.rb +0 -32
  749. data/app/models/page_part.rb +0 -35
  750. data/app/views/admin/layouts/_form.html.haml +0 -10
  751. data/app/views/admin/layouts/_layout.html.haml +0 -7
  752. data/app/views/admin/layouts/edit.html.haml +0 -18
  753. data/app/views/admin/layouts/index.html.haml +0 -15
  754. data/app/views/admin/layouts/new.html.haml +0 -15
  755. data/lib/locomotive/liquid/db_file_system.rb +0 -18
  756. data/lib/locomotive/liquid/drops/javascripts.rb +0 -18
  757. data/lib/locomotive/liquid/drops/stylesheets.rb +0 -19
  758. data/lib/locomotive/liquid/liquify_template.rb +0 -57
  759. data/lib/misc_form_builder.rb +0 -45
  760. data/public/images/admin/nocoffee.gif +0 -0
  761. data/public/javascripts/admin/page_parts.js +0 -88
  762. data/public/javascripts/admin/plugins/tiny_mce/plugins/advimage/css/advimage.css +0 -13
  763. data/public/javascripts/admin/plugins/tiny_mce/plugins/advimage/editor_plugin.js +0 -1
  764. data/public/javascripts/admin/plugins/tiny_mce/plugins/advimage/editor_plugin_src.js +0 -50
  765. data/public/javascripts/admin/plugins/tiny_mce/plugins/advimage/image.htm +0 -232
  766. data/public/javascripts/admin/plugins/tiny_mce/plugins/advimage/js/image.js +0 -443
  767. data/public/javascripts/admin/plugins/tiny_mce/plugins/advimage/langs/en_dlg.js +0 -43
  768. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/skins/locomotive/img/menu_arrow.gif +0 -0
  769. data/public/javascripts/admin/plugins/tiny_mce/themes/advanced/skins/locomotive/img/menu_check.gif +0 -0
  770. data/public/stylesheets/admin/login.css +0 -141
  771. data/public/stylesheets/admin/page_parts.css +0 -67
  772. data/spec/factories.rb +0 -77
  773. data/spec/lib/core_ext_spec.rb +0 -37
  774. data/spec/lib/locomotive/heroku_spec.rb +0 -149
  775. data/spec/lib/locomotive/httparty/patches_spec.rb +0 -19
  776. data/spec/lib/locomotive/httparty/webservice_spec.rb +0 -24
  777. data/spec/lib/locomotive/liquid/drops/contents_spec.rb +0 -33
  778. data/spec/lib/locomotive/liquid/drops/page_spec.rb +0 -48
  779. data/spec/lib/locomotive/liquid/filters/html_spec.rb +0 -82
  780. data/spec/lib/locomotive/liquid/filters/misc_spec.rb +0 -36
  781. data/spec/lib/locomotive/liquid/filters/text_spec.rb +0 -11
  782. data/spec/lib/locomotive/liquid/tags/consume_spec.rb +0 -40
  783. data/spec/lib/locomotive/liquid/tags/nav_spec.rb +0 -50
  784. data/spec/lib/locomotive/liquid/tags/paginate_spec.rb +0 -99
  785. data/spec/lib/locomotive/liquid/tags/snippet_spec.rb +0 -20
  786. data/spec/lib/locomotive/liquid/tags/with_scope_spec.rb +0 -20
  787. data/spec/lib/locomotive/render_spec.rb +0 -127
  788. data/spec/models/account_spec.rb +0 -65
  789. data/spec/models/asset_collections_spec.rb +0 -177
  790. data/spec/models/content_instance_spec.rb +0 -33
  791. data/spec/models/content_type_spec.rb +0 -49
  792. data/spec/models/layout_spec.rb +0 -64
  793. data/spec/models/liquid_template_spec.rb +0 -19
  794. data/spec/models/membership_spec.rb +0 -56
  795. data/spec/models/page_spec.rb +0 -358
  796. data/spec/models/site_spec.rb +0 -147
  797. data/spec/models/snippet_spec.rb +0 -9
  798. data/spec/models/theme_asset_spec.rb +0 -89
  799. data/spec/spec_helper.rb +0 -18
  800. data/spec/support/be_valid.rb +0 -31
  801. data/spec/support/carrierwave.rb +0 -32
  802. data/spec/support/locomotive.rb +0 -36
  803. data/vendor/plugins/custom_fields/Gemfile +0 -12
  804. data/vendor/plugins/custom_fields/README +0 -13
  805. data/vendor/plugins/custom_fields/Rakefile +0 -29
  806. data/vendor/plugins/custom_fields/init.rb +0 -2
  807. data/vendor/plugins/custom_fields/lib/custom_fields/custom_fields_for.rb +0 -50
  808. data/vendor/plugins/custom_fields/lib/custom_fields/extensions/mongoid/associations/embeds_many.rb +0 -31
  809. data/vendor/plugins/custom_fields/lib/custom_fields/extensions/mongoid/associations/has_many_related.rb +0 -33
  810. data/vendor/plugins/custom_fields/lib/custom_fields/extensions/mongoid/associations/proxy.rb +0 -20
  811. data/vendor/plugins/custom_fields/lib/custom_fields/extensions/mongoid/document.rb +0 -28
  812. data/vendor/plugins/custom_fields/lib/custom_fields/field.rb +0 -82
  813. data/vendor/plugins/custom_fields/lib/custom_fields/proxy_class_enabler.rb +0 -37
  814. data/vendor/plugins/custom_fields/lib/custom_fields/types/boolean.rb +0 -29
  815. data/vendor/plugins/custom_fields/lib/custom_fields/types/category.rb +0 -85
  816. data/vendor/plugins/custom_fields/lib/custom_fields/types/date.rb +0 -35
  817. data/vendor/plugins/custom_fields/lib/custom_fields/types/default.rb +0 -37
  818. data/vendor/plugins/custom_fields/lib/custom_fields/types/file.rb +0 -27
  819. data/vendor/plugins/custom_fields/lib/custom_fields/types/string.rb +0 -13
  820. data/vendor/plugins/custom_fields/lib/custom_fields/types/text.rb +0 -15
  821. data/vendor/plugins/custom_fields/lib/custom_fields.rb +0 -28
  822. data/vendor/plugins/custom_fields/spec/fixtures/doc.txt +0 -1
  823. data/vendor/plugins/custom_fields/spec/integration/custom_fields_for_spec.rb +0 -28
  824. data/vendor/plugins/custom_fields/spec/integration/types/category_spec.rb +0 -26
  825. data/vendor/plugins/custom_fields/spec/integration/types/file_spec.rb +0 -18
  826. data/vendor/plugins/custom_fields/spec/models/person.rb +0 -10
  827. data/vendor/plugins/custom_fields/spec/models/project.rb +0 -18
  828. data/vendor/plugins/custom_fields/spec/models/task.rb +0 -10
  829. data/vendor/plugins/custom_fields/spec/spec_helper.rb +0 -27
  830. data/vendor/plugins/custom_fields/spec/support/carrierwave.rb +0 -31
  831. data/vendor/plugins/custom_fields/spec/support/mongoid.rb +0 -6
  832. data/vendor/plugins/custom_fields/spec/unit/custom_field_spec.rb +0 -42
  833. data/vendor/plugins/custom_fields/spec/unit/custom_fields_for_spec.rb +0 -106
  834. data/vendor/plugins/custom_fields/spec/unit/proxy_class_enabler_spec.rb +0 -25
  835. data/vendor/plugins/custom_fields/spec/unit/types/boolean_spec.rb +0 -81
  836. data/vendor/plugins/custom_fields/spec/unit/types/category_spec.rb +0 -112
  837. data/vendor/plugins/custom_fields/spec/unit/types/date_spec.rb +0 -59
  838. data/vendor/plugins/custom_fields/spec/unit/types/file_spec.rb +0 -23
  839. data/vendor/plugins/custom_fields/uninstall.rb +0 -1
@@ -0,0 +1,1333 @@
1
+ /**
2
+ * plupload.js
3
+ *
4
+ * Copyright 2009, Moxiecode Systems AB
5
+ * Released under GPL License.
6
+ *
7
+ * License: http://www.plupload.com/license
8
+ * Contributing: http://www.plupload.com/contributing
9
+ */
10
+
11
+ // JSLint defined globals
12
+ /*global window:false, escape:false */
13
+
14
+ (function() {
15
+ var count = 0, runtimes = [], i18n = {}, mimes = {},
16
+ xmlEncodeChars = {'<' : 'lt', '>' : 'gt', '&' : 'amp', '"' : 'quot', '\'' : '#39'},
17
+ xmlEncodeRegExp = /[<>&\"\']/g, undef;
18
+
19
+ // IE W3C like event funcs
20
+ function preventDefault() {
21
+ this.returnValue = false;
22
+ }
23
+
24
+ function stopPropagation() {
25
+ this.cancelBubble = true;
26
+ }
27
+
28
+ // Parses the default mime types string into a mimes lookup map
29
+ (function(mime_data) {
30
+ var items = mime_data.split(/,/), i, y, ext;
31
+
32
+ for (i = 0; i < items.length; i += 2) {
33
+ ext = items[i + 1].split(/ /);
34
+
35
+ for (y = 0; y < ext.length; y++) {
36
+ mimes[ext[y]] = items[i];
37
+ }
38
+ }
39
+ })(
40
+ "application/msword,doc dot," +
41
+ "application/pdf,pdf," +
42
+ "application/pgp-signature,pgp," +
43
+ "application/postscript,ps ai eps," +
44
+ "application/rtf,rtf," +
45
+ "application/vnd.ms-excel,xls xlb," +
46
+ "application/vnd.ms-powerpoint,ppt pps pot," +
47
+ "application/zip,zip," +
48
+ "application/x-shockwave-flash,swf swfl," +
49
+ "application/vnd.openxmlformats,docx pptx xlsx," +
50
+ "audio/mpeg,mpga mpega mp2 mp3," +
51
+ "audio/x-wav,wav," +
52
+ "image/bmp,bmp," +
53
+ "image/gif,gif," +
54
+ "image/jpeg,jpeg jpg jpe," +
55
+ "image/png,png," +
56
+ "image/svg+xml,svg svgz," +
57
+ "image/tiff,tiff tif," +
58
+ "text/html,htm html xhtml," +
59
+ "text/rtf,rtf," +
60
+ "video/mpeg,mpeg mpg mpe," +
61
+ "video/quicktime,qt mov," +
62
+ "video/x-flv,flv," +
63
+ "video/vnd.rn-realvideo,rv," +
64
+ "text/plain,asc txt text diff log," +
65
+ "application/octet-stream,exe"
66
+ );
67
+
68
+ /**
69
+ * Plupload class with some global constants and functions.
70
+ *
71
+ * @example
72
+ * // Encode entities
73
+ * console.log(plupload.xmlEncode("My string &lt;&gt;"));
74
+ *
75
+ * // Generate unique id
76
+ * console.log(plupload.guid());
77
+ *
78
+ * @static
79
+ * @class plupload
80
+ */
81
+ var plupload = {
82
+ /**
83
+ * Inital state of the queue and also the state ones it's finished all it's uploads.
84
+ *
85
+ * @property STOPPED
86
+ * @final
87
+ */
88
+ STOPPED : 1,
89
+
90
+ /**
91
+ * Upload process is running
92
+ *
93
+ * @property STARTED
94
+ * @final
95
+ */
96
+ STARTED : 2,
97
+
98
+ /**
99
+ * File is queued for upload
100
+ *
101
+ * @property QUEUED
102
+ * @final
103
+ */
104
+ QUEUED : 1,
105
+
106
+ /**
107
+ * File is being uploaded
108
+ *
109
+ * @property UPLOADING
110
+ * @final
111
+ */
112
+ UPLOADING : 2,
113
+
114
+ /**
115
+ * File has failed to be uploaded
116
+ *
117
+ * @property FAILED
118
+ * @final
119
+ */
120
+ FAILED : 4,
121
+
122
+ /**
123
+ * File has been uploaded successfully
124
+ *
125
+ * @property DONE
126
+ * @final
127
+ */
128
+ DONE : 5,
129
+
130
+ // Error constants used by the Error event
131
+
132
+ /**
133
+ * Generic error for example if an exception is thrown inside Silverlight.
134
+ *
135
+ * @property GENERIC_ERROR
136
+ * @final
137
+ */
138
+ GENERIC_ERROR : -100,
139
+
140
+ /**
141
+ * HTTP transport error. For example if the server produces a HTTP status other than 200.
142
+ *
143
+ * @property HTTP_ERROR
144
+ * @final
145
+ */
146
+ HTTP_ERROR : -200,
147
+
148
+ /**
149
+ * Generic I/O error. For exampe if it wasn't possible to open the file stream on local machine.
150
+ *
151
+ * @property IO_ERROR
152
+ * @final
153
+ */
154
+ IO_ERROR : -300,
155
+
156
+ /**
157
+ * Generic I/O error. For exampe if it wasn't possible to open the file stream on local machine.
158
+ *
159
+ * @property SECURITY_ERROR
160
+ * @final
161
+ */
162
+ SECURITY_ERROR : -400,
163
+
164
+ /**
165
+ * Initialization error. Will be triggered if no runtime was initialized.
166
+ *
167
+ * @property INIT_ERROR
168
+ * @final
169
+ */
170
+ INIT_ERROR : -500,
171
+
172
+ /**
173
+ * File size error. If the user selects a file that is to large it will be blocked and an error of this type will be triggered.
174
+ *
175
+ * @property FILE_SIZE_ERROR
176
+ * @final
177
+ */
178
+ FILE_SIZE_ERROR : -600,
179
+
180
+ /**
181
+ * File extension error. If the user selects a file that isn't valid according to the filters setting.
182
+ *
183
+ * @property FILE_EXTENSION_ERROR
184
+ * @final
185
+ */
186
+ FILE_EXTENSION_ERROR : -700,
187
+
188
+ /**
189
+ * Mime type lookup table.
190
+ *
191
+ * @property mimeTypes
192
+ * @type Object
193
+ * @final
194
+ */
195
+ mimeTypes : mimes,
196
+
197
+ /**
198
+ * Extends the specified object with another object.
199
+ *
200
+ * @method extend
201
+ * @param {Object} target Object to extend.
202
+ * @param {Object..} obj Multiple objects to extend with.
203
+ * @return {Object} Same as target, the extended object.
204
+ */
205
+ extend : function(target) {
206
+ plupload.each(arguments, function(arg, i) {
207
+ if (i > 0) {
208
+ plupload.each(arg, function(value, key) {
209
+ target[key] = value;
210
+ });
211
+ }
212
+ });
213
+
214
+ return target;
215
+ },
216
+
217
+ /**
218
+ * Cleans the specified name from national characters (diacritics). The result will be a name with only a-z, 0-9 and _.
219
+ *
220
+ * @method cleanName
221
+ * @param {String} s String to clean up.
222
+ * @return {String} Cleaned string.
223
+ */
224
+ cleanName : function(name) {
225
+ var i, lookup;
226
+
227
+ // Replace diacritics
228
+ lookup = [
229
+ /[\300-\306]/g, 'A', /[\340-\346]/g, 'a',
230
+ /\307/g, 'C', /\347/g, 'c',
231
+ /[\310-\313]/g, 'E', /[\350-\353]/g, 'e',
232
+ /[\314-\317]/g, 'I', /[\354-\357]/g, 'i',
233
+ /\321/g, 'N', /\361/g, 'n',
234
+ /[\322-\330]/g, 'O', /[\362-\370]/g, 'o',
235
+ /[\331-\334]/g, 'U', /[\371-\374]/g, 'u'
236
+ ];
237
+
238
+ for (i = 0; i < lookup.length; i += 2) {
239
+ name = name.replace(lookup[i], lookup[i + 1]);
240
+ }
241
+
242
+ // Replace whitespace
243
+ name = name.replace(/\s+/g, '_');
244
+
245
+ // Remove anything else
246
+ name = name.replace(/[^a-z0-9_\-\.]+/gi, '');
247
+
248
+ return name;
249
+ },
250
+
251
+ /**
252
+ * Adds a specific upload runtime like for example flash or gears.
253
+ *
254
+ * @method addRuntime
255
+ * @param {String} name Runtime name for example flash.
256
+ * @param {Object} obj Object containing init/destroy method.
257
+ */
258
+ addRuntime : function(name, runtime) {
259
+ runtime.name = name;
260
+ runtimes[name] = runtime;
261
+ runtimes.push(runtime);
262
+
263
+ return runtime;
264
+ },
265
+
266
+ /**
267
+ * Generates an unique ID. This is 99.99% unique since it takes the current time and 5 random numbers.
268
+ * The only way a user would be able to get the same ID is if the two persons at the same exact milisecond manages
269
+ * to get 5 the same random numbers between 0-65535 it also uses a counter so each call will be guaranteed to be page unique.
270
+ * It's more probable for the earth to be hit with an ansteriod. You can also if you want to be 100% sure set the plupload.guidPrefix property
271
+ * to an user unique key.
272
+ *
273
+ * @method guid
274
+ * @return {String} Virtually unique id.
275
+ */
276
+ guid : function() {
277
+ var guid = new Date().getTime().toString(32), i;
278
+
279
+ for (i = 0; i < 5; i++) {
280
+ guid += Math.floor(Math.random() * 65535).toString(32);
281
+ }
282
+
283
+ return (plupload.guidPrefix || 'p') + guid + (count++).toString(32);
284
+ },
285
+
286
+ /**
287
+ * Builds a full url out of a base URL and an object with items to append as query string items.
288
+ *
289
+ * @param {String} url Base URL to append query string items to.
290
+ * @param {Object} items Name/value object to serialize as a querystring.
291
+ * @return {String} String with url + serialized query string items.
292
+ */
293
+ buildUrl : function(url, items) {
294
+ var query = '';
295
+
296
+ plupload.each(items, function(value, name) {
297
+ query += (query ? '&' : '') + encodeURIComponent(name) + '=' + encodeURIComponent(value);
298
+ });
299
+
300
+ if (query) {
301
+ url += (url.indexOf('?') > 0 ? '&' : '?') + query;
302
+ }
303
+
304
+ return url;
305
+ },
306
+
307
+ /**
308
+ * Executes the callback function for each item in array/object. If you return false in the
309
+ * callback it will break the loop.
310
+ *
311
+ * @param {Object} obj Object to iterate.
312
+ * @param {function} callback Callback function to execute for each item.
313
+ */
314
+ each : function(obj, callback) {
315
+ var length, key, i;
316
+
317
+ if (obj) {
318
+ length = obj.length;
319
+
320
+ if (length === undef) {
321
+ // Loop object items
322
+ for (key in obj) {
323
+ if (obj.hasOwnProperty(key)) {
324
+ if (callback(obj[key], key) === false) {
325
+ return;
326
+ }
327
+ }
328
+ }
329
+ } else {
330
+ // Loop array items
331
+ for (i = 0; i < length; i++) {
332
+ if (callback(obj[i], i) === false) {
333
+ return;
334
+ }
335
+ }
336
+ }
337
+ }
338
+ },
339
+
340
+ /**
341
+ * Formats the specified number as a size string for example 1024 becomes 1 KB.
342
+ *
343
+ * @method formatSize
344
+ * @param {Number} size Size to format as string.
345
+ * @return {String} Formatted size string.
346
+ */
347
+ formatSize : function(size) {
348
+ if (size === undef) {
349
+ return plupload.translate('N/A');
350
+ }
351
+
352
+ // MB
353
+ if (size > 1048576) {
354
+ return Math.round(size / 1048576, 1) + " MB";
355
+ }
356
+
357
+ // KB
358
+ if (size > 1024) {
359
+ return Math.round(size / 1024, 1) + " KB";
360
+ }
361
+
362
+ return size + " b";
363
+ },
364
+
365
+ /**
366
+ * Returns the absolute x, y position of an Element. The position will be returned in a object with x, y fields.
367
+ *
368
+ * @method getPos
369
+ * @param {Element} node HTML element or element id to get x, y position from.
370
+ * @param {Element} root Optional root element to stop calculations at.
371
+ * @return {object} Absolute position of the specified element object with x, y fields.
372
+ */
373
+ getPos : function(node, root) {
374
+ var x = 0, y = 0, parent, doc = document, nodeRect, rootRect;
375
+
376
+ node = node;
377
+ root = root || doc.body;
378
+
379
+ // Returns the x, y cordinate for an element on IE 6 and IE 7
380
+ function getIEPos(node) {
381
+ var bodyElm, rect, x = 0, y = 0;
382
+
383
+ if (node) {
384
+ rect = node.getBoundingClientRect();
385
+ bodyElm = doc.compatMode === "CSS1Compat" ? doc.documentElement : doc.body;
386
+ x = rect.left + bodyElm.scrollLeft;
387
+ y = rect.top + bodyElm.scrollTop;
388
+ }
389
+
390
+ return {
391
+ x : x,
392
+ y : y
393
+ };
394
+ }
395
+
396
+ // Use getBoundingClientRect on IE 6 and IE 7 but not on IE 8 in standards mode
397
+ if (node.getBoundingClientRect && (navigator.userAgent.indexOf('MSIE') > 0 && doc.documentMode !== 8)) {
398
+ nodeRect = getIEPos(node);
399
+ rootRect = getIEPos(root);
400
+
401
+ return {
402
+ x : nodeRect.x - rootRect.x,
403
+ y : nodeRect.y - rootRect.y
404
+ };
405
+ }
406
+
407
+ parent = node;
408
+ while (parent && parent != root && parent.nodeType) {
409
+ x += parent.offsetLeft || 0;
410
+ y += parent.offsetTop || 0;
411
+ parent = parent.offsetParent;
412
+ }
413
+
414
+ parent = node.parentNode;
415
+ while (parent && parent != root && parent.nodeType) {
416
+ x -= parent.scrollLeft || 0;
417
+ y -= parent.scrollTop || 0;
418
+ parent = parent.parentNode;
419
+ }
420
+
421
+ return {
422
+ x : x,
423
+ y : y
424
+ };
425
+ },
426
+
427
+ /**
428
+ * Returns the size of the specified node in pixels.
429
+ *
430
+ * @param {Node} node Node to get the size of.
431
+ * @return {Object} Object with a w and h property.
432
+ */
433
+ getSize : function(node) {
434
+ return {
435
+ w : node.clientWidth || node.offsetWidth,
436
+ h : node.clientHeight || node.offsetHeight
437
+ };
438
+ },
439
+
440
+ /**
441
+ * Parses the specified size string into a byte value. For example 10kb becomes 10240.
442
+ *
443
+ * @method parseSize
444
+ * @param {String/Number} size String to parse or number to just pass through.
445
+ * @return {Number} Size in bytes.
446
+ */
447
+ parseSize : function(size) {
448
+ var mul;
449
+
450
+ if (typeof(size) == 'string') {
451
+ size = /^([0-9]+)([mgk]+)$/.exec(size.toLowerCase().replace(/[^0-9mkg]/g, ''));
452
+ mul = size[2];
453
+ size = +size[1];
454
+
455
+ if (mul == 'g') {
456
+ size *= 1073741824;
457
+ }
458
+
459
+ if (mul == 'm') {
460
+ size *= 1048576;
461
+ }
462
+
463
+ if (mul == 'k') {
464
+ size *= 1024;
465
+ }
466
+ }
467
+
468
+ return size;
469
+ },
470
+
471
+ /**
472
+ * Encodes the specified string.
473
+ *
474
+ * @method xmlEncode
475
+ * @param {String} s String to encode.
476
+ * @return {String} Encoded string.
477
+ */
478
+ xmlEncode : function(str) {
479
+ return str ? ('' + str).replace(xmlEncodeRegExp, function(chr) {
480
+ return xmlEncodeChars[chr] ? '&' + xmlEncodeChars[chr] + ';' : chr;
481
+ }) : str;
482
+ },
483
+
484
+ /**
485
+ * Forces anything into an array.
486
+ *
487
+ * @method toArray
488
+ * @param {Object} obj Object with length field.
489
+ * @return {Array} Array object containing all items.
490
+ */
491
+ toArray : function(obj) {
492
+ var i, arr = [];
493
+
494
+ for (i = 0; i < obj.length; i++) {
495
+ arr[i] = obj[i];
496
+ }
497
+
498
+ return arr;
499
+ },
500
+
501
+ /**
502
+ * Extends the language pack object with new items.
503
+ *
504
+ * @param {Object} pack Language pack items to add.
505
+ * @return {Object} Extended language pack object.
506
+ */
507
+ addI18n : function(pack) {
508
+ return plupload.extend(i18n, pack);
509
+ },
510
+
511
+ /**
512
+ * Translates the specified string by checking for the english string in the language pack lookup.
513
+ *
514
+ * @param {String} str String to look for.
515
+ * @reutrn {String} Translated string or the input string if it wasn't found.
516
+ */
517
+ translate : function(str) {
518
+ return i18n[str] || str;
519
+ },
520
+
521
+ /**
522
+ * Adds an event handler to the specified object.
523
+ *
524
+ * @param {Object} obj DOM element like object to add handler to.
525
+ * @param {String} name Name to add event listener to.
526
+ * @param {function} callback Function to call when event occurs.
527
+ */
528
+ addEvent : function(obj, name, callback) {
529
+ if (obj.attachEvent) {
530
+ obj.attachEvent('on' + name, function() {
531
+ var evt = window.event;
532
+
533
+ if (!evt.target) {
534
+ evt.target = evt.srcElement;
535
+ }
536
+
537
+ evt.preventDefault = preventDefault;
538
+ evt.stopPropagation = stopPropagation;
539
+
540
+ callback(evt);
541
+ });
542
+ } else if (obj.addEventListener) {
543
+ obj.addEventListener(name, callback, false);
544
+ }
545
+ }
546
+ };
547
+
548
+ /**
549
+ * Uploader class, an instance of this class will be created for each upload field.
550
+ *
551
+ * @example
552
+ * var uploader = new plupload.Uploader({
553
+ * runtimes : 'gears,html5,flash',
554
+ * browse_button : 'button_id'
555
+ * });
556
+ *
557
+ * uploader.bind('Init', function(up) {
558
+ * alert('Supports drag/drop: ' + (!!up.features.dragdrop));
559
+ * });
560
+ *
561
+ * uploader.bind('FilesAdded', function(up, files) {
562
+ * alert('Selected files: ' + files.length);
563
+ * });
564
+ *
565
+ * uploader.bind('QueueChanged', function(up) {
566
+ * alert('Queued files: ' + uploader.files.length);
567
+ * });
568
+ *
569
+ * uploader.init();
570
+ *
571
+ * @class plupload.Uploader
572
+ */
573
+
574
+ /**
575
+ * Constructs a new uploader instance.
576
+ *
577
+ * @constructor
578
+ * @method Uploader
579
+ * @param {Object} settings Initialization settings, to be used by the uploader instance and runtimes.
580
+ */
581
+ plupload.Uploader = function(settings) {
582
+ var events = {}, total, files = [], fileIndex, startTime;
583
+
584
+ // Inital total state
585
+ total = new plupload.QueueProgress();
586
+
587
+ // Default settings
588
+ settings = plupload.extend({
589
+ chunk_size : 0,
590
+ multipart : true,
591
+ multi_selection : true,
592
+ file_data_name : 'file',
593
+ filters : []
594
+ }, settings);
595
+
596
+ // Private methods
597
+ function uploadNext() {
598
+ var file;
599
+
600
+ if (this.state == plupload.STARTED && fileIndex < files.length) {
601
+ file = files[fileIndex++];
602
+
603
+ if (file.status == plupload.QUEUED) {
604
+ this.trigger('BeforeUpload', file);
605
+ this.trigger("UploadFile", file);
606
+ } else {
607
+ uploadNext.call(this);
608
+ }
609
+ } else {
610
+ this.stop();
611
+ }
612
+ }
613
+
614
+ function calc() {
615
+ var i, file;
616
+
617
+ // Reset stats
618
+ total.reset();
619
+
620
+ // Check status, size, loaded etc on all files
621
+ for (i = 0; i < files.length; i++) {
622
+ file = files[i];
623
+
624
+ if (file.size !== undef) {
625
+ total.size += file.size;
626
+ total.loaded += file.loaded;
627
+ } else {
628
+ total.size = undef;
629
+ }
630
+
631
+ if (file.status == plupload.DONE) {
632
+ total.uploaded++;
633
+ } else if (file.status == plupload.FAILED) {
634
+ total.failed++;
635
+ } else {
636
+ total.queued++;
637
+ }
638
+ }
639
+
640
+ // If we couldn't calculate a total file size then use the number of files to calc percent
641
+ if (total.size === undef) {
642
+ total.percent = files.length > 0 ? Math.ceil(total.uploaded / files.length * 100) : 0;
643
+ } else {
644
+ total.bytesPerSec = Math.ceil(total.loaded / ((+new Date() - startTime || 1) / 1000.0));
645
+ total.percent = total.size > 0 ? Math.ceil(total.loaded / total.size * 100) : 0;
646
+ }
647
+ }
648
+
649
+ // Add public methods
650
+ plupload.extend(this, {
651
+ /**
652
+ * Current state of the total uploading progress. This one can either be plupload.STARTED or plupload.STOPPED.
653
+ * These states are controlled by the stop/start methods. The default value is STOPPED.
654
+ *
655
+ * @property state
656
+ * @type Number
657
+ */
658
+ state : plupload.STOPPED,
659
+
660
+ /**
661
+ * Map of features that are available for the uploader runtime. Features will be filled
662
+ * before the init event is called, these features can then be used to alter the UI for the end user.
663
+ * Some of the current features that might be in this map is: dragdrop, chunks, jpgresize, pngresize.
664
+ *
665
+ * @property features
666
+ * @type Object
667
+ */
668
+ features : {},
669
+
670
+ /**
671
+ * Current upload queue, an array of File instances.
672
+ *
673
+ * @property files
674
+ * @type Array
675
+ * @see plupload.File
676
+ */
677
+ files : files,
678
+
679
+ /**
680
+ * Object with name/value settings.
681
+ *
682
+ * @property settings
683
+ * @type Object
684
+ */
685
+ settings : settings,
686
+
687
+ /**
688
+ * Total progess information. How many files has been uploaded, total percent etc.
689
+ *
690
+ * @property total
691
+ * @type plupload.QueueProgress
692
+ */
693
+ total : total,
694
+
695
+ /**
696
+ * Unique id for the Uploader instance.
697
+ *
698
+ * @property id
699
+ * @type String
700
+ */
701
+ id : plupload.guid(),
702
+
703
+ /**
704
+ * Initializes the Uploader instance and adds internal event listeners.
705
+ *
706
+ * @method init
707
+ */
708
+ init : function() {
709
+ var self = this, i, runtimeList, a, runTimeIndex = 0, items;
710
+
711
+ settings.page_url = settings.page_url || document.location.pathname.replace(/\/[^\/]+$/g, '/');
712
+
713
+ // If url is relative force it absolute to the current page
714
+ if (!/^(\w+:\/\/|\/)/.test(settings.url)) {
715
+ settings.url = settings.page_url + settings.url;
716
+ }
717
+
718
+ // Convert settings
719
+ settings.chunk_size = plupload.parseSize(settings.chunk_size);
720
+ settings.max_file_size = plupload.parseSize(settings.max_file_size);
721
+
722
+ // Add files to queue
723
+ self.bind('FilesAdded', function(up, selected_files) {
724
+ var i, file, count = 0, extensionsRegExp, filters = settings.filters;
725
+
726
+ // Convert extensions to regexp
727
+ if (filters && filters.length) {
728
+ extensionsRegExp = [];
729
+
730
+ plupload.each(filters, function(filter) {
731
+ plupload.each(filter.extensions.split(/,/), function(ext) {
732
+ extensionsRegExp.push('\\.' + ext.replace(new RegExp('[' + ('/^$.*+?|()[]{}\\'.replace(/./g, '\\$&')) + ']', 'g'), '\\$&'));
733
+ });
734
+ });
735
+
736
+ extensionsRegExp = new RegExp(extensionsRegExp.join('|') + '$', 'i');
737
+ }
738
+
739
+ for (i = 0; i < selected_files.length; i++) {
740
+ file = selected_files[i];
741
+ file.loaded = 0;
742
+ file.percent = 0;
743
+ file.status = plupload.QUEUED;
744
+
745
+ // Invalid file extension
746
+ if (extensionsRegExp && !extensionsRegExp.test(file.name)) {
747
+ up.trigger('Error', {
748
+ code : plupload.FILE_EXTENSION_ERROR,
749
+ message : 'File extension error.',
750
+ file : file
751
+ });
752
+
753
+ continue;
754
+ }
755
+
756
+ // Invalid file size
757
+ if (file.size !== undef && file.size > settings.max_file_size) {
758
+ up.trigger('Error', {
759
+ code : plupload.FILE_SIZE_ERROR,
760
+ message : 'File size error.',
761
+ file : file
762
+ });
763
+
764
+ continue;
765
+ }
766
+
767
+ // Add valid file to list
768
+ files.push(file);
769
+ count++;
770
+ }
771
+
772
+ // Only trigger QueueChanged event if any files where added
773
+ if (count) {
774
+ self.trigger("QueueChanged");
775
+ self.refresh();
776
+ }
777
+ });
778
+
779
+ // Generate unique target filenames
780
+ if (settings.unique_names) {
781
+ self.bind("UploadFile", function(up, file) {
782
+ var matches = file.name.match(/\.([^.]+)$/), ext = "tmp";
783
+
784
+ if (matches) {
785
+ ext = matches[1];
786
+ }
787
+
788
+ file.target_name = file.id + '.' + ext;
789
+ });
790
+ }
791
+
792
+ self.bind('UploadProgress', function(up, file) {
793
+ if (file.status == plupload.QUEUED) {
794
+ file.status = plupload.UPLOADING;
795
+ }
796
+
797
+ file.percent = file.size > 0 ? Math.ceil(file.loaded / file.size * 100) : 100;
798
+ calc();
799
+ });
800
+
801
+ self.bind('StateChanged', function(up) {
802
+ if (up.state == plupload.STARTED) {
803
+ // Get start time to calculate bps
804
+ startTime = (+new Date());
805
+ }
806
+ });
807
+
808
+ self.bind('QueueChanged', calc);
809
+
810
+ self.bind("Error", function(up, err) {
811
+ // Set failed status if an error occured on a file
812
+ if (err.file) {
813
+ err.file.status = plupload.FAILED;
814
+ calc();
815
+
816
+ // Upload next file but detach it from the error event
817
+ // since other custom listeners might want to stop the queue
818
+ window.setTimeout(function() {
819
+ uploadNext.call(self);
820
+ });
821
+ }
822
+ });
823
+
824
+ self.bind("FileUploaded", function(up, file) {
825
+ file.status = plupload.DONE;
826
+ file.loaded = file.size;
827
+ up.trigger('UploadProgress', file);
828
+ uploadNext.call(self);
829
+ });
830
+
831
+ // Setup runtimeList
832
+ if (settings.runtimes) {
833
+ runtimeList = [];
834
+ items = settings.runtimes.split(/\s?,\s?/);
835
+
836
+ for (i = 0; i < items.length; i++) {
837
+ if (runtimes[items[i]]) {
838
+ runtimeList.push(runtimes[items[i]]);
839
+ }
840
+ }
841
+ } else {
842
+ runtimeList = runtimes;
843
+ }
844
+
845
+ // Call init on each runtime in sequence
846
+ function callNextInit() {
847
+ var runtime = runtimeList[runTimeIndex++], features, requiredFeatures, i;
848
+
849
+ if (runtime) {
850
+ features = runtime.getFeatures();
851
+
852
+ // Check if runtime supports required features
853
+ requiredFeatures = self.settings.required_features;
854
+ if (requiredFeatures) {
855
+ requiredFeatures = requiredFeatures.split(',');
856
+
857
+ for (i = 0; i < requiredFeatures.length; i++) {
858
+ // Specified feature doesn't exist
859
+ if (!features[requiredFeatures[i]]) {
860
+ callNextInit();
861
+ return;
862
+ }
863
+ }
864
+ }
865
+
866
+ // Try initializing the runtime
867
+ runtime.init(self, function(res) {
868
+ if (res && res.success) {
869
+ // Successful initialization
870
+ self.features = features;
871
+ self.trigger('Init', {runtime : runtime.name});
872
+ self.trigger('PostInit');
873
+ self.refresh();
874
+ } else {
875
+ callNextInit();
876
+ }
877
+ });
878
+ } else {
879
+ // Trigger an init error if we run out of runtimes
880
+ self.trigger('Error', {
881
+ code : plupload.INIT_ERROR,
882
+ message : 'Init error.'
883
+ });
884
+ }
885
+ }
886
+
887
+ callNextInit();
888
+ },
889
+
890
+ /**
891
+ * Refreshes the upload instance by dispatching out a refresh event to all runtimes.
892
+ * This would for example reposition flash/silverlight shims on the page.
893
+ *
894
+ * @method refresh
895
+ */
896
+ refresh : function() {
897
+ this.trigger("Refresh");
898
+ },
899
+
900
+ /**
901
+ * Starts uploading the queued files.
902
+ *
903
+ * @method start
904
+ */
905
+ start : function() {
906
+ if (this.state != plupload.STARTED) {
907
+ fileIndex = 0;
908
+
909
+ this.state = plupload.STARTED;
910
+ this.trigger("StateChanged");
911
+
912
+ uploadNext.call(this);
913
+ }
914
+ },
915
+
916
+ /**
917
+ * Stops the upload of the queued files.
918
+ *
919
+ * @method stop
920
+ */
921
+ stop : function() {
922
+ if (this.state != plupload.STOPPED) {
923
+ this.state = plupload.STOPPED;
924
+ this.trigger("StateChanged");
925
+ }
926
+ },
927
+
928
+ /**
929
+ * Returns the specified file object by id.
930
+ *
931
+ * @method getFile
932
+ * @param {String} id File id to look for.
933
+ * @return {plupload.File} File object or undefined if it wasn't found;
934
+ */
935
+ getFile : function(id) {
936
+ var i;
937
+
938
+ for (i = files.length - 1; i >= 0; i--) {
939
+ if (files[i].id === id) {
940
+ return files[i];
941
+ }
942
+ }
943
+ },
944
+
945
+ /**
946
+ * Removes a specific file.
947
+ *
948
+ * @method removeFile
949
+ * @param {plupload.File} file File to remove from queue.
950
+ */
951
+ removeFile : function(file) {
952
+ var i;
953
+
954
+ for (i = files.length - 1; i >= 0; i--) {
955
+ if (files[i].id === file.id) {
956
+ return this.splice(i, 1)[0];
957
+ }
958
+ }
959
+ },
960
+
961
+ /**
962
+ * Removes part of the queue and returns the files removed. This will also trigger the FilesRemoved and QueueChanged events.
963
+ *
964
+ * @method splice
965
+ * @param {Number} start (Optional) Start index to remove from.
966
+ * @param {Number} length (Optional) Lengh of items to remove.
967
+ * @return {Array} Array of files that was removed.
968
+ */
969
+ splice : function(start, length) {
970
+ var removed;
971
+
972
+ // Splice and trigger events
973
+ removed = files.splice(start, length);
974
+
975
+ this.trigger("FilesRemoved", removed);
976
+ this.trigger("QueueChanged");
977
+
978
+ return removed;
979
+ },
980
+
981
+ /**
982
+ * Dispatches the specified event name and it's arguments to all listeners.
983
+ *
984
+ *
985
+ * @method trigger
986
+ * @param {String} name Event name to fire.
987
+ * @param {Object..} Multiple arguments to pass along to the listener functions.
988
+ */
989
+ trigger : function(name) {
990
+ var list = events[name.toLowerCase()], i, args;
991
+
992
+ // console.log(name, arguments);
993
+
994
+ if (list) {
995
+ // Replace name with sender in args
996
+ args = Array.prototype.slice.call(arguments);
997
+ args[0] = this;
998
+
999
+ // Dispatch event to all listeners
1000
+ for (i = 0; i < list.length; i++) {
1001
+ // Fire event, break chain if false is returned
1002
+ if (list[i].func.apply(list[i].scope, args) === false) {
1003
+ return false;
1004
+ }
1005
+ }
1006
+ }
1007
+
1008
+ return true;
1009
+ },
1010
+
1011
+ /**
1012
+ * Adds an event listener by name.
1013
+ *
1014
+ * @method bind
1015
+ * @param {String} name Event name to listen for.
1016
+ * @param {function} func Function to call ones the event gets fired.
1017
+ * @param {Object} scope Optional scope to execute the specified function in.
1018
+ */
1019
+ bind : function(name, func, scope) {
1020
+ var list;
1021
+
1022
+ name = name.toLowerCase();
1023
+ list = events[name] || [];
1024
+ list.push({func : func, scope : scope || this});
1025
+ events[name] = list;
1026
+ },
1027
+
1028
+ /**
1029
+ * Removes the specified event listener.
1030
+ *
1031
+ * @method unbind
1032
+ * @param {String} name Name of event to remove.
1033
+ * @param {function} func Function to remove from listener.
1034
+ */
1035
+ unbind : function(name, func) {
1036
+ var list = events[name.toLowerCase()], i;
1037
+
1038
+ if (list) {
1039
+ for (i = list.length - 1; i >= 0; i--) {
1040
+ if (list[i].func === func) {
1041
+ list.splice(i, 1);
1042
+ }
1043
+ }
1044
+ }
1045
+ }
1046
+
1047
+ /**
1048
+ * Fires when the current RunTime has been initialized.
1049
+ *
1050
+ * @event Init
1051
+ * @param {plupload.Uploader} uploader Uploader instance sending the event.
1052
+ */
1053
+
1054
+ /**
1055
+ * Fires after the init event incase you need to perform actions there.
1056
+ *
1057
+ * @event PostInit
1058
+ * @param {plupload.Uploader} uploader Uploader instance sending the event.
1059
+ */
1060
+
1061
+ /**
1062
+ * Fires when the silverlight/flash or other shim needs to move.
1063
+ *
1064
+ * @event Refresh
1065
+ * @param {plupload.Uploader} uploader Uploader instance sending the event.
1066
+ */
1067
+
1068
+ /**
1069
+ * Fires when the overall state is being changed for the upload queue.
1070
+ *
1071
+ * @event StateChanged
1072
+ * @param {plupload.Uploader} uploader Uploader instance sending the event.
1073
+ */
1074
+
1075
+ /**
1076
+ * Fires when a file is to be uploaded by the runtime.
1077
+ *
1078
+ * @event UploadFile
1079
+ * @param {plupload.Uploader} uploader Uploader instance sending the event.
1080
+ * @param {plupload.File} file File to be uploaded.
1081
+ */
1082
+
1083
+ /**
1084
+ * Fires when just before a file is uploaded. This event enables you to override settings
1085
+ * on the uploader instance before the file is uploaded.
1086
+ *
1087
+ * @event BeforeUpload
1088
+ * @param {plupload.Uploader} uploader Uploader instance sending the event.
1089
+ * @param {plupload.File} file File to be uploaded.
1090
+ */
1091
+
1092
+ /**
1093
+ * Fires when the file queue is changed. In other words when files are added/removed to the files array of the uploader instance.
1094
+ *
1095
+ * @event QueueChanged
1096
+ * @param {plupload.Uploader} uploader Uploader instance sending the event.
1097
+ */
1098
+
1099
+ /**
1100
+ * Fires while a file is being uploaded. Use this event to update the current file upload progress.
1101
+ *
1102
+ * @event UploadProgress
1103
+ * @param {plupload.Uploader} uploader Uploader instance sending the event.
1104
+ * @param {plupload.File} file File that is currently being uploaded.
1105
+ */
1106
+
1107
+ /**
1108
+ * Fires while a file was removed from queue.
1109
+ *
1110
+ * @event FilesRemoved
1111
+ * @param {plupload.Uploader} uploader Uploader instance sending the event.
1112
+ * @param {Array} files Array of files that got removed.
1113
+ */
1114
+
1115
+ /**
1116
+ * Fires while when the user selects files to upload.
1117
+ *
1118
+ * @event FilesAdded
1119
+ * @param {plupload.Uploader} uploader Uploader instance sending the event.
1120
+ * @param {Array} files Array of file objects that was added to queue/selected by the user.
1121
+ */
1122
+
1123
+ /**
1124
+ * Fires when a file is successfully uploaded.
1125
+ *
1126
+ * @event FileUploaded
1127
+ * @param {plupload.Uploader} uploader Uploader instance sending the event.
1128
+ * @param {plupload.File} file File that was uploaded.
1129
+ * @param {Object} response Object with response properties.
1130
+ */
1131
+
1132
+ /**
1133
+ * Fires when file chunk is uploaded.
1134
+ *
1135
+ * @event ChunkUploaded
1136
+ * @param {plupload.Uploader} uploader Uploader instance sending the event.
1137
+ * @param {plupload.File} file File that the chunk was uploaded for.
1138
+ * @param {Object} response Object with response properties.
1139
+ */
1140
+
1141
+ /**
1142
+ * Fires when a error occurs.
1143
+ *
1144
+ * @event Error
1145
+ * @param {plupload.Uploader} uploader Uploader instance sending the event.
1146
+ * @param {Object} error Contains code, message and sometimes file and other details.
1147
+ */
1148
+ });
1149
+ };
1150
+
1151
+ /**
1152
+ * File instance.
1153
+ *
1154
+ * @class plupload.File
1155
+ * @param {String} name Name of the file.
1156
+ * @param {Number} size File size.
1157
+ */
1158
+
1159
+ /**
1160
+ * Constructs a new file instance.
1161
+ *
1162
+ * @constructor
1163
+ * @method File
1164
+ * @param {String} id Unique file id.
1165
+ * @param {String} name File name.
1166
+ * @param {Number} size File size in bytes.
1167
+ */
1168
+ plupload.File = function(id, name, size) {
1169
+ var self = this; // Setup alias for self to reduce code size when it's compressed
1170
+
1171
+ /**
1172
+ * File id this is a globally unique id for the specific file.
1173
+ *
1174
+ * @property id
1175
+ * @type String
1176
+ */
1177
+ self.id = id;
1178
+
1179
+ /**
1180
+ * File name for example "myfile.gif".
1181
+ *
1182
+ * @property name
1183
+ * @type String
1184
+ */
1185
+ self.name = name;
1186
+
1187
+ /**
1188
+ * File size in bytes.
1189
+ *
1190
+ * @property size
1191
+ * @type Number
1192
+ */
1193
+ self.size = size;
1194
+
1195
+ /**
1196
+ * Number of bytes uploaded of the files total size.
1197
+ *
1198
+ * @property loaded
1199
+ * @type Number
1200
+ */
1201
+ self.loaded = 0;
1202
+
1203
+ /**
1204
+ * Number of percentage uploaded of the file.
1205
+ *
1206
+ * @property percent
1207
+ * @type Number
1208
+ */
1209
+ self.percent = 0;
1210
+
1211
+ /**
1212
+ * Status constant matching the plupload states QUEUED, UPLOADING, FAILED, DONE.
1213
+ *
1214
+ * @property status
1215
+ * @type Number
1216
+ * @see plupload
1217
+ */
1218
+ self.status = 0;
1219
+ };
1220
+
1221
+ /**
1222
+ * Runtime class gets implemented by each upload runtime.
1223
+ *
1224
+ * @class plupload.Runtime
1225
+ * @static
1226
+ */
1227
+ plupload.Runtime = function() {
1228
+ /**
1229
+ * Returns a list of supported features for the runtime.
1230
+ *
1231
+ * @return {Object} Name/value object with supported features.
1232
+ */
1233
+ this.getFeatures = function() {
1234
+ };
1235
+
1236
+ /**
1237
+ * Initializes the upload runtime. This method should add necessary items to the DOM and register events needed for operation.
1238
+ *
1239
+ * @method init
1240
+ * @param {plupload.Uploader} uploader Uploader instance that needs to be initialized.
1241
+ * @param {function} callback Callback function to execute when the runtime initializes or fails to initialize. If it succeeds an object with a parameter name success will be set to true.
1242
+ */
1243
+ this.init = function(uploader, callback) {
1244
+ };
1245
+ };
1246
+
1247
+ /**
1248
+ * Runtime class gets implemented by each upload runtime.
1249
+ *
1250
+ * @class plupload.QueueProgress
1251
+ */
1252
+
1253
+ /**
1254
+ * Constructs a queue progress.
1255
+ *
1256
+ * @constructor
1257
+ * @method QueueProgress
1258
+ */
1259
+ plupload.QueueProgress = function() {
1260
+ var self = this; // Setup alias for self to reduce code size when it's compressed
1261
+
1262
+ /**
1263
+ * Total queue file size.
1264
+ *
1265
+ * @property size
1266
+ * @type Number
1267
+ */
1268
+ self.size = 0;
1269
+
1270
+ /**
1271
+ * Total bytes uploaded.
1272
+ *
1273
+ * @property loaded
1274
+ * @type Number
1275
+ */
1276
+ self.loaded = 0;
1277
+
1278
+ /**
1279
+ * Number of files uploaded.
1280
+ *
1281
+ * @property uploaded
1282
+ * @type Number
1283
+ */
1284
+ self.uploaded = 0;
1285
+
1286
+ /**
1287
+ * Number of files failed to upload.
1288
+ *
1289
+ * @property failed
1290
+ * @type Number
1291
+ */
1292
+ self.failed = 0;
1293
+
1294
+ /**
1295
+ * Number of files yet to be uploaded.
1296
+ *
1297
+ * @property queued
1298
+ * @type Number
1299
+ */
1300
+ self.queued = 0;
1301
+
1302
+ /**
1303
+ * Total percent of the uploaded bytes.
1304
+ *
1305
+ * @property percent
1306
+ * @type Number
1307
+ */
1308
+ self.percent = 0;
1309
+
1310
+ /**
1311
+ * Bytes uploaded per second.
1312
+ *
1313
+ * @property bytesPerSec
1314
+ * @type Number
1315
+ */
1316
+ self.bytesPerSec = 0;
1317
+
1318
+ /**
1319
+ * Resets the progress to it's initial values.
1320
+ *
1321
+ * @method reset
1322
+ */
1323
+ self.reset = function() {
1324
+ self.size = self.loaded = self.uploaded = self.failed = self.queued = self.percent = self.bytesPerSec = 0;
1325
+ };
1326
+ };
1327
+
1328
+ // Create runtimes namespace
1329
+ plupload.runtimes = {};
1330
+
1331
+ // Expose plupload namespace
1332
+ window.plupload = plupload;
1333
+ })();