AddQuicktag - Version 2.5.2

Version Description

(2017-11-16) = * Fixed several code strict style issues. * Fixed javascript topics to write more strict.

Download this release

Release Info

Developer Bueltge
Plugin Icon wp plugin AddQuicktag
Version 2.5.2
Comparing to
See all releases

Code changes from version 2.5.1 to 2.5.2

addquicktag.php CHANGED
@@ -6,9 +6,9 @@
6
  * Text Domain: addquicktag
7
  * Domain Path: /languages
8
  * Description: Allows you to easily add custom Quicktags to the html- and visual-editor.
9
- * Version: 2.5.1
10
  * Author: Frank Bültge
11
- * Author URI: http://bueltge.de
12
  * License: GPLv2+
13
  * License URI: ./license.txt
14
  *
@@ -150,6 +150,10 @@ class Add_Quicktag {
150
 
151
  // get current screen, post type
152
  $screen = get_current_screen();
 
 
 
 
153
 
154
  // Convert string to array from default core buttons
155
  $buttons = explode( ',', $qtags_init[ 'buttons' ] );
@@ -157,7 +161,7 @@ class Add_Quicktag {
157
  // loop about the options to check for each post type
158
  foreach ( (array) $options[ 'core_buttons' ] as $button => $post_type ) {
159
 
160
- // if the post type is inside the settings array active, the remove qtags
161
  if ( is_array( $post_type ) && array_key_exists( $screen->id, $post_type ) ) {
162
 
163
  // If settings have key inside, then unset this button
@@ -180,7 +184,7 @@ class Add_Quicktag {
180
  * @since 2.0.0
181
  * @return void
182
  */
183
- public function uninstall() {
184
 
185
  delete_site_option( self::$option_string );
186
  }
@@ -255,7 +259,6 @@ class Add_Quicktag {
255
  * @return void
256
  */
257
  public function admin_enqueue_scripts() {
258
-
259
  global $current_screen;
260
 
261
  if ( isset( $current_screen->id ) &&
@@ -302,7 +305,11 @@ class Add_Quicktag {
302
  */
303
  public function localize_plugin() {
304
 
305
- load_plugin_textdomain( $this->get_textdomain(), FALSE, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
 
 
 
 
306
  }
307
 
308
  /**
@@ -326,7 +333,8 @@ class Add_Quicktag {
326
  }
327
 
328
  if ( ! function_exists( 'get_plugin_data' ) ) {
329
- require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
 
330
  }
331
 
332
  $plugin_data = get_plugin_data( __FILE__ );
@@ -355,7 +363,7 @@ class Add_Quicktag {
355
 
356
  // list only post types, there was used in UI
357
  $args = array( 'show_ui' => TRUE );
358
- $post_types = get_post_types( $args, 'names' );
359
  // simplify the array
360
  $post_types = array_values( $post_types );
361
  // merge with strings from var
@@ -397,7 +405,7 @@ class Add_Quicktag {
397
  */
398
  public function get_textdomain() {
399
 
400
- return $this->get_plugin_data( 'TextDomain' );
401
  }
402
 
403
  /**
6
  * Text Domain: addquicktag
7
  * Domain Path: /languages
8
  * Description: Allows you to easily add custom Quicktags to the html- and visual-editor.
9
+ * Version: 2.5.2
10
  * Author: Frank Bültge
11
+ * Author URI: https://bueltge.de
12
  * License: GPLv2+
13
  * License URI: ./license.txt
14
  *
150
 
151
  // get current screen, post type
152
  $screen = get_current_screen();
153
+ // No information about the backend page, return.
154
+ if ( ! isset( $screen->id ) ) {
155
+ return $qtags_init;
156
+ }
157
 
158
  // Convert string to array from default core buttons
159
  $buttons = explode( ',', $qtags_init[ 'buttons' ] );
161
  // loop about the options to check for each post type
162
  foreach ( (array) $options[ 'core_buttons' ] as $button => $post_type ) {
163
 
164
+ // if the post type is inside the settings array active, then remove qtags
165
  if ( is_array( $post_type ) && array_key_exists( $screen->id, $post_type ) ) {
166
 
167
  // If settings have key inside, then unset this button
184
  * @since 2.0.0
185
  * @return void
186
  */
187
+ public static function uninstall() {
188
 
189
  delete_site_option( self::$option_string );
190
  }
259
  * @return void
260
  */
261
  public function admin_enqueue_scripts() {
 
262
  global $current_screen;
263
 
264
  if ( isset( $current_screen->id ) &&
305
  */
306
  public function localize_plugin() {
307
 
308
+ load_plugin_textdomain(
309
+ $this->get_textdomain(),
310
+ FALSE,
311
+ dirname( plugin_basename( __FILE__ ) ) . '/languages'
312
+ );
313
  }
314
 
315
  /**
333
  }
334
 
335
  if ( ! function_exists( 'get_plugin_data' ) ) {
336
+ /** @noinspection */
337
+ require_once ABSPATH . '/wp-admin/includes/plugin.php';
338
  }
339
 
340
  $plugin_data = get_plugin_data( __FILE__ );
363
 
364
  // list only post types, there was used in UI
365
  $args = array( 'show_ui' => TRUE );
366
+ $post_types = get_post_types( $args );
367
  // simplify the array
368
  $post_types = array_values( $post_types );
369
  // merge with strings from var
405
  */
406
  public function get_textdomain() {
407
 
408
+ return $this->get_plugin_data();
409
  }
410
 
411
  /**
addquicktag_cpt.php.example DELETED
@@ -1,36 +0,0 @@
1
- <?php
2
- /**
3
- * Plugin Name: AddQuicktag Example for CPT
4
- * Plugin URI: http://bueltge.de/
5
- * Description: Add custom post type 'my_custom_post_type' to AddQuicktag plugin
6
- * Author: Frank Bültge
7
- * Version: 0.0.1
8
- * Licence: GPLv3
9
- * Author URI: http://bueltge.de
10
- */
11
-
12
- // This file is not called from WordPress. We don't like that.
13
- if ( ! function_exists( 'add_filter' ) ) {
14
- echo "Hi there! I'm just a part of plugin, not much I can do when called directly.";
15
- exit;
16
- }
17
-
18
- if ( ! function_exists( 'my_addquicktag_post_types' ) ) {
19
-
20
- // add custom function to filter hook 'addquicktag_post_types'
21
- add_filter( 'addquicktag_post_types', 'my_addquicktag_post_types' );
22
-
23
- /**
24
- * Return array $post_types with custom post types strings
25
- *
26
- * @param $post_type Array
27
- * @return $post_type Array
28
- */
29
- function my_addquicktag_post_types( $post_types ) {
30
-
31
- $post_types[] = 'snippet';
32
-
33
- return $post_types;
34
- }
35
-
36
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
addquicktag_quickedit_comment.php.example DELETED
@@ -1,50 +0,0 @@
1
- <?php
2
- /**
3
- * Plugin Name: Use AddQuicktag on Quickedit of comments
4
- * Plugin URI: http://bueltge.de/
5
- * Description: Add the quicktags fomr AddQuicktag plugin to the editor of Quickedit on comments
6
- * Author: Frank Bültge
7
- * Version: 0.0.1
8
- * Licence: GPLv3
9
- * Author URI: http://bueltge.de
10
- */
11
-
12
- // This file is not called from WordPress. We don't like that.
13
- if ( ! function_exists( 'add_filter' ) ) {
14
- echo "Hi there! I'm just a part of plugin, not much I can do when called directly.";
15
- exit;
16
- }
17
-
18
- if ( ! function_exists( 'my_addquicktag_post_types' ) ) {
19
-
20
- // add custom function to filter hook 'addquicktag_post_types'
21
- add_filter( 'addquicktag_post_types', 'my_addquicktag_post_types' );
22
-
23
- /**
24
- * Return array $post_types with custom post types strings
25
- *
26
- * @param $post_type Array
27
- * @return $post_type Array
28
- */
29
- function my_addquicktag_post_types( $post_types ) {
30
-
31
- $post_types[] = 'edit-comments';
32
-
33
- return $post_types;
34
- }
35
-
36
- add_filter( 'addquicktag_pages', 'my_addquicktag_pages' );
37
- /**
38
- * Return array $page with custom page strings
39
- *
40
- * @param $page Array
41
- * @return $page Array
42
- */
43
- function my_addquicktag_pages( $page ) {
44
-
45
- $page[] = 'edit-comments.php';
46
-
47
- return $page;
48
- }
49
-
50
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/tinymce/editor_plugin.dev.js CHANGED
@@ -3,26 +3,26 @@
3
  *
4
  * @package AddQuicktag Plugin
5
  * @author Frank Bueltge <frank@bueltge.de>
6
- * @version 2015-12-23
7
  * @since 2.3.0
8
  */
9
 
10
  jQuery( document ).ready( function( $ ) {
11
 
12
- if ( typeof addquicktag_tags == 'undefined' ) {
13
  return;
14
  }
15
 
16
- if ( typeof addquicktag_post_type == 'undefined' ) {
17
  return;
18
  }
19
 
20
- if ( typeof addquicktag_pt_for_js == 'undefined' ) {
21
  return;
22
  }
23
 
24
  // wrong post type
25
- if ( -1 == $.inArray( addquicktag_post_type, addquicktag_pt_for_js ) ) {
26
  return;
27
  }
28
 
@@ -66,7 +66,7 @@ jQuery( document ).ready( function( $ ) {
66
 
67
  // Create the list items with all custom values from settings.
68
  // @see http://www.tinymce.com/wiki.php/api4:class.tinymce.ui.ListBox
69
- if ( 1 == tiny_tags[ i ].visual ) {
70
  //console.log( tiny_tags[ i ] );
71
  values.push( {
72
  text : tiny_tags[ i ].text,
@@ -97,11 +97,11 @@ jQuery( document ).ready( function( $ ) {
97
 
98
  if ( typeof(
99
  tinymce.activeEditor.selection.getContent()
100
- ) != 'undefined' ) {
101
  marked = true;
102
  }
103
 
104
- if ( marked == true ) {
105
 
106
  console.log( tiny_tags );
107
  console.log( value );
@@ -113,11 +113,11 @@ jQuery( document ).ready( function( $ ) {
113
  start_tag = start.match( /[a-z]+/ ),
114
  end = tiny_tags[ value ].end;
115
 
116
- if ( typeof start == 'undefined' ) {
117
  start = '';
118
  }
119
 
120
- if ( typeof end == 'undefined' ) {
121
  end = '';
122
  }
123
 
@@ -138,14 +138,14 @@ jQuery( document ).ready( function( $ ) {
138
  /**/
139
 
140
  // Add tag to content
141
- if ( start.match( /[a-z]+/i ) != start_content.toLowerCase() ) {
142
  tinymce.activeEditor.selection.setContent(
143
  tiny_tags[ value ].start + content + tiny_tags[ value ].end
144
  );
145
  }
146
 
147
  // Remove existing tag
148
- if ( start.match( /[a-z]+/i ) == start_content.toLowerCase() ) {
149
 
150
  // Remove content with tag
151
  tinyMCE.activeEditor.dom.remove(
3
  *
4
  * @package AddQuicktag Plugin
5
  * @author Frank Bueltge <frank@bueltge.de>
6
+ * @version 2017-11-16
7
  * @since 2.3.0
8
  */
9
 
10
  jQuery( document ).ready( function( $ ) {
11
 
12
+ if ( typeof addquicktag_tags === 'undefined' ) {
13
  return;
14
  }
15
 
16
+ if ( typeof addquicktag_post_type === 'undefined' ) {
17
  return;
18
  }
19
 
20
+ if ( typeof addquicktag_pt_for_js === 'undefined' ) {
21
  return;
22
  }
23
 
24
  // wrong post type
25
+ if ( -1 === $.inArray( addquicktag_post_type, addquicktag_pt_for_js ) ) {
26
  return;
27
  }
28
 
66
 
67
  // Create the list items with all custom values from settings.
68
  // @see http://www.tinymce.com/wiki.php/api4:class.tinymce.ui.ListBox
69
+ if ( 1 === tiny_tags[ i ].visual ) {
70
  //console.log( tiny_tags[ i ] );
71
  values.push( {
72
  text : tiny_tags[ i ].text,
97
 
98
  if ( typeof(
99
  tinymce.activeEditor.selection.getContent()
100
+ ) !== 'undefined' ) {
101
  marked = true;
102
  }
103
 
104
+ if ( marked === true ) {
105
 
106
  console.log( tiny_tags );
107
  console.log( value );
113
  start_tag = start.match( /[a-z]+/ ),
114
  end = tiny_tags[ value ].end;
115
 
116
+ if ( typeof start === 'undefined' ) {
117
  start = '';
118
  }
119
 
120
+ if ( typeof end === 'undefined' ) {
121
  end = '';
122
  }
123
 
138
  /**/
139
 
140
  // Add tag to content
141
+ if ( start.match( /[a-z]+/i ) !== start_content.toLowerCase() ) {
142
  tinymce.activeEditor.selection.setContent(
143
  tiny_tags[ value ].start + content + tiny_tags[ value ].end
144
  );
145
  }
146
 
147
  // Remove existing tag
148
+ if ( start.match( /[a-z]+/i ) === start_content.toLowerCase() ) {
149
 
150
  // Remove content with tag
151
  tinyMCE.activeEditor.dom.remove(
inc/tinymce/editor_plugin.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(a){if("undefined"!=typeof addquicktag_tags&&"undefined"!=typeof addquicktag_post_type&&"undefined"!=typeof addquicktag_pt_for_js&&-1!=a.inArray(addquicktag_post_type,addquicktag_pt_for_js)){var b=0,c=0,d=0;for(d;d<addquicktag_tags.buttons.length;d++)1===parseInt(addquicktag_tags.buttons[d].visual)&&(b=addquicktag_tags.buttons[d].visual),1===parseInt(addquicktag_tags.buttons[d][addquicktag_post_type])&&(c=addquicktag_tags.buttons[d][addquicktag_post_type]);1===parseInt(b)&&1===parseInt(c)&&tinymce.PluginManager.add("rmnlQuicktagSettings_tmce",function(a){a.addButton("rmnlQuicktagSettings_tmce",function(){var a=addquicktag_tags.buttons,b=[],c=0;for(c;c<a.length;c++)1===parseInt(a[c][addquicktag_post_type])&&1==a[c].visual&&b.push({text:a[c].text,value:String(c),tooltip:a[c].title,icon:"icon dashicons dashicons-before "+a[c].dashicon});return{type:"listbox",icon:"",text:"Quicktags",label:"Select :",fixedWidth:!0,onselect:function(b){console.log(b);var c=b.control.settings.value,d=!1;if("undefined"!=typeof tinymce.activeEditor.selection.getContent()&&(d=!0),1==d){console.log(a),console.log(c);var e=tinymce.activeEditor.selection.getContent(),f=tinymce.activeEditor.selection.getStart().nodeName,g=(tinymce.activeEditor.selection.getNode(),a[c].start),h=(g.match(/[a-z]+/),a[c].end);"undefined"==typeof g&&(g=""),"undefined"==typeof h&&(h=""),g.match(/[a-z]+/i)!=f.toLowerCase()&&tinymce.activeEditor.selection.setContent(a[c].start+e+a[c].end),g.match(/[a-z]+/i)==f.toLowerCase()&&(tinyMCE.activeEditor.dom.remove(tinymce.activeEditor.selection.getNode(f.toLowerCase())),tinymce.activeEditor.selection.setContent(e))}},values:b}})})}});
1
+ jQuery(document).ready(function(a){if("undefined"!=typeof addquicktag_tags&&"undefined"!=typeof addquicktag_post_type&&"undefined"!=typeof addquicktag_pt_for_js&&-1!==a.inArray(addquicktag_post_type,addquicktag_pt_for_js)){var b=0,c=0,d=0;for(d;d<addquicktag_tags.buttons.length;d++)1===parseInt(addquicktag_tags.buttons[d].visual)&&(b=addquicktag_tags.buttons[d].visual),1===parseInt(addquicktag_tags.buttons[d][addquicktag_post_type])&&(c=addquicktag_tags.buttons[d][addquicktag_post_type]);1===parseInt(b)&&1===parseInt(c)&&tinymce.PluginManager.add("rmnlQuicktagSettings_tmce",function(a){a.addButton("rmnlQuicktagSettings_tmce",function(){var a=addquicktag_tags.buttons,b=[],c=0;for(c;c<a.length;c++)1===parseInt(a[c][addquicktag_post_type])&&1===a[c].visual&&b.push({text:a[c].text,value:String(c),tooltip:a[c].title,icon:"icon dashicons dashicons-before "+a[c].dashicon});return{type:"listbox",icon:"",text:"Quicktags",label:"Select :",fixedWidth:!0,onselect:function(b){console.log(b);var c=b.control.settings.value,d=!1;if("undefined"!=typeof tinymce.activeEditor.selection.getContent()&&(d=!0),d===!0){console.log(a),console.log(c);var e=tinymce.activeEditor.selection.getContent(),f=tinymce.activeEditor.selection.getStart().nodeName,g=(tinymce.activeEditor.selection.getNode(),a[c].start),h=(g.match(/[a-z]+/),a[c].end);"undefined"==typeof g&&(g=""),"undefined"==typeof h&&(h=""),g.match(/[a-z]+/i)!==f.toLowerCase()&&tinymce.activeEditor.selection.setContent(a[c].start+e+a[c].end),g.match(/[a-z]+/i)===f.toLowerCase()&&(tinyMCE.activeEditor.dom.remove(tinymce.activeEditor.selection.getNode(f.toLowerCase())),tinymce.activeEditor.selection.setContent(e))}},values:b}})})}});
js/add-quicktags.dev.js CHANGED
@@ -3,26 +3,26 @@
3
  *
4
  * @package AddQuicktag Plugin
5
  * @author Frank Bueltge <frank@bueltge.de>
6
- * @version 12/19/2014
7
  * @since 2.0.0
8
  */
9
 
10
  jQuery( document ).ready( function( $ ) {
11
 
12
- if ( typeof addquicktag_tags == 'undefined' ) {
13
  return;
14
  }
15
 
16
- if ( typeof addquicktag_post_type == 'undefined' ) {
17
  return;
18
  }
19
 
20
- if ( typeof addquicktag_pt_for_js == 'undefined' ) {
21
  return;
22
  }
23
 
24
  var tags = addquicktag_tags[ 'buttons' ];
25
- if ( typeof tags == 'undefined' ) {
26
  return;
27
  }
28
 
@@ -34,12 +34,12 @@ jQuery( document ).ready( function( $ ) {
34
  return ta.value;
35
  } catch ( e ) {
36
  }
37
- ;
38
  /*Internet Explorer*/
39
  try {
40
  var d = document.createElement( "div" );
41
  d.innerHTML = str.replace( /</g, "&lt;" ).replace( />/g, "&gt;" );
42
- if ( typeof d.innerText != "undefined" ) {
43
  return d.innerText;
44
  }
45
  /*Sadly this strips tags as well*/
@@ -78,14 +78,13 @@ jQuery( document ).ready( function( $ ) {
78
  // check for active on this post type
79
  if ( 1 === parseInt( tags[ i ][ addquicktag_post_type ] ) ) {
80
  //console.log(tags[i]);
81
- if ( typeof tags[ i ].title == 'undefined' ) {
82
  tags[ i ].title = ' ';
83
  }
84
- console.log( decodeEntities( '&#xf226;' ) );
85
- if ( typeof tags[ i ].end == 'undefined' ) {
86
  tags[ i ].end = '';
87
  }
88
- if ( typeof tags[ i ].access == 'undefined' ) {
89
  tags[ i ].access = '';
90
  }
91
 
@@ -100,12 +99,12 @@ jQuery( document ).ready( function( $ ) {
100
  * @param instance string optional Limit the button to a specific instance of Quicktags, add to all instances if not present.
101
  */
102
  QTags.addButton(
103
- html_entity_decode( tags[ i ].text ).replace( /"|\\/gi, "" ).toLowerCase(),
104
  tags[ i ].text,
105
  tags[ i ].start,
106
  tags[ i ].end,
107
  tags[ i ].access,
108
- tags[ i ].title.replace( /"|\\/gi, "" )
109
  );
110
 
111
  /**
@@ -129,22 +128,22 @@ jQuery( document ).ready( function( $ ) {
129
  var code_buttons = addquicktag_tags[ 'code_buttons' ];
130
 
131
  // Fallback, if WP core don't set the var
132
- if ( typeof typenow == 'undefined' ) {
133
  typenow = '';
134
  }
135
 
136
  // IF no code buttons was active
137
- if ( typeof code_buttons == 'undefined' ) {
138
  return;
139
  }
140
 
141
  // Fallback for no htmlentities settings
142
- if ( typeof code_buttons.htmlentities == 'undefined' ) {
143
  code_buttons.htmlentities = 0;
144
  }
145
 
146
  // Fallback for no pre settings
147
- if ( typeof code_buttons.pre == 'undefined' ) {
148
  code_buttons.pre = 0;
149
  }
150
 
3
  *
4
  * @package AddQuicktag Plugin
5
  * @author Frank Bueltge <frank@bueltge.de>
6
+ * @version 2017-11-16
7
  * @since 2.0.0
8
  */
9
 
10
  jQuery( document ).ready( function( $ ) {
11
 
12
+ if ( typeof addquicktag_tags === 'undefined' ) {
13
  return;
14
  }
15
 
16
+ if ( typeof addquicktag_post_type === 'undefined' ) {
17
  return;
18
  }
19
 
20
+ if ( typeof addquicktag_pt_for_js === 'undefined' ) {
21
  return;
22
  }
23
 
24
  var tags = addquicktag_tags[ 'buttons' ];
25
+ if ( typeof tags === 'undefined' ) {
26
  return;
27
  }
28
 
34
  return ta.value;
35
  } catch ( e ) {
36
  }
37
+
38
  /*Internet Explorer*/
39
  try {
40
  var d = document.createElement( "div" );
41
  d.innerHTML = str.replace( /</g, "&lt;" ).replace( />/g, "&gt;" );
42
+ if ( typeof d.innerText !== "undefined" ) {
43
  return d.innerText;
44
  }
45
  /*Sadly this strips tags as well*/
78
  // check for active on this post type
79
  if ( 1 === parseInt( tags[ i ][ addquicktag_post_type ] ) ) {
80
  //console.log(tags[i]);
81
+ if ( typeof tags[ i ].title === 'undefined' ) {
82
  tags[ i ].title = ' ';
83
  }
84
+ if ( typeof tags[ i ].end === 'undefined' ) {
 
85
  tags[ i ].end = '';
86
  }
87
+ if ( typeof tags[ i ].access === 'undefined' ) {
88
  tags[ i ].access = '';
89
  }
90
 
99
  * @param instance string optional Limit the button to a specific instance of Quicktags, add to all instances if not present.
100
  */
101
  QTags.addButton(
102
+ html_entity_decode( tags[ i ].text ).replace( /["\\]/gi, "" ).toLowerCase(),
103
  tags[ i ].text,
104
  tags[ i ].start,
105
  tags[ i ].end,
106
  tags[ i ].access,
107
+ tags[ i ].title.replace( /["\\]/gi, "" )
108
  );
109
 
110
  /**
128
  var code_buttons = addquicktag_tags[ 'code_buttons' ];
129
 
130
  // Fallback, if WP core don't set the var
131
+ if ( typeof typenow === 'undefined' ) {
132
  typenow = '';
133
  }
134
 
135
  // IF no code buttons was active
136
+ if ( typeof code_buttons === 'undefined' ) {
137
  return;
138
  }
139
 
140
  // Fallback for no htmlentities settings
141
+ if ( typeof code_buttons.htmlentities === 'undefined' ) {
142
  code_buttons.htmlentities = 0;
143
  }
144
 
145
  // Fallback for no pre settings
146
+ if ( typeof code_buttons.pre === 'undefined' ) {
147
  code_buttons.pre = 0;
148
  }
149
 
js/add-quicktags.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(a){function b(a){try{var b=document.createElement("textarea");return b.innerHTML=a,b.value}catch(c){}try{var d=document.createElement("div");if(d.innerHTML=a.replace(/</g,"&lt;").replace(/>/g,"&gt;"),"undefined"!=typeof d.innerText)return d.innerText}catch(c){}}function c(a){return a.focus(),document.selection?document.selection.createRange().text:a.value.substring(a.selectionStart,a.selectionEnd)}if("undefined"!=typeof addquicktag_tags&&"undefined"!=typeof addquicktag_post_type&&"undefined"!=typeof addquicktag_pt_for_js){var d=addquicktag_tags.buttons;if("undefined"!=typeof d){if(a.inArray("addquicktag_post_type",addquicktag_pt_for_js))for(var e=0;e<d.length;e++)1===parseInt(d[e][addquicktag_post_type])&&("undefined"==typeof d[e].title&&(d[e].title=" "),console.log(decodeEntities("&#xf226;")),"undefined"==typeof d[e].end&&(d[e].end=""),"undefined"==typeof d[e].access&&(d[e].access=""),QTags.addButton(b(d[e].text).replace(/"|\\/gi,"").toLowerCase(),d[e].text,d[e].start,d[e].end,d[e].access,d[e].title.replace(/"|\\/gi,"")));var f=addquicktag_tags.code_buttons;if("undefined"==typeof typenow&&(typenow=""),"undefined"!=typeof f&&("undefined"==typeof f.htmlentities&&(f.htmlentities=0),"undefined"==typeof f.pre&&(f.pre=0),1===f.htmlentities[typenow]&&(QTags.addButton("toHTML","HTML Entities",function(a,b){QTags.insertContent(c(b).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"))},"Encode HTML Entities"),QTags.addButton("fromHTML","Decode HTML",function(a,b){QTags.insertContent(c(b).replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">"))},"Decode HTML Entities")),1===f.pre[typenow])){var g=["html","javascript","css","bash","php","vb"];edButtons[109]={html:function(a){return'<select id="'+a+'code_language" class="language-select"><option>blank</option><option>'+g.join("</option><option>")+"</option></select>"}},a("body").on("change","select.language-select",function(){var b=a(this).val();edButtons[110].tagStart=b?'<code class="language-'+b+'">':"<code>"}),QTags.addButton("qt_pre","pre","<pre>","</pre>","","Preformatted text","108")}}}});var decodeEntities=function(){function a(a){return a&&"string"==typeof a&&(a=a.replace(/<script[^>]*>([\S\s]*?)<\/script>/gim,""),a=a.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gim,""),b.innerHTML=a,a=b.textContent,b.textContent=""),a}var b=document.createElement("div");return a}();
1
+ jQuery(document).ready(function(a){function b(a){try{var b=document.createElement("textarea");return b.innerHTML=a,b.value}catch(c){}try{var d=document.createElement("div");if(d.innerHTML=a.replace(/</g,"&lt;").replace(/>/g,"&gt;"),"undefined"!=typeof d.innerText)return d.innerText}catch(c){}}function c(a){return a.focus(),document.selection?document.selection.createRange().text:a.value.substring(a.selectionStart,a.selectionEnd)}if("undefined"!=typeof addquicktag_tags&&"undefined"!=typeof addquicktag_post_type&&"undefined"!=typeof addquicktag_pt_for_js){var d=addquicktag_tags.buttons;if("undefined"!=typeof d){if(a.inArray("addquicktag_post_type",addquicktag_pt_for_js))for(var e=0;e<d.length;e++)1===parseInt(d[e][addquicktag_post_type])&&("undefined"==typeof d[e].title&&(d[e].title=" "),console.log(decodeEntities("&#xf226;")),"undefined"==typeof d[e].end&&(d[e].end=""),"undefined"==typeof d[e].access&&(d[e].access=""),QTags.addButton(b(d[e].text).replace(/["\\]/gi,"").toLowerCase(),d[e].text,d[e].start,d[e].end,d[e].access,d[e].title.replace(/["\\]/gi,"")));var f=addquicktag_tags.code_buttons;if("undefined"==typeof typenow&&(typenow=""),"undefined"!=typeof f&&("undefined"==typeof f.htmlentities&&(f.htmlentities=0),"undefined"==typeof f.pre&&(f.pre=0),1===f.htmlentities[typenow]&&(QTags.addButton("toHTML","HTML Entities",function(a,b){QTags.insertContent(c(b).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"))},"Encode HTML Entities"),QTags.addButton("fromHTML","Decode HTML",function(a,b){QTags.insertContent(c(b).replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">"))},"Decode HTML Entities")),1===f.pre[typenow])){var g=["html","javascript","css","bash","php","vb"];edButtons[109]={html:function(a){return'<select id="'+a+'code_language" class="language-select"><option>blank</option><option>'+g.join("</option><option>")+"</option></select>"}},a("body").on("change","select.language-select",function(){var b=a(this).val();edButtons[110].tagStart=b?'<code class="language-'+b+'">':"<code>"}),QTags.addButton("qt_pre","pre","<pre>","</pre>","","Preformatted text","108")}}}});var decodeEntities=function(){function a(a){return a&&"string"==typeof a&&(a=a.replace(/<script[^>]*>([\S\s]*?)<\/script>/gim,""),a=a.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gim,""),b.innerHTML=a,a=b.textContent,b.textContent=""),a}var b=document.createElement("div");return a}();
js/dashicons-picker.dev.js CHANGED
@@ -283,7 +283,7 @@
283
 
284
  for ( var i in icons ) {
285
  list.append( '<li data-icon="' + icons[i] + '"><a href="#" title="' + icons[i] + '"><span class="dashicons dashicons-' + icons[i] + '"></span></a></li>' );
286
- };
287
 
288
  $( 'a', list ).click( function ( e ) {
289
  e.preventDefault();
@@ -311,7 +311,7 @@
311
 
312
  popup.appendTo( 'body' ).show();
313
 
314
- $( 'input', control ).on( 'keyup', function ( e ) {
315
  var search = $( this ).val();
316
  if ( search === '' ) {
317
  $( 'li:lt(25)', list ).show();
283
 
284
  for ( var i in icons ) {
285
  list.append( '<li data-icon="' + icons[i] + '"><a href="#" title="' + icons[i] + '"><span class="dashicons dashicons-' + icons[i] + '"></span></a></li>' );
286
+ }
287
 
288
  $( 'a', list ).click( function ( e ) {
289
  e.preventDefault();
311
 
312
  popup.appendTo( 'body' ).show();
313
 
314
+ $( 'input', control ).on( 'keyup', function () {
315
  var search = $( this ).val();
316
  if ( search === '' ) {
317
  $( 'li:lt(25)', list ).show();
js/dashicons-picker.js CHANGED
@@ -1 +1 @@
1
- !function(a){a.fn.dashiconsPicker=function(){var b=["menu","admin-site","dashboard","admin-media","admin-page","admin-comments","admin-appearance","admin-plugins","admin-users","admin-tools","admin-settings","admin-network","admin-generic","admin-home","admin-collapse","filter","admin-customizer","admin-multisite","admin-links","format-links","admin-post","format-standard","format-image","format-gallery","format-audio","format-video","format-chat","format-status","format-aside","format-quote","welcome-write-blog","welcome-edit-page","welcome-add-page","welcome-view-site","welcome-widgets-menus","welcome-comments","welcome-learn-more","image-crop","image-rotate","image-rotate-left","image-rotate-right","image-flip-vertical","image-flip-horizontal","image-filter","undo","redo","editor-bold","editor-italic","editor-ul","editor-ol","editor-quote","editor-alignleft","editor-aligncenter","editor-alignright","editor-insertmore","editor-spellcheck","editor-distractionfree","editor-expand","editor-contract","editor-kitchensink","editor-underline","editor-justify","editor-textcolor","editor-paste-word","editor-paste-text","editor-removeformatting","editor-video","editor-customchar","editor-outdent","editor-indent","editor-help","editor-strikethrough","editor-unlink","editor-rtl","editor-break","editor-code","editor-paragraph","editor-table","align-left","align-right","align-center","align-none","lock","unlock","calendar","calendar-alt","visibility","hidden","post-status","edit","post-trash","trash","sticky","external","arrow-up","arrow-down","arrow-left","arrow-right","arrow-up-alt","arrow-down-alt","arrow-left-alt","arrow-right-alt","arrow-up-alt2","arrow-down-alt2","arrow-left-alt2","arrow-right-alt2","leftright","sort","randomize","list-view","excerpt-view","grid-view","hammer","art","migrate","performance","universal-access","universal-access-alt","tickets","nametag","clipboard","heart","megaphone","schedule","wordpress","wordpress-alt","pressthis","update","screenoptions","cart","feedback","cloud","translation","tag","category","archive","tagcloud","text","media-archive","media-audio","media-code","media-default","media-document","media-interactive","media-spreadsheet","media-text","media-video","playlist-audio","playlist-video","controls-play","controls-pause","controls-forward","controls-skipforward","controls-back","controls-skipback","controls-repeat","controls-volumeon","controls-volumeoff","yes","no","no-alt","plus","plus-alt","plus-alt2","minus","dismiss","marker","star-filled","star-half","star-empty","flag","info","warning","share","share1","share-alt","share-alt2","twitter","rss","email","email-alt","facebook","facebook-alt","networking","googleplus","location","location-alt","camera","images-alt","images-alt2","video-alt","video-alt2","video-alt3","vault","shield","shield-alt","sos","search","slides","analytics","chart-pie","chart-bar","chart-line","chart-area","groups","businessman","id","id-alt","products","awards","forms","testimonial","portfolio","book","book-alt","download","upload","backup","clock","lightbulb","microphone","desktop","tablet","smartphone","phone","smiley","index-card","carrot","building","store","album","palmtree","tickets-alt","money","thumbs-up","thumbs-down","layout","","",""];return this.each(function(){function c(c){var e=a(c.data("target")),f=a('<div class="dashicon-picker-container"> <div class="dashicon-picker-control" /> <ul class="dashicon-picker-list" /> </div>').css({top:c.offset().top,left:c.offset().left}),g=f.find(".dashicon-picker-list");for(var h in b)g.append('<li data-icon="'+b[h]+'"><a href="#" title="'+b[h]+'"><span class="dashicons dashicons-'+b[h]+'"></span></a></li>');a("a",g).click(function(b){b.preventDefault();var c=a(this).attr("title");e.val("dashicons-"+c),d()});var i=f.find(".dashicon-picker-control");i.html('<a data-direction="back" href="#"> <span class="dashicons dashicons-arrow-left-alt2"></span></a> <input type="text" class="" placeholder="Search" /> <a data-direction="forward" href="#"><span class="dashicons dashicons-arrow-right-alt2"></span></a>'),a("a",i).click(function(c){c.preventDefault(),"back"===a(this).data("direction")?a("li:gt("+(b.length-26)+")",g).prependTo(g):a("li:lt(25)",g).appendTo(g)}),f.appendTo("body").show(),a("input",i).on("keyup",function(b){var c=a(this).val();""===c?a("li:lt(25)",g).show():a("li",g).each(function(){-1!==a(this).data("icon").toLowerCase().indexOf(c.toLowerCase())?a(this).show():a(this).hide()})}),a(document).bind("mouseup.dashicons-picker",function(a){f.is(a.target)||0!==f.has(a.target).length||d()})}function d(){a(".dashicon-picker-container").remove(),a(document).unbind(".dashicons-picker")}var e=a(this);e.on("click.dashiconsPicker",function(){c(e)})})},a(function(){a(".dashicons-picker").dashiconsPicker()})}(jQuery);
1
+ !function(a){a.fn.dashiconsPicker=function(){var b=["menu","admin-site","dashboard","admin-media","admin-page","admin-comments","admin-appearance","admin-plugins","admin-users","admin-tools","admin-settings","admin-network","admin-generic","admin-home","admin-collapse","filter","admin-customizer","admin-multisite","admin-links","format-links","admin-post","format-standard","format-image","format-gallery","format-audio","format-video","format-chat","format-status","format-aside","format-quote","welcome-write-blog","welcome-edit-page","welcome-add-page","welcome-view-site","welcome-widgets-menus","welcome-comments","welcome-learn-more","image-crop","image-rotate","image-rotate-left","image-rotate-right","image-flip-vertical","image-flip-horizontal","image-filter","undo","redo","editor-bold","editor-italic","editor-ul","editor-ol","editor-quote","editor-alignleft","editor-aligncenter","editor-alignright","editor-insertmore","editor-spellcheck","editor-distractionfree","editor-expand","editor-contract","editor-kitchensink","editor-underline","editor-justify","editor-textcolor","editor-paste-word","editor-paste-text","editor-removeformatting","editor-video","editor-customchar","editor-outdent","editor-indent","editor-help","editor-strikethrough","editor-unlink","editor-rtl","editor-break","editor-code","editor-paragraph","editor-table","align-left","align-right","align-center","align-none","lock","unlock","calendar","calendar-alt","visibility","hidden","post-status","edit","post-trash","trash","sticky","external","arrow-up","arrow-down","arrow-left","arrow-right","arrow-up-alt","arrow-down-alt","arrow-left-alt","arrow-right-alt","arrow-up-alt2","arrow-down-alt2","arrow-left-alt2","arrow-right-alt2","leftright","sort","randomize","list-view","excerpt-view","grid-view","hammer","art","migrate","performance","universal-access","universal-access-alt","tickets","nametag","clipboard","heart","megaphone","schedule","wordpress","wordpress-alt","pressthis","update","screenoptions","cart","feedback","cloud","translation","tag","category","archive","tagcloud","text","media-archive","media-audio","media-code","media-default","media-document","media-interactive","media-spreadsheet","media-text","media-video","playlist-audio","playlist-video","controls-play","controls-pause","controls-forward","controls-skipforward","controls-back","controls-skipback","controls-repeat","controls-volumeon","controls-volumeoff","yes","no","no-alt","plus","plus-alt","plus-alt2","minus","dismiss","marker","star-filled","star-half","star-empty","flag","info","warning","share","share1","share-alt","share-alt2","twitter","rss","email","email-alt","facebook","facebook-alt","networking","googleplus","location","location-alt","camera","images-alt","images-alt2","video-alt","video-alt2","video-alt3","vault","shield","shield-alt","sos","search","slides","analytics","chart-pie","chart-bar","chart-line","chart-area","groups","businessman","id","id-alt","products","awards","forms","testimonial","portfolio","book","book-alt","download","upload","backup","clock","lightbulb","microphone","desktop","tablet","smartphone","phone","smiley","index-card","carrot","building","store","album","palmtree","tickets-alt","money","thumbs-up","thumbs-down","layout","","",""];return this.each(function(){function c(c){var e=a(c.data("target")),f=a('<div class="dashicon-picker-container"> <div class="dashicon-picker-control" /> <ul class="dashicon-picker-list" /> </div>').css({top:c.offset().top,left:c.offset().left}),g=f.find(".dashicon-picker-list");for(var h in b)g.append('<li data-icon="'+b[h]+'"><a href="#" title="'+b[h]+'"><span class="dashicons dashicons-'+b[h]+'"></span></a></li>');a("a",g).click(function(b){b.preventDefault();var c=a(this).attr("title");e.val("dashicons-"+c),d()});var i=f.find(".dashicon-picker-control");i.html('<a data-direction="back" href="#"> <span class="dashicons dashicons-arrow-left-alt2"></span></a> <input type="text" class="" placeholder="Search" /> <a data-direction="forward" href="#"><span class="dashicons dashicons-arrow-right-alt2"></span></a>'),a("a",i).click(function(c){c.preventDefault(),"back"===a(this).data("direction")?a("li:gt("+(b.length-26)+")",g).prependTo(g):a("li:lt(25)",g).appendTo(g)}),f.appendTo("body").show(),a("input",i).on("keyup",function(){var b=a(this).val();""===b?a("li:lt(25)",g).show():a("li",g).each(function(){-1!==a(this).data("icon").toLowerCase().indexOf(b.toLowerCase())?a(this).show():a(this).hide()})}),a(document).bind("mouseup.dashicons-picker",function(a){f.is(a.target)||0!==f.has(a.target).length||d()})}function d(){a(".dashicon-picker-container").remove(),a(document).unbind(".dashicons-picker")}var e=a(this);e.on("click.dashiconsPicker",function(){c(e)})})},a(function(){a(".dashicons-picker").dashiconsPicker()})}(jQuery);
js/settings.dev.js CHANGED
@@ -1,34 +1,24 @@
1
  /**
2
- * AddQuicktag Script settings page of the plugin
3
  *
4
- * @version 2015-12-23
5
  * @since 06/19/2014
6
  * @package AddQuicktag Plugin
7
  */
8
 
9
  jQuery( document ).ready( function( $ ) {
10
 
11
- $( 'input:checkbox.toggle' ).click( function( event ) {
12
  var i = $( this ).attr( 'value' ),
13
  sel = '#rmqtb' + i + ' input:checkbox';
14
 
15
- if ( this.checked ) {
16
- // Iterate each checkbox
17
- $( sel ).each( function() {
18
- this.checked = true;
19
- } );
20
- } else {
21
- // Iterate each checkbox
22
- $( sel ).each( function() {
23
- this.checked = false;
24
- } );
25
- }
26
  } );
27
 
28
  $( 'table.rmnlQuicktagSettings' ).delegate( 'td', 'mouseover mouseout', function( e ) {
29
  var hover = 'hover';
30
 
31
- if ( e.type == 'mouseover' ) {
32
  $( this ).parent().addClass( hover );
33
  $( 'table.rmnlQuicktagSettings colgroup' ).eq( $( this ).index() ).addClass( hover );
34
  } else {
@@ -40,7 +30,7 @@ jQuery( document ).ready( function( $ ) {
40
  $( 'table.rmnlCoreQuicktagSettings' ).delegate( 'td', 'mouseover mouseout', function( e ) {
41
  var hover = 'hover';
42
 
43
- if ( e.type == 'mouseover' ) {
44
  $( this ).parent().addClass( hover );
45
  $( 'table.rmnlCoreQuicktagSettings colgroup' ).eq( $( this ).index() ).addClass( hover );
46
  } else {
@@ -52,7 +42,7 @@ jQuery( document ).ready( function( $ ) {
52
  $( 'table.rmnlCodeQuicktagSettings' ).delegate( 'td', 'mouseover mouseout', function( e ) {
53
  var hover = 'hover';
54
 
55
- if ( e.type == 'mouseover' ) {
56
  $( this ).parent().addClass( hover );
57
  $( 'table.rmnlCodeQuicktagSettings colgroup' ).eq( $( this ).index() ).addClass( hover );
58
  } else {
@@ -60,8 +50,6 @@ jQuery( document ).ready( function( $ ) {
60
  $( 'table.rmnlCodeQuicktagSettings colgroup' ).eq( $( this ).index() ).removeClass( hover );
61
  }
62
  } );
63
-
64
- //$( 'table.rmnlQuicktagSettings' ).fixMe();
65
  } );
66
 
67
  /**
1
  /**
2
+ * AddQuicktag Script settings page of the plugin.
3
  *
4
+ * @version 2017-11-16
5
  * @since 06/19/2014
6
  * @package AddQuicktag Plugin
7
  */
8
 
9
  jQuery( document ).ready( function( $ ) {
10
 
11
+ $( 'input:checkbox.toggle' ).click( function() {
12
  var i = $( this ).attr( 'value' ),
13
  sel = '#rmqtb' + i + ' input:checkbox';
14
 
15
+ $( sel ).prop( 'checked', this.checked );
 
 
 
 
 
 
 
 
 
 
16
  } );
17
 
18
  $( 'table.rmnlQuicktagSettings' ).delegate( 'td', 'mouseover mouseout', function( e ) {
19
  var hover = 'hover';
20
 
21
+ if ( e.type === 'mouseover' ) {
22
  $( this ).parent().addClass( hover );
23
  $( 'table.rmnlQuicktagSettings colgroup' ).eq( $( this ).index() ).addClass( hover );
24
  } else {
30
  $( 'table.rmnlCoreQuicktagSettings' ).delegate( 'td', 'mouseover mouseout', function( e ) {
31
  var hover = 'hover';
32
 
33
+ if ( e.type === 'mouseover' ) {
34
  $( this ).parent().addClass( hover );
35
  $( 'table.rmnlCoreQuicktagSettings colgroup' ).eq( $( this ).index() ).addClass( hover );
36
  } else {
42
  $( 'table.rmnlCodeQuicktagSettings' ).delegate( 'td', 'mouseover mouseout', function( e ) {
43
  var hover = 'hover';
44
 
45
+ if ( e.type === 'mouseover' ) {
46
  $( this ).parent().addClass( hover );
47
  $( 'table.rmnlCodeQuicktagSettings colgroup' ).eq( $( this ).index() ).addClass( hover );
48
  } else {
50
  $( 'table.rmnlCodeQuicktagSettings colgroup' ).eq( $( this ).index() ).removeClass( hover );
51
  }
52
  } );
 
 
53
  } );
54
 
55
  /**
js/settings.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(a){a("input:checkbox.toggle").click(function(b){var c=a(this).attr("value"),d="#rmqtb"+c+" input:checkbox";this.checked?a(d).each(function(){this.checked=!0}):a(d).each(function(){this.checked=!1})}),a("table.rmnlQuicktagSettings").delegate("td","mouseover mouseout",function(b){var c="hover";"mouseover"==b.type?(a(this).parent().addClass(c),a("table.rmnlQuicktagSettings colgroup").eq(a(this).index()).addClass(c)):(a(this).parent().removeClass(c),a("table.rmnlQuicktagSettings colgroup").eq(a(this).index()).removeClass(c))}),a("table.rmnlCoreQuicktagSettings").delegate("td","mouseover mouseout",function(b){var c="hover";"mouseover"==b.type?(a(this).parent().addClass(c),a("table.rmnlCoreQuicktagSettings colgroup").eq(a(this).index()).addClass(c)):(a(this).parent().removeClass(c),a("table.rmnlCoreQuicktagSettings colgroup").eq(a(this).index()).removeClass(c))}),a("table.rmnlCodeQuicktagSettings").delegate("td","mouseover mouseout",function(b){var c="hover";"mouseover"==b.type?(a(this).parent().addClass(c),a("table.rmnlCodeQuicktagSettings colgroup").eq(a(this).index()).addClass(c)):(a(this).parent().removeClass(c),a("table.rmnlCodeQuicktagSettings colgroup").eq(a(this).index()).removeClass(c))})}),function(a){a.fn.fixMe=function(){return this.each(function(){function b(){h.wrap('<div class="container" />'),e=h.clone(),e.find("tbody").remove().end().addClass("fixed").insertBefore(h),c()}function c(){f=0,e.find("th").each(function(b){f++,g=h.find("th").eq(b).outerWidth(),4>f&&(g-=11),a(this).css("width",g+"px")})}function d(){var b=a(this).scrollTop(),c=h.offset().top,d=c+h.height()-h.find("thead").height();c>b||b>d?e.hide():b>=c&&d>=b&&e.is(":hidden")&&e.show()}var e,f,g,h=a(this);a(window).resize(c),a(window).scroll(d),b()})}}(jQuery);
1
+ jQuery(document).ready(function(a){a("input:checkbox.toggle").click(function(){var b=a(this).attr("value"),c="#rmqtb"+b+" input:checkbox";a(c).prop("checked",this.checked)}),a("table.rmnlQuicktagSettings").delegate("td","mouseover mouseout",function(b){var c="hover";"mouseover"===b.type?(a(this).parent().addClass(c),a("table.rmnlQuicktagSettings colgroup").eq(a(this).index()).addClass(c)):(a(this).parent().removeClass(c),a("table.rmnlQuicktagSettings colgroup").eq(a(this).index()).removeClass(c))}),a("table.rmnlCoreQuicktagSettings").delegate("td","mouseover mouseout",function(b){var c="hover";"mouseover"===b.type?(a(this).parent().addClass(c),a("table.rmnlCoreQuicktagSettings colgroup").eq(a(this).index()).addClass(c)):(a(this).parent().removeClass(c),a("table.rmnlCoreQuicktagSettings colgroup").eq(a(this).index()).removeClass(c))}),a("table.rmnlCodeQuicktagSettings").delegate("td","mouseover mouseout",function(b){var c="hover";"mouseover"===b.type?(a(this).parent().addClass(c),a("table.rmnlCodeQuicktagSettings colgroup").eq(a(this).index()).addClass(c)):(a(this).parent().removeClass(c),a("table.rmnlCodeQuicktagSettings colgroup").eq(a(this).index()).removeClass(c))})}),function(a){a.fn.fixMe=function(){return this.each(function(){function b(){h.wrap('<div class="container" />'),e=h.clone(),e.find("tbody").remove().end().addClass("fixed").insertBefore(h),c()}function c(){f=0,e.find("th").each(function(b){f++,g=h.find("th").eq(b).outerWidth(),4>f&&(g-=11),a(this).css("width",g+"px")})}function d(){var b=a(this).scrollTop(),c=h.offset().top,d=c+h.height()-h.find("thead").height();c>b||b>d?e.hide():b>=c&&d>=b&&e.is(":hidden")&&e.show()}var e,f,g,h=a(this);a(window).resize(c),a(window).scroll(d),b()})}}(jQuery);
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
4
  Tags: quicktag, editor, tinymce, add buttons, button, buttons, visual editor
5
  Requires at least: 3.0
6
  Tested up to: 4.9
7
- Stable tag: 2.5.1
8
 
9
  This plugin makes it easy to add Quicktags to the html - and visual-editor.
10
 
@@ -127,9 +127,13 @@ The following example adds buttons. The params inside the array are the same as
127
 
128
 
129
  = License =
130
- Good news, this plugin is free for everyone! Since it's released under the GPL, you can use it free of charge on your personal or commercial blog. But if you enjoy this plugin, you may consider to thank me and leave a [small donation](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6069955 "Paypal Donate link") for the time I've spent writing and supporting this plugin. And I really don't want to know how many hours of my life this plugin has already eaten ;)
131
 
132
  == Changelog ==
 
 
 
 
133
  = 2.5.1 (2017-03-09) =
134
  * Fixed Multisite error for check, is the plugin active in the MU Environment.
135
 
4
  Tags: quicktag, editor, tinymce, add buttons, button, buttons, visual editor
5
  Requires at least: 3.0
6
  Tested up to: 4.9
7
+ Stable tag: 2.5.2
8
 
9
  This plugin makes it easy to add Quicktags to the html - and visual-editor.
10
 
127
 
128
 
129
  = License =
130
+ Good news, this plugin is free for everyone! Since it's released under the GPL, you can use it free of charge on your personal or commercial blog. But if you enjoy this plugin, you may consider to thank me and leave a [positive review](https://wordpress.org/support/plugin/addquicktag/reviews/#new-post) for the time I've spent writing and supporting this plugin. And I really don't want to know how many hours of my life this plugin has already eaten ;)
131
 
132
  == Changelog ==
133
+ = 2.5.2 (2017-11-16) =
134
+ * Fixed several code strict style issues.
135
+ * Fixed javascript topics to write more strict.
136
+
137
  = 2.5.1 (2017-03-09) =
138
  * Fixed Multisite error for check, is the plugin active in the MU Environment.
139