]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/groupeditform.php
Don't trust local HTML either
[quix0rs-gnu-social.git] / lib / groupeditform.php
index cc25f0688634952dce05d05ff4c1c37eba1f2cde..9061af2336844e75930501484d1f3e5065570b69 100644 (file)
@@ -46,13 +46,11 @@ require_once INSTALLDIR.'/lib/form.php';
  *
  * @see      UnsubscribeForm
  */
-
 class GroupEditForm extends Form
 {
     /**
      * group for user to join
      */
-
     var $group = null;
 
     /**
@@ -61,7 +59,6 @@ class GroupEditForm extends Form
      * @param Action     $out   output channel
      * @param User_group $group group to join
      */
-
     function __construct($out=null, $group=null)
     {
         parent::__construct($out);
@@ -74,7 +71,6 @@ class GroupEditForm extends Form
      *
      * @return string ID of the form
      */
-
     function id()
     {
         if ($this->group) {
@@ -89,7 +85,6 @@ class GroupEditForm extends Form
      *
      * @return string of the form class
      */
-
     function formClass()
     {
         return 'form_settings';
@@ -100,7 +95,6 @@ class GroupEditForm extends Form
      *
      * @return string URL of the action
      */
-
     function action()
     {
         if ($this->group) {
@@ -116,9 +110,9 @@ class GroupEditForm extends Form
      *
      * @return void
      */
-
     function formLegend()
     {
+        // TRANS: Form legend for group edit form.
         $this->out->element('legend', null, _('Create a new group'));
     }
 
@@ -127,7 +121,6 @@ class GroupEditForm extends Form
      *
      * @return void
      */
-
     function formData()
     {
         if ($this->group) {
@@ -147,51 +140,80 @@ class GroupEditForm extends Form
         }
 
         $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') : $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') : $fullname);
-        $this->out->elementEnd('li');
-        $this->out->elementStart('li');
-        $this->out->input('homepage', _('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');
-        $desclimit = User_group::maxDescription();
-        if ($desclimit == 0) {
-            $descinstr = _('Describe the group or topic');
-        } else {
-            $descinstr = sprintf(_m('Describe the group or topic in %d character or less',
-                                    'Describe the group or topic in %d characters or less',
-                                    $desclimit),
-                                 $desclimit);
-        }
-        $this->out->textarea('description', _('Description'),
-                             ($this->out->arg('description')) ? $this->out->arg('description') : $description,
-                             $descinstr);
-        $this->out->elementEnd('li');
-        $this->out->elementStart('li');
-        $this->out->input('location', _('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();
+        if (Event::handle('StartGroupEditFormData', array($this))) {
             $this->out->elementStart('li');
-            $this->out->input('aliases', _('Aliases'),
-                              ($this->out->arg('aliases')) ? $this->out->arg('aliases') :
-                              (!empty($aliases)) ? implode(' ', $aliases) : '',
-                              sprintf(_m('Extra nicknames for the group, separated with commas or spaces. Maximum %d alias allowed.',
-                                         'Extra nicknames for the group, separated with commas or spaces. Maximum %d aliases allowed.',
-                                         common_config('group', 'maxaliases')),
-                                      common_config('group', 'maxaliases')));;
+            $this->out->hidden('groupid', $id);
+            // TRANS: Field label on group edit form.
+            $this->out->input('newnickname', _('Nickname'),
+                              ($this->out->arg('newnickname')) ? $this->out->arg('newnickname') : $nickname,
+                              // TRANS: Field title on group edit form.
+                              _('1-64 lowercase letters or numbers, no punctuation or spaces.'),
+                              null, false,
+                              $this->group instanceof User_group && !common_config('profile', 'changenick')
+                                    ? array('disabled'=>'disabled') // can't change nickname
+                                    : array()); // either we can change nickname, or we're creating a new group.
             $this->out->elementEnd('li');
+            $this->out->elementStart('li');
+            // TRANS: Field label on group edit form.
+            $this->out->input('fullname', _('Full name'),
+                              ($this->out->arg('fullname')) ? $this->out->arg('fullname') : $fullname);
+            $this->out->elementEnd('li');
+            $this->out->elementStart('li');
+            // TRANS: Field label on group edit form; points to "more info" for a group.
+            $this->out->input('homepage', _('Homepage'),
+                              ($this->out->arg('homepage')) ? $this->out->arg('homepage') : $homepage,
+                              // TRANS: Field title on group edit form.
+                              _('URL of the homepage or blog of the group or topic.'));
+            $this->out->elementEnd('li');
+            $this->out->elementStart('li');
+            $desclimit = User_group::maxDescription();
+            if ($desclimit == 0) {
+                // TRANS: Text area title for group description when there is no text limit.
+                $descinstr = _('Describe the group or topic.');
+            } else {
+                // TRANS: Text area title for group description.
+                // TRANS: %d is the number of characters available for the description.
+                $descinstr = sprintf(_m('Describe the group or topic in %d character or less.',
+                                        'Describe the group or topic in %d characters or less.',
+                                        $desclimit),
+                                     $desclimit);
+            }
+            // TRANS: Text area label on group edit form; contains description of group.
+            $this->out->textarea('description', _('Description'),
+                                 ($this->out->arg('description')) ? $this->out->arg('description') : $description,
+                                 $descinstr);
+            $this->out->elementEnd('li');
+            $this->out->elementStart('li');
+            // TRANS: Field label on group edit form.
+            $this->out->input('location', _('Location'),
+                              ($this->out->arg('location')) ? $this->out->arg('location') : $location,
+                              // TRANS: Field title on group edit form.
+                              _('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');
+                // TRANS: Field label on group edit form.
+                $this->out->input('aliases', _('Aliases'),
+                                  ($this->out->arg('aliases')) ? $this->out->arg('aliases') :
+                                  (!empty($aliases)) ? implode(' ', $aliases) : '',
+                                  // TRANS: Input field title for group aliases.
+                                  // TRANS: %d is the maximum number of group aliases available.
+                                  sprintf(_m('Extra nicknames for the group, separated with commas or spaces. Maximum %d alias allowed.',
+                                             'Extra nicknames for the group, separated with commas or spaces. Maximum %d aliases allowed.',
+                                             common_config('group', 'maxaliases')),
+                                          common_config('group', 'maxaliases')));;
+                $this->out->elementEnd('li');
+            }
+            $this->out->elementStart('li');
+            // TRANS: Checkbox field label on group edit form to mark a group private.
+            $this->out->checkbox('private', _m('LABEL','Private'), 
+                                  ($this->out->arg('private')) ? $this->out->arg('private') :
+                                 ((!empty($this->group)) ? $this->group->isPrivate() : false),
+                                 // TRANS: Checkbox field title on group edit form to mark a group private.
+                                 _('New members must be approved by admin and all posts are forced to be private.'));
+            $this->out->elementEnd('li');
+            Event::handle('EndGroupEditFormData', array($this));
         }
         $this->out->elementEnd('ul');
     }
@@ -201,9 +223,9 @@ class GroupEditForm extends Form
      *
      * @return void
      */
-
     function formActions()
     {
+        // TRANS: Text for save button on group edit form.
         $this->out->submit('submit', _m('BUTTON','Save'));
     }
 }