get_results($wpdb->prepare( "SELECT id,title FROM ".$wpdb->prefix."anyguide_short_code WHERE status=%d ORDER BY id DESC",1),ARRAY_A ); // print_r($anyguide_snippets_arr); if(count($anyguide_snippets_arr)==0) die; if(floatval(get_bloginfo('version'))>=3.9) { ?> (function() { tinymce.PluginManager.add('buttonName; ?>', function( editor, url ) { editor.addButton( 'buttonName; ?>', { title: 'Insert Anyguide Snippet', type: 'menubutton', icon: 'icon anyguide-icon', menu: [ $val) { ?> { text: '', value: '[anyguide snippet=""]', onclick: function() { editor.insertContent(this.value()); } }, ] }); }); })(); 'Insert Anyguide Snippet', 'url' => plugins_url('assets/images/logo.png', dirname(__FILE__)), 'anyguide_snippets' => $anyguide_snippets_arr ); ?> var tinymce_buttonName; ?> =; (function() { //******* Load plugin specific language pack tinymce.create('tinymce.plugins.buttonName; ?>', { /** * Initializes the plugin, this will be executed after the plugin has been created. * This call is done before the editor instance has finished it's initialization so use the onInit event * of the editor instance to intercept that event. * * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. * @param {string} url Absolute URL to where the plugin is located. */ init : function(ed, url) { tinymce_buttonName; ?>.insert = function(){ if(this.v && this.v != ''){ tinymce.execCommand('mceInsertContent', false, '[anyguide snippet="'+tinymce_buttonName; ?>.anyguide_snippets[this.v]['title']+'"]'); } }; }, /** * Creates control instances based in the incomming name. This method is normally not * needed since the addButton method of the tinymce.Editor class is a more easy way of adding buttons * but you sometimes need to create more complex controls like listboxes, split buttons etc then this * method can be used to create those. * * @param {String} n Name of the control to create. * @param {tinymce.ControlManager} cm Control manager to use inorder to create new control. * @return {tinymce.ui.Control} New control instance or null if no control was created. */ createControl : function(n, cm) { if(n=='buttonName; ?>'){ var c = cm.createSplitButton('buttonName; ?>', { title : tinymce_buttonName; ?>.title, image : tinymce_buttonName; ?>.url, onclick : tinymce_buttonName; ?>.insert }); // Add some values to the list box c.onRenderMenu.add(function(c, m){ for (var id in tinymce_buttonName; ?>.anyguide_snippets){ m.add({ v : id, title : tinymce_buttonName; ?>.anyguide_snippets[id]['title'], onclick : tinymce_buttonName; ?>.insert }); } }); // Return the new listbox instance return c; } return null; }, }); // Register plugin tinymce.PluginManager.add('buttonName; ?>', tinymce.plugins.buttonName; ?>); })();