4require_once 
'Services/Form/classes/class.ilPropertyFormGUI.php';
 
   31        $this->lng = 
$DIC->language();
 
   32        $this->
user = $DIC->user();
 
   71        $form->addCommandButton(
'create-save', $this->lng->txt(
'create'));
 
   72        $form->addCommandButton(
'cancel', $this->lng->txt(
'cancel'));
 
   82        $this->lng->loadLanguageModule(
'rep');
 
   93        $cb->setInfo($this->lng->txt(
'anonymous_hint'));
 
   96        $txt->setRequired(
true);
 
   97        $txt->setInfo($this->lng->txt(
'autogen_usernames_info'));
 
   98        $cb->addSubItem(
$txt);
 
  101        $cb = 
new ilCheckboxInputGUI($this->lng->txt(
'allow_custom_usernames'), 
'allow_custom_usernames');
 
  104        $cb_history = 
new ilCheckboxInputGUI($this->lng->txt(
'enable_history'), 
'enable_history');
 
  105        $form->addItem($cb_history);
 
  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);
 
  113        $cb = 
new ilCheckboxInputGUI($this->lng->txt(
'private_rooms_enabled'), 
'private_rooms_enabled');
 
  114        $cb->setInfo($this->lng->txt(
'private_rooms_enabled_info'));
 
  118        $section->setTitle($this->lng->txt(
'rep_activation_availability'));
 
  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);
 
  125        require_once 
'Services/Form/classes/class.ilDateDurationInputGUI.php';
 
  127        $dur->setShowTime(
true);
 
  128        $form->addItem($dur);
 
  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);
 
  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'));
 
  152        $form->setTarget(
'_blank');
 
  164        $form->setPreventDoubleSubmission(
false);
 
  166        require_once 
'Services/Form/classes/class.ilDateDurationInputGUI.php';
 
  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);
 
  187        $radio = 
new ilRadioGroupInputGUI($this->lng->txt(
'select_custom_username'), 
'custom_username_radio');
 
  189        foreach ($name_options as 
$key => $option) {
 
  191            $radio->addOption($opt);
 
  194        $custom_opt = 
new ilRadioOption($this->lng->txt(
'custom_username'), 
'custom_username');
 
  195        $radio->addOption($custom_opt);
 
  197        $txt = 
new ilTextInputGUI($this->lng->txt(
'custom_username'), 
'custom_username_text');
 
  198        $custom_opt->addSubItem(
$txt);
 
  199        $form->addItem($radio);
 
  201        if ($this->
user->isAnonymous()) {
 
  202            $radio->setValue(
'anonymousName');
 
  204            $radio->setValue(
'fullname');
 
  218        $form->setPreventDoubleSubmission(
false);
 
  232        $list->setRequired(
true);
 
  247        $address = 
new ilTextInputGUI($this->lng->txt(
'chatserver_address'), 
'address');
 
  248        $address->setRequired(
true);
 
  249        $form->addItem($address);
 
  252        $port->setMinValue(1);
 
  253        $port->setMaxValue(65535);
 
  254        $port->setRequired(
true);
 
  255        $port->setInfo($this->lng->txt(
'port_info'));
 
  257        $form->addItem($port);
 
  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);
 
  274        $certificate->setInfo($this->lng->txt(
'chat_https_cert_info'));
 
  279        $key->setInfo($this->lng->txt(
'chat_https_key_info'));
 
  280        $key->setRequired(
true);
 
  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);
 
  289        $chatLog->setInfo($this->lng->txt(
'chat_log_info'));
 
  290        $chatLog->setRequired(
false);
 
  291        $form->addItem($chatLog);
 
  293        $chatLogLevel = 
new ilSelectInputGUI($this->lng->txt(
'chat_log_level'), 
'log_level');
 
  294        $chatLogLevel->setOptions([
 
  299            'warning' => 
'warning',
 
  300            'notice' => 
'notice',
 
  305        $form->addItem($chatLogLevel);
 
  307        $chatErrorLog = 
new ilTextInputGUI($this->lng->txt(
'error_log'), 
'error_log');
 
  308        $chatErrorLog->setInfo($this->lng->txt(
'chat_error_log_info'));
 
  309        $chatErrorLog->setRequired(
false);
 
  310        $form->addItem($chatErrorLog);
 
  313        $iliasSection->setTitle($this->lng->txt(
'ilias_chatserver_connection'));
 
  314        $form->addItem($iliasSection);
 
  317        $iliasProxy->setRequired(
false);
 
  318        $iliasProxy->setInfo($this->lng->txt(
'ilias_proxy_info'));
 
  319        $form->addItem($iliasProxy);
 
  321        $chatServerILIASUrl = 
new ilTextInputGUI($this->lng->txt(
'url'), 
'ilias_url');
 
  322        $chatServerILIASUrl->setRequired(
true);
 
  323        $chatServerILIASUrl->setInfo($this->lng->txt(
'connection_url_info'));
 
  324        $iliasProxy->addSubItem($chatServerILIASUrl);
 
  327        $clientSection->setTitle($this->lng->txt(
'client_chatserver_connection'));
 
  328        $form->addItem($clientSection);
 
  331        $clientProxy->setRequired(
false);
 
  332        $clientProxy->setInfo($this->lng->txt(
'client_proxy_info'));
 
  333        $form->addItem($clientProxy);
 
  335        $chatServerClientUrl = 
new ilTextInputGUI($this->lng->txt(
'url'), 
'client_url');
 
  336        $chatServerClientUrl->setRequired(
true);
 
  337        $chatServerClientUrl->setInfo($this->lng->txt(
'connection_url_info'));
 
  338        $clientProxy->addSubItem($chatServerClientUrl);
 
  341        $deletion_section->setTitle($this->lng->txt(
'chat_deletion_section_head'));
 
  342        $form->addItem($deletion_section);
 
  344        $deletion_options = 
new ilRadioGroupInputGUI($this->lng->txt(
'chat_deletion_section_head'), 
'deletion_mode');
 
  346        $deletion_mode_deactivated = 
new ilRadioOption($this->lng->txt(
'chat_deletion_disabled'), 0);
 
  347        $deletion_options->addOption($deletion_mode_deactivated);
 
  349        $chat_deletion_interval = 
new ilRadioOption($this->lng->txt(
'chat_deletion_interval'), 1);
 
  350        $chat_deletion_interval->setInfo($this->lng->txt(
'chat_deletion_interval_info'));
 
  351        $interval_unit = 
new ilSelectInputGUI($this->lng->txt(
'chat_deletion_interval_unit'), 
'deletion_unit');
 
  352        $interval_unit->setRequired(
true);
 
  353        $interval_unit->setOptions(array(
 
  354            'days' => $this->lng->txt(
'days'),
 
  355            'weeks' => $this->lng->txt(
'weeks'),
 
  356            'months' => $this->lng->txt(
'months'),
 
  357            'years' => $this->lng->txt(
'years'),
 
  359        $chat_deletion_interval->addSubItem($interval_unit);
 
  361        require_once 
'Modules/Chatroom/classes/form/class.ilChatroomMessageDeletionThresholdInputGUI.php';
 
  363        $interval_value->allowDecimals(
false);
 
  364        $interval_value->setMinValue(1);
 
  365        $interval_value->setRequired(
true);
 
  366        $chat_deletion_interval->addSubItem($interval_value);
 
  368        $runAtTime = 
new ilTextInputGUI($this->lng->txt(
'chat_deletion_interval_run_at'), 
'deletion_time');
 
  369        $runAtTime->setInfo($this->lng->txt(
'chat_deletion_interval_run_at_info'));
 
  370        $runAtTime->setRequired(
true);
 
  371        $runAtTime->setValidationRegexp(
'/([01][0-9]|[2][0-3]):[0-5][0-9]/');
 
  372        $chat_deletion_interval->addSubItem($runAtTime);
 
  374        $deletion_options->addOption($chat_deletion_interval);
 
  376        $form->addItem($deletion_options);
 
  388        $enable_chat = 
new ilCheckboxInputGUI($this->lng->txt(
'chat_enabled'), 
'chat_enabled');
 
  389        $form->addItem($enable_chat);
 
  391        $enable_osc = 
new ilCheckboxInputGUI($this->lng->txt(
'chatroom_enable_osc'), 
'enable_osc');
 
  392        $enable_osc->setInfo($this->lng->txt(
'chatroom_enable_osc_info'));
 
  393        $enable_chat->addSubItem($enable_osc);
 
  396        $osd->setInfo($this->lng->txt(
'hint_osd'));
 
  397        $enable_chat->addSubItem($osd);
 
  399        $interval = 
new ilNumberInputGUI($this->lng->txt(
'osd_intervall'), 
'osd_intervall');
 
  400        $interval->setMinValue(1);
 
  401        $interval->setRequired(
true);
 
  402        $interval->setInfo($this->lng->txt(
'hint_osd_interval'));
 
  403        $osd->addSubItem($interval);
 
  405        $play_sound = 
new ilCheckboxInputGUI($this->lng->txt(
'play_invitation_sound'), 
'play_invitation_sound');
 
  406        $play_sound->setInfo($this->lng->txt(
'play_invitation_sound_info'));
 
  407        $osd->addSubItem($play_sound);
 
  409        $enable_smilies = 
new ilCheckboxInputGUI($this->lng->txt(
'enable_smilies'), 
'enable_smilies');
 
  410        $enable_smilies->setInfo($this->lng->txt(
'hint_enable_smilies'));
 
  411        $enable_chat->addSubItem($enable_smilies);
 
  413        $name = new \ilTextInputGUI($this->lng->txt(
'chatroom_client_name'), 
'client_name');
 
  414        $name->setInfo($this->lng->txt(
'chatroom_client_name_info'));
 
  415        $name->setRequired(
true);
 
  416        $name->setMaxLength(100);
 
  417        $enable_chat->addSubItem(
$name);
 
  419        require_once 
'Modules/Chatroom/classes/class.ilChatroomAuthInputGUI.php';
 
  421        $auth->setInfo($this->lng->txt(
'chat_auth_token_info'));
 
  422        $auth->setCtrlPath(array(
'iladministrationgui', 
'ilobjchatroomgui', 
'ilpropertyformgui', 
'ilformpropertydispatchgui', 
'ilchatroomauthinputgui'));
 
  423        $auth->setRequired(
true);
 
  424        $enable_chat->addSubItem(
$auth);
 
An exception for terminatinating execution or to throw for unit testing.
static formatPeriod(ilDateTime $start, ilDateTime $end, $a_skip_starting_day=false)
Format a period of two date Shows: 14.
@classDescription Date and time handling
This class represents an option in a radio group.
This class represents a text area property in a property form.
This class represents a text property in a property form.
if(@file_exists(dirname(__FILE__).'/lang/eng.php')) $certificate
if(isset($_POST['submit'])) $form
if(isset($_REQUEST['delete'])) $list