3 * StatusNet, the distributed open-source microblogging tool
5 * Fancy form for inviting collegues
9 * LICENCE: This program is free software: you can redistribute it and/or modify
10 * it under the terms of the GNU Affero General Public License as published by
11 * the Free Software Foundation, either version 3 of the License, or
12 * (at your option) any later version.
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU Affero General Public License for more details.
19 * You should have received a copy of the GNU Affero General Public License
20 * along with this program. If not, see <http://www.gnu.org/licenses/>.
24 * @author Zach Copley <zach@status.net>
25 * @copyright 2011 StatusNet, Inc.
26 * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
27 * @link http://status.net/
30 if (!defined('STATUSNET')) {
34 require_once INSTALLDIR . '/lib/form.php';
37 * Form for inviting collegues and friends
41 * @author Zach Copley <zach@status.net>
42 * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
43 * @link http://status.net/
46 class WhitelistInviteForm extends Form
48 private $whitelist = null;
53 * @param Action $out output channel
55 function __construct($out, $whitelist)
57 parent::__construct($out);
58 $this->whitelist = $whitelist;
64 * @return string ID of the form
74 * @return string URL of the action
78 return common_local_url('invite');
88 // TRANS: Form legend.
89 $this->out->element('legend', null, _m('Invite collegues'));
93 * Data elements of the form
99 $this->out->elementStart('ul', 'form_data');
100 for ($i = 0; $i < 3; $i++) {
101 $this->showEmailLI();
103 $this->out->elementStart('li');
104 $this->out->textarea(
105 // TRANS: Field label for a personal message to send to invitees.
106 'personal', _m('Personal message'),
107 $this->out->trimmed('personal'),
108 // TRANS: Field title for a personal message to send to invitees.
109 _m('Optionally add a personal message to the invitation.')
111 $this->out->elementEnd('li');
112 $this->out->elementEnd('ul');
115 function showEmailLI()
117 $this->out->elementStart('li');
118 $this->out->input('username[]', '');
119 $this->out->text('@');
120 if (count($this->whitelist) == 1) {
123 array('class' => 'email_invite'),
126 $this->out->hidden('domain[]', $this->whitelist[0]);
129 foreach($this->whitelist as $domain) {
130 $content[$domain] = $domain;
132 $this->out->dropdown('domain[]', '', $content);
134 $this->showMultiControls();
135 $this->out->elementEnd('li');
138 function showMultiControls()
143 'class' => 'remove_row',
144 'href' => 'javascript://',
145 'style' => 'display: none;'
153 'class' => 'add_row',
154 'href' => 'javascript://',
155 'style' => 'display: none;'
157 // TRANS: Link description to action to add another item to a list.
158 _m('Add another item')
167 function formActions()
171 // TRANS: Send button for inviting friends.
172 _m('BUTTON','Send'), 'submit form_action-primary',
174 // TRANS: Submit button title.
175 _m('Send invitations.')