spree_editor 0.50.0 → 0.50.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (150) hide show
  1. data/Versionfile +3 -0
  2. data/app/controllers/admin/editor_settings_controller.rb +5 -11
  3. data/app/views/admin/editor_settings/edit.html.erb +20 -19
  4. data/app/views/shared/editor_engines/_tiny_mce.html.erb +16 -33
  5. data/app/views/shared/editor_engines/_yui_rich_editor.html.erb +60 -7
  6. data/config/locales/en.yml +1 -0
  7. data/config/locales/es.yml +45 -0
  8. data/config/locales/ru.yml +2 -0
  9. data/lib/editor_configuration.rb +2 -2
  10. data/public/images/html_editor.gif +0 -0
  11. data/public/javascripts/tinymce/langs/en.js +56 -3
  12. data/public/javascripts/tinymce/plugins/advhr/langs/en_dlg.js +2 -0
  13. data/public/javascripts/tinymce/plugins/advhr/rule.htm +30 -29
  14. data/public/javascripts/tinymce/plugins/advimage/image.htm +34 -31
  15. data/public/javascripts/tinymce/plugins/advimage/js/image.js +20 -5
  16. data/public/javascripts/tinymce/plugins/advimage/langs/en_dlg.js +2 -0
  17. data/public/javascripts/tinymce/plugins/advlink/js/advlink.js +21 -17
  18. data/public/javascripts/tinymce/plugins/advlink/langs/en_dlg.js +4 -2
  19. data/public/javascripts/tinymce/plugins/advlink/link.htm +35 -30
  20. data/public/javascripts/tinymce/plugins/advlist/editor_plugin.js +1 -1
  21. data/public/javascripts/tinymce/plugins/advlist/editor_plugin_src.js +10 -3
  22. data/public/javascripts/tinymce/plugins/autolink/editor_plugin.js +1 -0
  23. data/public/javascripts/tinymce/plugins/autolink/editor_plugin_src.js +169 -0
  24. data/public/javascripts/tinymce/plugins/autoresize/editor_plugin.js +1 -1
  25. data/public/javascripts/tinymce/plugins/autoresize/editor_plugin_src.js +12 -3
  26. data/public/javascripts/tinymce/plugins/autosave/editor_plugin.js +1 -1
  27. data/public/javascripts/tinymce/plugins/autosave/editor_plugin_src.js +13 -4
  28. data/public/javascripts/tinymce/plugins/bbcode/editor_plugin.js +1 -1
  29. data/public/javascripts/tinymce/plugins/bbcode/editor_plugin_src.js +1 -1
  30. data/public/javascripts/tinymce/plugins/contextmenu/editor_plugin.js +1 -1
  31. data/public/javascripts/tinymce/plugins/contextmenu/editor_plugin_src.js +30 -16
  32. data/public/javascripts/tinymce/plugins/emotions/emotions.htm +15 -14
  33. data/public/javascripts/tinymce/plugins/fullpage/css/fullpage.css +3 -42
  34. data/public/javascripts/tinymce/plugins/fullpage/editor_plugin.js +1 -1
  35. data/public/javascripts/tinymce/plugins/fullpage/editor_plugin_src.js +309 -63
  36. data/public/javascripts/tinymce/plugins/fullpage/fullpage.htm +18 -330
  37. data/public/javascripts/tinymce/plugins/fullpage/js/fullpage.js +199 -438
  38. data/public/javascripts/tinymce/plugins/fullscreen/editor_plugin.js +1 -1
  39. data/public/javascripts/tinymce/plugins/fullscreen/editor_plugin_src.js +10 -2
  40. data/public/javascripts/tinymce/plugins/inlinepopups/editor_plugin.js +1 -1
  41. data/public/javascripts/tinymce/plugins/inlinepopups/editor_plugin_src.js +76 -15
  42. data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css +0 -10
  43. data/public/javascripts/tinymce/plugins/layer/editor_plugin.js +1 -1
  44. data/public/javascripts/tinymce/plugins/layer/editor_plugin_src.js +2 -0
  45. data/public/javascripts/tinymce/plugins/legacyoutput/editor_plugin.js +1 -1
  46. data/public/javascripts/tinymce/plugins/legacyoutput/editor_plugin_src.js +31 -28
  47. data/public/javascripts/tinymce/plugins/lists/editor_plugin.js +1 -0
  48. data/public/javascripts/tinymce/plugins/lists/editor_plugin_src.js +617 -0
  49. data/public/javascripts/tinymce/plugins/media/css/media.css +5 -4
  50. data/public/javascripts/tinymce/plugins/media/editor_plugin.js +1 -1
  51. data/public/javascripts/tinymce/plugins/media/editor_plugin_src.js +652 -296
  52. data/public/javascripts/tinymce/plugins/media/js/media.js +327 -603
  53. data/public/javascripts/tinymce/plugins/media/langs/en_dlg.js +8 -2
  54. data/public/javascripts/tinymce/plugins/media/media.htm +283 -288
  55. data/public/javascripts/tinymce/plugins/media/moxieplayer.swf +0 -0
  56. data/public/javascripts/tinymce/plugins/nonbreaking/editor_plugin.js +1 -1
  57. data/public/javascripts/tinymce/plugins/nonbreaking/editor_plugin_src.js +1 -1
  58. data/public/javascripts/tinymce/plugins/noneditable/editor_plugin.js +1 -1
  59. data/public/javascripts/tinymce/plugins/noneditable/editor_plugin_src.js +2 -0
  60. data/public/javascripts/tinymce/plugins/pagebreak/editor_plugin.js +1 -1
  61. data/public/javascripts/tinymce/plugins/pagebreak/editor_plugin_src.js +1 -4
  62. data/public/javascripts/tinymce/plugins/paste/editor_plugin.js +1 -1
  63. data/public/javascripts/tinymce/plugins/paste/editor_plugin_src.js +118 -137
  64. data/public/javascripts/tinymce/plugins/searchreplace/editor_plugin.js +1 -1
  65. data/public/javascripts/tinymce/plugins/searchreplace/editor_plugin_src.js +4 -0
  66. data/public/javascripts/tinymce/plugins/searchreplace/js/searchreplace.js +14 -10
  67. data/public/javascripts/tinymce/plugins/searchreplace/searchreplace.htm +17 -16
  68. data/public/javascripts/tinymce/plugins/spellchecker/editor_plugin.js +1 -1
  69. data/public/javascripts/tinymce/plugins/spellchecker/editor_plugin_src.js +55 -37
  70. data/public/javascripts/tinymce/plugins/style/js/props.js +2 -8
  71. data/public/javascripts/tinymce/plugins/style/langs/en_dlg.js +8 -1
  72. data/public/javascripts/tinymce/plugins/style/props.htm +513 -398
  73. data/public/javascripts/tinymce/plugins/tabfocus/editor_plugin.js +1 -1
  74. data/public/javascripts/tinymce/plugins/tabfocus/editor_plugin_src.js +30 -28
  75. data/public/javascripts/tinymce/plugins/table/cell.htm +12 -12
  76. data/public/javascripts/tinymce/plugins/table/editor_plugin.js +1 -1
  77. data/public/javascripts/tinymce/plugins/table/editor_plugin_src.js +97 -34
  78. data/public/javascripts/tinymce/plugins/table/js/cell.js +9 -11
  79. data/public/javascripts/tinymce/plugins/table/js/row.js +13 -18
  80. data/public/javascripts/tinymce/plugins/table/js/table.js +8 -12
  81. data/public/javascripts/tinymce/plugins/table/langs/en_dlg.js +1 -1
  82. data/public/javascripts/tinymce/plugins/table/merge_cells.htm +11 -11
  83. data/public/javascripts/tinymce/plugins/table/row.htm +10 -8
  84. data/public/javascripts/tinymce/plugins/table/table.htm +54 -53
  85. data/public/javascripts/tinymce/plugins/template/js/template.js +1 -1
  86. data/public/javascripts/tinymce/plugins/visualchars/editor_plugin.js +1 -1
  87. data/public/javascripts/tinymce/plugins/visualchars/editor_plugin_src.js +1 -1
  88. data/public/javascripts/tinymce/plugins/wordcount/editor_plugin.js +1 -1
  89. data/public/javascripts/tinymce/plugins/wordcount/editor_plugin_src.js +35 -19
  90. data/public/javascripts/tinymce/plugins/xhtmlxtras/abbr.htm +6 -5
  91. data/public/javascripts/tinymce/plugins/xhtmlxtras/acronym.htm +6 -5
  92. data/public/javascripts/tinymce/plugins/xhtmlxtras/attributes.htm +6 -5
  93. data/public/javascripts/tinymce/plugins/xhtmlxtras/cite.htm +5 -4
  94. data/public/javascripts/tinymce/plugins/xhtmlxtras/del.htm +9 -8
  95. data/public/javascripts/tinymce/plugins/xhtmlxtras/editor_plugin.js +1 -1
  96. data/public/javascripts/tinymce/plugins/xhtmlxtras/editor_plugin_src.js +6 -6
  97. data/public/javascripts/tinymce/plugins/xhtmlxtras/ins.htm +11 -10
  98. data/public/javascripts/tinymce/plugins/xhtmlxtras/js/attributes.js +1 -16
  99. data/public/javascripts/tinymce/plugins/xhtmlxtras/js/del.js +2 -2
  100. data/public/javascripts/tinymce/plugins/xhtmlxtras/js/element_common.js +3 -5
  101. data/public/javascripts/tinymce/plugins/xhtmlxtras/js/ins.js +4 -3
  102. data/public/javascripts/tinymce/themes/advanced/about.htm +3 -5
  103. data/public/javascripts/tinymce/themes/advanced/anchor.htm +5 -5
  104. data/public/javascripts/tinymce/themes/advanced/charmap.htm +39 -40
  105. data/public/javascripts/tinymce/themes/advanced/color_picker.htm +10 -9
  106. data/public/javascripts/tinymce/themes/advanced/editor_template.js +1 -1
  107. data/public/javascripts/tinymce/themes/advanced/editor_template_src.js +172 -41
  108. data/public/javascripts/tinymce/themes/advanced/image.htm +51 -51
  109. data/public/javascripts/tinymce/themes/advanced/img/flash.gif +0 -0
  110. data/public/javascripts/tinymce/themes/advanced/img/iframe.gif +0 -0
  111. data/public/javascripts/tinymce/themes/advanced/img/pagebreak.gif +0 -0
  112. data/public/javascripts/tinymce/themes/advanced/img/quicktime.gif +0 -0
  113. data/public/javascripts/tinymce/themes/advanced/img/realmedia.gif +0 -0
  114. data/public/javascripts/tinymce/themes/advanced/img/shockwave.gif +0 -0
  115. data/public/javascripts/tinymce/themes/advanced/img/trans.gif +0 -0
  116. data/public/javascripts/tinymce/themes/advanced/img/video.gif +0 -0
  117. data/public/javascripts/tinymce/themes/advanced/img/windowsmedia.gif +0 -0
  118. data/public/javascripts/tinymce/themes/advanced/js/about.js +1 -0
  119. data/public/javascripts/tinymce/themes/advanced/js/anchor.js +5 -0
  120. data/public/javascripts/tinymce/themes/advanced/js/charmap.js +26 -6
  121. data/public/javascripts/tinymce/themes/advanced/js/color_picker.js +108 -32
  122. data/public/javascripts/tinymce/themes/advanced/js/image.js +3 -1
  123. data/public/javascripts/tinymce/themes/advanced/js/link.js +4 -7
  124. data/public/javascripts/tinymce/themes/advanced/js/source_editor.js +1 -1
  125. data/public/javascripts/tinymce/themes/advanced/langs/en.js +8 -2
  126. data/public/javascripts/tinymce/themes/advanced/langs/en_dlg.js +6 -3
  127. data/public/javascripts/tinymce/themes/advanced/link.htm +27 -28
  128. data/public/javascripts/tinymce/themes/advanced/shortcuts.htm +47 -0
  129. data/public/javascripts/tinymce/themes/advanced/skins/default/content.css +11 -0
  130. data/public/javascripts/tinymce/themes/advanced/skins/default/ui.css +4 -4
  131. data/public/javascripts/tinymce/themes/advanced/skins/highcontrast/content.css +23 -0
  132. data/public/javascripts/tinymce/themes/advanced/skins/highcontrast/dialog.css +105 -0
  133. data/public/javascripts/tinymce/themes/advanced/skins/highcontrast/ui.css +101 -0
  134. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/content.css +10 -0
  135. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/dialog.css +1 -0
  136. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/ui.css +5 -4
  137. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/ui_black.css +1 -1
  138. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/ui_silver.css +1 -1
  139. data/public/javascripts/tinymce/themes/advanced/source_editor.htm +3 -3
  140. data/public/javascripts/tinymce/themes/simple/editor_template.js +1 -1
  141. data/public/javascripts/tinymce/themes/simple/editor_template_src.js +1 -2
  142. data/public/javascripts/tinymce/tiny_mce.js +1 -1
  143. data/public/javascripts/tinymce/tiny_mce_popup.js +1 -1
  144. data/public/javascripts/tinymce/tiny_mce_src.js +6488 -4070
  145. data/public/javascripts/tinymce/utils/form_utils.js +14 -4
  146. data/public/javascripts/tinymce/utils/mctabs.js +95 -10
  147. data/public/javascripts/tinymce/utils/validate.js +35 -3
  148. data/public/stylesheets/editor.css +23 -0
  149. data/spree_editor.gemspec +2 -2
  150. metadata +25 -4
@@ -80,8 +80,6 @@ function updateAction() {
80
80
  return;
81
81
  }
82
82
 
83
- inst.execCommand('mceBeginUndoLevel');
84
-
85
83
  switch (action) {
86
84
  case "row":
87
85
  updateRow(trElm);
@@ -123,19 +121,19 @@ function updateRow(tr_elm, skip_id, skip_parent) {
123
121
 
124
122
  // Update row element
125
123
  if (!skip_id)
126
- tr_elm.setAttribute('id', formObj.id.value);
124
+ dom.setAttrib(tr_elm, 'id', formObj.id.value);
127
125
 
128
- tr_elm.setAttribute('align', getSelectValue(formObj, 'align'));
129
- tr_elm.setAttribute('vAlign', getSelectValue(formObj, 'valign'));
130
- tr_elm.setAttribute('lang', formObj.lang.value);
131
- tr_elm.setAttribute('dir', getSelectValue(formObj, 'dir'));
132
- tr_elm.setAttribute('style', dom.serializeStyle(dom.parseStyle(formObj.style.value)));
126
+ dom.setAttrib(tr_elm, 'align', getSelectValue(formObj, 'align'));
127
+ dom.setAttrib(tr_elm, 'vAlign', getSelectValue(formObj, 'valign'));
128
+ dom.setAttrib(tr_elm, 'lang', formObj.lang.value);
129
+ dom.setAttrib(tr_elm, 'dir', getSelectValue(formObj, 'dir'));
130
+ dom.setAttrib(tr_elm, 'style', dom.serializeStyle(dom.parseStyle(formObj.style.value)));
133
131
  dom.setAttrib(tr_elm, 'class', getSelectValue(formObj, 'class'));
134
132
 
135
133
  // Clear deprecated attributes
136
- tr_elm.setAttribute('background', '');
137
- tr_elm.setAttribute('bgColor', '');
138
- tr_elm.setAttribute('height', '');
134
+ dom.setAttrib(tr_elm, 'background', '');
135
+ dom.setAttrib(tr_elm, 'bgColor', '');
136
+ dom.setAttrib(tr_elm, 'height', '');
139
137
 
140
138
  // Set styles
141
139
  tr_elm.style.height = getCSSSize(formObj.height.value);
@@ -163,13 +161,10 @@ function updateRow(tr_elm, skip_id, skip_parent) {
163
161
  if (newParent == null) {
164
162
  newParent = doc.createElement(dest);
165
163
 
166
- if (dest == "thead") {
167
- if (theTable.firstChild.nodeName == 'CAPTION')
168
- inst.dom.insertAfter(newParent, theTable.firstChild);
169
- else
170
- theTable.insertBefore(newParent, theTable.firstChild);
171
- } else
172
- theTable.appendChild(newParent);
164
+ if (theTable.firstChild.nodeName == 'CAPTION')
165
+ inst.dom.insertAfter(newParent, theTable.firstChild);
166
+ else
167
+ theTable.insertBefore(newParent, theTable.firstChild);
173
168
  }
174
169
 
175
170
  // append the row to the new parent
@@ -12,7 +12,7 @@ function insertTable() {
12
12
  tinyMCEPopup.restoreSelection();
13
13
 
14
14
  if (!AutoValidator.validate(formObj)) {
15
- tinyMCEPopup.alert(inst.getLang('invalid_data'));
15
+ tinyMCEPopup.alert(AutoValidator.getErrorMessages(formObj).join('. ') + '.');
16
16
  return false;
17
17
  }
18
18
 
@@ -21,7 +21,7 @@ function insertTable() {
21
21
  // Get form data
22
22
  cols = formObj.elements['cols'].value;
23
23
  rows = formObj.elements['rows'].value;
24
- border = formObj.elements['border'].value != "" ? formObj.elements['border'].value : 0;
24
+ border = formObj.elements['border'].value != "" ? formObj.elements['border'].value : 0;
25
25
  cellpadding = formObj.elements['cellpadding'].value != "" ? formObj.elements['cellpadding'].value : "";
26
26
  cellspacing = formObj.elements['cellspacing'].value != "" ? formObj.elements['cellspacing'].value : "";
27
27
  align = getSelectValue(formObj, "align");
@@ -58,8 +58,6 @@ function insertTable() {
58
58
 
59
59
  // Update table
60
60
  if (action == "update") {
61
- inst.execCommand('mceBeginUndoLevel');
62
-
63
61
  dom.setAttrib(elm, 'cellPadding', cellpadding, true);
64
62
  dom.setAttrib(elm, 'cellSpacing', cellspacing, true);
65
63
  dom.setAttrib(elm, 'border', border);
@@ -82,7 +80,7 @@ function insertTable() {
82
80
  capEl = elm.ownerDocument.createElement('caption');
83
81
 
84
82
  if (!tinymce.isIE)
85
- capEl.innerHTML = '<br _mce_bogus="1"/>';
83
+ capEl.innerHTML = '<br data-mce-bogus="1"/>';
86
84
 
87
85
  elm.insertBefore(capEl, elm.firstChild);
88
86
  }
@@ -151,7 +149,7 @@ function insertTable() {
151
149
  html += makeAttrib('border', border);
152
150
  html += makeAttrib('cellpadding', cellpadding);
153
151
  html += makeAttrib('cellspacing', cellspacing);
154
- html += makeAttrib('_mce_new', '1');
152
+ html += makeAttrib('data-mce-new', '1');
155
153
 
156
154
  if (width && inst.settings.inline_styles) {
157
155
  if (style)
@@ -187,7 +185,7 @@ function insertTable() {
187
185
 
188
186
  if (caption) {
189
187
  if (!tinymce.isIE)
190
- html += '<caption><br _mce_bogus="1"/></caption>';
188
+ html += '<caption><br data-mce-bogus="1"/></caption>';
191
189
  else
192
190
  html += '<caption></caption>';
193
191
  }
@@ -197,7 +195,7 @@ function insertTable() {
197
195
 
198
196
  for (var x=0; x<cols; x++) {
199
197
  if (!tinymce.isIE)
200
- html += '<td><br _mce_bogus="1"/></td>';
198
+ html += '<td><br data-mce-bogus="1"/></td>';
201
199
  else
202
200
  html += '<td></td>';
203
201
  }
@@ -207,8 +205,6 @@ function insertTable() {
207
205
 
208
206
  html += "</table>";
209
207
 
210
- inst.execCommand('mceBeginUndoLevel');
211
-
212
208
  // Move table
213
209
  if (inst.settings.fix_table_elements) {
214
210
  var patt = '';
@@ -231,7 +227,7 @@ function insertTable() {
231
227
  } else
232
228
  inst.execCommand('mceInsertContent', false, html);
233
229
 
234
- tinymce.each(dom.select('table[_mce_new]'), function(node) {
230
+ tinymce.each(dom.select('table[data-mce-new]'), function(node) {
235
231
  var td = dom.select('td', node);
236
232
 
237
233
  try {
@@ -242,7 +238,7 @@ function insertTable() {
242
238
  // Ignore
243
239
  }
244
240
 
245
- dom.setAttrib(node, '_mce_new', '');
241
+ dom.setAttrib(node, 'data-mce-new', '');
246
242
  });
247
243
 
248
244
  inst.addVisual();
@@ -7,7 +7,7 @@ rowtype:"Row in table part",
7
7
  title:"Insert/Modify table",
8
8
  width:"Width",
9
9
  height:"Height",
10
- cols:"Cols",
10
+ cols:"Columns",
11
11
  rows:"Rows",
12
12
  cellspacing:"Cellspacing",
13
13
  cellpadding:"Cellpadding",
@@ -7,20 +7,20 @@
7
7
  <script type="text/javascript" src="../../utils/validate.js"></script>
8
8
  <script type="text/javascript" src="js/merge_cells.js"></script>
9
9
  </head>
10
- <body style="margin: 8px">
10
+ <body style="margin: 8px" role="application">
11
11
  <form onsubmit="MergeCellsDialog.merge();return false;" action="#">
12
12
  <fieldset>
13
13
  <legend>{#table_dlg.merge_cells_title}</legend>
14
- <table border="0" cellpadding="0" cellspacing="3" width="100%">
15
- <tr>
16
- <td>{#table_dlg.cols}:</td>
17
- <td align="right"><input type="text" name="numcols" value="" class="number min1 mceFocus" style="width: 30px" /></td>
18
- </tr>
19
- <tr>
20
- <td>{#table_dlg.rows}:</td>
21
- <td align="right"><input type="text" name="numrows" value="" class="number min1" style="width: 30px" /></td>
22
- </tr>
23
- </table>
14
+ <table role="presentation" border="0" cellpadding="0" cellspacing="3" width="100%">
15
+ <tr>
16
+ <td><label for="numcols">{#table_dlg.cols}</label>:</td>
17
+ <td align="right"><input type="text" id="numcols" name="numcols" value="" class="number min1 mceFocus" style="width: 30px" aria-required="true" /></td>
18
+ </tr>
19
+ <tr>
20
+ <td><label for="numrows">{#table_dlg.rows}</label>:</td>
21
+ <td align="right"><input type="text" id="numrows" name="numrows" value="" class="number min1" style="width: 30px" aria-required="true" /></td>
22
+ </tr>
23
+ </table>
24
24
  </fieldset>
25
25
 
26
26
  <div class="mceActionPanel">
@@ -9,12 +9,12 @@
9
9
  <script type="text/javascript" src="js/row.js"></script>
10
10
  <link href="css/row.css" rel="stylesheet" type="text/css" />
11
11
  </head>
12
- <body id="tablerow" style="display: none">
12
+ <body id="tablerow" style="display: none" role="application">
13
13
  <form onsubmit="updateAction();return false;" action="#">
14
14
  <div class="tabs">
15
15
  <ul>
16
- <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#table_dlg.general_tab}</a></span></li>
17
- <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#table_dlg.advanced_tab}</a></span></li>
16
+ <li id="general_tab" class="current" aria-controls="general_panel"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#table_dlg.general_tab}</a></span></li>
17
+ <li id="advanced_tab" aria-controls="advanced_panel"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#table_dlg.advanced_tab}</a></span></li>
18
18
  </ul>
19
19
  </div>
20
20
 
@@ -23,7 +23,7 @@
23
23
  <fieldset>
24
24
  <legend>{#table_dlg.general_props}</legend>
25
25
 
26
- <table border="0" cellpadding="4" cellspacing="0">
26
+ <table role="presentation" border="0" cellpadding="4" cellspacing="0">
27
27
  <tr>
28
28
  <td><label for="rowtype">{#table_dlg.rowtype}</label></td>
29
29
  <td class="col2">
@@ -80,7 +80,7 @@
80
80
  <fieldset>
81
81
  <legend>{#table_dlg.advanced_props}</legend>
82
82
 
83
- <table border="0" cellpadding="0" cellspacing="4">
83
+ <table role="presentation" border="0" cellpadding="0" cellspacing="4">
84
84
  <tr>
85
85
  <td class="column1"><label for="id">{#table_dlg.id}</label></td>
86
86
  <td><input id="id" name="id" type="text" value="" style="width: 200px" /></td>
@@ -112,7 +112,7 @@
112
112
  <tr>
113
113
  <td class="column1"><label for="backgroundimage">{#table_dlg.bgimage}</label></td>
114
114
  <td>
115
- <table border="0" cellpadding="0" cellspacing="0">
115
+ <table role="presentation" border="0" cellpadding="0" cellspacing="0">
116
116
  <tr>
117
117
  <td><input id="backgroundimage" name="backgroundimage" type="text" value="" style="width: 200px" onchange="changedBackgroundImage();" /></td>
118
118
  <td id="backgroundimagebrowsercontainer">&nbsp;</td>
@@ -122,14 +122,16 @@
122
122
  </tr>
123
123
 
124
124
  <tr>
125
- <td class="column1"><label for="bgcolor">{#table_dlg.bgcolor}</label></td>
125
+ <td class="column1"><label for="bgcolor" id="bgcolor_label">{#table_dlg.bgcolor}</label></td>
126
126
  <td>
127
- <table border="0" cellpadding="0" cellspacing="0">
127
+ <span role="group" aria-labelledby="bgcolor_label">
128
+ <table role="presentation" border="0" cellpadding="0" cellspacing="0">
128
129
  <tr>
129
130
  <td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
130
131
  <td id="bgcolor_pickcontainer">&nbsp;</td>
131
132
  </tr>
132
133
  </table>
134
+ </span>
133
135
  </td>
134
136
  </tr>
135
137
  </table>
@@ -10,12 +10,13 @@
10
10
  <script type="text/javascript" src="js/table.js"></script>
11
11
  <link href="css/table.css" rel="stylesheet" type="text/css" />
12
12
  </head>
13
- <body id="table" style="display: none">
13
+ <body id="table" style="display: none" role="application" aria-labelledby="app_title">
14
+ <span style="display:none;" id="app_title">{#table_dlg.title}</span>
14
15
  <form onsubmit="insertTable();return false;" action="#">
15
16
  <div class="tabs">
16
17
  <ul>
17
- <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#table_dlg.general_tab}</a></span></li>
18
- <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#table_dlg.advanced_tab}</a></span></li>
18
+ <li id="general_tab" aria-controls="general_panel" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#table_dlg.general_tab}</a></span></li>
19
+ <li id="advanced_tab" aria-controls="advanced_panel"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#table_dlg.advanced_tab}</a></span></li>
19
20
  </ul>
20
21
  </div>
21
22
 
@@ -23,48 +24,48 @@
23
24
  <div id="general_panel" class="panel current">
24
25
  <fieldset>
25
26
  <legend>{#table_dlg.general_props}</legend>
26
- <table border="0" cellpadding="4" cellspacing="0" width="100%">
27
- <tr>
28
- <td><label id="colslabel" for="cols">{#table_dlg.cols}</label></td>
29
- <td><input id="cols" name="cols" type="text" value="" size="3" maxlength="3" class="required number min1 mceFocus" /></td>
30
- <td><label id="rowslabel" for="rows">{#table_dlg.rows}</label></td>
31
- <td><input id="rows" name="rows" type="text" value="" size="3" maxlength="3" class="required number min1" /></td>
32
- </tr>
33
- <tr>
34
- <td><label id="cellpaddinglabel" for="cellpadding">{#table_dlg.cellpadding}</label></td>
35
- <td><input id="cellpadding" name="cellpadding" type="text" value="" size="3" maxlength="3" class="number" /></td>
36
- <td><label id="cellspacinglabel" for="cellspacing">{#table_dlg.cellspacing}</label></td>
37
- <td><input id="cellspacing" name="cellspacing" type="text" value="" size="3" maxlength="3" class="number" /></td>
38
- </tr>
39
- <tr>
40
- <td><label id="alignlabel" for="align">{#table_dlg.align}</label></td>
41
- <td><select id="align" name="align">
42
- <option value="">{#not_set}</option>
43
- <option value="center">{#table_dlg.align_middle}</option>
44
- <option value="left">{#table_dlg.align_left}</option>
45
- <option value="right">{#table_dlg.align_right}</option>
46
- </select></td>
47
- <td><label id="borderlabel" for="border">{#table_dlg.border}</label></td>
48
- <td><input id="border" name="border" type="text" value="" size="3" maxlength="3" onchange="changedBorder();" class="number" /></td>
49
- </tr>
50
- <tr id="width_row">
51
- <td><label id="widthlabel" for="width">{#table_dlg.width}</label></td>
52
- <td><input name="width" type="text" id="width" value="" size="4" maxlength="4" onchange="changedSize();" class="size" /></td>
53
- <td><label id="heightlabel" for="height">{#table_dlg.height}</label></td>
54
- <td><input name="height" type="text" id="height" value="" size="4" maxlength="4" onchange="changedSize();" class="size" /></td>
55
- </tr>
56
- <tr id="styleSelectRow">
57
- <td><label id="classlabel" for="class">{#class_name}</label></td>
58
- <td colspan="3">
59
- <select id="class" name="class" class="mceEditableSelect">
60
- <option value="" selected="selected">{#not_set}</option>
61
- </select></td>
62
- </tr>
63
- <tr>
64
- <td class="column1"><label for="caption">{#table_dlg.caption}</label></td>
65
- <td><input id="caption" name="caption" type="checkbox" class="checkbox" value="true" /></td>
66
- </tr>
67
- </table>
27
+ <table role="presentation" border="0" cellpadding="4" cellspacing="0" width="100%">
28
+ <tr>
29
+ <td><label id="colslabel" for="cols">{#table_dlg.cols}</label></td>
30
+ <td><input id="cols" name="cols" type="text" value="" size="3" maxlength="3" class="required number min1 mceFocus" aria-required="true" /></td>
31
+ <td><label id="rowslabel" for="rows">{#table_dlg.rows}</label></td>
32
+ <td><input id="rows" name="rows" type="text" value="" size="3" maxlength="3" class="required number min1" aria-required="true" /></td>
33
+ </tr>
34
+ <tr>
35
+ <td><label id="cellpaddinglabel" for="cellpadding">{#table_dlg.cellpadding}</label></td>
36
+ <td><input id="cellpadding" name="cellpadding" type="text" value="" size="3" maxlength="3" class="number" /></td>
37
+ <td><label id="cellspacinglabel" for="cellspacing">{#table_dlg.cellspacing}</label></td>
38
+ <td><input id="cellspacing" name="cellspacing" type="text" value="" size="3" maxlength="3" class="number" /></td>
39
+ </tr>
40
+ <tr>
41
+ <td><label id="alignlabel" for="align">{#table_dlg.align}</label></td>
42
+ <td><select id="align" name="align">
43
+ <option value="">{#not_set}</option>
44
+ <option value="center">{#table_dlg.align_middle}</option>
45
+ <option value="left">{#table_dlg.align_left}</option>
46
+ <option value="right">{#table_dlg.align_right}</option>
47
+ </select></td>
48
+ <td><label id="borderlabel" for="border">{#table_dlg.border}</label></td>
49
+ <td><input id="border" name="border" type="text" value="" size="3" maxlength="3" onchange="changedBorder();" class="number" /></td>
50
+ </tr>
51
+ <tr id="width_row">
52
+ <td><label id="widthlabel" for="width">{#table_dlg.width}</label></td>
53
+ <td><input name="width" type="text" id="width" value="" size="4" maxlength="4" onchange="changedSize();" class="size" /></td>
54
+ <td><label id="heightlabel" for="height">{#table_dlg.height}</label></td>
55
+ <td><input name="height" type="text" id="height" value="" size="4" maxlength="4" onchange="changedSize();" class="size" /></td>
56
+ </tr>
57
+ <tr id="styleSelectRow" >
58
+ <td><label id="classlabel" for="class">{#class_name}</label></td>
59
+ <td colspan="3" >
60
+ <select id="class" name="class" class="mceEditableSelect">
61
+ <option value="" selected="selected">{#not_set}</option>
62
+ </select></td>
63
+ </tr>
64
+ <tr>
65
+ <td class="column1" ><label for="caption">{#table_dlg.caption}</label></td>
66
+ <td><input id="caption" name="caption" type="checkbox" class="checkbox" value="true" /></td>
67
+ </tr>
68
+ </table>
68
69
  </fieldset>
69
70
  </div>
70
71
 
@@ -72,7 +73,7 @@
72
73
  <fieldset>
73
74
  <legend>{#table_dlg.advanced_props}</legend>
74
75
 
75
- <table border="0" cellpadding="0" cellspacing="4">
76
+ <table role="presentation" border="0" cellpadding="0" cellspacing="4">
76
77
  <tr>
77
78
  <td class="column1"><label for="id">{#table_dlg.id}</label></td>
78
79
  <td><input id="id" name="id" type="text" value="" class="advfield" /></td>
@@ -98,7 +99,7 @@
98
99
  <tr>
99
100
  <td class="column1"><label for="backgroundimage">{#table_dlg.bgimage}</label></td>
100
101
  <td>
101
- <table border="0" cellpadding="0" cellspacing="0">
102
+ <table role="presentation" aria-labelledby="backgroundimage_label" border="0" cellpadding="0" cellspacing="0">
102
103
  <tr>
103
104
  <td><input id="backgroundimage" name="backgroundimage" type="text" value="" class="advfield" onchange="changedBackgroundImage();" /></td>
104
105
  <td id="backgroundimagebrowsercontainer">&nbsp;</td>
@@ -150,10 +151,10 @@
150
151
  </td>
151
152
  </tr>
152
153
 
153
- <tr>
154
- <td class="column1"><label for="bordercolor">{#table_dlg.bordercolor}</label></td>
154
+ <tr role="group" aria-labelledby="bordercolor_label">
155
+ <td class="column1"><label id="bordercolor_label" for="bordercolor">{#table_dlg.bordercolor}</label></td>
155
156
  <td>
156
- <table border="0" cellpadding="0" cellspacing="0">
157
+ <table role="presentation" border="0" cellpadding="0" cellspacing="0">
157
158
  <tr>
158
159
  <td><input id="bordercolor" name="bordercolor" type="text" value="" size="9" onchange="updateColor('bordercolor_pick','bordercolor');changedColor();" /></td>
159
160
  <td id="bordercolor_pickcontainer">&nbsp;</td>
@@ -162,10 +163,10 @@
162
163
  </td>
163
164
  </tr>
164
165
 
165
- <tr>
166
- <td class="column1"><label for="bgcolor">{#table_dlg.bgcolor}</label></td>
166
+ <tr role="group" aria-labelledby="bgcolor_label">
167
+ <td class="column1"><label id="bgcolor_label" for="bgcolor">{#table_dlg.bgcolor}</label></td>
167
168
  <td>
168
- <table border="0" cellpadding="0" cellspacing="0">
169
+ <table role="presentation" border="0" cellpadding="0" cellspacing="0">
169
170
  <tr>
170
171
  <td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
171
172
  <td id="bgcolor_pickcontainer">&nbsp;</td>
@@ -42,7 +42,7 @@ var TemplateDialog = {
42
42
 
43
43
  if (e) {
44
44
  e.style.height = Math.abs(h) + 'px';
45
- e.style.width = Math.abs(w - 5) + 'px';
45
+ e.style.width = Math.abs(w - 5) + 'px';
46
46
  }
47
47
  },
48
48
 
@@ -1 +1 @@
1
- (function(){tinymce.create("tinymce.plugins.VisualChars",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceVisualChars",c._toggleVisualChars,c);a.addButton("visualchars",{title:"visualchars.desc",cmd:"mceVisualChars"});a.onBeforeGetContent.add(function(d,e){if(c.state&&e.format!="raw"&&!e.draft){c.state=true;c._toggleVisualChars(false)}})},getInfo:function(){return{longname:"Visual characters",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_toggleVisualChars:function(m){var p=this,k=p.editor,a,g,j,n=k.getDoc(),o=k.getBody(),l,q=k.selection,e,c,f;p.state=!p.state;k.controlManager.setActive("visualchars",p.state);if(m){f=q.getBookmark()}if(p.state){a=[];tinymce.walk(o,function(b){if(b.nodeType==3&&b.nodeValue&&b.nodeValue.indexOf("\u00a0")!=-1){a.push(b)}},"childNodes");for(g=0;g<a.length;g++){l=a[g].nodeValue;l=l.replace(/(\u00a0)/g,'<span _mce_bogus="1" class="mceItemHidden mceItemNbsp">$1</span>');c=k.dom.create("div",null,l);while(node=c.lastChild){k.dom.insertAfter(node,a[g])}k.dom.remove(a[g])}}else{a=k.dom.select("span.mceItemNbsp",o);for(g=a.length-1;g>=0;g--){k.dom.remove(a[g],1)}}q.moveToBookmark(f)}});tinymce.PluginManager.add("visualchars",tinymce.plugins.VisualChars)})();
1
+ (function(){tinymce.create("tinymce.plugins.VisualChars",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceVisualChars",c._toggleVisualChars,c);a.addButton("visualchars",{title:"visualchars.desc",cmd:"mceVisualChars"});a.onBeforeGetContent.add(function(d,e){if(c.state&&e.format!="raw"&&!e.draft){c.state=true;c._toggleVisualChars(false)}})},getInfo:function(){return{longname:"Visual characters",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_toggleVisualChars:function(m){var p=this,k=p.editor,a,g,j,n=k.getDoc(),o=k.getBody(),l,q=k.selection,e,c,f;p.state=!p.state;k.controlManager.setActive("visualchars",p.state);if(m){f=q.getBookmark()}if(p.state){a=[];tinymce.walk(o,function(b){if(b.nodeType==3&&b.nodeValue&&b.nodeValue.indexOf("\u00a0")!=-1){a.push(b)}},"childNodes");for(g=0;g<a.length;g++){l=a[g].nodeValue;l=l.replace(/(\u00a0)/g,'<span data-mce-bogus="1" class="mceItemHidden mceItemNbsp">$1</span>');c=k.dom.create("div",null,l);while(node=c.lastChild){k.dom.insertAfter(node,a[g])}k.dom.remove(a[g])}}else{a=k.dom.select("span.mceItemNbsp",o);for(g=a.length-1;g>=0;g--){k.dom.remove(a[g],1)}}q.moveToBookmark(f)}});tinymce.PluginManager.add("visualchars",tinymce.plugins.VisualChars)})();
@@ -59,7 +59,7 @@
59
59
 
60
60
  for (i = 0; i < nl.length; i++) {
61
61
  nv = nl[i].nodeValue;
62
- nv = nv.replace(/(\u00a0)/g, '<span _mce_bogus="1" class="mceItemHidden mceItemNbsp">$1</span>');
62
+ nv = nv.replace(/(\u00a0)/g, '<span data-mce-bogus="1" class="mceItemHidden mceItemNbsp">$1</span>');
63
63
 
64
64
  div = ed.dom.create('div', null, nv);
65
65
  while (node = div.lastChild)
@@ -1 +1 @@
1
- (function(){tinymce.create("tinymce.plugins.WordCount",{block:0,id:null,countre:null,cleanre:null,init:function(a,b){var c=this,d=0;c.countre=a.getParam("wordcount_countregex",/\S\s+/g);c.cleanre=a.getParam("wordcount_cleanregex",/[0-9.(),;:!?%#$�'"_+=\\\/-]*/g);c.id=a.id+"-word-count";a.onPostRender.add(function(f,e){var g,h;h=f.getParam("wordcount_target_id");if(!h){g=tinymce.DOM.get(f.id+"_path_row");if(g){tinymce.DOM.add(g.parentNode,"div",{style:"float: right"},f.getLang("wordcount.words","Words: ")+'<span id="'+c.id+'">0</span>')}}else{tinymce.DOM.add(h,"span",{},'<span id="'+c.id+'">0</span>')}});a.onInit.add(function(e){e.selection.onSetContent.add(function(){c._count(e)});c._count(e)});a.onSetContent.add(function(e){c._count(e)});a.onKeyUp.add(function(f,g){if(g.keyCode==d){return}if(13==g.keyCode||8==d||46==d){c._count(f)}d=g.keyCode})},_count:function(b){var c=this,a=0;if(c.block){return}c.block=1;setTimeout(function(){var d=b.getContent({format:"raw"});if(d){d=d.replace(/<.[^<>]*?>/g," ").replace(/&nbsp;|&#160;/gi," ");d=d.replace(c.cleanre,"");d.replace(c.countre,function(){a++})}tinymce.DOM.setHTML(c.id,a.toString());setTimeout(function(){c.block=0},2000)},1)},getInfo:function(){return{longname:"Word Count plugin",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/wordcount",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("wordcount",tinymce.plugins.WordCount)})();
1
+ (function(){tinymce.create("tinymce.plugins.WordCount",{block:0,id:null,countre:null,cleanre:null,init:function(a,b){var c=this,d=0;c.countre=a.getParam("wordcount_countregex",/[\w\u2019\'-]+/g);c.cleanre=a.getParam("wordcount_cleanregex",/[0-9.(),;:!?%#$?\'\"_+=\\\/-]*/g);c.id=a.id+"-word-count";a.onPostRender.add(function(f,e){var g,h;h=f.getParam("wordcount_target_id");if(!h){g=tinymce.DOM.get(f.id+"_path_row");if(g){tinymce.DOM.add(g.parentNode,"div",{style:"float: right"},f.getLang("wordcount.words","Words: ")+'<span id="'+c.id+'">0</span>')}}else{tinymce.DOM.add(h,"span",{},'<span id="'+c.id+'">0</span>')}});a.onInit.add(function(e){e.selection.onSetContent.add(function(){c._count(e)});c._count(e)});a.onSetContent.add(function(e){c._count(e)});a.onKeyUp.add(function(f,g){if(g.keyCode==d){return}if(13==g.keyCode||8==d||46==d){c._count(f)}d=g.keyCode})},_getCount:function(c){var a=0;var b=c.getContent({format:"raw"});if(b){b=b.replace(/\.\.\./g," ");b=b.replace(/<.[^<>]*?>/g," ").replace(/&nbsp;|&#160;/gi," ");b=b.replace(/(\w+)(&.+?;)+(\w+)/,"$1$3").replace(/&.+?;/g," ");b=b.replace(this.cleanre,"");var d=b.match(this.countre);if(d){a=d.length}}return a},_count:function(a){var b=this;if(b.block){return}b.block=1;setTimeout(function(){var c=b._getCount(a);tinymce.DOM.setHTML(b.id,c.toString());setTimeout(function(){b.block=0},2000)},1)},getInfo:function(){return{longname:"Word Count plugin",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/wordcount",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("wordcount",tinymce.plugins.WordCount)})();
@@ -9,7 +9,7 @@
9
9
  */
10
10
 
11
11
  (function() {
12
- tinymce.create('tinymce.plugins.WordCount', {
12
+ tinymce.create('tinymce.plugins.WordCount', {
13
13
  block : 0,
14
14
  id : null,
15
15
  countre : null,
@@ -18,8 +18,8 @@
18
18
  init : function(ed, url) {
19
19
  var t = this, last = 0;
20
20
 
21
- t.countre = ed.getParam('wordcount_countregex', /\S\s+/g);
22
- t.cleanre = ed.getParam('wordcount_cleanregex', /[0-9.(),;:!?%#$�'"_+=\\\/-]*/g);
21
+ t.countre = ed.getParam('wordcount_countregex', /[\w\u2019\'-]+/g); // u2019 == &rsquo;
22
+ t.cleanre = ed.getParam('wordcount_cleanregex', /[0-9.(),;:!?%#$?\'\"_+=\\\/-]*/g);
23
23
  t.id = ed.id + '-word-count';
24
24
 
25
25
  ed.onPostRender.add(function(ed, cm) {
@@ -32,11 +32,12 @@
32
32
 
33
33
  if (row)
34
34
  tinymce.DOM.add(row.parentNode, 'div', {'style': 'float: right'}, ed.getLang('wordcount.words', 'Words: ') + '<span id="' + t.id + '">0</span>');
35
- } else
35
+ } else {
36
36
  tinymce.DOM.add(id, 'span', {}, '<span id="' + t.id + '">0</span>');
37
+ }
37
38
  });
38
39
 
39
- ed.onInit.add(function(ed) {
40
+ ed.onInit.add(function(ed) {
40
41
  ed.selection.onSetContent.add(function() {
41
42
  t._count(ed);
42
43
  });
@@ -59,8 +60,29 @@
59
60
  });
60
61
  },
61
62
 
63
+ _getCount : function(ed) {
64
+ var tc = 0;
65
+ var tx = ed.getContent({ format: 'raw' });
66
+
67
+ if (tx) {
68
+ tx = tx.replace(/\.\.\./g, ' '); // convert ellipses to spaces
69
+ tx = tx.replace(/<.[^<>]*?>/g, ' ').replace(/&nbsp;|&#160;/gi, ' '); // remove html tags and space chars
70
+
71
+ // deal with html entities
72
+ tx = tx.replace(/(\w+)(&.+?;)+(\w+)/, "$1$3").replace(/&.+?;/g, ' ');
73
+ tx = tx.replace(this.cleanre, ''); // remove numbers and punctuation
74
+
75
+ var wordArray = tx.match(this.countre);
76
+ if (wordArray) {
77
+ tc = wordArray.length;
78
+ }
79
+ }
80
+
81
+ return tc;
82
+ },
83
+
62
84
  _count : function(ed) {
63
- var t = this, tc = 0;
85
+ var t = this;
64
86
 
65
87
  // Keep multiple calls from happening at the same time
66
88
  if (t.block)
@@ -69,21 +91,15 @@
69
91
  t.block = 1;
70
92
 
71
93
  setTimeout(function() {
72
- var tx = ed.getContent({format : 'raw'});
73
-
74
- if (tx) {
75
- tx = tx.replace(/<.[^<>]*?>/g, ' ').replace(/&nbsp;|&#160;/gi, ' '); // remove html tags and space chars
76
- tx = tx.replace(t.cleanre, ''); // remove numbers and punctuation
77
- tx.replace(t.countre, function() {tc++;}); // count the words
78
- }
94
+ var tc = t._getCount(ed);
79
95
 
80
- tinymce.DOM.setHTML(t.id, tc.toString());
96
+ tinymce.DOM.setHTML(t.id, tc.toString());
81
97
 
82
- setTimeout(function() {t.block = 0;}, 2000);
98
+ setTimeout(function() {t.block = 0;}, 2000);
83
99
  }, 1);
84
100
  },
85
101
 
86
- getInfo: function() {
102
+ getInfo: function() {
87
103
  return {
88
104
  longname : 'Word Count plugin',
89
105
  author : 'Moxiecode Systems AB',
@@ -91,8 +107,8 @@
91
107
  infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/wordcount',
92
108
  version : tinymce.majorVersion + "." + tinymce.minorVersion
93
109
  };
94
- }
95
- });
110
+ }
111
+ });
96
112
 
97
- tinymce.PluginManager.add('wordcount', tinymce.plugins.WordCount);
113
+ tinymce.PluginManager.add('wordcount', tinymce.plugins.WordCount);
98
114
  })();