]> 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 133101eb7aefee0a83866291136c55ec3ff354c4..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;
@@ -95,7 +95,7 @@ class GroupblockAction extends Action
             $this->clientError(_('User is already blocked from group.'));
             return false;
         }
-        // XXX: could have proactive blocks, but we do not have UI for it.
+        // XXX: could have proactive blocks, but we don't have UI for it.
         if (!$this->profile->isMember($this->group)) {
             $this->clientError(_('User is not a member of group.'));
             return false;
@@ -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')) {
@@ -151,17 +149,19 @@ class GroupblockAction extends Action
     function areYouSureForm()
     {
         $id = $this->profile->id;
+        $this->elementStart('form', array('id' => 'block-' . $id,
+                                           'method' => 'post',
+                                           'class' => 'form_settings form_entity_block',
+                                           'action' => common_local_url('groupblock')));
+        $this->elementStart('fieldset');
+        $this->hidden('token', common_session_token());
+        $this->element('legend', _('Block user'));
         $this->element('p', null,
-                       sprintf(_('Are you sure you want to block user "%s" from the group "%s"? '.
+                       sprintf(_('Are you sure you want to block user "%1$s" from the group "%2$s"? '.
                                  'They will be removed from the group, unable to post, and '.
                                  'unable to subscribe to the group in the future.'),
                                $this->profile->getBestName(),
                                $this->group->getBestName()));
-        $this->elementStart('form', array('id' => 'block-' . $id,
-                                           'method' => 'post',
-                                           'class' => 'block',
-                                           'action' => common_local_url('groupblock')));
-        $this->hidden('token', common_session_token());
         $this->hidden('blockto-' . $this->profile->id,
                       $this->profile->id,
                       'blockto');
@@ -173,8 +173,21 @@ class GroupblockAction extends Action
                 $this->hidden($k, $v);
             }
         }
-        $this->submit('no', _('No'));
-        $this->submit('yes', _('Yes'));
+        $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');
     }
 
@@ -193,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');
     }
+
 }