X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fgroupeditform.php;h=9061af2336844e75930501484d1f3e5065570b69;hb=refs%2Fheads%2Fupstream-changes%2Fgoogle-analytics-removal;hp=3014dd1c567a40e6c836e30fc67af09cc0b92129;hpb=216ada5cc4cc73eb8c9d22e9ad19cec0d07ff9ea;p=quix0rs-gnu-social.git diff --git a/lib/groupeditform.php b/lib/groupeditform.php index 3014dd1c56..9061af2336 100644 --- a/lib/groupeditform.php +++ b/lib/groupeditform.php @@ -1,6 +1,6 @@ . * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli - * @copyright 2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @copyright 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); } @@ -38,21 +38,19 @@ require_once INSTALLDIR.'/lib/form.php'; * Form for editing a group * * @category Form - * @package Laconica - * @author Evan Prodromou - * @author Sarven Capadisli + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli * @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/ * * @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) { @@ -111,15 +105,14 @@ class GroupEditForm extends Form } } - /** * Name of the form * * @return void */ - function formLegend() { + // TRANS: Form legend for group edit form. $this->out->element('legend', null, _('Create a new group')); } @@ -128,7 +121,6 @@ class GroupEditForm extends Form * * @return void */ - function formData() { if ($this->group) { @@ -148,31 +140,81 @@ 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'); - $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') : $location, - _('Location for the group, if any, like "City, State (or Region), Country"')); - $this->out->elementEnd('li'); + if (Event::handle('StartGroupEditFormData', array($this))) { + $this->out->elementStart('li'); + $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'); } @@ -181,9 +223,9 @@ class GroupEditForm extends Form * * @return void */ - function formActions() { - $this->out->submit('submit', _('Save')); + // TRANS: Text for save button on group edit form. + $this->out->submit('submit', _m('BUTTON','Save')); } }