]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/usergroups.php
use inboxnoticestream in RSS 1.0
[quix0rs-gnu-social.git] / actions / usergroups.php
index 7ead6e6e49172e4941035e0a4c5d433c210f9026..f9063d88672a06969c014c2c35b736b290977ac2 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * Laconica, the distributed open-source microblogging tool
+ * StatusNet, the distributed open-source microblogging tool
  *
  * User groups information
  *
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @category  Personal
- * @package   Laconica
- * @author    Evan Prodromou <evan@controlyourself.ca>
- * @author    Sarven Capadisli <csarven@controlyourself.ca>
- * @copyright 2008-2009 Control Yourself, Inc.
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @author    Sarven Capadisli <csarven@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);
 }
 
@@ -40,12 +40,11 @@ require_once INSTALLDIR.'/lib/grouplist.php';
  * Show the groups a user belongs to
  *
  * @category Personal
- * @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 UsergroupsAction extends OwnerDesignAction
 {
     var $page = null;
@@ -59,9 +58,13 @@ class UsergroupsAction extends OwnerDesignAction
     function title()
     {
         if ($this->page == 1) {
-            return sprintf(_("%s groups"), $this->user->nickname);
+            // TRANS: Page title for first page of groups for a user.
+            // TRANS: %s is a nickname.
+            return sprintf(_('%s groups'), $this->user->nickname);
         } else {
-            return sprintf(_("%s groups, page %d"),
+            // TRANS: Page title for all but the first page of groups for a user.
+            // TRANS: %1$s is a nickname, %2$d is a page number.
+            return sprintf(_('%1$s groups, page %2$d'),
                            $this->user->nickname,
                            $this->page);
         }
@@ -88,6 +91,7 @@ class UsergroupsAction extends OwnerDesignAction
         $this->user = User::staticGet('nickname', $nickname);
 
         if (!$this->user) {
+            // TRANS: Client error displayed requesting groups for a non-existing user.
             $this->clientError(_('No such user.'), 404);
             return false;
         }
@@ -95,6 +99,7 @@ class UsergroupsAction extends OwnerDesignAction
         $this->profile = $this->user->getProfile();
 
         if (!$this->profile) {
+            // TRANS: Server error displayed requesting groups for a user without a profile.
             $this->serverError(_('User has no profile.'));
             return false;
         }
@@ -110,7 +115,7 @@ class UsergroupsAction extends OwnerDesignAction
         $this->showPage();
     }
 
-    function showLocalNav()
+    function showObjectNav()
     {
         $nav = new SubGroupNav($this, $this->user);
         $nav->show();
@@ -121,40 +126,50 @@ class UsergroupsAction extends OwnerDesignAction
         $this->elementStart('p', array('id' => 'new_group'));
         $this->element('a', array('href' => common_local_url('newgroup'),
                                   'class' => 'more'),
+                       // TRANS: Link text on group page to create a new group.
                        _('Create a new group'));
         $this->elementEnd('p');
 
         $this->elementStart('p', array('id' => 'group_search'));
         $this->element('a', array('href' => common_local_url('groupsearch'),
                                   'class' => 'more'),
+                       // TRANS: Link text on group page to search for groups.
                        _('Search for more groups'));
         $this->elementEnd('p');
 
-        $offset = ($this->page-1) * GROUPS_PER_PAGE;
-        $limit =  GROUPS_PER_PAGE + 1;
+        if (Event::handle('StartShowUserGroupsContent', array($this))) {
+            $offset = ($this->page-1) * GROUPS_PER_PAGE;
+            $limit =  GROUPS_PER_PAGE + 1;
 
-        $groups = $this->user->getGroups($offset, $limit);
+            $groups = $this->user->getGroups($offset, $limit);
 
-        if ($groups) {
-            $gl = new GroupList($groups, $this->user, $this);
-            $cnt = $gl->show();
-            if (0 == $cnt) {
-                $this->showEmptyListMessage();
+            if ($groups) {
+                $gl = new GroupList($groups, $this->user, $this);
+                $cnt = $gl->show();
+                if (0 == $cnt) {
+                    $this->showEmptyListMessage();
+                }
             }
-        }
 
-        $this->pagination($this->page > 1, $cnt > GROUPS_PER_PAGE,
-                          $this->page, 'usergroups',
-                          array('nickname' => $this->user->nickname));
+            $this->pagination($this->page > 1, $cnt > GROUPS_PER_PAGE,
+                              $this->page, 'usergroups',
+                              array('nickname' => $this->user->nickname));
+
+            Event::handle('EndShowUserGroupsContent', array($this));
+        }
     }
 
     function showEmptyListMessage()
     {
+        // TRANS: Text on group page for a user that is not a member of any group.
+        // TRANS: %s is a user nickname.
         $message = sprintf(_('%s is not a member of any group.'), $this->user->nickname) . ' ';
 
         if (common_logged_in()) {
             $current_user = common_current_user();
             if ($this->user->id === $current_user->id) {
+                // TRANS: Text on group page for a user that is not a member of any group. This message contains
+                // TRANS: a Markdown link in the form [link text](link) and a variable that should not be changed.
                 $message .= _('Try [searching for groups](%%action.groupsearch%%) and joining them.');
             }
         }
@@ -162,4 +177,10 @@ class UsergroupsAction extends OwnerDesignAction
         $this->raw(common_markup_to_html($message));
         $this->elementEnd('div');
     }
+
+    function showProfileBlock()
+    {
+        $block = new AccountProfileBlock($this, $this->profile);
+        $block->show();
+    }
 }