diff options
author | Evan Prodromou <evan@status.net> | 2009-09-27 21:10:17 -0400 |
---|---|---|
committer | Evan Prodromou <evan@status.net> | 2009-09-27 21:10:17 -0400 |
commit | a8d1b7e9c26b4449a4a1e0e250f9b6766b2d8e62 (patch) | |
tree | 607945c89007cfd1b2500cb6e14d8d1618de6d5f /actions | |
parent | f9bb35369a45fad45f4ca9fc8e03e49a512a5a29 (diff) |
Merge DeleteAction class into DeletenoticeAction
The DeleteAction class checked for notice information, and only had
one subclass: DeletenoticeAction. I couldn't figure out any other
class that would subclass it, so I combined the two into a single class.
Diffstat (limited to 'actions')
-rw-r--r-- | actions/deletenotice.php | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/actions/deletenotice.php b/actions/deletenotice.php index 3d040f2fa..617fa9c17 100644 --- a/actions/deletenotice.php +++ b/actions/deletenotice.php @@ -32,15 +32,44 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } -require_once INSTALLDIR.'/lib/deleteaction.php'; - -class DeletenoticeAction extends DeleteAction +class DeletenoticeAction extends Action { - var $error = null; + var $error = null; + var $user = null; + var $notice = null; + var $profile = null; + var $user_profile = null; + + function prepare($args) + { + parent::prepare($args); + + $this->user = common_current_user(); + $notice_id = $this->trimmed('notice'); + $this->notice = Notice::staticGet($notice_id); + + if (!$this->notice) { + common_user_error(_('No such notice.')); + exit; + } + + $this->profile = $this->notice->getProfile(); + $this->user_profile = $this->user->getProfile(); + + return true; + } function handle($args) { parent::handle($args); + + if (!common_logged_in()) { + common_user_error(_('Not logged in.')); + exit; + } else if ($this->notice->profile_id != $this->user_profile->id) { + common_user_error(_('Can\'t delete this notice.')); + exit; + } // XXX: Ajax! if ($_SERVER['REQUEST_METHOD'] == 'POST') { |