/** * Retrieves singleton IfwPsn_Wp_Plugin_Config object * * @param IfwPsn_Wp_Pathinfo_Plugin $pathinfo * @return IfwPsn_Wp_Plugin_Config */ public static function getInstance(IfwPsn_Wp_Pathinfo_Plugin $pathinfo) { $instanceToken = $pathinfo->getFilename(); if (!isset(self::$_instances[$instanceToken])) { self::$_instances[$instanceToken] = new self($pathinfo); } return self::$_instances[$instanceToken]; }
/** * Initializes the plugin manager * * @param IfwPsn_Wp_Pathinfo_Plugin $pluginPathinfo * @param bool|\false|string $abbr * @return IfwPsn_Wp_Plugin_Manager */ public static function init(IfwPsn_Wp_Pathinfo_Plugin $pluginPathinfo, $abbr = null) { if (!is_string($abbr)) { $abbr = self::_createAbbr($pluginPathinfo->getFilename()); } if (!isset(self::$_instances[$abbr])) { self::$_instances[$abbr] = new self($abbr, $pluginPathinfo); } return self::getInstance($abbr); }
/** * Retrieves singleton IfwPsn_Wp_Plugin_Config object * * @param \IfwPsn_Wp_Pathinfo_Plugin|\IfwPsn_Wp_Plugin_Pathinfo $pluginPathinfo * @return IfwPsn_Wp_Plugin_Config */ public static function getInstance(IfwPsn_Wp_Pathinfo_Plugin $pluginPathinfo) { $instanceToken = $pluginPathinfo->getDirname(); if (!isset(self::$_instances[$instanceToken])) { $iniPath = $pluginPathinfo->getDirnamePath() . 'config.ini'; $env = getenv('IFW_WP_ENV') ? getenv('IFW_WP_ENV') : 'production'; self::$_instances[$instanceToken] = new self($iniPath, $env); } return self::$_instances[$instanceToken]; }
/** * Loads autoloader before other resources for convenience */ protected function _initAutoloader() { if (!class_exists('IfwPsn_Wp_Autoloader')) { require_once $this->_pluginPathinfo->getRootLib() . 'IfwPsn/Wp/Autoloader.php'; } if (!IfwPsn_Wp_Autoloader::init($this->_pluginPathinfo->getRootLib())) { ifw_debug('Autoloader error: Could not init ' . $this->_pluginPathinfo->getRootLib()); } if (!IfwPsn_Wp_Autoloader::init($this->_pluginPathinfo->getRootAdminMenu())) { ifw_debug('Autoloader error: Could not init ' . $this->_pluginPathinfo->getRootAdminMenu()); } }