4require_once
"./Services/Object/classes/class.ilObjectGUI.php";
5require_once(
'./Services/Repository/classes/class.ilObjectPlugin.php');
82 public function __construct($a_data, $a_id, $a_call_by_reference)
86 $this->tabs =
$DIC->tabs();
87 $this->access =
$DIC->access();
88 $this->ctrl =
$DIC->ctrl();
89 $this->rbacsystem =
$DIC->rbac()->system();
90 $this->
user = $DIC->user();
91 $this->obj_definition =
$DIC[
"objDefinition"];
93 $this->
error = $DIC[
"ilErr"];
94 $this->db =
$DIC->database();
95 $this->style_definition =
$DIC[
"styleDefinition"];
96 $this->lng =
$DIC->language();
97 $this->tpl =
$DIC[
"tpl"];
98 $this->
help = $DIC[
"ilHelp"];
99 $this->toolbar =
$DIC->toolbar();
100 $this->client_ini =
$DIC[
"ilClientIniFile"];
102 $this->bench =
$DIC[
"ilBench"];
105 $this->lng->loadLanguageModule(
"administration");
106 $this->lng->loadLanguageModule(
"adm");
113 $next_class = $this->ctrl->getNextClass($this);
116 switch ($next_class) {
117 case 'ilpermissiongui':
118 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
120 $ret = &$this->ctrl->forwardCommand($perm_gui);
125 $ilTabs->clearTargets();
126 $ilTabs->setBackTarget(
127 $this->lng->txt(
"back"),
128 $this->ctrl->getLinkTarget($this,
"")
131 include_once(
"./Services/Imprint/classes/class.ilImprintGUI.php");
138 $igui->setEnableEditing(
false);
141 $ret = $this->ctrl->forwardCommand($igui);
143 $this->tpl->setContent(
$ret);
147 case "ilobjectownershipmanagementgui":
149 include_once(
"Services/Object/classes/class.ilObjectOwnershipManagementGUI.php");
151 $this->ctrl->forwardCommand($gui);
154 case "ilcronmanagergui":
155 $ilTabs->activateTab(
"cron_jobs");
156 include_once(
"Services/Cron/classes/class.ilCronManagerGUI.php");
158 $this->ctrl->forwardCommand($gui);
163 $cmd = $this->ctrl->getCmd(
"view");
183 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId())) {
186 return $this->showServerInfoObject();
204 $this->lng->txt(
"system_check"),
205 $ilCtrl->getLinkTarget($this,
"check")
209 $this->lng->txt(
"system_check_no_owner"),
210 $ilCtrl->getLinkTargetByClass(
"ilObjectOwnershipManagementGUI")
213 $ilTabs->setSubTabActive($a_activate);
214 $ilTabs->setTabActive(
"system_check");
232 if (!
$rbacsystem->checkAccess(
"visible,read", $this->object->getRefId())) {
233 $ilErr->raiseError($this->lng->txt(
"permission_denied"),
$ilErr->MESSAGE);
237 if (
$_POST[
'count_limit'] !==
null ||
$_POST[
'age_limit'] !==
null ||
$_POST[
'type_limit'] !==
null) {
239 'systemcheck_count_limit',
240 (is_numeric(
$_POST[
'count_limit']) &&
$_POST[
'count_limit'] > 0) ?
$_POST[
'count_limit'] :
''
243 'systemcheck_age_limit',
244 (is_numeric(
$_POST[
'age_limit']) &&
$_POST[
'age_limit'] > 0) ?
$_POST[
'age_limit'] :
''
246 $ilUser->writePref(
'systemcheck_type_limit', trim(
$_POST[
'type_limit']));
255 include_once
"./Services/Repository/classes/class.ilValidator.php";
257 $hasScanLog = $validator->hasScanLog();
259 $this->tpl->addBlockFile(
262 "tpl.adm_check.html",
263 "Modules/SystemFolder"
267 $this->tpl->setVariable(
"TXT_VIEW_LOG", $this->lng->txt(
"view_last_log"));
270 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
271 $this->tpl->setVariable(
"TXT_TITLE", $this->lng->txt(
"systemcheck"));
272 $this->tpl->setVariable(
"COLSPAN", 3);
273 $this->tpl->setVariable(
"TXT_ANALYZE_TITLE", $this->lng->txt(
"analyze_data"));
274 $this->tpl->setVariable(
"TXT_ANALYSIS_OPTIONS", $this->lng->txt(
"analysis_options"));
275 $this->tpl->setVariable(
"TXT_REPAIR_OPTIONS", $this->lng->txt(
"repair_options"));
276 $this->tpl->setVariable(
"TXT_OUTPUT_OPTIONS", $this->lng->txt(
"output_options"));
277 $this->tpl->setVariable(
"TXT_SCAN", $this->lng->txt(
"scan"));
278 $this->tpl->setVariable(
"TXT_SCAN_DESC", $this->lng->txt(
"scan_desc"));
279 $this->tpl->setVariable(
"TXT_DUMP_TREE", $this->lng->txt(
"dump_tree"));
280 $this->tpl->setVariable(
"TXT_DUMP_TREE_DESC", $this->lng->txt(
"dump_tree_desc"));
281 $this->tpl->setVariable(
"TXT_CLEAN", $this->lng->txt(
"clean"));
282 $this->tpl->setVariable(
"TXT_CLEAN_DESC", $this->lng->txt(
"clean_desc"));
283 $this->tpl->setVariable(
"TXT_RESTORE", $this->lng->txt(
"restore_missing"));
284 $this->tpl->setVariable(
"TXT_RESTORE_DESC", $this->lng->txt(
"restore_missing_desc"));
285 $this->tpl->setVariable(
"TXT_PURGE", $this->lng->txt(
"purge_missing"));
286 $this->tpl->setVariable(
"TXT_PURGE_DESC", $this->lng->txt(
"purge_missing_desc"));
287 $this->tpl->setVariable(
"TXT_RESTORE_TRASH", $this->lng->txt(
"restore_trash"));
288 $this->tpl->setVariable(
"TXT_RESTORE_TRASH_DESC", $this->lng->txt(
"restore_trash_desc"));
289 $this->tpl->setVariable(
"TXT_PURGE_TRASH", $this->lng->txt(
"purge_trash"));
290 $this->tpl->setVariable(
"TXT_PURGE_TRASH_DESC", $this->lng->txt(
"purge_trash_desc"));
291 $this->tpl->setVariable(
"TXT_COUNT_LIMIT", $this->lng->txt(
"purge_count_limit"));
292 $this->tpl->setVariable(
"TXT_COUNT_LIMIT_DESC", $this->lng->txt(
"purge_count_limit_desc"));
293 $this->tpl->setVariable(
"COUNT_LIMIT_VALUE",
$ilUser->getPref(
"systemcheck_count_limit"));
294 $this->tpl->setVariable(
"TXT_AGE_LIMIT", $this->lng->txt(
"purge_age_limit"));
295 $this->tpl->setVariable(
"TXT_AGE_LIMIT_DESC", $this->lng->txt(
"purge_age_limit_desc"));
296 $this->tpl->setVariable(
"AGE_LIMIT_VALUE",
$ilUser->getPref(
"systemcheck_age_limit"));
297 $this->tpl->setVariable(
"TXT_TYPE_LIMIT", $this->lng->txt(
"purge_type_limit"));
298 $this->tpl->setVariable(
"TXT_TYPE_LIMIT_DESC", $this->lng->txt(
"purge_type_limit_desc"));
300 if (
$ilUser->getPref(
'systemcheck_mode_scan')) {
301 $this->tpl->touchBlock(
'mode_scan_checked');
303 if (
$ilUser->getPref(
'systemcheck_mode_dump_tree')) {
304 $this->tpl->touchBlock(
'mode_dump_tree_checked');
306 if (
$ilUser->getPref(
'systemcheck_mode_clean')) {
307 $this->tpl->touchBlock(
'mode_clean_checked');
309 if (
$ilUser->getPref(
'systemcheck_mode_restore')) {
310 $this->tpl->touchBlock(
'mode_restore_checked');
311 $this->tpl->touchBlock(
'mode_purge_disabled');
312 } elseif (
$ilUser->getPref(
'systemcheck_mode_purge')) {
313 $this->tpl->touchBlock(
'mode_purge_checked');
314 $this->tpl->touchBlock(
'mode_restore_disabled');
316 if (
$ilUser->getPref(
'systemcheck_mode_restore_trash')) {
317 $this->tpl->touchBlock(
'mode_restore_trash_checked');
318 $this->tpl->touchBlock(
'mode_purge_trash_disabled');
319 } elseif (
$ilUser->getPref(
'systemcheck_mode_purge_trash')) {
320 $this->tpl->touchBlock(
'mode_purge_trash_checked');
321 $this->tpl->touchBlock(
'mode_restore_trash_disabled');
323 if (
$ilUser->getPref(
'systemcheck_log_scan')) {
324 $this->tpl->touchBlock(
'log_scan_checked');
330 $obj_types_in_tree = array();
333 $set =
$ilDB->query(
'SELECT type FROM object_data od' .
334 ' JOIN object_reference ref ON (od.obj_id = ref.obj_id)' .
335 ' JOIN tree ON (tree.child = ref.ref_id)' .
336 ' WHERE tree.tree < 1' .
338 while ($row =
$ilDB->fetchAssoc($set)) {
339 $obj_types_in_tree[] = $row[
'type'];
343 $ts = array(
"" =>
"");
344 foreach ($types as $t) {
345 if ($t !=
"" && !
$objDefinition->isSystemObject($t) && $t !=
"root" &&
346 in_array($t, $obj_types_in_tree)) {
349 $ts[$t] = $pl->txt(
"obj_" . $t);
351 $ts[$t] = $this->lng->txt(
"obj_" . $t);
356 $this->tpl->setVariable(
359 $ilUser->getPref(
"systemcheck_type_limit"),
366 $this->tpl->setVariable(
"TXT_LOG_SCAN", $this->lng->txt(
"log_scan"));
367 $this->tpl->setVariable(
"TXT_LOG_SCAN_DESC", $this->lng->txt(
"log_scan_desc"));
368 $this->tpl->setVariable(
"TXT_SUBMIT", $this->lng->txt(
"start_scan"));
370 $this->tpl->setVariable(
"TXT_SAVE", $this->lng->txt(
"save_params_for_cron"));
372 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
375 $cron_form->setFormAction($this->ctrl->getFormAction($this));
376 $cron_form->setTitle($this->lng->txt(
'systemcheck_cronform'));
379 $radio_group->setValue(
$ilSetting->get(
'systemcheck_cron'));
381 $radio_opt =
new ilRadioOption($this->lng->txt(
'disabled'), 0);
382 $radio_group->addOption($radio_opt);
384 $radio_opt =
new ilRadioOption($this->lng->txt(
'enabled'), 1);
385 $radio_group->addOption($radio_opt);
387 $cron_form->addItem($radio_group);
389 $cron_form->addCommandButton(
'saveCheckCron', $this->lng->txt(
'save'));
391 $this->tpl->setVariable(
'CRON_FORM', $cron_form->getHTML());
404 include_once
"./Services/Repository/classes/class.ilValidator.php";
406 $modes = $validator->getPossibleModes();
409 foreach ($modes as $mode) {
410 if (isset(
$_POST[
'mode'][$mode])) {
411 $value = (int)
$_POST[
'mode'][$mode];
415 $prefs[
'systemcheck_mode_' . $mode ] = $value;
418 if (isset(
$_POST[
'log_scan'])) {
419 $value = (int)
$_POST[
'log_scan'];
423 $prefs[
'systemcheck_log_scan'] = $value;
426 foreach ($prefs as $key => $val) {
427 $ilUser->writePref($key, $val);
435 $systemcheck_cron = (
$_POST[
'cronjob'] ? 1 : 0);
436 $ilSetting->set(
'systemcheck_cron', $systemcheck_cron);
452 $this->tpl->addBlockFile(
455 "tpl.header_title_edit.html",
456 "Modules/SystemFolder"
463 $_GET[
"mode"] =
"session";
468 if ((
$_GET[
"mode"] !=
"session")) {
469 $data = $this->
object->getHeaderTitleTranslations();
473 elseif (
$_GET[
"entry"] != 0) {
474 array_splice(
$_SESSION[
"translation_post"][
"Fobject"],
$_GET[
"entry"], 1, array());
476 if (
$_GET[
"entry"] ==
$_SESSION[
"translation_post"][
"default_language"]) {
477 $_SESSION[
"translation_post"][
"default_language"] =
"";
484 if (!
$_GET[
"entry"] and $array_push) {
485 $count = array_push(
$data[
"Fobject"], array(
"title" =>
"",
"desc" =>
""));
487 $count = count(
$data[
"Fobject"]);
491 $strip = isset(
$_SESSION[
"translation_post"]) ?
true :
false;
493 foreach (
$data[
"Fobject"] as $key => $val) {
495 if ($key == $count - 1) {
496 $this->tpl->setCurrentBlock(
"addTranslation");
497 $this->tpl->setVariable(
"TXT_ADD_TRANSLATION", $this->lng->txt(
"add_translation") .
" >>");
498 $this->tpl->parseCurrentBlock();
503 $this->tpl->setCurrentBlock(
"removeTranslation");
504 $this->tpl->setVariable(
"TXT_REMOVE_TRANSLATION", $this->lng->txt(
"remove_translation"));
505 $this->ctrl->setParameter($this,
"entry", $key);
506 $this->ctrl->setParameter($this,
"mode",
"edit");
507 $this->tpl->setVariable(
508 "LINK_REMOVE_TRANSLATION",
509 $this->ctrl->getLinkTarget($this,
"removeTranslation")
511 $this->tpl->parseCurrentBlock();
515 $this->tpl->addBlockFile(
518 "tpl.lang_selection.html",
521 $this->tpl->setVariable(
"SEL_NAME",
"Fobject[" . $key .
"][lang]");
523 include_once(
'Services/MetaData/classes/class.ilMDLanguageItem.php');
527 foreach ($languages as $code => $language) {
528 $this->tpl->setCurrentBlock(
"lg_option");
529 $this->tpl->setVariable(
"VAL_LG", $code);
530 $this->tpl->setVariable(
"TXT_LG", $language);
532 if ($code == $val[
"lang"]) {
533 $this->tpl->setVariable(
"SELECTED",
"selected=\"selected\"");
536 $this->tpl->parseCurrentBlock();
540 $this->tpl->setCurrentBlock(
"obj_form");
543 $this->tpl->setVariable(
"TXT_HEADER", $this->lng->txt(
"change_header_title"));
545 $this->tpl->setVariable(
"TXT_HEADER", $this->lng->txt(
"translation") .
" " . $key);
548 if ($key ==
$data[
"default_language"]) {
549 $this->tpl->setVariable(
"CHECKED",
"checked=\"checked\"");
552 $this->tpl->setVariable(
"TXT_TITLE", $this->lng->txt(
"title"));
553 $this->tpl->setVariable(
"TXT_DESC", $this->lng->txt(
"desc"));
554 $this->tpl->setVariable(
"TXT_DEFAULT", $this->lng->txt(
"default"));
555 $this->tpl->setVariable(
"TXT_LANGUAGE", $this->lng->txt(
"language"));
558 $this->tpl->setVariable(
"NUM", $key);
559 $this->tpl->parseCurrentBlock();
563 $this->tpl->setCurrentBlock(
"adm_content");
565 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
566 $this->tpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
"cancel"));
567 $this->tpl->setVariable(
"TXT_SUBMIT", $this->lng->txt(
"save"));
568 $this->tpl->setVariable(
"CMD_SUBMIT",
"saveHeaderTitle");
569 $this->tpl->setVariable(
"TXT_REQUIRED_FLD", $this->lng->txt(
"required_field"));
582 if (!isset(
$data[
"default_language"])) {
583 $ilErr->raiseError($this->lng->txt(
"msg_no_default_language"),
$ilErr->MESSAGE);
587 foreach (
$data[
"Fobject"] as $key => $val) {
588 $langs[$key] = $val[
"lang"];
591 $langs = array_count_values($langs);
594 if (array_key_exists(
"", $langs)) {
595 $ilErr->raiseError($this->lng->txt(
"msg_no_language_selected"),
$ilErr->MESSAGE);
599 if (array_sum($langs) > count($langs)) {
600 $ilErr->raiseError($this->lng->txt(
"msg_multi_language_selected"),
$ilErr->MESSAGE);
608 $this->
object->removeHeaderTitleTranslations();
611 foreach (
$data[
"Fobject"] as $key => $val) {
612 if ($key ==
$data[
"default_language"]) {
621 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
623 $this->ctrl->redirect($this);
628 $this->ctrl->redirect($this,
"view");
640 $this->ctrl->setParameter($this,
"mode",
"session");
641 $this->ctrl->setParameter($this,
"entry",
"0");
642 $this->ctrl->redirect($this,
"changeHeaderTitle");
652 $this->ctrl->setParameter($this,
"entry",
$_GET[
"entry"]);
653 $this->ctrl->setParameter($this,
"mode",
"session");
654 $this->ctrl->redirect($this,
"changeHeaderTitle");
663 if (!
$rbacsystem->checkAccess(
"visible,read", $this->object->getRefId())) {
664 $ilErr->raiseError($this->lng->txt(
"permission_denied"),
$ilErr->MESSAGE);
667 $logging = ($a_log) ?
true :
false;
668 include_once
"./Services/Repository/classes/class.ilValidator.php";
670 $validator->setMode(
"all",
false);
673 foreach ($a_mode as $mode => $value) {
674 $validator->setMode($mode, (
bool) $value);
675 $modes[] = $mode .
'=' . $value;
678 $scan_log = $validator->validate();
680 $mode = $this->lng->txt(
"scan_modes") .
": " . implode(
', ', $modes);
683 $this->tpl->addBlockFile(
687 "Modules/SystemFolder"
690 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
691 $this->tpl->setVariable(
"TXT_TITLE", $this->lng->txt(
"scanning_system"));
692 $this->tpl->setVariable(
"COLSPAN", 3);
693 $this->tpl->setVariable(
"TXT_SCAN_LOG", $scan_log);
694 $this->tpl->setVariable(
"TXT_MODE", $mode);
696 if ($logging ===
true) {
697 $this->tpl->setVariable(
"TXT_VIEW_LOG", $this->lng->txt(
"view_log"));
700 $this->tpl->setVariable(
"TXT_DONE", $this->lng->txt(
"done"));
702 $validator->writeScanLogLine($mode);
707 include_once
"./Services/Repository/classes/class.ilValidator.php";
708 $validator =
new IlValidator();
709 $scan_log = &$validator->readScanLog();
711 if (is_array($scan_log)) {
712 $scan_log =
'<pre>' . implode(
"", $scan_log) .
'</pre>';
713 $this->tpl->setVariable(
"ADM_CONTENT", $scan_log);
715 $scan_log =
"no scanlog found.";
719 $this->tpl->addBlockFile(
723 "Modules/SystemFolder"
725 $this->tpl->setVariable(
"TXT_TITLE", $this->lng->txt(
"scan_details"));
726 $this->tpl->setVariable(
"COLSPAN", 3);
727 $this->tpl->setVariable(
"TXT_SCAN_LOG", $scan_log);
728 $this->tpl->setVariable(
"TXT_DONE", $this->lng->txt(
"done"));
744 if (!
$rbacsystem->checkAccess(
"visible,read", $this->object->getRefId())) {
745 $ilErr->raiseError($this->lng->txt(
"permission_denied"),
$ilErr->MESSAGE);
750 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
755 $cb->setChecked(
$ilSetting->get(
"enable_db_bench"));
756 $cb->setInfo(
$lng->txt(
"adm_activate_db_benchmark_desc"));
757 $this->form->addItem($cb);
761 $ti->setValue(
$ilSetting->get(
"db_bench_user"));
762 $ti->setInfo(
$lng->txt(
"adm_db_benchmark_user_desc"));
763 $this->form->addItem($ti);
765 $this->form->addCommandButton(
"saveBenchSettings",
$lng->txt(
"save"));
767 $this->form->setTitle(
$lng->txt(
"adm_db_benchmark"));
768 $this->form->setFormAction($ilCtrl->getFormAction($this));
770 $tpl->setContent($this->form->getHTML());
819 $rec =
$ilBench->getDbBenchRecords();
821 include_once(
"./Modules/SystemFolder/classes/class.ilBenchmarkTableGUI.php");
823 $tpl->setContent($table->getHTML());
839 $ilTabs->activateTab(
"benchmarks");
843 $lng->txt(
"settings"),
844 $ilCtrl->getLinkTarget($this,
"benchmark")
847 $rec =
$ilBench->getDbBenchRecords();
848 if (count($rec) > 0) {
851 $lng->txt(
"adm_db_bench_chronological"),
852 $ilCtrl->getLinkTarget($this,
"showDbBenchChronological")
856 $lng->txt(
"adm_db_bench_slowest_first"),
857 $ilCtrl->getLinkTarget($this,
"showDbBenchSlowestFirst")
861 $lng->txt(
"adm_db_bench_sorted_by_sql"),
862 $ilCtrl->getLinkTarget($this,
"showDbBenchSortedBySql")
866 $lng->txt(
"adm_db_bench_by_first_table"),
867 $ilCtrl->getLinkTarget($this,
"showDbBenchByFirstTable")
871 $ilTabs->activateSubTab($a_current);
881 if (
$_POST[
"enable_db_bench"]) {
887 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
889 $this->ctrl->redirect($this,
"benchmark");
898 $this->ctrl->setParameter($this,
'cur_mod',
$_POST[
'module']);
899 $this->ctrl->redirect($this,
"benchmark");
921 $this->ctrl->setParameter($this,
"ref_id", $this->object->getRefId());
924 if (
$rbacsystem->checkAccess(
"write", $this->object->getRefId())) {
925 $this->tabs_gui->addTarget(
927 $this->ctrl->getLinkTarget($this,
"showBasicSettings"),
928 array(
"showBasicSettings",
"saveBasicSettings"),
934 if (
$rbacsystem->checkAccess(
"visible,read", $this->object->getRefId())) {
935 $this->tabs_gui->addTarget(
937 $this->ctrl->getLinkTarget($this,
"showServerInfo"),
938 array(
"showServerInfo",
"view"),
943 if (
$rbacsystem->checkAccess(
"write", $this->object->getRefId())) {
944 $this->tabs_gui->addTarget(
946 $this->ctrl->getLinkTargetByClass(
"ilCronManagerGUI",
""),
954 $this->tabs_gui->addTarget(
956 $this->ctrl->getLinkTarget($this,
"benchmark"),
962 if (
$rbacsystem->checkAccess(
'edit_permission', $this->object->getRefId())) {
963 $this->tabs_gui->addTarget(
965 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"),
966 array(
"perm",
"info",
"owner"),
997 $ilTabs->addSubTabTarget(
"installation_status", $ilCtrl->getLinkTarget($this,
"showServerInstallationStatus"));
999 $ilTabs->addSubTabTarget(
"server_data", $ilCtrl->getLinkTarget($this,
"showServerInfo"));
1001 if (
$rbacsystem->checkAccess(
"write", $this->object->getRefId())) {
1002 $ilTabs->addSubTabTarget(
"java_server", $ilCtrl->getLinkTarget($this,
"showJavaServer"));
1005 $ilTabs->setSubTabActive($a_activate);
1006 $ilTabs->setTabActive(
"server");
1012 public function showServerInfoObject()
1025 require_once
'Services/UIComponent/Button/classes/class.ilLinkButton.php';
1027 $button->setCaption(
'vc_information');
1028 $button->setUrl($this->ctrl->getLinkTarget($this,
'showVcsInformation'));
1029 $ilToolbar->addButtonInstance($button);
1036 $btpl =
new ilTemplate(
"tpl.server_data.html",
true,
true,
"Modules/SystemFolder");
1037 $btpl->setVariable(
"FORM", $this->form->getHTML());
1038 $btpl->setVariable(
"PHP_INFO_TARGET", $ilCtrl->getLinkTarget($this,
"showPHPInfo"));
1039 $tpl->setContent($btpl->get());
1053 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
1058 $ne->setValue($ilClientIniFile->readVariable(
"client",
"name"));
1059 $ne->setInfo($ilClientIniFile->readVariable(
"client",
"description"));
1060 $this->form->addItem($ne);
1065 $this->form->addItem($ne);
1070 $this->form->addItem($ne);
1074 $ne->setValue(
$ilSetting->get(
"db_version"));
1076 $this->form->addItem($ne);
1080 $ne->setValue(
$ilSetting->get(
"ilias_version"));
1081 $this->form->addItem($ne);
1085 $ne->setValue(
$_SERVER[
"SERVER_NAME"]);
1086 $this->form->addItem($ne);
1091 $this->form->addItem($ne);
1095 $ne->setValue(
$_SERVER[
"SERVER_SOFTWARE"]);
1096 $this->form->addItem($ne);
1100 $ne->setValue(ILIAS_HTTP_PATH);
1101 $this->form->addItem($ne);
1105 $ne->setValue(ILIAS_ABSOLUTE_PATH);
1106 $this->form->addItem($ne);
1108 $not_set =
$lng->txt(
"path_not_set");
1112 $ne->setValue((PATH_TO_CONVERT) ? PATH_TO_CONVERT : $not_set);
1113 $this->form->addItem($ne);
1117 $ne->setValue((PATH_TO_ZIP) ? PATH_TO_ZIP : $not_set);
1118 $this->form->addItem($ne);
1122 $ne->setValue((PATH_TO_UNZIP) ? PATH_TO_UNZIP : $not_set);
1123 $this->form->addItem($ne);
1127 $ne->setValue((PATH_TO_JAVA) ? PATH_TO_JAVA : $not_set);
1128 $this->form->addItem($ne);
1132 $ne->setValue((PATH_TO_MKISOFS) ? PATH_TO_MKISOFS : $not_set);
1133 $this->form->addItem($ne);
1137 $ne->setValue((URL_TO_LATEX) ? URL_TO_LATEX : $not_set);
1138 $this->form->addItem($ne);
1141 $this->form->setTitle(
$lng->txt(
"server_data"));
1142 $this->form->setFormAction($this->ctrl->getFormAction($this));
1154 $f =
$DIC->ui()->factory();
1155 $r =
$DIC->ui()->renderer();
1156 $refinery =
$DIC->refinery();
1159 $report = $metric->toUIReport(
$f, $this->lng->txt(
"installation_status"));
1161 $this->tpl->setContent($r->render($report));
1182 return $st->getMetrics($agent_finder->getAgents());
1199 $ilTabs->addSubTabTarget(
"basic_settings", $ilCtrl->getLinkTarget($this,
"showBasicSettings"));
1200 $ilTabs->addSubTabTarget(
"header_title", $ilCtrl->getLinkTarget($this,
"showHeaderTitle"));
1201 $ilTabs->addSubTabTarget(
"contact_data", $ilCtrl->getLinkTarget($this,
"showContactInformation"));
1202 $ilTabs->addSubTabTarget(
"adm_imprint", $ilCtrl->getLinkTargetByClass(
"ilimprintgui",
"preview"));
1204 $ilTabs->setSubTabActive($a_activate);
1205 $ilTabs->setTabActive(
"general_settings");
1221 $this->initBasicSettingsForm();
1224 $tpl->setContent($this->form->getHTML());
1231 public function initBasicSettingsForm()
1240 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
1242 $lng->loadLanguageModule(
"pd");
1245 $ti =
new ilTextInputGUI($this->lng->txt(
"short_inst_name"),
"short_inst_name");
1246 $ti->setMaxLength(200);
1248 $ti->setValue(
$ilSetting->get(
"short_inst_name"));
1249 $ti->setInfo($this->lng->txt(
"short_inst_name_info"));
1250 $this->form->addItem($ti);
1254 $cb->setInfo(
$lng->txt(
"pub_section_info"));
1256 $cb->setChecked(
true);
1258 $this->form->addItem($cb);
1260 $this->lng->loadLanguageModule(
'administration');
1261 $domains =
new ilTextInputGUI($this->lng->txt(
'adm_pub_section_domain_filter'),
'public_section_domains');
1262 $domains->setInfo($this->lng->txt(
'adm_pub_section_domain_filter_info'));
1263 $domains->setMulti(
true);
1267 $cb->addSubItem($domains);
1272 $cb_prop->setInfo(
$lng->txt(
'pd_enable_user_publish_info'));
1273 $cb_prop->setChecked(
$ilSetting->get(
'enable_global_profiles'));
1274 $cb->addSubItem($cb_prop);
1277 include_once(
'Services/PrivacySecurity/classes/class.ilRobotSettings.php');
1280 $cb2->setInfo($this->lng->txt(
"enable_search_engine"));
1281 $this->form->addItem($cb2);
1283 if (!$robot_settings->checkRewrite()) {
1284 $cb2->setAlert(
$lng->txt(
"allow_override_alert"));
1285 $cb2->setChecked(
false);
1286 $cb2->setDisabled(
true);
1289 $cb2->setChecked(
true);
1294 $ti =
new ilTextInputGUI($this->lng->txt(
"adm_locale"),
"locale");
1295 $ti->setMaxLength(80);
1297 $ti->setInfo($this->lng->txt(
"adm_locale_info"));
1299 $this->form->addItem($ti);
1302 $this->form->addCommandButton(
"saveBasicSettings",
$lng->txt(
"save"));
1304 $this->form->setTitle(
$lng->txt(
"basic_settings"));
1305 $this->form->setFormAction($this->ctrl->getFormAction($this));
1321 if (!
$rbacsystem->checkAccess(
"write", $this->object->getRefId())) {
1322 $ilErr->raiseError($this->lng->txt(
"permission_denied"),
$ilErr->MESSAGE);
1325 $this->initBasicSettingsForm();
1326 if ($this->form->checkInput()) {
1330 $public_section->setEnabled($this->form->getInput(
'pub_section'));
1333 foreach ((array) $this->form->getInput(
'public_section_domains') as $domain) {
1334 if (strlen(trim($domain))) {
1335 $domains[] = $domain;
1338 $public_section->setDomains($domains);
1339 $public_section->save();
1341 $global_profiles = (
$_POST[
"pub_section"])
1342 ? (
int)
$_POST[
'enable_global_profiles']
1344 $ilSetting->set(
'enable_global_profiles', $global_profiles);
1349 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
1350 $ilCtrl->redirect($this,
"showBasicSettings");
1353 $this->form->setValuesByPost();
1354 $tpl->setContent($this->form->getHtml());
1371 include_once(
"./Services/Object/classes/class.ilObjectTranslationTableGUI.php");
1373 if ($a_get_post_values) {
1375 foreach (
$_POST[
"title"] as $k => $v) {
1376 $vals[] = array(
"title" => $v,
1377 "desc" =>
$_POST[
"desc"][$k],
1378 "lang" =>
$_POST[
"lang"][$k],
1379 "default" => (
$_POST[
"default"] == $k));
1381 $table->setData($vals);
1383 $data = $this->
object->getHeaderTitleTranslations();
1384 if (is_array(
$data[
"Fobject"])) {
1385 foreach (
$data[
"Fobject"] as $k => $v) {
1386 if ($k ==
$data[
"default_language"]) {
1387 $data[
"Fobject"][$k][
"default"] =
true;
1389 $data[
"Fobject"][$k][
"default"] =
false;
1393 $data[
"Fobject"] = array();
1395 $table->setData(
$data[
"Fobject"]);
1397 $tpl->setContent($table->getHTML());
1410 if (!
$rbacsystem->checkAccess(
"write", $this->object->getRefId())) {
1411 $ilErr->raiseError($this->lng->txt(
"permission_denied"),
$ilErr->MESSAGE);
1417 if (!isset(
$_POST[
"default"]) && count(
$_POST[
"lang"]) > 0) {
1423 if (array_key_exists(
"",
$_POST[
"lang"])) {
1429 if (count(array_unique(
$_POST[
"lang"])) < count(
$_POST[
"lang"])) {
1435 $this->
object->removeHeaderTitleTranslations();
1436 foreach (
$_POST[
"title"] as $k => $v) {
1437 $this->
object->addHeaderTitleTranslation(
1441 (
$_POST[
"default"] == $k)
1445 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
1446 $ilCtrl->redirect($this,
"showHeaderTitle");
1457 if (is_array(
$_POST[
"title"])) {
1458 foreach (
$_POST[
"title"] as $k => $v) {
1462 $_POST[
"title"][$k] =
"";
1474 foreach (
$_POST[
"title"] as $k => $v) {
1475 if (
$_POST[
"check"][$k]) {
1476 unset(
$_POST[
"title"][$k]);
1477 unset(
$_POST[
"desc"][$k]);
1478 unset(
$_POST[
"lang"][$k]);
1479 if ($k ==
$_POST[
"default"]) {
1480 unset(
$_POST[
"default"]);
1512 $this->ctrl->redirectByClass(
"ilCronManagerGUI",
"render");
1531 $tpl->setContent($this->form->getHTML());
1542 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
1546 $ti =
new ilTextInputGUI($this->lng->txt(
"firstname"),
"admin_firstname");
1547 $ti->setMaxLength(64);
1549 $ti->setRequired(
true);
1550 $ti->setValue(
$ilSetting->get(
"admin_firstname"));
1551 $this->form->addItem($ti);
1554 $ti =
new ilTextInputGUI($this->lng->txt(
"lastname"),
"admin_lastname");
1555 $ti->setMaxLength(64);
1557 $ti->setRequired(
true);
1558 $ti->setValue(
$ilSetting->get(
"admin_lastname"));
1559 $this->form->addItem($ti);
1562 $ti =
new ilTextInputGUI($this->lng->txt(
"title"),
"admin_title");
1563 $ti->setMaxLength(64);
1565 $ti->setValue(
$ilSetting->get(
"admin_title"));
1566 $this->form->addItem($ti);
1569 $ti =
new ilTextInputGUI($this->lng->txt(
"position"),
"admin_position");
1570 $ti->setMaxLength(64);
1572 $ti->setValue(
$ilSetting->get(
"admin_position"));
1573 $this->form->addItem($ti);
1576 $ti =
new ilTextInputGUI($this->lng->txt(
"institution"),
"admin_institution");
1577 $ti->setMaxLength(200);
1579 $ti->setValue(
$ilSetting->get(
"admin_institution"));
1580 $this->form->addItem($ti);
1583 $ti =
new ilTextInputGUI($this->lng->txt(
"street"),
"admin_street");
1584 $ti->setMaxLength(64);
1587 $ti->setValue(
$ilSetting->get(
"admin_street"));
1588 $this->form->addItem($ti);
1591 $ti =
new ilTextInputGUI($this->lng->txt(
"zipcode"),
"admin_zipcode");
1592 $ti->setMaxLength(10);
1595 $ti->setValue(
$ilSetting->get(
"admin_zipcode"));
1596 $this->form->addItem($ti);
1600 $ti->setMaxLength(64);
1603 $ti->setValue(
$ilSetting->get(
"admin_city"));
1604 $this->form->addItem($ti);
1607 $ti =
new ilTextInputGUI($this->lng->txt(
"country"),
"admin_country");
1608 $ti->setMaxLength(64);
1611 $ti->setValue(
$ilSetting->get(
"admin_country"));
1612 $this->form->addItem($ti);
1615 $ti =
new ilTextInputGUI($this->lng->txt(
"phone"),
"admin_phone");
1616 $ti->setMaxLength(64);
1619 $ti->setValue(
$ilSetting->get(
"admin_phone"));
1620 $this->form->addItem($ti);
1623 $ti =
new ilEmailInputGUI($this->lng->txt(
"email"),
"admin_email");
1624 $ti->setMaxLength(64);
1626 $ti->setRequired(
true);
1627 $ti->allowRFC822(
true);
1628 $ti->setValue(
$ilSetting->get(
"admin_email"));
1629 $this->form->addItem($ti);
1646 include_once(
"./Modules/SystemFolder/classes/class.ilSystemSupportContacts.php");
1647 $ti =
new ilTextInputGUI($this->lng->txt(
"adm_support_contacts"),
"adm_support_contacts");
1648 $ti->setMaxLength(500);
1651 $ti->setInfo($this->lng->txt(
"adm_support_contacts_info"));
1652 $this->form->addItem($ti);
1655 $ti =
new ilTextInputGUI($this->lng->txt(
"adm_accessibility_contacts"),
"accessibility_support_contacts");
1656 $ti->setMaxLength(500);
1659 $ti->setInfo($this->lng->txt(
"adm_accessibility_contacts_info"));
1660 $this->form->addItem($ti);
1671 $this->form->addCommandButton(
"saveContactInformation",
$lng->txt(
"save"));
1673 $this->form->setTitle(
$lng->txt(
"contact_data"));
1674 $this->form->setFormAction($this->ctrl->getFormAction($this));
1690 if (!
$rbacsystem->checkAccess(
"write", $this->object->getRefId())) {
1691 $ilErr->raiseError($this->lng->txt(
"permission_denied"),
$ilErr->MESSAGE);
1695 if ($this->form->checkInput()) {
1696 $fs = array(
"admin_firstname",
"admin_lastname",
"admin_title",
"admin_position",
1697 "admin_institution",
"admin_street",
"admin_zipcode",
"admin_city",
1698 "admin_country",
"admin_phone",
"admin_email");
1699 foreach ($fs as
$f) {
1704 include_once(
"./Modules/SystemFolder/classes/class.ilSystemSupportContacts.php");
1710 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
1711 $ilCtrl->redirect($this,
"showContactInformation");
1714 $this->form->setValuesByPost();
1715 $tpl->setContent($this->form->getHtml());
1732 $tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.java_settings.html',
'Modules/SystemFolder');
1734 $GLOBALS[
'lng']->loadLanguageModule(
'search');
1738 $tpl->setVariable(
'SETTINGS_TABLE', $this->form->getHTML());
1748 $this->tpl->setContent($this->form->getHTML());
1759 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
1761 $this->form->setFormAction($this->ctrl->getFormAction($this,
'saveJavaServer'));
1765 $pdf->setTitle($this->lng->txt(
'rpc_pdf_generation'));
1766 $this->form->addItem($pdf);
1768 $pdf_font =
new ilTextInputGUI($this->lng->txt(
'rpc_pdf_font'),
'rpc_pdf_font');
1769 $pdf_font->setInfo($this->lng->txt(
'rpc_pdf_font_info'));
1770 $pdf_font->setSize(64);
1771 $pdf_font->setMaxLength(1024);
1772 $pdf_font->setRequired(
true);
1773 $pdf_font->setValue(
1774 $ilSetting->get(
'rpc_pdf_font',
'Helvetica, unifont')
1776 $this->form->addItem($pdf_font);
1779 $this->form->addCommandButton(
"saveJavaServer",
$lng->txt(
"save"));
1795 if (!
$rbacsystem->checkAccess(
"write", $this->object->getRefId())) {
1796 $ilErr->raiseError($this->lng->txt(
"permission_denied"),
$ilErr->MESSAGE);
1800 if ($this->form->checkInput()) {
1802 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
1803 $ilCtrl->redirect($this,
"showJavaServer");
1808 $this->form->setValuesByPost();
1809 $tpl->setContent($this->form->getHtml());
1821 $ilAccess =
$DIC->access();
1827 if ($ilAccess->checkAccess(
"read",
"", $a_target)) {
1833 $lng->txt(
"msg_no_perm_read_item"),
1850 $html = $vc->getInformationAsHtml();
1862 $this->showServerInfoObject();
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
An exception for terminatinating execution or to throw for unit testing.
Command to output status information about the installation.
A metric is something we can measure about the system.
return true
Flag indicating whether or not HTTP headers will be sent when outputting captcha image/audio.
error($a_errmsg)
set error message @access public
This class represents a non editable value in a property form.
static getEffectiveContentStyleId($a_style_id, $a_type="")
Get effective Style Id.
Class ilObjSystemFolderGUI.
setServerInfoSubTabs($a_activate)
Set sub tabs for server info.
setSystemCheckSubTabs($a_activate)
Set sub tabs for general settings.
showContactInformationObject()
Show contact information.
initContactInformationForm()
Init contact information form.
startValidator($a_mode, $a_log)
static _goto()
goto target group
__construct($a_data, $a_id, $a_call_by_reference)
Constructor @access public.
saveHeaderTitlesObject()
Save header titles.
benchmarkSubTabs($a_current)
Benchmark sub tabs.
showDbBenchResults($a_mode)
Show Db Benchmark Results.
showJavaServerObject()
Show Java Server Settings.
saveJavaServerObject()
Save java server form.
executeCommand()
execute command
switchBenchModuleObject()
save benchmark settings
createJavaServerIniObject()
Create a server ini file.
benchmarkObject()
Benchmark settings.
deleteHeaderTitlesObject()
Remove header titles.
showPHPInfoObject()
Show PHP Information.
showDbBenchSortedBySqlObject()
Show db benchmark results.
showDbBenchSlowestFirstObject()
Show db benchmark results.
addHeaderTitleTranslationObject()
adds a translation form & save post vars to session
saveBenchSettingsObject()
Save benchmark settings.
addHeaderTitleObject()
Add a header title.
showDbBenchChronologicalObject()
Show db benchmark results.
checkObject()
displays system check menu
cancelObject()
cancel action and go back to previous page @access public
changeHeaderTitleObject()
edit header title form
saveContactInformationObject()
Save contact information form.
saveBasicSettingsObject()
Save basic settings form.
showServerInstallationStatusObject()
removeTranslationObject()
removes a translation form & save post vars to session
getServerStatusInfo(ILIAS\Refinery\Factory $refinery)
clearBenchObject()
delete all benchmark records
showHeaderTitleObject($a_get_post_values=false)
Show header title.
viewObject()
show admin subpanels and basic settings form
showBasicSettingsObject()
Show basic settings.
saveHeaderTitleObject()
save header title
showVcsInformationObject()
showDbBenchByFirstTableObject()
Show db benchmark results.
setGeneralSettingsSubTabs($a_activate)
Set sub tabs for general settings.
initJavaServerForm()
Init java server form.
initServerInfoForm()
Init server info form.
getAdminTabs()
administration tabs show only permissions and trash folder
Class ilObjectGUI Basic methods of all Output classes.
prepareOutput($a_show_subobjects=true)
prepare output
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
Class ilObjectOwnershipManagementGUI.
static getPluginObjectByType($type)
Return either a repoObject plugin or a orgunit extension plugin or null if the type is not a plugin.
TableGUI class for title/description translations.
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static getInstance()
Get instance.
This class represents an option in a radio group.
static _getInstance()
Get instance.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
special template class to simplify handling of ITX/PEAR
This class represents a text property in a property form.
static redirect($a_script)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static formSelect( $selected, $varname, $options, $multiple=false, $direct_text=false, $size="0", $style_class="", $attribs="", $disabled=false)
Builds a select form field with options and shows the selected option first.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms @access public
ILIAS Data Validator & Recovery Tool.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
Class ChatMainBarProvider \MainMenu\Provider.