ppc_logic 0.8.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (665) hide show
  1. data/Gemfile +1 -4
  2. data/VERSION +1 -1
  3. data/app/models/landing_page.rb +13 -50
  4. data/app/views/admin/landing_pages/_form.html.erb +1 -1
  5. data/app/views/layouts/application.html.erb +2 -8
  6. data/config/environments/development.rb +1 -0
  7. data/config/environments/production.rb +2 -0
  8. data/config/environments/test.rb +2 -3
  9. data/features/manage_landing_pages.feature +1 -1
  10. data/features/manage_local_offers.feature +1 -1
  11. data/features/support/env.rb +38 -20
  12. data/lib/tasks/cucumber.rake +12 -0
  13. data/ppc_logic.gemspec +5 -659
  14. metadata +22 -686
  15. data/public/404.html +0 -26
  16. data/public/422.html +0 -26
  17. data/public/500.html +0 -26
  18. data/public/favicon.ico +0 -0
  19. data/public/javascripts/application.js +0 -2
  20. data/public/javascripts/ckeditor/.htaccess +0 -24
  21. data/public/javascripts/ckeditor/CHANGES.html +0 -993
  22. data/public/javascripts/ckeditor/INSTALL.html +0 -92
  23. data/public/javascripts/ckeditor/LICENSE.html +0 -1334
  24. data/public/javascripts/ckeditor/_samples/ajax.html +0 -87
  25. data/public/javascripts/ckeditor/_samples/api.html +0 -152
  26. data/public/javascripts/ckeditor/_samples/api_dialog.html +0 -188
  27. data/public/javascripts/ckeditor/_samples/api_dialog/my_dialog.js +0 -28
  28. data/public/javascripts/ckeditor/_samples/asp/advanced.asp +0 -105
  29. data/public/javascripts/ckeditor/_samples/asp/events.asp +0 -136
  30. data/public/javascripts/ckeditor/_samples/asp/index.html +0 -103
  31. data/public/javascripts/ckeditor/_samples/asp/replace.asp +0 -72
  32. data/public/javascripts/ckeditor/_samples/asp/replaceall.asp +0 -77
  33. data/public/javascripts/ckeditor/_samples/asp/sample_posteddata.asp +0 -46
  34. data/public/javascripts/ckeditor/_samples/asp/standalone.asp +0 -72
  35. data/public/javascripts/ckeditor/_samples/assets/output_for_flash.fla +0 -0
  36. data/public/javascripts/ckeditor/_samples/assets/output_for_flash.swf +0 -0
  37. data/public/javascripts/ckeditor/_samples/assets/output_xhtml.css +0 -204
  38. data/public/javascripts/ckeditor/_samples/assets/swfobject.js +0 -18
  39. data/public/javascripts/ckeditor/_samples/autogrow.html +0 -75
  40. data/public/javascripts/ckeditor/_samples/divreplace.html +0 -137
  41. data/public/javascripts/ckeditor/_samples/enterkey.html +0 -88
  42. data/public/javascripts/ckeditor/_samples/fullpage.html +0 -62
  43. data/public/javascripts/ckeditor/_samples/index.html +0 -57
  44. data/public/javascripts/ckeditor/_samples/jqueryadapter.html +0 -73
  45. data/public/javascripts/ckeditor/_samples/output_for_flash.html +0 -257
  46. data/public/javascripts/ckeditor/_samples/output_html.html +0 -259
  47. data/public/javascripts/ckeditor/_samples/output_xhtml.html +0 -159
  48. data/public/javascripts/ckeditor/_samples/php/advanced.php +0 -93
  49. data/public/javascripts/ckeditor/_samples/php/events.php +0 -130
  50. data/public/javascripts/ckeditor/_samples/php/replace.php +0 -63
  51. data/public/javascripts/ckeditor/_samples/php/replaceall.php +0 -68
  52. data/public/javascripts/ckeditor/_samples/php/standalone.php +0 -64
  53. data/public/javascripts/ckeditor/_samples/replacebyclass.html +0 -49
  54. data/public/javascripts/ckeditor/_samples/replacebycode.html +0 -80
  55. data/public/javascripts/ckeditor/_samples/sample.css +0 -81
  56. data/public/javascripts/ckeditor/_samples/sample.js +0 -65
  57. data/public/javascripts/ckeditor/_samples/sample_posteddata.php +0 -59
  58. data/public/javascripts/ckeditor/_samples/sharedspaces.html +0 -131
  59. data/public/javascripts/ckeditor/_samples/skins.html +0 -83
  60. data/public/javascripts/ckeditor/_samples/ui_color.html +0 -87
  61. data/public/javascripts/ckeditor/_samples/ui_languages.html +0 -103
  62. data/public/javascripts/ckeditor/_source/adapters/jquery.js +0 -297
  63. data/public/javascripts/ckeditor/_source/core/_bootstrap.js +0 -96
  64. data/public/javascripts/ckeditor/_source/core/ajax.js +0 -142
  65. data/public/javascripts/ckeditor/_source/core/ckeditor.js +0 -133
  66. data/public/javascripts/ckeditor/_source/core/ckeditor_base.js +0 -196
  67. data/public/javascripts/ckeditor/_source/core/ckeditor_basic.js +0 -239
  68. data/public/javascripts/ckeditor/_source/core/command.js +0 -209
  69. data/public/javascripts/ckeditor/_source/core/commanddefinition.js +0 -129
  70. data/public/javascripts/ckeditor/_source/core/config.js +0 -430
  71. data/public/javascripts/ckeditor/_source/core/dataprocessor.js +0 -65
  72. data/public/javascripts/ckeditor/_source/core/dom.js +0 -20
  73. data/public/javascripts/ckeditor/_source/core/dom/comment.js +0 -32
  74. data/public/javascripts/ckeditor/_source/core/dom/document.js +0 -224
  75. data/public/javascripts/ckeditor/_source/core/dom/documentfragment.js +0 -49
  76. data/public/javascripts/ckeditor/_source/core/dom/domobject.js +0 -255
  77. data/public/javascripts/ckeditor/_source/core/dom/element.js +0 -1564
  78. data/public/javascripts/ckeditor/_source/core/dom/elementpath.js +0 -119
  79. data/public/javascripts/ckeditor/_source/core/dom/event.js +0 -142
  80. data/public/javascripts/ckeditor/_source/core/dom/node.js +0 -683
  81. data/public/javascripts/ckeditor/_source/core/dom/nodelist.js +0 -26
  82. data/public/javascripts/ckeditor/_source/core/dom/range.js +0 -1883
  83. data/public/javascripts/ckeditor/_source/core/dom/rangelist.js +0 -214
  84. data/public/javascripts/ckeditor/_source/core/dom/text.js +0 -123
  85. data/public/javascripts/ckeditor/_source/core/dom/walker.js +0 -445
  86. data/public/javascripts/ckeditor/_source/core/dom/window.js +0 -96
  87. data/public/javascripts/ckeditor/_source/core/dtd.js +0 -238
  88. data/public/javascripts/ckeditor/_source/core/editor.js +0 -924
  89. data/public/javascripts/ckeditor/_source/core/editor_basic.js +0 -182
  90. data/public/javascripts/ckeditor/_source/core/env.js +0 -270
  91. data/public/javascripts/ckeditor/_source/core/event.js +0 -342
  92. data/public/javascripts/ckeditor/_source/core/eventInfo.js +0 -120
  93. data/public/javascripts/ckeditor/_source/core/focusmanager.js +0 -152
  94. data/public/javascripts/ckeditor/_source/core/htmlparser.js +0 -224
  95. data/public/javascripts/ckeditor/_source/core/htmlparser/basicwriter.js +0 -145
  96. data/public/javascripts/ckeditor/_source/core/htmlparser/cdata.js +0 -43
  97. data/public/javascripts/ckeditor/_source/core/htmlparser/comment.js +0 -60
  98. data/public/javascripts/ckeditor/_source/core/htmlparser/element.js +0 -240
  99. data/public/javascripts/ckeditor/_source/core/htmlparser/filter.js +0 -288
  100. data/public/javascripts/ckeditor/_source/core/htmlparser/fragment.js +0 -504
  101. data/public/javascripts/ckeditor/_source/core/htmlparser/text.js +0 -55
  102. data/public/javascripts/ckeditor/_source/core/imagecacher.js +0 -80
  103. data/public/javascripts/ckeditor/_source/core/lang.js +0 -156
  104. data/public/javascripts/ckeditor/_source/core/loader.js +0 -243
  105. data/public/javascripts/ckeditor/_source/core/plugindefinition.js +0 -66
  106. data/public/javascripts/ckeditor/_source/core/plugins.js +0 -85
  107. data/public/javascripts/ckeditor/_source/core/resourcemanager.js +0 -238
  108. data/public/javascripts/ckeditor/_source/core/scriptloader.js +0 -200
  109. data/public/javascripts/ckeditor/_source/core/skins.js +0 -212
  110. data/public/javascripts/ckeditor/_source/core/themes.js +0 -19
  111. data/public/javascripts/ckeditor/_source/core/tools.js +0 -734
  112. data/public/javascripts/ckeditor/_source/core/ui.js +0 -116
  113. data/public/javascripts/ckeditor/_source/core/xml.js +0 -165
  114. data/public/javascripts/ckeditor/_source/lang/_languages.js +0 -83
  115. data/public/javascripts/ckeditor/_source/lang/_translationstatus.txt +0 -60
  116. data/public/javascripts/ckeditor/_source/lang/af.js +0 -758
  117. data/public/javascripts/ckeditor/_source/lang/ar.js +0 -758
  118. data/public/javascripts/ckeditor/_source/lang/bg.js +0 -758
  119. data/public/javascripts/ckeditor/_source/lang/bn.js +0 -758
  120. data/public/javascripts/ckeditor/_source/lang/bs.js +0 -758
  121. data/public/javascripts/ckeditor/_source/lang/ca.js +0 -758
  122. data/public/javascripts/ckeditor/_source/lang/cs.js +0 -758
  123. data/public/javascripts/ckeditor/_source/lang/cy.js +0 -758
  124. data/public/javascripts/ckeditor/_source/lang/da.js +0 -758
  125. data/public/javascripts/ckeditor/_source/lang/de.js +0 -758
  126. data/public/javascripts/ckeditor/_source/lang/el.js +0 -758
  127. data/public/javascripts/ckeditor/_source/lang/en-au.js +0 -758
  128. data/public/javascripts/ckeditor/_source/lang/en-ca.js +0 -758
  129. data/public/javascripts/ckeditor/_source/lang/en-gb.js +0 -758
  130. data/public/javascripts/ckeditor/_source/lang/en.js +0 -758
  131. data/public/javascripts/ckeditor/_source/lang/eo.js +0 -758
  132. data/public/javascripts/ckeditor/_source/lang/es.js +0 -758
  133. data/public/javascripts/ckeditor/_source/lang/et.js +0 -758
  134. data/public/javascripts/ckeditor/_source/lang/eu.js +0 -758
  135. data/public/javascripts/ckeditor/_source/lang/fa.js +0 -758
  136. data/public/javascripts/ckeditor/_source/lang/fi.js +0 -758
  137. data/public/javascripts/ckeditor/_source/lang/fo.js +0 -758
  138. data/public/javascripts/ckeditor/_source/lang/fr-ca.js +0 -758
  139. data/public/javascripts/ckeditor/_source/lang/fr.js +0 -758
  140. data/public/javascripts/ckeditor/_source/lang/gl.js +0 -758
  141. data/public/javascripts/ckeditor/_source/lang/gu.js +0 -758
  142. data/public/javascripts/ckeditor/_source/lang/he.js +0 -758
  143. data/public/javascripts/ckeditor/_source/lang/hi.js +0 -758
  144. data/public/javascripts/ckeditor/_source/lang/hr.js +0 -758
  145. data/public/javascripts/ckeditor/_source/lang/hu.js +0 -758
  146. data/public/javascripts/ckeditor/_source/lang/is.js +0 -758
  147. data/public/javascripts/ckeditor/_source/lang/it.js +0 -758
  148. data/public/javascripts/ckeditor/_source/lang/ja.js +0 -758
  149. data/public/javascripts/ckeditor/_source/lang/km.js +0 -758
  150. data/public/javascripts/ckeditor/_source/lang/ko.js +0 -758
  151. data/public/javascripts/ckeditor/_source/lang/lt.js +0 -758
  152. data/public/javascripts/ckeditor/_source/lang/lv.js +0 -758
  153. data/public/javascripts/ckeditor/_source/lang/mn.js +0 -758
  154. data/public/javascripts/ckeditor/_source/lang/ms.js +0 -758
  155. data/public/javascripts/ckeditor/_source/lang/nb.js +0 -758
  156. data/public/javascripts/ckeditor/_source/lang/nl.js +0 -758
  157. data/public/javascripts/ckeditor/_source/lang/no.js +0 -758
  158. data/public/javascripts/ckeditor/_source/lang/pl.js +0 -758
  159. data/public/javascripts/ckeditor/_source/lang/pt-br.js +0 -757
  160. data/public/javascripts/ckeditor/_source/lang/pt.js +0 -758
  161. data/public/javascripts/ckeditor/_source/lang/ro.js +0 -758
  162. data/public/javascripts/ckeditor/_source/lang/ru.js +0 -758
  163. data/public/javascripts/ckeditor/_source/lang/sk.js +0 -758
  164. data/public/javascripts/ckeditor/_source/lang/sl.js +0 -758
  165. data/public/javascripts/ckeditor/_source/lang/sr-latn.js +0 -758
  166. data/public/javascripts/ckeditor/_source/lang/sr.js +0 -758
  167. data/public/javascripts/ckeditor/_source/lang/sv.js +0 -758
  168. data/public/javascripts/ckeditor/_source/lang/th.js +0 -758
  169. data/public/javascripts/ckeditor/_source/lang/tr.js +0 -757
  170. data/public/javascripts/ckeditor/_source/lang/uk.js +0 -758
  171. data/public/javascripts/ckeditor/_source/lang/vi.js +0 -758
  172. data/public/javascripts/ckeditor/_source/lang/zh-cn.js +0 -758
  173. data/public/javascripts/ckeditor/_source/lang/zh.js +0 -758
  174. data/public/javascripts/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +0 -211
  175. data/public/javascripts/ckeditor/_source/plugins/a11yhelp/lang/en.js +0 -108
  176. data/public/javascripts/ckeditor/_source/plugins/a11yhelp/lang/he.js +0 -216
  177. data/public/javascripts/ckeditor/_source/plugins/a11yhelp/plugin.js +0 -46
  178. data/public/javascripts/ckeditor/_source/plugins/about/dialogs/about.js +0 -73
  179. data/public/javascripts/ckeditor/_source/plugins/about/dialogs/logo_ckeditor.png +0 -0
  180. data/public/javascripts/ckeditor/_source/plugins/about/plugin.js +0 -23
  181. data/public/javascripts/ckeditor/_source/plugins/ajax_save/plugin.js +0 -44
  182. data/public/javascripts/ckeditor/_source/plugins/attachment/dialogs/attachment.js +0 -384
  183. data/public/javascripts/ckeditor/_source/plugins/attachment/images/attachment.png +0 -0
  184. data/public/javascripts/ckeditor/_source/plugins/attachment/lang/en.js +0 -10
  185. data/public/javascripts/ckeditor/_source/plugins/attachment/lang/ru.js +0 -10
  186. data/public/javascripts/ckeditor/_source/plugins/attachment/lang/uk.js +0 -10
  187. data/public/javascripts/ckeditor/_source/plugins/attachment/plugin.js +0 -44
  188. data/public/javascripts/ckeditor/_source/plugins/autogrow/plugin.js +0 -86
  189. data/public/javascripts/ckeditor/_source/plugins/basicstyles/plugin.js +0 -101
  190. data/public/javascripts/ckeditor/_source/plugins/bidi/plugin.js +0 -259
  191. data/public/javascripts/ckeditor/_source/plugins/blockquote/plugin.js +0 -301
  192. data/public/javascripts/ckeditor/_source/plugins/button/plugin.js +0 -277
  193. data/public/javascripts/ckeditor/_source/plugins/clipboard/dialogs/paste.js +0 -205
  194. data/public/javascripts/ckeditor/_source/plugins/clipboard/plugin.js +0 -412
  195. data/public/javascripts/ckeditor/_source/plugins/colorbutton/plugin.js +0 -250
  196. data/public/javascripts/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +0 -336
  197. data/public/javascripts/ckeditor/_source/plugins/colordialog/plugin.js +0 -13
  198. data/public/javascripts/ckeditor/_source/plugins/contextmenu/plugin.js +0 -290
  199. data/public/javascripts/ckeditor/_source/plugins/dialog/dialogDefinition.js +0 -315
  200. data/public/javascripts/ckeditor/_source/plugins/dialog/plugin.js +0 -3015
  201. data/public/javascripts/ckeditor/_source/plugins/dialogadvtab/plugin.js +0 -213
  202. data/public/javascripts/ckeditor/_source/plugins/dialogui/plugin.js +0 -1523
  203. data/public/javascripts/ckeditor/_source/plugins/div/dialogs/div.js +0 -535
  204. data/public/javascripts/ckeditor/_source/plugins/div/plugin.js +0 -121
  205. data/public/javascripts/ckeditor/_source/plugins/domiterator/plugin.js +0 -356
  206. data/public/javascripts/ckeditor/_source/plugins/editingblock/plugin.js +0 -229
  207. data/public/javascripts/ckeditor/_source/plugins/elementspath/plugin.js +0 -206
  208. data/public/javascripts/ckeditor/_source/plugins/embed/dialogs/embed.js +0 -65
  209. data/public/javascripts/ckeditor/_source/plugins/embed/images/embed.png +0 -0
  210. data/public/javascripts/ckeditor/_source/plugins/embed/lang/en.js +0 -9
  211. data/public/javascripts/ckeditor/_source/plugins/embed/lang/ru.js +0 -9
  212. data/public/javascripts/ckeditor/_source/plugins/embed/lang/uk.js +0 -9
  213. data/public/javascripts/ckeditor/_source/plugins/embed/plugin.js +0 -44
  214. data/public/javascripts/ckeditor/_source/plugins/enterkey/plugin.js +0 -363
  215. data/public/javascripts/ckeditor/_source/plugins/entities/plugin.js +0 -226
  216. data/public/javascripts/ckeditor/_source/plugins/fakeobjects/plugin.js +0 -122
  217. data/public/javascripts/ckeditor/_source/plugins/filebrowser/plugin.js +0 -501
  218. data/public/javascripts/ckeditor/_source/plugins/find/dialogs/find.js +0 -890
  219. data/public/javascripts/ckeditor/_source/plugins/find/plugin.js +0 -46
  220. data/public/javascripts/ckeditor/_source/plugins/flash/dialogs/flash.js +0 -698
  221. data/public/javascripts/ckeditor/_source/plugins/flash/images/placeholder.png +0 -0
  222. data/public/javascripts/ckeditor/_source/plugins/flash/plugin.js +0 -168
  223. data/public/javascripts/ckeditor/_source/plugins/floatpanel/plugin.js +0 -402
  224. data/public/javascripts/ckeditor/_source/plugins/font/plugin.js +0 -234
  225. data/public/javascripts/ckeditor/_source/plugins/format/plugin.js +0 -194
  226. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/button.js +0 -135
  227. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/checkbox.js +0 -153
  228. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/form.js +0 -177
  229. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +0 -98
  230. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/radio.js +0 -135
  231. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/select.js +0 -556
  232. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/textarea.js +0 -114
  233. data/public/javascripts/ckeditor/_source/plugins/forms/dialogs/textfield.js +0 -199
  234. data/public/javascripts/ckeditor/_source/plugins/forms/images/hiddenfield.gif +0 -0
  235. data/public/javascripts/ckeditor/_source/plugins/forms/plugin.js +0 -284
  236. data/public/javascripts/ckeditor/_source/plugins/horizontalrule/plugin.js +0 -36
  237. data/public/javascripts/ckeditor/_source/plugins/htmldataprocessor/plugin.js +0 -502
  238. data/public/javascripts/ckeditor/_source/plugins/htmlwriter/plugin.js +0 -319
  239. data/public/javascripts/ckeditor/_source/plugins/iframedialog/plugin.js +0 -136
  240. data/public/javascripts/ckeditor/_source/plugins/image/dialogs/image.js +0 -1396
  241. data/public/javascripts/ckeditor/_source/plugins/image/plugin.js +0 -81
  242. data/public/javascripts/ckeditor/_source/plugins/indent/plugin.js +0 -455
  243. data/public/javascripts/ckeditor/_source/plugins/justify/plugin.js +0 -221
  244. data/public/javascripts/ckeditor/_source/plugins/keystrokes/plugin.js +0 -225
  245. data/public/javascripts/ckeditor/_source/plugins/link/dialogs/anchor.js +0 -99
  246. data/public/javascripts/ckeditor/_source/plugins/link/dialogs/link.js +0 -1424
  247. data/public/javascripts/ckeditor/_source/plugins/link/images/anchor.gif +0 -0
  248. data/public/javascripts/ckeditor/_source/plugins/link/plugin.js +0 -238
  249. data/public/javascripts/ckeditor/_source/plugins/list/plugin.js +0 -710
  250. data/public/javascripts/ckeditor/_source/plugins/listblock/plugin.js +0 -257
  251. data/public/javascripts/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +0 -204
  252. data/public/javascripts/ckeditor/_source/plugins/liststyle/plugin.js +0 -66
  253. data/public/javascripts/ckeditor/_source/plugins/maximize/plugin.js +0 -350
  254. data/public/javascripts/ckeditor/_source/plugins/menu/plugin.js +0 -408
  255. data/public/javascripts/ckeditor/_source/plugins/menubutton/plugin.js +0 -94
  256. data/public/javascripts/ckeditor/_source/plugins/newpage/plugin.js +0 -53
  257. data/public/javascripts/ckeditor/_source/plugins/pagebreak/images/pagebreak.gif +0 -0
  258. data/public/javascripts/ckeditor/_source/plugins/pagebreak/plugin.js +0 -121
  259. data/public/javascripts/ckeditor/_source/plugins/panel/plugin.js +0 -399
  260. data/public/javascripts/ckeditor/_source/plugins/panelbutton/plugin.js +0 -147
  261. data/public/javascripts/ckeditor/_source/plugins/pastefromword/filter/default.js +0 -1170
  262. data/public/javascripts/ckeditor/_source/plugins/pastefromword/plugin.js +0 -122
  263. data/public/javascripts/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +0 -70
  264. data/public/javascripts/ckeditor/_source/plugins/pastetext/plugin.js +0 -145
  265. data/public/javascripts/ckeditor/_source/plugins/popup/plugin.js +0 -64
  266. data/public/javascripts/ckeditor/_source/plugins/preview/plugin.js +0 -108
  267. data/public/javascripts/ckeditor/_source/plugins/print/plugin.js +0 -41
  268. data/public/javascripts/ckeditor/_source/plugins/removeformat/plugin.js +0 -184
  269. data/public/javascripts/ckeditor/_source/plugins/resize/plugin.js +0 -157
  270. data/public/javascripts/ckeditor/_source/plugins/richcombo/plugin.js +0 -370
  271. data/public/javascripts/ckeditor/_source/plugins/save/plugin.js +0 -55
  272. data/public/javascripts/ckeditor/_source/plugins/scayt/dialogs/options.js +0 -534
  273. data/public/javascripts/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +0 -71
  274. data/public/javascripts/ckeditor/_source/plugins/scayt/plugin.js +0 -945
  275. data/public/javascripts/ckeditor/_source/plugins/selection/plugin.js +0 -1375
  276. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_address.png +0 -0
  277. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_blockquote.png +0 -0
  278. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_div.png +0 -0
  279. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h1.png +0 -0
  280. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h2.png +0 -0
  281. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h3.png +0 -0
  282. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h4.png +0 -0
  283. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h5.png +0 -0
  284. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_h6.png +0 -0
  285. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_p.png +0 -0
  286. data/public/javascripts/ckeditor/_source/plugins/showblocks/images/block_pre.png +0 -0
  287. data/public/javascripts/ckeditor/_source/plugins/showblocks/plugin.js +0 -155
  288. data/public/javascripts/ckeditor/_source/plugins/showborders/plugin.js +0 -201
  289. data/public/javascripts/ckeditor/_source/plugins/smiley/dialogs/smiley.js +0 -218
  290. data/public/javascripts/ckeditor/_source/plugins/smiley/images/angel_smile.gif +0 -0
  291. data/public/javascripts/ckeditor/_source/plugins/smiley/images/angry_smile.gif +0 -0
  292. data/public/javascripts/ckeditor/_source/plugins/smiley/images/broken_heart.gif +0 -0
  293. data/public/javascripts/ckeditor/_source/plugins/smiley/images/confused_smile.gif +0 -0
  294. data/public/javascripts/ckeditor/_source/plugins/smiley/images/cry_smile.gif +0 -0
  295. data/public/javascripts/ckeditor/_source/plugins/smiley/images/devil_smile.gif +0 -0
  296. data/public/javascripts/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif +0 -0
  297. data/public/javascripts/ckeditor/_source/plugins/smiley/images/envelope.gif +0 -0
  298. data/public/javascripts/ckeditor/_source/plugins/smiley/images/heart.gif +0 -0
  299. data/public/javascripts/ckeditor/_source/plugins/smiley/images/kiss.gif +0 -0
  300. data/public/javascripts/ckeditor/_source/plugins/smiley/images/lightbulb.gif +0 -0
  301. data/public/javascripts/ckeditor/_source/plugins/smiley/images/omg_smile.gif +0 -0
  302. data/public/javascripts/ckeditor/_source/plugins/smiley/images/regular_smile.gif +0 -0
  303. data/public/javascripts/ckeditor/_source/plugins/smiley/images/sad_smile.gif +0 -0
  304. data/public/javascripts/ckeditor/_source/plugins/smiley/images/shades_smile.gif +0 -0
  305. data/public/javascripts/ckeditor/_source/plugins/smiley/images/teeth_smile.gif +0 -0
  306. data/public/javascripts/ckeditor/_source/plugins/smiley/images/thumbs_down.gif +0 -0
  307. data/public/javascripts/ckeditor/_source/plugins/smiley/images/thumbs_up.gif +0 -0
  308. data/public/javascripts/ckeditor/_source/plugins/smiley/images/tounge_smile.gif +0 -0
  309. data/public/javascripts/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  310. data/public/javascripts/ckeditor/_source/plugins/smiley/images/wink_smile.gif +0 -0
  311. data/public/javascripts/ckeditor/_source/plugins/smiley/plugin.js +0 -94
  312. data/public/javascripts/ckeditor/_source/plugins/sourcearea/plugin.js +0 -207
  313. data/public/javascripts/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +0 -409
  314. data/public/javascripts/ckeditor/_source/plugins/specialchar/plugin.js +0 -29
  315. data/public/javascripts/ckeditor/_source/plugins/styles/plugin.js +0 -1479
  316. data/public/javascripts/ckeditor/_source/plugins/styles/styles/default.js +0 -88
  317. data/public/javascripts/ckeditor/_source/plugins/stylescombo/plugin.js +0 -206
  318. data/public/javascripts/ckeditor/_source/plugins/tab/plugin.js +0 -367
  319. data/public/javascripts/ckeditor/_source/plugins/table/dialogs/table.js +0 -672
  320. data/public/javascripts/ckeditor/_source/plugins/table/plugin.js +0 -78
  321. data/public/javascripts/ckeditor/_source/plugins/tableresize/plugin.js +0 -450
  322. data/public/javascripts/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +0 -533
  323. data/public/javascripts/ckeditor/_source/plugins/tabletools/plugin.js +0 -1120
  324. data/public/javascripts/ckeditor/_source/plugins/templates/dialogs/templates.js +0 -233
  325. data/public/javascripts/ckeditor/_source/plugins/templates/plugin.js +0 -99
  326. data/public/javascripts/ckeditor/_source/plugins/templates/templates/default.js +0 -94
  327. data/public/javascripts/ckeditor/_source/plugins/templates/templates/images/template1.gif +0 -0
  328. data/public/javascripts/ckeditor/_source/plugins/templates/templates/images/template2.gif +0 -0
  329. data/public/javascripts/ckeditor/_source/plugins/templates/templates/images/template3.gif +0 -0
  330. data/public/javascripts/ckeditor/_source/plugins/toolbar/plugin.js +0 -481
  331. data/public/javascripts/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +0 -205
  332. data/public/javascripts/ckeditor/_source/plugins/uicolor/lang/en.js +0 -15
  333. data/public/javascripts/ckeditor/_source/plugins/uicolor/lang/he.js +0 -15
  334. data/public/javascripts/ckeditor/_source/plugins/uicolor/plugin.js +0 -37
  335. data/public/javascripts/ckeditor/_source/plugins/uicolor/uicolor.gif +0 -0
  336. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  337. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  338. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  339. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  340. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +0 -15
  341. data/public/javascripts/ckeditor/_source/plugins/uicolor/yui/yui.js +0 -71
  342. data/public/javascripts/ckeditor/_source/plugins/undo/plugin.js +0 -554
  343. data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +0 -49
  344. data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +0 -52
  345. data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/wsc.css +0 -82
  346. data/public/javascripts/ckeditor/_source/plugins/wsc/dialogs/wsc.js +0 -176
  347. data/public/javascripts/ckeditor/_source/plugins/wsc/plugin.js +0 -33
  348. data/public/javascripts/ckeditor/_source/plugins/wysiwygarea/plugin.js +0 -1146
  349. data/public/javascripts/ckeditor/_source/skins/kama/dialog.css +0 -882
  350. data/public/javascripts/ckeditor/_source/skins/kama/editor.css +0 -25
  351. data/public/javascripts/ckeditor/_source/skins/kama/elementspath.css +0 -73
  352. data/public/javascripts/ckeditor/_source/skins/kama/icons.css +0 -357
  353. data/public/javascripts/ckeditor/_source/skins/kama/icons.png +0 -0
  354. data/public/javascripts/ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  355. data/public/javascripts/ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
  356. data/public/javascripts/ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
  357. data/public/javascripts/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
  358. data/public/javascripts/ckeditor/_source/skins/kama/images/mini.gif +0 -0
  359. data/public/javascripts/ckeditor/_source/skins/kama/images/noimage.png +0 -0
  360. data/public/javascripts/ckeditor/_source/skins/kama/images/sprites.png +0 -0
  361. data/public/javascripts/ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
  362. data/public/javascripts/ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
  363. data/public/javascripts/ckeditor/_source/skins/kama/mainui.css +0 -195
  364. data/public/javascripts/ckeditor/_source/skins/kama/menu.css +0 -216
  365. data/public/javascripts/ckeditor/_source/skins/kama/panel.css +0 -217
  366. data/public/javascripts/ckeditor/_source/skins/kama/presets.css +0 -49
  367. data/public/javascripts/ckeditor/_source/skins/kama/reset.css +0 -84
  368. data/public/javascripts/ckeditor/_source/skins/kama/richcombo.css +0 -277
  369. data/public/javascripts/ckeditor/_source/skins/kama/skin.js +0 -268
  370. data/public/javascripts/ckeditor/_source/skins/kama/templates.css +0 -88
  371. data/public/javascripts/ckeditor/_source/skins/kama/toolbar.css +0 -409
  372. data/public/javascripts/ckeditor/_source/skins/office2003/dialog.css +0 -785
  373. data/public/javascripts/ckeditor/_source/skins/office2003/editor.css +0 -25
  374. data/public/javascripts/ckeditor/_source/skins/office2003/elementspath.css +0 -74
  375. data/public/javascripts/ckeditor/_source/skins/office2003/icons.css +0 -354
  376. data/public/javascripts/ckeditor/_source/skins/office2003/icons.png +0 -0
  377. data/public/javascripts/ckeditor/_source/skins/office2003/icons_rtl.png +0 -0
  378. data/public/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides.gif +0 -0
  379. data/public/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides.png +0 -0
  380. data/public/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png +0 -0
  381. data/public/javascripts/ckeditor/_source/skins/office2003/images/mini.gif +0 -0
  382. data/public/javascripts/ckeditor/_source/skins/office2003/images/noimage.png +0 -0
  383. data/public/javascripts/ckeditor/_source/skins/office2003/images/sprites.png +0 -0
  384. data/public/javascripts/ckeditor/_source/skins/office2003/images/sprites_ie6.png +0 -0
  385. data/public/javascripts/ckeditor/_source/skins/office2003/mainui.css +0 -145
  386. data/public/javascripts/ckeditor/_source/skins/office2003/menu.css +0 -213
  387. data/public/javascripts/ckeditor/_source/skins/office2003/panel.css +0 -212
  388. data/public/javascripts/ckeditor/_source/skins/office2003/presets.css +0 -49
  389. data/public/javascripts/ckeditor/_source/skins/office2003/reset.css +0 -84
  390. data/public/javascripts/ckeditor/_source/skins/office2003/richcombo.css +0 -297
  391. data/public/javascripts/ckeditor/_source/skins/office2003/skin.js +0 -81
  392. data/public/javascripts/ckeditor/_source/skins/office2003/templates.css +0 -87
  393. data/public/javascripts/ckeditor/_source/skins/office2003/toolbar.css +0 -470
  394. data/public/javascripts/ckeditor/_source/skins/v2/dialog.css +0 -800
  395. data/public/javascripts/ckeditor/_source/skins/v2/editor.css +0 -25
  396. data/public/javascripts/ckeditor/_source/skins/v2/elementspath.css +0 -74
  397. data/public/javascripts/ckeditor/_source/skins/v2/icons.css +0 -354
  398. data/public/javascripts/ckeditor/_source/skins/v2/icons.png +0 -0
  399. data/public/javascripts/ckeditor/_source/skins/v2/icons_rtl.png +0 -0
  400. data/public/javascripts/ckeditor/_source/skins/v2/images/dialog_sides.gif +0 -0
  401. data/public/javascripts/ckeditor/_source/skins/v2/images/dialog_sides.png +0 -0
  402. data/public/javascripts/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png +0 -0
  403. data/public/javascripts/ckeditor/_source/skins/v2/images/mini.gif +0 -0
  404. data/public/javascripts/ckeditor/_source/skins/v2/images/noimage.png +0 -0
  405. data/public/javascripts/ckeditor/_source/skins/v2/images/sprites.png +0 -0
  406. data/public/javascripts/ckeditor/_source/skins/v2/images/sprites_ie6.png +0 -0
  407. data/public/javascripts/ckeditor/_source/skins/v2/images/toolbar_start.gif +0 -0
  408. data/public/javascripts/ckeditor/_source/skins/v2/mainui.css +0 -154
  409. data/public/javascripts/ckeditor/_source/skins/v2/menu.css +0 -215
  410. data/public/javascripts/ckeditor/_source/skins/v2/panel.css +0 -212
  411. data/public/javascripts/ckeditor/_source/skins/v2/presets.css +0 -50
  412. data/public/javascripts/ckeditor/_source/skins/v2/reset.css +0 -84
  413. data/public/javascripts/ckeditor/_source/skins/v2/richcombo.css +0 -297
  414. data/public/javascripts/ckeditor/_source/skins/v2/skin.js +0 -77
  415. data/public/javascripts/ckeditor/_source/skins/v2/templates.css +0 -87
  416. data/public/javascripts/ckeditor/_source/skins/v2/toolbar.css +0 -423
  417. data/public/javascripts/ckeditor/_source/themes/default/theme.js +0 -361
  418. data/public/javascripts/ckeditor/adapters/jquery.js +0 -6
  419. data/public/javascripts/ckeditor/ckeditor.js +0 -137
  420. data/public/javascripts/ckeditor/ckeditor.pack +0 -211
  421. data/public/javascripts/ckeditor/ckeditor_basic.js +0 -8
  422. data/public/javascripts/ckeditor/ckeditor_basic_source.js +0 -20
  423. data/public/javascripts/ckeditor/ckeditor_source.js +0 -25
  424. data/public/javascripts/ckeditor/config.js +0 -43
  425. data/public/javascripts/ckeditor/contents.css +0 -39
  426. data/public/javascripts/ckeditor/css/ckfinder.css +0 -299
  427. data/public/javascripts/ckeditor/css/fck_dialog.css +0 -119
  428. data/public/javascripts/ckeditor/css/fck_editor.css +0 -448
  429. data/public/javascripts/ckeditor/css/swfupload.css +0 -94
  430. data/public/javascripts/ckeditor/images/add.gif +0 -0
  431. data/public/javascripts/ckeditor/images/cancelbutton.gif +0 -0
  432. data/public/javascripts/ckeditor/images/ckfnothumb.gif +0 -0
  433. data/public/javascripts/ckeditor/images/doc.gif +0 -0
  434. data/public/javascripts/ckeditor/images/mp3.gif +0 -0
  435. data/public/javascripts/ckeditor/images/pdf.gif +0 -0
  436. data/public/javascripts/ckeditor/images/rar.gif +0 -0
  437. data/public/javascripts/ckeditor/images/refresh.gif +0 -0
  438. data/public/javascripts/ckeditor/images/select_files.png +0 -0
  439. data/public/javascripts/ckeditor/images/spacer.gif +0 -0
  440. data/public/javascripts/ckeditor/images/swf.gif +0 -0
  441. data/public/javascripts/ckeditor/images/toolbar.start.gif +0 -0
  442. data/public/javascripts/ckeditor/images/xls.gif +0 -0
  443. data/public/javascripts/ckeditor/lang/_languages.js +0 -6
  444. data/public/javascripts/ckeditor/lang/_translationstatus.txt +0 -60
  445. data/public/javascripts/ckeditor/lang/af.js +0 -6
  446. data/public/javascripts/ckeditor/lang/ar.js +0 -6
  447. data/public/javascripts/ckeditor/lang/bg.js +0 -6
  448. data/public/javascripts/ckeditor/lang/bn.js +0 -6
  449. data/public/javascripts/ckeditor/lang/bs.js +0 -6
  450. data/public/javascripts/ckeditor/lang/ca.js +0 -6
  451. data/public/javascripts/ckeditor/lang/cs.js +0 -6
  452. data/public/javascripts/ckeditor/lang/cy.js +0 -6
  453. data/public/javascripts/ckeditor/lang/da.js +0 -6
  454. data/public/javascripts/ckeditor/lang/de.js +0 -6
  455. data/public/javascripts/ckeditor/lang/el.js +0 -6
  456. data/public/javascripts/ckeditor/lang/en-au.js +0 -6
  457. data/public/javascripts/ckeditor/lang/en-ca.js +0 -6
  458. data/public/javascripts/ckeditor/lang/en-gb.js +0 -6
  459. data/public/javascripts/ckeditor/lang/en.js +0 -6
  460. data/public/javascripts/ckeditor/lang/eo.js +0 -6
  461. data/public/javascripts/ckeditor/lang/es.js +0 -6
  462. data/public/javascripts/ckeditor/lang/et.js +0 -6
  463. data/public/javascripts/ckeditor/lang/eu.js +0 -6
  464. data/public/javascripts/ckeditor/lang/fa.js +0 -6
  465. data/public/javascripts/ckeditor/lang/fi.js +0 -6
  466. data/public/javascripts/ckeditor/lang/fo.js +0 -6
  467. data/public/javascripts/ckeditor/lang/fr-ca.js +0 -6
  468. data/public/javascripts/ckeditor/lang/fr.js +0 -6
  469. data/public/javascripts/ckeditor/lang/gl.js +0 -6
  470. data/public/javascripts/ckeditor/lang/gu.js +0 -6
  471. data/public/javascripts/ckeditor/lang/he.js +0 -6
  472. data/public/javascripts/ckeditor/lang/hi.js +0 -6
  473. data/public/javascripts/ckeditor/lang/hr.js +0 -6
  474. data/public/javascripts/ckeditor/lang/hu.js +0 -6
  475. data/public/javascripts/ckeditor/lang/is.js +0 -6
  476. data/public/javascripts/ckeditor/lang/it.js +0 -6
  477. data/public/javascripts/ckeditor/lang/ja.js +0 -6
  478. data/public/javascripts/ckeditor/lang/km.js +0 -6
  479. data/public/javascripts/ckeditor/lang/ko.js +0 -6
  480. data/public/javascripts/ckeditor/lang/lt.js +0 -6
  481. data/public/javascripts/ckeditor/lang/lv.js +0 -6
  482. data/public/javascripts/ckeditor/lang/mn.js +0 -6
  483. data/public/javascripts/ckeditor/lang/ms.js +0 -6
  484. data/public/javascripts/ckeditor/lang/nb.js +0 -6
  485. data/public/javascripts/ckeditor/lang/nl.js +0 -6
  486. data/public/javascripts/ckeditor/lang/no.js +0 -6
  487. data/public/javascripts/ckeditor/lang/pl.js +0 -6
  488. data/public/javascripts/ckeditor/lang/pt-br.js +0 -6
  489. data/public/javascripts/ckeditor/lang/pt.js +0 -6
  490. data/public/javascripts/ckeditor/lang/ro.js +0 -6
  491. data/public/javascripts/ckeditor/lang/ru.js +0 -6
  492. data/public/javascripts/ckeditor/lang/sk.js +0 -6
  493. data/public/javascripts/ckeditor/lang/sl.js +0 -6
  494. data/public/javascripts/ckeditor/lang/sr-latn.js +0 -6
  495. data/public/javascripts/ckeditor/lang/sr.js +0 -6
  496. data/public/javascripts/ckeditor/lang/sv.js +0 -6
  497. data/public/javascripts/ckeditor/lang/th.js +0 -6
  498. data/public/javascripts/ckeditor/lang/tr.js +0 -6
  499. data/public/javascripts/ckeditor/lang/uk.js +0 -6
  500. data/public/javascripts/ckeditor/lang/vi.js +0 -6
  501. data/public/javascripts/ckeditor/lang/zh-cn.js +0 -6
  502. data/public/javascripts/ckeditor/lang/zh.js +0 -6
  503. data/public/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +0 -7
  504. data/public/javascripts/ckeditor/plugins/a11yhelp/lang/en.js +0 -6
  505. data/public/javascripts/ckeditor/plugins/a11yhelp/lang/he.js +0 -6
  506. data/public/javascripts/ckeditor/plugins/about/dialogs/about.js +0 -6
  507. data/public/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  508. data/public/javascripts/ckeditor/plugins/ajax_save/plugin.js +0 -1
  509. data/public/javascripts/ckeditor/plugins/attachment/dialogs/attachment.js +0 -1
  510. data/public/javascripts/ckeditor/plugins/attachment/images/attachment.png +0 -0
  511. data/public/javascripts/ckeditor/plugins/attachment/lang/en.js +0 -10
  512. data/public/javascripts/ckeditor/plugins/attachment/lang/ru.js +0 -10
  513. data/public/javascripts/ckeditor/plugins/attachment/lang/uk.js +0 -10
  514. data/public/javascripts/ckeditor/plugins/attachment/plugin.js +0 -1
  515. data/public/javascripts/ckeditor/plugins/autogrow/plugin.js +0 -6
  516. data/public/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +0 -7
  517. data/public/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +0 -7
  518. data/public/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +0 -4
  519. data/public/javascripts/ckeditor/plugins/div/dialogs/div.js +0 -8
  520. data/public/javascripts/ckeditor/plugins/embed/dialogs/embed.js +0 -1
  521. data/public/javascripts/ckeditor/plugins/embed/images/embed.png +0 -0
  522. data/public/javascripts/ckeditor/plugins/embed/lang/en.js +0 -9
  523. data/public/javascripts/ckeditor/plugins/embed/lang/ru.js +0 -9
  524. data/public/javascripts/ckeditor/plugins/embed/lang/uk.js +0 -9
  525. data/public/javascripts/ckeditor/plugins/embed/plugin.js +0 -1
  526. data/public/javascripts/ckeditor/plugins/find/dialogs/find.js +0 -9
  527. data/public/javascripts/ckeditor/plugins/flash/dialogs/flash.js +0 -9
  528. data/public/javascripts/ckeditor/plugins/flash/images/placeholder.png +0 -0
  529. data/public/javascripts/ckeditor/plugins/forms/dialogs/button.js +0 -6
  530. data/public/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +0 -6
  531. data/public/javascripts/ckeditor/plugins/forms/dialogs/form.js +0 -6
  532. data/public/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +0 -6
  533. data/public/javascripts/ckeditor/plugins/forms/dialogs/radio.js +0 -6
  534. data/public/javascripts/ckeditor/plugins/forms/dialogs/select.js +0 -9
  535. data/public/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +0 -6
  536. data/public/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +0 -7
  537. data/public/javascripts/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  538. data/public/javascripts/ckeditor/plugins/iframedialog/plugin.js +0 -6
  539. data/public/javascripts/ckeditor/plugins/image/dialogs/image.js +0 -13
  540. data/public/javascripts/ckeditor/plugins/link/dialogs/anchor.js +0 -6
  541. data/public/javascripts/ckeditor/plugins/link/dialogs/link.js +0 -11
  542. data/public/javascripts/ckeditor/plugins/link/images/anchor.gif +0 -0
  543. data/public/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +0 -6
  544. data/public/javascripts/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  545. data/public/javascripts/ckeditor/plugins/pastefromword/filter/default.js +0 -10
  546. data/public/javascripts/ckeditor/plugins/pastetext/dialogs/pastetext.js +0 -6
  547. data/public/javascripts/ckeditor/plugins/scayt/dialogs/options.js +0 -8
  548. data/public/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -6
  549. data/public/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  550. data/public/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  551. data/public/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  552. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  553. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  554. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  555. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  556. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  557. data/public/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  558. data/public/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  559. data/public/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  560. data/public/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +0 -7
  561. data/public/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  562. data/public/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  563. data/public/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  564. data/public/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  565. data/public/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  566. data/public/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  567. data/public/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  568. data/public/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  569. data/public/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
  570. data/public/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  571. data/public/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  572. data/public/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  573. data/public/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  574. data/public/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  575. data/public/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  576. data/public/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  577. data/public/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  578. data/public/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  579. data/public/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  580. data/public/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  581. data/public/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  582. data/public/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -7
  583. data/public/javascripts/ckeditor/plugins/styles/styles/default.js +0 -6
  584. data/public/javascripts/ckeditor/plugins/table/dialogs/table.js +0 -9
  585. data/public/javascripts/ckeditor/plugins/tableresize/plugin.js +0 -7
  586. data/public/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -8
  587. data/public/javascripts/ckeditor/plugins/templates/dialogs/templates.js +0 -7
  588. data/public/javascripts/ckeditor/plugins/templates/templates/default.js +0 -6
  589. data/public/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  590. data/public/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  591. data/public/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  592. data/public/javascripts/ckeditor/plugins/uicolor/dialogs/uicolor.js +0 -7
  593. data/public/javascripts/ckeditor/plugins/uicolor/lang/en.js +0 -6
  594. data/public/javascripts/ckeditor/plugins/uicolor/lang/he.js +0 -6
  595. data/public/javascripts/ckeditor/plugins/uicolor/plugin.js +0 -6
  596. data/public/javascripts/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  597. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  598. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  599. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  600. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  601. data/public/javascripts/ckeditor/plugins/uicolor/yui/assets/yui.css +0 -6
  602. data/public/javascripts/ckeditor/plugins/uicolor/yui/yui.js +0 -76
  603. data/public/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -49
  604. data/public/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -52
  605. data/public/javascripts/ckeditor/plugins/wsc/dialogs/wsc.css +0 -6
  606. data/public/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +0 -7
  607. data/public/javascripts/ckeditor/skins/kama/dialog.css +0 -9
  608. data/public/javascripts/ckeditor/skins/kama/editor.css +0 -12
  609. data/public/javascripts/ckeditor/skins/kama/icons.png +0 -0
  610. data/public/javascripts/ckeditor/skins/kama/icons_rtl.png +0 -0
  611. data/public/javascripts/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  612. data/public/javascripts/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  613. data/public/javascripts/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  614. data/public/javascripts/ckeditor/skins/kama/images/mini.gif +0 -0
  615. data/public/javascripts/ckeditor/skins/kama/images/noimage.png +0 -0
  616. data/public/javascripts/ckeditor/skins/kama/images/sprites.png +0 -0
  617. data/public/javascripts/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  618. data/public/javascripts/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  619. data/public/javascripts/ckeditor/skins/kama/skin.js +0 -7
  620. data/public/javascripts/ckeditor/skins/kama/templates.css +0 -6
  621. data/public/javascripts/ckeditor/skins/office2003/dialog.css +0 -9
  622. data/public/javascripts/ckeditor/skins/office2003/editor.css +0 -13
  623. data/public/javascripts/ckeditor/skins/office2003/icons.png +0 -0
  624. data/public/javascripts/ckeditor/skins/office2003/icons_rtl.png +0 -0
  625. data/public/javascripts/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  626. data/public/javascripts/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  627. data/public/javascripts/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  628. data/public/javascripts/ckeditor/skins/office2003/images/mini.gif +0 -0
  629. data/public/javascripts/ckeditor/skins/office2003/images/noimage.png +0 -0
  630. data/public/javascripts/ckeditor/skins/office2003/images/sprites.png +0 -0
  631. data/public/javascripts/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  632. data/public/javascripts/ckeditor/skins/office2003/skin.js +0 -6
  633. data/public/javascripts/ckeditor/skins/office2003/templates.css +0 -6
  634. data/public/javascripts/ckeditor/skins/v2/dialog.css +0 -9
  635. data/public/javascripts/ckeditor/skins/v2/editor.css +0 -12
  636. data/public/javascripts/ckeditor/skins/v2/icons.png +0 -0
  637. data/public/javascripts/ckeditor/skins/v2/icons_rtl.png +0 -0
  638. data/public/javascripts/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  639. data/public/javascripts/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  640. data/public/javascripts/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  641. data/public/javascripts/ckeditor/skins/v2/images/mini.gif +0 -0
  642. data/public/javascripts/ckeditor/skins/v2/images/noimage.png +0 -0
  643. data/public/javascripts/ckeditor/skins/v2/images/sprites.png +0 -0
  644. data/public/javascripts/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  645. data/public/javascripts/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  646. data/public/javascripts/ckeditor/skins/v2/skin.js +0 -6
  647. data/public/javascripts/ckeditor/skins/v2/templates.css +0 -6
  648. data/public/javascripts/ckeditor/swfupload/fileprogress.js +0 -275
  649. data/public/javascripts/ckeditor/swfupload/handlers.js +0 -170
  650. data/public/javascripts/ckeditor/swfupload/mootools-1.2.3-core-yc.js +0 -356
  651. data/public/javascripts/ckeditor/swfupload/querystring.js +0 -40
  652. data/public/javascripts/ckeditor/swfupload/swfupload.js +0 -1
  653. data/public/javascripts/ckeditor/swfupload/swfupload.queue.js +0 -1
  654. data/public/javascripts/ckeditor/swfupload/swfupload.swf +0 -0
  655. data/public/javascripts/ckeditor/swfupload/swfupload.swfobject.js +0 -111
  656. data/public/javascripts/ckeditor/themes/default/theme.js +0 -8
  657. data/public/javascripts/controls.js +0 -965
  658. data/public/javascripts/dragdrop.js +0 -974
  659. data/public/javascripts/effects.js +0 -1123
  660. data/public/javascripts/link_obfuscator.js +0 -31
  661. data/public/javascripts/prototype.js +0 -6001
  662. data/public/javascripts/rails.js +0 -175
  663. data/public/robots.txt +0 -5
  664. data/public/stylesheets/core_ie.css +0 -52
  665. data/public/stylesheets/csshover3.htc +0 -14
@@ -1,213 +0,0 @@
1
- /*
2
- Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3
- For licensing, see LICENSE.html or http://ckeditor.com/license
4
- */
5
-
6
- (function()
7
- {
8
-
9
- function setupAdvParams( element )
10
- {
11
- var attrName = this.att;
12
-
13
- var value = element && element.hasAttribute( attrName ) && element.getAttribute( attrName ) || '';
14
-
15
- if ( value !== undefined )
16
- this.setValue( value );
17
- }
18
-
19
- function commitAdvParams()
20
- {
21
- // Dialogs may use different parameters in the commit list, so, by
22
- // definition, we take the first CKEDITOR.dom.element available.
23
- var element;
24
-
25
- for ( var i = 0 ; i < arguments.length ; i++ )
26
- {
27
- if ( arguments[ i ] instanceof CKEDITOR.dom.element )
28
- {
29
- element = arguments[ i ];
30
- break;
31
- }
32
- }
33
-
34
- if ( element )
35
- {
36
- var attrName = this.att,
37
- value = this.getValue();
38
-
39
- // Broadcast Lang Dir change
40
- if ( attrName == 'dir' )
41
- {
42
- var dir = element.getAttribute( attrName, value );
43
- if ( dir != value && element.getParent() )
44
- this._.dialog._.editor.fire( 'dirChanged', element );
45
- }
46
-
47
- if ( value )
48
- element.setAttribute( attrName, value );
49
- else
50
- element.removeAttribute( attrName, value );
51
- }
52
- }
53
-
54
- CKEDITOR.plugins.add( 'dialogadvtab',
55
- {
56
- /**
57
- *
58
- * @param tabConfig
59
- * id, dir, classes, styles
60
- */
61
- createAdvancedTab : function( editor, tabConfig )
62
- {
63
- if ( !tabConfig )
64
- tabConfig = { id:1, dir:1, classes:1, styles:1 };
65
-
66
- var lang = editor.lang.common;
67
-
68
- var result =
69
- {
70
- id : 'advanced',
71
- label : lang.advancedTab,
72
- title : lang.advancedTab,
73
- elements :
74
- [
75
- {
76
- type : 'vbox',
77
- padding : 1,
78
- children : []
79
- }
80
- ]
81
- };
82
-
83
- var contents = [];
84
-
85
- if ( tabConfig.id || tabConfig.dir )
86
- {
87
- if ( tabConfig.id )
88
- {
89
- contents.push(
90
- {
91
- id : 'advId',
92
- att : 'id',
93
- type : 'text',
94
- label : lang.id,
95
- setup : setupAdvParams,
96
- commit : commitAdvParams
97
- });
98
- }
99
-
100
- if ( tabConfig.dir )
101
- {
102
- contents.push(
103
- {
104
- id : 'advLangDir',
105
- att : 'dir',
106
- type : 'select',
107
- label : lang.langDir,
108
- 'default' : '',
109
- style : 'width:100%',
110
- items :
111
- [
112
- [ lang.notSet, '' ],
113
- [ lang.langDirLTR, 'ltr' ],
114
- [ lang.langDirRTL, 'rtl' ]
115
- ],
116
- setup : setupAdvParams,
117
- commit : commitAdvParams
118
- });
119
- }
120
-
121
- result.elements[ 0 ].children.push(
122
- {
123
- type : 'hbox',
124
- widths : [ '50%', '50%' ],
125
- children : [].concat( contents )
126
- });
127
- }
128
-
129
- if ( tabConfig.styles || tabConfig.classes )
130
- {
131
- contents = [];
132
-
133
- if ( tabConfig.styles )
134
- {
135
- contents.push(
136
- {
137
- id : 'advStyles',
138
- att : 'style',
139
- type : 'text',
140
- label : lang.styles,
141
- 'default' : '',
142
-
143
- getStyle : function( name, defaultValue )
144
- {
145
- var match = this.getValue().match( new RegExp( name + '\\s*:\s*([^;]*)', 'i') );
146
- return match ? match[ 1 ] : defaultValue;
147
- },
148
-
149
- updateStyle : function( name, value )
150
- {
151
- var styles = this.getValue();
152
-
153
- // Remove the current value.
154
- if ( styles )
155
- {
156
- styles = styles
157
- .replace( new RegExp( '\\s*' + name + '\s*:[^;]*(?:$|;\s*)', 'i' ), '' )
158
- .replace( /^[;\s]+/, '' )
159
- .replace( /\s+$/, '' );
160
- }
161
-
162
- if ( value )
163
- {
164
- styles && !(/;\s*$/).test( styles ) && ( styles += '; ' );
165
- styles += name + ': ' + value;
166
- }
167
-
168
- this.setValue( styles, 1 );
169
-
170
- },
171
-
172
- setup : setupAdvParams,
173
-
174
- commit : commitAdvParams
175
-
176
- });
177
- }
178
-
179
- if ( tabConfig.classes )
180
- {
181
- contents.push(
182
- {
183
- type : 'hbox',
184
- widths : [ '45%', '55%' ],
185
- children :
186
- [
187
- {
188
- id : 'advCSSClasses',
189
- att : 'class',
190
- type : 'text',
191
- label : lang.cssClasses,
192
- 'default' : '',
193
- setup : setupAdvParams,
194
- commit : commitAdvParams
195
-
196
- }
197
- ]
198
- });
199
- }
200
-
201
- result.elements[ 0 ].children.push(
202
- {
203
- type : 'hbox',
204
- widths : [ '50%', '50%' ],
205
- children : [].concat( contents )
206
- });
207
- }
208
-
209
- return result;
210
- }
211
- });
212
-
213
- })();
@@ -1,1523 +0,0 @@
1
- /*
2
- Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3
- For licensing, see LICENSE.html or http://ckeditor.com/license
4
- */
5
-
6
- /** @fileoverview The "dialogui" plugin. */
7
-
8
- CKEDITOR.plugins.add( 'dialogui' );
9
-
10
- (function()
11
- {
12
- var initPrivateObject = function( elementDefinition )
13
- {
14
- this._ || ( this._ = {} );
15
- this._['default'] = this._.initValue = elementDefinition['default'] || '';
16
- this._.required = elementDefinition[ 'required' ] || false;
17
- var args = [ this._ ];
18
- for ( var i = 1 ; i < arguments.length ; i++ )
19
- args.push( arguments[i] );
20
- args.push( true );
21
- CKEDITOR.tools.extend.apply( CKEDITOR.tools, args );
22
- return this._;
23
- },
24
- textBuilder =
25
- {
26
- build : function( dialog, elementDefinition, output )
27
- {
28
- return new CKEDITOR.ui.dialog.textInput( dialog, elementDefinition, output );
29
- }
30
- },
31
- commonBuilder =
32
- {
33
- build : function( dialog, elementDefinition, output )
34
- {
35
- return new CKEDITOR.ui.dialog[elementDefinition.type]( dialog, elementDefinition, output );
36
- }
37
- },
38
- containerBuilder =
39
- {
40
- build : function( dialog, elementDefinition, output )
41
- {
42
- var children = elementDefinition.children,
43
- child,
44
- childHtmlList = [],
45
- childObjList = [];
46
- for ( var i = 0 ; ( i < children.length && ( child = children[i] ) ) ; i++ )
47
- {
48
- var childHtml = [];
49
- childHtmlList.push( childHtml );
50
- childObjList.push( CKEDITOR.dialog._.uiElementBuilders[ child.type ].build( dialog, child, childHtml ) );
51
- }
52
- return new CKEDITOR.ui.dialog[ elementDefinition.type ]( dialog, childObjList, childHtmlList, output, elementDefinition );
53
- }
54
- },
55
- commonPrototype =
56
- {
57
- isChanged : function()
58
- {
59
- return this.getValue() != this.getInitValue();
60
- },
61
-
62
- reset : function( noChangeEvent )
63
- {
64
- this.setValue( this.getInitValue(), noChangeEvent );
65
- },
66
-
67
- setInitValue : function()
68
- {
69
- this._.initValue = this.getValue();
70
- },
71
-
72
- resetInitValue : function()
73
- {
74
- this._.initValue = this._['default'];
75
- },
76
-
77
- getInitValue : function()
78
- {
79
- return this._.initValue;
80
- }
81
- },
82
- commonEventProcessors = CKEDITOR.tools.extend( {}, CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors,
83
- {
84
- onChange : function( dialog, func )
85
- {
86
- if ( !this._.domOnChangeRegistered )
87
- {
88
- dialog.on( 'load', function()
89
- {
90
- this.getInputElement().on( 'change', function()
91
- {
92
- // Make sure 'onchange' doesn't get fired after dialog closed. (#5719)
93
- if ( !dialog.parts.dialog.isVisible() )
94
- return;
95
-
96
- this.fire( 'change', { value : this.getValue() } );
97
- }, this );
98
- }, this );
99
- this._.domOnChangeRegistered = true;
100
- }
101
-
102
- this.on( 'change', func );
103
- }
104
- }, true ),
105
- eventRegex = /^on([A-Z]\w+)/,
106
- cleanInnerDefinition = function( def )
107
- {
108
- // An inner UI element should not have the parent's type, title or events.
109
- for ( var i in def )
110
- {
111
- if ( eventRegex.test( i ) || i == 'title' || i == 'type' )
112
- delete def[i];
113
- }
114
- return def;
115
- };
116
-
117
- CKEDITOR.tools.extend( CKEDITOR.ui.dialog,
118
- /** @lends CKEDITOR.ui.dialog */
119
- {
120
- /**
121
- * Base class for all dialog elements with a textual label on the left.
122
- * @constructor
123
- * @example
124
- * @extends CKEDITOR.ui.dialog.uiElement
125
- * @param {CKEDITOR.dialog} dialog
126
- * Parent dialog object.
127
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
128
- * The element definition. Accepted fields:
129
- * <ul>
130
- * <li><strong>label</strong> (Required) The label string.</li>
131
- * <li><strong>labelLayout</strong> (Optional) Put 'horizontal' here if the
132
- * label element is to be layed out horizontally. Otherwise a vertical
133
- * layout will be used.</li>
134
- * <li><strong>widths</strong> (Optional) This applies only for horizontal
135
- * layouts - an 2-element array of lengths to specify the widths of the
136
- * label and the content element.</li>
137
- * </ul>
138
- * @param {Array} htmlList
139
- * List of HTML code to output to.
140
- * @param {Function} contentHtml
141
- * A function returning the HTML code string to be added inside the content
142
- * cell.
143
- */
144
- labeledElement : function( dialog, elementDefinition, htmlList, contentHtml )
145
- {
146
- if ( arguments.length < 4 )
147
- return;
148
-
149
- var _ = initPrivateObject.call( this, elementDefinition );
150
- _.labelId = CKEDITOR.tools.getNextId() + '_label';
151
- var children = this._.children = [];
152
- /** @ignore */
153
- var innerHTML = function()
154
- {
155
- var html = [],
156
- requiredClass = elementDefinition.required ? ' cke_required' : '' ;
157
- if ( elementDefinition.labelLayout != 'horizontal' )
158
- html.push( '<label class="cke_dialog_ui_labeled_label' + requiredClass + '" ',
159
- ' id="'+ _.labelId + '"',
160
- ' for="' + _.inputId + '"',
161
- ' style="' + elementDefinition.labelStyle + '">',
162
- elementDefinition.label,
163
- '</label>',
164
- '<div class="cke_dialog_ui_labeled_content" role="presentation">',
165
- contentHtml.call( this, dialog, elementDefinition ),
166
- '</div>' );
167
- else
168
- {
169
- var hboxDefinition = {
170
- type : 'hbox',
171
- widths : elementDefinition.widths,
172
- padding : 0,
173
- children :
174
- [
175
- {
176
- type : 'html',
177
- html : '<label class="cke_dialog_ui_labeled_label' + requiredClass + '"' +
178
- ' id="' + _.labelId + '"' +
179
- ' for="' + _.inputId + '"' +
180
- ' style="' + elementDefinition.labelStyle + '">' +
181
- CKEDITOR.tools.htmlEncode( elementDefinition.label ) +
182
- '</span>'
183
- },
184
- {
185
- type : 'html',
186
- html : '<span class="cke_dialog_ui_labeled_content">' +
187
- contentHtml.call( this, dialog, elementDefinition ) +
188
- '</span>'
189
- }
190
- ]
191
- };
192
- CKEDITOR.dialog._.uiElementBuilders.hbox.build( dialog, hboxDefinition, html );
193
- }
194
- return html.join( '' );
195
- };
196
- CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition, htmlList, 'div', null, { role : 'presentation' }, innerHTML );
197
- },
198
-
199
- /**
200
- * A text input with a label. This UI element class represents both the
201
- * single-line text inputs and password inputs in dialog boxes.
202
- * @constructor
203
- * @example
204
- * @extends CKEDITOR.ui.dialog.labeledElement
205
- * @param {CKEDITOR.dialog} dialog
206
- * Parent dialog object.
207
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
208
- * The element definition. Accepted fields:
209
- * <ul>
210
- * <li><strong>default</strong> (Optional) The default value.</li>
211
- * <li><strong>validate</strong> (Optional) The validation function. </li>
212
- * <li><strong>maxLength</strong> (Optional) The maximum length of text box
213
- * contents.</li>
214
- * <li><strong>size</strong> (Optional) The size of the text box. This is
215
- * usually overridden by the size defined by the skin, however.</li>
216
- * </ul>
217
- * @param {Array} htmlList
218
- * List of HTML code to output to.
219
- */
220
- textInput : function( dialog, elementDefinition, htmlList )
221
- {
222
- if ( arguments.length < 3 )
223
- return;
224
-
225
- initPrivateObject.call( this, elementDefinition );
226
- var domId = this._.inputId = CKEDITOR.tools.getNextId() + '_textInput',
227
- attributes = { 'class' : 'cke_dialog_ui_input_' + elementDefinition.type, id : domId, type : 'text' },
228
- i;
229
-
230
- // Set the validator, if any.
231
- if ( elementDefinition.validate )
232
- this.validate = elementDefinition.validate;
233
-
234
- // Set the max length and size.
235
- if ( elementDefinition.maxLength )
236
- attributes.maxlength = elementDefinition.maxLength;
237
- if ( elementDefinition.size )
238
- attributes.size = elementDefinition.size;
239
-
240
- if ( elementDefinition.controlStyle )
241
- attributes.style = elementDefinition.controlStyle;
242
-
243
- // If user presses Enter in a text box, it implies clicking OK for the dialog.
244
- var me = this, keyPressedOnMe = false;
245
- dialog.on( 'load', function()
246
- {
247
- me.getInputElement().on( 'keydown', function( evt )
248
- {
249
- if ( evt.data.getKeystroke() == 13 )
250
- keyPressedOnMe = true;
251
- } );
252
-
253
- // Lower the priority this 'keyup' since 'ok' will close the dialog.(#3749)
254
- me.getInputElement().on( 'keyup', function( evt )
255
- {
256
- if ( evt.data.getKeystroke() == 13 && keyPressedOnMe )
257
- {
258
- dialog.getButton( 'ok' ) && setTimeout( function ()
259
- {
260
- dialog.getButton( 'ok' ).click();
261
- }, 0 );
262
- keyPressedOnMe = false;
263
- }
264
- }, null, null, 1000 );
265
- } );
266
-
267
- /** @ignore */
268
- var innerHTML = function()
269
- {
270
- // IE BUG: Text input fields in IE at 100% would exceed a <td> or inline
271
- // container's width, so need to wrap it inside a <div>.
272
- var html = [ '<div class="cke_dialog_ui_input_', elementDefinition.type, '" role="presentation"' ];
273
-
274
- if ( elementDefinition.width )
275
- html.push( 'style="width:'+ elementDefinition.width +'" ' );
276
-
277
- html.push( '><input ' );
278
-
279
- attributes[ 'aria-labelledby' ] = this._.labelId;
280
- this._.required && ( attributes[ 'aria-required' ] = this._.required );
281
- for ( var i in attributes )
282
- html.push( i + '="' + attributes[i] + '" ' );
283
- html.push( ' /></div>' );
284
- return html.join( '' );
285
- };
286
- CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML );
287
- },
288
-
289
- /**
290
- * A text area with a label on the top or left.
291
- * @constructor
292
- * @extends CKEDITOR.ui.dialog.labeledElement
293
- * @example
294
- * @param {CKEDITOR.dialog} dialog
295
- * Parent dialog object.
296
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
297
- * The element definition. Accepted fields:
298
- * <ul>
299
- * <li><strong>rows</strong> (Optional) The number of rows displayed.
300
- * Defaults to 5 if not defined.</li>
301
- * <li><strong>cols</strong> (Optional) The number of cols displayed.
302
- * Defaults to 20 if not defined. Usually overridden by skins.</li>
303
- * <li><strong>default</strong> (Optional) The default value.</li>
304
- * <li><strong>validate</strong> (Optional) The validation function. </li>
305
- * </ul>
306
- * @param {Array} htmlList
307
- * List of HTML code to output to.
308
- */
309
- textarea : function( dialog, elementDefinition, htmlList )
310
- {
311
- if ( arguments.length < 3 )
312
- return;
313
-
314
- initPrivateObject.call( this, elementDefinition );
315
- var me = this,
316
- domId = this._.inputId = CKEDITOR.tools.getNextId() + '_textarea',
317
- attributes = {};
318
-
319
- if ( elementDefinition.validate )
320
- this.validate = elementDefinition.validate;
321
-
322
- // Generates the essential attributes for the textarea tag.
323
- attributes.rows = elementDefinition.rows || 5;
324
- attributes.cols = elementDefinition.cols || 20;
325
-
326
- /** @ignore */
327
- var innerHTML = function()
328
- {
329
- attributes[ 'aria-labelledby' ] = this._.labelId;
330
- this._.required && ( attributes[ 'aria-required' ] = this._.required );
331
- var html = [ '<div class="cke_dialog_ui_input_textarea" role="presentation"><textarea class="cke_dialog_ui_input_textarea" id="', domId, '" ' ];
332
- for ( var i in attributes )
333
- html.push( i + '="' + CKEDITOR.tools.htmlEncode( attributes[i] ) + '" ' );
334
- html.push( '>', CKEDITOR.tools.htmlEncode( me._['default'] ), '</textarea></div>' );
335
- return html.join( '' );
336
- };
337
- CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML );
338
- },
339
-
340
- /**
341
- * A single checkbox with a label on the right.
342
- * @constructor
343
- * @extends CKEDITOR.ui.dialog.uiElement
344
- * @example
345
- * @param {CKEDITOR.dialog} dialog
346
- * Parent dialog object.
347
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
348
- * The element definition. Accepted fields:
349
- * <ul>
350
- * <li><strong>checked</strong> (Optional) Whether the checkbox is checked
351
- * on instantiation. Defaults to false.</li>
352
- * <li><strong>validate</strong> (Optional) The validation function.</li>
353
- * <li><strong>label</strong> (Optional) The checkbox label.</li>
354
- * </ul>
355
- * @param {Array} htmlList
356
- * List of HTML code to output to.
357
- */
358
- checkbox : function( dialog, elementDefinition, htmlList )
359
- {
360
- if ( arguments.length < 3 )
361
- return;
362
-
363
- var _ = initPrivateObject.call( this, elementDefinition, { 'default' : !!elementDefinition[ 'default' ] } );
364
-
365
- if ( elementDefinition.validate )
366
- this.validate = elementDefinition.validate;
367
-
368
- /** @ignore */
369
- var innerHTML = function()
370
- {
371
- var myDefinition = CKEDITOR.tools.extend( {}, elementDefinition,
372
- {
373
- id : elementDefinition.id ? elementDefinition.id + '_checkbox' : CKEDITOR.tools.getNextId() + '_checkbox'
374
- }, true ),
375
- html = [];
376
-
377
- var labelId = CKEDITOR.tools.getNextId() + '_label';
378
- var attributes = { 'class' : 'cke_dialog_ui_checkbox_input', type : 'checkbox', 'aria-labelledby' : labelId };
379
- cleanInnerDefinition( myDefinition );
380
- if ( elementDefinition[ 'default' ] )
381
- attributes.checked = 'checked';
382
-
383
- if ( typeof myDefinition.controlStyle != 'undefined' )
384
- myDefinition.style = myDefinition.controlStyle;
385
-
386
- _.checkbox = new CKEDITOR.ui.dialog.uiElement( dialog, myDefinition, html, 'input', null, attributes );
387
- html.push( ' <label id="', labelId, '" for="', attributes.id, '">',
388
- CKEDITOR.tools.htmlEncode( elementDefinition.label ),
389
- '</label>' );
390
- return html.join( '' );
391
- };
392
-
393
- CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition, htmlList, 'span', null, null, innerHTML );
394
- },
395
-
396
- /**
397
- * A group of radio buttons.
398
- * @constructor
399
- * @example
400
- * @extends CKEDITOR.ui.dialog.labeledElement
401
- * @param {CKEDITOR.dialog} dialog
402
- * Parent dialog object.
403
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
404
- * The element definition. Accepted fields:
405
- * <ul>
406
- * <li><strong>default</strong> (Required) The default value.</li>
407
- * <li><strong>validate</strong> (Optional) The validation function.</li>
408
- * <li><strong>items</strong> (Required) An array of options. Each option
409
- * is a 1- or 2-item array of format [ 'Description', 'Value' ]. If 'Value'
410
- * is missing, then the value would be assumed to be the same as the
411
- * description.</li>
412
- * </ul>
413
- * @param {Array} htmlList
414
- * List of HTML code to output to.
415
- */
416
- radio : function( dialog, elementDefinition, htmlList )
417
- {
418
- if ( arguments.length < 3)
419
- return;
420
-
421
- initPrivateObject.call( this, elementDefinition );
422
- if ( !this._['default'] )
423
- this._['default'] = this._.initValue = elementDefinition.items[0][1];
424
- if ( elementDefinition.validate )
425
- this.validate = elementDefinition.valdiate;
426
- var children = [], me = this;
427
-
428
- /** @ignore */
429
- var innerHTML = function()
430
- {
431
- var inputHtmlList = [], html = [],
432
- commonAttributes = { 'class' : 'cke_dialog_ui_radio_item', 'aria-labelledby' : this._.labelId },
433
- commonName = elementDefinition.id ? elementDefinition.id + '_radio' : CKEDITOR.tools.getNextId() + '_radio';
434
- for ( var i = 0 ; i < elementDefinition.items.length ; i++ )
435
- {
436
- var item = elementDefinition.items[i],
437
- title = item[2] !== undefined ? item[2] : item[0],
438
- value = item[1] !== undefined ? item[1] : item[0],
439
- inputId = CKEDITOR.tools.getNextId() + '_radio_input',
440
- labelId = inputId + '_label',
441
- inputDefinition = CKEDITOR.tools.extend( {}, elementDefinition,
442
- {
443
- id : inputId,
444
- title : null,
445
- type : null
446
- }, true ),
447
- labelDefinition = CKEDITOR.tools.extend( {}, inputDefinition,
448
- {
449
- title : title
450
- }, true ),
451
- inputAttributes =
452
- {
453
- type : 'radio',
454
- 'class' : 'cke_dialog_ui_radio_input',
455
- name : commonName,
456
- value : value,
457
- 'aria-labelledby' : labelId
458
- },
459
- inputHtml = [];
460
- if ( me._['default'] == value )
461
- inputAttributes.checked = 'checked';
462
- cleanInnerDefinition( inputDefinition );
463
- cleanInnerDefinition( labelDefinition );
464
-
465
- if ( typeof inputDefinition.controlStyle != 'undefined' )
466
- inputDefinition.style = inputDefinition.controlStyle;
467
-
468
- children.push( new CKEDITOR.ui.dialog.uiElement( dialog, inputDefinition, inputHtml, 'input', null, inputAttributes ) );
469
- inputHtml.push( ' ' );
470
- new CKEDITOR.ui.dialog.uiElement( dialog, labelDefinition, inputHtml, 'label', null, { id : labelId, 'for' : inputAttributes.id },
471
- item[0] );
472
- inputHtmlList.push( inputHtml.join( '' ) );
473
- }
474
- new CKEDITOR.ui.dialog.hbox( dialog, [], inputHtmlList, html );
475
- return html.join( '' );
476
- };
477
-
478
- CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML );
479
- this._.children = children;
480
- },
481
-
482
- /**
483
- * A button with a label inside.
484
- * @constructor
485
- * @example
486
- * @extends CKEDITOR.ui.dialog.uiElement
487
- * @param {CKEDITOR.dialog} dialog
488
- * Parent dialog object.
489
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
490
- * The element definition. Accepted fields:
491
- * <ul>
492
- * <li><strong>label</strong> (Required) The button label.</li>
493
- * <li><strong>disabled</strong> (Optional) Set to true if you want the
494
- * button to appear in disabled state.</li>
495
- * </ul>
496
- * @param {Array} htmlList
497
- * List of HTML code to output to.
498
- */
499
- button : function( dialog, elementDefinition, htmlList )
500
- {
501
- if ( !arguments.length )
502
- return;
503
-
504
- if ( typeof elementDefinition == 'function' )
505
- elementDefinition = elementDefinition( dialog.getParentEditor() );
506
-
507
- initPrivateObject.call( this, elementDefinition, { disabled : elementDefinition.disabled || false } );
508
-
509
- // Add OnClick event to this input.
510
- CKEDITOR.event.implementOn( this );
511
-
512
- var me = this;
513
-
514
- // Register an event handler for processing button clicks.
515
- dialog.on( 'load', function( eventInfo )
516
- {
517
- var element = this.getElement();
518
-
519
- (function()
520
- {
521
- element.on( 'click', function( evt )
522
- {
523
- me.fire( 'click', { dialog : me.getDialog() } );
524
- evt.data.preventDefault();
525
- } );
526
-
527
- element.on( 'keydown', function( evt )
528
- {
529
- if ( evt.data.getKeystroke() in { 32:1 } )
530
- {
531
- me.click();
532
- evt.data.preventDefault();
533
- }
534
- } );
535
- })();
536
-
537
- element.unselectable();
538
- }, this );
539
-
540
- var outerDefinition = CKEDITOR.tools.extend( {}, elementDefinition );
541
- delete outerDefinition.style;
542
-
543
- var labelId = CKEDITOR.tools.getNextId() + '_label';
544
- CKEDITOR.ui.dialog.uiElement.call(
545
- this,
546
- dialog,
547
- outerDefinition,
548
- htmlList,
549
- 'a',
550
- null,
551
- {
552
- style : elementDefinition.style,
553
- href : 'javascript:void(0)',
554
- title : elementDefinition.label,
555
- hidefocus : 'true',
556
- 'class' : elementDefinition['class'],
557
- role : 'button',
558
- 'aria-labelledby' : labelId
559
- },
560
- '<span id="' + labelId + '" class="cke_dialog_ui_button">' +
561
- CKEDITOR.tools.htmlEncode( elementDefinition.label ) +
562
- '</span>' );
563
- },
564
-
565
- /**
566
- * A select box.
567
- * @extends CKEDITOR.ui.dialog.uiElement
568
- * @example
569
- * @constructor
570
- * @param {CKEDITOR.dialog} dialog
571
- * Parent dialog object.
572
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
573
- * The element definition. Accepted fields:
574
- * <ul>
575
- * <li><strong>default</strong> (Required) The default value.</li>
576
- * <li><strong>validate</strong> (Optional) The validation function.</li>
577
- * <li><strong>items</strong> (Required) An array of options. Each option
578
- * is a 1- or 2-item array of format [ 'Description', 'Value' ]. If 'Value'
579
- * is missing, then the value would be assumed to be the same as the
580
- * description.</li>
581
- * <li><strong>multiple</strong> (Optional) Set this to true if you'd like
582
- * to have a multiple-choice select box.</li>
583
- * <li><strong>size</strong> (Optional) The number of items to display in
584
- * the select box.</li>
585
- * </ul>
586
- * @param {Array} htmlList
587
- * List of HTML code to output to.
588
- */
589
- select : function( dialog, elementDefinition, htmlList )
590
- {
591
- if ( arguments.length < 3 )
592
- return;
593
-
594
- var _ = initPrivateObject.call( this, elementDefinition );
595
-
596
- if ( elementDefinition.validate )
597
- this.validate = elementDefinition.validate;
598
-
599
- _.inputId = CKEDITOR.tools.getNextId() + '_select';
600
- /** @ignore */
601
- var innerHTML = function()
602
- {
603
- var myDefinition = CKEDITOR.tools.extend( {}, elementDefinition,
604
- {
605
- id : elementDefinition.id ? elementDefinition.id + '_select' : CKEDITOR.tools.getNextId() + '_select'
606
- }, true ),
607
- html = [],
608
- innerHTML = [],
609
- attributes = { 'id' : _.inputId, 'class' : 'cke_dialog_ui_input_select', 'aria-labelledby' : this._.labelId };
610
-
611
- // Add multiple and size attributes from element definition.
612
- if ( elementDefinition.size != undefined )
613
- attributes.size = elementDefinition.size;
614
- if ( elementDefinition.multiple != undefined )
615
- attributes.multiple = elementDefinition.multiple;
616
-
617
- cleanInnerDefinition( myDefinition );
618
- for ( var i = 0, item ; i < elementDefinition.items.length && ( item = elementDefinition.items[i] ) ; i++ )
619
- {
620
- innerHTML.push( '<option value="',
621
- CKEDITOR.tools.htmlEncode( item[1] !== undefined ? item[1] : item[0] ), '" /> ',
622
- CKEDITOR.tools.htmlEncode( item[0] ) );
623
- }
624
-
625
- if ( typeof myDefinition.controlStyle != 'undefined' )
626
- myDefinition.style = myDefinition.controlStyle;
627
-
628
- _.select = new CKEDITOR.ui.dialog.uiElement( dialog, myDefinition, html, 'select', null, attributes, innerHTML.join( '' ) );
629
- return html.join( '' );
630
- };
631
-
632
- CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML );
633
- },
634
-
635
- /**
636
- * A file upload input.
637
- * @extends CKEDITOR.ui.dialog.labeledElement
638
- * @example
639
- * @constructor
640
- * @param {CKEDITOR.dialog} dialog
641
- * Parent dialog object.
642
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
643
- * The element definition. Accepted fields:
644
- * <ul>
645
- * <li><strong>validate</strong> (Optional) The validation function.</li>
646
- * </ul>
647
- * @param {Array} htmlList
648
- * List of HTML code to output to.
649
- */
650
- file : function( dialog, elementDefinition, htmlList )
651
- {
652
- if ( arguments.length < 3 )
653
- return;
654
-
655
- if ( elementDefinition['default'] === undefined )
656
- elementDefinition['default'] = '';
657
-
658
- var _ = CKEDITOR.tools.extend( initPrivateObject.call( this, elementDefinition ), { definition : elementDefinition, buttons : [] } );
659
-
660
- if ( elementDefinition.validate )
661
- this.validate = elementDefinition.validate;
662
-
663
- /** @ignore */
664
- var innerHTML = function()
665
- {
666
- _.frameId = CKEDITOR.tools.getNextId() + '_fileInput';
667
-
668
- // Support for custom document.domain in IE.
669
- var isCustomDomain = CKEDITOR.env.isCustomDomain();
670
-
671
- var html = [
672
- '<iframe' +
673
- ' frameborder="0"' +
674
- ' allowtransparency="0"' +
675
- ' class="cke_dialog_ui_input_file"' +
676
- ' id="', _.frameId, '"' +
677
- ' title="', elementDefinition.label, '"' +
678
- ' src="javascript:void(' ];
679
-
680
- html.push(
681
- isCustomDomain ?
682
- '(function(){' +
683
- 'document.open();' +
684
- 'document.domain=\'' + document.domain + '\';' +
685
- 'document.close();' +
686
- '})()'
687
- :
688
- '0' );
689
-
690
- html.push(
691
- ')">' +
692
- '</iframe>' );
693
-
694
- return html.join( '' );
695
- };
696
-
697
- // IE BUG: Parent container does not resize to contain the iframe automatically.
698
- dialog.on( 'load', function()
699
- {
700
- var iframe = CKEDITOR.document.getById( _.frameId ),
701
- contentDiv = iframe.getParent();
702
- contentDiv.addClass( 'cke_dialog_ui_input_file' );
703
- } );
704
-
705
- CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML );
706
- },
707
-
708
- /**
709
- * A button for submitting the file in a file upload input.
710
- * @extends CKEDITOR.ui.dialog.button
711
- * @example
712
- * @constructor
713
- * @param {CKEDITOR.dialog} dialog
714
- * Parent dialog object.
715
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
716
- * The element definition. Accepted fields:
717
- * <ul>
718
- * <li><strong>for</strong> (Required) The file input's page and element Id
719
- * to associate to, in a 2-item array format: [ 'page_id', 'element_id' ].
720
- * </li>
721
- * <li><strong>validate</strong> (Optional) The validation function.</li>
722
- * </ul>
723
- * @param {Array} htmlList
724
- * List of HTML code to output to.
725
- */
726
- fileButton : function( dialog, elementDefinition, htmlList )
727
- {
728
- if ( arguments.length < 3 )
729
- return;
730
-
731
- var _ = initPrivateObject.call( this, elementDefinition ),
732
- me = this;
733
-
734
- if ( elementDefinition.validate )
735
- this.validate = elementDefinition.validate;
736
-
737
- var myDefinition = CKEDITOR.tools.extend( {}, elementDefinition );
738
- var onClick = myDefinition.onClick;
739
- myDefinition.className = ( myDefinition.className ? myDefinition.className + ' ' : '' ) + 'cke_dialog_ui_button';
740
- myDefinition.onClick = function( evt )
741
- {
742
- var target = elementDefinition[ 'for' ]; // [ pageId, elementId ]
743
- if ( !onClick || onClick.call( this, evt ) !== false )
744
- {
745
- dialog.getContentElement( target[0], target[1] ).submit();
746
- this.disable();
747
- }
748
- };
749
-
750
- dialog.on( 'load', function()
751
- {
752
- dialog.getContentElement( elementDefinition[ 'for' ][0], elementDefinition[ 'for' ][1] )._.buttons.push( me );
753
- } );
754
-
755
- CKEDITOR.ui.dialog.button.call( this, dialog, myDefinition, htmlList );
756
- },
757
-
758
- html : (function()
759
- {
760
- var myHtmlRe = /^\s*<[\w:]+\s+([^>]*)?>/,
761
- theirHtmlRe = /^(\s*<[\w:]+(?:\s+[^>]*)?)((?:.|\r|\n)+)$/,
762
- emptyTagRe = /\/$/;
763
- /**
764
- * A dialog element made from raw HTML code.
765
- * @extends CKEDITOR.ui.dialog.uiElement
766
- * @name CKEDITOR.ui.dialog.html
767
- * @param {CKEDITOR.dialog} dialog Parent dialog object.
768
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition Element definition.
769
- * Accepted fields:
770
- * <ul>
771
- * <li><strong>html</strong> (Required) HTML code of this element.</li>
772
- * </ul>
773
- * @param {Array} htmlList List of HTML code to be added to the dialog's content area.
774
- * @example
775
- * @constructor
776
- */
777
- return function( dialog, elementDefinition, htmlList )
778
- {
779
- if ( arguments.length < 3 )
780
- return;
781
-
782
- var myHtmlList = [],
783
- myHtml,
784
- theirHtml = elementDefinition.html,
785
- myMatch, theirMatch;
786
-
787
- // If the HTML input doesn't contain any tags at the beginning, add a <span> tag around it.
788
- if ( theirHtml.charAt( 0 ) != '<' )
789
- theirHtml = '<span>' + theirHtml + '</span>';
790
-
791
- // Look for focus function in definition.
792
- var focus = elementDefinition.focus;
793
- if ( focus )
794
- {
795
- var oldFocus = this.focus;
796
- this.focus = function()
797
- {
798
- oldFocus.call( this );
799
- typeof focus == 'function' && focus.call( this );
800
- this.fire( 'focus' );
801
- };
802
- if ( elementDefinition.isFocusable )
803
- {
804
- var oldIsFocusable = this.isFocusable;
805
- this.isFocusable = oldIsFocusable;
806
- }
807
- this.keyboardFocusable = true;
808
- }
809
-
810
- CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition, myHtmlList, 'span', null, null, '' );
811
-
812
- // Append the attributes created by the uiElement call to the real HTML.
813
- myHtml = myHtmlList.join( '' );
814
- myMatch = myHtml.match( myHtmlRe );
815
- theirMatch = theirHtml.match( theirHtmlRe ) || [ '', '', '' ];
816
-
817
- if ( emptyTagRe.test( theirMatch[1] ) )
818
- {
819
- theirMatch[1] = theirMatch[1].slice( 0, -1 );
820
- theirMatch[2] = '/' + theirMatch[2];
821
- }
822
-
823
- htmlList.push( [ theirMatch[1], ' ', myMatch[1] || '', theirMatch[2] ].join( '' ) );
824
- };
825
- })(),
826
-
827
- /**
828
- * Form fieldset for grouping dialog UI elements.
829
- * @constructor
830
- * @extends CKEDITOR.ui.dialog.uiElement
831
- * @param {CKEDITOR.dialog} dialog Parent dialog object.
832
- * @param {Array} childObjList
833
- * Array of {@link CKEDITOR.ui.dialog.uiElement} objects inside this
834
- * container.
835
- * @param {Array} childHtmlList
836
- * Array of HTML code that correspond to the HTML output of all the
837
- * objects in childObjList.
838
- * @param {Array} htmlList
839
- * Array of HTML code that this element will output to.
840
- * @param {CKEDITOR.dialog.uiElementDefinition} elementDefinition
841
- * The element definition. Accepted fields:
842
- * <ul>
843
- * <li><strong>label</strong> (Optional) The legend of the this fieldset.</li>
844
- * <li><strong>children</strong> (Required) An array of dialog field definitions which will be grouped inside this fieldset. </li>
845
- * </ul>
846
- */
847
- fieldset : function( dialog, childObjList, childHtmlList, htmlList, elementDefinition )
848
- {
849
- var legendLabel = elementDefinition.label;
850
- /** @ignore */
851
- var innerHTML = function()
852
- {
853
- var html = [];
854
- legendLabel && html.push( '<legend>' + legendLabel + '</legend>' );
855
- for ( var i = 0; i < childHtmlList.length; i++ )
856
- html.push( childHtmlList[ i ] );
857
- return html.join( '' );
858
- };
859
-
860
- this._ = { children : childObjList };
861
- CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition, htmlList, 'fieldset', null, null, innerHTML );
862
- }
863
-
864
- }, true );
865
-
866
- CKEDITOR.ui.dialog.html.prototype = new CKEDITOR.ui.dialog.uiElement;
867
-
868
- CKEDITOR.ui.dialog.labeledElement.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.uiElement,
869
- /** @lends CKEDITOR.ui.dialog.labeledElement.prototype */
870
- {
871
- /**
872
- * Sets the label text of the element.
873
- * @param {String} label The new label text.
874
- * @returns {CKEDITOR.ui.dialog.labeledElement} The current labeled element.
875
- * @example
876
- */
877
- setLabel : function( label )
878
- {
879
- var node = CKEDITOR.document.getById( this._.labelId );
880
- if ( node.getChildCount() < 1 )
881
- ( new CKEDITOR.dom.text( label, CKEDITOR.document ) ).appendTo( node );
882
- else
883
- node.getChild( 0 ).$.nodeValue = label;
884
- return this;
885
- },
886
-
887
- /**
888
- * Retrieves the current label text of the elment.
889
- * @returns {String} The current label text.
890
- * @example
891
- */
892
- getLabel : function()
893
- {
894
- var node = CKEDITOR.document.getById( this._.labelId );
895
- if ( !node || node.getChildCount() < 1 )
896
- return '';
897
- else
898
- return node.getChild( 0 ).getText();
899
- },
900
-
901
- /**
902
- * Defines the onChange event for UI element definitions.
903
- * @field
904
- * @type Object
905
- * @example
906
- */
907
- eventProcessors : commonEventProcessors
908
- }, true );
909
-
910
- CKEDITOR.ui.dialog.button.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.uiElement,
911
- /** @lends CKEDITOR.ui.dialog.button.prototype */
912
- {
913
- /**
914
- * Simulates a click to the button.
915
- * @example
916
- * @returns {Object} Return value of the 'click' event.
917
- */
918
- click : function()
919
- {
920
- if ( !this._.disabled )
921
- return this.fire( 'click', { dialog : this._.dialog } );
922
- this.getElement().$.blur();
923
- return false;
924
- },
925
-
926
- /**
927
- * Enables the button.
928
- * @example
929
- */
930
- enable : function()
931
- {
932
- this._.disabled = false;
933
- var element = this.getElement();
934
- element && element.removeClass( 'cke_disabled' );
935
- },
936
-
937
- /**
938
- * Disables the button.
939
- * @example
940
- */
941
- disable : function()
942
- {
943
- this._.disabled = true;
944
- this.getElement().addClass( 'cke_disabled' );
945
- },
946
-
947
- isVisible : function()
948
- {
949
- return this.getElement().getFirst().isVisible();
950
- },
951
-
952
- isEnabled : function()
953
- {
954
- return !this._.disabled;
955
- },
956
-
957
- /**
958
- * Defines the onChange event and onClick for button element definitions.
959
- * @field
960
- * @type Object
961
- * @example
962
- */
963
- eventProcessors : CKEDITOR.tools.extend( {}, CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors,
964
- {
965
- /** @ignore */
966
- onClick : function( dialog, func )
967
- {
968
- this.on( 'click', func );
969
- }
970
- }, true ),
971
-
972
- /**
973
- * Handler for the element's access key up event. Simulates a click to
974
- * the button.
975
- * @example
976
- */
977
- accessKeyUp : function()
978
- {
979
- this.click();
980
- },
981
-
982
- /**
983
- * Handler for the element's access key down event. Simulates a mouse
984
- * down to the button.
985
- * @example
986
- */
987
- accessKeyDown : function()
988
- {
989
- this.focus();
990
- },
991
-
992
- keyboardFocusable : true
993
- }, true );
994
-
995
- CKEDITOR.ui.dialog.textInput.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.labeledElement,
996
- /** @lends CKEDITOR.ui.dialog.textInput.prototype */
997
- {
998
- /**
999
- * Gets the text input DOM element under this UI object.
1000
- * @example
1001
- * @returns {CKEDITOR.dom.element} The DOM element of the text input.
1002
- */
1003
- getInputElement : function()
1004
- {
1005
- return CKEDITOR.document.getById( this._.inputId );
1006
- },
1007
-
1008
- /**
1009
- * Puts focus into the text input.
1010
- * @example
1011
- */
1012
- focus : function()
1013
- {
1014
- var me = this.selectParentTab();
1015
-
1016
- // GECKO BUG: setTimeout() is needed to workaround invisible selections.
1017
- setTimeout( function()
1018
- {
1019
- var element = me.getInputElement();
1020
- element && element.$.focus();
1021
- }, 0 );
1022
- },
1023
-
1024
- /**
1025
- * Selects all the text in the text input.
1026
- * @example
1027
- */
1028
- select : function()
1029
- {
1030
- var me = this.selectParentTab();
1031
-
1032
- // GECKO BUG: setTimeout() is needed to workaround invisible selections.
1033
- setTimeout( function()
1034
- {
1035
- var e = me.getInputElement();
1036
- if ( e )
1037
- {
1038
- e.$.focus();
1039
- e.$.select();
1040
- }
1041
- }, 0 );
1042
- },
1043
-
1044
- /**
1045
- * Handler for the text input's access key up event. Makes a select()
1046
- * call to the text input.
1047
- * @example
1048
- */
1049
- accessKeyUp : function()
1050
- {
1051
- this.select();
1052
- },
1053
-
1054
- /**
1055
- * Sets the value of this text input object.
1056
- * @param {Object} value The new value.
1057
- * @returns {CKEDITOR.ui.dialog.textInput} The current UI element.
1058
- * @example
1059
- * uiElement.setValue( 'Blamo' );
1060
- */
1061
- setValue : function( value )
1062
- {
1063
- !value && ( value = '' );
1064
- return CKEDITOR.ui.dialog.uiElement.prototype.setValue.apply( this, arguments );
1065
- },
1066
-
1067
- keyboardFocusable : true
1068
- }, commonPrototype, true );
1069
-
1070
- CKEDITOR.ui.dialog.textarea.prototype = new CKEDITOR.ui.dialog.textInput();
1071
-
1072
- CKEDITOR.ui.dialog.select.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.labeledElement,
1073
- /** @lends CKEDITOR.ui.dialog.select.prototype */
1074
- {
1075
- /**
1076
- * Gets the DOM element of the select box.
1077
- * @returns {CKEDITOR.dom.element} The &lt;select&gt; element of this UI
1078
- * element.
1079
- * @example
1080
- */
1081
- getInputElement : function()
1082
- {
1083
- return this._.select.getElement();
1084
- },
1085
-
1086
- /**
1087
- * Adds an option to the select box.
1088
- * @param {String} label Option label.
1089
- * @param {String} value (Optional) Option value, if not defined it'll be
1090
- * assumed to be the same as the label.
1091
- * @param {Number} index (Optional) Position of the option to be inserted
1092
- * to. If not defined the new option will be inserted to the end of list.
1093
- * @example
1094
- * @returns {CKEDITOR.ui.dialog.select} The current select UI element.
1095
- */
1096
- add : function( label, value, index )
1097
- {
1098
- var option = new CKEDITOR.dom.element( 'option', this.getDialog().getParentEditor().document ),
1099
- selectElement = this.getInputElement().$;
1100
- option.$.text = label;
1101
- option.$.value = ( value === undefined || value === null ) ? label : value;
1102
- if ( index === undefined || index === null )
1103
- {
1104
- if ( CKEDITOR.env.ie )
1105
- selectElement.add( option.$ );
1106
- else
1107
- selectElement.add( option.$, null );
1108
- }
1109
- else
1110
- selectElement.add( option.$, index );
1111
- return this;
1112
- },
1113
-
1114
- /**
1115
- * Removes an option from the selection list.
1116
- * @param {Number} index Index of the option to be removed.
1117
- * @example
1118
- * @returns {CKEDITOR.ui.dialog.select} The current select UI element.
1119
- */
1120
- remove : function( index )
1121
- {
1122
- var selectElement = this.getInputElement().$;
1123
- selectElement.remove( index );
1124
- return this;
1125
- },
1126
-
1127
- /**
1128
- * Clears all options out of the selection list.
1129
- * @returns {CKEDITOR.ui.dialog.select} The current select UI element.
1130
- */
1131
- clear : function()
1132
- {
1133
- var selectElement = this.getInputElement().$;
1134
- while ( selectElement.length > 0 )
1135
- selectElement.remove( 0 );
1136
- return this;
1137
- },
1138
-
1139
- keyboardFocusable : true
1140
- }, commonPrototype, true );
1141
-
1142
- CKEDITOR.ui.dialog.checkbox.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.uiElement,
1143
- /** @lends CKEDITOR.ui.dialog.checkbox.prototype */
1144
- {
1145
- /**
1146
- * Gets the checkbox DOM element.
1147
- * @example
1148
- * @returns {CKEDITOR.dom.element} The DOM element of the checkbox.
1149
- */
1150
- getInputElement : function()
1151
- {
1152
- return this._.checkbox.getElement();
1153
- },
1154
-
1155
- /**
1156
- * Sets the state of the checkbox.
1157
- * @example
1158
- * @param {Boolean} true to tick the checkbox, false to untick it.
1159
- * @param {Boolean} noChangeEvent Internal commit, to supress 'change' event on this element.
1160
- */
1161
- setValue : function( checked, noChangeEvent )
1162
- {
1163
- this.getInputElement().$.checked = checked;
1164
- !noChangeEvent && this.fire( 'change', { value : checked } );
1165
- },
1166
-
1167
- /**
1168
- * Gets the state of the checkbox.
1169
- * @example
1170
- * @returns {Boolean} true means the checkbox is ticked, false means it's not ticked.
1171
- */
1172
- getValue : function()
1173
- {
1174
- return this.getInputElement().$.checked;
1175
- },
1176
-
1177
- /**
1178
- * Handler for the access key up event. Toggles the checkbox.
1179
- * @example
1180
- */
1181
- accessKeyUp : function()
1182
- {
1183
- this.setValue( !this.getValue() );
1184
- },
1185
-
1186
- /**
1187
- * Defines the onChange event for UI element definitions.
1188
- * @field
1189
- * @type Object
1190
- * @example
1191
- */
1192
- eventProcessors :
1193
- {
1194
- onChange : function( dialog, func )
1195
- {
1196
- if ( !CKEDITOR.env.ie )
1197
- return commonEventProcessors.onChange.apply( this, arguments );
1198
- else
1199
- {
1200
- dialog.on( 'load', function()
1201
- {
1202
- var element = this._.checkbox.getElement();
1203
- element.on( 'propertychange', function( evt )
1204
- {
1205
- evt = evt.data.$;
1206
- if ( evt.propertyName == 'checked' )
1207
- this.fire( 'change', { value : element.$.checked } );
1208
- }, this );
1209
- }, this );
1210
- this.on( 'change', func );
1211
- }
1212
- return null;
1213
- }
1214
- },
1215
-
1216
- keyboardFocusable : true
1217
- }, commonPrototype, true );
1218
-
1219
- CKEDITOR.ui.dialog.radio.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.uiElement,
1220
- /** @lends CKEDITOR.ui.dialog.radio.prototype */
1221
- {
1222
- /**
1223
- * Checks one of the radio buttons in this button group.
1224
- * @example
1225
- * @param {String} value The value of the button to be chcked.
1226
- * @param {Boolean} noChangeEvent Internal commit, to supress 'change' event on this element.
1227
- */
1228
- setValue : function( value, noChangeEvent )
1229
- {
1230
- var children = this._.children,
1231
- item;
1232
- for ( var i = 0 ; ( i < children.length ) && ( item = children[i] ) ; i++ )
1233
- item.getElement().$.checked = ( item.getValue() == value );
1234
- !noChangeEvent && this.fire( 'change', { value : value } );
1235
- },
1236
-
1237
- /**
1238
- * Gets the value of the currently checked radio button.
1239
- * @example
1240
- * @returns {String} The currently checked button's value.
1241
- */
1242
- getValue : function()
1243
- {
1244
- var children = this._.children;
1245
- for ( var i = 0 ; i < children.length ; i++ )
1246
- {
1247
- if ( children[i].getElement().$.checked )
1248
- return children[i].getValue();
1249
- }
1250
- return null;
1251
- },
1252
-
1253
- /**
1254
- * Handler for the access key up event. Focuses the currently
1255
- * selected radio button, or the first radio button if none is
1256
- * selected.
1257
- * @example
1258
- */
1259
- accessKeyUp : function()
1260
- {
1261
- var children = this._.children, i;
1262
- for ( i = 0 ; i < children.length ; i++ )
1263
- {
1264
- if ( children[i].getElement().$.checked )
1265
- {
1266
- children[i].getElement().focus();
1267
- return;
1268
- }
1269
- }
1270
- children[0].getElement().focus();
1271
- },
1272
-
1273
- /**
1274
- * Defines the onChange event for UI element definitions.
1275
- * @field
1276
- * @type Object
1277
- * @example
1278
- */
1279
- eventProcessors :
1280
- {
1281
- onChange : function( dialog, func )
1282
- {
1283
- if ( !CKEDITOR.env.ie )
1284
- return commonEventProcessors.onChange.apply( this, arguments );
1285
- else
1286
- {
1287
- dialog.on( 'load', function()
1288
- {
1289
- var children = this._.children, me = this;
1290
- for ( var i = 0 ; i < children.length ; i++ )
1291
- {
1292
- var element = children[i].getElement();
1293
- element.on( 'propertychange', function( evt )
1294
- {
1295
- evt = evt.data.$;
1296
- if ( evt.propertyName == 'checked' && this.$.checked )
1297
- me.fire( 'change', { value : this.getAttribute( 'value' ) } );
1298
- } );
1299
- }
1300
- }, this );
1301
- this.on( 'change', func );
1302
- }
1303
- return null;
1304
- }
1305
- },
1306
-
1307
- keyboardFocusable : true
1308
- }, commonPrototype, true );
1309
-
1310
- CKEDITOR.ui.dialog.file.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.labeledElement,
1311
- commonPrototype,
1312
- /** @lends CKEDITOR.ui.dialog.file.prototype */
1313
- {
1314
- /**
1315
- * Gets the &lt;input&gt; element of this file input.
1316
- * @returns {CKEDITOR.dom.element} The file input element.
1317
- * @example
1318
- */
1319
- getInputElement : function()
1320
- {
1321
- var frameDocument = CKEDITOR.document.getById( this._.frameId ).getFrameDocument();
1322
- return frameDocument.$.forms.length > 0 ?
1323
- new CKEDITOR.dom.element( frameDocument.$.forms[0].elements[0] ) :
1324
- this.getElement();
1325
- },
1326
-
1327
- /**
1328
- * Uploads the file in the file input.
1329
- * @returns {CKEDITOR.ui.dialog.file} This object.
1330
- * @example
1331
- */
1332
- submit : function()
1333
- {
1334
- this.getInputElement().getParent().$.submit();
1335
- return this;
1336
- },
1337
-
1338
- /**
1339
- * Get the action assigned to the form.
1340
- * @returns {String} The value of the action.
1341
- * @example
1342
- */
1343
- getAction : function()
1344
- {
1345
- return this.getInputElement().getParent().$.action;
1346
- },
1347
-
1348
- /**
1349
- * The events must be applied on the inner input element, and
1350
- * that must be done when the iframe & form has been loaded
1351
- */
1352
- registerEvents : function( definition )
1353
- {
1354
- var regex = /^on([A-Z]\w+)/,
1355
- match;
1356
-
1357
- var registerDomEvent = function( uiElement, dialog, eventName, func )
1358
- {
1359
- uiElement.on( 'formLoaded', function()
1360
- {
1361
- uiElement.getInputElement().on( eventName, func, uiElement );
1362
- });
1363
- };
1364
-
1365
- for ( var i in definition )
1366
- {
1367
- if ( !( match = i.match( regex ) ) )
1368
- continue;
1369
-
1370
- if ( this.eventProcessors[i] )
1371
- this.eventProcessors[i].call( this, this._.dialog, definition[i] );
1372
- else
1373
- registerDomEvent( this, this._.dialog, match[1].toLowerCase(), definition[i] );
1374
- }
1375
-
1376
- return this;
1377
- },
1378
-
1379
- /**
1380
- * Redraws the file input and resets the file path in the file input.
1381
- * The redraw logic is necessary because non-IE browsers tend to clear
1382
- * the &lt;iframe&gt; containing the file input after closing the dialog.
1383
- * @example
1384
- */
1385
- reset : function()
1386
- {
1387
- var _ = this._,
1388
- frameElement = CKEDITOR.document.getById( _.frameId ),
1389
- frameDocument = frameElement.getFrameDocument(),
1390
- elementDefinition = _.definition,
1391
- buttons = _.buttons,
1392
- callNumber = this.formLoadedNumber,
1393
- unloadNumber = this.formUnloadNumber,
1394
- langDir = _.dialog._.editor.lang.dir,
1395
- langCode = _.dialog._.editor.langCode;
1396
-
1397
- // The callback function for the iframe, but we must call tools.addFunction only once
1398
- // so we store the function number in this.formLoadedNumber
1399
- if ( !callNumber )
1400
- {
1401
- callNumber = this.formLoadedNumber = CKEDITOR.tools.addFunction(
1402
- function()
1403
- {
1404
- // Now we can apply the events to the input type=file
1405
- this.fire( 'formLoaded' ) ;
1406
- }, this ) ;
1407
-
1408
- // Remove listeners attached to the content of the iframe (the file input)
1409
- unloadNumber = this.formUnloadNumber = CKEDITOR.tools.addFunction(
1410
- function()
1411
- {
1412
- this.getInputElement().clearCustomData();
1413
- }, this ) ;
1414
-
1415
- this.getDialog()._.editor.on( 'destroy', function()
1416
- {
1417
- CKEDITOR.tools.removeFunction( callNumber );
1418
- CKEDITOR.tools.removeFunction( unloadNumber );
1419
- } );
1420
- }
1421
-
1422
- function generateFormField()
1423
- {
1424
- frameDocument.$.open();
1425
-
1426
- // Support for custom document.domain in IE.
1427
- if ( CKEDITOR.env.isCustomDomain() )
1428
- frameDocument.$.domain = document.domain;
1429
-
1430
- var size = '';
1431
- if ( elementDefinition.size )
1432
- size = elementDefinition.size - ( CKEDITOR.env.ie ? 7 : 0 ); // "Browse" button is bigger in IE.
1433
-
1434
- frameDocument.$.write( [ '<html dir="' + langDir + '" lang="' + langCode + '"><head><title></title></head><body style="margin: 0; overflow: hidden; background: transparent;">',
1435
- '<form enctype="multipart/form-data" method="POST" dir="' + langDir + '" lang="' + langCode + '" action="',
1436
- CKEDITOR.tools.htmlEncode( elementDefinition.action ),
1437
- '">',
1438
- '<input type="file" name="',
1439
- CKEDITOR.tools.htmlEncode( elementDefinition.id || 'cke_upload' ),
1440
- '" size="',
1441
- CKEDITOR.tools.htmlEncode( size > 0 ? size : "" ),
1442
- '" />',
1443
- '</form>',
1444
- '</body></html>',
1445
- '<script>window.parent.CKEDITOR.tools.callFunction(' + callNumber + ');',
1446
- 'window.onbeforeunload = function() {window.parent.CKEDITOR.tools.callFunction(' + unloadNumber + ')}</script>' ].join( '' ) );
1447
-
1448
- frameDocument.$.close();
1449
-
1450
- for ( var i = 0 ; i < buttons.length ; i++ )
1451
- buttons[i].enable();
1452
- }
1453
-
1454
- // #3465: Wait for the browser to finish rendering the dialog first.
1455
- if ( CKEDITOR.env.gecko )
1456
- setTimeout( generateFormField, 500 );
1457
- else
1458
- generateFormField();
1459
- },
1460
-
1461
- getValue : function()
1462
- {
1463
- return this.getInputElement().$.value;
1464
- },
1465
-
1466
- /***
1467
- * The default value of input type="file" is an empty string, but during initialization
1468
- * of this UI element, the iframe still isn't ready so it can't be read from that object
1469
- * Setting it manually prevents later issues about the current value ("") being different
1470
- * of the initial value (undefined as it asked for .value of a div)
1471
- */
1472
- setInitValue : function()
1473
- {
1474
- this._.initValue = '';
1475
- },
1476
-
1477
- /**
1478
- * Defines the onChange event for UI element definitions.
1479
- * @field
1480
- * @type Object
1481
- * @example
1482
- */
1483
- eventProcessors :
1484
- {
1485
- onChange : function( dialog, func )
1486
- {
1487
- // If this method is called several times (I'm not sure about how this can happen but the default
1488
- // onChange processor includes this protection)
1489
- // In order to reapply to the new element, the property is deleted at the beggining of the registerEvents method
1490
- if ( !this._.domOnChangeRegistered )
1491
- {
1492
- // By listening for the formLoaded event, this handler will get reapplied when a new
1493
- // form is created
1494
- this.on( 'formLoaded', function()
1495
- {
1496
- this.getInputElement().on( 'change', function(){ this.fire( 'change', { value : this.getValue() } ); }, this );
1497
- }, this );
1498
- this._.domOnChangeRegistered = true;
1499
- }
1500
-
1501
- this.on( 'change', func );
1502
- }
1503
- },
1504
-
1505
- keyboardFocusable : true
1506
- }, true );
1507
-
1508
- CKEDITOR.ui.dialog.fileButton.prototype = new CKEDITOR.ui.dialog.button;
1509
-
1510
- CKEDITOR.ui.dialog.fieldset.prototype = CKEDITOR.tools.clone( CKEDITOR.ui.dialog.hbox.prototype );
1511
-
1512
- CKEDITOR.dialog.addUIElement( 'text', textBuilder );
1513
- CKEDITOR.dialog.addUIElement( 'password', textBuilder );
1514
- CKEDITOR.dialog.addUIElement( 'textarea', commonBuilder );
1515
- CKEDITOR.dialog.addUIElement( 'checkbox', commonBuilder );
1516
- CKEDITOR.dialog.addUIElement( 'radio', commonBuilder );
1517
- CKEDITOR.dialog.addUIElement( 'button', commonBuilder );
1518
- CKEDITOR.dialog.addUIElement( 'select', commonBuilder );
1519
- CKEDITOR.dialog.addUIElement( 'file', commonBuilder );
1520
- CKEDITOR.dialog.addUIElement( 'fileButton', commonBuilder );
1521
- CKEDITOR.dialog.addUIElement( 'html', commonBuilder );
1522
- CKEDITOR.dialog.addUIElement( 'fieldset', containerBuilder );
1523
- })();