Black Studio TinyMCE Widget - Version 2.2.1

Version Description

(2014-11-18) = * Fixed paragraph formatting bug on saving * Fixed real-time update bug in Theme Customizer * Enhanced editor initialization * Simplified internal integration with Page Builder * Simplified internal initialization for accessibility mode * Minor changes for coding standard compliance

Download this release

Release Info

Developer marcochiesi
Plugin Icon 128x128 Black Studio TinyMCE Widget
Version 2.2.1
Comparing to
See all releases

Code changes from version 2.2.0 to 2.2.1

black-studio-tinymce-widget.php CHANGED
@@ -3,7 +3,7 @@
3
Plugin Name: Black Studio TinyMCE Widget
4
Plugin URI: https://wordpress.org/plugins/black-studio-tinymce-widget/
5
Description: Adds a new "Visual Editor" widget type based on the native WordPress TinyMCE editor.
6
- Version: 2.2.0
7
Author: Black Studio
8
Author URI: http://www.blackstudio.it
9
Requires at least: 3.1
@@ -35,7 +35,7 @@ if ( ! class_exists( 'Black_Studio_TinyMCE_Plugin' ) ) {
35
* @var string
36
* @since 2.0.0
37
*/
38
- public static $version = '2.2.0';
39
40
/**
41
* The single instance of the plugin class
@@ -265,7 +265,7 @@ else {
265
266
/* Check for multiple plugin instances */
267
if ( ! function_exists( 'bstw_multiple_notice' ) ) {
268
-
269
/**
270
* Show admin notice when multiple instances of the plugin are detected
271
*
@@ -282,7 +282,7 @@ else {
282
}
283
}
284
add_action( 'admin_notices', 'bstw_multiple_notice' );
285
-
286
} // END function_exists bstw_multiple_notice check
287
288
} // END else function_exists bstw check
3
Plugin Name: Black Studio TinyMCE Widget
4
Plugin URI: https://wordpress.org/plugins/black-studio-tinymce-widget/
5
Description: Adds a new "Visual Editor" widget type based on the native WordPress TinyMCE editor.
6
+ Version: 2.2.1
7
Author: Black Studio
8
Author URI: http://www.blackstudio.it
9
Requires at least: 3.1
35
* @var string
36
* @since 2.0.0
37
*/
38
+ public static $version = '2.2.1';
39
40
/**
41
* The single instance of the plugin class
265
266
/* Check for multiple plugin instances */
267
if ( ! function_exists( 'bstw_multiple_notice' ) ) {
268
+
269
/**
270
* Show admin notice when multiple instances of the plugin are detected
271
*
282
}
283
}
284
add_action( 'admin_notices', 'bstw_multiple_notice' );
285
+
286
} // END function_exists bstw_multiple_notice check
287
288
} // END else function_exists bstw check
css/black-studio-tinymce-widget-pre33.min.css CHANGED
@@ -1,2 +1,2 @@
1
- /* Black Studio TinyMCE Widget - v2.2.0 */
2
.bstw-links{font-size:11px;margin-top:-3px;text-align:right;position:absolute;right:18px}.bstw-links .icon-plugins{float:right;padding:3px 6px;margin:-8px -8px 0 -2px;background:url(../../../../wp-admin/images/menu.png) -180px -33px no-repeat;width:16px;height:16px}.bstw-links .bstw-links-list{display:none}.bstw-links a{text-decoration:none}#mce_fullscreen_container{background-color:#fff}#wp-black-studio-tinymce-widget-wrap{display:none}#TB_overlay,#TB_window{z-index:999999}.wp-editor-container{border-style:solid;border-width:1px;border-collapse:separate;-moz-border-radius:3px 3px 0 0;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;border-color:#ccc #ccc #dfdfdf;clear:both}.wp-switch-editor{height:18px;margin:5px 5px 0 0;padding:4px 5px 2px;float:right;cursor:pointer;border-width:1px;border-style:solid;-moz-border-radius:3px 3px 0 0;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #ccc;color:#999;position:relative;top:1px}.html-active .switch-html,.tmce-active .switch-tmce{border-color:#ccc #ccc #e9e9e9;background-color:#e9e9e9;color:#333}.wp-media-buttons{cursor:default;padding:8px 8px 0}.wp-media-buttons a{cursor:pointer;padding:0 0 5px 10px}.wp-media-buttons img{vertical-align:middle}.wp_themeSkin .mceStatusbar{border-color:#dfdfdf}
1
+ /* Black Studio TinyMCE Widget - v2.2.1 */
2
.bstw-links{font-size:11px;margin-top:-3px;text-align:right;position:absolute;right:18px}.bstw-links .icon-plugins{float:right;padding:3px 6px;margin:-8px -8px 0 -2px;background:url(../../../../wp-admin/images/menu.png) -180px -33px no-repeat;width:16px;height:16px}.bstw-links .bstw-links-list{display:none}.bstw-links a{text-decoration:none}#mce_fullscreen_container{background-color:#fff}#wp-black-studio-tinymce-widget-wrap{display:none}#TB_overlay,#TB_window{z-index:999999}.wp-editor-container{border-style:solid;border-width:1px;border-collapse:separate;-moz-border-radius:3px 3px 0 0;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;border-color:#ccc #ccc #dfdfdf;clear:both}.wp-switch-editor{height:18px;margin:5px 5px 0 0;padding:4px 5px 2px;float:right;cursor:pointer;border-width:1px;border-style:solid;-moz-border-radius:3px 3px 0 0;-webkit-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-khtml-border-top-right-radius:3px;-khtml-border-top-left-radius:3px;border-top-right-radius:3px;border-top-left-radius:3px;background-color:#f1f1f1;border-color:#dfdfdf #dfdfdf #ccc;color:#999;position:relative;top:1px}.html-active .switch-html,.tmce-active .switch-tmce{border-color:#ccc #ccc #e9e9e9;background-color:#e9e9e9;color:#333}.wp-media-buttons{cursor:default;padding:8px 8px 0}.wp-media-buttons a{cursor:pointer;padding:0 0 5px 10px}.wp-media-buttons img{vertical-align:middle}.wp_themeSkin .mceStatusbar{border-color:#dfdfdf}
css/black-studio-tinymce-widget.min.css CHANGED
@@ -1,2 +1,2 @@
1
- /* Black Studio TinyMCE Widget - v2.2.0 */
2
.bstw-links{font-size:11px;margin-top:-3px;text-align:right;position:absolute;right:18px}.rtl .bstw-links{text-align:left;right:auto;left:18px}.bstw-links .icon16:before{padding:0}.bstw-links .icon16{float:right;padding:3px 6px;margin:-6px -8px 0 -2px}.rtl .bstw-links .icon16{float:left;margin:-6px -2px 0 -8px}.bstw-links .bstw-links-list{display:none}.bstw-links a{text-decoration:none}.bstw-loading{position:absolute;left:0;right:0;top:0;bottom:0;background-color:#fff;background-image:url(../../../../wp-admin/images/loading.gif);background-position:center center;background-repeat:no-repeat;z-index:100000;display:none;opacity:.5}#wp-black-studio-tinymce-widget-wrap{display:none}div[id*=black-studio-tinymce] .wp-editor-wrap{margin-bottom:1em}#available-widgets [class*=black-studio-tinymce] .widget-title:before{content:"\f116"}.wp-customizer .mce-floatpanel.mce-popover{z-index:500000!important}div[id*=black-studio-tinymce] .mce-wp-fullscreen{display:none}.ui-dialog.panels-admin-dialog{z-index:100002!important}#TB_overlay,#TB_window{z-index:999999!important}.media-modal{z-index:1000100!important}body.wait,body.wait *{cursor:wait!important}#zedity_content_overlay{z-index:100000!important}.mce-rtl .mce-colorbutton button{padding-right:3px!important;padding-left:3px!important}.mce-rtl .mce-colorbutton .mce-preview{margin:0!important;padding:0!important}
1
+ /* Black Studio TinyMCE Widget - v2.2.1 */
2
.bstw-links{font-size:11px;margin-top:-3px;text-align:right;position:absolute;right:18px}.rtl .bstw-links{text-align:left;right:auto;left:18px}.bstw-links .icon16:before{padding:0}.bstw-links .icon16{float:right;padding:3px 6px;margin:-6px -8px 0 -2px}.rtl .bstw-links .icon16{float:left;margin:-6px -2px 0 -8px}.bstw-links .bstw-links-list{display:none}.bstw-links a{text-decoration:none}.bstw-loading{position:absolute;left:0;right:0;top:0;bottom:0;background-color:#fff;background-image:url(../../../../wp-admin/images/loading.gif);background-position:center center;background-repeat:no-repeat;z-index:100000;display:none;opacity:.5}#wp-black-studio-tinymce-widget-wrap{display:none}div[id*=black-studio-tinymce] .wp-editor-wrap{margin-bottom:1em}#available-widgets [class*=black-studio-tinymce] .widget-title:before{content:"\f116"}.wp-customizer .mce-floatpanel.mce-popover{z-index:500000!important}div[id*=black-studio-tinymce] .mce-wp-fullscreen{display:none}.ui-dialog.panels-admin-dialog{z-index:100002!important}#TB_overlay,#TB_window{z-index:999999!important}.media-modal{z-index:1000100!important}body.wait,body.wait *{cursor:wait!important}#zedity_content_overlay{z-index:100000!important}.mce-rtl .mce-colorbutton button{padding-right:3px!important;padding-left:3px!important}.mce-rtl .mce-colorbutton .mce-preview{margin:0!important;padding:0!important}
includes/class-admin.php CHANGED
@@ -61,7 +61,6 @@ if ( ! class_exists( 'Black_Studio_TinyMCE_Admin' ) ) {
61
// Register action and filter hooks
62
add_action( 'plugins_loaded', array( $this, 'load_textdomain' ) );
63
add_action( 'admin_init', array( $this, 'admin_init' ), 20 );
64
- add_filter( 'wp_default_editor', array( $this, 'editor_accessibility_mode' ) );
65
}
66
67
/**
@@ -122,6 +121,7 @@ if ( ! class_exists( 'Black_Studio_TinyMCE_Admin' ) ) {
122
add_action( 'black_studio_tinymce_before_editor', array( $this, 'display_links' ) ); // consider donating if you remove links
123
add_action( 'black_studio_tinymce_editor', array( $this, 'editor' ), 10, 4 );
124
add_action( 'black_studio_tinymce_after_editor', array( $this, 'fix_the_editor_content_filter' ) );
125
add_filter( 'wp_editor_settings', array( $this, 'editor_settings' ), 5, 2 );
126
add_filter( 'tiny_mce_before_init', array( $this, 'tinymce_fix_rtl' ), 10 );
127
add_filter( 'tiny_mce_before_init', array( $this, 'tinymce_fullscreen' ), 10, 2 );
@@ -289,6 +289,18 @@ if ( ! class_exists( 'Black_Studio_TinyMCE_Admin' ) ) {
289
remove_filter( 'the_editor_content', 'wp_richedit_pre' );
290
}
291
292
/**
293
* Set editor settings
294
*
@@ -311,22 +323,6 @@ if ( ! class_exists( 'Black_Studio_TinyMCE_Admin' ) ) {
311
return $settings;
312
}
313
314
- /**
315
- * Edit widgets in accessibility mode
316
- *
317
- * @global string $pagenow
318
- * @param string $editor
319
- * @return string
320
- * @since 2.0.0
321
- */
322
- public function editor_accessibility_mode( $editor ) {
323
- global $pagenow;
324
- if ( $pagenow == 'widgets.php' && isset( $_GET['editwidget'] ) && strpos( $_GET['editwidget'], 'black-studio-tinymce' ) === 0 ) {
325
- $editor = 'html';
326
- }
327
- return $editor;
328
- }
329
-
330
/**
331
* Initialize plugin links
332
*
61
// Register action and filter hooks
62
add_action( 'plugins_loaded', array( $this, 'load_textdomain' ) );
63
add_action( 'admin_init', array( $this, 'admin_init' ), 20 );
64
}
65
66
/**
121
add_action( 'black_studio_tinymce_before_editor', array( $this, 'display_links' ) ); // consider donating if you remove links
122
add_action( 'black_studio_tinymce_editor', array( $this, 'editor' ), 10, 4 );
123
add_action( 'black_studio_tinymce_after_editor', array( $this, 'fix_the_editor_content_filter' ) );
124
+ add_action( 'wp_tiny_mce_init', array( $this, 'wp_tiny_mce_init' ) );
125
add_filter( 'wp_editor_settings', array( $this, 'editor_settings' ), 5, 2 );
126
add_filter( 'tiny_mce_before_init', array( $this, 'tinymce_fix_rtl' ), 10 );
127
add_filter( 'tiny_mce_before_init', array( $this, 'tinymce_fullscreen' ), 10, 2 );
289
remove_filter( 'the_editor_content', 'wp_richedit_pre' );
290
}
291
292
+ /**
293
+ * Setup editor instance for event handling
294
+ *
295
+ * @return void
296
+ * @since 2.2.1
297
+ */
298
+ function wp_tiny_mce_init() {
299
+ $script = 'black-studio-tinymce-widget-setup';
300
+ $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
301
+ echo "\t\t" . '<script type="text/javascript" src="' . plugins_url( 'js/' . $script . $suffix . '.js', dirname( __FILE__ ) ) . '"></script>' . "\n"; // xss ok
302
+ }
303
+
304
/**
305
* Set editor settings
306
*
323
return $settings;
324
}
325
326
/**
327
* Initialize plugin links
328
*
includes/class-compatibility-plugins.php CHANGED
@@ -218,7 +218,6 @@ if ( ! class_exists( 'Black_Studio_TinyMCE_Compatibility_Plugins' ) ) {
218
add_filter( 'black_studio_tinymce_activate_events', array( $this, 'siteorigin_panels_activate_events' ) );
219
add_filter( 'black_studio_tinymce_deactivate_events', array( $this, 'siteorigin_panels_deactivate_events' ) );
220
add_filter( 'black_studio_tinymce_enable_pages', array( $this, 'siteorigin_panels_enable_pages' ) );
221
- add_filter( 'wp_editor_settings', array( $this, 'siteorigin_panels_editor_settings' ), 20, 2 );
222
remove_filter( 'widget_text', array( bstw()->text_filters(), 'wpautop' ), 8 );
223
}
224
}
@@ -288,29 +287,6 @@ if ( ! class_exists( 'Black_Studio_TinyMCE_Compatibility_Plugins' ) ) {
288
}
289
return $pages;
290
}
291
-
292
- /**
293
- * Editor settings for use within Page Builder (SiteOrigin Panels)
294
- *
295
- * @return void
296
- * @since 2.0.0
297
- */
298
- public function siteorigin_panels_editor_settings( $settings, $editor_id ) {
299
- // Allow initialization of main page/post editor instances
300
- if ( strstr( $editor_id, 'black-studio-tinymce' ) === false ) {
301
- if ( ! empty( $settings['tinymce'] ) ) {
302
- if ( ! is_array( $settings['tinymce'] ) ) {
303
- $settings['tinymce'] = array();
304
- }
305
- $settings['tinymce']['wp_skip_init'] = false ;
306
- }
307
- }
308
- // Prevent wpautop on editor instances inside Page Builder
309
- if ( $editor_id == 'widget-black-studio-tinymce-{$id}-text' ) {
310
- $settings['default_editor'] = 'html';
311
- }
312
- return $settings;
313
- }
314
315
/**
316
* Disable old compatibility code provided by Page Builder (SiteOrigin Panels)
218
add_filter( 'black_studio_tinymce_activate_events', array( $this, 'siteorigin_panels_activate_events' ) );
219
add_filter( 'black_studio_tinymce_deactivate_events', array( $this, 'siteorigin_panels_deactivate_events' ) );
220
add_filter( 'black_studio_tinymce_enable_pages', array( $this, 'siteorigin_panels_enable_pages' ) );
221
remove_filter( 'widget_text', array( bstw()->text_filters(), 'wpautop' ), 8 );
222
}
223
}
287
}
288
return $pages;
289
}
290
291
/**
292
* Disable old compatibility code provided by Page Builder (SiteOrigin Panels)
includes/class-text-filters.php CHANGED
@@ -76,7 +76,7 @@ if ( ! class_exists( 'Black_Studio_TinyMCE_Text_Filters' ) ) {
76
* Apply wp_kses to widget text
77
*
78
* @uses wp_kses_post()
79
- *
80
* @param string $text
81
* @return string
82
* @since 2.0.0
@@ -126,7 +126,7 @@ if ( ! class_exists( 'Black_Studio_TinyMCE_Text_Filters' ) ) {
126
* Check if automatic addition of paragraphs in widget text is needed
127
*
128
* @uses apply_filters()
129
- *
130
* @param mixed[] $instance
131
* @return boolean
132
* @since 2.1.0
@@ -140,12 +140,12 @@ if ( ! class_exists( 'Black_Studio_TinyMCE_Text_Filters' ) ) {
140
$need_wpautop = apply_filters( 'black_studio_tinymce_need_wpautop', $need_wpautop, $instance );
141
return $need_wpautop;
142
}
143
-
144
/**
145
* Apply automatic paragraphs in widget text
146
*
147
* @uses wpautop()
148
- *
149
* @param string $text
150
* @param mixed[]|null $instance
151
* @param object|null $widget
@@ -165,7 +165,7 @@ if ( ! class_exists( 'Black_Studio_TinyMCE_Text_Filters' ) ) {
165
* Process shortcodes in widget text
166
*
167
* @uses do_shortcode()
168
- *
169
* @param string $text
170
* @return string
171
* @since 2.0.0
76
* Apply wp_kses to widget text
77
*
78
* @uses wp_kses_post()
79
+ *
80
* @param string $text
81
* @return string
82
* @since 2.0.0
126
* Check if automatic addition of paragraphs in widget text is needed
127
*
128
* @uses apply_filters()
129
+ *
130
* @param mixed[] $instance
131
* @return boolean
132
* @since 2.1.0
140
$need_wpautop = apply_filters( 'black_studio_tinymce_need_wpautop', $need_wpautop, $instance );
141
return $need_wpautop;
142
}
143
+
144
/**
145
* Apply automatic paragraphs in widget text
146
*
147
* @uses wpautop()
148
+ *
149
* @param string $text
150
* @param mixed[]|null $instance
151
* @param object|null $widget
165
* Process shortcodes in widget text
166
*
167
* @uses do_shortcode()
168
+ *
169
* @param string $text
170
* @return string
171
* @since 2.0.0
js/black-studio-tinymce-widget-pointer.min.js CHANGED
@@ -1,2 +1,2 @@
1
- /* Black Studio TinyMCE Widget - v2.2.0 */
2
jQuery(document).ready(function(a){function b(b){var c=bstw_pointers.pointers[b],d=a.extend(c.options,{close:function(){a.post(ajaxurl,{pointer:c.pointer_id,action:"dismiss-wp-pointer"})}});a(c.target).pointer(d).pointer("open")}b(0)});
1
+ /* Black Studio TinyMCE Widget - v2.2.1 */
2
jQuery(document).ready(function(a){function b(b){var c=bstw_pointers.pointers[b],d=a.extend(c.options,{close:function(){a.post(ajaxurl,{pointer:c.pointer_id,action:"dismiss-wp-pointer"})}});a(c.target).pointer(d).pointer("open")}b(0)});
js/black-studio-tinymce-widget-pre33.min.js CHANGED
@@ -1,2 +1,2 @@
1
- /* Black Studio TinyMCE Widget - v2.2.0 */
2
!function(a){function b(c){var d=null;return"string"==typeof c?d=c:"object"==typeof c&&c instanceof jQuery&&(d=a("textarea[id^=widget-black-studio-tinymce]",c.closest(bstw_data.container_selectors)).attr("id")),{activate:function(){if(a("#"+d).addClass("mceEditor"),"object"==typeof tinymce&&"function"==typeof tinymce.execCommand){this.deactivate();try{tinymce.execCommand("mceAddControl",!1,d)}catch(b){window.alert(b)}}return this},deactivate:function(){if("object"==typeof tinymce&&"function"==typeof tinymce.execCommand&&this.is_tinymce_active()){var b=tinymce.get(d).getContent();tinymce.get(d).remove(),a("#"+d).val(b)}return this},activate_after_open:function(){return"visual"===this.get_mode()&&(0===a("div.widget:has(#"+d+") :animated").size()&&!this.is_tinymce_active()&&this.is_textearea_visible()?this.set_mode("visual"):this.is_tinymce_active()?this.set_mode("visual"):setTimeout(function(){b(d).activate_after_open()},100)),this},activate_after_ajax:function(){return"visual"===this.get_mode()&&(0===a.active&&!this.is_tinymce_active()&&this.is_textearea_visible()?this.set_mode("visual"):this.is_widget_inside_visible()&&!this.is_tinymce_active()&&setTimeout(function(){b(d).activate_after_ajax()},100)),this},get_widget:function(){return a("#"+d).closest("div.widget")},get_widget_inside:function(){return a("#"+d).closest("div.widget-inside")},get_editor_wrap:function(){return a("#"+d).closest("div.wp-editor-wrap")},get_textarea:function(){return a("#"+d)},get_id:function(){return d},get_tinymce:function(){return tinymce.get(d)},get_mode:function(){return a("input[id^=widget-black-studio-tinymce][id$=type]",this.get_widget_inside()).val()},set_mode:function(b){return"visual"===b&&(this.get_editor_wrap().removeClass("html-active").addClass("tmce-active"),this.activate()),"html"===b&&(this.get_editor_wrap().removeClass("tmce-active").addClass("html-active"),this.deactivate()),a("input[id^=widget-black-studio-tinymce][id$=type]",this.get_widget_inside()).val(b),this},is_tinymce_active:function(){return"object"==typeof tinymce&&"object"==typeof tinymce.get(d)&&null!==tinymce.get(d)},is_textearea_visible:function(){return a("#"+d).is(":visible")},is_widget_inside_visible:function(){return a(" div.widget-inside:has(#"+d+")").is(":visible")},check_duplicates:function(){return a('[name="'+this.get_textarea().attr("name")+'"]').size()>1&&0===a("div.error",this.get_widget_inside()).length&&this.get_widget_inside().prepend('<div class="error"><strong>'+bstw_data.error_duplicate_id+"</strong></div>"),this},fix_css:function(){return this.get_widget().css("position","relative").css("z-index","100000"),a("#wpbody-content").css("overflow","visible"),this},set_media_target:function(){return a(".insert-media",this.get_widget()).data("editor",d),this}}}a(document).ready(function(){a("div.widget[id*=black-studio-tinymce] .widget-title, div.widget[id*=black-studio-tinymce] a.widget-action").live("click",function(){b(a(this)).check_duplicates().fix_css().set_media_target().activate_after_open(),a("input[name=savewidget]",b(a(this)).get_widget()).click(function(){b(a(this)).is_tinymce_active()&&b(a(this)).deactivate(),a(this).unbind("ajaxSuccess").ajaxSuccess(function(){b(a(this)).activate_after_ajax()})})}),a("div.widget[id*=black-studio-tinymce] input[name=savewidget]").live("click",function(){b(a(this)).is_tinymce_active()&&b(a(this)).deactivate(),a(this).unbind("ajaxSuccess").ajaxSuccess(function(){b(a(this)).activate_after_ajax()})}),a("a[id^=widget-black-studio-tinymce][id$=tmce]").live("click",function(){b(a(this)).set_mode("visual")}),a("a[id^=widget-black-studio-tinymce][id$=html]").live("click",function(){b(a(this)).set_mode("html")}),a(".wp-media-buttons a").live("click",function(){edCanvas=b(a(this)).get_textarea().get(),wpActiveEditor=b(a(this)).get_id()}),a("body.widgets_access").size()>0&&b(a("textarea[id^=widget-black-studio-tinymce]").attr("id")).activate_after_open(),a(".bstw-links-icon").live("click",function(b){b.preventDefault(),a(this).closest(".bstw-links").children(".bstw-links-list").toggle()})})}(jQuery);
1
+ /* Black Studio TinyMCE Widget - v2.2.1 */
2
!function(a){function b(c){var d=null;return"string"==typeof c?d=c:"object"==typeof c&&c instanceof jQuery&&(d=a("textarea[id^=widget-black-studio-tinymce]",c.closest(bstw_data.container_selectors)).attr("id")),{activate:function(){if(a("#"+d).addClass("mceEditor"),"object"==typeof tinymce&&"function"==typeof tinymce.execCommand){this.deactivate();try{tinymce.execCommand("mceAddControl",!1,d)}catch(b){window.alert(b)}}return this},deactivate:function(){if("object"==typeof tinymce&&"function"==typeof tinymce.execCommand&&this.is_tinymce_active()){var b=tinymce.get(d).getContent();tinymce.get(d).remove(),a("#"+d).val(b)}return this},activate_after_open:function(){return"visual"===this.get_mode()&&(0===a("div.widget:has(#"+d+") :animated").size()&&!this.is_tinymce_active()&&this.is_textearea_visible()?this.set_mode("visual"):this.is_tinymce_active()?this.set_mode("visual"):setTimeout(function(){b(d).activate_after_open()},100)),this},activate_after_ajax:function(){return"visual"===this.get_mode()&&(0===a.active&&!this.is_tinymce_active()&&this.is_textearea_visible()?this.set_mode("visual"):this.is_widget_inside_visible()&&!this.is_tinymce_active()&&setTimeout(function(){b(d).activate_after_ajax()},100)),this},get_widget:function(){return a("#"+d).closest("div.widget")},get_widget_inside:function(){return a("#"+d).closest("div.widget-inside")},get_editor_wrap:function(){return a("#"+d).closest("div.wp-editor-wrap")},get_textarea:function(){return a("#"+d)},get_id:function(){return d},get_tinymce:function(){return tinymce.get(d)},get_mode:function(){return a("input[id^=widget-black-studio-tinymce][id$=type]",this.get_widget_inside()).val()},set_mode:function(b){return"visual"===b&&(this.get_editor_wrap().removeClass("html-active").addClass("tmce-active"),this.activate()),"html"===b&&(this.get_editor_wrap().removeClass("tmce-active").addClass("html-active"),this.deactivate()),a("input[id^=widget-black-studio-tinymce][id$=type]",this.get_widget_inside()).val(b),this},is_tinymce_active:function(){return"object"==typeof tinymce&&"object"==typeof tinymce.get(d)&&null!==tinymce.get(d)},is_textearea_visible:function(){return a("#"+d).is(":visible")},is_widget_inside_visible:function(){return a(" div.widget-inside:has(#"+d+")").is(":visible")},check_duplicates:function(){return a('[name="'+this.get_textarea().attr("name")+'"]').size()>1&&0===a("div.error",this.get_widget_inside()).length&&this.get_widget_inside().prepend('<div class="error"><strong>'+bstw_data.error_duplicate_id+"</strong></div>"),this},fix_css:function(){return this.get_widget().css("position","relative").css("z-index","100000"),a("#wpbody-content").css("overflow","visible"),this},set_media_target:function(){return a(".insert-media",this.get_widget()).data("editor",d),this}}}a(document).ready(function(){a("div.widget[id*=black-studio-tinymce] .widget-title, div.widget[id*=black-studio-tinymce] a.widget-action").live("click",function(){b(a(this)).check_duplicates().fix_css().set_media_target().activate_after_open(),a("input[name=savewidget]",b(a(this)).get_widget()).click(function(){b(a(this)).is_tinymce_active()&&b(a(this)).deactivate(),a(this).unbind("ajaxSuccess").ajaxSuccess(function(){b(a(this)).activate_after_ajax()})})}),a("div.widget[id*=black-studio-tinymce] input[name=savewidget]").live("click",function(){b(a(this)).is_tinymce_active()&&b(a(this)).deactivate(),a(this).unbind("ajaxSuccess").ajaxSuccess(function(){b(a(this)).activate_after_ajax()})}),a("a[id^=widget-black-studio-tinymce][id$=tmce]").live("click",function(){b(a(this)).set_mode("visual")}),a("a[id^=widget-black-studio-tinymce][id$=html]").live("click",function(){b(a(this)).set_mode("html")}),a(".wp-media-buttons a").live("click",function(){edCanvas=b(a(this)).get_textarea().get(),wpActiveEditor=b(a(this)).get_id()}),a("body.widgets_access").size()>0&&b(a("textarea[id^=widget-black-studio-tinymce]").attr("id")).activate_after_open(),a(".bstw-links-icon").live("click",function(b){b.preventDefault(),a(this).closest(".bstw-links").children(".bstw-links-list").toggle()})})}(jQuery);
js/black-studio-tinymce-widget-pre39.min.js CHANGED
@@ -1,2 +1,2 @@
1
- /* Black Studio TinyMCE Widget - v2.2.0 */
2
!function(a){function b(c){var d=null;return"string"==typeof c?d=c:"object"==typeof c&&c instanceof jQuery&&(d=a("textarea[id^=widget-black-studio-tinymce]",c.closest(bstw_data.container_selectors)).attr("id")),{activate:function(){if(a("#"+d).addClass("mceEditor"),"object"==typeof tinymce&&"function"==typeof tinymce.execCommand){this.deactivate(),tinyMCEPreInit.mceInit[d]=tinyMCEPreInit.mceInit["black-studio-tinymce-widget"],tinyMCEPreInit.mceInit[d].selector="#"+d;try{tinymce.init(tinymce.extend({},tinyMCEPreInit.mceInit["black-studio-tinymce-widget"],tinyMCEPreInit.mceInit[d])),tinymce.execCommand("mceAddControl",!1,d)}catch(b){window.alert(b)}this.is_tinymce_active()&&"function"==typeof tinymce.get(d).on&&tinymce.get(d).on("keyup change",function(){var b=tinymce.get(d).getContent();a("#"+d).val(b).change()})}return this},deactivate:function(){if("object"==typeof tinymce&&"function"==typeof tinymce.execCommand&&this.is_tinymce_active()){var b=tinymce.get(d).getContent();tinymce.get(d).remove(),a("#"+d).val(b)}return this},activate_after_open:function(){return"visual"===this.get_mode()&&(0===a("div.widget:has(#"+d+") :animated").size()&&!this.is_tinymce_active()&&this.is_textearea_visible()?this.set_mode("visual"):this.is_tinymce_active()?this.set_mode("visual"):setTimeout(function(){b(d).activate_after_open()},100)),this},activate_after_ajax:function(){return"visual"===this.get_mode()&&(0===a.active&&!this.is_tinymce_active()&&this.is_textearea_visible()?this.set_mode("visual"):this.is_widget_inside_visible()&&!this.is_tinymce_active()&&setTimeout(function(){b(d).activate_after_ajax()},100)),this},get_widget:function(){return a("#"+d).closest("div.widget")},get_widget_inside:function(){return a("#"+d).closest("div.widget-inside")},get_editor_wrap:function(){return a("#"+d).closest("div.wp-editor-wrap")},get_textarea:function(){return a("#"+d)},get_id:function(){return d},get_tinymce:function(){return tinymce.get(d)},get_mode:function(){return a("input[id^=widget-black-studio-tinymce][id$=type]",this.get_widget_inside()).val()},set_mode:function(b){return"visual"===b&&(this.get_editor_wrap().removeClass("html-active").addClass("tmce-active"),this.activate()),"html"===b&&(this.get_editor_wrap().removeClass("tmce-active").addClass("html-active"),this.deactivate()),a("input[id^=widget-black-studio-tinymce][id$=type]",this.get_widget_inside()).val(b),this},is_tinymce_active:function(){return"object"==typeof tinymce&&"object"==typeof tinymce.get(d)&&null!==tinymce.get(d)},is_textearea_visible:function(){return a("#"+d).is(":visible")},is_widget_inside_visible:function(){return a(" div.widget-inside:has(#"+d+")").is(":visible")},check_duplicates:function(){return a('[name="'+this.get_textarea().attr("name")+'"]').size()>1&&0===a("div.error",this.get_widget_inside()).length&&this.get_widget_inside().prepend('<div class="error"><strong>'+bstw_data.error_duplicate_id+"</strong></div>"),this},fix_css:function(){return this.get_widget().css("position","relative").css("z-index","100000"),a("#wpbody-content").css("overflow","visible"),this},set_media_target:function(){return a(".insert-media",this.get_widget()).data("editor",d),this}}}a(document).ready(function(){a(document).on("click","div.widget[id*=black-studio-tinymce] .widget-title, div.widget[id*=black-studio-tinymce] a.widget-action",function(){if(b(a(this)).check_duplicates().fix_css().set_media_target().activate_after_open(),a("input[name=savewidget]",b(a(this)).get_widget()).on("click",function(){b(a(this)).is_tinymce_active()&&b(a(this)).deactivate(),a(this).unbind("ajaxSuccess").ajaxSuccess(function(){b(a(this)).activate_after_ajax()})}),!a(this).parents("#available-widgets").length){var c,d=parseInt(a("input[name=widget-width]",b(a(this)).get_widget()).val(),10),e=a(window).width(),f=b(a(this)).get_widget().parent().width(),g=parseInt(a("#wpcontent").css("margin-left"),10),h=!("undefined"==typeof isRtl||!isRtl);d+g+30>e&&(c=b(a(this)).get_widget().closest("div.widget-liquid-right").length?h?"margin-right":"margin-left":h?"margin-left":"margin-right",a(b(a(this)).get_widget()).css(c,f-(e-30-g)+"px"))}}),a("div.widget[id*=black-studio-tinymce] input[name=savewidget]").on("click",function(){b(a(this)).is_tinymce_active()&&b(a(this)).deactivate(),a(this).unbind("ajaxSuccess").ajaxSuccess(function(){b(a(this)).activate_after_ajax()})}),a(document).on("click","a[id^=widget-black-studio-tinymce][id$=tmce]",function(){b(a(this)).set_mode("visual")}),a(document).on("click","a[id^=widget-black-studio-tinymce][id$=html]",function(){b(a(this)).set_mode("html")}),a(document).on("widget-added",function(a,c){c.is("[id*=black-studio-tinymce]")&&(a.preventDefault(),b(c).activate_after_open())}),a(document).on("click",".wp-media-buttons a",function(){window.wpActiveEditor=b(a(this)).get_id()}),a("body.widgets_access").size()>0&&b(a("textarea[id^=widget-black-studio-tinymce]").attr("id")).activate_after_open(),a(document).on("click",".bstw-links-icon",function(b){b.preventDefault(),a(this).closest(".bstw-links").children(".bstw-links-list").toggle()})})}(jQuery);
1
+ /* Black Studio TinyMCE Widget - v2.2.1 */
2
!function(a){function b(c){var d=null;return"string"==typeof c?d=c:"object"==typeof c&&c instanceof jQuery&&(d=a("textarea[id^=widget-black-studio-tinymce]",c.closest(bstw_data.container_selectors)).attr("id")),{activate:function(){if(a("#"+d).addClass("mceEditor"),"object"==typeof tinymce&&"function"==typeof tinymce.execCommand){this.deactivate(),tinyMCEPreInit.mceInit[d]=tinyMCEPreInit.mceInit["black-studio-tinymce-widget"],tinyMCEPreInit.mceInit[d].selector="#"+d;try{tinymce.init(tinymce.extend({},tinyMCEPreInit.mceInit["black-studio-tinymce-widget"],tinyMCEPreInit.mceInit[d])),tinymce.execCommand("mceAddControl",!1,d)}catch(b){window.alert(b)}this.is_tinymce_active()&&"function"==typeof tinymce.get(d).on&&tinymce.get(d).on("keyup change",function(){var b=tinymce.get(d).getContent();a("#"+d).val(b).change()})}return this},deactivate:function(){if("object"==typeof tinymce&&"function"==typeof tinymce.execCommand&&this.is_tinymce_active()){var b=tinymce.get(d).getContent();tinymce.get(d).remove(),a("#"+d).val(b)}return this},activate_after_open:function(){return"visual"===this.get_mode()&&(0===a("div.widget:has(#"+d+") :animated").size()&&!this.is_tinymce_active()&&this.is_textearea_visible()?this.set_mode("visual"):this.is_tinymce_active()?this.set_mode("visual"):setTimeout(function(){b(d).activate_after_open()},100)),this},activate_after_ajax:function(){return"visual"===this.get_mode()&&(0===a.active&&!this.is_tinymce_active()&&this.is_textearea_visible()?this.set_mode("visual"):this.is_widget_inside_visible()&&!this.is_tinymce_active()&&setTimeout(function(){b(d).activate_after_ajax()},100)),this},get_widget:function(){return a("#"+d).closest("div.widget")},get_widget_inside:function(){return a("#"+d).closest("div.widget-inside")},get_editor_wrap:function(){return a("#"+d).closest("div.wp-editor-wrap")},get_textarea:function(){return a("#"+d)},get_id:function(){return d},get_tinymce:function(){return tinymce.get(d)},get_mode:function(){return a("input[id^=widget-black-studio-tinymce][id$=type]",this.get_widget_inside()).val()},set_mode:function(b){return"visual"===b&&(this.get_editor_wrap().removeClass("html-active").addClass("tmce-active"),this.activate()),"html"===b&&(this.get_editor_wrap().removeClass("tmce-active").addClass("html-active"),this.deactivate()),a("input[id^=widget-black-studio-tinymce][id$=type]",this.get_widget_inside()).val(b),this},is_tinymce_active:function(){return"object"==typeof tinymce&&"object"==typeof tinymce.get(d)&&null!==tinymce.get(d)},is_textearea_visible:function(){return a("#"+d).is(":visible")},is_widget_inside_visible:function(){return a(" div.widget-inside:has(#"+d+")").is(":visible")},check_duplicates:function(){return a('[name="'+this.get_textarea().attr("name")+'"]').size()>1&&0===a("div.error",this.get_widget_inside()).length&&this.get_widget_inside().prepend('<div class="error"><strong>'+bstw_data.error_duplicate_id+"</strong></div>"),this},fix_css:function(){return this.get_widget().css("position","relative").css("z-index","100000"),a("#wpbody-content").css("overflow","visible"),this},set_media_target:function(){return a(".insert-media",this.get_widget()).data("editor",d),this}}}a(document).ready(function(){a(document).on("click","div.widget[id*=black-studio-tinymce] .widget-title, div.widget[id*=black-studio-tinymce] a.widget-action",function(){if(b(a(this)).check_duplicates().fix_css().set_media_target().activate_after_open(),a("input[name=savewidget]",b(a(this)).get_widget()).on("click",function(){b(a(this)).is_tinymce_active()&&b(a(this)).deactivate(),a(this).unbind("ajaxSuccess").ajaxSuccess(function(){b(a(this)).activate_after_ajax()})}),!a(this).parents("#available-widgets").length){var c,d=parseInt(a("input[name=widget-width]",b(a(this)).get_widget()).val(),10),e=a(window).width(),f=b(a(this)).get_widget().parent().width(),g=parseInt(a("#wpcontent").css("margin-left"),10),h=!("undefined"==typeof isRtl||!isRtl);d+g+30>e&&(c=b(a(this)).get_widget().closest("div.widget-liquid-right").length?h?"margin-right":"margin-left":h?"margin-left":"margin-right",a(b(a(this)).get_widget()).css(c,f-(e-30-g)+"px"))}}),a("div.widget[id*=black-studio-tinymce] input[name=savewidget]").on("click",function(){b(a(this)).is_tinymce_active()&&b(a(this)).deactivate(),a(this).unbind("ajaxSuccess").ajaxSuccess(function(){b(a(this)).activate_after_ajax()})}),a(document).on("click","a[id^=widget-black-studio-tinymce][id$=tmce]",function(){b(a(this)).set_mode("visual")}),a(document).on("click","a[id^=widget-black-studio-tinymce][id$=html]",function(){b(a(this)).set_mode("html")}),a(document).on("widget-added",function(a,c){c.is("[id*=black-studio-tinymce]")&&(a.preventDefault(),b(c).activate_after_open())}),a(document).on("click",".wp-media-buttons a",function(){window.wpActiveEditor=b(a(this)).get_id()}),a("body.widgets_access").size()>0&&b(a("textarea[id^=widget-black-studio-tinymce]").attr("id")).activate_after_open(),a(document).on("click",".bstw-links-icon",function(b){b.preventDefault(),a(this).closest(".bstw-links").children(".bstw-links-list").toggle()})})}(jQuery);
js/black-studio-tinymce-widget-setup.js ADDED
@@ -0,0 +1,24 @@
1
+ /* Black Studio TinyMCE Widget - JS - Editor setup */
2
+
3
+ /* global bstw, tinyMCEPreInit */
4
+
5
+ ( function( $ ) {
6
+
7
+ function bstw_editor_setup( ed ) {
8
+ ed.on( 'keyup change', function() {
9
+ if ( bstw( ed.id ).get_mode() === 'visual' ) {
10
+ bstw( ed.id ).update_content();
11
+ }
12
+ $( '#' + ed.id ).change();
13
+ });
14
+ $( '#' + ed.id ).addClass( 'active' ).removeClass( 'activating' );
15
+ }
16
+
17
+ var id;
18
+ for ( id in tinyMCEPreInit.mceInit ) {
19
+ if ( id.search( 'black-studio-tinymce' ) >= 0 ) {
20
+ tinyMCEPreInit.mceInit[ id ].setup = bstw_editor_setup;
21
+ }
22
+ }
23
+
24
+ }( jQuery ));
js/black-studio-tinymce-widget-setup.min.js ADDED
@@ -0,0 +1,2 @@
1
+ /* Black Studio TinyMCE Widget - v2.2.1 */
2
+ !function(a){function b(b){b.on("keyup change",function(){"visual"===bstw(b.id).get_mode()&&bstw(b.id).update_content(),a("#"+b.id).change()}),a("#"+b.id).addClass("active").removeClass("activating")}var c;for(c in tinyMCEPreInit.mceInit)c.search("black-studio-tinymce")>=0&&(tinyMCEPreInit.mceInit[c].setup=b)}(jQuery);
js/black-studio-tinymce-widget.js CHANGED
@@ -24,29 +24,30 @@ var bstw;
24
return {
25
26
// Activate editor
27
- activate: function () {
28
if ( ! $( '#' + id ).hasClass( 'active' ) && ! $( '#' + id ).hasClass( 'activating' )) {
29
$( '#' + id ).addClass( 'activating' );
30
if ( ! this.is_quicktags_configured() ) {
31
- tinyMCEPreInit.qtInit[id] = tinyMCEPreInit.qtInit['black-studio-tinymce-widget'];
32
- tinyMCEPreInit.qtInit[id].id = id;
33
}
34
if ( ! this.is_quicktags_active() ) {
35
var prevInstances, newInstance;
36
prevInstances = QTags.instances;
37
QTags.instances = [];
38
- quicktags( tinyMCEPreInit.qtInit[id] );
39
QTags._buttonsInit();
40
- newInstance = QTags.instances[id];
41
QTags.instances = prevInstances;
42
- QTags.instances[id] = newInstance;
43
}
44
if ( ! this.is_tinymce_configured() ) {
45
- tinyMCEPreInit.mceInit[id] = tinyMCEPreInit.mceInit['black-studio-tinymce-widget'];
46
- tinyMCEPreInit.mceInit[id].selector = '#' + id;
47
}
48
if ( ! this.is_tinymce_active() && this.get_mode() === 'visual' ) {
49
- tinyMCEPreInit.mceInit[id].setup = function( ed ) {
50
// Real time preview (Theme customizer)
51
ed.on( 'keyup change', function() {
52
if ( bstw( id ).get_mode() === 'visual' ) {
@@ -56,8 +57,12 @@ var bstw;
56
});
57
$( '#' + id ).addClass( 'active' ).removeClass( 'activating' );
58
};
59
- this.go();
60
- //tinymce.init( tinyMCEPreInit.mceInit[id] );
61
} else {
62
$( '#' + id ).addClass( 'active' ).removeClass( 'activating' );
63
}
@@ -72,14 +77,14 @@ var bstw;
72
tinymce.get( id ).remove();
73
}
74
if ( this.is_tinymce_configured() ) {
75
- delete tinyMCEPreInit.mceInit[id];
76
}
77
if ( this.is_quicktags_active() ) {
78
$( '.quicktags-toolbar', this.get_widget_inside() ).remove();
79
- delete QTags.instances[id];
80
}
81
if ( this.is_quicktags_configured() ) {
82
- delete tinyMCEPreInit.qtInit[id];
83
}
84
$( '#' + id ).removeClass( 'active' );
85
}
@@ -91,13 +96,13 @@ var bstw;
91
var content;
92
if ( this.get_mode() === 'visual' ) {
93
content = tinymce.get( id ).save();
94
- if ( tinyMCEPreInit.mceInit[id].wpautop ) {
95
content = window.switchEditors.pre_wpautop( content );
96
}
97
this.get_textarea().val( content);
98
} else if ( this.is_tinymce_active() ) {
99
content = this.get_textarea().val();
100
- if ( tinyMCEPreInit.mceInit[id].wpautop ) {
101
content = window.switchEditors.wpautop( content );
102
}
103
tinymce.get( id ).setContent( content );
@@ -152,25 +157,25 @@ var bstw;
152
153
// Check if the tinymce instance is configured
154
is_tinymce_configured: function() {
155
- return 'undefined' !== typeof tinyMCEPreInit.mceInit[id];
156
},
157
158
// Check if the quicktags instance is active
159
is_quicktags_active: function() {
160
- return 'object' === typeof QTags.instances[id];
161
},
162
163
// Check if the quicktags instance is configured
164
is_quicktags_configured: function() {
165
- return 'object' === typeof tinyMCEPreInit.qtInit[id];
166
},
167
168
// Checks and settings to run before opening the widget
169
prepare: function() {
170
// Check for widgets with duplicate ids
171
- if ( $( '[name="' + this.get_textarea().attr('name') + '"]' ).size() > 1) {
172
if ( $( 'div.error', this.get_widget_inside() ).length === 0 ) {
173
- this.get_widget_inside().prepend('<div class="error"><strong>' + bstw_data.error_duplicate_id + '</strong></div>');
174
}
175
}
176
// Fix CSS
@@ -209,7 +214,7 @@ var bstw;
209
// Event handler for widget open button
210
$( document ).on( 'click', 'div.widget[id*=black-studio-tinymce] .widget-title, div.widget[id*=black-studio-tinymce] .widget-action', function() {
211
if ( ! $( this ).parents( '#available-widgets' ).length ) {
212
- bstw( $( this ) ).prepare().responsive().activate();
213
// Note: the save event handler is intentionally attached to the save button instead of document
214
// to let the the textarea content be updated before the ajax request starts
215
$( 'input[name=savewidget]', bstw( $( this ) ).get_widget() ).on( 'click', function() {
@@ -270,17 +275,17 @@ var bstw;
270
'body.wp-customizer .expanded > div[id*=black-studio-tinymce].widget', // Theme Customizer
271
'.widget-liquid-right div[id*=black-studio-tinymce].widget.open' // Widgets page
272
];
273
- $( open_widgets_selectors.join( ', ') ).filter( ':has(.widget-inside:visible)' ).each(function() {
274
$( '.widget-title', this ).trigger( 'click' );
275
bstw( $( this ) ).deactivate();
276
});
277
if ( ui.item.is( '[id*=black-studio-tinymce]' ) ){
278
- bstw( ui.item.find('textarea[id^=widget-black-studio-tinymce]' ) ).deactivate();
279
}
280
});
281
$( document ).on( 'sortstop', function( event, ui ) {
282
if ( ui.item.is( '[id*=black-studio-tinymce]' ) ){
283
- bstw( ui.item.find('textarea[id^=widget-black-studio-tinymce]' ) ).activate();
284
}
285
});
286
$( document ).on( 'sortupdate', function( event, ui ) {
@@ -315,11 +320,6 @@ var bstw;
315
});
316
});
317
318
- // Activate editor when in accessibility mode
319
- if ( $( 'body.widgets_access' ).size() > 0 ) {
320
- bstw( $( 'textarea[id^=widget-black-studio-tinymce]' ).attr( 'id' ) ).activate();
321
- }
322
-
323
// Deactivate quicktags toolbar on hidden base instance
324
$( '#qt_widget-black-studio-tinymce-__i__-text_toolbar' ).remove();
325
24
return {
25
26
// Activate editor
27
+ activate: function ( force_init ) {
28
+ force_init = typeof force_init !== 'undefined' ? force_init : true;
29
if ( ! $( '#' + id ).hasClass( 'active' ) && ! $( '#' + id ).hasClass( 'activating' )) {
30
$( '#' + id ).addClass( 'activating' );
31
if ( ! this.is_quicktags_configured() ) {
32
+ tinyMCEPreInit.qtInit[ id ] = tinyMCEPreInit.qtInit['black-studio-tinymce-widget'];
33
+ tinyMCEPreInit.qtInit[ id ].id = id;
34
}
35
if ( ! this.is_quicktags_active() ) {
36
var prevInstances, newInstance;
37
prevInstances = QTags.instances;
38
QTags.instances = [];
39
+ quicktags( tinyMCEPreInit.qtInit[ id ] );
40
QTags._buttonsInit();
41
+ newInstance = QTags.instances[ id ];
42
QTags.instances = prevInstances;
43
+ QTags.instances[ id ] = newInstance;
44
}
45
if ( ! this.is_tinymce_configured() ) {
46
+ tinyMCEPreInit.mceInit[ id ] = tinyMCEPreInit.mceInit['black-studio-tinymce-widget'];
47
+ tinyMCEPreInit.mceInit[ id ].selector = '#' + id;
48
}
49
if ( ! this.is_tinymce_active() && this.get_mode() === 'visual' ) {
50
+ tinyMCEPreInit.mceInit[ id ].setup = function( ed ) {
51
// Real time preview (Theme customizer)
52
ed.on( 'keyup change', function() {
53
if ( bstw( id ).get_mode() === 'visual' ) {
57
});
58
$( '#' + id ).addClass( 'active' ).removeClass( 'activating' );
59
};
60
+ if ( ! force_init ) {
61
+ this.go();
62
+ }
63
+ else {
64
+ tinymce.init( tinyMCEPreInit.mceInit[ id ] );
65
+ }
66
} else {
67
$( '#' + id ).addClass( 'active' ).removeClass( 'activating' );
68
}
77
tinymce.get( id ).remove();
78
}
79
if ( this.is_tinymce_configured() ) {
80
+ delete tinyMCEPreInit.mceInit[ id ];
81
}
82
if ( this.is_quicktags_active() ) {
83
$( '.quicktags-toolbar', this.get_widget_inside() ).remove();
84
+ delete QTags.instances[ id ];
85
}
86
if ( this.is_quicktags_configured() ) {
87
+ delete tinyMCEPreInit.qtInit[ id ];
88
}
89
$( '#' + id ).removeClass( 'active' );
90
}
96
var content;
97
if ( this.get_mode() === 'visual' ) {
98
content = tinymce.get( id ).save();
99
+ if ( tinyMCEPreInit.mceInit[ id ].wpautop ) {
100
content = window.switchEditors.pre_wpautop( content );
101
}
102
this.get_textarea().val( content);
103
} else if ( this.is_tinymce_active() ) {
104
content = this.get_textarea().val();
105
+ if ( tinyMCEPreInit.mceInit[ id ].wpautop ) {
106
content = window.switchEditors.wpautop( content );
107
}
108
tinymce.get( id ).setContent( content );
157
158
// Check if the tinymce instance is configured
159
is_tinymce_configured: function() {
160
+ return 'undefined' !== typeof tinyMCEPreInit.mceInit[ id ];
161
},
162
163
// Check if the quicktags instance is active
164
is_quicktags_active: function() {
165
+ return 'object' === typeof QTags.instances[ id ];
166
},
167
168
// Check if the quicktags instance is configured
169
is_quicktags_configured: function() {
170
+ return 'object' === typeof tinyMCEPreInit.qtInit[ id ];
171
},
172
173
// Checks and settings to run before opening the widget
174
prepare: function() {
175
// Check for widgets with duplicate ids
176
+ if ( $( '[name="' + this.get_textarea().attr( 'name' ) + '"]' ).size() > 1) {
177
if ( $( 'div.error', this.get_widget_inside() ).length === 0 ) {
178
+ this.get_widget_inside().prepend( '<div class="error"><strong>' + bstw_data.error_duplicate_id + '</strong></div>' );
179
}
180
}
181
// Fix CSS
214
// Event handler for widget open button
215
$( document ).on( 'click', 'div.widget[id*=black-studio-tinymce] .widget-title, div.widget[id*=black-studio-tinymce] .widget-action', function() {
216
if ( ! $( this ).parents( '#available-widgets' ).length ) {
217
+ bstw( $( this ) ).prepare().responsive().activate( false );
218
// Note: the save event handler is intentionally attached to the save button instead of document
219
// to let the the textarea content be updated before the ajax request starts
220
$( 'input[name=savewidget]', bstw( $( this ) ).get_widget() ).on( 'click', function() {
275
'body.wp-customizer .expanded > div[id*=black-studio-tinymce].widget', // Theme Customizer
276
'.widget-liquid-right div[id*=black-studio-tinymce].widget.open' // Widgets page
277
];
278
+ $( open_widgets_selectors.join( ', ' ) ).filter( ':has(.widget-inside:visible)' ).each(function() {
279
$( '.widget-title', this ).trigger( 'click' );
280
bstw( $( this ) ).deactivate();
281
});
282
if ( ui.item.is( '[id*=black-studio-tinymce]' ) ){
283
+ bstw( ui.item.find( 'textarea[id^=widget-black-studio-tinymce]' ) ).deactivate();
284
}
285
});
286
$( document ).on( 'sortstop', function( event, ui ) {
287
if ( ui.item.is( '[id*=black-studio-tinymce]' ) ){
288
+ bstw( ui.item.find( 'textarea[id^=widget-black-studio-tinymce]' ) ).activate( false );
289
}
290
});
291
$( document ).on( 'sortupdate', function( event, ui ) {
320
});
321
});
322
323
// Deactivate quicktags toolbar on hidden base instance
324
$( '#qt_widget-black-studio-tinymce-__i__-text_toolbar' ).remove();
325
js/black-studio-tinymce-widget.min.js CHANGED
@@ -1,2 +1,2 @@
1
- /* Black Studio TinyMCE Widget - v2.2.0 */
2
- var bstw;!function(a){bstw=function(b){var c=null;return"string"==typeof b?c=b:"object"==typeof b&&b instanceof jQuery&&(c=a("textarea[id^=widget-black-studio-tinymce][id$=text]",b.closest(bstw_data.container_selectors)).attr("id")),{activate:function(){if(!a("#"+c).hasClass("active")&&!a("#"+c).hasClass("activating")){if(a("#"+c).addClass("activating"),this.is_quicktags_configured()||(tinyMCEPreInit.qtInit[c]=tinyMCEPreInit.qtInit["black-studio-tinymce-widget"],tinyMCEPreInit.qtInit[c].id=c),!this.is_quicktags_active()){var b,d;b=QTags.instances,QTags.instances=[],quicktags(tinyMCEPreInit.qtInit[c]),QTags._buttonsInit(),d=QTags.instances[c],QTags.instances=b,QTags.instances[c]=d}this.is_tinymce_configured()||(tinyMCEPreInit.mceInit[c]=tinyMCEPreInit.mceInit["black-studio-tinymce-widget"],tinyMCEPreInit.mceInit[c].selector="#"+c),this.is_tinymce_active()||"visual"!==this.get_mode()?a("#"+c).addClass("active").removeClass("activating"):(tinyMCEPreInit.mceInit[c].setup=function(b){b.on("keyup change",function(){"visual"===bstw(c).get_mode()&&bstw(c).update_content(),a("#"+c).change()}),a("#"+c).addClass("active").removeClass("activating")},this.go())}return this},deactivate:function(){return a("#"+c).hasClass("activating")||(this.is_tinymce_active()&&tinymce.get(c).remove(),this.is_tinymce_configured()&&delete tinyMCEPreInit.mceInit[c],this.is_quicktags_active()&&(a(".quicktags-toolbar",this.get_widget_inside()).remove(),delete QTags.instances[c]),this.is_quicktags_configured()&&delete tinyMCEPreInit.qtInit[c],a("#"+c).removeClass("active")),this},update_content:function(){var a;return"visual"===this.get_mode()?(a=tinymce.get(c).save(),tinyMCEPreInit.mceInit[c].wpautop&&(a=window.switchEditors.pre_wpautop(a)),this.get_textarea().val(a)):this.is_tinymce_active()&&(a=this.get_textarea().val(),tinyMCEPreInit.mceInit[c].wpautop&&(a=window.switchEditors.wpautop(a)),tinymce.get(c).setContent(a)),this},go:function(a){return"undefined"==typeof a&&(a=this.get_mode()),window.switchEditors.go(c,"visual"===a?"tmce":"html"),this},get_mode:function(){return a("input[id^=widget-black-studio-tinymce][id$=type]",this.get_container()).val()},set_mode:function(b){return a("input[id^=widget-black-studio-tinymce][id$=type]",this.get_container()).val(b),this},get_container:function(){return a("#"+c).closest(bstw_data.container_selectors)},get_widget:function(){return a("#"+c).closest("div.widget")},get_widget_inside:function(){return a("#"+c).closest("div.widget-inside")},get_textarea:function(){return a("#"+c)},is_tinymce_active:function(){return"object"==typeof tinymce&&"object"==typeof tinymce.get(c)&&null!==tinymce.get(c)},is_tinymce_configured:function(){return"undefined"!=typeof tinyMCEPreInit.mceInit[c]},is_quicktags_active:function(){return"object"==typeof QTags.instances[c]},is_quicktags_configured:function(){return"object"==typeof tinyMCEPreInit.qtInit[c]},prepare:function(){return a('[name="'+this.get_textarea().attr("name")+'"]').size()>1&&0===a("div.error",this.get_widget_inside()).length&&this.get_widget_inside().prepend('<div class="error"><strong>'+bstw_data.error_duplicate_id+"</strong></div>"),this.get_widget().css("position","relative").css("z-index","100000"),a("#wpbody-content").css("overflow","visible"),this},responsive:function(){if(this.get_widget_inside().is(":visible")){var b,c=parseInt(a("input[name=widget-width]",this.get_widget()).val(),10),d=a(window).width(),e=this.get_widget().parent().width(),f=parseInt(a("#wpcontent").css("margin-left"),10),g=!("undefined"==typeof isRtl||!isRtl);c+f+30>d&&(b=this.get_widget().closest("div.widget-liquid-right").length?g?"margin-right":"margin-left":g?"margin-left":"margin-right",this.get_widget().css(b,e-(d-30-f)+"px"))}return this}}},a(document).ready(function(){a(document).on("click","div.widget[id*=black-studio-tinymce] .widget-title, div.widget[id*=black-studio-tinymce] .widget-action",function(){a(this).parents("#available-widgets").length||(bstw(a(this)).prepare().responsive().activate(),a("input[name=savewidget]",bstw(a(this)).get_widget()).on("click",function(){var b=a(this).closest(".widget").find(".wp-editor-wrap").height();a(this).closest(".widget").find(".wp-editor-wrap").height(b).append('<div class="bstw-loading"></div>'),a(this).closest(".widget").find(".bstw-loading").height(b).show(),bstw(a(this)).update_content()}))}),a(document).on("widget-added",function(a,b){b.is("[id*=black-studio-tinymce]")&&(a.preventDefault(),bstw(b).activate())}),a(document).on("widget-updated",function(a,b){b.is("[id*=black-studio-tinymce]")&&(a.preventDefault(),bstw(b).deactivate().activate())}),a(document).on("widget-synced",function(a,b){b.is("[id*=black-studio-tinymce]")&&(a.preventDefault(),"visual"===bstw(b).get_mode()&&bstw(b).update_content())}),a(document).on("click","a[id^=widget-black-studio-tinymce][id$=tmce]",function(){bstw(a(this)).set_mode("visual")}),a(document).on("click","a[id^=widget-black-studio-tinymce][id$=html]",function(){bstw(a(this)).set_mode("html")}),a(document).on("click.wp-editor",".wp-editor-wrap",function(){this.id&&(window.wpActiveEditor=this.id.slice(3,-5))}),a(document).on("sortstart",function(b,c){var d=["body.wp-customizer .expanded > div[id*=black-studio-tinymce].widget",".widget-liquid-right div[id*=black-studio-tinymce].widget.open"];a(d.join(", ")).filter(":has(.widget-inside:visible)").each(function(){a(".widget-title",this).trigger("click"),bstw(a(this)).deactivate()}),c.item.is("[id*=black-studio-tinymce]")&&bstw(c.item.find("textarea[id^=widget-black-studio-tinymce]")).deactivate()}),a(document).on("sortstop",function(a,b){b.item.is("[id*=black-studio-tinymce]")&&bstw(b.item.find("textarea[id^=widget-black-studio-tinymce]")).activate()}),a(document).on("sortupdate",function(b,c){null!==b&&a(c.item).is(".ui-draggable")||(a("body").addClass("wait"),setTimeout(function(){a("textarea[id^=widget-black-studio-tinymce].active").each(function(){bstw(a(this)).deactivate()}),a("body").removeClass("wait")},1e3))}),"object"==typeof bstw_data.activate_events&&bstw_data.activate_events.length>0&&a(document).on(bstw_data.activate_events.join(" "),function(b){bstw(a(b.target)).activate()}),"object"==typeof bstw_data.deactivate_events&&bstw_data.deactivate_events.length>0&&a(document).on(bstw_data.deactivate_events.join(" "),function(b){bstw(a(b.target)).deactivate()}),a(window).resize(function(){a("textarea[id^=widget-black-studio-tinymce]").each(function(){bstw(a(this)).responsive()})}),a("body.widgets_access").size()>0&&bstw(a("textarea[id^=widget-black-studio-tinymce]").attr("id")).activate(),a("#qt_widget-black-studio-tinymce-__i__-text_toolbar").remove(),a(document).on("click",".bstw-links-icon",function(b){b.preventDefault(),a(this).closest(".bstw-links").children(".bstw-links-list").toggle()})})}(jQuery);
1
+ /* Black Studio TinyMCE Widget - v2.2.1 */
2
+ var bstw;!function(a){bstw=function(b){var c=null;return"string"==typeof b?c=b:"object"==typeof b&&b instanceof jQuery&&(c=a("textarea[id^=widget-black-studio-tinymce][id$=text]",b.closest(bstw_data.container_selectors)).attr("id")),{activate:function(b){if(b="undefined"!=typeof b?b:!0,!a("#"+c).hasClass("active")&&!a("#"+c).hasClass("activating")){if(a("#"+c).addClass("activating"),this.is_quicktags_configured()||(tinyMCEPreInit.qtInit[c]=tinyMCEPreInit.qtInit["black-studio-tinymce-widget"],tinyMCEPreInit.qtInit[c].id=c),!this.is_quicktags_active()){var d,e;d=QTags.instances,QTags.instances=[],quicktags(tinyMCEPreInit.qtInit[c]),QTags._buttonsInit(),e=QTags.instances[c],QTags.instances=d,QTags.instances[c]=e}this.is_tinymce_configured()||(tinyMCEPreInit.mceInit[c]=tinyMCEPreInit.mceInit["black-studio-tinymce-widget"],tinyMCEPreInit.mceInit[c].selector="#"+c),this.is_tinymce_active()||"visual"!==this.get_mode()?a("#"+c).addClass("active").removeClass("activating"):(tinyMCEPreInit.mceInit[c].setup=function(b){b.on("keyup change",function(){"visual"===bstw(c).get_mode()&&bstw(c).update_content(),a("#"+c).change()}),a("#"+c).addClass("active").removeClass("activating")},b?tinymce.init(tinyMCEPreInit.mceInit[c]):this.go())}return this},deactivate:function(){return a("#"+c).hasClass("activating")||(this.is_tinymce_active()&&tinymce.get(c).remove(),this.is_tinymce_configured()&&delete tinyMCEPreInit.mceInit[c],this.is_quicktags_active()&&(a(".quicktags-toolbar",this.get_widget_inside()).remove(),delete QTags.instances[c]),this.is_quicktags_configured()&&delete tinyMCEPreInit.qtInit[c],a("#"+c).removeClass("active")),this},update_content:function(){var a;return"visual"===this.get_mode()?(a=tinymce.get(c).save(),tinyMCEPreInit.mceInit[c].wpautop&&(a=window.switchEditors.pre_wpautop(a)),this.get_textarea().val(a)):this.is_tinymce_active()&&(a=this.get_textarea().val(),tinyMCEPreInit.mceInit[c].wpautop&&(a=window.switchEditors.wpautop(a)),tinymce.get(c).setContent(a)),this},go:function(a){return"undefined"==typeof a&&(a=this.get_mode()),window.switchEditors.go(c,"visual"===a?"tmce":"html"),this},get_mode:function(){return a("input[id^=widget-black-studio-tinymce][id$=type]",this.get_container()).val()},set_mode:function(b){return a("input[id^=widget-black-studio-tinymce][id$=type]",this.get_container()).val(b),this},get_container:function(){return a("#"+c).closest(bstw_data.container_selectors)},get_widget:function(){return a("#"+c).closest("div.widget")},get_widget_inside:function(){return a("#"+c).closest("div.widget-inside")},get_textarea:function(){return a("#"+c)},is_tinymce_active:function(){return"object"==typeof tinymce&&"object"==typeof tinymce.get(c)&&null!==tinymce.get(c)},is_tinymce_configured:function(){return"undefined"!=typeof tinyMCEPreInit.mceInit[c]},is_quicktags_active:function(){return"object"==typeof QTags.instances[c]},is_quicktags_configured:function(){return"object"==typeof tinyMCEPreInit.qtInit[c]},prepare:function(){return a('[name="'+this.get_textarea().attr("name")+'"]').size()>1&&0===a("div.error",this.get_widget_inside()).length&&this.get_widget_inside().prepend('<div class="error"><strong>'+bstw_data.error_duplicate_id+"</strong></div>"),this.get_widget().css("position","relative").css("z-index","100000"),a("#wpbody-content").css("overflow","visible"),this},responsive:function(){if(this.get_widget_inside().is(":visible")){var b,c=parseInt(a("input[name=widget-width]",this.get_widget()).val(),10),d=a(window).width(),e=this.get_widget().parent().width(),f=parseInt(a("#wpcontent").css("margin-left"),10),g=!("undefined"==typeof isRtl||!isRtl);c+f+30>d&&(b=this.get_widget().closest("div.widget-liquid-right").length?g?"margin-right":"margin-left":g?"margin-left":"margin-right",this.get_widget().css(b,e-(d-30-f)+"px"))}return this}}},a(document).ready(function(){a(document).on("click","div.widget[id*=black-studio-tinymce] .widget-title, div.widget[id*=black-studio-tinymce] .widget-action",function(){a(this).parents("#available-widgets").length||(bstw(a(this)).prepare().responsive().activate(!1),a("input[name=savewidget]",bstw(a(this)).get_widget()).on("click",function(){var b=a(this).closest(".widget").find(".wp-editor-wrap").height();a(this).closest(".widget").find(".wp-editor-wrap").height(b).append('<div class="bstw-loading"></div>'),a(this).closest(".widget").find(".bstw-loading").height(b).show(),bstw(a(this)).update_content()}))}),a(document).on("widget-added",function(a,b){b.is("[id*=black-studio-tinymce]")&&(a.preventDefault(),bstw(b).activate())}),a(document).on("widget-updated",function(a,b){b.is("[id*=black-studio-tinymce]")&&(a.preventDefault(),bstw(b).deactivate().activate())}),a(document).on("widget-synced",function(a,b){b.is("[id*=black-studio-tinymce]")&&(a.preventDefault(),"visual"===bstw(b).get_mode()&&bstw(b).update_content())}),a(document).on("click","a[id^=widget-black-studio-tinymce][id$=tmce]",function(){bstw(a(this)).set_mode("visual")}),a(document).on("click","a[id^=widget-black-studio-tinymce][id$=html]",function(){bstw(a(this)).set_mode("html")}),a(document).on("click.wp-editor",".wp-editor-wrap",function(){this.id&&(window.wpActiveEditor=this.id.slice(3,-5))}),a(document).on("sortstart",function(b,c){var d=["body.wp-customizer .expanded > div[id*=black-studio-tinymce].widget",".widget-liquid-right div[id*=black-studio-tinymce].widget.open"];a(d.join(", ")).filter(":has(.widget-inside:visible)").each(function(){a(".widget-title",this).trigger("click"),bstw(a(this)).deactivate()}),c.item.is("[id*=black-studio-tinymce]")&&bstw(c.item.find("textarea[id^=widget-black-studio-tinymce]")).deactivate()}),a(document).on("sortstop",function(a,b){b.item.is("[id*=black-studio-tinymce]")&&bstw(b.item.find("textarea[id^=widget-black-studio-tinymce]")).activate(!1)}),a(document).on("sortupdate",function(b,c){null!==b&&a(c.item).is(".ui-draggable")||(a("body").addClass("wait"),setTimeout(function(){a("textarea[id^=widget-black-studio-tinymce].active").each(function(){bstw(a(this)).deactivate()}),a("body").removeClass("wait")},1e3))}),"object"==typeof bstw_data.activate_events&&bstw_data.activate_events.length>0&&a(document).on(bstw_data.activate_events.join(" "),function(b){bstw(a(b.target)).activate()}),"object"==typeof bstw_data.deactivate_events&&bstw_data.deactivate_events.length>0&&a(document).on(bstw_data.deactivate_events.join(" "),function(b){bstw(a(b.target)).deactivate()}),a(window).resize(function(){a("textarea[id^=widget-black-studio-tinymce]").each(function(){bstw(a(this)).responsive()})}),a("#qt_widget-black-studio-tinymce-__i__-text_toolbar").remove(),a(document).on("click",".bstw-links-icon",function(b){b.preventDefault(),a(this).closest(".bstw-links").children(".bstw-links-list").toggle()})})}(jQuery);
js/wp-page-widget.min.js CHANGED
@@ -1,2 +1,2 @@
1
- /* Black Studio TinyMCE Widget - v2.2.0 */
2
!function(a){a(document).ready(function(){a(document).on("click","#pw-sidebars-customize div[id*=black-studio-tinymce].widget input.widget-control-save",function(){a(this).unbind("ajaxSuccess").ajaxSuccess(function(){a(this).trigger("widget-updated",[bstw(a(this)).get_widget()]).unbind("ajaxSuccess")})}),a(document).on("click","#pw-sidebars-customize div[id*=black-studio-tinymce].widget .widget-title",function(){var b=bstw(a(this)).get_textarea();b.hasClass("active")&&(bstw(a(this)).deactivate(),a(this).trigger("widget-added",[bstw(a(this)).get_widget()]))})})}(jQuery);
1
+ /* Black Studio TinyMCE Widget - v2.2.1 */
2
!function(a){a(document).ready(function(){a(document).on("click","#pw-sidebars-customize div[id*=black-studio-tinymce].widget input.widget-control-save",function(){a(this).unbind("ajaxSuccess").ajaxSuccess(function(){a(this).trigger("widget-updated",[bstw(a(this)).get_widget()]).unbind("ajaxSuccess")})}),a(document).on("click","#pw-sidebars-customize div[id*=black-studio-tinymce].widget .widget-title",function(){var b=bstw(a(this)).get_textarea();b.hasClass("active")&&(bstw(a(this)).deactivate(),a(this).trigger("widget-added",[bstw(a(this)).get_widget()]))})})}(jQuery);
languages/black-studio-tinymce-widget.pot CHANGED
@@ -1,99 +1,99 @@
1
- # Copyright (C) 2014 Black Studio
2
- # This file is distributed under the GPLv3.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: Black Studio TinyMCE Widget 2.2.0\n"
6
- "Report-Msgid-Bugs-To: "
7
- "https://github.com/black-studio/black-studio-tinymce-widget/issues\n"
8
- "POT-Creation-Date: 2014-11-18 09:48:00+00:00\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=utf-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "PO-Revision-Date: 2014-MO-DA HO:MI+ZONE\n"
13
- "Last-Translator: Black Studio <info@blackstudio.it>\n"
14
- "Language-Team: Black Studio <info@blackstudio.it>\n"
15
- "X-Generator: grunt-wp-i18n 0.4.8\n"
16
- "Plural-Forms: nplurals=2; plural=n != 1;\n"
17
- "X-Poedit-Basepath: .\n"
18
- "X-Poedit-Language: English\n"
19
- "X-Poedit-Country: United States\n"
20
- "X-Poedit-SourceCharset: utf-8\n"
21
- "X-Poedit-KeywordsList: "
22
- "__;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_"
23
- "x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n"
24
- "X-Poedit-Bookmarks: \n"
25
- "X-Poedit-SearchPath-0: .\n"
26
- "X-Textdomain-Support: yes\n"
27
-
28
- #: black-studio-tinymce-widget.php:280
29
- #. translators: error message shown when multiple instance of the plugin are
30
- #. detected
31
- msgid ""
32
- "ERROR: Multiple instances of the Black Studio TinyMCE Widget plugin were "
33
- "detected. Please activate only one instance at a time."
34
- msgstr ""
35
-
36
- #: includes/class-admin-pointer.php:168
37
- #. translators: text for the dismissable admin pointer tooltip
38
- msgid ""
39
- "The Visual Editor widget allows you to insert rich text and media objects "
40
- "in your sidebars"
41
- msgstr ""
42
-
43
- #: includes/class-admin.php:247
44
- #. translators: error message shown when a duplicated widget ID is detected
45
- msgid ""
46
- "ERROR: Duplicate widget ID detected. To avoid content loss, please create a "
47
- "new widget with the same content and then delete this one."
48
- msgstr ""
49
-
50
- #: includes/class-admin.php:339
51
- #. translators: text used for plugin home link
52
- msgid "Home"
53
- msgstr ""
54
-
55
- #: includes/class-admin.php:341
56
- #. translators: text used for support faq link
57
- msgid "FAQ"
58
- msgstr ""
59
-
60
- #: includes/class-admin.php:343
61
- #. translators: text used for support forum link
62
- msgid "Support"
63
- msgstr ""
64
-
65
- #: includes/class-admin.php:345
66
- #. translators: text used for reviews link
67
- msgid "Rate"
68
- msgstr ""
69
-
70
- #: includes/class-admin.php:347
71
- #. translators: text used for follow on twitter link
72
- msgid "Follow"
73
- msgstr ""
74
-
75
- #: includes/class-admin.php:349
76
- #. translators: text used for donation link
77
- msgid "Donate"
78
- msgstr ""
79
-
80
- #: includes/class-admin.php:369
81
- #. translators: text used for the icon that shows the plugin links
82
- msgid "About Black Studio TinyMCE Widget plugin"
83
- msgstr ""
84
-
85
- #: includes/class-widget.php:28
86
- #. translators: title of the widget
87
- msgid "Visual Editor"
88
- msgstr ""
89
-
90
- #: includes/class-widget.php:30
91
- #. translators: description of the widget, shown in available widgets
92
- msgid "Arbitrary text or HTML with visual editor"
93
- msgstr ""
94
-
95
- #. Description of the plugin/theme
96
- msgid ""
97
- "Adds a new \"Visual Editor\" widget type based on the native WordPress "
98
- "TinyMCE editor."
99
msgstr ""
1
+ # Copyright (C) 2014 Black Studio
2
+ # This file is distributed under the GPLv3.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: Black Studio TinyMCE Widget 2.2.0\n"
6
+ "Report-Msgid-Bugs-To: "
7
+ "https://github.com/black-studio/black-studio-tinymce-widget/issues\n"
8
+ "POT-Creation-Date: 2014-11-18 09:48:00+00:00\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=utf-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "PO-Revision-Date: 2014-MO-DA HO:MI+ZONE\n"
13
+ "Last-Translator: Black Studio <info@blackstudio.it>\n"
14
+ "Language-Team: Black Studio <info@blackstudio.it>\n"
15
+ "X-Generator: grunt-wp-i18n 0.4.8\n"
16
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
17
+ "X-Poedit-Basepath: .\n"
18
+ "X-Poedit-Language: English\n"
19
+ "X-Poedit-Country: United States\n"
20
+ "X-Poedit-SourceCharset: utf-8\n"
21
+ "X-Poedit-KeywordsList: "
22
+ "__;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_"
23
+ "x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n"
24
+ "X-Poedit-Bookmarks: \n"
25
+ "X-Poedit-SearchPath-0: .\n"
26
+ "X-Textdomain-Support: yes\n"
27
+
28
+ #: black-studio-tinymce-widget.php:280
29
+ #. translators: error message shown when multiple instance of the plugin are
30
+ #. detected
31
+ msgid ""
32
+ "ERROR: Multiple instances of the Black Studio TinyMCE Widget plugin were "
33
+ "detected. Please activate only one instance at a time."
34
+ msgstr ""
35
+
36
+ #: includes/class-admin-pointer.php:168
37
+ #. translators: text for the dismissable admin pointer tooltip
38
+ msgid ""
39
+ "The Visual Editor widget allows you to insert rich text and media objects "
40
+ "in your sidebars"
41
+ msgstr ""
42
+
43
+ #: includes/class-admin.php:247
44
+ #. translators: error message shown when a duplicated widget ID is detected
45
+ msgid ""
46
+ "ERROR: Duplicate widget ID detected. To avoid content loss, please create a "
47
+ "new widget with the same content and then delete this one."
48
+ msgstr ""
49
+
50
+ #: includes/class-admin.php:339
51
+ #. translators: text used for plugin home link
52
+ msgid "Home"
53
+ msgstr ""
54
+
55
+ #: includes/class-admin.php:341
56
+ #. translators: text used for support faq link
57
+ msgid "FAQ"
58
+ msgstr ""
59
+
60
+ #: includes/class-admin.php:343
61
+ #. translators: text used for support forum link
62
+ msgid "Support"
63
+ msgstr ""
64
+
65
+ #: includes/class-admin.php:345
66
+ #. translators: text used for reviews link
67
+ msgid "Rate"
68
+ msgstr ""
69
+
70
+ #: includes/class-admin.php:347
71
+ #. translators: text used for follow on twitter link
72
+ msgid "Follow"
73
+ msgstr ""
74
+
75
+ #: includes/class-admin.php:349
76
+ #. translators: text used for donation link
77
+ msgid "Donate"
78
+ msgstr ""
79
+
80
+ #: includes/class-admin.php:369
81
+ #. translators: text used for the icon that shows the plugin links
82
+ msgid "About Black Studio TinyMCE Widget plugin"
83
+ msgstr ""
84
+
85
+ #: includes/class-widget.php:28
86
+ #. translators: title of the widget
87
+ msgid "Visual Editor"
88
+ msgstr ""
89
+
90
+ #: includes/class-widget.php:30
91
+ #. translators: description of the widget, shown in available widgets
92
+ msgid "Arbitrary text or HTML with visual editor"
93
+ msgstr ""
94
+
95
+ #. Description of the plugin/theme
96
+ msgid ""
97
+ "Adds a new \"Visual Editor\" widget type based on the native WordPress "
98
+ "TinyMCE editor."
99
msgstr ""
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://www.blackstudio.it/en/wordpress-plugins/black-studio-tinymce
4
Tags: wysiwyg, widget, tinymce, editor, image, media, rich text, rich text editor, visual editor, wysiwyg editor, tinymce editor, widget editor, html editor, wysiwyg widget, html widget, editor widget, text widget, rich text widget, enhanced text widget, tinymce widget, visual widget, image widget, media widget
5
Requires at least: 3.1
6
Tested up to: 4.1
7
- Stable tag: 2.2.0
8
License: GPLv3
9
License URI: http://www.gnu.org/licenses/gpl.html
10
@@ -178,6 +178,14 @@ Plugin's data is stored in serialized format inside a record in the `wp_options`
178
179
== Changelog ==
180
181
= 2.2.0 (2014-11-18) =
182
* Added filter to hide empty widgets
183
* Added workaround for WordPress Core bug #28403
@@ -396,5 +404,5 @@ Plugin's data is stored in serialized format inside a record in the `wp_options`
396
397
== Upgrade Notice ==
398
399
- = 2.2.0 =
400
Version 2.x is a major update. If you are upgrading from version 1.x please ensure to backup your database before upgrading.
4
Tags: wysiwyg, widget, tinymce, editor, image, media, rich text, rich text editor, visual editor, wysiwyg editor, tinymce editor, widget editor, html editor, wysiwyg widget, html widget, editor widget, text widget, rich text widget, enhanced text widget, tinymce widget, visual widget, image widget, media widget
5
Requires at least: 3.1
6
Tested up to: 4.1
7
+ Stable tag: 2.2.1
8
License: GPLv3
9
License URI: http://www.gnu.org/licenses/gpl.html
10
178
179
== Changelog ==
180
181
+ = 2.2.1 (2014-11-18) =
182
+ * Fixed paragraph formatting bug on saving
183
+ * Fixed real-time update bug in Theme Customizer
184
+ * Enhanced editor initialization
185
+ * Simplified internal integration with Page Builder
186
+ * Simplified internal initialization for accessibility mode
187
+ * Minor changes for coding standard compliance
188
+
189
= 2.2.0 (2014-11-18) =
190
* Added filter to hide empty widgets
191
* Added workaround for WordPress Core bug #28403
404
405
== Upgrade Notice ==
406
407
+ = 2.2.1 =
408
Version 2.x is a major update. If you are upgrading from version 1.x please ensure to backup your database before upgrading.