]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/groupblock.php
Merge branch 'master' of gitorious.org:statusnet/mainline into 0.9.x
[quix0rs-gnu-social.git] / actions / groupblock.php
index ec673358e66cea107c30fbb5f8fae1b4ea4e7c63..39f783397ad08e18e47448f5b490ea35dec66250 100644 (file)
@@ -41,7 +41,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
  * @link     http://status.net/
  */
 
-class GroupblockAction extends Action
+class GroupblockAction extends RedirectingAction
 {
     var $profile = null;
     var $group = null;
@@ -117,9 +117,7 @@ class GroupblockAction extends Action
         parent::handle($args);
         if ($_SERVER['REQUEST_METHOD'] == 'POST') {
             if ($this->arg('no')) {
-                common_redirect(common_local_url('groupmembers',
-                                                 array('nickname' => $this->group->nickname)),
-                                303);
+                $this->returnToPrevious();
             } elseif ($this->arg('yes')) {
                 $this->blockProfile();
             } elseif ($this->arg('blockto')) {
@@ -175,8 +173,20 @@ class GroupblockAction extends Action
                 $this->hidden($k, $v);
             }
         }
-        $this->submit('form_action-no', _('No'), 'submit form_action-primary', 'no', _("Do not block this user from this group"));
-        $this->submit('form_action-yes', _('Yes'), 'submit form_action-secondary', 'yes', _('Block this user from this group'));
+        $this->submit('form_action-no',
+                      // TRANS: Button label on the form to block a user from a group.
+                      _m('BUTTON','No'),
+                      'submit form_action-primary',
+                      'no',
+                      // TRANS: Submit button title for 'No' when blocking a user from a group.
+                      _('Do not block this user from this group'));
+        $this->submit('form_action-yes',
+                      // TRANS: Button label on the form to block a user from a group.
+                      _m('BUTTON','Yes'),
+                      'submit form_action-secondary',
+                      'yes',
+                      // TRANS: Submit button title for 'Yes' when blocking a user from a group.
+                      _('Block this user from this group'));
         $this->elementEnd('fieldset');
         $this->elementEnd('form');
     }
@@ -196,23 +206,27 @@ class GroupblockAction extends Action
             $this->serverError(_("Database error blocking user from group."));
             return false;
         }
+        
+        $this->returnToPrevious();
+    }
 
-        // Now, gotta figure where we go back to
-        foreach ($this->args as $k => $v) {
-            if ($k == 'returnto-action') {
-                $action = $v;
-            } elseif (substr($k, 0, 9) == 'returnto-') {
-                $args[substr($k, 9)] = $v;
-            }
-        }
+    /**
+     * If we reached this form without returnto arguments, default to
+     * the top of the group's member list.
+     * 
+     * @return string URL
+     */
+    function defaultReturnTo()
+    {
+        return common_local_url('groupmembers',
+                                array('nickname' => $this->group->nickname));
+    }
 
-        if ($action) {
-            common_redirect(common_local_url($action, $args), 303);
-        } else {
-            common_redirect(common_local_url('groupmembers',
-                                             array('nickname' => $this->group->nickname)),
-                            303);
-        }
+    function showScripts()
+    {
+        parent::showScripts();
+        $this->autofocus('form_action-yes');
     }
+
 }