]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/groupeditform.php
All tests pass except for those that require matching parens or brackets
[quix0rs-gnu-social.git] / lib / groupeditform.php
index f6e326078a8ab3355e30423b836e4f6ee4dbbb60..fbb39129bc3bc4f7b05f552b318bf0e94029b8c8 100644 (file)
@@ -78,9 +78,9 @@ class GroupEditForm extends Form
     function id()
     {
         if ($this->group) {
-            return 'group_edit-' . $this->group->id;
+            return 'form_group_edit-' . $this->group->id;
         } else {
-            return 'group_add';
+            return 'form_group_add';
         }
     }
 
@@ -92,7 +92,7 @@ class GroupEditForm extends Form
 
     function formClass()
     {
-        return 'form_group_add';
+        return 'form_settings';
     }
 
     /**
@@ -111,6 +111,17 @@ class GroupEditForm extends Form
         }
     }
 
+    /**
+     * Name of the form
+     *
+     * @return void
+     */
+
+    function formLegend()
+    {
+        $this->out->element('legend', null, _('Create a new group'));
+    }
+
     /**
      * Data elements of the form
      *
@@ -119,31 +130,58 @@ class GroupEditForm extends Form
 
     function formData()
     {
+        if ($this->group) {
+            $id = $this->group->id;
+            $nickname = $this->group->nickname;
+            $fullname = $this->group->fullname;
+            $homepage = $this->group->homepage;
+            $description = $this->group->description;
+            $location = $this->group->location;
+        } else {
+            $id = '';
+            $nickname = '';
+            $fullname = '';
+            $homepage = '';
+            $description = '';
+            $location = '';
+        }
+
         $this->out->elementStart('ul', 'form_data');
         $this->out->elementStart('li');
+        $this->out->hidden('groupid', $id);
         $this->out->input('nickname', _('Nickname'),
-                     ($this->out->arg('nickname')) ? $this->out->arg('nickname') : $this->group->nickname,
+                     ($this->out->arg('nickname')) ? $this->out->arg('nickname') : $nickname,
                      _('1-64 lowercase letters or numbers, no punctuation or spaces'));
         $this->out->elementEnd('li');
         $this->out->elementStart('li');
         $this->out->input('fullname', _('Full name'),
-                     ($this->out->arg('fullname')) ? $this->out->arg('fullname') : $this->group->fullname);
+                     ($this->out->arg('fullname')) ? $this->out->arg('fullname') : $fullname);
         $this->out->elementEnd('li');
         $this->out->elementStart('li');
         $this->out->input('homepage', _('Homepage'),
-                     ($this->out->arg('homepage')) ? $this->out->arg('homepage') : $this->group->homepage,
+                     ($this->out->arg('homepage')) ? $this->out->arg('homepage') : $homepage,
                      _('URL of the homepage or blog of the group or topic'));
         $this->out->elementEnd('li');
         $this->out->elementStart('li');
-        $this->out->textarea('description', _('description'),
-                        ($this->out->arg('description')) ? $this->out->arg('description') : $this->group->description,
+        $this->out->textarea('description', _('Description'),
+                        ($this->out->arg('description')) ? $this->out->arg('description') : $description,
                         _('Describe the group or topic in 140 chars'));
         $this->out->elementEnd('li');
         $this->out->elementStart('li');
         $this->out->input('location', _('Location'),
-                     ($this->out->arg('location')) ? $this->out->arg('location') : $this->group->location,
+                     ($this->out->arg('location')) ? $this->out->arg('location') : $location,
                      _('Location for the group, if any, like "City, State (or Region), Country"'));
         $this->out->elementEnd('li');
+        if (common_config('group', 'maxaliases') > 0) {
+            $aliases = (empty($this->group)) ? array() : $this->group->getAliases();
+            $this->out->elementStart('li');
+            $this->out->input('aliases', _('Aliases'),
+                              ($this->out->arg('aliases')) ? $this->out->arg('aliases') :
+                              (!empty($aliases)) ? implode(' ', $aliases) : '',
+                              sprintf(_('Extra nicknames for the group, comma- or space- separated, max %d'),
+                                      common_config('group', 'maxaliases')));;
+            $this->out->elementEnd('li');
+        }
         $this->out->elementEnd('ul');
     }