X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=actions%2Feditpeopletag.php;h=45c8adaa7d59fc933a4ec70ddb157c5dfebfdc0f;hb=79c40bc73b41147fbc98eb03c590f9d4383c32d1;hp=db34e485cc214b2c8f50abfcb57ba040e7f190c5;hpb=53af608ef882eb03cd924ed630f98d856c11370a;p=quix0rs-gnu-social.git diff --git a/actions/editpeopletag.php b/actions/editpeopletag.php index db34e485cc..45c8adaa7d 100644 --- a/actions/editpeopletag.php +++ b/actions/editpeopletag.php @@ -40,19 +40,19 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { * @link http://status.net/ */ -class EditpeopletagAction extends OwnerDesignAction +class EditpeopletagAction extends Action { var $msg, $confirm, $confirm_args=array(); function title() { if ($_SERVER['REQUEST_METHOD'] == 'POST' && $this->boolean('delete')) { - // TRANS: Title for edit people tag page after deleting a tag. - // TRANS: %s is a tag. + // TRANS: Title for edit list page after deleting a tag. + // TRANS: %s is a list. return sprintf(_('Delete %s list'), $this->peopletag->tag); } - // TRANS: Title for edit people tag page. - // TRANS: %s is a tag. + // TRANS: Title for edit list page. + // TRANS: %s is a list. return sprintf(_('Edit list %s'), $this->peopletag->tag); } @@ -67,11 +67,14 @@ class EditpeopletagAction extends OwnerDesignAction 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 OwnerDesignAction 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-exsting people tag. + // 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(); @@ -215,7 +213,7 @@ class EditpeopletagAction extends OwnerDesignAction $this->element('p', 'instructions', $this->confirm); } else { $this->element('p', 'instructions', - // TRANS: Form instruction for edit people tag form. + // TRANS: Form instruction for edit list form. _('Use this form to edit the list.')); } } @@ -260,7 +258,7 @@ class EditpeopletagAction extends OwnerDesignAction return; } else if (Profile_list::descriptionTooLong($description)) { $this->showForm(sprintf( - // TRANS: Client error shown when providing too long a description when editing a people tag. + // TRANS: Client error shown when providing too long a description when editing a list. // TRANS: %d is the maximum number of allowed characters. _m('Description is too long (maximum %d character).', 'Description is too long (maximum %d characters).', @@ -279,6 +277,14 @@ class EditpeopletagAction extends OwnerDesignAction 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); @@ -293,7 +299,7 @@ class EditpeopletagAction extends OwnerDesignAction if (!$result) { common_log_db_error($this->group, 'UPDATE', __FILE__); - // TRANS: TRANS: Server error displayed when updating a people tag fails. + // TRANS: Server error displayed when updating a list fails. $this->serverError(_('Could not update list.')); } @@ -303,22 +309,13 @@ class EditpeopletagAction extends OwnerDesignAction 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, 'tag' => $tag)), 303); } else { - // TRANS: Edit people tag form success message. + // TRANS: Edit list form success message. $this->showForm(_('Options saved.')); } }