ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
ilChatroomFormFactory Class Reference

Class ilChatroomFormFactory. More...

+ Collaboration diagram for ilChatroomFormFactory:

Public Member Functions

 __construct ()
 Constructor. More...
 
 getCreationForm ()
 Instantiates and returns ilPropertyFormGUI containing ilTextInputGUI and ilTextAreaInputGUI. More...
 
 getSettingsForm ()
 
 getFileUploadForm ()
 Prepares Fileupload form and returns it. More...
 
 getPeriodForm ()
 Returns period form. More...
 
 getUserChatNameSelectionForm (array $name_options)
 Returns chatname selection form. More...
 
 getSessionForm (array $sessions)
 Returns session form with period set by given $sessions. More...
 
 getGeneralSettingsForm ()
 Returns general settings form. More...
 
 getClientSettingsForm ()
 

Static Public Member Functions

static applyValues (ilPropertyFormGUI $form, array $values)
 Applies given values to field in given form. More...
 

Protected Attributes

 $lng
 
 $user
 

Private Member Functions

 addDefaultBehaviour (ilPropertyFormGUI $form)
 Adds 'create-save' and 'cancel' button to given $form and returns it. More...
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilChatroomFormFactory::__construct ( )

Constructor.

Definition at line 27 of file class.ilChatroomFormFactory.php.

28 {
29 global $DIC;
30
31 $this->lng = $DIC->language();
32 $this->user = $DIC->user();
33 }
user()
Definition: user.php:4
global $DIC
Definition: saml.php:7

References $DIC, and user().

+ Here is the call graph for this function:

Member Function Documentation

◆ addDefaultBehaviour()

ilChatroomFormFactory::addDefaultBehaviour ( ilPropertyFormGUI  $form)
private

Adds 'create-save' and 'cancel' button to given $form and returns it.

Parameters
ilPropertyFormGUI$form
Returns
ilPropertyFormGUI

Definition at line 69 of file class.ilChatroomFormFactory.php.

70 {
71 $form->addCommandButton('create-save', $this->lng->txt('create'));
72 $form->addCommandButton('cancel', $this->lng->txt('cancel'));
73
74 return $form;
75 }
if(isset($_POST['submit'])) $form

References $form.

Referenced by getCreationForm().

+ Here is the caller graph for this function:

◆ applyValues()

static ilChatroomFormFactory::applyValues ( ilPropertyFormGUI  $form,
array  $values 
)
static

Applies given values to field in given form.

Parameters
ilPropertyFormGUI$form
array$values

Definition at line 40 of file class.ilChatroomFormFactory.php.

41 {
42 $form->setValuesByArray($values);
43 }

References $form.

◆ getClientSettingsForm()

ilChatroomFormFactory::getClientSettingsForm ( )
Returns
ilPropertyFormGUI

Definition at line 370 of file class.ilChatroomFormFactory.php.

371 {
372 $form = new ilPropertyFormGUI();
373
374 $enable_chat = new ilCheckboxInputGUI($this->lng->txt('chat_enabled'), 'chat_enabled');
375 $form->addItem($enable_chat);
376
377 $enable_osc = new ilCheckboxInputGUI($this->lng->txt('chatroom_enable_osc'), 'enable_osc');
378 $enable_osc->setInfo($this->lng->txt('chatroom_enable_osc_info'));
379 $enable_chat->addSubItem($enable_osc);
380
381 $osd = new ilCheckboxInputGUI($this->lng->txt('enable_osd'), 'enable_osd');
382 $osd->setInfo($this->lng->txt('hint_osd'));
383 $enable_chat->addSubItem($osd);
384
385 $interval = new ilNumberInputGUI($this->lng->txt('osd_intervall'), 'osd_intervall');
386 $interval->setMinValue(1);
387 $interval->setRequired(true);
388 $interval->setInfo($this->lng->txt('hint_osd_interval'));
389 $osd->addSubItem($interval);
390
391 $play_sound = new ilCheckboxInputGUI($this->lng->txt('play_invitation_sound'), 'play_invitation_sound');
392 $play_sound->setInfo($this->lng->txt('play_invitation_sound_info'));
393 $osd->addSubItem($play_sound);
394
395 $enable_smilies = new ilCheckboxInputGUI($this->lng->txt('enable_smilies'), 'enable_smilies');
396 $enable_smilies->setInfo($this->lng->txt('hint_enable_smilies'));
397 $enable_chat->addSubItem($enable_smilies);
398
399 $name = new \ilTextInputGUI($this->lng->txt('chatroom_client_name'), 'client_name');
400 $name->setInfo($this->lng->txt('chatroom_client_name_info'));
401 $name->setRequired(true);
402 $name->setMaxLength(100);
403 $enable_chat->addSubItem($name);
404
405 require_once 'Modules/Chatroom/classes/class.ilChatroomAuthInputGUI.php';
406 $auth = new ilChatroomAuthInputGUI($this->lng->txt('chatroom_auth'), 'auth');
407 $auth->setInfo($this->lng->txt('chat_auth_token_info'));
408 $auth->setCtrlPath(array('iladministrationgui', 'ilobjchatroomgui', 'ilpropertyformgui', 'ilformpropertydispatchgui', 'ilchatroomauthinputgui'));
409 $auth->setRequired(true);
410 $enable_chat->addSubItem($auth);
411
412 return $form;
413 }
$auth
Definition: metadata.php:48
Class ilChatroomAuthInputGUI.
This class represents a checkbox property in a property form.
This class represents a number property in a property form.
This class represents a property form user interface.
if($format !==null) $name
Definition: metadata.php:146

References $auth, $form, and $name.

◆ getCreationForm()

ilChatroomFormFactory::getCreationForm ( )

Instantiates and returns ilPropertyFormGUI containing ilTextInputGUI and ilTextAreaInputGUI.

Deprecated:
replaced by default creation screens
Returns
ilPropertyFormGUI

Definition at line 51 of file class.ilChatroomFormFactory.php.

52 {
54 $title = new ilTextInputGUI($this->lng->txt('title'), 'title');
55 $title->setRequired(true);
56 $form->addItem($title);
57
58 $description = new ilTextAreaInputGUI($this->lng->txt('description'), 'desc');
59 $form->addItem($description);
60
61 return $this->addDefaultBehaviour($form);
62 }
addDefaultBehaviour(ilPropertyFormGUI $form)
Adds 'create-save' and 'cancel' button to given $form and returns it.
This class represents a text area property in a property form.
This class represents a text property in a property form.

References $description, $form, $title, and addDefaultBehaviour().

+ Here is the call graph for this function:

◆ getFileUploadForm()

ilChatroomFormFactory::getFileUploadForm ( )

Prepares Fileupload form and returns it.

Returns
ilPropertyFormGUI

Definition at line 142 of file class.ilChatroomFormFactory.php.

143 {
144 $form = new ilPropertyFormGUI();
145 $file_input = new ilFileInputGUI();
146
147 $file_input->setPostVar('file_to_upload');
148 $file_input->setTitle($this->lng->txt('upload'));
149 $form->addItem($file_input);
150 $form->addCommandButton('UploadFile-uploadFile', $this->lng->txt('submit'));
151
152 $form->setTarget('_blank');
153
154 return $form;
155 }
This class represents a file property in a property form.

References $form.

◆ getGeneralSettingsForm()

ilChatroomFormFactory::getGeneralSettingsForm ( )

Returns general settings form.

Returns
ilPropertyFormGUI

Definition at line 243 of file class.ilChatroomFormFactory.php.

244 {
245 $form = new ilPropertyFormGUI();
246
247 $address = new ilTextInputGUI($this->lng->txt('chatserver_address'), 'address');
248 $address->setRequired(true);
249 $form->addItem($address);
250
251 $port = new ilNumberInputGUI($this->lng->txt('chatserver_port'), 'port');
252 $port->setMinValue(1);
253 $port->setMaxValue(65535);
254 $port->setRequired(true);
255 $port->setInfo($this->lng->txt('port_info'));
256 $port->setSize(6);
257 $form->addItem($port);
258
259 $subDirectory = new ilTextInputGUI($this->lng->txt('chat_osc_no_sub_directory'), 'sub_directory');
260 $subDirectory->setRequired(false);
261 $subDirectory->setInfo($this->lng->txt('chat_osc_no_sub_directory_info'));
262 $form->addItem($subDirectory);
263
264 $protocol = new ilRadioGroupInputGUI($this->lng->txt('protocol'), 'protocol');
265 $form->addItem($protocol);
266
267 $http = new ilRadioOption($this->lng->txt('http'), 'http');
268 $protocol->addOption($http);
269
270 $https = new ilRadioOption($this->lng->txt('https'), 'https');
271 $protocol->addOption($https);
272
273 $certificate = new ilTextInputGUI($this->lng->txt('certificate'), 'cert');
274 $certificate->setInfo($this->lng->txt('chat_https_cert_info'));
275 $certificate->setRequired(true);
276 $https->addSubItem($certificate);
277
278 $key = new ilTextInputGUI($this->lng->txt('key'), 'key');
279 $key->setInfo($this->lng->txt('chat_https_key_info'));
280 $key->setRequired(true);
281 $https->addSubItem($key);
282
283 $dhparam = new ilTextInputGUI($this->lng->txt('dhparam'), 'dhparam');
284 $dhparam->setInfo($this->lng->txt('chat_https_dhparam_info'));
285 $dhparam->setRequired(true);
286 $https->addSubItem($dhparam);
287
288 $chatLog = new ilTextInputGUI($this->lng->txt('log'), 'log');
289 $chatLog->setInfo($this->lng->txt('chat_log_info'));
290 $chatLog->setRequired(false);
291 $form->addItem($chatLog);
292
293 $chatErrorLog = new ilTextInputGUI($this->lng->txt('error_log'), 'error_log');
294 $chatErrorLog->setInfo($this->lng->txt('chat_error_log_info'));
295 $chatErrorLog->setRequired(false);
296 $form->addItem($chatErrorLog);
297
298 $iliasSection = new ilFormSectionHeaderGUI();
299 $iliasSection->setTitle($this->lng->txt('ilias_chatserver_connection'));
300 $form->addItem($iliasSection);
301
302 $iliasProxy = new ilCheckboxInputGUI($this->lng->txt('proxy'), 'ilias_proxy');
303 $iliasProxy->setRequired(false);
304 $iliasProxy->setInfo($this->lng->txt('ilias_proxy_info'));
305 $form->addItem($iliasProxy);
306
307 $chatServerILIASUrl = new ilTextInputGUI($this->lng->txt('url'), 'ilias_url');
308 $chatServerILIASUrl->setRequired(true);
309 $chatServerILIASUrl->setInfo($this->lng->txt('connection_url_info'));
310 $iliasProxy->addSubItem($chatServerILIASUrl);
311
312 $clientSection = new ilFormSectionHeaderGUI();
313 $clientSection->setTitle($this->lng->txt('client_chatserver_connection'));
314 $form->addItem($clientSection);
315
316 $clientProxy = new ilCheckboxInputGUI($this->lng->txt('proxy'), 'client_proxy');
317 $clientProxy->setRequired(false);
318 $clientProxy->setInfo($this->lng->txt('client_proxy_info'));
319 $form->addItem($clientProxy);
320
321 $chatServerClientUrl = new ilTextInputGUI($this->lng->txt('url'), 'client_url');
322 $chatServerClientUrl->setRequired(true);
323 $chatServerClientUrl->setInfo($this->lng->txt('connection_url_info'));
324 $clientProxy->addSubItem($chatServerClientUrl);
325
326 $deletion_section = new ilFormSectionHeaderGUI();
327 $deletion_section->setTitle($this->lng->txt('chat_deletion_section_head'));
328 $form->addItem($deletion_section);
329
330 $deletion_options = new ilRadioGroupInputGUI($this->lng->txt('chat_deletion_section_head'), 'deletion_mode');
331
332 $deletion_mode_deactivated = new ilRadioOption($this->lng->txt('chat_deletion_disabled'), 0);
333 $deletion_options->addOption($deletion_mode_deactivated);
334
335 $chat_deletion_interval = new ilRadioOption($this->lng->txt('chat_deletion_interval'), 1);
336 $chat_deletion_interval->setInfo($this->lng->txt('chat_deletion_interval_info'));
337 $interval_unit = new ilSelectInputGUI($this->lng->txt('chat_deletion_interval_unit'), 'deletion_unit');
338 $interval_unit->setRequired(true);
339 $interval_unit->setOptions(array(
340 'days' => $this->lng->txt('days'),
341 'weeks' => $this->lng->txt('weeks'),
342 'months' => $this->lng->txt('months'),
343 'years' => $this->lng->txt('years'),
344 ));
345 $chat_deletion_interval->addSubItem($interval_unit);
346
347 require_once 'Modules/Chatroom/classes/form/class.ilChatroomMessageDeletionThresholdInputGUI.php';
348 $interval_value = new ilChatroomMessageDeletionThresholdInputGUI($this->lng->txt('chat_deletion_interval_value'), 'deletion_value', $interval_unit);
349 $interval_value->allowDecimals(false);
350 $interval_value->setMinValue(1);
351 $interval_value->setRequired(true);
352 $chat_deletion_interval->addSubItem($interval_value);
353
354 $runAtTime = new ilTextInputGUI($this->lng->txt('chat_deletion_interval_run_at'), 'deletion_time');
355 $runAtTime->setInfo($this->lng->txt('chat_deletion_interval_run_at_info'));
356 $runAtTime->setRequired(true);
357 $runAtTime->setValidationRegexp('/([01][0-9]|[2][0-3]):[0-5][0-9]/');
358 $chat_deletion_interval->addSubItem($runAtTime);
359
360 $deletion_options->addOption($chat_deletion_interval);
361
362 $form->addItem($deletion_options);
363
364 return $form;
365 }
This class represents a section header in a property form.
This class represents a property in a property form.
This class represents an option in a radio group.
This class represents a selection list property in a property form.
$key
Definition: croninfo.php:18
if(@file_exists(dirname(__FILE__).'/lang/eng.php')) $certificate
Definition: example_052.php:77
$http
Definition: raiseError.php:7
$https
Definition: imgupload.php:19

References $certificate, $form, $http, $https, $key, and GuzzleHttp\Psr7\$protocol.

◆ getPeriodForm()

ilChatroomFormFactory::getPeriodForm ( )

Returns period form.

Returns
ilPropertyFormGUI

Definition at line 161 of file class.ilChatroomFormFactory.php.

162 {
163 $form = new ilPropertyFormGUI();
164 $form->setPreventDoubleSubmission(false);
165
166 require_once 'Services/Form/classes/class.ilDateDurationInputGUI.php';
167 $duration = new ilDateDurationInputGUI($this->lng->txt('period'), 'timeperiod');
168
169 $duration->setStartText($this->lng->txt('duration_from'));
170 $duration->setEndText($this->lng->txt('duration_to'));
171 $duration->setShowTime(true);
172 $duration->setRequired(true);
173 $form->addItem($duration);
174
175 return $form;
176 }
input GUI for a time span (start and end date)

References $form.

◆ getSessionForm()

ilChatroomFormFactory::getSessionForm ( array  $sessions)

Returns session form with period set by given $sessions.

Parameters
array$sessions
Returns
ilPropertyFormGUI

Definition at line 215 of file class.ilChatroomFormFactory.php.

216 {
217 $form = new ilPropertyFormGUI();
218 $form->setPreventDoubleSubmission(false);
219 $list = new ilSelectInputGUI($this->lng->txt('session'), 'session');
220
221 $options = array();
222
223 foreach ($sessions as $session) {
224 $start = new ilDateTime($session['connected'], IL_CAL_UNIX);
225 $end = new ilDateTime($session['disconnected'], IL_CAL_UNIX);
226
227 $options[$session['connected'] . ',' .
228 $session['disconnected']] = ilDatePresentation::formatPeriod($start, $end);
229 }
230
231 $list->setOptions($options);
232 $list->setRequired(true);
233
234 $form->addItem($list);
235
236 return $form;
237 }
if(!isset( $_REQUEST[ 'ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Definition: as_login.php:20
const IL_CAL_UNIX
static formatPeriod(ilDateTime $start, ilDateTime $end, $a_skip_starting_day=false)
Format a period of two date Shows: 14.
@classDescription Date and time handling
$end
Definition: saml1-acs.php:18
$session
if(isset($_REQUEST['delete'])) $list
Definition: registry.php:41

References $end, $form, $list, $options, $session, ilDatePresentation\formatPeriod(), and IL_CAL_UNIX.

+ Here is the call graph for this function:

◆ getSettingsForm()

ilChatroomFormFactory::getSettingsForm ( )
Returns
ilPropertyFormGUI

Definition at line 80 of file class.ilChatroomFormFactory.php.

81 {
82 $this->lng->loadLanguageModule('rep');
83
85 $title = new ilTextInputGUI($this->lng->txt('title'), 'title');
86 $title->setRequired(true);
87 $form->addItem($title);
88
89 $description = new ilTextAreaInputGUI($this->lng->txt('description'), 'desc');
90 $form->addItem($description);
91
92 $cb = new ilCheckboxInputGUI($this->lng->txt('allow_anonymous'), 'allow_anonymous');
93 $cb->setInfo($this->lng->txt('anonymous_hint'));
94
95 $txt = new ilTextInputGUI($this->lng->txt('autogen_usernames'), 'autogen_usernames');
96 $txt->setRequired(true);
97 $txt->setInfo($this->lng->txt('autogen_usernames_info'));
98 $cb->addSubItem($txt);
99 $form->addItem($cb);
100
101 $cb = new ilCheckboxInputGUI($this->lng->txt('allow_custom_usernames'), 'allow_custom_usernames');
102 $form->addItem($cb);
103
104 $cb_history = new ilCheckboxInputGUI($this->lng->txt('enable_history'), 'enable_history');
105 $form->addItem($cb_history);
106
107 $num_msg_history = new ilNumberInputGUI($this->lng->txt('display_past_msgs'), 'display_past_msgs');
108 $num_msg_history->setInfo($this->lng->txt('hint_display_past_msgs'));
109 $num_msg_history->setMinValue(0);
110 $num_msg_history->setMaxValue(100);
111 $form->addItem($num_msg_history);
112
113 $cb = new ilCheckboxInputGUI($this->lng->txt('private_rooms_enabled'), 'private_rooms_enabled');
114 $cb->setInfo($this->lng->txt('private_rooms_enabled_info'));
115 $form->addItem($cb);
116
118 $section->setTitle($this->lng->txt('rep_activation_availability'));
119 $form->addItem($section);
120
121 $online = new ilCheckboxInputGUI($this->lng->txt('rep_activation_online'), 'online_status');
122 $online->setInfo($this->lng->txt('chtr_activation_online_info'));
123 $form->addItem($online);
124
125 require_once 'Services/Form/classes/class.ilDateDurationInputGUI.php';
126 $dur = new ilDateDurationInputGUI($this->lng->txt('rep_time_period'), 'access_period');
127 $dur->setShowTime(true);
128 $form->addItem($dur);
129
130 $visible = new ilCheckboxInputGUI($this->lng->txt('rep_activation_limited_visibility'), 'access_visibility');
131 $visible->setValue(1);
132 $visible->setInfo($this->lng->txt('chtr_activation_limited_visibility_info'));
133 $dur->addSubItem($visible);
134
135 return $form;
136 }
$section
Definition: Utf8Test.php:83
$txt
Definition: error.php:11

References $description, $form, $section, $title, and $txt.

◆ getUserChatNameSelectionForm()

ilChatroomFormFactory::getUserChatNameSelectionForm ( array  $name_options)

Returns chatname selection form.

Parameters
array$name_options
Returns
ilPropertyFormGUI

Definition at line 183 of file class.ilChatroomFormFactory.php.

184 {
185 $form = new ilPropertyFormGUI();
186
187 $radio = new ilRadioGroupInputGUI($this->lng->txt('select_custom_username'), 'custom_username_radio');
188
189 foreach ($name_options as $key => $option) {
190 $opt = new ilRadioOption($option, $key);
191 $radio->addOption($opt);
192 }
193
194 $custom_opt = new ilRadioOption($this->lng->txt('custom_username'), 'custom_username');
195 $radio->addOption($custom_opt);
196
197 $txt = new ilTextInputGUI($this->lng->txt('custom_username'), 'custom_username_text');
198 $custom_opt->addSubItem($txt);
199 $form->addItem($radio);
200
201 if ($this->user->isAnonymous()) {
202 $radio->setValue('anonymousName');
203 } else {
204 $radio->setValue('fullname');
205 }
206
207 return $form;
208 }

References $form, $key, $txt, and user().

+ Here is the call graph for this function:

Field Documentation

◆ $lng

ilChatroomFormFactory::$lng
protected

Definition at line 17 of file class.ilChatroomFormFactory.php.

◆ $user

ilChatroomFormFactory::$user
protected

Definition at line 22 of file class.ilChatroomFormFactory.php.


The documentation for this class was generated from the following file: