diff options
-rw-r--r-- | lib/installer.php | 6 | ||||
-rw-r--r-- | lib/statusnet.php | 7 | ||||
-rw-r--r-- | plugins/ModHelper/ModHelperPlugin.php | 54 |
3 files changed, 64 insertions, 3 deletions
diff --git a/lib/installer.php b/lib/installer.php index 2eff2d85a..c046eadea 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 7212a4a47..7cb831696 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 000000000..78818ebc8 --- /dev/null +++ b/plugins/ModHelper/ModHelperPlugin.php @@ -0,0 +1,54 @@ +<?php +/* + * StatusNet - the distributed open-source microblogging tool + * Copyright (C) 2010, StatusNet, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +/** + * @package ModHelperPlugin + * @maintainer Brion Vibber <brion@status.net> + */ +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; + } + +} |