public static function saveSettings() { $error = ''; foreach ($_REQUEST as $key => $value) { if ($key[0] != '_' && $key != 'action' && $key != 'submit') { if (is_array($value)) { $value = implode('~', $value); } if ($key == 'wpeditor_logging' && $value == '1') { try { WPEditorLog::createLogFile(); } catch (WPEditorException $e) { $error = $e->getMessage(); WPEditorLog::log('[' . basename(__FILE__) . ' - line ' . __LINE__ . "] Caught WPEditor exception: " . $e->getMessage()); } } WPEditorSetting::setValue($key, trim(stripslashes($value))); } } if (isset($_REQUEST['_tab'])) { WPEditorSetting::setValue('settings_tab', $_REQUEST['_tab']); } if ($error) { $result[0] = 'WPEditorAjaxError'; $result[1] = '<h3>' . __('Warning', 'wpeditor') . "</h3><p>{$error}</p>"; } else { $result[0] = 'WPEditorAjaxSuccess'; $result[1] = '<h3>' . __('Success', 'wpeditor') . '</h3><p>' . $_REQUEST['_success'] . '</p>'; } $out = json_encode($result); echo $out; die; }
public function init() { // Load all additional required classes $this->loadCoreModels(); // Verify that upgrade has been run if (IS_ADMIN) { if (version_compare(WPEDITOR_VERSION_NUMBER, WPEditorSetting::getValue('version'))) { $this->install(); } } // Define debugging and testing info $wpeditor_logging = WPEditorSetting::getValue('wpeditor_logging') ? true : false; define('WPEDITOR_DEBUG', $wpeditor_logging); $default_wpeditor_roles = array('settings' => 'manage_options', 'theme-editor' => 'edit_themes', 'plugin-editor' => 'edit_plugins'); // Set default admin page roles if there isn't any $wpeditor_roles = WPEditorSetting::getValue('admin_page_roles'); if (empty($wpeditor_roles)) { WPEditorSetting::setValue('admin_page_roles', serialize($default_wpeditor_roles)); } else { $update_roles = false; $wpeditor_roles = unserialize($wpeditor_roles); foreach ($default_wpeditor_roles as $key => $value) { if (!array_key_exists($key, $wpeditor_roles)) { $wpeditor_roles[$key] = $value; $update_roles = true; } } if ($update_roles) { WPEditorSetting::setValue('admin_page_roles', serialize($wpeditor_roles)); } $wpeditor_roles = serialize($wpeditor_roles); } if (IS_ADMIN) { // Load default stylesheet add_action('admin_init', array($this, 'registerDefaultStylesheet')); // Load default script add_action('admin_init', array($this, 'registerDefaultScript')); // Remove default editor submenus add_action('admin_menu', array('WPEditorAdmin', 'removeDefaultEditorMenus')); // Add WP Editor Settings Page add_action('admin_menu', array('WPEditorAdmin', 'buildAdminMenu')); // Add Plugin Editor Page add_action('admin_menu', array('WPEditorAdmin', 'addPluginsPage')); // Add Theme Editor Page add_action('admin_menu', array('WPEditorAdmin', 'addThemesPage')); // Ajax request to save settings add_action('wp_ajax_save_wpeditor_settings', array('WPEditorAjax', 'saveSettings')); // Ajax request to save files add_action('wp_ajax_save_files', array('WPEditorAjax', 'saveFile')); // Ajax request to upload files add_action('wp_ajax_upload_files', array('WPEditorAjax', 'uploadFile')); // Ajax request to retrieve files and folders add_action('wp_ajax_ajax_folders', array('WPEditorAjax', 'ajaxFolders')); // Replace default plugin edit links add_filter('plugin_action_links', array($this, 'replacePluginEditLinks'), 9, 1); add_filter('the_editor', array('WPEditorPosts', 'addPostsJquery')); if (!current_user_can('editor') && !current_user_can('administrator')) { global $pagenow; if ($pagenow == 'index.php') { add_filter('admin_footer', array('WPEditorPosts', 'addPostsJquery')); } } } }
<?php $tab = 'overview'; if (WPEditorSetting::getValue('settings_tab')) { $tab = WPEditorSetting::getValue('settings_tab'); } if (!WPEditorSetting::getValue('run_overview')) { $tab = 'overview'; } WPEditorSetting::setValue('run_overview', 1); $success_message = ''; ?> <div class="wrap"> <div id="icon-wpeditor" class="icon32"></div> <h2><?php _e('WP Editor Settings', 'wp-editor'); ?> </h2> <div id="settings-main"> <div id="settings-main-wrap"> <div id="settings-back"></div> <div id="save-result"></div> <div id="settings-columns"> <div class="settings-tabs"> <ul> <li id="settings-main-settings-tab"><a id="settings-link-main-settings" href="javascript:void(0)"><?php _e('Main Settings', 'wp-editor'); ?> </a></li> <li id="settings-themes-tab"><a id="settings-link-themes" href="javascript:void(0)"><?php