diff options
author | Evan Prodromou <evan@status.net> | 2009-11-16 19:22:22 +0100 |
---|---|---|
committer | Evan Prodromou <evan@status.net> | 2009-11-16 19:22:22 +0100 |
commit | f1efb845e4955f398be3a7e36499474dc67bdade (patch) | |
tree | de565738a6743fb4bc016d03dc843365f36c6860 /classes | |
parent | d2145a5b7f3a95dcfa90edb4bcd5e5b3bf66c116 (diff) |
don't allow sandboxed users to post public notices
Diffstat (limited to 'classes')
-rw-r--r-- | classes/Notice.php | 5 | ||||
-rw-r--r-- | classes/Profile.php | 3 |
2 files changed, 5 insertions, 3 deletions
diff --git a/classes/Notice.php b/classes/Notice.php index fde40240f..1db431f2a 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -203,12 +203,11 @@ class Notice extends Memcached_DataObject $notice = new Notice(); $notice->profile_id = $profile_id; - $blacklist = common_config('public', 'blacklist'); $autosource = common_config('public', 'autosource'); - # Blacklisted are non-false, but not 1, either + # Sandboxed are non-false, but not 1, either - if (($blacklist && in_array($profile_id, $blacklist)) || + if (!$user->hasRight(Right::PUBLICNOTICE) || ($source && $autosource && in_array($source, $autosource))) { $notice->is_local = Notice::LOCAL_NONPUBLIC; } else { diff --git a/classes/Profile.php b/classes/Profile.php index e3b35533a..291e3f064 100644 --- a/classes/Profile.php +++ b/classes/Profile.php @@ -692,6 +692,9 @@ class Profile extends Memcached_DataObject case Right::NEWNOTICE: $result = !$this->isSilenced(); break; + case Right::PUBLICNOTICE: + $result = !$this->isSandboxed(); + break; default: $result = false; break; |