/** * Main WPCOM_VIP_Plugins_UI Instance * * Insures that only one instance of WPCOM_VIP_Plugins_UI exists in memory at any one time. * Also prevents needing to define globals all over the place. * * @staticvar array $instance * @uses WPCOM_VIP_Plugins_UI::setup_globals() Setup the globals needed * @uses WPCOM_VIP_Plugins_UI::setup_actions() Setup the hooks and actions * @see WPCOM_VIP_Plugins_UI() * @return WPCOM_VIP_Plugins_UI The one true WPCOM_VIP_Plugins_UI */ public static function instance() { if (!isset(self::$instance)) { self::$instance = new WPCOM_VIP_Plugins_UI(); self::$instance->setup_globals(); self::$instance->setup_actions(); } return self::$instance; }
/** * Fetch the list of VIP plugins to display in the list table. */ public function prepare_items() { $active = $inactive = array(); $vip_plugins = WPCOM_VIP_Plugins_UI::instance(); $shared_plugins = $vip_plugins->get_shared_plugins(); foreach ($shared_plugins as $plugin_file => $plugin_data) { $plugin_folder = basename(dirname($plugin_file)); if (isset(WPCOM_VIP_Plugins_UI()->fpp_plugins[$plugin_folder])) { continue; } $plugin_file = WPCOM_VIP_Plugins_UI::SHARED_PLUGINS_RELATIVE_PATH . '/' . $plugin_file; $status = WPCOM_VIP_Plugins_UI()->is_plugin_active($plugin_folder) ? 'active' : 'inactive'; if ('inactive' === $status && in_array($plugin_folder, WPCOM_VIP_Plugins_UI()->hidden_plugins, true)) { continue; } ${$status}[$plugin_file] = _get_plugin_data_markup_translate($plugin_file, $plugin_data, false, true); } $this->items = array_merge($active, $inactive); }
/** * Fetch the list of VIP plugins to display in the list table. */ public function prepare_items() { $active = $inactive = array(); $vip_plugins = WPCOM_VIP_Plugins_UI::instance(); $shared_plugins = $vip_plugins->get_shared_plugins(); // The path has to be foreach ($shared_plugins as $plugin_file => $plugin_data) { $plugin_folder = basename(dirname($plugin_file)); // FPP is listed separately if (isset(WPCOM_VIP_Plugins_UI()->fpp_plugins[$plugin_folder])) { continue; } $plugin_file = WPCOM_VIP_Plugins_UI::SHARED_PLUGINS_RELATIVE_PATH . '/' . $plugin_file; $status = WPCOM_VIP_Plugins_UI()->is_plugin_active($plugin_folder) ? 'active' : 'inactive'; // Don't want some plugins showing up in the list if ('inactive' == $status && in_array($plugin_folder, WPCOM_VIP_Plugins_UI()->hidden_plugins)) { continue; } // Translate, Don't Apply Markup, Sanitize HTML ${$status}[$plugin_file] = _get_plugin_data_markup_translate($plugin_file, $plugin_data, false, true); } $this->items = array_merge($active, $inactive); }
/** * The main function responsible for returning the one true WPCOM_VIP_Plugins_UI instance to functions everywhere. * * Use this function like you would a global variable, except without needing to declare the global. * Example: <?php $WPCOM_VIP_Plugins_UI = WPCOM_VIP_Plugins_UI(); ?> * * @return WPCOM_VIP_Plugins_UI The one true WPCOM_VIP_Plugins_UI Instance */ function WPCOM_VIP_Plugins_UI() { return WPCOM_VIP_Plugins_UI::instance(); }