]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/groupnav.php
Leding tabs to spaces.
[quix0rs-gnu-social.git] / lib / groupnav.php
index 131b38fa27b7261765045f73c5c6aa1974429e0b..13795721aed3e376aed601acd14e31b7441b11ec 100644 (file)
@@ -48,10 +48,8 @@ require_once INSTALLDIR.'/lib/widget.php';
  *
  * @see      HTMLOutputter
  */
-
-class GroupNav extends Widget
+class GroupNav extends Menu
 {
-    var $action = null;
     var $group = null;
 
     /**
@@ -59,11 +57,9 @@ class GroupNav extends Widget
      *
      * @param Action $action current action, used for output
      */
-
     function __construct($action=null, $group=null)
     {
         parent::__construct($action);
-        $this->action = $action;
         $this->group = $group;
     }
 
@@ -72,7 +68,6 @@ class GroupNav extends Widget
      *
      * @return void
      */
-
     function show()
     {
         $action_name = $this->action->trimmed('action');
@@ -82,42 +77,73 @@ class GroupNav extends Widget
         if (Event::handle('StartGroupGroupNav', array($this))) {
             $this->out->menuItem(common_local_url('showgroup', array('nickname' =>
                                                                      $nickname)),
-                                 _('Group'),
-                                 sprintf(_('%s group'), $nickname),
+                                 // TRANS: Menu item in the group navigation page.
+                                 _m('MENU','Group'),
+                                 // TRANS: Tooltip for menu item in the group navigation page.
+                                 // TRANS: %s is the nickname of the group.
+                                 sprintf(_m('TOOLTIP','%s group'), $nickname),
                                  $action_name == 'showgroup',
                                  'nav_group_group');
             $this->out->menuItem(common_local_url('groupmembers', array('nickname' =>
                                                                         $nickname)),
-                                 _('Members'),
-                                 sprintf(_('%s group members'), $nickname),
+                                 // TRANS: Menu item in the group navigation page.
+                                 _m('MENU','Members'),
+                                 // TRANS: Tooltip for menu item in the group navigation page.
+                                 // TRANS: %s is the nickname of the group.
+                                 sprintf(_m('TOOLTIP','%s group members'), $nickname),
                                  $action_name == 'groupmembers',
                                  'nav_group_members');
 
             $cur = common_current_user();
 
             if ($cur && $cur->isAdmin($this->group)) {
+                $pending = $this->countPendingMembers();
+                if ($pending || $this->group->join_policy == User_group::JOIN_POLICY_MODERATE) {
+                    $this->out->menuItem(common_local_url('groupqueue', array('nickname' =>
+                                                                              $nickname)),
+                                         // TRANS: Menu item in the group navigation page. Only shown for group administrators.
+                                         // TRANS: %d is the number of pending members.
+                                         sprintf(_m('MENU','Pending members (%d)','Pending members (%d)',$pending), $pending),
+                                         // TRANS: Tooltip for menu item in the group navigation page. Only shown for group administrators.
+                                         // TRANS: %s is the nickname of the group.
+                                         sprintf(_m('TOOLTIP','%s pending members'), $nickname),
+                                         $action_name == 'groupqueue',
+                                         'nav_group_pending');
+                }
                 $this->out->menuItem(common_local_url('blockedfromgroup', array('nickname' =>
                                                                                 $nickname)),
-                                     _('Blocked'),
-                                     sprintf(_('%s blocked users'), $nickname),
+                                     // TRANS: Menu item in the group navigation page. Only shown for group administrators.
+                                     _m('MENU','Blocked'),
+                                     // TRANS: Tooltip for menu item in the group navigation page. Only shown for group administrators.
+                                     // TRANS: %s is the nickname of the group.
+                                     sprintf(_m('TOOLTIP','%s blocked users'), $nickname),
                                      $action_name == 'blockedfromgroup',
                                      'nav_group_blocked');
                 $this->out->menuItem(common_local_url('editgroup', array('nickname' =>
                                                                          $nickname)),
-                                     _('Admin'),
-                                     sprintf(_('Edit %s group properties'), $nickname),
+                                     // TRANS: Menu item in the group navigation page. Only shown for group administrators.
+                                     _m('MENU','Admin'),
+                                     // TRANS: Tooltip for menu item in the group navigation page. Only shown for group administrators.
+                                     // TRANS: %s is the nickname of the group.
+                                     sprintf(_m('TOOLTIP','Edit %s group properties'), $nickname),
                                      $action_name == 'editgroup',
                                      'nav_group_admin');
                 $this->out->menuItem(common_local_url('grouplogo', array('nickname' =>
                                                                          $nickname)),
-                                     _('Logo'),
-                                     sprintf(_('Add or edit %s logo'), $nickname),
+                                     // TRANS: Menu item in the group navigation page. Only shown for group administrators.
+                                     _m('MENU','Logo'),
+                                     // TRANS: Tooltip for menu item in the group navigation page. Only shown for group administrators.
+                                     // TRANS: %s is the nickname of the group.
+                                     sprintf(_m('TOOLTIP','Add or edit %s logo'), $nickname),
                                      $action_name == 'grouplogo',
                                      'nav_group_logo');
                 $this->out->menuItem(common_local_url('groupdesignsettings', array('nickname' =>
                                                                       $nickname)),
-                                     _('Design'),
-                                     sprintf(_('Add or edit %s design'), $nickname),
+                                     // TRANS: Menu item in the group navigation page. Only shown for group administrators.
+                                     _m('MENU','Design'),
+                                     // TRANS: Tooltip for menu item in the group navigation page. Only shown for group administrators.
+                                     // TRANS: %s is the nickname of the group.
+                                     sprintf(_m('TOOLTIP','Add or edit %s design'), $nickname),
                                      $action_name == 'groupdesignsettings',
                                      'nav_group_design');
             }
@@ -125,4 +151,11 @@ class GroupNav extends Widget
         }
         $this->out->elementEnd('ul');
     }
+
+    function countPendingMembers()
+    {
+        $req = new Group_join_queue();
+        $req->group_id = $this->group->id;
+        return $req->count();
+    }
 }