/** * Check if a given plugin exist * * @access public static * @param int $id the plugin id * @return bool $existed true if plugin exists, else false * @since 1.0 */ public static function isExists($id) { SLS_PluginsManager::returnPluginsXML(); $code = array_shift(SLS_PluginsManager::$_pluginsXML->getTags('//plugins/plugin[@id="'.$id.'"]/@code')); if (empty($code)) return false; return true; }
/** * Constructor * * @access protected * @param object $plugin the plugin object * @since 1.0 */ protected function __construct($plugin) { $this->_className = get_class($plugin); $this->_code = strtolower($this->_className); $pluginsXML = SLS_PluginsManager::returnPluginsXML(); if (count($pluginsXML->getTags("//plugins/plugin[@code='".$this->_code."']/@id")) == 0) SLS_Tracing::addTrace(new Exception("Cannot find plugin Configuration for ".$this->_className)); else { $this->_id = array_shift($pluginsXML->getTags("//plugins/plugin[@code='".$this->_code."']/@id")); $this->_pluginManager = new SLS_PluginsManager($this->_id); $this->_xml = $this->_pluginManager->getXML(); $this->_version = $this->_pluginManager->_version; } }