Пример #1
0
 /**
  * Load the default or specified configuration file.
  * Modifies global $config and may establish plugins.
  *
  * @throws NoConfigException
  */
 protected function loadConfigFile($conffile = null)
 {
     global $_server, $_path, $config;
     // From most general to most specific:
     // server-wide, then vhost-wide, then for a path,
     // finally for a dir (usually only need one of the last two).
     if (isset($conffile)) {
         $config_files = array($conffile);
     } else {
         $config_files = array('/etc/statusnet/statusnet.php', '/etc/statusnet/laconica.php', '/etc/laconica/laconica.php', '/etc/statusnet/' . $_server . '.php', '/etc/laconica/' . $_server . '.php');
         if (strlen($_path) > 0) {
             $config_files[] = '/etc/statusnet/' . $_server . '_' . $_path . '.php';
             $config_files[] = '/etc/laconica/' . $_server . '_' . $_path . '.php';
         }
         $config_files[] = INSTALLDIR . '/config.php';
     }
     self::$have_config = false;
     foreach ($config_files as $_config_file) {
         if (@file_exists($_config_file)) {
             // Ignore 0-byte config files
             if (filesize($_config_file) > 0) {
                 include $_config_file;
                 self::$have_config = true;
             }
         }
     }
     if (!self::$have_config) {
         throw new NoConfigException("No configuration file found.", $config_files);
     }
     // Fixup for statusnet.ini
     $_db_name = substr($config['db']['database'], strrpos($config['db']['database'], '/') + 1);
     if ($_db_name != 'statusnet' && !array_key_exists('ini_' . $_db_name, $config['db'])) {
         $config['db']['ini_' . $_db_name] = INSTALLDIR . '/classes/statusnet.ini';
     }
     // Backwards compatibility
     if (array_key_exists('memcached', $config)) {
         if ($config['memcached']['enabled']) {
             addPlugin('Memcache', array('servers' => $config['memcached']['server']));
         }
         if (!empty($config['memcached']['base'])) {
             $config['cache']['base'] = $config['memcached']['base'];
         }
     }
 }
Пример #2
0
 /**
  * Load the default or specified configuration file.
  * Modifies global $config and may establish plugins.
  *
  * @throws NoConfigException
  */
 protected function loadConfigFile($conffile = null)
 {
     global $_server, $_path, $config;
     // From most general to most specific:
     // server-wide, then vhost-wide, then for a path,
     // finally for a dir (usually only need one of the last two).
     if (isset($conffile)) {
         $config_files = array($conffile);
     } else {
         $config_files = array('/etc/statusnet/statusnet.php', '/etc/statusnet/laconica.php', '/etc/laconica/laconica.php', '/etc/statusnet/' . $_server . '.php', '/etc/laconica/' . $_server . '.php');
         if (strlen($_path) > 0) {
             $config_files[] = '/etc/statusnet/' . $_server . '_' . $_path . '.php';
             $config_files[] = '/etc/laconica/' . $_server . '_' . $_path . '.php';
         }
         $config_files[] = INSTALLDIR . '/config.php';
     }
     self::$have_config = false;
     foreach ($config_files as $_config_file) {
         if (@file_exists($_config_file)) {
             // Ignore 0-byte config files
             if (filesize($_config_file) > 0) {
                 common_log(LOG_INFO, "Including config file: " . $_config_file);
                 include $_config_file;
                 self::$have_config = true;
             }
         }
     }
     if (!self::$have_config) {
         throw new NoConfigException("No configuration file found.", $config_files);
     }
     // Backwards compatibility
     if (array_key_exists('memcached', $config)) {
         if ($config['memcached']['enabled']) {
             addPlugin('Memcache', array('servers' => $config['memcached']['server']));
         }
         if (!empty($config['memcached']['base'])) {
             $config['cache']['base'] = $config['memcached']['base'];
         }
     }
     if (array_key_exists('xmpp', $config)) {
         if ($config['xmpp']['enabled']) {
             addPlugin('xmpp', array('server' => $config['xmpp']['server'], 'port' => $config['xmpp']['port'], 'user' => $config['xmpp']['user'], 'resource' => $config['xmpp']['resource'], 'encryption' => $config['xmpp']['encryption'], 'password' => $config['xmpp']['password'], 'host' => $config['xmpp']['host'], 'debug' => $config['xmpp']['debug'], 'public' => $config['xmpp']['public']));
         }
     }
     // Check for database server; must exist!
     if (empty($config['db']['database'])) {
         throw new ServerException("No database server for this site.");
     }
 }