$notice = new Notice();
$notice->profile_id = $profile_id;
- $autosource = common_config('public', 'autosource');
- if ($source && $autosource && in_array($source, $autosource)) {
+ if ($source && in_array($source, common_config('public', 'autosource'))) {
$notice->is_local = Notice::LOCAL_NONPUBLIC;
} else {
$notice->is_local = $is_local;
// Since then we have started just filtering _when_ it gets shown
// instead of creating a mixed jumble of differently scoped notices.
- $autosource = common_config('public', 'autosource');
- if ($source && $autosource && in_array($source, $autosource)) {
+ if ($source && in_array($source, common_config('public', 'autosource'))) {
$stored->is_local = Notice::LOCAL_NONPUBLIC;
} else {
$stored->is_local = intval($is_local);
--- /dev/null
+<?php
+
+if (!defined('GNUSOCIAL')) { exit(1); }
+
+/**
+ * Class for configuration exceptions
+ *
+ * Subclass of ServerException for when the site's configuration is malformed.
+ *
+ * @category Exception
+ * @package GNUsocial
+ * @author Mikael Nordfeldth <mmn@hethane.se>
+ * @license https://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link https://gnu.io/social
+ */
+
+class ConfigException extends ServerException
+{
+ public function __construct($message=null) {
+ parent::__construct($message, 500);
+ }
+}
if (common_config('htmlpurifier', 'Cache.DefinitionImpl') === 'Serializer'
&& !is_dir(common_config('htmlpurifier', 'Cache.SerializerPath'))) {
if (!mkdir(common_config('htmlpurifier', 'Cache.SerializerPath'))) {
- throw new ServerException('Could not create HTMLPurifier cache dir: '._ve(common_config('htmlpurifier', 'Cache.SerializerPath')));
+ throw new ConfigException('Could not create HTMLPurifier cache dir: '._ve(common_config('htmlpurifier', 'Cache.SerializerPath')));
}
}
+
+ if (!is_array(common_config('public', 'autosource'))) {
+ throw new ConfigException('Configuration option public/autosource is not an array.');
+ }
}
/**