zZzzZ.
home2
/
zrzvbdry
/
shopleksi.shop
/
wp-content
/
plugins
/
wp-editor
/
classes
New Folder
Editing: WPEditorSetting.php
Save
Cancel
<?php class WPEditorSetting { public static function settings_table_allow_list() { $settings_table_allow_list = array( 'admin_page_roles', 'change_plugin_editor_font_size', 'change_post_editor_font_size', 'change_theme_editor_font_size', 'enable_plugin_active_line', 'enable_plugin_editor_height', 'enable_plugin_line_numbers', 'enable_plugin_line_wrapping', 'enable_plugin_tab_characters', 'enable_plugin_tab_size', 'enable_post_active_line', 'enable_post_editor', 'enable_post_editor_height', 'enable_post_line_numbers', 'enable_post_line_wrapping', 'enable_post_tab_characters', 'enable_post_tab_size', 'enable_theme_active_line', 'enable_theme_editor_height', 'enable_theme_line_numbers', 'enable_theme_line_wrapping', 'enable_theme_tab_characters', 'enable_theme_tab_size', 'hide_default_plugin_editor', 'hide_default_theme_editor', 'hide_wpeditor_menu', 'plugin_create_new', 'plugin_editor_allowed_extensions', 'plugin_editor_theme', 'plugin_file_upload', 'plugin_indent_unit', 'post_editor_theme', 'post_indent_unit', 'replace_plugin_edit_links', 'run_overview', 'settings_tab', 'theme_create_new', 'theme_editor_allowed_extensions', 'theme_editor_theme', 'theme_file_upload', 'theme_indent_unit', 'upgrade', 'version', 'wpeditor_logging', ); return apply_filters( 'wpe_get_settings_table_allow_list', $settings_table_allow_list ); } /** * Get Settings * * Retrieves all plugin settings * * @since 1.0 * @return array WP Editor settings */ public static function get_settings() { $settings = get_option( 'wpe_settings' ); if( empty( $settings ) ) { // Update old settings with new single option $general_settings = is_array( get_option( 'wpe_settings_general' ) ) ? get_option( 'wpe_settings_general' ) : array(); $theme_editor_settings = is_array( get_option( 'wpe_settings_theme_editor' ) ) ? get_option( 'wpe_settings_theme_editor' ) : array(); $plugin_editor_settings = is_array( get_option( 'wpe_settings_plugin_editor' ) ) ? get_option( 'wpe_settings_plugin_editor' ) : array(); $post_editor_settings = is_array( get_option( 'wpe_settings_post_editor' ) ) ? get_option( 'wpe_settings_post_editor' ) : array(); $license_settings = is_array( get_option( 'wpe_settings_license' ) ) ? get_option( 'wpe_settings_license' ) : array(); $settings = array_merge( $general_settings, $theme_editor_settings, $plugin_editor_settings, $post_editor_settings, $license_settings ); update_option( 'wpe_settings', $settings ); } return apply_filters( 'wpe_get_settings', $settings ); } /** * Add all settings sections and fields * * @since 1.0 * @return void */ public static function register_settings() { if ( false == get_option( 'wpe_settings' ) ) { add_option( 'wpe_settings' ); } foreach ( self::get_registered_settings() as $tab => $sections ) { foreach ( $sections as $section => $settings) { // Check for backwards compatibility $section_tabs = self::get_settings_tab_sections( $tab ); if ( ! is_array( $section_tabs ) || ! array_key_exists( $section, $section_tabs ) ) { $section = 'main'; $settings = $sections; } add_settings_section( 'wpe_settings_' . $tab . '_' . $section, __return_null(), '__return_false', 'wpe_settings_' . $tab . '_' . $section ); foreach ( $settings as $option ) { // For backwards compatibility if ( empty( $option['id'] ) ) { continue; } $name = isset( $option['name'] ) ? $option['name'] : ''; add_settings_field( 'wpe_settings[' . $option['id'] . ']', $name, method_exists( __CLASS__, 'wpe_' . $option['type'] . '_callback' ) ? array( __CLASS__, 'wpe_' . $option['type'] . '_callback' ) : array( __CLASS__, 'missing_callback' ), 'wpe_settings_' . $tab . '_' . $section, 'wpe_settings_' . $tab . '_' . $section, array( 'section' => $section, 'id' => isset( $option['id'] ) ? $option['id'] : null, 'desc' => ! empty( $option['desc'] ) ? $option['desc'] : '', 'name' => isset( $option['name'] ) ? $option['name'] : null, 'size' => isset( $option['size'] ) ? $option['size'] : null, 'options' => isset( $option['options'] ) ? $option['options'] : '', 'std' => isset( $option['std'] ) ? $option['std'] : '', 'min' => isset( $option['min'] ) ? $option['min'] : null, 'max' => isset( $option['max'] ) ? $option['max'] : null, 'step' => isset( $option['step'] ) ? $option['step'] : null, 'chosen' => isset( $option['chosen'] ) ? $option['chosen'] : null, 'placeholder' => isset( $option['placeholder'] ) ? $option['placeholder'] : null, 'allow_blank' => isset( $option['allow_blank'] ) ? $option['allow_blank'] : true, 'readonly' => isset( $option['readonly'] ) ? $option['readonly'] : false, 'faux' => isset( $option['faux'] ) ? $option['faux'] : false, ) ); } } } // Creates our settings in the options table register_setting( 'wpe_settings', 'wpe_settings', 'wpe_settings_sanitize' ); } /** * Retrieve the array of plugin settings * * @since 1.8 * @return array */ public static function get_registered_settings() { /** * 'Whitelisted' WP Editor settings, filters are provided for each settings * section to allow extensions and other plugins to add their own settings */ $wpe_settings = array( /** General Settings */ 'general' => apply_filters( 'wpe_settings_general', array( 'main' => array( 'allowed_extensions' => array( 'id' => 'allowed_extensions', 'name' => __( 'Allowed Extensions', 'wp-editor' ), 'desc' => __( 'Select the extensions you want to enable for the Theme and Plugin editors.', 'wp-editor' ), 'type' => 'multiselect', 'optons' => apply_filters( 'allowed_extensions', array( 'php' => '.php', 'js' => '.js', 'css' => '.css', 'scss' => '.scss', 'txt' => '.txt', 'htm' => '.htm', 'html' => '.html', 'jpg' => '.jpg', 'jpeg' => '.jpeg', 'png' => '.png', 'gif' => '.gif', 'sql' => '.sql', 'po' => '.po', 'pot' => '.pot', 'less' => '.less', 'xml' => '.xml' ) ) ), ), 'codemirror' => array( 'test' => array( 'id' => 'test_codemirror', 'name' => '<h3>' . __( 'Test Codemirror', 'wp-editor' ) . '</h3>', 'desc' => '', 'type' => 'header', ), ) ) ), /** Theme Editor Settings */ ); return apply_filters( 'wpe_registered_settings', $wpe_settings ); } /** * Retrieve settings tabs * * @since 1.8 * @return array $tabs */ public static function get_settings_tabs() { $settings = self::get_registered_settings(); $tabs = array( 'general' => __( 'General', 'wp-editor' ), 'theme_editor' => __( 'Theme Editor', 'wp-editor' ), 'plugin_editor' => __( 'Plugin Editor', 'wp-editor' ), 'post_editor' => __( 'Page/Post Editor', 'wp-editor' ), 'license' => __( 'License', 'wp-editor' ) ); return apply_filters( 'wpe_settings_tabs', $tabs ); } /** * Retrieve settings tabs * * @since 2.5 * @return array $section */ public static function get_settings_tab_sections( $tab = false ) { $tabs = false; $sections = WPEditorSetting::get_registered_settings_sections(); if( $tab && ! empty( $sections[ $tab ] ) ) { $tabs = $sections[ $tab ]; } else if ( $tab ) { $tabs = false; } return $tabs; } /** * Get the settings sections for each tab * Uses a static to avoid running the filters on every request to this function * * @since 2.5 * @return array Array of tabs and sections */ public static function get_registered_settings_sections() { static $sections = false; if ( false !== $sections ) { return $sections; } $sections = array( 'general' => apply_filters( 'wpe_settings_sections_general', array( 'main' => __( 'Main', 'wp-editor' ), 'codemirror' => __( 'Codemirror', 'wp-editor' ), ) ), 'theme_editor' => apply_filters( 'wpe_settings_sections_theme_editor', array( 'main' => __( 'Theme Editor Settings', 'wp-editor' ), ) ), 'plugin_editor' => apply_filters( 'wpe_settings_sections_plugin_editor', array( 'main' => __( 'Plugin Editor Settings', 'wp-editor' ), ) ), 'post_editor' => apply_filters( 'wpe_settings_sections_post_editor', array( 'main' => __( 'Page/Post Editor Settings', 'wp-editor' ), ) ), 'license' => apply_filters( 'wpe_settings_sections_license', array( 'main' => __( 'WP Editor License', 'wp-editor' ), ) ), ); $sections = apply_filters( 'wpe_settings_sections', $sections ); return $sections; } public static function missing_callback( $args ) { printf( __( 'The callback function used for the %s setting is missing.', 'easy-digital-downloads' ), '<strong>' . esc_html( $args['id'] ) . '</strong>' ); } public static function wpe_multiselect_callback( $args ) { global $wpe_options; //need to set this up // This had an ob_start(), ob_get_clean() with only whitespace so I changed it to this // to allow for further investigation. echo "\n \n\n"; } public static function set_value( $key, $value ) { global $wpdb; $settings_table = WPEditor::get_table_name( 'settings' ); if ( ! in_array( $key, self::settings_table_allow_list(), true ) ) { return; } if ( ! empty( $key ) ) { $db_key = $wpdb->get_var( $wpdb->prepare ( "SELECT `key` from {$wpdb->prefix}wpeditor_settings where `key`= %s ", $key ) ); if ( $db_key ) { if ( ! empty( $value ) || $value !== 0 ) { $wpdb->update( "{$wpdb->prefix}wpeditor_settings", array( 'key'=>$key, 'value'=>$value ), array( 'key'=>$key ), array( '%s', '%s' ), array( '%s' ) ); } else { $wpdb->query( $wpdb->prepare ( "DELETE from {$wpdb->prefix}wpeditor_settings where `key`= %s ", $key ) ); } } else { if ( !empty( $value ) || $value !== 0 ) { $wpdb->insert( "{$wpdb->prefix}wpeditor_settings", array( 'key'=>$key, 'value'=>$value ), array( '%s', '%s' ) ); } } } } public static function get_value( $key, $entities=false ) { $value = false; global $wpdb; $settings_table = WPEditor::get_table_name( 'settings' ); if ( ! in_array( $key, self::settings_table_allow_list(), true ) ) { return ''; } $value = $wpdb->get_var( $wpdb->prepare ( "SELECT `value` from {$wpdb->prefix}wpeditor_settings where `key`= %s ", $key ) ); if(!empty( $value ) && $entities ) { $value = htmlentities( $value ); } return $value; } }