Fix PHP fatal error in DeletenoticeAction: died when we had a valid notice, but weren't logged in due to accessing $this->user before the login check. Moved check up to prepare() from handle() so it's done before usage

This commit is contained in:
Brion Vibber 2010-10-08 10:33:43 -07:00
parent 06c4212bd4
commit f62e7c461f
1 changed files with 7 additions and 4 deletions

View File

@ -45,6 +45,12 @@ class DeletenoticeAction extends Action
parent::prepare($args);
$this->user = common_current_user();
if (!$this->user) {
common_user_error(_('Not logged in.'));
exit;
}
$notice_id = $this->trimmed('notice');
$this->notice = Notice::staticGet($notice_id);
@ -63,10 +69,7 @@ class DeletenoticeAction extends Action
{
parent::handle($args);
if (!common_logged_in()) {
common_user_error(_('Not logged in.'));
exit;
} else if ($this->notice->profile_id != $this->user_profile->id &&
if ($this->notice->profile_id != $this->user_profile->id &&
!$this->user->hasRight(Right::DELETEOTHERSNOTICE)) {
common_user_error(_('Can\'t delete this notice.'));
exit;