]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/showgroup.php
FileAction redirections weren't being added (e.g.: /notice/$notice_id/file)
[quix0rs-gnu-social.git] / actions / showgroup.php
index c20941a35ee07776acb475fd69152e4b139b79b4..b6a0f4844e78a69752cd6c690203b54d869ede07 100644 (file)
@@ -35,7 +35,7 @@ if (!defined('LACONICA')) {
 require_once INSTALLDIR.'/lib/noticelist.php';
 require_once INSTALLDIR.'/lib/feedlist.php';
 
-define('MEMBERS_PER_SECTION', 81);
+define('MEMBERS_PER_SECTION', 27);
 
 /**
  * Group main page
@@ -47,10 +47,9 @@ define('MEMBERS_PER_SECTION', 81);
  * @link     http://laconi.ca/
  */
 
-class ShowgroupAction extends Action
+class ShowgroupAction extends GroupDesignAction
 {
-    /** group we're viewing. */
-    var $group = null;
+
     /** page we're viewing. */
     var $page = null;
 
@@ -60,7 +59,7 @@ class ShowgroupAction extends Action
      * @return boolean true
      */
 
-    function isReadOnly()
+    function isReadOnly($args)
     {
         return true;
     }
@@ -73,11 +72,17 @@ class ShowgroupAction extends Action
 
     function title()
     {
+        if (!empty($this->group->fullname)) {
+            $base = $this->group->fullname . ' (' . $this->group->nickname . ')';
+        } else {
+            $base = $this->group->nickname;
+        }
+
         if ($this->page == 1) {
-            return sprintf(_("%s group"), $this->group->nickname);
+            return sprintf(_("%s group"), $base);
         } else {
             return sprintf(_("%s group, page %d"),
-                           $this->group->nickname,
+                           $base,
                            $this->page);
         }
     }
@@ -266,6 +271,17 @@ class ShowgroupAction extends Action
             $this->elementEnd('dl');
         }
 
+        if (common_config('group', 'maxaliases') > 0) {
+            $aliases = $this->group->getAliases();
+
+            if (!empty($aliases)) {
+                $this->elementStart('dl', 'entity_aliases');
+                $this->element('dt', null, _('Aliases'));
+                $this->element('dd', 'aliases', implode(' ', $aliases));
+                $this->elementEnd('dl');
+            }
+        }
+
         $this->elementEnd('div');
 
         $this->elementStart('div', 'entity_actions');
@@ -275,11 +291,9 @@ class ShowgroupAction extends Action
         $cur = common_current_user();
         if ($cur) {
             if ($cur->isMember($this->group)) {
-                if (!$cur->isAdmin($this->group)) {
-                    $lf = new LeaveForm($this, $this->group);
-                    $lf->show();
-                }
-            } else {
+                $lf = new LeaveForm($this, $this->group);
+                $lf->show();
+            } else if (!Group_block::isBlocked($this->group, $cur->getProfile())) {
                 $jf = new JoinForm($this, $this->group);
                 $jf->show();
             }
@@ -340,13 +354,13 @@ class ShowgroupAction extends Action
 
         $this->element('h2', null, _('Members'));
 
-        $pml = new ProfileMiniList($member, null, $this);
+        $pml = new ProfileMiniList($member, $this);
         $cnt = $pml->show();
         if ($cnt == 0) {
              $this->element('p', null, _('(None)'));
         }
 
-        if ($cnt == MEMBERS_PER_SECTION) {
+        if ($cnt > MEMBERS_PER_SECTION) {
             $this->element('a', array('href' => common_local_url('groupmembers',
                                                                  array('nickname' => $this->group->nickname))),
                            _('All members'));
@@ -392,11 +406,18 @@ class ShowgroupAction extends Action
 
     function showAnonymousMessage()
     {
-               $m = sprintf(_('**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
-                       'based on the Free Software [Laconica](http://laconi.ca/) tool. Its members share ' .
-                       'short messages about their life and interests. '.
-                       '[Join now](%%%%action.register%%%%) to become part of this group and many more! ([Read more](%%%%doc.help%%%%))'),
+        if (!(common_config('site','closed') || common_config('site','inviteonly'))) {
+            $m = sprintf(_('**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
+                'based on the Free Software [Laconica](http://laconi.ca/) tool. Its members share ' .
+                'short messages about their life and interests. '.
+                '[Join now](%%%%action.register%%%%) to become part of this group and many more! ([Read more](%%%%doc.help%%%%))'),
                      $this->group->nickname);
+        } else {
+            $m = sprintf(_('**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
+                'based on the Free Software [Laconica](http://laconi.ca/) tool. Its members share ' .
+                'short messages about their life and interests. '),
+                     $this->group->nickname);
+        }
         $this->elementStart('div', array('id' => 'anon_notice'));
         $this->raw(common_markup_to_html($m));
         $this->elementEnd('div');