X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Feditpeopletag.php;h=45c8adaa7d59fc933a4ec70ddb157c5dfebfdc0f;hb=8616055959c6ac4ae91fe5fc62e8c8ac2aa7257c;hp=b2dedc890f6c6429d25e7a9b0f9232a012990ea3;hpb=cb183359e23ae7a5cfb483fa06c6c4b7a8b05fff;p=quix0rs-gnu-social.git diff --git a/actions/editpeopletag.php b/actions/editpeopletag.php index b2dedc890f..45c8adaa7d 100644 --- a/actions/editpeopletag.php +++ b/actions/editpeopletag.php @@ -67,11 +67,14 @@ class EditpeopletagAction extends Action 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'); - $tagger_arg = $this->arg('tagger'); + if (common_config('singleuser', 'enabled')) { + $tagger_arg = User::singleUserNickname(); + } else { + $tagger_arg = $this->arg('tagger'); + } $tag_arg = $this->arg('tag'); $tagger = common_canonical_nickname($tagger_arg); @@ -84,43 +87,38 @@ class EditpeopletagAction extends Action 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(); @@ -279,6 +277,14 @@ class EditpeopletagAction extends Action 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); @@ -303,15 +309,6 @@ class EditpeopletagAction extends Action 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,