/** * {@inheritdoc} */ public function load($resource, $type = null) { $collection = new RouteCollection(); foreach (PluginManager::getInstance()->getAllPlugins() as $plugin) { $resource = $plugin->getFilesPath() . '/routing.yml'; if (!file_exists($resource)) { // The plugin has no routing file. continue; } $collection->addCollection($this->import($resource, 'yaml')); } return $collection; }
/** * Gets string representation of the current plugin state. * * @param PluginInfo $plugin Plugin to get state for. * @return string Human readable representation of plugin's state. */ protected function getPluginState(PluginInfo $plugin) { if (!$plugin->isEnabled()) { // The plugin is just disabled return getlocal('disabled'); } if (PluginManager::getInstance()->hasPlugin($plugin->getName())) { // The plugin is enabled and works well return getlocal('working'); } // The plugin is enabled but something is wrong. if ($plugin->needsUpdate()) { // The plugin is not working because it needs to be updated. return getlocal('needs update'); } // Actually we do not know why the plugin does not work. The only thing // that can be said is the plugin was not initialized correctly by some // reasons. return getlocal('not initialized'); }
@ini_set('session.name', 'MibewSessionID'); // Remove temporary request to keep global scope clean. unset($tmp_request); // Initialize user session session_start(); if (function_exists("date_default_timezone_set")) { $timezone = !empty($configs['timezone']) ? $configs['timezone'] : (function_exists("date_default_timezone_get") ? @date_default_timezone_get() : "GMT"); @date_default_timezone_set($timezone); } if (get_maintenance_mode() === false) { // Initialize the database \Mibew\Database::initialize($configs['database']['host'], $configs['database']['port'], $configs['database']['login'], $configs['database']['pass'], $configs['database']['use_persistent_connection'], $configs['database']['db'], $configs['database']['tables_prefix']); } // Load all other libraries // TODO: Rewrite libs using Object-Oriented approach require_once MIBEW_FS_ROOT . '/libs/canned.php'; require_once MIBEW_FS_ROOT . '/libs/captcha.php'; require_once MIBEW_FS_ROOT . '/libs/chat.php'; require_once MIBEW_FS_ROOT . '/libs/groups.php'; require_once MIBEW_FS_ROOT . '/libs/invitation.php'; require_once MIBEW_FS_ROOT . '/libs/operator.php'; require_once MIBEW_FS_ROOT . '/libs/pagination.php'; require_once MIBEW_FS_ROOT . '/libs/statistics.php'; require_once MIBEW_FS_ROOT . '/libs/track.php'; require_once MIBEW_FS_ROOT . '/libs/userinfo.php'; // Run plugins only after all libs are loaded. if (get_maintenance_mode() === false && !empty($configs['plugins'])) { // A list of plugins is defined in $plugins_list variable in // configs/config.yml \Mibew\Plugin\PluginManager::getInstance()->loadPlugins($configs['plugins']); }