CKEditor for WordPress - Version 3.6.2

Version Description

  • 15.09.2011 =

    • Updated CKEditor to version 3.6.2
    • Fix error : CKEditor is in read only state after closing Wordpress gallery popup (iframe)
    • Add support to "Custom fields template" plugin (http://wordpress.org/extend/plugins/custom-field-template/)
    • Refactor of functions use in Wordpress gallery
    • Add index.html files to directories to protect against directory listing
Download this release

Release Info

Developer michal_cksource
Plugin Icon 128x128 CKEditor for WordPress
Version 3.6.2
Comparing to
See all releases

Code changes from version 3.6.2.1 to 3.6.2

ckeditor_class.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  class ckeditor_wordpress {
3
- var $version = '3.6.2.1';
4
  var $default_options = array();
5
  var $options = array();
6
  var $ckeditor_path = "";
@@ -264,15 +264,15 @@ class ckeditor_wordpress {
264
  else {
265
  $contents = @file_get_contents($config_path);
266
  if (!$contents) {
267
- return '<span class="ckeditor_error">'.__('CKFinder is installed, configuration file not readable or empty.', 'ckeditor_wordpress').'</span>';
268
  }
269
  if (strpos($contents, 'wp-config.php') === false) {
270
- return '<span class="ckeditor_error">'.__('CKFinder is installed, but invalid config.php was detected. Rename ckfinder_config.php to config.php (overwriting the default config.php file distributed with CKFinder).', 'ckeditor_wordpress').'</span>';
271
  }
272
  if ($this->options['upload']['browser'] != 'ckfinder') {
273
- return '<span class="ckeditor_ok">'.__('CKFinder is installed, not enabled.', 'ckeditor_wordpress').'</span>';
274
  }
275
- return '<span class="ckeditor_ok">'.__('CKFinder is installed', 'ckeditor_wordpress').'</span>';
276
  }
277
  }
278
 
@@ -283,7 +283,6 @@ class ckeditor_wordpress {
283
  $ckeditor_plugin_version = $this->version;
284
  $ckfinder_status = $this->ckfinder_status();
285
  if(isset($_POST['reset']) && $_POST['reset']==1){
286
- if (! wp_verify_nonce($_POST['csrf_ckeditor-for-wordpress'], 'ckeditor_create_nonce_overview') || empty($_POST['_wp_http_referer']) || !strstr( $_SERVER['HTTP_REFERER'], $_POST['_wp_http_referer']) ) wp_die("You do not have sufficient permissions to access this page.");
287
  update_option('ckeditor_wordpress', $this->default_options);
288
  $this->options = $this->default_options;
289
  echo '<div class="updated"><p>' . __('Configuration updated!') . '</p></div>';
@@ -293,11 +292,10 @@ class ckeditor_wordpress {
293
 
294
  function option_page()
295
  {
296
-
297
  if (!empty($_POST['submit_update'])) {
298
  $message=array();
299
  /* validation */
300
- if (! wp_verify_nonce($_POST['csrf_ckeditor-for-wordpress'], 'ckeditor_create_nonce_basic') || empty($_POST['_wp_http_referer']) || !strstr( $_SERVER['HTTP_REFERER'], $_POST['_wp_http_referer']) ) wp_die("You do not have sufficient permissions to access this page.");
301
  $new_options=$_POST['options'];
302
  $new_options['appearance']['comment_editor']=(isset($_POST['options']['appearance']['comment_editor'])?'t':'f');
303
 
@@ -309,7 +307,7 @@ class ckeditor_wordpress {
309
  function upload_options()
310
  {
311
  if (!empty($_POST['submit_update'])) {
312
- if (! wp_verify_nonce($_POST['csrf_ckeditor-for-wordpress'], 'ckeditor_create_nonce_upload') || empty($_POST['_wp_http_referer']) || !strstr( $_SERVER['HTTP_REFERER'], $_POST['_wp_http_referer']) ) wp_die("You do not have sufficient permissions to access this page.");
313
  $new_options=$_POST['options'];
314
  foreach (array('access', 'fileView', 'fileDelete', 'fileRename', 'fileUpload', 'folderView', 'folderDelete', 'folderCreate', 'folderRename') as $command) {
315
  $this->set_capability($new_options['ckfinder']['permissions'][$command], "ckeditor_ckfinder_".$command);
@@ -374,7 +372,6 @@ class ckeditor_wordpress {
374
 
375
  function advanced_options() {
376
  if (!empty($_POST['submit_update'])) {
377
- if (! wp_verify_nonce($_POST['csrf_ckeditor-for-wordpress'], 'ckeditor_create_nonce_advanced') || empty($_POST['_wp_http_referer']) || !strstr( $_SERVER['HTTP_REFERER'], $_POST['_wp_http_referer']) ) wp_die("You do not have sufficient permissions to access this page.");
378
  $new_options=$_POST['options'];
379
  $new_options['advanced']['native_spell_checker'] = (isset($_POST['options']['advanced']['native_spell_checker'])?'t':'f');
380
  $new_options['advanced']['scayt_autoStartup'] = (isset($_POST['options']['advanced']['scayt_autoStartup'])?'t':'f');
@@ -552,7 +549,6 @@ function add_post_js()
552
  unset($keys);
553
  }
554
  if(isset($_POST['newcontent'])){
555
- if (! wp_verify_nonce($_POST['csrf_ckeditor-for-wordpress'], 'ckeditor_create_nonce_file_editor') || empty($_POST['_wp_http_referer']) || !strstr( $_SERVER['HTTP_REFERER'], $_POST['_wp_http_referer']) ) wp_die("You do not have sufficient permissions to access this page.");
556
  $fp=fopen($files[$file], 'w');
557
  $content = stripslashes($_POST['newcontent']);
558
  fwrite($fp, stripslashes($_POST['newcontent']));
@@ -827,6 +823,7 @@ function add_post_js()
827
  }
828
  return $buttons;
829
  }
 
830
  }
831
  $ckeditor_wordpress = new ckeditor_wordpress();
832
  ?>
1
  <?php
2
  class ckeditor_wordpress {
3
+ var $version = '3.6.2';
4
  var $default_options = array();
5
  var $options = array();
6
  var $ckeditor_path = "";
264
  else {
265
  $contents = @file_get_contents($config_path);
266
  if (!$contents) {
267
+ return '<span class="ckeditor_error">'.__('Installed, configuration file not readable or empty.', 'ckeditor_wordpress').'</span>';
268
  }
269
  if (strpos($contents, 'wp-config.php') === false) {
270
+ return '<span class="ckeditor_error">'.__('Installed, invalid config.php detected. Did you copy ckfinder_config.php?', 'ckeditor_wordpress').'</span>';
271
  }
272
  if ($this->options['upload']['browser'] != 'ckfinder') {
273
+ return '<span class="ckeditor_ok">'.__('Installed, not enabled.', 'ckeditor_wordpress').'</span>';
274
  }
275
+ return '<span class="ckeditor_ok">'.__('Installed', 'ckeditor_wordpress').'</span>';
276
  }
277
  }
278
 
283
  $ckeditor_plugin_version = $this->version;
284
  $ckfinder_status = $this->ckfinder_status();
285
  if(isset($_POST['reset']) && $_POST['reset']==1){
 
286
  update_option('ckeditor_wordpress', $this->default_options);
287
  $this->options = $this->default_options;
288
  echo '<div class="updated"><p>' . __('Configuration updated!') . '</p></div>';
292
 
293
  function option_page()
294
  {
 
295
  if (!empty($_POST['submit_update'])) {
296
  $message=array();
297
  /* validation */
298
+
299
  $new_options=$_POST['options'];
300
  $new_options['appearance']['comment_editor']=(isset($_POST['options']['appearance']['comment_editor'])?'t':'f');
301
 
307
  function upload_options()
308
  {
309
  if (!empty($_POST['submit_update'])) {
310
+
311
  $new_options=$_POST['options'];
312
  foreach (array('access', 'fileView', 'fileDelete', 'fileRename', 'fileUpload', 'folderView', 'folderDelete', 'folderCreate', 'folderRename') as $command) {
313
  $this->set_capability($new_options['ckfinder']['permissions'][$command], "ckeditor_ckfinder_".$command);
372
 
373
  function advanced_options() {
374
  if (!empty($_POST['submit_update'])) {
 
375
  $new_options=$_POST['options'];
376
  $new_options['advanced']['native_spell_checker'] = (isset($_POST['options']['advanced']['native_spell_checker'])?'t':'f');
377
  $new_options['advanced']['scayt_autoStartup'] = (isset($_POST['options']['advanced']['scayt_autoStartup'])?'t':'f');
549
  unset($keys);
550
  }
551
  if(isset($_POST['newcontent'])){
 
552
  $fp=fopen($files[$file], 'w');
553
  $content = stripslashes($_POST['newcontent']);
554
  fwrite($fp, stripslashes($_POST['newcontent']));
823
  }
824
  return $buttons;
825
  }
826
+
827
  }
828
  $ckeditor_wordpress = new ckeditor_wordpress();
829
  ?>
ckeditor_wordpress.php CHANGED
@@ -4,7 +4,7 @@
4
  Plugin Name: CKEditor for WordPress
5
  Plugin URI: http://wordpress.ckeditor.com/
6
  Description: Replaces the default WordPress editor with <a href="http://ckeditor.com/"> CKEditor</a>
7
- Version: 3.6.2.1
8
  Author: CKSource
9
  Author URI: http://cksource.com/
10
  */
4
  Plugin Name: CKEditor for WordPress
5
  Plugin URI: http://wordpress.ckeditor.com/
6
  Description: Replaces the default WordPress editor with <a href="http://ckeditor.com/"> CKEditor</a>
7
+ Version: 3.6.2
8
  Author: CKSource
9
  Author URI: http://cksource.com/
10
  */
includes/advanced.php CHANGED
@@ -2,7 +2,6 @@
2
  <div id="icon-wp-ckeditor" class="icon32"><br /></div>
3
  <h2><?php _e('CKEditor - Advanced Settings', 'ckeditor_wordpress') ?></h2>
4
  <form method="post" id="ca_form">
5
- <?php wp_nonce_field('ckeditor_create_nonce_advanced','csrf_ckeditor-for-wordpress'); ?>
6
  <h3><?php _e('CSS Options', 'ckeditor_wordpress') ?></h3>
7
  <table class="form-table">
8
  <tr valign="top">
2
  <div id="icon-wp-ckeditor" class="icon32"><br /></div>
3
  <h2><?php _e('CKEditor - Advanced Settings', 'ckeditor_wordpress') ?></h2>
4
  <form method="post" id="ca_form">
 
5
  <h3><?php _e('CSS Options', 'ckeditor_wordpress') ?></h3>
6
  <table class="form-table">
7
  <tr valign="top">
includes/basic.php CHANGED
@@ -2,7 +2,6 @@
2
  <div id="icon-wp-ckeditor" class="icon32"><br /></div>
3
  <h2><?php _e('CKEditor - Basic Settings', 'ckeditor_wordpress') ?></h2>
4
  <form method="post" >
5
- <?php wp_nonce_field('ckeditor_create_nonce_basic','csrf_ckeditor-for-wordpress'); ?>
6
  <h3><?php _e('Common Options', 'ckeditor_wordpress') ?></h3>
7
  <table class="form-table">
8
  <tr valign="top">
2
  <div id="icon-wp-ckeditor" class="icon32"><br /></div>
3
  <h2><?php _e('CKEditor - Basic Settings', 'ckeditor_wordpress') ?></h2>
4
  <form method="post" >
 
5
  <h3><?php _e('Common Options', 'ckeditor_wordpress') ?></h3>
6
  <table class="form-table">
7
  <tr valign="top">
includes/ckeditor.utils.js CHANGED
@@ -131,13 +131,7 @@ function ckeditorOn(id) {
131
  }
132
 
133
  function ckeditorOff(id) {
134
- if (typeof(id) != 'undefined')
135
- {
136
- editorCKE = CKEDITOR.instances[id];
137
- }else
138
- {
139
- editorCKE = CKEDITOR.instances[ckeditorSettings.textarea_id];
140
- }
141
  if(typeof(editorCKE) != 'undefined'){
142
  editorCKE.destroy();
143
  if(ckeditorSettings.textarea_id == 'content') {
@@ -160,7 +154,6 @@ function getTinyMCEObject()
160
  var instant = {
161
  isHidden : function (){
162
  editor = CKEDITOR.instances[id];
163
- if (typeof editorCKE == 'undefined') editorCKE = editor;
164
  if(typeof(editor) != 'undefined')
165
  {
166
  return false;
131
  }
132
 
133
  function ckeditorOff(id) {
134
+ if (typeof(id) != 'undefined') editorCKE = CKEDITOR.instances[id];
 
 
 
 
 
 
135
  if(typeof(editorCKE) != 'undefined'){
136
  editorCKE.destroy();
137
  if(ckeditorSettings.textarea_id == 'content') {
154
  var instant = {
155
  isHidden : function (){
156
  editor = CKEDITOR.instances[id];
 
157
  if(typeof(editor) != 'undefined')
158
  {
159
  return false;
includes/file_editor.php CHANGED
@@ -18,7 +18,6 @@
18
  </form>
19
  <?php endif; ?>
20
  <form method="post" name="template" id="template">
21
- <?php wp_nonce_field('ckeditor_create_nonce_file_editor','csrf_ckeditor-for-wordpress'); ?>
22
  <input type="hidden" name="file" value="<?php echo $file ?>" />
23
  <h3><?php _e('Browsing ', 'ckeditor_wordpress') ?>: <i><?php echo $file ?></i></h3>
24
  <table class="form-table">
18
  </form>
19
  <?php endif; ?>
20
  <form method="post" name="template" id="template">
 
21
  <input type="hidden" name="file" value="<?php echo $file ?>" />
22
  <h3><?php _e('Browsing ', 'ckeditor_wordpress') ?>: <i><?php echo $file ?></i></h3>
23
  <table class="form-table">
includes/overview.php CHANGED
@@ -205,7 +205,6 @@ function ckeditor_reset_settings() {
205
  <?php _e('Press the button below to reset CKEditor settings to default values.', 'ckeditor_wordpress'); ?>
206
  </span>
207
  <form method="post" style="margin-top:15px">
208
- <?php wp_nonce_field('ckeditor_create_nonce_overview','csrf_ckeditor-for-wordpress'); ?>
209
  <input type="hidden" name="reset" value="1" />
210
  <p class="submit">
211
  <input type="submit" value="Reset settings to defaults" name="submit_reset" class="button-secondary" id="default-reset" />
205
  <?php _e('Press the button below to reset CKEditor settings to default values.', 'ckeditor_wordpress'); ?>
206
  </span>
207
  <form method="post" style="margin-top:15px">
 
208
  <input type="hidden" name="reset" value="1" />
209
  <p class="submit">
210
  <input type="submit" value="Reset settings to defaults" name="submit_reset" class="button-secondary" id="default-reset" />
includes/upload.php CHANGED
@@ -2,7 +2,6 @@
2
  <div id="icon-wp-ckeditor" class="icon32"><br /></div>
3
  <h2><?php _e('CKEditor - Upload Settings', 'ckeditor_wordpress') ?></h2>
4
  <form method="post">
5
- <?php wp_nonce_field('ckeditor_create_nonce_upload','csrf_ckeditor-for-wordpress'); ?>
6
  <h3><?php _e('Upload Options', 'ckeditor_wordpress') ?></h3>
7
  <table class="form-table">
8
  <tr valign="top">
@@ -57,7 +56,7 @@
57
  <a href="http://ckfinder.com/download" target="_blank">http://ckfinder.com/download</a><br/>
58
  <?php _e('2. Unpack contents of the "ckfinder" folder to ', 'ckeditor_wordpress');?>
59
  "wp-content/plugins/ckeditor-for-wordpress/ckfinder/" directory<br/>
60
- <?php _e('3. Rename ckfinder_config.php to config.php (overwrite default config.php distributed with CKFinder.)', 'ckeditor_wordpress');?>
61
  </div>
62
  <?php } ?>
63
  <table class="form-table">
2
  <div id="icon-wp-ckeditor" class="icon32"><br /></div>
3
  <h2><?php _e('CKEditor - Upload Settings', 'ckeditor_wordpress') ?></h2>
4
  <form method="post">
 
5
  <h3><?php _e('Upload Options', 'ckeditor_wordpress') ?></h3>
6
  <table class="form-table">
7
  <tr valign="top">
56
  <a href="http://ckfinder.com/download" target="_blank">http://ckfinder.com/download</a><br/>
57
  <?php _e('2. Unpack contents of the "ckfinder" folder to ', 'ckeditor_wordpress');?>
58
  "wp-content/plugins/ckeditor-for-wordpress/ckfinder/" directory<br/>
59
+ <?php _e('3. Rename ckfinder_config.php to config.php(overwrite default config.php distributed with CKFinder)', 'ckeditor_wordpress');?>
60
  </div>
61
  <?php } ?>
62
  <table class="form-table">
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: wiktor, michal_cksource, dczepierga, Dean Lee
3
  Tags: post, wysiwyg, CKEditor, FCKeditor, editor, rich text, rte, rich text editor
4
  Requires at least: 2.0
5
  Tested up to: 3.2
6
- Stable tag: 3.6.2.1
7
  This plugin replaces the default WordPress editor with <a href="http://ckeditor.com/">CKEditor</a>.
8
 
9
  == Description ==
@@ -17,10 +17,10 @@ It brings to the web common editing features found on desktop editing applicatio
17
  <strong>CKEditor</strong> is compatible with most internet browsers and operating systems, including:
18
  <ul>
19
  <li>Internet Explorer 6+</li>
20
- <li>Firefox 3.0+</li>
21
- <li>Safari</li>
22
  <li>Google Chrome</li>
23
- <li>Opera</li>
24
  </ul>
25
 
26
  Live demo is available at <a href="http://wordpress.ckeditor.com/">http://wordpress.ckeditor.com/</a>.
@@ -58,13 +58,6 @@ Features:
58
 
59
  == Changelog ==
60
 
61
- = V3.6.2.1 - 14.10.2011 =
62
-
63
- * Add security fix (thx to Julio Potier from http://boiteaweb.fr)
64
- * Fix to Cannot reply to an existing comment (http://wordpress.org/support/topic/plugin-ckeditor-for-wordpress-v362-cannot-reply-to-an-existing-comment)
65
- * Fix CKEdtior 3.6.2 Update and qTranslate incompatibility (http://wordpress.org/support/topic/plugin-ckeditor-for-wordpress-ckedtior-362-update-and-qtranslate-incompatibility)
66
- * Change messages for CKFinder configuration
67
-
68
  = V3.6.2 - 15.09.2011 =
69
 
70
  * Updated CKEditor to version 3.6.2
3
  Tags: post, wysiwyg, CKEditor, FCKeditor, editor, rich text, rte, rich text editor
4
  Requires at least: 2.0
5
  Tested up to: 3.2
6
+ Stable tag: 3.6.2
7
  This plugin replaces the default WordPress editor with <a href="http://ckeditor.com/">CKEditor</a>.
8
 
9
  == Description ==
17
  <strong>CKEditor</strong> is compatible with most internet browsers and operating systems, including:
18
  <ul>
19
  <li>Internet Explorer 6+</li>
20
+ <li>Firefox 2+</li>
21
+ <li>Safari 3+</li>
22
  <li>Google Chrome</li>
23
+ <li>Opera 9.5+</li>
24
  </ul>
25
 
26
  Live demo is available at <a href="http://wordpress.ckeditor.com/">http://wordpress.ckeditor.com/</a>.
58
 
59
  == Changelog ==
60
 
 
 
 
 
 
 
 
61
  = V3.6.2 - 15.09.2011 =
62
 
63
  * Updated CKEditor to version 3.6.2