File: /var/www/test.kaunokolegija.lt/kk_wp_content/updraft/plugins-old/shortcode-tinyMCE/index.php
<?php
/*
Plugin Name: Shortcodes in editor
Author: ito
Author URI: http://www.ito.lt
Version: 1.0
*/
class Shortcode_Tinymce
{
public function __construct()
{
add_action('admin_init', array($this, 'shortcode_button'));
add_action('admin_footer', array($this, 'get_shortcodes'));
}
/**
* Create a shortcode button for tinymce
*
* @return [type] [description]
*/
public function shortcode_button()
{
if( current_user_can('edit_posts') && current_user_can('edit_pages') )
{
add_filter( 'mce_external_plugins', array($this, 'add_buttons' ));
add_filter( 'mce_buttons', array($this, 'register_buttons' ));
}
}
/**
* Add new Javascript to the plugin scrippt array
*
* @param Array $plugin_array - Array of scripts
*
* @return Array
*/
public function add_buttons( $plugin_array )
{
$plugin_array['pushortcodes'] = plugin_dir_url( __FILE__ ) . 'js/shortcode-tinymce-button.js';
return $plugin_array;
}
/**
* Add new button to tinymce
*
* @param Array $buttons - Array of buttons
*
* @return Array
*/
public function register_buttons( $buttons )
{
array_push( $buttons, 'separator', 'pushortcodes' );
return $buttons;
}
/**
* Add shortcode JS to the page
*
* @return HTML
*/
public function get_shortcodes() {
global $shortcode_tags;
echo '<script type="text/javascript">
var shortcodes_button = [];';
$count = 0;
foreach($shortcode_tags as $tag => $code)
{
switch($tag) {
case "vc_pagrindiniai_igudžiai" :
break;
case "vc_bazine_informacija":
break;
case "vc_egzaminu_lentele":
break;
case "vc_mygtukas":
break;
case "vc_semestru_lentele":
break;
case "vc_teksto_dezute":
break;
default:
echo "shortcodes_button[{$count}] = '{$tag}';";
}
$count++;
}
echo '
shortcodes_button = shortcodes_button.filter(function(n){ return n != undefined });
var sort_shortcode = shortcodes_button.sort(); </script>';
}
}
new Shortcode_Tinymce();