goldencobra 1.4.27 → 2.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1017) hide show
  1. checksums.yaml +7 -0
  2. data/README.markdown +112 -41
  3. data/app/adapters/goldencobra/article_adapter.rb +75 -0
  4. data/app/assets/images/goldencobra/chosen-sprite@2x.png +0 -0
  5. data/app/assets/images/goldencobra/lastnode.png +0 -0
  6. data/app/assets/images/goldencobra/node.png +0 -0
  7. data/app/assets/images/goldencobra/vline.png +0 -0
  8. data/app/assets/javascripts/active_admin.js +1 -0
  9. data/app/assets/javascripts/goldencobra/active_admin.js +189 -202
  10. data/app/assets/javascripts/goldencobra/application.js.erb +86 -0
  11. data/app/assets/javascripts/goldencobra/chosen.jquery.js +1257 -0
  12. data/app/assets/javascripts/goldencobra/components.js +1 -0
  13. data/app/assets/javascripts/goldencobra/components/navigation_menu.js +191 -0
  14. data/app/assets/javascripts/goldencobra/components/overviewTree.js +156 -0
  15. data/app/assets/javascripts/goldencobra/components/select.js +43 -0
  16. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/adapters/jquery.js +10 -0
  17. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/ckeditor.js +996 -0
  18. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/ckeditor_inits.js +25 -0
  19. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/config.js +45 -0
  20. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/contents.css +132 -0
  21. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/lang/de.js +5 -0
  22. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/lang/en-gb.js +5 -0
  23. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/lang/en.js +5 -0
  24. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +10 -0
  25. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +25 -0
  26. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/af.js +11 -0
  27. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +11 -0
  28. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +11 -0
  29. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +12 -0
  30. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +12 -0
  31. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +11 -0
  32. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +11 -0
  33. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +12 -0
  34. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +12 -0
  35. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js +11 -0
  36. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +11 -0
  37. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +13 -0
  38. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +12 -0
  39. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +11 -0
  40. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js +12 -0
  41. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +11 -0
  42. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +11 -0
  43. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js +11 -0
  44. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js +11 -0
  45. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +12 -0
  46. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js +12 -0
  47. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +11 -0
  48. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +11 -0
  49. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +11 -0
  50. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +11 -0
  51. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +12 -0
  52. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/id.js +11 -0
  53. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +13 -0
  54. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +9 -0
  55. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +11 -0
  56. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js +10 -0
  57. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +11 -0
  58. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +11 -0
  59. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +12 -0
  60. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +11 -0
  61. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +11 -0
  62. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +12 -0
  63. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +11 -0
  64. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +11 -0
  65. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +13 -0
  66. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +13 -0
  67. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +12 -0
  68. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +11 -0
  69. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +11 -0
  70. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/si.js +10 -0
  71. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +11 -0
  72. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +11 -0
  73. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js +11 -0
  74. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js +11 -0
  75. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js +11 -0
  76. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +11 -0
  77. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +11 -0
  78. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +12 -0
  79. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js +11 -0
  80. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +12 -0
  81. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +12 -0
  82. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +11 -0
  83. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +9 -0
  84. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js +9 -0
  85. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/about/dialogs/about.js +7 -0
  86. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
  87. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  88. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/autogrow/plugin.js +221 -0
  89. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/clipboard/dialogs/paste.js +12 -0
  90. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  91. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/dialogadvtab/plugin.js +196 -0
  92. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/icons.png +0 -0
  93. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/icons_hidpi.png +0 -0
  94. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/image/dialogs/image.js +44 -0
  95. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/image/images/noimage.png +0 -0
  96. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/link/dialogs/anchor.js +7 -0
  97. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/link/dialogs/link.js +26 -0
  98. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/link/images/anchor.png +0 -0
  99. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
  100. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png +0 -0
  101. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
  102. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/magicline/images/icon-rtl.png +0 -0
  103. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/magicline/images/icon.png +0 -0
  104. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/pastefromword/filter/default.js +32 -0
  105. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/scayt/LICENSE.md +28 -0
  106. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/scayt/README.md +25 -0
  107. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/scayt/dialogs/options.js +18 -0
  108. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/scayt/dialogs/toolbar.css +71 -0
  109. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +20 -0
  110. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/af.js +13 -0
  111. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/ar.js +13 -0
  112. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/bg.js +13 -0
  113. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/ca.js +14 -0
  114. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/cs.js +13 -0
  115. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/cy.js +14 -0
  116. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/da.js +11 -0
  117. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/de.js +13 -0
  118. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/el.js +13 -0
  119. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js +13 -0
  120. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/en.js +13 -0
  121. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/eo.js +12 -0
  122. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/es.js +13 -0
  123. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/et.js +13 -0
  124. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/eu.js +13 -0
  125. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/fa.js +12 -0
  126. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/fi.js +13 -0
  127. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js +10 -0
  128. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/fr.js +11 -0
  129. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/gl.js +13 -0
  130. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/he.js +12 -0
  131. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/hr.js +13 -0
  132. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/hu.js +12 -0
  133. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/id.js +13 -0
  134. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/it.js +14 -0
  135. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/ja.js +9 -0
  136. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/km.js +13 -0
  137. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/ko.js +10 -0
  138. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/ku.js +13 -0
  139. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/lt.js +13 -0
  140. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/lv.js +13 -0
  141. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/nb.js +11 -0
  142. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/nl.js +13 -0
  143. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/no.js +11 -0
  144. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/pl.js +12 -0
  145. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +11 -0
  146. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/pt.js +13 -0
  147. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/ru.js +13 -0
  148. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/si.js +13 -0
  149. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/sk.js +13 -0
  150. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/sl.js +12 -0
  151. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/sq.js +13 -0
  152. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/sv.js +11 -0
  153. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/th.js +13 -0
  154. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/tr.js +12 -0
  155. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/tt.js +13 -0
  156. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/ug.js +13 -0
  157. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/uk.js +12 -0
  158. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/vi.js +14 -0
  159. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +9 -0
  160. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/lang/zh.js +9 -0
  161. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/specialchar/dialogs/specialchar.js +14 -0
  162. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/table/dialogs/table.js +21 -0
  163. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/tabletools/dialogs/tableCell.js +17 -0
  164. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/wsc/LICENSE.md +28 -0
  165. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/wsc/README.md +25 -0
  166. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/wsc/dialogs/ciframe.html +66 -0
  167. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  168. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/wsc/dialogs/wsc.css +82 -0
  169. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/wsc/dialogs/wsc.js +92 -0
  170. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/plugins/wsc/dialogs/wsc_ie.js +11 -0
  171. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/dialog.css +5 -0
  172. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/dialog_ie.css +5 -0
  173. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/dialog_ie7.css +5 -0
  174. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/dialog_ie8.css +5 -0
  175. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/dialog_iequirks.css +5 -0
  176. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/editor.css +5 -0
  177. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/editor_gecko.css +5 -0
  178. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/editor_ie.css +5 -0
  179. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/editor_ie7.css +5 -0
  180. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/editor_ie8.css +5 -0
  181. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/editor_iequirks.css +5 -0
  182. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/icons.png +0 -0
  183. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/icons_hidpi.png +0 -0
  184. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/images/arrow.png +0 -0
  185. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/images/close.png +0 -0
  186. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/images/hidpi/close.png +0 -0
  187. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/images/hidpi/lock-open.png +0 -0
  188. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/images/hidpi/lock.png +0 -0
  189. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/images/hidpi/refresh.png +0 -0
  190. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/images/lock-open.png +0 -0
  191. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/images/lock.png +0 -0
  192. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/images/refresh.png +0 -0
  193. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/images/spinner.gif +0 -0
  194. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/skins/moono/readme.md +49 -0
  195. data/app/assets/javascripts/goldencobra/html_editors/ckeditor/styles.js +111 -0
  196. data/app/assets/javascripts/goldencobra/html_editors/general.js +32 -0
  197. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/jquery.tinymce_v3.js +1 -0
  198. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/langs/de.js +1 -0
  199. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/langs/en.js +1 -0
  200. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advhr/css/advhr.css +0 -0
  201. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advhr/editor_plugin.js +0 -0
  202. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advhr/editor_plugin_src.js +0 -0
  203. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advhr/js/rule.js +0 -0
  204. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advhr/langs/en_dlg.js +0 -0
  205. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advhr/rule.htm +0 -0
  206. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advimage/css/advimage.css +0 -0
  207. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advimage/editor_plugin.js +0 -0
  208. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advimage/editor_plugin_src.js +0 -0
  209. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advimage/image.htm +0 -0
  210. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advimage/img/sample.gif +0 -0
  211. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/advimage/js/image.js +464 -0
  212. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advimage/langs/en_dlg.js +0 -0
  213. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advlink/css/advlink.css +0 -0
  214. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advlink/editor_plugin.js +0 -0
  215. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advlink/editor_plugin_src.js +0 -0
  216. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/advlink/js/advlink.js +543 -0
  217. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advlink/langs/en_dlg.js +0 -0
  218. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advlink/link.htm +0 -0
  219. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advlist/editor_plugin.js +0 -0
  220. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/advlist/editor_plugin_src.js +0 -0
  221. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/autolink/editor_plugin.js +1 -0
  222. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/autolink/editor_plugin_src.js +184 -0
  223. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/autoresize/editor_plugin.js +1 -0
  224. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/autoresize/editor_plugin_src.js +119 -0
  225. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/autosave/editor_plugin.js +1 -0
  226. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/autosave/editor_plugin_src.js +433 -0
  227. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/bbcode/editor_plugin.js +0 -0
  228. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/bbcode/editor_plugin_src.js +0 -0
  229. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/contextmenu/editor_plugin.js +1 -0
  230. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/contextmenu/editor_plugin_src.js +163 -0
  231. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/directionality/editor_plugin.js +1 -0
  232. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/directionality/editor_plugin_src.js +85 -0
  233. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/editor_plugin.js +0 -0
  234. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/editor_plugin_src.js +0 -0
  235. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/emotions/emotions.htm +42 -0
  236. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/img/smiley-cool.gif +0 -0
  237. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/img/smiley-cry.gif +0 -0
  238. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/img/smiley-embarassed.gif +0 -0
  239. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/img/smiley-foot-in-mouth.gif +0 -0
  240. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/img/smiley-frown.gif +0 -0
  241. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/img/smiley-innocent.gif +0 -0
  242. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/img/smiley-kiss.gif +0 -0
  243. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/img/smiley-laughing.gif +0 -0
  244. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/img/smiley-money-mouth.gif +0 -0
  245. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/img/smiley-sealed.gif +0 -0
  246. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/img/smiley-smile.gif +0 -0
  247. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/img/smiley-surprised.gif +0 -0
  248. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/img/smiley-tongue-out.gif +0 -0
  249. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/img/smiley-undecided.gif +0 -0
  250. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/img/smiley-wink.gif +0 -0
  251. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/img/smiley-yell.gif +0 -0
  252. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/js/emotions.js +0 -0
  253. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/emotions/langs/en_dlg.js +0 -0
  254. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/example/dialog.htm +0 -0
  255. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/example/editor_plugin.js +0 -0
  256. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/example/editor_plugin_src.js +84 -0
  257. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/example/img/example.gif +0 -0
  258. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/example/js/dialog.js +0 -0
  259. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/example/langs/en.js +0 -0
  260. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/example/langs/en_dlg.js +0 -0
  261. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/example_dependency/editor_plugin.js +0 -0
  262. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/example_dependency/editor_plugin_src.js +0 -0
  263. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/fullpage/css/fullpage.css +0 -0
  264. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/fullpage/editor_plugin.js +0 -0
  265. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/fullpage/editor_plugin_src.js +0 -0
  266. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/fullpage/fullpage.htm +0 -0
  267. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/fullpage/js/fullpage.js +0 -0
  268. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/fullpage/langs/en_dlg.js +0 -0
  269. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/fullscreen/editor_plugin.js +1 -0
  270. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/fullscreen/editor_plugin_src.js +234 -0
  271. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/fullscreen/fullscreen.htm +117 -0
  272. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/iespell/editor_plugin.js +0 -0
  273. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/iespell/editor_plugin_src.js +0 -0
  274. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/inlinepopups/editor_plugin.js +1 -0
  275. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/inlinepopups/editor_plugin_src.js +699 -0
  276. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  277. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  278. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  279. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  280. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  281. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  282. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  283. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/inlinepopups/skins/clearlooks2/window.css +0 -0
  284. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/inlinepopups/template.htm +0 -0
  285. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/insertdatetime/editor_plugin.js +0 -0
  286. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/insertdatetime/editor_plugin_src.js +0 -0
  287. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/layer/editor_plugin.js +0 -0
  288. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/layer/editor_plugin_src.js +0 -0
  289. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/legacyoutput/editor_plugin.js +1 -0
  290. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/legacyoutput/editor_plugin_src.js +139 -0
  291. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/lists/editor_plugin.js +1 -0
  292. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/lists/editor_plugin_src.js +955 -0
  293. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/media/css/media.css +0 -0
  294. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/media/editor_plugin.js +1 -0
  295. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/media/editor_plugin_src.js +898 -0
  296. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/media/js/embed.js +0 -0
  297. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/media/js/media.js +513 -0
  298. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/media/langs/en_dlg.js +0 -0
  299. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/media/media.htm +0 -0
  300. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/media/moxieplayer.swf +0 -0
  301. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/nonbreaking/editor_plugin.js +0 -0
  302. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/nonbreaking/editor_plugin_src.js +0 -0
  303. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/noneditable/editor_plugin.js +1 -0
  304. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/noneditable/editor_plugin_src.js +537 -0
  305. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/pagebreak/editor_plugin.js +0 -0
  306. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/pagebreak/editor_plugin_src.js +0 -0
  307. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/paste/editor_plugin.js +1 -0
  308. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/paste/editor_plugin_src.js +887 -0
  309. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/paste/js/pastetext.js +0 -0
  310. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/paste/js/pasteword.js +0 -0
  311. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/paste/langs/en_dlg.js +0 -0
  312. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/paste/pastetext.htm +0 -0
  313. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/paste/pasteword.htm +0 -0
  314. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/preview/editor_plugin.js +0 -0
  315. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/preview/editor_plugin_src.js +0 -0
  316. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/preview/example.html +0 -0
  317. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/preview/jscripts/embed.js +0 -0
  318. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/preview/preview.html +0 -0
  319. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/print/editor_plugin.js +0 -0
  320. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/print/editor_plugin_src.js +0 -0
  321. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/save/editor_plugin.js +0 -0
  322. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/save/editor_plugin_src.js +0 -0
  323. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/searchreplace/css/searchreplace.css +0 -0
  324. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/searchreplace/editor_plugin.js +0 -0
  325. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/searchreplace/editor_plugin_src.js +0 -0
  326. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/searchreplace/js/searchreplace.js +152 -0
  327. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/searchreplace/langs/en_dlg.js +0 -0
  328. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/searchreplace/searchreplace.htm +100 -0
  329. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/spellchecker/css/content.css +0 -0
  330. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/spellchecker/editor_plugin.js +1 -0
  331. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/spellchecker/editor_plugin_src.js +471 -0
  332. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/spellchecker/img/wline.gif +0 -0
  333. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/style/css/props.css +14 -0
  334. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/style/editor_plugin.js +1 -0
  335. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/style/editor_plugin_src.js +71 -0
  336. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/style/js/props.js +709 -0
  337. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/style/langs/en_dlg.js +1 -0
  338. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/style/props.htm +845 -0
  339. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/style/readme.txt +19 -0
  340. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/tabfocus/editor_plugin.js +1 -0
  341. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/tabfocus/editor_plugin_src.js +122 -0
  342. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/table/cell.htm +0 -0
  343. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/table/css/cell.css +0 -0
  344. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/table/css/row.css +0 -0
  345. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/table/css/table.css +0 -0
  346. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/table/editor_plugin.js +1 -0
  347. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/table/editor_plugin_src.js +1456 -0
  348. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/table/js/cell.js +319 -0
  349. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/table/js/merge_cells.js +0 -0
  350. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/table/js/row.js +254 -0
  351. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/table/js/table.js +501 -0
  352. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/table/langs/en_dlg.js +0 -0
  353. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/table/merge_cells.htm +0 -0
  354. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/table/row.htm +158 -0
  355. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/table/table.htm +0 -0
  356. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/template/blank.htm +0 -0
  357. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/template/css/template.css +0 -0
  358. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/template/editor_plugin.js +0 -0
  359. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/template/editor_plugin_src.js +0 -0
  360. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/template/js/template.js +0 -0
  361. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/template/langs/en_dlg.js +0 -0
  362. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/template/template.htm +0 -0
  363. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/visualblocks/css/visualblocks.css +21 -0
  364. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/visualblocks/editor_plugin.js +1 -0
  365. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/visualblocks/editor_plugin_src.js +63 -0
  366. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/visualchars/editor_plugin.js +0 -0
  367. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/visualchars/editor_plugin_src.js +0 -0
  368. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/wordcount/editor_plugin.js +1 -0
  369. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/plugins/wordcount/editor_plugin_src.js +122 -0
  370. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/xhtmlxtras/abbr.htm +0 -0
  371. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/xhtmlxtras/acronym.htm +0 -0
  372. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/xhtmlxtras/attributes.htm +0 -0
  373. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/xhtmlxtras/cite.htm +0 -0
  374. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/xhtmlxtras/css/attributes.css +0 -0
  375. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/xhtmlxtras/css/popup.css +0 -0
  376. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/xhtmlxtras/del.htm +0 -0
  377. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/xhtmlxtras/editor_plugin.js +0 -0
  378. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/xhtmlxtras/editor_plugin_src.js +0 -0
  379. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/xhtmlxtras/ins.htm +0 -0
  380. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/xhtmlxtras/js/abbr.js +0 -0
  381. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/xhtmlxtras/js/acronym.js +0 -0
  382. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/xhtmlxtras/js/attributes.js +0 -0
  383. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/xhtmlxtras/js/cite.js +0 -0
  384. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/xhtmlxtras/js/del.js +0 -0
  385. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/xhtmlxtras/js/element_common.js +0 -0
  386. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/xhtmlxtras/js/ins.js +0 -0
  387. data/app/assets/javascripts/goldencobra/{plugins → html_editors/tinymce_v3/plugins}/xhtmlxtras/langs/en_dlg.js +0 -0
  388. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/about.htm +0 -0
  389. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/anchor.htm +0 -0
  390. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/charmap.htm +0 -0
  391. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/color_picker.htm +70 -0
  392. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/editor_template.js +1 -0
  393. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/editor_template_src.js +1490 -0
  394. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/image.htm +0 -0
  395. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/img/colorpicker.jpg +0 -0
  396. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/img/flash.gif +0 -0
  397. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/img/icons.gif +0 -0
  398. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/img/iframe.gif +0 -0
  399. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/img/pagebreak.gif +0 -0
  400. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/img/quicktime.gif +0 -0
  401. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/img/realmedia.gif +0 -0
  402. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/img/shockwave.gif +0 -0
  403. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/img/trans.gif +0 -0
  404. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/img/video.gif +0 -0
  405. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/img/windowsmedia.gif +0 -0
  406. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/js/about.js +0 -0
  407. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/js/anchor.js +56 -0
  408. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/js/charmap.js +0 -0
  409. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/js/color_picker.js +345 -0
  410. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/js/image.js +253 -0
  411. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/js/link.js +159 -0
  412. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/js/source_editor.js +78 -0
  413. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/langs/de.js +1 -0
  414. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/langs/de_dlg.js +1 -0
  415. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/langs/en.js +0 -0
  416. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/langs/en_dlg.js +1 -0
  417. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/link.htm +0 -0
  418. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/shortcuts.htm +0 -0
  419. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/skins/default/content.css +0 -0
  420. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/skins/default/dialog.css +118 -0
  421. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/skins/default/img/buttons.png +0 -0
  422. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/skins/default/img/items.gif +0 -0
  423. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/skins/default/img/menu_arrow.gif +0 -0
  424. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/skins/default/img/menu_check.gif +0 -0
  425. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/skins/default/img/progress.gif +0 -0
  426. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/skins/default/img/tabs.gif +0 -0
  427. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/skins/default/ui.css +219 -0
  428. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/skins/highcontrast/content.css +0 -0
  429. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/skins/highcontrast/dialog.css +106 -0
  430. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/skins/highcontrast/ui.css +106 -0
  431. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/skins/o2k7/content.css +0 -0
  432. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/skins/o2k7/dialog.css +118 -0
  433. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/skins/o2k7/img/button_bg.png +0 -0
  434. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  435. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  436. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/skins/o2k7/ui.css +222 -0
  437. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/skins/o2k7/ui_black.css +0 -0
  438. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/advanced/skins/o2k7/ui_silver.css +0 -0
  439. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/advanced/source_editor.htm +25 -0
  440. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/simple/editor_template.js +0 -0
  441. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/simple/editor_template_src.js +0 -0
  442. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/simple/img/icons.gif +0 -0
  443. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/themes/simple/langs/de.js +1 -0
  444. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/simple/langs/en.js +0 -0
  445. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/simple/skins/default/content.css +0 -0
  446. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/simple/skins/default/ui.css +0 -0
  447. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/simple/skins/o2k7/content.css +0 -0
  448. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/simple/skins/o2k7/img/button_bg.png +0 -0
  449. data/app/assets/javascripts/goldencobra/{themes → html_editors/tinymce_v3/themes}/simple/skins/o2k7/ui.css +0 -0
  450. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/tiny_mce_popup.js +5 -0
  451. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/tiny_mce_src.js +17942 -0
  452. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/tinymce_v3.js +1 -0
  453. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v3/tinymce_v3_inits.js +62 -0
  454. data/app/assets/javascripts/goldencobra/{utils → html_editors/tinymce_v3/utils}/editable_selects.js +0 -0
  455. data/app/assets/javascripts/goldencobra/{utils → html_editors/tinymce_v3/utils}/form_utils.js +0 -0
  456. data/app/assets/javascripts/goldencobra/{utils → html_editors/tinymce_v3/utils}/mctabs.js +0 -0
  457. data/app/assets/javascripts/goldencobra/{utils → html_editors/tinymce_v3/utils}/validate.js +0 -0
  458. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/jquery.tinymce_v4.js +1 -0
  459. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/langs/de.js +219 -0
  460. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/langs/readme.md +3 -0
  461. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/advlist/plugin.js +97 -0
  462. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/advlist/plugin.min.js +1 -0
  463. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/anchor/plugin.js +47 -0
  464. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/anchor/plugin.min.js +1 -0
  465. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/autolink/plugin.js +199 -0
  466. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/autolink/plugin.min.js +1 -0
  467. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/autoresize/plugin.js +162 -0
  468. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/autoresize/plugin.min.js +1 -0
  469. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/autosave/plugin.js +165 -0
  470. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/autosave/plugin.min.js +1 -0
  471. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/bbcode/plugin.js +123 -0
  472. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/bbcode/plugin.min.js +1 -0
  473. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/charmap/plugin.js +398 -0
  474. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/charmap/plugin.min.js +1 -0
  475. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/code/plugin.js +60 -0
  476. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/code/plugin.min.js +1 -0
  477. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/colorpicker/plugin.js +112 -0
  478. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/colorpicker/plugin.min.js +1 -0
  479. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/compat3x/css/dialog.css +118 -0
  480. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/compat3x/img/buttons.png +0 -0
  481. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/compat3x/img/icons.gif +0 -0
  482. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/compat3x/img/items.gif +0 -0
  483. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/compat3x/img/menu_arrow.gif +0 -0
  484. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/compat3x/img/menu_check.gif +0 -0
  485. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/compat3x/img/progress.gif +0 -0
  486. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/compat3x/img/tabs.gif +0 -0
  487. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/compat3x/plugin.js +297 -0
  488. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/compat3x/plugin.min.js +1 -0
  489. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/compat3x/tiny_mce_popup.js +542 -0
  490. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/compat3x/utils/editable_selects.js +70 -0
  491. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/compat3x/utils/form_utils.js +210 -0
  492. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/compat3x/utils/mctabs.js +164 -0
  493. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/compat3x/utils/validate.js +252 -0
  494. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/contextmenu/plugin.js +88 -0
  495. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/contextmenu/plugin.min.js +1 -0
  496. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/directionality/plugin.js +64 -0
  497. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/directionality/plugin.min.js +1 -0
  498. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/emoticons/img/smiley-cool.gif +0 -0
  499. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/emoticons/img/smiley-cry.gif +0 -0
  500. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/emoticons/img/smiley-embarassed.gif +0 -0
  501. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/emoticons/img/smiley-foot-in-mouth.gif +0 -0
  502. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/emoticons/img/smiley-frown.gif +0 -0
  503. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/emoticons/img/smiley-innocent.gif +0 -0
  504. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/emoticons/img/smiley-kiss.gif +0 -0
  505. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/emoticons/img/smiley-laughing.gif +0 -0
  506. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/emoticons/img/smiley-money-mouth.gif +0 -0
  507. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/emoticons/img/smiley-sealed.gif +0 -0
  508. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/emoticons/img/smiley-smile.gif +0 -0
  509. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/emoticons/img/smiley-surprised.gif +0 -0
  510. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/emoticons/img/smiley-tongue-out.gif +0 -0
  511. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/emoticons/img/smiley-undecided.gif +0 -0
  512. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/emoticons/img/smiley-wink.gif +0 -0
  513. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/emoticons/img/smiley-yell.gif +0 -0
  514. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/emoticons/plugin.js +65 -0
  515. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/emoticons/plugin.min.js +1 -0
  516. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/example/dialog.html +8 -0
  517. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/example/plugin.js +68 -0
  518. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/example/plugin.min.js +1 -0
  519. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/example_dependency/plugin.js +22 -0
  520. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/example_dependency/plugin.min.js +1 -0
  521. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/fullpage/plugin.js +490 -0
  522. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/fullpage/plugin.min.js +1 -0
  523. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/fullscreen/plugin.js +136 -0
  524. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/fullscreen/plugin.min.js +1 -0
  525. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/hr/plugin.js +30 -0
  526. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/hr/plugin.min.js +1 -0
  527. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/image/plugin.js +550 -0
  528. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/image/plugin.min.js +1 -0
  529. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/imagetools/classes/Canvas.js +35 -0
  530. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/imagetools/classes/ColorMatrix.js +222 -0
  531. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/imagetools/classes/Conversions.js +186 -0
  532. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/imagetools/classes/CropRect.js +214 -0
  533. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/imagetools/classes/Dialog.js +486 -0
  534. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/imagetools/classes/Filters.js +221 -0
  535. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/imagetools/classes/ImagePanel.js +218 -0
  536. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/imagetools/classes/ImageSize.js +27 -0
  537. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/imagetools/classes/ImageTools.js +99 -0
  538. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/imagetools/classes/Mime.js +42 -0
  539. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/imagetools/classes/Plugin.js +390 -0
  540. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/imagetools/classes/UndoStack.js +57 -0
  541. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/imagetools/plugin.dev.js +149 -0
  542. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/imagetools/plugin.js +2334 -0
  543. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/imagetools/plugin.min.js +1 -0
  544. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/importcss/plugin.js +197 -0
  545. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/importcss/plugin.min.js +1 -0
  546. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/insertdatetime/plugin.js +121 -0
  547. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/insertdatetime/plugin.min.js +1 -0
  548. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/layer/plugin.js +225 -0
  549. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/layer/plugin.min.js +1 -0
  550. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/legacyoutput/plugin.js +211 -0
  551. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/legacyoutput/plugin.min.js +1 -0
  552. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/link/plugin.js +403 -0
  553. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/link/plugin.min.js +1 -0
  554. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/lists/plugin.js +821 -0
  555. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/lists/plugin.min.js +1 -0
  556. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/media/moxieplayer.swf +0 -0
  557. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/media/plugin.js +795 -0
  558. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/media/plugin.min.js +1 -0
  559. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/nonbreaking/plugin.js +53 -0
  560. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/nonbreaking/plugin.min.js +1 -0
  561. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/noneditable/plugin.js +614 -0
  562. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/noneditable/plugin.min.js +1 -0
  563. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/pagebreak/plugin.js +88 -0
  564. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/pagebreak/plugin.min.js +1 -0
  565. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/paste/classes/Clipboard.js +688 -0
  566. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/paste/classes/Plugin.js +110 -0
  567. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/paste/classes/Quirks.js +159 -0
  568. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/paste/classes/Utils.js +129 -0
  569. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/paste/classes/WordFilter.js +498 -0
  570. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/paste/plugin.dev.js +142 -0
  571. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/paste/plugin.js +1700 -0
  572. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/paste/plugin.min.js +1 -0
  573. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/preview/plugin.js +88 -0
  574. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/preview/plugin.min.js +1 -0
  575. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/print/plugin.js +32 -0
  576. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/print/plugin.min.js +1 -0
  577. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/save/plugin.js +94 -0
  578. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/save/plugin.min.js +1 -0
  579. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/searchreplace/plugin.js +600 -0
  580. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/searchreplace/plugin.min.js +1 -0
  581. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/spellchecker/classes/DomTextMatcher.js +470 -0
  582. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/spellchecker/classes/Plugin.js +435 -0
  583. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/spellchecker/plugin.dev.js +139 -0
  584. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/spellchecker/plugin.js +1012 -0
  585. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/spellchecker/plugin.min.js +1 -0
  586. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/tabfocus/plugin.js +120 -0
  587. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/tabfocus/plugin.min.js +1 -0
  588. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/table/classes/CellSelection.js +176 -0
  589. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/table/classes/Dialogs.js +824 -0
  590. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/table/classes/Plugin.js +436 -0
  591. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/table/classes/Quirks.js +397 -0
  592. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/table/classes/TableGrid.js +860 -0
  593. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/table/classes/Utils.js +34 -0
  594. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/table/plugin.dev.js +141 -0
  595. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/table/plugin.js +2844 -0
  596. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/table/plugin.min.js +1 -0
  597. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/template/plugin.js +264 -0
  598. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/template/plugin.min.js +1 -0
  599. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/textcolor/plugin.js +282 -0
  600. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/textcolor/plugin.min.js +1 -0
  601. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/textpattern/plugin.js +268 -0
  602. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/textpattern/plugin.min.js +1 -0
  603. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/css/visualblocks.css +135 -0
  604. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/address.gif +0 -0
  605. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/article.gif +0 -0
  606. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/aside.gif +0 -0
  607. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/blockquote.gif +0 -0
  608. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/div.gif +0 -0
  609. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/dl.gif +0 -0
  610. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/figure.gif +0 -0
  611. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/h1.gif +0 -0
  612. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/h2.gif +0 -0
  613. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/h3.gif +0 -0
  614. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/h4.gif +0 -0
  615. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/h5.gif +0 -0
  616. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/h6.gif +0 -0
  617. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/hgroup.gif +0 -0
  618. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/ol.gif +0 -0
  619. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/p.gif +0 -0
  620. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/pre.gif +0 -0
  621. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/section.gif +0 -0
  622. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/img/ul.gif +0 -0
  623. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/plugin.js +86 -0
  624. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualblocks/plugin.min.js +1 -0
  625. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualchars/plugin.js +123 -0
  626. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/visualchars/plugin.min.js +1 -0
  627. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/wordcount/plugin.js +69 -0
  628. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/plugins/wordcount/plugin.min.js +1 -0
  629. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/skins/lightgray/content.inline.min.css +1 -0
  630. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/skins/lightgray/content.min.css +1 -0
  631. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/skins/lightgray/fonts/tinymce-small.eot +0 -0
  632. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/skins/lightgray/fonts/tinymce-small.svg +62 -0
  633. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/skins/lightgray/fonts/tinymce-small.ttf +0 -0
  634. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/skins/lightgray/fonts/tinymce-small.woff +0 -0
  635. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/skins/lightgray/fonts/tinymce.eot +0 -0
  636. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/skins/lightgray/fonts/tinymce.svg +83 -0
  637. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/skins/lightgray/fonts/tinymce.ttf +0 -0
  638. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/skins/lightgray/fonts/tinymce.woff +0 -0
  639. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/skins/lightgray/img/anchor.gif +0 -0
  640. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/skins/lightgray/img/loader.gif +0 -0
  641. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/skins/lightgray/img/object.gif +0 -0
  642. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/skins/lightgray/img/trans.gif +0 -0
  643. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/skins/lightgray/skin.ie7.min.css +1 -0
  644. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/skins/lightgray/skin.min.css +1 -0
  645. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/themes/modern/theme.js +1 -0
  646. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/themes/modern/theme.min.js +1 -0
  647. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/tinymce_v4.js +11 -0
  648. data/app/assets/javascripts/goldencobra/html_editors/tinymce_v4/tinymce_v4_inits.js +62 -0
  649. data/app/assets/javascripts/goldencobra/jquery.color-2.1.2.js +663 -0
  650. data/app/assets/javascripts/goldencobra/pagination.js +28 -0
  651. data/app/assets/javascripts/goldencobra/react_0.13.1.min.js +15 -0
  652. data/app/assets/javascripts/goldencobra/tiny_mce_popup.js +1 -1
  653. data/app/assets/javascripts/goldencobra/tiny_mce_src.js +17942 -0
  654. data/app/assets/stylesheets/goldencobra/active_admin.scss +16 -0
  655. data/app/assets/stylesheets/goldencobra/active_admin_backup.scss +608 -0
  656. data/app/assets/stylesheets/goldencobra/{application.css.scss → application.scss} +0 -0
  657. data/app/assets/stylesheets/goldencobra/chosen.css +51 -31
  658. data/app/assets/stylesheets/goldencobra/gc-articles.scss +12 -0
  659. data/app/assets/stylesheets/goldencobra/gc-chosen-overwrite.scss +12 -0
  660. data/app/assets/stylesheets/goldencobra/gc-general.scss +487 -0
  661. data/app/assets/stylesheets/goldencobra/gc-grid.scss +5 -0
  662. data/app/assets/stylesheets/goldencobra/gc-header.scss +47 -0
  663. data/app/assets/stylesheets/goldencobra/gc-overview-tree.scss +145 -0
  664. data/app/assets/stylesheets/goldencobra/gc-settings.scss +52 -0
  665. data/app/assets/stylesheets/goldencobra/ikusei_active_admin.scss +16 -34
  666. data/app/controllers/goldencobra/api/v1/tokens_controller.rb +10 -0
  667. data/app/controllers/goldencobra/api/v2/articles_controller.rb +213 -143
  668. data/app/controllers/goldencobra/api/v2/locales_controller.rb +1 -1
  669. data/app/controllers/goldencobra/api/v2/navigation_menus_controller.rb +223 -0
  670. data/app/controllers/goldencobra/api/v2/settings_controller.rb +1 -1
  671. data/app/controllers/goldencobra/api/v2/uploads_controller.rb +32 -0
  672. data/app/controllers/goldencobra/api/v3/articles_controller.rb +124 -0
  673. data/app/controllers/goldencobra/application_controller.rb +17 -41
  674. data/app/controllers/goldencobra/articles_controller.rb +60 -62
  675. data/app/controllers/goldencobra/manage_controller.rb +3 -4
  676. data/app/controllers/goldencobra/sessions_controller.rb +22 -15
  677. data/app/helpers/goldencobra/application_helper.rb +15 -3
  678. data/app/helpers/goldencobra/articles_helper.rb +80 -52
  679. data/app/helpers/goldencobra/login_helper.rb +4 -5
  680. data/app/helpers/goldencobra/navigation_helper.rb +52 -44
  681. data/app/mailers/goldencobra/confirmation_mailer.rb +3 -2
  682. data/app/models/ability.rb +1 -1
  683. data/app/models/active_admin/views/index_as_seo_table.rb +9 -0
  684. data/app/models/active_admin/views/index_as_tree.rb +118 -0
  685. data/app/models/goldencobra/article.rb +327 -246
  686. data/app/models/goldencobra/article_concerns/meta_tag.rb +104 -0
  687. data/app/models/goldencobra/article_image.rb +2 -2
  688. data/app/models/goldencobra/article_url.rb +54 -0
  689. data/app/models/goldencobra/articletype.rb +109 -48
  690. data/app/models/goldencobra/articletype_field.rb +3 -2
  691. data/app/models/goldencobra/articletype_group.rb +4 -4
  692. data/app/models/goldencobra/author.rb +5 -3
  693. data/app/models/goldencobra/comment.rb +7 -7
  694. data/app/models/goldencobra/domain.rb +3 -3
  695. data/app/models/goldencobra/import.rb +282 -282
  696. data/app/models/goldencobra/import_metadata.rb +5 -1
  697. data/app/models/goldencobra/link_checker.rb +27 -14
  698. data/app/models/goldencobra/location.rb +16 -4
  699. data/app/models/goldencobra/menue.rb +144 -17
  700. data/app/models/goldencobra/permission.rb +15 -3
  701. data/app/models/goldencobra/redirector.rb +23 -23
  702. data/app/models/goldencobra/role.rb +1 -0
  703. data/app/models/goldencobra/role_user.rb +4 -2
  704. data/app/models/goldencobra/setting.rb +54 -35
  705. data/app/models/goldencobra/tracking.rb +6 -3
  706. data/app/models/goldencobra/upload.rb +71 -53
  707. data/app/models/goldencobra/vita.rb +3 -3
  708. data/app/models/goldencobra/widget.rb +22 -16
  709. data/app/models/translation.rb +2 -2
  710. data/app/models/user.rb +18 -15
  711. data/app/models/visitor.rb +13 -8
  712. data/app/presenters/goldencobra/articletype_presenter.rb +266 -0
  713. data/app/serializers/goldencobra/article_custom_serializer.rb +24 -0
  714. data/app/serializers/goldencobra/article_serializer.rb +26 -0
  715. data/app/serializers/goldencobra/upload_serializer.rb +22 -0
  716. data/app/services/goldencobra/attribute_repair_service.rb +47 -0
  717. data/app/services/goldencobra/attribute_validator.rb +55 -0
  718. data/app/services/goldencobra/settings_cleanup.rb +95 -0
  719. data/app/services/goldencobra/url.rb +25 -0
  720. data/app/views/goldencobra/admin/articles/_article_type.html.erb +4 -3
  721. data/app/views/goldencobra/admin/articles/_image_module_sidebar.html.erb +2 -2
  722. data/app/views/goldencobra/admin/articles/_link_checker.html.erb +10 -13
  723. data/app/views/goldencobra/admin/articles/_select_article_type.html.erb +1 -4
  724. data/app/views/goldencobra/admin/dashboard/_base_dashboard.html.arb +106 -0
  725. data/app/views/goldencobra/admin/shared/_item.html.erb +1 -1
  726. data/app/views/goldencobra/admin/shared/_overview.html.erb +3 -3
  727. data/app/views/goldencobra/admin/shared/_react_overview.html.erb +15 -0
  728. data/app/views/goldencobra/admin/shared/load_overviewtree.js.erb +8 -3
  729. data/app/views/goldencobra/api/v2/articles/index.xml.builder +29 -0
  730. data/app/views/goldencobra/articles/show.rss.builder +1 -1
  731. data/app/views/goldencobra/manage/_admin_article_management_content.html.erb +2 -2
  732. data/app/views/layouts/goldencobra/active_admin_resque.html.erb +15 -15
  733. data/app/views/layouts/goldencobra/application.html.erb +1 -1
  734. data/app/views/layouts/goldencobra/bare_layout.html.erb +1 -1
  735. data/app/views/layouts/goldencobra/for_pdf.html.erb +1 -1
  736. data/app/worker/articles_cache_worker.rb +1 -2
  737. data/config/initializers/active_admin_devise.rb +4 -4
  738. data/config/initializers/check_for_missing_articletypes.rb +2 -55
  739. data/config/initializers/devise.rb +9 -1
  740. data/config/initializers/http_validator.rb +8 -10
  741. data/config/initializers/sass_load_path.rb +4 -0
  742. data/config/initializers/sidekiq.rb.tmpl +7 -0
  743. data/config/locales/active_admin.de.yml +49 -25
  744. data/config/locales/active_admin.en.yml +46 -22
  745. data/config/locales/active_admin.zh-CN.yml +645 -0
  746. data/config/locales/de.yml +95 -78
  747. data/config/locales/en.yml +97 -90
  748. data/config/locales/zh-CN.yml +632 -0
  749. data/config/routes.rb +37 -78
  750. data/config/settings.yml +17 -8
  751. data/config/spring.rb +1 -0
  752. data/db/migrate/20150811082119_install_goldencobra.rb +589 -0
  753. data/db/migrate/20150818133609_change_article_index_type_default.rb +5 -0
  754. data/db/migrate/20150818140444_rename_user_title_to_user_position.rb +5 -0
  755. data/db/migrate/20150818141321_add_displayarticletypeindex_to_goldencobra_articles.rb +5 -0
  756. data/db/migrate/20150819121715_add_descendentsdepth_to_goldencobra_articles.rb +6 -0
  757. data/db/migrate/20150820073443_change_metatag_storage.rb +13 -0
  758. data/db/migrate/20160527083745_add_state_to_goldencobra_articles.rb +5 -0
  759. data/db/migrate/20160614074840_create_goldencobra_article_urls.rb +10 -0
  760. data/db/migrate/20160704070529_add_showindexarticles_to_goldencobra_articles.rb +5 -0
  761. data/db/seeds.rb +28 -13
  762. data/lib/generators/goldencobra/articletype/articletype_generator.rb +3 -5
  763. data/lib/generators/goldencobra/articletype/templates/edit_articletype.html.erb +3 -3
  764. data/lib/generators/goldencobra/articletype/templates/edit_index.html.erb +11 -6
  765. data/lib/generators/goldencobra/articletype/templates/edit_show.html.erb +4 -6
  766. data/lib/generators/goldencobra/articletype/templates/index.html.erb +18 -21
  767. data/lib/generators/goldencobra/articletype/templates/initializer.rb +3 -6
  768. data/lib/generators/goldencobra/articletype/templates/show.html.erb +187 -9
  769. data/lib/generators/goldencobra/install_generator.rb +47 -65
  770. data/lib/generators/goldencobra/server_generator.rb +14 -17
  771. data/lib/generators/goldencobra/templates/active_admin.rb.erb +20 -17
  772. data/lib/generators/goldencobra/templates/assets/javascripts/application.js +1 -29
  773. data/lib/generators/goldencobra/templates/assets/stylesheets/_bootstrap_overwrite.scss +60 -0
  774. data/lib/generators/goldencobra/templates/assets/stylesheets/{active_admin.css.scss → active_admin.scss} +0 -0
  775. data/lib/generators/goldencobra/templates/assets/stylesheets/application.scss +16 -0
  776. data/lib/generators/goldencobra/templates/deploy.rb.erb +0 -6
  777. data/lib/generators/goldencobra/templates/robots.txt +6 -2
  778. data/lib/generators/goldencobra/templates/seeds.rb.erb +29 -163
  779. data/lib/generators/goldencobra/templates/views/articletypes/default/_edit_index.html.erb +3 -9
  780. data/lib/generators/goldencobra/templates/views/articletypes/default/_show.html.erb +181 -15
  781. data/lib/generators/goldencobra/templates/views/layouts/_footer.html.erb +22 -18
  782. data/lib/generators/goldencobra/templates/views/layouts/_header_meta.html.erb +29 -15
  783. data/lib/generators/goldencobra/templates/views/layouts/_navigation.html.erb +31 -0
  784. data/lib/generators/goldencobra/templates/views/layouts/_startpage.html.erb +71 -0
  785. data/lib/generators/goldencobra/templates/views/layouts/application.html.erb +10 -41
  786. data/lib/goldencobra.rb +33 -0
  787. data/lib/goldencobra/acts_as_setting.rb +8 -10
  788. data/lib/goldencobra/engine.rb +30 -41
  789. data/lib/goldencobra/version.rb +1 -3
  790. data/lib/i18n/backend/active_record.rb +61 -0
  791. data/lib/i18n/backend/active_record/translation.rb +109 -0
  792. data/lib/tasks/article_cache.rake +1 -1
  793. data/lib/tasks/attribute_validator.rake +18 -0
  794. data/lib/tasks/link_checker.rake +3 -7
  795. metadata +917 -803
  796. data/app/assets/javascripts/goldencobra/application.js +0 -84
  797. data/app/assets/javascripts/goldencobra/jquery.tinymce.js +0 -1
  798. data/app/assets/javascripts/goldencobra/langs/en.js +0 -1
  799. data/app/assets/javascripts/goldencobra/plugins/advimage/js/image.js +0 -462
  800. data/app/assets/javascripts/goldencobra/plugins/advlink/js/advlink.js +0 -532
  801. data/app/assets/javascripts/goldencobra/plugins/autolink/editor_plugin.js +0 -1
  802. data/app/assets/javascripts/goldencobra/plugins/autolink/editor_plugin_src.js +0 -172
  803. data/app/assets/javascripts/goldencobra/plugins/autoresize/editor_plugin.js +0 -1
  804. data/app/assets/javascripts/goldencobra/plugins/autoresize/editor_plugin_src.js +0 -137
  805. data/app/assets/javascripts/goldencobra/plugins/autosave/editor_plugin.js +0 -1
  806. data/app/assets/javascripts/goldencobra/plugins/autosave/editor_plugin_src.js +0 -431
  807. data/app/assets/javascripts/goldencobra/plugins/autosave/langs/en.js +0 -4
  808. data/app/assets/javascripts/goldencobra/plugins/contextmenu/editor_plugin.js +0 -1
  809. data/app/assets/javascripts/goldencobra/plugins/contextmenu/editor_plugin_src.js +0 -160
  810. data/app/assets/javascripts/goldencobra/plugins/directionality/editor_plugin.js +0 -1
  811. data/app/assets/javascripts/goldencobra/plugins/directionality/editor_plugin_src.js +0 -82
  812. data/app/assets/javascripts/goldencobra/plugins/emotions/emotions.htm +0 -42
  813. data/app/assets/javascripts/goldencobra/plugins/example/editor_plugin_src.js +0 -84
  814. data/app/assets/javascripts/goldencobra/plugins/example/img/image_button.gif +0 -0
  815. data/app/assets/javascripts/goldencobra/plugins/fullscreen/editor_plugin.js +0 -1
  816. data/app/assets/javascripts/goldencobra/plugins/fullscreen/editor_plugin_src.js +0 -159
  817. data/app/assets/javascripts/goldencobra/plugins/fullscreen/fullscreen.htm +0 -110
  818. data/app/assets/javascripts/goldencobra/plugins/inlinepopups/editor_plugin.js +0 -1
  819. data/app/assets/javascripts/goldencobra/plugins/inlinepopups/editor_plugin_src.js +0 -699
  820. data/app/assets/javascripts/goldencobra/plugins/legacyoutput/editor_plugin.js +0 -1
  821. data/app/assets/javascripts/goldencobra/plugins/legacyoutput/editor_plugin_src.js +0 -139
  822. data/app/assets/javascripts/goldencobra/plugins/lists/editor_plugin.js +0 -1
  823. data/app/assets/javascripts/goldencobra/plugins/lists/editor_plugin_src.js +0 -925
  824. data/app/assets/javascripts/goldencobra/plugins/media/editor_plugin.js +0 -1
  825. data/app/assets/javascripts/goldencobra/plugins/media/editor_plugin_src.js +0 -890
  826. data/app/assets/javascripts/goldencobra/plugins/media/js/media.js +0 -464
  827. data/app/assets/javascripts/goldencobra/plugins/noneditable/editor_plugin.js +0 -1
  828. data/app/assets/javascripts/goldencobra/plugins/noneditable/editor_plugin_src.js +0 -95
  829. data/app/assets/javascripts/goldencobra/plugins/paste/editor_plugin.js +0 -1
  830. data/app/assets/javascripts/goldencobra/plugins/paste/editor_plugin_src.js +0 -871
  831. data/app/assets/javascripts/goldencobra/plugins/searchreplace/js/searchreplace.js +0 -142
  832. data/app/assets/javascripts/goldencobra/plugins/searchreplace/searchreplace.htm +0 -100
  833. data/app/assets/javascripts/goldencobra/plugins/spellchecker/editor_plugin.js +0 -1
  834. data/app/assets/javascripts/goldencobra/plugins/spellchecker/editor_plugin_src.js +0 -436
  835. data/app/assets/javascripts/goldencobra/plugins/style/css/props.css +0 -13
  836. data/app/assets/javascripts/goldencobra/plugins/style/editor_plugin.js +0 -1
  837. data/app/assets/javascripts/goldencobra/plugins/style/editor_plugin_src.js +0 -55
  838. data/app/assets/javascripts/goldencobra/plugins/style/js/props.js +0 -635
  839. data/app/assets/javascripts/goldencobra/plugins/style/langs/en_dlg.js +0 -1
  840. data/app/assets/javascripts/goldencobra/plugins/style/props.htm +0 -840
  841. data/app/assets/javascripts/goldencobra/plugins/tabfocus/editor_plugin.js +0 -1
  842. data/app/assets/javascripts/goldencobra/plugins/tabfocus/editor_plugin_src.js +0 -122
  843. data/app/assets/javascripts/goldencobra/plugins/table/editor_plugin.js +0 -1
  844. data/app/assets/javascripts/goldencobra/plugins/table/editor_plugin_src.js +0 -1408
  845. data/app/assets/javascripts/goldencobra/plugins/table/js/cell.js +0 -319
  846. data/app/assets/javascripts/goldencobra/plugins/table/js/row.js +0 -237
  847. data/app/assets/javascripts/goldencobra/plugins/table/js/table.js +0 -484
  848. data/app/assets/javascripts/goldencobra/plugins/table/row.htm +0 -158
  849. data/app/assets/javascripts/goldencobra/plugins/wordcount/editor_plugin.js +0 -1
  850. data/app/assets/javascripts/goldencobra/plugins/wordcount/editor_plugin_src.js +0 -114
  851. data/app/assets/javascripts/goldencobra/themes/advanced/color_picker.htm +0 -74
  852. data/app/assets/javascripts/goldencobra/themes/advanced/editor_template.js +0 -1
  853. data/app/assets/javascripts/goldencobra/themes/advanced/editor_template_src.js +0 -1362
  854. data/app/assets/javascripts/goldencobra/themes/advanced/img/icons.gif +0 -0
  855. data/app/assets/javascripts/goldencobra/themes/advanced/js/anchor.js +0 -43
  856. data/app/assets/javascripts/goldencobra/themes/advanced/js/color_picker.js +0 -329
  857. data/app/assets/javascripts/goldencobra/themes/advanced/js/image.js +0 -251
  858. data/app/assets/javascripts/goldencobra/themes/advanced/js/link.js +0 -153
  859. data/app/assets/javascripts/goldencobra/themes/advanced/js/source_editor.js +0 -56
  860. data/app/assets/javascripts/goldencobra/themes/advanced/langs/en_dlg.js +0 -1
  861. data/app/assets/javascripts/goldencobra/themes/advanced/skins/default/dialog.css +0 -117
  862. data/app/assets/javascripts/goldencobra/themes/advanced/skins/default/ui.css +0 -214
  863. data/app/assets/javascripts/goldencobra/themes/advanced/skins/highcontrast/dialog.css +0 -105
  864. data/app/assets/javascripts/goldencobra/themes/advanced/skins/highcontrast/ui.css +0 -102
  865. data/app/assets/javascripts/goldencobra/themes/advanced/skins/o2k7/dialog.css +0 -117
  866. data/app/assets/javascripts/goldencobra/themes/advanced/skins/o2k7/ui.css +0 -217
  867. data/app/assets/javascripts/goldencobra/themes/advanced/source_editor.htm +0 -25
  868. data/app/assets/javascripts/goldencobra/tiny_mce.js +0 -1
  869. data/app/assets/stylesheets/goldencobra/active_admin.css.scss +0 -595
  870. data/app/models/goldencobra/metatag.rb +0 -23
  871. data/app/models/goldencobra/url_builder.rb +0 -58
  872. data/app/views/goldencobra/admin/articles/_articles_index.html.erb +0 -4
  873. data/app/views/goldencobra/admin/articles/_widgets_sidebar.html.erb +0 -15
  874. data/app/views/goldencobra/admin/articles/toggle_expert_mode.js.erb +0 -7
  875. data/config/initializers/check_for_migrations.rb +0 -21
  876. data/config/initializers/compass.rb +0 -24
  877. data/db/migrate/20120109093658_create_articles.rb +0 -9
  878. data/db/migrate/20120109111205_add_devise_to_admin_users.rb +0 -56
  879. data/db/migrate/20120109121212_create_admin_notes.rb +0 -16
  880. data/db/migrate/20120109121213_move_admin_notes_to_comments.rb +0 -25
  881. data/db/migrate/20120109140423_create_roles.rb +0 -10
  882. data/db/migrate/20120109141338_create_role_users.rb +0 -8
  883. data/db/migrate/20120110112157_add_urlname_to_article.rb +0 -7
  884. data/db/migrate/20120110114803_create_friendly_id_slugs.rb +0 -18
  885. data/db/migrate/20120112163045_add_body_to_articles.rb +0 -6
  886. data/db/migrate/20120112171037_add_ancestry_to_articles.rb +0 -6
  887. data/db/migrate/20120112172723_add_index_to_articles.rb +0 -9
  888. data/db/migrate/20120113100243_create_menues.rb +0 -12
  889. data/db/migrate/20120113101714_add_ancestry_to_menues.rb +0 -6
  890. data/db/migrate/20120113170904_add_startpage_to_article.rb +0 -5
  891. data/db/migrate/20120120095700_create_goldencobra_metatags.rb +0 -11
  892. data/db/migrate/20120125145920_add_fields_to_articles.rb +0 -9
  893. data/db/migrate/20120125161800_add_noindex_to_articles.rb +0 -5
  894. data/db/migrate/20120126132846_create_goldencobra_uploads.rb +0 -14
  895. data/db/migrate/20120206110452_create_goldencobra_locations.rb +0 -15
  896. data/db/migrate/20120209100956_create_goldencobra_settings.rb +0 -11
  897. data/db/migrate/20120217085735_add_options_to_users.rb +0 -16
  898. data/db/migrate/20120221100021_create_goldencobra_helps.rb +0 -11
  899. data/db/migrate/20120307151355_add_breadcrumb_to_goldencobra_articles.rb +0 -6
  900. data/db/migrate/20120312111338_create_goldencobra_widgets.rb +0 -12
  901. data/db/migrate/20120312150558_create_goldencobra_article_widgets.rb +0 -10
  902. data/db/migrate/20120313125443_create_goldencobra_permissions.rb +0 -18
  903. data/db/migrate/20120313142221_add_name_to_goldencobra_widgets.rb +0 -6
  904. data/db/migrate/20120313142421_add_sorter_to_goldencobra_widgets.rb +0 -6
  905. data/db/migrate/20120314102039_add_template_to_goldencobra_articles.rb +0 -6
  906. data/db/migrate/20120315161536_add_sorter_to_goldencobra_menue.rb +0 -6
  907. data/db/migrate/20120321102414_acts_as_taggable_on_migration.rb +0 -30
  908. data/db/migrate/20120321114923_add_articleindex_to_goldencobra_articles.rb +0 -7
  909. data/db/migrate/20120321120727_add_social_sharing_to_goldencobra_articles.rb +0 -6
  910. data/db/migrate/20120321130204_add_articleindeximages_to_goldencobra_articles.rb +0 -6
  911. data/db/migrate/20120321131058_create_goldencobra_article_images.rb +0 -10
  912. data/db/migrate/20120416154848_create_goldencobra_vita.rb +0 -13
  913. data/db/migrate/20120420094029_add_cachable_to_goldencobra_articles.rb +0 -5
  914. data/db/migrate/20120423141814_add_imagegallery_to_goldencobra_articles.rb +0 -5
  915. data/db/migrate/20120509125734_add_title_to_goldencobra_locations.rb +0 -5
  916. data/db/migrate/20120604141401_add_article_type_to_goldencobra_articles.rb +0 -5
  917. data/db/migrate/20120605082035_add_description_to_goldencobra_menues.rb +0 -6
  918. data/db/migrate/20120608095444_add_teaser_title_to_goldencobra_menue.rb +0 -5
  919. data/db/migrate/20120608121356_create_versions.rb +0 -18
  920. data/db/migrate/20120611082814_create_goldencobra_imports.rb +0 -13
  921. data/db/migrate/20120615085225_add_externalurl_to_goldencobra_article.rb +0 -5
  922. data/db/migrate/20120615150128_add_attachable_to_goldencobra_uploads.rb +0 -6
  923. data/db/migrate/20120618122627_add_indextag_to_goldencobra_articles.rb +0 -5
  924. data/db/migrate/20120618132330_add_sliderfields_to_widgets.rb +0 -5
  925. data/db/migrate/20120618141449_add_teaser_to_goldencobra_widgets.rb +0 -5
  926. data/db/migrate/20120619123238_add_sorter_to_goldencobra_articles.rb +0 -5
  927. data/db/migrate/20120619132259_add_reverse_sort_to_goldencobra_articles.rb +0 -5
  928. data/db/migrate/20120625131154_add_author_to_goldencobra_articles.rb +0 -5
  929. data/db/migrate/20120627122742_add_sorter_limit_to_goldencobra_articles.rb +0 -5
  930. data/db/migrate/20120718153348_add_nottags_to_goldencobra_articles.rb +0 -5
  931. data/db/migrate/20120730103912_add_use_frontend_tags_to_goldencobra_articles.rb +0 -5
  932. data/db/migrate/20120807124808_add_image_to_goldencobra_menues.rb +0 -5
  933. data/db/migrate/20120814111900_add_default_and_description_to_goldencobra.rb +0 -6
  934. data/db/migrate/20120814114800_change_default_type_to_goldencobra_widgets.rb +0 -6
  935. data/db/migrate/20120821105002_add_alttext_to_goldencobra_uploads.rb +0 -5
  936. data/db/migrate/20120926133635_add_position_to_goldencobra_article_images.rb +0 -5
  937. data/db/migrate/20120928092721_create_goldencobra_comments.rb +0 -16
  938. data/db/migrate/20120928105956_devise_create_visitors.rb +0 -46
  939. data/db/migrate/20121001092249_add_names_to_visitors.rb +0 -6
  940. data/db/migrate/20121002143111_add_columns_to_visitors.rb +0 -8
  941. data/db/migrate/20121003102003_add_dynamicredirect_to_goldencobraarticles.rb +0 -6
  942. data/db/migrate/20121003140056_add_token_to_visitors.rb +0 -12
  943. data/db/migrate/20121006095912_add_commentable_to_article.rb +0 -5
  944. data/db/migrate/20121007125002_add_activesince_to_goldencobra_articles.rb +0 -5
  945. data/db/migrate/20121011062432_add_username_to_visitors.rb +0 -5
  946. data/db/migrate/20121015071150_add_link_title_to_goldencobra_articles.rb +0 -5
  947. data/db/migrate/20121029131138_add_offline_setter_to_goldencobra_widgets.rb +0 -7
  948. data/db/migrate/20121030112343_add_offline_active_to_goldencobra_widgets.rb +0 -5
  949. data/db/migrate/20121030120838_add_alternative_content_to_goldencobra_widgets.rb +0 -5
  950. data/db/migrate/20121121144623_add_datum_to_widgets.rb +0 -6
  951. data/db/migrate/20121122091033_add_sorter_number_to_goldencobra_uploads.rb +0 -5
  952. data/db/migrate/20121206104701_add_type_to_goldencobra_settings.rb +0 -5
  953. data/db/migrate/20130104145454_add_weektimes_to_goldencobra_widgets.rb +0 -7
  954. data/db/migrate/20130114154115_add_sorter_to_goldencobra_permissions.rb +0 -8
  955. data/db/migrate/20130115104440_add_expert_mode_to_users.rb +0 -5
  956. data/db/migrate/20130118115233_add_poly_to_goldencobra_role_users.rb +0 -6
  957. data/db/migrate/20130128170204_add_default_article_type_for_nil.rb +0 -11
  958. data/db/migrate/20130129092029_add_poly_to_goldencobra_locations.rb +0 -6
  959. data/db/migrate/20130204102953_add_locationoption_to_goldencobra_locations.rb +0 -5
  960. data/db/migrate/20130205084748_add_loginable_to_visitors.rb +0 -6
  961. data/db/migrate/20130225154241_add_redirect_to_goldencobra_roles.rb +0 -5
  962. data/db/migrate/20130301144344_add_indextypes_to_goldencobra_articles.rb +0 -5
  963. data/db/migrate/20130404110743_add_sessions_table.rb +0 -12
  964. data/db/migrate/20130404121434_create_goldencobra_trackings.rb +0 -13
  965. data/db/migrate/20130404135801_add_options_to_goldencobra_trackings.rb +0 -6
  966. data/db/migrate/20130404140858_add_moreoptions_to_goldencobra_trackings.rb +0 -8
  967. data/db/migrate/20130405071320_add_params_to_goldencobra_trackings.rb +0 -5
  968. data/db/migrate/20130405073103_add_googleparams_to_goldencobra_trackings.rb +0 -9
  969. data/db/migrate/20130405074654_add_location_to_tracking.rb +0 -5
  970. data/db/migrate/20130426123928_add_polymorphic_to_goldencobra_metatags.rb +0 -6
  971. data/db/migrate/20130507115517_create_translations.rb +0 -13
  972. data/db/migrate/20130702155529_create_goldencobra_authors.rb +0 -12
  973. data/db/migrate/20130702160247_rename_authorstobackup_to_goldencobra_articles.rb +0 -11
  974. data/db/migrate/20130722152135_add_encodingtype_to_goldencobra_imports.rb +0 -5
  975. data/db/migrate/20130723084542_add_assgroup_to_goldencobra_importer.rb +0 -5
  976. data/db/migrate/20130724123225_create_goldencobra_import_metadata.rb +0 -16
  977. data/db/migrate/20130730113452_add_skip_to_goldencobra_locations.rb +0 -5
  978. data/db/migrate/20130730144331_add_linkchecker_to_goldencobra_articles.rb +0 -5
  979. data/db/migrate/20130903085746_change_datatype_of_url_paremeters.rb +0 -9
  980. data/db/migrate/20130909143144_create_goldencobra_domains.rb +0 -11
  981. data/db/migrate/20130925133203_add_prefix_to_goldencobra_domains.rb +0 -5
  982. data/db/migrate/20131018111343_add_cache_to_goldencobra_menues.rb +0 -12
  983. data/db/migrate/20131129143509_add_remote_to_goldencobra_menues.rb +0 -5
  984. data/db/migrate/20131216110750_add_main_to_goldencobra_domains.rb +0 -7
  985. data/db/migrate/20140127084929_create_goldencobra_articletypes.rb +0 -16
  986. data/db/migrate/20140128091516_create_goldencobra_articletype_groups.rb +0 -16
  987. data/db/migrate/20140128104519_create_goldencobra_articletype_fields.rb +0 -14
  988. data/db/migrate/20140128112747_add_position_to_goldencobra_articletype_group.rb +0 -7
  989. data/db/migrate/20140204221345_add_operator_to_goldencobra_permissions.rb +0 -5
  990. data/db/migrate/20140411152728_add_creator_id_to_goldencobra_articles.rb +0 -5
  991. data/db/migrate/20140505144517_add_taggingcounter.rb +0 -15
  992. data/db/migrate/20140603084537_add_domain_to_goldencobra_permissions.rb +0 -7
  993. data/db/migrate/20140615200342_resize_link_checkfield.rb +0 -13
  994. data/db/migrate/20140626135753_add_externalreferee_to_goldencobra_articles.rb +0 -6
  995. data/db/migrate/20140702103024_add_externaldate_to_goldencobra_articles.rb +0 -5
  996. data/db/migrate/20140702105550_add_remoteurl_to_goldencobra_uploads.rb +0 -5
  997. data/db/migrate/20140702142818_add_image_gallery_type_to_goldencobra_articles.rb +0 -5
  998. data/db/migrate/20140819101033_add_urlpath_to_goldencobra_articles.rb +0 -5
  999. data/db/migrate/20141104115144_create_goldencobra_redirectors.rb +0 -15
  1000. data/db/migrate/20141112124531_add_globalsorting_to_goldencobra_articles.rb +0 -7
  1001. data/db/migrate/20141124170930_add_indiex_to_gc.rb +0 -26
  1002. data/db/migrate/20150115111024_create_goldencobra_article_authors.rb +0 -28
  1003. data/db/migrate/20150115134707_add_remove_author_stuff.rb +0 -11
  1004. data/db/migrate/20150417153454_add_status_to_goldencobra_vita_steps.rb +0 -5
  1005. data/lib/generators/goldencobra/templates/assets/images/icons/icon-bookmark-40x40-light.png +0 -0
  1006. data/lib/generators/goldencobra/templates/assets/images/icons/icon-pdf-40x40-light.png +0 -0
  1007. data/lib/generators/goldencobra/templates/assets/images/icons/icon-print-40x40-light.png +0 -0
  1008. data/lib/generators/goldencobra/templates/assets/images/logo.gif +0 -0
  1009. data/lib/generators/goldencobra/templates/assets/images/rails.png +0 -0
  1010. data/lib/generators/goldencobra/templates/assets/stylesheets/application.css.scss +0 -29
  1011. data/lib/generators/goldencobra/templates/assets/stylesheets/footer/content.css.scss +0 -31
  1012. data/lib/generators/goldencobra/templates/assets/stylesheets/header/content.css.scss +0 -102
  1013. data/lib/generators/goldencobra/templates/assets/stylesheets/main/content.css.scss +0 -192
  1014. data/lib/generators/goldencobra/templates/assets/stylesheets/share/mixins.css.scss +0 -174
  1015. data/lib/generators/goldencobra/templates/assets/stylesheets/share/variables.css.scss +0 -31
  1016. data/lib/generators/goldencobra/templates/views/layouts/_header.html.erb +0 -61
  1017. data/lib/generators/goldencobra/templates/views/layouts/_header_slider.html.erb +0 -14
@@ -0,0 +1 @@
1
+ (function(a){a.onAddEditor.addToTop(function(c,b){b.settings.inline_styles=false});a.create("tinymce.plugins.LegacyOutput",{init:function(b){b.onInit.add(function(){var c="p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img",e=a.explode(b.settings.font_size_style_values),d=b.schema;b.formatter.register({alignleft:{selector:c,attributes:{align:"left"}},aligncenter:{selector:c,attributes:{align:"center"}},alignright:{selector:c,attributes:{align:"right"}},alignfull:{selector:c,attributes:{align:"justify"}},bold:[{inline:"b",remove:"all"},{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}}],italic:[{inline:"i",remove:"all"},{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}}],underline:[{inline:"u",remove:"all"},{inline:"span",styles:{textDecoration:"underline"},exact:true}],strikethrough:[{inline:"strike",remove:"all"},{inline:"span",styles:{textDecoration:"line-through"},exact:true}],fontname:{inline:"font",attributes:{face:"%value"}},fontsize:{inline:"font",attributes:{size:function(f){return a.inArray(e,f.value)+1}}},forecolor:{inline:"font",attributes:{color:"%value"}},hilitecolor:{inline:"font",styles:{backgroundColor:"%value"}}});a.each("b,i,u,strike".split(","),function(f){d.addValidElements(f+"[*]")});if(!d.getElementRule("font")){d.addValidElements("font[face|size|color|style]")}a.each(c.split(","),function(f){var h=d.getElementRule(f),g;if(h){if(!h.attributes.align){h.attributes.align={};h.attributesOrder.push("align")}}});b.onNodeChange.add(function(g,k){var j,f,h,i;f=g.dom.getParent(g.selection.getNode(),"font");if(f){h=f.face;i=f.size}if(j=k.get("fontselect")){j.select(function(l){return l==h})}if(j=k.get("fontsizeselect")){j.select(function(m){var l=a.inArray(e,m.fontSize);return l+1==i})}})})},getInfo:function(){return{longname:"LegacyOutput",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/legacyoutput",version:a.majorVersion+"."+a.minorVersion}}});a.PluginManager.add("legacyoutput",a.plugins.LegacyOutput)})(tinymce);
@@ -0,0 +1,139 @@
1
+ /**
2
+ * editor_plugin_src.js
3
+ *
4
+ * Copyright 2009, Moxiecode Systems AB
5
+ * Released under LGPL License.
6
+ *
7
+ * License: http://tinymce.moxiecode.com/license
8
+ * Contributing: http://tinymce.moxiecode.com/contributing
9
+ *
10
+ * This plugin will force TinyMCE to produce deprecated legacy output such as font elements, u elements, align
11
+ * attributes and so forth. There are a few cases where these old items might be needed for example in email applications or with Flash
12
+ *
13
+ * However you should NOT use this plugin if you are building some system that produces web contents such as a CMS. All these elements are
14
+ * not apart of the newer specifications for HTML and XHTML.
15
+ */
16
+
17
+ (function(tinymce) {
18
+ // Override inline_styles setting to force TinyMCE to produce deprecated contents
19
+ tinymce.onAddEditor.addToTop(function(tinymce, editor) {
20
+ editor.settings.inline_styles = false;
21
+ });
22
+
23
+ // Create the legacy ouput plugin
24
+ tinymce.create('tinymce.plugins.LegacyOutput', {
25
+ init : function(editor) {
26
+ editor.onInit.add(function() {
27
+ var alignElements = 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img',
28
+ fontSizes = tinymce.explode(editor.settings.font_size_style_values),
29
+ schema = editor.schema;
30
+
31
+ // Override some internal formats to produce legacy elements and attributes
32
+ editor.formatter.register({
33
+ // Change alignment formats to use the deprecated align attribute
34
+ alignleft : {selector : alignElements, attributes : {align : 'left'}},
35
+ aligncenter : {selector : alignElements, attributes : {align : 'center'}},
36
+ alignright : {selector : alignElements, attributes : {align : 'right'}},
37
+ alignfull : {selector : alignElements, attributes : {align : 'justify'}},
38
+
39
+ // Change the basic formatting elements to use deprecated element types
40
+ bold : [
41
+ {inline : 'b', remove : 'all'},
42
+ {inline : 'strong', remove : 'all'},
43
+ {inline : 'span', styles : {fontWeight : 'bold'}}
44
+ ],
45
+ italic : [
46
+ {inline : 'i', remove : 'all'},
47
+ {inline : 'em', remove : 'all'},
48
+ {inline : 'span', styles : {fontStyle : 'italic'}}
49
+ ],
50
+ underline : [
51
+ {inline : 'u', remove : 'all'},
52
+ {inline : 'span', styles : {textDecoration : 'underline'}, exact : true}
53
+ ],
54
+ strikethrough : [
55
+ {inline : 'strike', remove : 'all'},
56
+ {inline : 'span', styles : {textDecoration: 'line-through'}, exact : true}
57
+ ],
58
+
59
+ // Change font size and font family to use the deprecated font element
60
+ fontname : {inline : 'font', attributes : {face : '%value'}},
61
+ fontsize : {
62
+ inline : 'font',
63
+ attributes : {
64
+ size : function(vars) {
65
+ return tinymce.inArray(fontSizes, vars.value) + 1;
66
+ }
67
+ }
68
+ },
69
+
70
+ // Setup font elements for colors as well
71
+ forecolor : {inline : 'font', attributes : {color : '%value'}},
72
+ hilitecolor : {inline : 'font', styles : {backgroundColor : '%value'}}
73
+ });
74
+
75
+ // Check that deprecated elements are allowed if not add them
76
+ tinymce.each('b,i,u,strike'.split(','), function(name) {
77
+ schema.addValidElements(name + '[*]');
78
+ });
79
+
80
+ // Add font element if it's missing
81
+ if (!schema.getElementRule("font"))
82
+ schema.addValidElements("font[face|size|color|style]");
83
+
84
+ // Add the missing and depreacted align attribute for the serialization engine
85
+ tinymce.each(alignElements.split(','), function(name) {
86
+ var rule = schema.getElementRule(name), found;
87
+
88
+ if (rule) {
89
+ if (!rule.attributes.align) {
90
+ rule.attributes.align = {};
91
+ rule.attributesOrder.push('align');
92
+ }
93
+ }
94
+ });
95
+
96
+ // Listen for the onNodeChange event so that we can do special logic for the font size and font name drop boxes
97
+ editor.onNodeChange.add(function(editor, control_manager) {
98
+ var control, fontElm, fontName, fontSize;
99
+
100
+ // Find font element get it's name and size
101
+ fontElm = editor.dom.getParent(editor.selection.getNode(), 'font');
102
+ if (fontElm) {
103
+ fontName = fontElm.face;
104
+ fontSize = fontElm.size;
105
+ }
106
+
107
+ // Select/unselect the font name in droplist
108
+ if (control = control_manager.get('fontselect')) {
109
+ control.select(function(value) {
110
+ return value == fontName;
111
+ });
112
+ }
113
+
114
+ // Select/unselect the font size in droplist
115
+ if (control = control_manager.get('fontsizeselect')) {
116
+ control.select(function(value) {
117
+ var index = tinymce.inArray(fontSizes, value.fontSize);
118
+
119
+ return index + 1 == fontSize;
120
+ });
121
+ }
122
+ });
123
+ });
124
+ },
125
+
126
+ getInfo : function() {
127
+ return {
128
+ longname : 'LegacyOutput',
129
+ author : 'Moxiecode Systems AB',
130
+ authorurl : 'http://tinymce.moxiecode.com',
131
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/legacyoutput',
132
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
133
+ };
134
+ }
135
+ });
136
+
137
+ // Register plugin
138
+ tinymce.PluginManager.add('legacyoutput', tinymce.plugins.LegacyOutput);
139
+ })(tinymce);
@@ -0,0 +1 @@
1
+ (function(){var e=tinymce.each,r=tinymce.dom.Event,g;function p(t,s){while(t&&(t.nodeType===8||(t.nodeType===3&&/^[ \t\n\r]*$/.test(t.nodeValue)))){t=s(t)}return t}function b(s){return p(s,function(t){return t.previousSibling})}function i(s){return p(s,function(t){return t.nextSibling})}function d(s,u,t){return s.dom.getParent(u,function(v){return tinymce.inArray(t,v)!==-1})}function n(s){return s&&(s.tagName==="OL"||s.tagName==="UL")}function c(u,v){var t,w,s;t=b(u.lastChild);while(n(t)){w=t;t=b(w.previousSibling)}if(w){s=v.create("li",{style:"list-style-type: none;"});v.split(u,w);v.insertAfter(s,w);s.appendChild(w);s.appendChild(w);u=s.previousSibling}return u}function m(t,s,u){t=a(t,s,u);return o(t,s,u)}function a(u,s,v){var t=b(u.previousSibling);if(t){return h(t,u,s?t:false,v)}else{return u}}function o(u,t,v){var s=i(u.nextSibling);if(s){return h(u,s,t?s:false,v)}else{return u}}function h(u,s,t,v){if(l(u,s,!!t,v)){return f(u,s,t)}else{if(u&&u.tagName==="LI"&&n(s)){u.appendChild(s)}}return s}function l(u,t,s,v){if(!u||!t){return false}else{if(u.tagName==="LI"&&t.tagName==="LI"){return t.style.listStyleType==="none"||j(t)}else{if(n(u)){return(u.tagName===t.tagName&&(s||u.style.listStyleType===t.style.listStyleType))||q(t)}else{return v&&u.tagName==="P"&&t.tagName==="P"}}}}function q(t){var s=i(t.firstChild),u=b(t.lastChild);return s&&u&&n(t)&&s===u&&(n(s)||s.style.listStyleType==="none"||j(s))}function j(u){var t=i(u.firstChild),s=b(u.lastChild);return t&&s&&t===s&&n(t)}function f(w,v,s){var u=b(w.lastChild),t=i(v.firstChild);if(w.tagName==="P"){w.appendChild(w.ownerDocument.createElement("br"))}while(v.firstChild){w.appendChild(v.firstChild)}if(s){w.style.listStyleType=s.style.listStyleType}v.parentNode.removeChild(v);h(u,t,false);return w}function k(t,u){var s;if(!u.is(t,"li,ol,ul")){s=u.getParent(t,"li");if(s){t=s}}return t}tinymce.create("tinymce.plugins.Lists",{init:function(y){var v="TABBING";var s="EMPTY";var J="ESCAPE";var z="PARAGRAPH";var N="UNKNOWN";var x=N;function E(U){return U.keyCode===tinymce.VK.TAB&&!(U.altKey||U.ctrlKey)&&(y.queryCommandState("InsertUnorderedList")||y.queryCommandState("InsertOrderedList"))}function w(){var U=B();var W=U.parentNode.parentNode;var V=U.parentNode.lastChild===U;return V&&!t(W)&&P(U)}function t(U){if(n(U)){return U.parentNode&&U.parentNode.tagName==="LI"}else{return U.tagName==="LI"}}function F(){return y.selection.isCollapsed()&&P(B())}function B(){var U=y.selection.getStart();return((U.tagName=="BR"||U.tagName=="")&&U.parentNode.tagName=="LI")?U.parentNode:U}function P(U){var V=U.childNodes.length;if(U.tagName==="LI"){return V==0?true:V==1&&(U.firstChild.tagName==""||U.firstChild.tagName=="BR"||H(U))}return false}function H(U){var V=tinymce.grep(U.parentNode.childNodes,function(Y){return Y.tagName=="LI"});var W=U==V[V.length-1];var X=U.firstChild;return tinymce.isIE9&&W&&(X.nodeValue==String.fromCharCode(160)||X.nodeValue==String.fromCharCode(32))}function T(U){return U.keyCode===tinymce.VK.ENTER}function A(U){return T(U)&&!U.shiftKey}function M(U){if(E(U)){return v}else{if(A(U)&&w()){return N}else{if(A(U)&&F()){return s}else{return N}}}}function D(U,V){if(x==v||x==s||tinymce.isGecko&&x==J){r.cancel(V)}}function C(){var U=y.selection.getRng(true);var V=U.startContainer;if(V.nodeType==3){var W=V.nodeValue;if(tinymce.isIE9&&W.length>1&&W.charCodeAt(W.length-1)==32){return(U.endOffset==W.length-1)}else{return(U.endOffset==W.length)}}else{if(V.nodeType==1){return U.endOffset==V.childNodes.length}}return false}function I(){var W=y.selection.getNode();var V="h1,h2,h3,h4,h5,h6,p,div";var U=y.dom.is(W,V)&&W.parentNode.tagName==="LI"&&W.parentNode.lastChild===W;return y.selection.isCollapsed()&&U&&C()}function K(W,Y){if(A(Y)&&I()){var X=W.selection.getNode();var V=W.dom.create("li");var U=W.dom.getParent(X,"li");W.dom.insertAfter(V,U);if(tinymce.isIE6||tinymce.isIE7||tinyMCE.isIE8){W.selection.setCursorLocation(V,1)}else{W.selection.setCursorLocation(V,0)}Y.preventDefault()}}function u(X,Z){var ac;if(!tinymce.isGecko){return}var V=X.selection.getStart();if(Z.keyCode!=tinymce.VK.BACKSPACE||V.tagName!=="IMG"){return}function W(ag){var ah=ag.firstChild;var af=null;do{if(!ah){break}if(ah.tagName==="LI"){af=ah}}while(ah=ah.nextSibling);return af}function ae(ag,af){while(ag.childNodes.length>0){af.appendChild(ag.childNodes[0])}}ac=V.parentNode.previousSibling;if(!ac){return}var aa;if(ac.tagName==="UL"||ac.tagName==="OL"){aa=ac}else{if(ac.previousSibling&&(ac.previousSibling.tagName==="UL"||ac.previousSibling.tagName==="OL")){aa=ac.previousSibling}else{return}}var ad=W(aa);var U=X.dom.createRng();U.setStart(ad,1);U.setEnd(ad,1);X.selection.setRng(U);X.selection.collapse(true);var Y=X.selection.getBookmark();var ab=V.parentNode.cloneNode(true);if(ab.tagName==="P"||ab.tagName==="DIV"){ae(ab,ad)}else{ad.appendChild(ab)}V.parentNode.parentNode.removeChild(V.parentNode);X.selection.moveToBookmark(Y)}function G(U){var V=y.dom.getParent(U,"ol,ul");if(V!=null){var W=V.lastChild;y.selection.setCursorLocation(W,0)}}this.ed=y;y.addCommand("Indent",this.indent,this);y.addCommand("Outdent",this.outdent,this);y.addCommand("InsertUnorderedList",function(){this.applyList("UL","OL")},this);y.addCommand("InsertOrderedList",function(){this.applyList("OL","UL")},this);y.onInit.add(function(){y.editorCommands.addCommands({outdent:function(){var V=y.selection,W=y.dom;function U(X){X=W.getParent(X,W.isBlock);return X&&(parseInt(y.dom.getStyle(X,"margin-left")||0,10)+parseInt(y.dom.getStyle(X,"padding-left")||0,10))>0}return U(V.getStart())||U(V.getEnd())||y.queryCommandState("InsertOrderedList")||y.queryCommandState("InsertUnorderedList")}},"state")});y.onKeyUp.add(function(V,W){if(x==v){V.execCommand(W.shiftKey?"Outdent":"Indent",true,null);x=N;return r.cancel(W)}else{if(x==s){var U=B();var Y=V.settings.list_outdent_on_enter===true||W.shiftKey;V.execCommand(Y?"Outdent":"Indent",true,null);if(tinymce.isIE){G(U)}return r.cancel(W)}else{if(x==J){if(tinymce.isIE6||tinymce.isIE7||tinymce.isIE8){var X=V.getDoc().createTextNode("\uFEFF");V.selection.getNode().appendChild(X)}else{if(tinymce.isIE9||tinymce.isGecko){V.execCommand("Outdent");return r.cancel(W)}}}}}});function L(V,U){var W=y.getDoc().createTextNode("\uFEFF");V.insertBefore(W,U);y.selection.setCursorLocation(W,0);y.execCommand("mceRepaint")}function R(V,X){if(T(X)){var U=B();if(U){var W=U.parentNode;var Y=W&&W.parentNode;if(Y&&Y.nodeName=="LI"&&Y.firstChild==W&&U==W.firstChild){L(Y,W)}}}}function S(V,X){if(T(X)){var U=B();if(V.dom.select("ul li",U).length===1){var W=U.firstChild;L(U,W)}}}function Q(W,aa){function X(ab){var ad=[];var ae=new tinymce.dom.TreeWalker(ab.firstChild,ab);for(var ac=ae.current();ac;ac=ae.next()){if(W.dom.is(ac,"ol,ul,li")){ad.push(ac)}}return ad}if(aa.keyCode==tinymce.VK.BACKSPACE){var U=B();if(U){var Z=W.dom.getParent(U,"ol,ul"),V=W.selection.getRng();if(Z&&Z.firstChild===U&&V.startOffset==0){var Y=X(U);Y.unshift(U);W.execCommand("Outdent",false,Y);W.undoManager.add();return r.cancel(aa)}}}}function O(V,X){var U=B();if(X.keyCode===tinymce.VK.BACKSPACE&&V.dom.is(U,"li")&&U.parentNode.firstChild!==U){if(V.dom.select("ul,ol",U).length===1){var Z=U.previousSibling;V.dom.remove(V.dom.select("br",U));V.dom.remove(U,true);var W=tinymce.grep(Z.childNodes,function(aa){return aa.nodeType===3});if(W.length===1){var Y=W[0];V.selection.setCursorLocation(Y,Y.length)}V.undoManager.add();return r.cancel(X)}}}y.onKeyDown.add(function(U,V){x=M(V)});y.onKeyDown.add(D);y.onKeyDown.add(u);y.onKeyDown.add(K);if(tinymce.isGecko){y.onKeyUp.add(R)}if(tinymce.isIE8){y.onKeyUp.add(S)}if(tinymce.isGecko||tinymce.isWebKit){y.onKeyDown.add(Q)}if(tinymce.isWebKit){y.onKeyDown.add(O)}},applyList:function(y,v){var C=this,z=C.ed,I=z.dom,s=[],H=false,u=false,w=false,B,G=z.selection.getSelectedBlocks();function E(t){if(t&&t.tagName==="BR"){I.remove(t)}}function F(M){var N=I.create(y),t;function L(O){if(O.style.marginLeft||O.style.paddingLeft){C.adjustPaddingFunction(false)(O)}}if(M.tagName==="LI"){}else{if(M.tagName==="P"||M.tagName==="DIV"||M.tagName==="BODY"){K(M,function(P,O){J(P,O,M.tagName==="BODY"?null:P.parentNode);t=P.parentNode;L(t);E(O)});if(t){if(t.tagName==="LI"&&(M.tagName==="P"||G.length>1)){I.split(t.parentNode.parentNode,t.parentNode)}m(t.parentNode,true)}return}else{t=I.create("li");I.insertAfter(t,M);t.appendChild(M);L(M);M=t}}I.insertAfter(N,M);N.appendChild(M);m(N,true);s.push(M)}function J(P,L,N){var t,O=P,M;while(!I.isBlock(P.parentNode)&&P.parentNode!==I.getRoot()){P=I.split(P.parentNode,P.previousSibling);P=P.nextSibling;O=P}if(N){t=N.cloneNode(true);P.parentNode.insertBefore(t,P);while(t.firstChild){I.remove(t.firstChild)}t=I.rename(t,"li")}else{t=I.create("li");P.parentNode.insertBefore(t,P)}while(O&&O!=L){M=O.nextSibling;t.appendChild(O);O=M}if(t.childNodes.length===0){t.innerHTML='<br _mce_bogus="1" />'}F(t)}function K(Q,T){var N,R,O=3,L=1,t="br,ul,ol,p,div,h1,h2,h3,h4,h5,h6,table,blockquote,address,pre,form,center,dl";function P(X,U){var V=I.createRng(),W;g.keep=true;z.selection.moveToBookmark(g);g.keep=false;W=z.selection.getRng(true);if(!U){U=X.parentNode.lastChild}V.setStartBefore(X);V.setEndAfter(U);return !(V.compareBoundaryPoints(O,W)>0||V.compareBoundaryPoints(L,W)<=0)}function S(U){if(U.nextSibling){return U.nextSibling}if(!I.isBlock(U.parentNode)&&U.parentNode!==I.getRoot()){return S(U.parentNode)}}N=Q.firstChild;var M=false;e(I.select(t,Q),function(U){if(U.hasAttribute&&U.hasAttribute("_mce_bogus")){return true}if(P(N,U)){I.addClass(U,"_mce_tagged_br");N=S(U)}});M=(N&&P(N,undefined));N=Q.firstChild;e(I.select(t,Q),function(V){var U=S(V);if(V.hasAttribute&&V.hasAttribute("_mce_bogus")){return true}if(I.hasClass(V,"_mce_tagged_br")){T(N,V,R);R=null}else{R=V}N=U});if(M){T(N,undefined,R)}}function D(t){K(t,function(M,L,N){J(M,L);E(L);E(N)})}function A(t){if(tinymce.inArray(s,t)!==-1){return}if(t.parentNode.tagName===v){I.split(t.parentNode,t);F(t);o(t.parentNode,false)}s.push(t)}function x(M){var O,N,L,t;if(tinymce.inArray(s,M)!==-1){return}M=c(M,I);while(I.is(M.parentNode,"ol,ul,li")){I.split(M.parentNode,M)}s.push(M);M=I.rename(M,"p");L=m(M,false,z.settings.force_br_newlines);if(L===M){O=M.firstChild;while(O){if(I.isBlock(O)){O=I.split(O.parentNode,O);t=true;N=O.nextSibling&&O.nextSibling.firstChild}else{N=O.nextSibling;if(t&&O.tagName==="BR"){I.remove(O)}t=false}O=N}}}e(G,function(t){t=k(t,I);if(t.tagName===v||(t.tagName==="LI"&&t.parentNode.tagName===v)){u=true}else{if(t.tagName===y||(t.tagName==="LI"&&t.parentNode.tagName===y)){H=true}else{w=true}}});if(w&&!H||u||G.length===0){B={LI:A,H1:F,H2:F,H3:F,H4:F,H5:F,H6:F,P:F,BODY:F,DIV:G.length>1?F:D,defaultAction:D,elements:this.selectedBlocks()}}else{B={defaultAction:x,elements:this.selectedBlocks(),processEvenIfEmpty:true}}this.process(B)},indent:function(){var u=this.ed,w=u.dom,x=[];function s(z){var y=w.create("li",{style:"list-style-type: none;"});w.insertAfter(y,z);return y}function t(B){var y=s(B),D=w.getParent(B,"ol,ul"),C=D.tagName,E=w.getStyle(D,"list-style-type"),A={},z;if(E!==""){A.style="list-style-type: "+E+";"}z=w.create(C,A);y.appendChild(z);return z}function v(z){if(!d(u,z,x)){z=c(z,w);var y=t(z);y.appendChild(z);m(y.parentNode,false);m(y,false);x.push(z)}}this.process({LI:v,defaultAction:this.adjustPaddingFunction(true),elements:this.selectedBlocks()})},outdent:function(y,x){var w=this,u=w.ed,z=u.dom,s=[];function A(t){var C,B,D;if(!d(u,t,s)){if(z.getStyle(t,"margin-left")!==""||z.getStyle(t,"padding-left")!==""){return w.adjustPaddingFunction(false)(t)}D=z.getStyle(t,"text-align",true);if(D==="center"||D==="right"){z.setStyle(t,"text-align","left");return}t=c(t,z);C=t.parentNode;B=t.parentNode.parentNode;if(B.tagName==="P"){z.split(B,t.parentNode)}else{z.split(C,t);if(B.tagName==="LI"){z.split(B,t)}else{if(!z.is(B,"ol,ul")){z.rename(t,"p")}}}s.push(t)}}var v=x&&tinymce.is(x,"array")?x:this.selectedBlocks();this.process({LI:A,defaultAction:this.adjustPaddingFunction(false),elements:v});e(s,m)},process:function(y){var F=this,w=F.ed.selection,z=F.ed.dom,E,u;function B(t){var s=tinymce.grep(t.childNodes,function(H){return !(H.nodeName==="BR"||H.nodeName==="SPAN"&&z.getAttrib(H,"data-mce-type")=="bookmark"||H.nodeType==3&&(H.nodeValue==String.fromCharCode(160)||H.nodeValue==""))});return s.length===0}function x(s){z.removeClass(s,"_mce_act_on");if(!s||s.nodeType!==1||!y.processEvenIfEmpty&&E.length>1&&B(s)){return}s=k(s,z);var t=y[s.tagName];if(!t){t=y.defaultAction}t(s)}function v(s){F.splitSafeEach(s.childNodes,x,true)}function C(s,t){return t>=0&&s.hasChildNodes()&&t<s.childNodes.length&&s.childNodes[t].tagName==="BR"}function D(){var t=w.getNode();var s=z.getParent(t,"td");return s!==null}E=y.elements;u=w.getRng(true);if(!u.collapsed){if(C(u.endContainer,u.endOffset-1)){u.setEnd(u.endContainer,u.endOffset-1);w.setRng(u)}if(C(u.startContainer,u.startOffset)){u.setStart(u.startContainer,u.startOffset+1);w.setRng(u)}}if(tinymce.isIE8){var G=F.ed.selection.getNode();if(G.tagName==="LI"&&!(G.parentNode.lastChild===G)){var A=F.ed.getDoc().createTextNode("\uFEFF");G.appendChild(A)}}g=w.getBookmark();y.OL=y.UL=v;F.splitSafeEach(E,x);w.moveToBookmark(g);g=null;if(!D()){F.ed.execCommand("mceRepaint")}},splitSafeEach:function(u,t,s){if(s||(tinymce.isGecko&&(/Firefox\/[12]\.[0-9]/.test(navigator.userAgent)||/Firefox\/3\.[0-4]/.test(navigator.userAgent)))){this.classBasedEach(u,t)}else{e(u,t)}},classBasedEach:function(v,u){var w=this.ed.dom,s,t;e(v,function(x){w.addClass(x,"_mce_act_on")});s=w.select("._mce_act_on");while(s.length>0){t=s.shift();w.removeClass(t,"_mce_act_on");u(t);s=w.select("._mce_act_on")}},adjustPaddingFunction:function(u){var s,v,t=this.ed;s=t.settings.indentation;v=/[a-z%]+/i.exec(s);s=parseInt(s,10);return function(w){var y,x;y=parseInt(t.dom.getStyle(w,"margin-left")||0,10)+parseInt(t.dom.getStyle(w,"padding-left")||0,10);if(u){x=y+s}else{x=y-s}t.dom.setStyle(w,"padding-left","");t.dom.setStyle(w,"margin-left",x>0?x+v:"")}},selectedBlocks:function(){var s=this.ed,t=s.selection.getSelectedBlocks();return t.length==0?[s.dom.getRoot()]:t},getInfo:function(){return{longname:"Lists",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/lists",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("lists",tinymce.plugins.Lists)}());
@@ -0,0 +1,955 @@
1
+ /**
2
+ * editor_plugin_src.js
3
+ *
4
+ * Copyright 2011, Moxiecode Systems AB
5
+ * Released under LGPL License.
6
+ *
7
+ * License: http://tinymce.moxiecode.com/license
8
+ * Contributing: http://tinymce.moxiecode.com/contributing
9
+ */
10
+
11
+ (function() {
12
+ var each = tinymce.each, Event = tinymce.dom.Event, bookmark;
13
+
14
+ // Skips text nodes that only contain whitespace since they aren't semantically important.
15
+ function skipWhitespaceNodes(e, next) {
16
+ while (e && (e.nodeType === 8 || (e.nodeType === 3 && /^[ \t\n\r]*$/.test(e.nodeValue)))) {
17
+ e = next(e);
18
+ }
19
+ return e;
20
+ }
21
+
22
+ function skipWhitespaceNodesBackwards(e) {
23
+ return skipWhitespaceNodes(e, function(e) {
24
+ return e.previousSibling;
25
+ });
26
+ }
27
+
28
+ function skipWhitespaceNodesForwards(e) {
29
+ return skipWhitespaceNodes(e, function(e) {
30
+ return e.nextSibling;
31
+ });
32
+ }
33
+
34
+ function hasParentInList(ed, e, list) {
35
+ return ed.dom.getParent(e, function(p) {
36
+ return tinymce.inArray(list, p) !== -1;
37
+ });
38
+ }
39
+
40
+ function isList(e) {
41
+ return e && (e.tagName === 'OL' || e.tagName === 'UL');
42
+ }
43
+
44
+ function splitNestedLists(element, dom) {
45
+ var tmp, nested, wrapItem;
46
+ tmp = skipWhitespaceNodesBackwards(element.lastChild);
47
+ while (isList(tmp)) {
48
+ nested = tmp;
49
+ tmp = skipWhitespaceNodesBackwards(nested.previousSibling);
50
+ }
51
+ if (nested) {
52
+ wrapItem = dom.create('li', { style: 'list-style-type: none;'});
53
+ dom.split(element, nested);
54
+ dom.insertAfter(wrapItem, nested);
55
+ wrapItem.appendChild(nested);
56
+ wrapItem.appendChild(nested);
57
+ element = wrapItem.previousSibling;
58
+ }
59
+ return element;
60
+ }
61
+
62
+ function attemptMergeWithAdjacent(e, allowDifferentListStyles, mergeParagraphs) {
63
+ e = attemptMergeWithPrevious(e, allowDifferentListStyles, mergeParagraphs);
64
+ return attemptMergeWithNext(e, allowDifferentListStyles, mergeParagraphs);
65
+ }
66
+
67
+ function attemptMergeWithPrevious(e, allowDifferentListStyles, mergeParagraphs) {
68
+ var prev = skipWhitespaceNodesBackwards(e.previousSibling);
69
+ if (prev) {
70
+ return attemptMerge(prev, e, allowDifferentListStyles ? prev : false, mergeParagraphs);
71
+ } else {
72
+ return e;
73
+ }
74
+ }
75
+
76
+ function attemptMergeWithNext(e, allowDifferentListStyles, mergeParagraphs) {
77
+ var next = skipWhitespaceNodesForwards(e.nextSibling);
78
+ if (next) {
79
+ return attemptMerge(e, next, allowDifferentListStyles ? next : false, mergeParagraphs);
80
+ } else {
81
+ return e;
82
+ }
83
+ }
84
+
85
+ function attemptMerge(e1, e2, differentStylesMasterElement, mergeParagraphs) {
86
+ if (canMerge(e1, e2, !!differentStylesMasterElement, mergeParagraphs)) {
87
+ return merge(e1, e2, differentStylesMasterElement);
88
+ } else if (e1 && e1.tagName === 'LI' && isList(e2)) {
89
+ // Fix invalidly nested lists.
90
+ e1.appendChild(e2);
91
+ }
92
+ return e2;
93
+ }
94
+
95
+ function canMerge(e1, e2, allowDifferentListStyles, mergeParagraphs) {
96
+ if (!e1 || !e2) {
97
+ return false;
98
+ } else if (e1.tagName === 'LI' && e2.tagName === 'LI') {
99
+ return e2.style.listStyleType === 'none' || containsOnlyAList(e2);
100
+ } else if (isList(e1)) {
101
+ return (e1.tagName === e2.tagName && (allowDifferentListStyles || e1.style.listStyleType === e2.style.listStyleType)) || isListForIndent(e2);
102
+ } else return mergeParagraphs && e1.tagName === 'P' && e2.tagName === 'P';
103
+ }
104
+
105
+ function isListForIndent(e) {
106
+ var firstLI = skipWhitespaceNodesForwards(e.firstChild), lastLI = skipWhitespaceNodesBackwards(e.lastChild);
107
+ return firstLI && lastLI && isList(e) && firstLI === lastLI && (isList(firstLI) || firstLI.style.listStyleType === 'none' || containsOnlyAList(firstLI));
108
+ }
109
+
110
+ function containsOnlyAList(e) {
111
+ var firstChild = skipWhitespaceNodesForwards(e.firstChild), lastChild = skipWhitespaceNodesBackwards(e.lastChild);
112
+ return firstChild && lastChild && firstChild === lastChild && isList(firstChild);
113
+ }
114
+
115
+ function merge(e1, e2, masterElement) {
116
+ var lastOriginal = skipWhitespaceNodesBackwards(e1.lastChild), firstNew = skipWhitespaceNodesForwards(e2.firstChild);
117
+ if (e1.tagName === 'P') {
118
+ e1.appendChild(e1.ownerDocument.createElement('br'));
119
+ }
120
+ while (e2.firstChild) {
121
+ e1.appendChild(e2.firstChild);
122
+ }
123
+ if (masterElement) {
124
+ e1.style.listStyleType = masterElement.style.listStyleType;
125
+ }
126
+ e2.parentNode.removeChild(e2);
127
+ attemptMerge(lastOriginal, firstNew, false);
128
+ return e1;
129
+ }
130
+
131
+ function findItemToOperateOn(e, dom) {
132
+ var item;
133
+ if (!dom.is(e, 'li,ol,ul')) {
134
+ item = dom.getParent(e, 'li');
135
+ if (item) {
136
+ e = item;
137
+ }
138
+ }
139
+ return e;
140
+ }
141
+
142
+ tinymce.create('tinymce.plugins.Lists', {
143
+ init: function(ed) {
144
+ var LIST_TABBING = 'TABBING';
145
+ var LIST_EMPTY_ITEM = 'EMPTY';
146
+ var LIST_ESCAPE = 'ESCAPE';
147
+ var LIST_PARAGRAPH = 'PARAGRAPH';
148
+ var LIST_UNKNOWN = 'UNKNOWN';
149
+ var state = LIST_UNKNOWN;
150
+
151
+ function isTabInList(e) {
152
+ // Don't indent on Ctrl+Tab or Alt+Tab
153
+ return e.keyCode === tinymce.VK.TAB && !(e.altKey || e.ctrlKey) &&
154
+ (ed.queryCommandState('InsertUnorderedList') || ed.queryCommandState('InsertOrderedList'));
155
+ }
156
+
157
+ function isOnLastListItem() {
158
+ var li = getLi();
159
+ var grandParent = li.parentNode.parentNode;
160
+ var isLastItem = li.parentNode.lastChild === li;
161
+ return isLastItem && !isNestedList(grandParent) && isEmptyListItem(li);
162
+ }
163
+
164
+ function isNestedList(grandParent) {
165
+ if (isList(grandParent)) {
166
+ return grandParent.parentNode && grandParent.parentNode.tagName === 'LI';
167
+ } else {
168
+ return grandParent.tagName === 'LI';
169
+ }
170
+ }
171
+
172
+ function isInEmptyListItem() {
173
+ return ed.selection.isCollapsed() && isEmptyListItem(getLi());
174
+ }
175
+
176
+ function getLi() {
177
+ var n = ed.selection.getStart();
178
+ // Get start will return BR if the LI only contains a BR or an empty element as we use these to fix caret position
179
+ return ((n.tagName == 'BR' || n.tagName == '') && n.parentNode.tagName == 'LI') ? n.parentNode : n;
180
+ }
181
+
182
+ function isEmptyListItem(li) {
183
+ var numChildren = li.childNodes.length;
184
+ if (li.tagName === 'LI') {
185
+ return numChildren == 0 ? true : numChildren == 1 && (li.firstChild.tagName == '' || li.firstChild.tagName == 'BR' || isEmptyIE9Li(li));
186
+ }
187
+ return false;
188
+ }
189
+
190
+ function isEmptyIE9Li(li) {
191
+ // only consider this to be last item if there is no list item content or that content is nbsp or space since IE9 creates these
192
+ var lis = tinymce.grep(li.parentNode.childNodes, function(n) {return n.tagName == 'LI'});
193
+ var isLastLi = li == lis[lis.length - 1];
194
+ var child = li.firstChild;
195
+ return tinymce.isIE9 && isLastLi && (child.nodeValue == String.fromCharCode(160) || child.nodeValue == String.fromCharCode(32));
196
+ }
197
+
198
+ function isEnter(e) {
199
+ return e.keyCode === tinymce.VK.ENTER;
200
+ }
201
+
202
+ function isEnterWithoutShift(e) {
203
+ return isEnter(e) && !e.shiftKey;
204
+ }
205
+
206
+ function getListKeyState(e) {
207
+ if (isTabInList(e)) {
208
+ return LIST_TABBING;
209
+ } else if (isEnterWithoutShift(e) && isOnLastListItem()) {
210
+ // Returns LIST_UNKNOWN since breaking out of lists is handled by the EnterKey.js logic now
211
+ //return LIST_ESCAPE;
212
+ return LIST_UNKNOWN;
213
+ } else if (isEnterWithoutShift(e) && isInEmptyListItem()) {
214
+ return LIST_EMPTY_ITEM;
215
+ } else {
216
+ return LIST_UNKNOWN;
217
+ }
218
+ }
219
+
220
+ function cancelDefaultEvents(ed, e) {
221
+ // list escape is done manually using outdent as it does not create paragraphs correctly in td's
222
+ if (state == LIST_TABBING || state == LIST_EMPTY_ITEM || tinymce.isGecko && state == LIST_ESCAPE) {
223
+ Event.cancel(e);
224
+ }
225
+ }
226
+
227
+ function isCursorAtEndOfContainer() {
228
+ var range = ed.selection.getRng(true);
229
+ var startContainer = range.startContainer;
230
+ if (startContainer.nodeType == 3) {
231
+ var value = startContainer.nodeValue;
232
+ if (tinymce.isIE9 && value.length > 1 && value.charCodeAt(value.length-1) == 32) {
233
+ // IE9 places a space on the end of the text in some cases so ignore last char
234
+ return (range.endOffset == value.length-1);
235
+ } else {
236
+ return (range.endOffset == value.length);
237
+ }
238
+ } else if (startContainer.nodeType == 1) {
239
+ return range.endOffset == startContainer.childNodes.length;
240
+ }
241
+ return false;
242
+ }
243
+
244
+ /*
245
+ If we are at the end of a list item surrounded with an element, pressing enter should create a
246
+ new list item instead without splitting the element e.g. don't want to create new P or H1 tag
247
+ */
248
+ function isEndOfListItem() {
249
+ var node = ed.selection.getNode();
250
+ var validElements = 'h1,h2,h3,h4,h5,h6,p,div';
251
+ var isLastParagraphOfLi = ed.dom.is(node, validElements) && node.parentNode.tagName === 'LI' && node.parentNode.lastChild === node;
252
+ return ed.selection.isCollapsed() && isLastParagraphOfLi && isCursorAtEndOfContainer();
253
+ }
254
+
255
+ // Creates a new list item after the current selection's list item parent
256
+ function createNewLi(ed, e) {
257
+ if (isEnterWithoutShift(e) && isEndOfListItem()) {
258
+ var node = ed.selection.getNode();
259
+ var li = ed.dom.create("li");
260
+ var parentLi = ed.dom.getParent(node, 'li');
261
+ ed.dom.insertAfter(li, parentLi);
262
+
263
+ // Move caret to new list element.
264
+ if (tinymce.isIE6 || tinymce.isIE7 || tinyMCE.isIE8) {
265
+ // Removed this line since it would create an odd <&nbsp;> tag and placing the caret inside an empty LI is handled and should be handled by the selection logic
266
+ //li.appendChild(ed.dom.create("&nbsp;")); // IE needs an element within the bullet point
267
+ ed.selection.setCursorLocation(li, 1);
268
+ } else {
269
+ ed.selection.setCursorLocation(li, 0);
270
+ }
271
+ e.preventDefault();
272
+ }
273
+ }
274
+
275
+ function imageJoiningListItem(ed, e) {
276
+ var prevSibling;
277
+
278
+ if (!tinymce.isGecko)
279
+ return;
280
+
281
+ var n = ed.selection.getStart();
282
+ if (e.keyCode != tinymce.VK.BACKSPACE || n.tagName !== 'IMG')
283
+ return;
284
+
285
+ function lastLI(node) {
286
+ var child = node.firstChild;
287
+ var li = null;
288
+ do {
289
+ if (!child)
290
+ break;
291
+
292
+ if (child.tagName === 'LI')
293
+ li = child;
294
+ } while (child = child.nextSibling);
295
+
296
+ return li;
297
+ }
298
+
299
+ function addChildren(parentNode, destination) {
300
+ while (parentNode.childNodes.length > 0)
301
+ destination.appendChild(parentNode.childNodes[0]);
302
+ }
303
+
304
+ // Check if there is a previous sibling
305
+ prevSibling = n.parentNode.previousSibling;
306
+ if (!prevSibling)
307
+ return;
308
+
309
+ var ul;
310
+ if (prevSibling.tagName === 'UL' || prevSibling.tagName === 'OL')
311
+ ul = prevSibling;
312
+ else if (prevSibling.previousSibling && (prevSibling.previousSibling.tagName === 'UL' || prevSibling.previousSibling.tagName === 'OL'))
313
+ ul = prevSibling.previousSibling;
314
+ else
315
+ return;
316
+
317
+ var li = lastLI(ul);
318
+
319
+ // move the caret to the end of the list item
320
+ var rng = ed.dom.createRng();
321
+ rng.setStart(li, 1);
322
+ rng.setEnd(li, 1);
323
+ ed.selection.setRng(rng);
324
+ ed.selection.collapse(true);
325
+
326
+ // save a bookmark at the end of the list item
327
+ var bookmark = ed.selection.getBookmark();
328
+
329
+ // copy the image an its text to the list item
330
+ var clone = n.parentNode.cloneNode(true);
331
+ if (clone.tagName === 'P' || clone.tagName === 'DIV')
332
+ addChildren(clone, li);
333
+ else
334
+ li.appendChild(clone);
335
+
336
+ // remove the old copy of the image
337
+ n.parentNode.parentNode.removeChild(n.parentNode);
338
+
339
+ // move the caret where we saved the bookmark
340
+ ed.selection.moveToBookmark(bookmark);
341
+ }
342
+
343
+ // fix the cursor position to ensure it is correct in IE
344
+ function setCursorPositionToOriginalLi(li) {
345
+ var list = ed.dom.getParent(li, 'ol,ul');
346
+ if (list != null) {
347
+ var lastLi = list.lastChild;
348
+ // Removed this line since IE9 would report an DOM character error and placing the caret inside an empty LI is handled and should be handled by the selection logic
349
+ //lastLi.appendChild(ed.getDoc().createElement(''));
350
+ ed.selection.setCursorLocation(lastLi, 0);
351
+ }
352
+ }
353
+
354
+ this.ed = ed;
355
+ ed.addCommand('Indent', this.indent, this);
356
+ ed.addCommand('Outdent', this.outdent, this);
357
+ ed.addCommand('InsertUnorderedList', function() {
358
+ this.applyList('UL', 'OL');
359
+ }, this);
360
+ ed.addCommand('InsertOrderedList', function() {
361
+ this.applyList('OL', 'UL');
362
+ }, this);
363
+
364
+ ed.onInit.add(function() {
365
+ ed.editorCommands.addCommands({
366
+ 'outdent': function() {
367
+ var sel = ed.selection, dom = ed.dom;
368
+
369
+ function hasStyleIndent(n) {
370
+ n = dom.getParent(n, dom.isBlock);
371
+ return n && (parseInt(ed.dom.getStyle(n, 'margin-left') || 0, 10) + parseInt(ed.dom.getStyle(n, 'padding-left') || 0, 10)) > 0;
372
+ }
373
+
374
+ return hasStyleIndent(sel.getStart()) || hasStyleIndent(sel.getEnd()) || ed.queryCommandState('InsertOrderedList') || ed.queryCommandState('InsertUnorderedList');
375
+ }
376
+ }, 'state');
377
+ });
378
+
379
+ ed.onKeyUp.add(function(ed, e) {
380
+ if (state == LIST_TABBING) {
381
+ ed.execCommand(e.shiftKey ? 'Outdent' : 'Indent', true, null);
382
+ state = LIST_UNKNOWN;
383
+ return Event.cancel(e);
384
+ } else if (state == LIST_EMPTY_ITEM) {
385
+ var li = getLi();
386
+ var shouldOutdent = ed.settings.list_outdent_on_enter === true || e.shiftKey;
387
+ ed.execCommand(shouldOutdent ? 'Outdent' : 'Indent', true, null);
388
+ if (tinymce.isIE) {
389
+ setCursorPositionToOriginalLi(li);
390
+ }
391
+
392
+ return Event.cancel(e);
393
+ } else if (state == LIST_ESCAPE) {
394
+ if (tinymce.isIE6 || tinymce.isIE7 || tinymce.isIE8) {
395
+ // append a zero sized nbsp so that caret is positioned correctly in IE after escaping and applying formatting.
396
+ // if there is no text then applying formatting for e.g a H1 to the P tag immediately following list after
397
+ // escaping from it will cause the caret to be positioned on the last li instead of staying the in P tag.
398
+ var n = ed.getDoc().createTextNode('\uFEFF');
399
+ ed.selection.getNode().appendChild(n);
400
+ } else if (tinymce.isIE9 || tinymce.isGecko) {
401
+ // IE9 does not escape the list so we use outdent to do this and cancel the default behaviour
402
+ // Gecko does not create a paragraph outdenting inside a TD so default behaviour is cancelled and we outdent ourselves
403
+ ed.execCommand('Outdent');
404
+ return Event.cancel(e);
405
+ }
406
+ }
407
+ });
408
+
409
+ function fixListItem(parent, reference) {
410
+ // a zero-sized non-breaking space is placed in the empty list item so that the nested list is
411
+ // displayed on the below line instead of next to it
412
+ var n = ed.getDoc().createTextNode('\uFEFF');
413
+ parent.insertBefore(n, reference);
414
+ ed.selection.setCursorLocation(n, 0);
415
+ // repaint to remove rendering artifact. only visible when creating new list
416
+ ed.execCommand('mceRepaint');
417
+ }
418
+
419
+ function fixIndentedListItemForGecko(ed, e) {
420
+ if (isEnter(e)) {
421
+ var li = getLi();
422
+ if (li) {
423
+ var parent = li.parentNode;
424
+ var grandParent = parent && parent.parentNode;
425
+ if (grandParent && grandParent.nodeName == 'LI' && grandParent.firstChild == parent && li == parent.firstChild) {
426
+ fixListItem(grandParent, parent);
427
+ }
428
+ }
429
+ }
430
+ }
431
+
432
+ function fixIndentedListItemForIE8(ed, e) {
433
+ if (isEnter(e)) {
434
+ var li = getLi();
435
+ if (ed.dom.select('ul li', li).length === 1) {
436
+ var list = li.firstChild;
437
+ fixListItem(li, list);
438
+ }
439
+ }
440
+ }
441
+
442
+ function fixDeletingFirstCharOfList(ed, e) {
443
+ function listElements(li) {
444
+ var elements = [];
445
+ var walker = new tinymce.dom.TreeWalker(li.firstChild, li);
446
+ for (var node = walker.current(); node; node = walker.next()) {
447
+ if (ed.dom.is(node, 'ol,ul,li')) {
448
+ elements.push(node);
449
+ }
450
+ }
451
+ return elements;
452
+ }
453
+
454
+ if (e.keyCode == tinymce.VK.BACKSPACE) {
455
+ var li = getLi();
456
+ if (li) {
457
+ var list = ed.dom.getParent(li, 'ol,ul'),
458
+ rng = ed.selection.getRng();
459
+ if (list && list.firstChild === li && rng.startOffset == 0) {
460
+ var elements = listElements(li);
461
+ elements.unshift(li);
462
+ ed.execCommand("Outdent", false, elements);
463
+ ed.undoManager.add();
464
+ return Event.cancel(e);
465
+ }
466
+ }
467
+ }
468
+ }
469
+
470
+ function fixDeletingEmptyLiInWebkit(ed, e) {
471
+ var li = getLi();
472
+ if (e.keyCode === tinymce.VK.BACKSPACE && ed.dom.is(li, 'li') && li.parentNode.firstChild!==li) {
473
+ if (ed.dom.select('ul,ol', li).length === 1) {
474
+ var prevLi = li.previousSibling;
475
+ ed.dom.remove(ed.dom.select('br', li));
476
+ ed.dom.remove(li, true);
477
+ var textNodes = tinymce.grep(prevLi.childNodes, function(n){ return n.nodeType === 3 });
478
+ if (textNodes.length === 1) {
479
+ var textNode = textNodes[0];
480
+ ed.selection.setCursorLocation(textNode, textNode.length);
481
+ }
482
+ ed.undoManager.add();
483
+ return Event.cancel(e);
484
+ }
485
+ }
486
+ }
487
+
488
+ ed.onKeyDown.add(function(_, e) { state = getListKeyState(e); });
489
+ ed.onKeyDown.add(cancelDefaultEvents);
490
+ ed.onKeyDown.add(imageJoiningListItem);
491
+ ed.onKeyDown.add(createNewLi);
492
+
493
+ if (tinymce.isGecko) {
494
+ ed.onKeyUp.add(fixIndentedListItemForGecko);
495
+ }
496
+ if (tinymce.isIE8) {
497
+ ed.onKeyUp.add(fixIndentedListItemForIE8);
498
+ }
499
+ if (tinymce.isGecko || tinymce.isWebKit) {
500
+ ed.onKeyDown.add(fixDeletingFirstCharOfList);
501
+ }
502
+ if (tinymce.isWebKit) {
503
+ ed.onKeyDown.add(fixDeletingEmptyLiInWebkit);
504
+ }
505
+ },
506
+
507
+ applyList: function(targetListType, oppositeListType) {
508
+ var t = this, ed = t.ed, dom = ed.dom, applied = [], hasSameType = false, hasOppositeType = false, hasNonList = false, actions,
509
+ selectedBlocks = ed.selection.getSelectedBlocks();
510
+
511
+ function cleanupBr(e) {
512
+ if (e && e.tagName === 'BR') {
513
+ dom.remove(e);
514
+ }
515
+ }
516
+
517
+ function makeList(element) {
518
+ var list = dom.create(targetListType), li;
519
+
520
+ function adjustIndentForNewList(element) {
521
+ // If there's a margin-left, outdent one level to account for the extra list margin.
522
+ if (element.style.marginLeft || element.style.paddingLeft) {
523
+ t.adjustPaddingFunction(false)(element);
524
+ }
525
+ }
526
+
527
+ if (element.tagName === 'LI') {
528
+ // No change required.
529
+ } else if (element.tagName === 'P' || element.tagName === 'DIV' || element.tagName === 'BODY') {
530
+ processBrs(element, function(startSection, br) {
531
+ doWrapList(startSection, br, element.tagName === 'BODY' ? null : startSection.parentNode);
532
+ li = startSection.parentNode;
533
+ adjustIndentForNewList(li);
534
+ cleanupBr(br);
535
+ });
536
+ if (li) {
537
+ if (li.tagName === 'LI' && (element.tagName === 'P' || selectedBlocks.length > 1)) {
538
+ dom.split(li.parentNode.parentNode, li.parentNode);
539
+ }
540
+ attemptMergeWithAdjacent(li.parentNode, true);
541
+ }
542
+ return;
543
+ } else {
544
+ // Put the list around the element.
545
+ li = dom.create('li');
546
+ dom.insertAfter(li, element);
547
+ li.appendChild(element);
548
+ adjustIndentForNewList(element);
549
+ element = li;
550
+ }
551
+ dom.insertAfter(list, element);
552
+ list.appendChild(element);
553
+ attemptMergeWithAdjacent(list, true);
554
+ applied.push(element);
555
+ }
556
+
557
+ function doWrapList(start, end, template) {
558
+ var li, n = start, tmp;
559
+ while (!dom.isBlock(start.parentNode) && start.parentNode !== dom.getRoot()) {
560
+ start = dom.split(start.parentNode, start.previousSibling);
561
+ start = start.nextSibling;
562
+ n = start;
563
+ }
564
+ if (template) {
565
+ li = template.cloneNode(true);
566
+ start.parentNode.insertBefore(li, start);
567
+ while (li.firstChild) dom.remove(li.firstChild);
568
+ li = dom.rename(li, 'li');
569
+ } else {
570
+ li = dom.create('li');
571
+ start.parentNode.insertBefore(li, start);
572
+ }
573
+ while (n && n != end) {
574
+ tmp = n.nextSibling;
575
+ li.appendChild(n);
576
+ n = tmp;
577
+ }
578
+ if (li.childNodes.length === 0) {
579
+ li.innerHTML = '<br _mce_bogus="1" />';
580
+ }
581
+ makeList(li);
582
+ }
583
+
584
+ function processBrs(element, callback) {
585
+ var startSection, previousBR, END_TO_START = 3, START_TO_END = 1,
586
+ breakElements = 'br,ul,ol,p,div,h1,h2,h3,h4,h5,h6,table,blockquote,address,pre,form,center,dl';
587
+
588
+ function isAnyPartSelected(start, end) {
589
+ var r = dom.createRng(), sel;
590
+ bookmark.keep = true;
591
+ ed.selection.moveToBookmark(bookmark);
592
+ bookmark.keep = false;
593
+ sel = ed.selection.getRng(true);
594
+ if (!end) {
595
+ end = start.parentNode.lastChild;
596
+ }
597
+ r.setStartBefore(start);
598
+ r.setEndAfter(end);
599
+ return !(r.compareBoundaryPoints(END_TO_START, sel) > 0 || r.compareBoundaryPoints(START_TO_END, sel) <= 0);
600
+ }
601
+
602
+ function nextLeaf(br) {
603
+ if (br.nextSibling)
604
+ return br.nextSibling;
605
+ if (!dom.isBlock(br.parentNode) && br.parentNode !== dom.getRoot())
606
+ return nextLeaf(br.parentNode);
607
+ }
608
+
609
+ // Split on BRs within the range and process those.
610
+ startSection = element.firstChild;
611
+ // First mark the BRs that have any part of the previous section selected.
612
+ var trailingContentSelected = false;
613
+ each(dom.select(breakElements, element), function(br) {
614
+ if (br.hasAttribute && br.hasAttribute('_mce_bogus')) {
615
+ return true; // Skip the bogus Brs that are put in to appease Firefox and Safari.
616
+ }
617
+ if (isAnyPartSelected(startSection, br)) {
618
+ dom.addClass(br, '_mce_tagged_br');
619
+ startSection = nextLeaf(br);
620
+ }
621
+ });
622
+ trailingContentSelected = (startSection && isAnyPartSelected(startSection, undefined));
623
+ startSection = element.firstChild;
624
+ each(dom.select(breakElements, element), function(br) {
625
+ // Got a section from start to br.
626
+ var tmp = nextLeaf(br);
627
+ if (br.hasAttribute && br.hasAttribute('_mce_bogus')) {
628
+ return true; // Skip the bogus Brs that are put in to appease Firefox and Safari.
629
+ }
630
+ if (dom.hasClass(br, '_mce_tagged_br')) {
631
+ callback(startSection, br, previousBR);
632
+ previousBR = null;
633
+ } else {
634
+ previousBR = br;
635
+ }
636
+ startSection = tmp;
637
+ });
638
+ if (trailingContentSelected) {
639
+ callback(startSection, undefined, previousBR);
640
+ }
641
+ }
642
+
643
+ function wrapList(element) {
644
+ processBrs(element, function(startSection, br, previousBR) {
645
+ // Need to indent this part
646
+ doWrapList(startSection, br);
647
+ cleanupBr(br);
648
+ cleanupBr(previousBR);
649
+ });
650
+ }
651
+
652
+ function changeList(element) {
653
+ if (tinymce.inArray(applied, element) !== -1) {
654
+ return;
655
+ }
656
+ if (element.parentNode.tagName === oppositeListType) {
657
+ dom.split(element.parentNode, element);
658
+ makeList(element);
659
+ attemptMergeWithNext(element.parentNode, false);
660
+ }
661
+ applied.push(element);
662
+ }
663
+
664
+ function convertListItemToParagraph(element) {
665
+ var child, nextChild, mergedElement, splitLast;
666
+ if (tinymce.inArray(applied, element) !== -1) {
667
+ return;
668
+ }
669
+ element = splitNestedLists(element, dom);
670
+ while (dom.is(element.parentNode, 'ol,ul,li')) {
671
+ dom.split(element.parentNode, element);
672
+ }
673
+ // Push the original element we have from the selection, not the renamed one.
674
+ applied.push(element);
675
+ element = dom.rename(element, 'p');
676
+ mergedElement = attemptMergeWithAdjacent(element, false, ed.settings.force_br_newlines);
677
+ if (mergedElement === element) {
678
+ // Now split out any block elements that can't be contained within a P.
679
+ // Manually iterate to ensure we handle modifications correctly (doesn't work with tinymce.each)
680
+ child = element.firstChild;
681
+ while (child) {
682
+ if (dom.isBlock(child)) {
683
+ child = dom.split(child.parentNode, child);
684
+ splitLast = true;
685
+ nextChild = child.nextSibling && child.nextSibling.firstChild;
686
+ } else {
687
+ nextChild = child.nextSibling;
688
+ if (splitLast && child.tagName === 'BR') {
689
+ dom.remove(child);
690
+ }
691
+ splitLast = false;
692
+ }
693
+ child = nextChild;
694
+ }
695
+ }
696
+ }
697
+
698
+ each(selectedBlocks, function(e) {
699
+ e = findItemToOperateOn(e, dom);
700
+ if (e.tagName === oppositeListType || (e.tagName === 'LI' && e.parentNode.tagName === oppositeListType)) {
701
+ hasOppositeType = true;
702
+ } else if (e.tagName === targetListType || (e.tagName === 'LI' && e.parentNode.tagName === targetListType)) {
703
+ hasSameType = true;
704
+ } else {
705
+ hasNonList = true;
706
+ }
707
+ });
708
+
709
+ if (hasNonList &&!hasSameType || hasOppositeType || selectedBlocks.length === 0) {
710
+ actions = {
711
+ 'LI': changeList,
712
+ 'H1': makeList,
713
+ 'H2': makeList,
714
+ 'H3': makeList,
715
+ 'H4': makeList,
716
+ 'H5': makeList,
717
+ 'H6': makeList,
718
+ 'P': makeList,
719
+ 'BODY': makeList,
720
+ 'DIV': selectedBlocks.length > 1 ? makeList : wrapList,
721
+ defaultAction: wrapList,
722
+ elements: this.selectedBlocks()
723
+ };
724
+ } else {
725
+ actions = {
726
+ defaultAction: convertListItemToParagraph,
727
+ elements: this.selectedBlocks(),
728
+ processEvenIfEmpty: true
729
+ };
730
+ }
731
+ this.process(actions);
732
+ },
733
+
734
+ indent: function() {
735
+ var ed = this.ed, dom = ed.dom, indented = [];
736
+
737
+ function createWrapItem(element) {
738
+ var wrapItem = dom.create('li', { style: 'list-style-type: none;'});
739
+ dom.insertAfter(wrapItem, element);
740
+ return wrapItem;
741
+ }
742
+
743
+ function createWrapList(element) {
744
+ var wrapItem = createWrapItem(element),
745
+ list = dom.getParent(element, 'ol,ul'),
746
+ listType = list.tagName,
747
+ listStyle = dom.getStyle(list, 'list-style-type'),
748
+ attrs = {},
749
+ wrapList;
750
+ if (listStyle !== '') {
751
+ attrs.style = 'list-style-type: ' + listStyle + ';';
752
+ }
753
+ wrapList = dom.create(listType, attrs);
754
+ wrapItem.appendChild(wrapList);
755
+ return wrapList;
756
+ }
757
+
758
+ function indentLI(element) {
759
+ if (!hasParentInList(ed, element, indented)) {
760
+ element = splitNestedLists(element, dom);
761
+ var wrapList = createWrapList(element);
762
+ wrapList.appendChild(element);
763
+ attemptMergeWithAdjacent(wrapList.parentNode, false);
764
+ attemptMergeWithAdjacent(wrapList, false);
765
+ indented.push(element);
766
+ }
767
+ }
768
+
769
+ this.process({
770
+ 'LI': indentLI,
771
+ defaultAction: this.adjustPaddingFunction(true),
772
+ elements: this.selectedBlocks()
773
+ });
774
+
775
+ },
776
+
777
+ outdent: function(ui, elements) {
778
+ var t = this, ed = t.ed, dom = ed.dom, outdented = [];
779
+
780
+ function outdentLI(element) {
781
+ var listElement, targetParent, align;
782
+ if (!hasParentInList(ed, element, outdented)) {
783
+ if (dom.getStyle(element, 'margin-left') !== '' || dom.getStyle(element, 'padding-left') !== '') {
784
+ return t.adjustPaddingFunction(false)(element);
785
+ }
786
+ align = dom.getStyle(element, 'text-align', true);
787
+ if (align === 'center' || align === 'right') {
788
+ dom.setStyle(element, 'text-align', 'left');
789
+ return;
790
+ }
791
+ element = splitNestedLists(element, dom);
792
+ listElement = element.parentNode;
793
+ targetParent = element.parentNode.parentNode;
794
+ if (targetParent.tagName === 'P') {
795
+ dom.split(targetParent, element.parentNode);
796
+ } else {
797
+ dom.split(listElement, element);
798
+ if (targetParent.tagName === 'LI') {
799
+ // Nested list, need to split the LI and go back out to the OL/UL element.
800
+ dom.split(targetParent, element);
801
+ } else if (!dom.is(targetParent, 'ol,ul')) {
802
+ dom.rename(element, 'p');
803
+ }
804
+ }
805
+ outdented.push(element);
806
+ }
807
+ }
808
+
809
+ var listElements = elements && tinymce.is(elements, 'array') ? elements : this.selectedBlocks();
810
+ this.process({
811
+ 'LI': outdentLI,
812
+ defaultAction: this.adjustPaddingFunction(false),
813
+ elements: listElements
814
+ });
815
+
816
+ each(outdented, attemptMergeWithAdjacent);
817
+ },
818
+
819
+ process: function(actions) {
820
+ var t = this, sel = t.ed.selection, dom = t.ed.dom, selectedBlocks, r;
821
+
822
+ function isEmptyElement(element) {
823
+ var excludeBrsAndBookmarks = tinymce.grep(element.childNodes, function(n) {
824
+ return !(n.nodeName === 'BR' || n.nodeName === 'SPAN' && dom.getAttrib(n, 'data-mce-type') == 'bookmark'
825
+ || n.nodeType == 3 && (n.nodeValue == String.fromCharCode(160) || n.nodeValue == ''));
826
+ });
827
+ return excludeBrsAndBookmarks.length === 0;
828
+ }
829
+
830
+ function processElement(element) {
831
+ dom.removeClass(element, '_mce_act_on');
832
+ if (!element || element.nodeType !== 1 || ! actions.processEvenIfEmpty && selectedBlocks.length > 1 && isEmptyElement(element)) {
833
+ return;
834
+ }
835
+ element = findItemToOperateOn(element, dom);
836
+ var action = actions[element.tagName];
837
+ if (!action) {
838
+ action = actions.defaultAction;
839
+ }
840
+ action(element);
841
+ }
842
+
843
+ function recurse(element) {
844
+ t.splitSafeEach(element.childNodes, processElement, true);
845
+ }
846
+
847
+ function brAtEdgeOfSelection(container, offset) {
848
+ return offset >= 0 && container.hasChildNodes() && offset < container.childNodes.length &&
849
+ container.childNodes[offset].tagName === 'BR';
850
+ }
851
+
852
+ function isInTable() {
853
+ var n = sel.getNode();
854
+ var p = dom.getParent(n, 'td');
855
+ return p !== null;
856
+ }
857
+
858
+ selectedBlocks = actions.elements;
859
+
860
+ r = sel.getRng(true);
861
+ if (!r.collapsed) {
862
+ if (brAtEdgeOfSelection(r.endContainer, r.endOffset - 1)) {
863
+ r.setEnd(r.endContainer, r.endOffset - 1);
864
+ sel.setRng(r);
865
+ }
866
+ if (brAtEdgeOfSelection(r.startContainer, r.startOffset)) {
867
+ r.setStart(r.startContainer, r.startOffset + 1);
868
+ sel.setRng(r);
869
+ }
870
+ }
871
+
872
+
873
+ if (tinymce.isIE8) {
874
+ // append a zero sized nbsp so that caret is restored correctly using bookmark
875
+ var s = t.ed.selection.getNode();
876
+ if (s.tagName === 'LI' && !(s.parentNode.lastChild === s)) {
877
+ var i = t.ed.getDoc().createTextNode('\uFEFF');
878
+ s.appendChild(i);
879
+ }
880
+ }
881
+
882
+ bookmark = sel.getBookmark();
883
+ actions.OL = actions.UL = recurse;
884
+ t.splitSafeEach(selectedBlocks, processElement);
885
+ sel.moveToBookmark(bookmark);
886
+ bookmark = null;
887
+
888
+ // we avoid doing repaint in a table as this will move the caret out of the table in Firefox 3.6
889
+ if (!isInTable()) {
890
+ // Avoids table or image handles being left behind in Firefox.
891
+ t.ed.execCommand('mceRepaint');
892
+ }
893
+ },
894
+
895
+ splitSafeEach: function(elements, f, forceClassBase) {
896
+ if (forceClassBase ||
897
+ (tinymce.isGecko &&
898
+ (/Firefox\/[12]\.[0-9]/.test(navigator.userAgent) ||
899
+ /Firefox\/3\.[0-4]/.test(navigator.userAgent)))) {
900
+ this.classBasedEach(elements, f);
901
+ } else {
902
+ each(elements, f);
903
+ }
904
+ },
905
+
906
+ classBasedEach: function(elements, f) {
907
+ var dom = this.ed.dom, nodes, element;
908
+ // Mark nodes
909
+ each(elements, function(element) {
910
+ dom.addClass(element, '_mce_act_on');
911
+ });
912
+ nodes = dom.select('._mce_act_on');
913
+ while (nodes.length > 0) {
914
+ element = nodes.shift();
915
+ dom.removeClass(element, '_mce_act_on');
916
+ f(element);
917
+ nodes = dom.select('._mce_act_on');
918
+ }
919
+ },
920
+
921
+ adjustPaddingFunction: function(isIndent) {
922
+ var indentAmount, indentUnits, ed = this.ed;
923
+ indentAmount = ed.settings.indentation;
924
+ indentUnits = /[a-z%]+/i.exec(indentAmount);
925
+ indentAmount = parseInt(indentAmount, 10);
926
+ return function(element) {
927
+ var currentIndent, newIndentAmount;
928
+ currentIndent = parseInt(ed.dom.getStyle(element, 'margin-left') || 0, 10) + parseInt(ed.dom.getStyle(element, 'padding-left') || 0, 10);
929
+ if (isIndent) {
930
+ newIndentAmount = currentIndent + indentAmount;
931
+ } else {
932
+ newIndentAmount = currentIndent - indentAmount;
933
+ }
934
+ ed.dom.setStyle(element, 'padding-left', '');
935
+ ed.dom.setStyle(element, 'margin-left', newIndentAmount > 0 ? newIndentAmount + indentUnits : '');
936
+ };
937
+ },
938
+
939
+ selectedBlocks: function() {
940
+ var ed = this.ed, selectedBlocks = ed.selection.getSelectedBlocks();
941
+ return selectedBlocks.length == 0 ? [ ed.dom.getRoot() ] : selectedBlocks;
942
+ },
943
+
944
+ getInfo: function() {
945
+ return {
946
+ longname : 'Lists',
947
+ author : 'Moxiecode Systems AB',
948
+ authorurl : 'http://tinymce.moxiecode.com',
949
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/lists',
950
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
951
+ };
952
+ }
953
+ });
954
+ tinymce.PluginManager.add("lists", tinymce.plugins.Lists);
955
+ }());