芝麻web文件管理V1.00
编辑当前文件:/home/asmplong/www/ancien-site-2019/integ/administrator/gmbackup/libraries/joomla/plugin/helper.php
type == $type) { $result[] = $plugins[$i]; } } else { if($plugins[$i]->type == $type && $plugins[$i]->name == $plugin) { $result = $plugins[$i]; break; } } } return $result; } /** * Checks if a plugin is enabled * * @access public * @param string $type The plugin type, relates to the sub-directory in the plugins directory * @param string $plugin The plugin name * @return boolean */ function isEnabled( $type, $plugin = null ) { $result = &JPluginHelper::getPlugin( $type, $plugin); return (!empty($result)); } /** * Loads all the plugin files for a particular type if no specific plugin is specified * otherwise only the specific pugin is loaded. * * @access public * @param string $type The plugin type, relates to the sub-directory in the plugins directory * @param string $plugin The plugin name * @return boolean True if success */ function importPlugin($type, $plugin = null, $autocreate = true, $dispatcher = null) { $result = false; $plugins = JPluginHelper::_load(); $total = count($plugins); for($i = 0; $i < $total; $i++) { if($plugins[$i]->type == $type && ($plugins[$i]->name == $plugin || $plugin === null)) { JPluginHelper::_import( $plugins[$i], $autocreate, $dispatcher ); $result = true; } } return $result; } /** * Loads the plugin file * * @access private * @return boolean True if success */ function _import( &$plugin, $autocreate = true, $dispatcher = null ) { static $paths; if (!$paths) { $paths = array(); } $result = false; $plugin->type = preg_replace('/[^A-Z0-9_\.-]/i', '', $plugin->type); $plugin->name = preg_replace('/[^A-Z0-9_\.-]/i', '', $plugin->name); $path = JPATH_PLUGINS.DS.$plugin->type.DS.$plugin->name.'.php'; if (!isset( $paths[$path] )) { if (file_exists( $path )) { //needed for backwards compatibility global $_MAMBOTS, $mainframe; jimport('joomla.plugin.plugin'); require_once( $path ); $paths[$path] = true; if($autocreate) { // Makes sure we have an event dispatcher if(!is_object($dispatcher)) { $dispatcher = & JDispatcher::getInstance(); } $className = 'plg'.$plugin->type.$plugin->name; if(class_exists($className)) { // load plugin parameters $plugin =& JPluginHelper::getPlugin($plugin->type, $plugin->name); // create the plugin $instance = new $className($dispatcher, (array)($plugin)); } } } else { $paths[$path] = false; } } } /** * Loads the published plugins * * @access private */ function _load() { static $plugins; if (isset($plugins)) { return $plugins; } $db =& JFactory::getDBO(); $user =& JFactory::getUser(); if (isset($user)) { $aid = $user->get('aid', 0); $query = 'SELECT folder AS type, element AS name, params' . ' FROM #__plugins' . ' WHERE published >= 1' . ' AND access <= ' . (int) $aid . ' ORDER BY ordering'; } else { $query = 'SELECT folder AS type, element AS name, params' . ' FROM #__plugins' . ' WHERE published >= 1' . ' ORDER BY ordering'; } $db->setQuery( $query ); if (!($plugins = $db->loadObjectList())) { JError::raiseWarning( 'SOME_ERROR_CODE', "Error loading Plugins: " . $db->getErrorMsg()); return false; } return $plugins; } }