* Prepare to run
*/
- function prepare($args)
+ function prepare(array $args=array())
{
parent::prepare($args);
if (!common_logged_in()) {
// TRANS: Error message displayed when trying to perform an action that requires a logged in user.
$this->clientError(_('Not logged in.'));
- return false;
}
$id = $this->arg('id');
if ($tagger_arg != $tagger || $tag_arg != $tag) {
$args = array('tagger' => $tagger, 'tag' => $tag);
common_redirect(common_local_url('editpeopletag', $args), 301);
- return false;
}
$user = null;
if ($id) {
- $this->peopletag = Profile_list::staticGet('id', $id);
+ $this->peopletag = Profile_list::getKV('id', $id);
if (!empty($this->peopletag)) {
- $user = User::staticGet('id', $this->peopletag->tagger);
+ $user = User::getKV('id', $this->peopletag->tagger);
}
} else {
if (!$tagger) {
// TRANS: Error message displayed when trying to perform an action that requires a tagging user or ID.
$this->clientError(_('No tagger or ID.'), 404);
- return false;
}
- $user = User::staticGet('nickname', $tagger);
+ $user = User::getKV('nickname', $tagger);
$this->peopletag = Profile_list::pkeyGet(array('tagger' => $user->id, 'tag' => $tag));
}
if (!$this->peopletag) {
// TRANS: Client error displayed when referring to a non-existing list.
$this->clientError(_('No such list.'), 404);
- return false;
}
if (!$user) {
// This should not be happening
// TRANS: Client error displayed when referring to non-local user.
$this->clientError(_('Not a local user.'), 404);
- return false;
}
if ($current->id != $user->id) {
// TRANS: Client error displayed when reting to edit a tag that was not self-created.
$this->clientError(_('You must be the creator of the tag to edit it.'), 404);
- return false;
}
$this->tagger = $user->getProfile();
*
* @return void
*/
- function handle($args)
+ function handle(array $args=array())
{
parent::handle($args);
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
return;
}
+ // We tested $delete && !$confirm earlier so confirmation is required before getting here
+ if ($delete) {
+ // This might take quite a bit of time.
+ $this->peopletag->delete();
+ // send home.
+ common_redirect(common_local_url('all', array('nickname' => $this->tagger->getNickname())), 303);
+ }
+
$this->peopletag->query('BEGIN');
$orig = clone($this->peopletag);
Profile_tag_subscription::cleanup($this->peopletag);
}
- if ($delete) {
- // This might take quite a bit of time.
- $this->peopletag->delete();
- // send home.
- common_redirect(common_local_url('all',
- array('nickname' => $this->tagger->nickname)),
- 303);
- }
-
if ($tag != $orig->tag) {
common_redirect(common_local_url('editpeopletag',
array('tagger' => $this->tagger->nickname,