private function saveSettings() { //Save per site or site-wide based on plugin configuration. $settings = json_encode($this->settings); if ($this->menuEditor->get_plugin_option('menu_config_scope') === 'site') { update_option(self::OPTION_NAME, $settings); } else { WPMenuEditor::atomic_update_site_option(self::OPTION_NAME, $settings); } }
public function registerScripts() { $isProVersion = apply_filters('admin_menu_editor_is_pro', false); $dependencies = array('ame-actor-manager', 'ame-lodash', 'jquery'); if ($isProVersion || wp_script_is('ame-visible-users', 'registered')) { $dependencies[] = 'ame-visible-users'; } wp_register_auto_versioned_script('ame-actor-selector', plugins_url('modules/actor-selector/actor-selector.js', $this->menuEditor->plugin_file), $dependencies); $currentUser = wp_get_current_user(); wp_localize_script('ame-actor-selector', 'wsAmeActorSelectorData', array('visibleUsers' => $this->menuEditor->get_plugin_option('visible_users'), 'currentUserLogin' => $currentUser->get('user_login'), 'isProVersion' => apply_filters('admin_menu_editor_is_pro', false), 'ajaxUpdateAction' => self::ajaxUpdateAction, 'ajaxUpdateNonce' => wp_create_nonce(self::ajaxUpdateAction), 'adminAjaxUrl' => admin_url('admin-ajax.php'))); }
/** * Remove Admin Menu Editor Pro from the list of plugins unless the current user * is explicitly allowed to see it. * * @param array $plugins List of installed plugins. * @return array Filtered list of plugins. */ public function filter_plugin_list($plugins) { $allowed_user_id = $this->wp_menu_editor->get_plugin_option('plugins_page_allowed_user_id'); if (get_current_user_id() != $allowed_user_id) { unset($plugins[$this->wp_menu_editor->plugin_basename]); } return $plugins; }