]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/groupmembers.php
Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x
[quix0rs-gnu-social.git] / actions / groupmembers.php
index d132cdf9670512d5f5083a713726af77b014d90b..2bb35ceddc7eada48df9c5573895a0c135f029b2 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * Laconica, the distributed open-source microblogging tool
+ * StatusNet, the distributed open-source microblogging tool
  *
  * List of group members
  *
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @category  Group
- * @package   Laconica
- * @author    Evan Prodromou <evan@controlyourself.ca>
- * @copyright 2008-2009 Control Yourself, Inc.
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2008-2009 StatusNet, Inc.
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link      http://laconi.ca/
+ * @link      http://status.net/
  */
 
-if (!defined('LACONICA')) {
+if (!defined('STATUSNET') && !defined('LACONICA')) {
     exit(1);
 }
 
@@ -38,12 +38,11 @@ require_once INSTALLDIR.'/lib/publicgroupnav.php';
  * List of group members
  *
  * @category Group
- * @package  Laconica
- * @author   Evan Prodromou <evan@controlyourself.ca>
+ * @package  StatusNet
+ * @author   Evan Prodromou <evan@status.net>
  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link     http://laconi.ca/
+ * @link     http://status.net/
  */
-
 class GroupmembersAction extends GroupDesignAction
 {
     var $page = null;
@@ -73,14 +72,24 @@ class GroupmembersAction extends GroupDesignAction
         }
 
         if (!$nickname) {
-            $this->clientError(_('No nickname'), 404);
+            // TRANS: Client error displayed when trying to view group members without providing a group nickname.
+            $this->clientError(_('No nickname.'), 404);
+            return false;
+        }
+
+        $local = Local_group::staticGet('nickname', $nickname);
+
+        if (!$local) {
+            // TRANS: Client error displayed when trying to view group members for a non-existing group.
+            $this->clientError(_('No such group.'), 404);
             return false;
         }
 
-        $this->group = User_group::staticGet('nickname', $nickname);
+        $this->group = User_group::staticGet('id', $local->group_id);
 
         if (!$this->group) {
-            $this->clientError(_('No such group'), 404);
+            // TRANS: Client error displayed when trying to view group members for an object that is not a group.
+            $this->clientError(_('No such group.'), 404);
             return false;
         }
 
@@ -90,10 +99,14 @@ class GroupmembersAction extends GroupDesignAction
     function title()
     {
         if ($this->page == 1) {
+            // TRANS: Title of the page showing group members.
+            // TRANS: %s is the name of the group.
             return sprintf(_('%s group members'),
                            $this->group->nickname);
         } else {
-            return sprintf(_('%s group members, page %d'),
+            // TRANS: Title of the page showing group members.
+            // TRANS: %1$s is the name of the group, %2$d is the page number of the members list.
+            return sprintf(_('%1$s group members, page %2$d'),
                            $this->group->nickname,
                            $this->page);
         }
@@ -108,10 +121,11 @@ class GroupmembersAction extends GroupDesignAction
     function showPageNotice()
     {
         $this->element('p', 'instructions',
+                       // TRANS: Page notice for group members page.
                        _('A list of the users in this group.'));
     }
 
-    function showLocalNav()
+    function showObjectNav()
     {
         $nav = new GroupNav($this, $this->group);
         $nav->show();
@@ -138,326 +152,3 @@ class GroupmembersAction extends GroupDesignAction
                           array('nickname' => $this->group->nickname));
     }
 }
-
-class GroupMemberList extends ProfileList
-{
-    var $group = null;
-
-    function __construct($profile, $group, $action)
-    {
-        parent::__construct($profile, $action);
-
-        $this->group = $group;
-    }
-
-    function newListItem($profile)
-    {
-        return new GroupMemberListItem($profile, $this->group, $this->action);
-    }
-}
-
-class GroupMemberListItem extends ProfileListItem
-{
-    var $group = null;
-
-    function __construct($profile, $group, $action)
-    {
-        parent::__construct($profile, $action);
-
-        $this->group = $group;
-    }
-
-    function showActions()
-    {
-        $this->startActions();
-        $this->showSubscribeButton();
-        $this->showMakeAdminForm();
-        $this->showGroupBlockForm();
-        $this->endActions();
-    }
-
-    function showMakeAdminForm()
-    {
-        $user = common_current_user();
-
-        if (!empty($user) && $user->id != $this->profile->id && $user->isAdmin($this->group) &&
-            !$this->profile->isAdmin($this->group)) {
-            $this->out->elementStart('li', 'entity_make_admin');
-            $maf = new MakeAdminForm($this->out, $this->profile, $this->group,
-                                     array('action' => 'groupmembers',
-                                           'nickname' => $this->group->nickname));
-            $maf->show();
-            $this->out->elementEnd('li');
-        }
-
-    }
-    function showGroupBlockForm()
-    {
-        $user = common_current_user();
-
-        if (!empty($user) && $user->id != $this->profile->id && $user->isAdmin($this->group)) {
-            $this->out->elementStart('li', 'entity_block');
-            $bf = new GroupBlockForm($this->out, $this->profile, $this->group,
-                                array('action' => 'groupmembers',
-                                      'nickname' => $this->group->nickname));
-            $bf->show();
-            $this->out->elementEnd('li');
-        }
-
-    }
-}
-
-/**
- * Form for blocking a user from a group
- *
- * @category Form
- * @package  Laconica
- * @author   Evan Prodromou <evan@controlyourself.ca>
- * @author   Sarven Capadisli <csarven@controlyourself.ca>
- * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link     http://laconi.ca/
- *
- * @see      BlockForm
- */
-
-class GroupBlockForm extends Form
-{
-    /**
-     * Profile of user to block
-     */
-
-    var $profile = null;
-
-    /**
-     * Group to block the user from
-     */
-
-    var $group = null;
-
-    /**
-     * Return-to args
-     */
-
-    var $args = null;
-
-    /**
-     * Constructor
-     *
-     * @param HTMLOutputter $out     output channel
-     * @param Profile       $profile profile of user to block
-     * @param User_group    $group   group to block user from
-     * @param array         $args    return-to args
-     */
-
-    function __construct($out=null, $profile=null, $group=null, $args=null)
-    {
-        parent::__construct($out);
-
-        $this->profile = $profile;
-        $this->group   = $group;
-        $this->args    = $args;
-    }
-
-    /**
-     * ID of the form
-     *
-     * @return int ID of the form
-     */
-
-    function id()
-    {
-        // This should be unique for the page.
-        return 'block-' . $this->profile->id;
-    }
-
-    /**
-     * class of the form
-     *
-     * @return string class of the form
-     */
-
-    function formClass()
-    {
-        return 'form_group_block';
-    }
-
-    /**
-     * Action of the form
-     *
-     * @return string URL of the action
-     */
-
-    function action()
-    {
-        return common_local_url('groupblock');
-    }
-
-    /**
-     * Legend of the Form
-     *
-     * @return void
-     */
-    function formLegend()
-    {
-        $this->out->element('legend', null, _('Block user from group'));
-    }
-
-    /**
-     * Data elements of the form
-     *
-     * @return void
-     */
-
-    function formData()
-    {
-        $this->out->hidden('blockto-' . $this->profile->id,
-                           $this->profile->id,
-                           'blockto');
-        $this->out->hidden('blockgroup-' . $this->group->id,
-                           $this->group->id,
-                           'blockgroup');
-        if ($this->args) {
-            foreach ($this->args as $k => $v) {
-                $this->out->hidden('returnto-' . $k, $v);
-            }
-        }
-    }
-
-    /**
-     * Action elements
-     *
-     * @return void
-     */
-
-    function formActions()
-    {
-        $this->out->submit('submit', _('Block'), 'submit', null, _('Block this user'));
-    }
-}
-
-/**
- * Form for making a user an admin for a group
- *
- * @category Form
- * @package  Laconica
- * @author   Evan Prodromou <evan@controlyourself.ca>
- * @author   Sarven Capadisli <csarven@controlyourself.ca>
- * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link     http://laconi.ca/
- */
-
-class MakeAdminForm extends Form
-{
-    /**
-     * Profile of user to block
-     */
-
-    var $profile = null;
-
-    /**
-     * Group to block the user from
-     */
-
-    var $group = null;
-
-    /**
-     * Return-to args
-     */
-
-    var $args = null;
-
-    /**
-     * Constructor
-     *
-     * @param HTMLOutputter $out     output channel
-     * @param Profile       $profile profile of user to block
-     * @param User_group    $group   group to block user from
-     * @param array         $args    return-to args
-     */
-
-    function __construct($out=null, $profile=null, $group=null, $args=null)
-    {
-        parent::__construct($out);
-
-        $this->profile = $profile;
-        $this->group   = $group;
-        $this->args    = $args;
-    }
-
-    /**
-     * ID of the form
-     *
-     * @return int ID of the form
-     */
-
-    function id()
-    {
-        // This should be unique for the page.
-        return 'makeadmin-' . $this->profile->id;
-    }
-
-    /**
-     * class of the form
-     *
-     * @return string class of the form
-     */
-
-    function formClass()
-    {
-        return 'form_make_admin';
-    }
-
-    /**
-     * Action of the form
-     *
-     * @return string URL of the action
-     */
-
-    function action()
-    {
-        return common_local_url('makeadmin', array('nickname' => $this->group->nickname));
-    }
-
-    /**
-     * Legend of the Form
-     *
-     * @return void
-     */
-
-    function formLegend()
-    {
-        $this->out->element('legend', null, _('Make user an admin of the group'));
-    }
-
-    /**
-     * Data elements of the form
-     *
-     * @return void
-     */
-
-    function formData()
-    {
-        $this->out->hidden('profileid-' . $this->profile->id,
-                           $this->profile->id,
-                           'profileid');
-        $this->out->hidden('groupid-' . $this->group->id,
-                           $this->group->id,
-                           'groupid');
-        if ($this->args) {
-            foreach ($this->args as $k => $v) {
-                $this->out->hidden('returnto-' . $k, $v);
-            }
-        }
-    }
-
-    /**
-     * Action elements
-     *
-     * @return void
-     */
-
-    function formActions()
-    {
-        $this->out->submit('submit', _('Make Admin'), 'submit', null, _('Make this user an admin'));
-    }
-}