示例#1
0
 /**
  * {@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;
 }
示例#2
0
 /**
  * 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');
 }
示例#3
0
@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']);
}