Introduce a ConfigException
This commit is contained in:
parent
9534969c05
commit
d6598e790c
@ -507,8 +507,7 @@ class Notice extends Managed_DataObject
|
|||||||
$notice = new Notice();
|
$notice = new Notice();
|
||||||
$notice->profile_id = $profile_id;
|
$notice->profile_id = $profile_id;
|
||||||
|
|
||||||
$autosource = common_config('public', 'autosource');
|
if ($source && in_array($source, common_config('public', 'autosource'))) {
|
||||||
if ($source && $autosource && in_array($source, $autosource)) {
|
|
||||||
$notice->is_local = Notice::LOCAL_NONPUBLIC;
|
$notice->is_local = Notice::LOCAL_NONPUBLIC;
|
||||||
} else {
|
} else {
|
||||||
$notice->is_local = $is_local;
|
$notice->is_local = $is_local;
|
||||||
@ -823,8 +822,7 @@ class Notice extends Managed_DataObject
|
|||||||
// Since then we have started just filtering _when_ it gets shown
|
// Since then we have started just filtering _when_ it gets shown
|
||||||
// instead of creating a mixed jumble of differently scoped notices.
|
// instead of creating a mixed jumble of differently scoped notices.
|
||||||
|
|
||||||
$autosource = common_config('public', 'autosource');
|
if ($source && in_array($source, common_config('public', 'autosource'))) {
|
||||||
if ($source && $autosource && in_array($source, $autosource)) {
|
|
||||||
$stored->is_local = Notice::LOCAL_NONPUBLIC;
|
$stored->is_local = Notice::LOCAL_NONPUBLIC;
|
||||||
} else {
|
} else {
|
||||||
$stored->is_local = intval($is_local);
|
$stored->is_local = intval($is_local);
|
||||||
|
22
lib/configexception.php
Normal file
22
lib/configexception.php
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?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);
|
||||||
|
}
|
||||||
|
}
|
@ -432,9 +432,13 @@ class GNUsocial
|
|||||||
if (common_config('htmlpurifier', 'Cache.DefinitionImpl') === 'Serializer'
|
if (common_config('htmlpurifier', 'Cache.DefinitionImpl') === 'Serializer'
|
||||||
&& !is_dir(common_config('htmlpurifier', 'Cache.SerializerPath'))) {
|
&& !is_dir(common_config('htmlpurifier', 'Cache.SerializerPath'))) {
|
||||||
if (!mkdir(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.');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user