diff --git a/lib/installer.php b/lib/installer.php index 2eff2d85ac..c046eadea3 100644 --- a/lib/installer.php +++ b/lib/installer.php @@ -85,7 +85,11 @@ abstract class Installer $config = INSTALLDIR.'/config.php'; if (file_exists($config)) { if (!is_writable($config) || filesize($config) > 0) { - $this->warning('Config file "config.php" already exists.'); + if (filesize($config) == 0) { + $this->warning('Config file "config.php" already exists and is empty, but is not writable.'); + } else { + $this->warning('Config file "config.php" already exists.'); + } $pass = false; } } diff --git a/lib/statusnet.php b/lib/statusnet.php index 7212a4a47d..7cb831696b 100644 --- a/lib/statusnet.php +++ b/lib/statusnet.php @@ -336,8 +336,11 @@ class StatusNet foreach ($config_files as $_config_file) { if (@file_exists($_config_file)) { - include($_config_file); - self::$have_config = true; + // Ignore 0-byte config files + if (filesize($_config_file) > 0) { + include($_config_file); + self::$have_config = true; + } } } diff --git a/plugins/ModHelper/ModHelperPlugin.php b/plugins/ModHelper/ModHelperPlugin.php new file mode 100644 index 0000000000..78818ebc87 --- /dev/null +++ b/plugins/ModHelper/ModHelperPlugin.php @@ -0,0 +1,54 @@ +. + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +/** + * @package ModHelperPlugin + * @maintainer Brion Vibber + */ +class ModHelperPlugin extends Plugin +{ + function onPluginVersion(&$versions) + { + $versions[] = array('name' => 'ModHelper', + 'version' => STATUSNET_VERSION, + 'author' => 'Brion Vibber', + 'homepage' => 'http://status.net/wiki/Plugin:ModHelper', + 'rawdescription' => + _m('Lets users who have been manually marked as "modhelper"s silence accounts.')); + + return true; + } + + function onUserRightsCheck($profile, $right, &$result) + { + if ($right == Right::SILENCEUSER || $right == Right::SANDBOXUSER) { + // Hrm.... really we should confirm that the *other* user isn't privleged. :) + if ($profile->hasRole('modhelper')) { + $result = true; + return false; + } + } + return true; + } + +}