]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/editpeopletag.php
Can now delete lists/peopletags (thanks MrB)
[quix0rs-gnu-social.git] / actions / editpeopletag.php
index b2dedc890f6c6429d25e7a9b0f9232a012990ea3..45c8adaa7d59fc933a4ec70ddb157c5dfebfdc0f 100644 (file)
@@ -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,