ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilObjAuthSettingsGUI.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3
17require_once "./Services/Object/classes/class.ilObjectGUI.php";
18
20{
25 function ilObjAuthSettingsGUI($a_data,$a_id,$a_call_by_reference,$a_prepare_output = true)
26 {
27 $this->type = "auth";
28 $this->ilObjectGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output);
29
30 $this->lng->loadLanguageModule('registration');
31
32 define('LDAP_DEFAULT_PORT',389);
33 define('RADIUS_DEFAULT_PORT',1812);
34
35 }
36
37
38
39 function viewObject()
40 {
41 return $this->authSettingsObject();
42 }
43
44
51 {
52 global $rbacsystem, $ilSetting;
53
54 if (!$rbacsystem->checkAccess("visible,read",$this->object->getRefId()))
55 {
56 $this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
57 }
58
59 $this->tabs_gui->setTabActive('authentication_settings');
60 $this->setSubTabs('authSettings');
61 $this->tabs_gui->setSubTabActive("auth_settings");
62
63 $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.auth_general.html",
64 "Services/Authentication");
65
66 $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
67 $this->tpl->setVariable("TXT_AUTH_TITLE", $this->lng->txt("auth_select"));
68
69 $this->tpl->setVariable("TXT_AUTH_MODE", $this->lng->txt("auth_mode"));
70 $this->tpl->setVariable("TXT_AUTH_DEFAULT", $this->lng->txt("default"));
71 $this->tpl->setVariable("TXT_AUTH_ACTIVE", $this->lng->txt("active"));
72 $this->tpl->setVariable("TXT_AUTH_NUM_USERS", $this->lng->txt("num_users"));
73
74 $this->tpl->setVariable("TXT_LOCAL", $this->lng->txt("auth_local"));
75 $this->tpl->setVariable("TXT_LDAP", $this->lng->txt("auth_ldap"));
76 $this->tpl->setVariable("TXT_SHIB", $this->lng->txt("auth_shib"));
77
78 $this->tpl->setVariable("TXT_CAS", $this->lng->txt("auth_cas"));
79
80 $this->tpl->setVariable("TXT_RADIUS", $this->lng->txt("auth_radius"));
81 $this->tpl->setVariable("TXT_SCRIPT", $this->lng->txt("auth_script"));
82
83 $this->tpl->setVariable("TXT_APACHE", $this->lng->txt("auth_apache"));
84
86 $auth_modes = ilAuthUtils::_getAllAuthModes();
88 include_once('Services/LDAP/classes/class.ilLDAPServer.php');
89 // icon handlers
90 $icon_ok = "<img src=\"".ilUtil::getImagePath("icon_ok.svg")."\" alt=\"".$this->lng->txt("enabled")."\" title=\"".$this->lng->txt("enabled")."\" border=\"0\" vspace=\"0\"/>";
91 $icon_not_ok = "<img src=\"".ilUtil::getImagePath("icon_not_ok.svg")."\" alt=\"".$this->lng->txt("disabled")."\" title=\"".$this->lng->txt("disabled")."\" border=\"0\" vspace=\"0\"/>";
92
93
94 foreach($auth_modes as $mode => $mode_name)
95 {
96 if(!in_array($mode,$valid_modes) && !ilLDAPServer::isAuthModeLDAP($mode))
97 {
98 continue;
99 }
100
101 $this->tpl->setCurrentBlock('auth_mode');
102
104 {
106 $this->tpl->setVariable("AUTH_NAME", $server->getName());
107 $this->tpl->setVariable('AUTH_ACTIVE',$server->isActive() ? $icon_ok : $icon_not_ok);
108 }
109 else
110 {
111 $this->tpl->setVariable("AUTH_NAME", $this->lng->txt("auth_" . $mode_name));
112 $this->tpl->setVariable('AUTH_ACTIVE',$this->ilias->getSetting($mode_name . '_active') || $mode == AUTH_LOCAL ? $icon_ok : $icon_not_ok);
113 }
114
115 if ($ilSetting->get('auth_mode') == $mode)
116 {
117 $this->tpl->setVariable("AUTH_CHECKED","checked=\"checked\"");
118
119 $this->tpl->setVariable("AUTH_USER_NUM",
120 ((int) $auth_cnt[$mode_name] + $auth_cnt["default"])." (".$this->lng->txt("auth_per_default").
121 ": ".$auth_cnt["default"].")");
122 }
123 else
124 {
125 $this->tpl->setVariable("AUTH_USER_NUM",
126 (int) $auth_cnt[$mode_name]);
127 }
128 $this->tpl->setVariable("AUTH_ID",$mode_name);
129 $this->tpl->setVariable("AUTH_VAL",$mode);
130 $this->tpl->parseCurrentBlock();
131 }
132
133 $this->tpl->setVariable("TXT_CONFIGURE", $this->lng->txt("auth_configure"));
134 $this->tpl->setVariable("TXT_AUTH_REMARK", $this->lng->txt("auth_remark_non_local_auth"));
135 $this->tpl->setVariable("TXT_SUBMIT", $this->lng->txt("save"));
136 $this->tpl->setVariable("CMD_SUBMIT", "setAuthMode");
137
138 // auth mode determinitation
139 if($this->initAuthModeDetermination())
140 {
141 $this->tpl->setVariable('TABLE_AUTH_DETERMINATION',$this->form->getHTML());
142 }
143
144 // roles table
145 $this->tpl->setVariable("FORMACTION_ROLES",
146 $this->ctrl->getFormAction($this));
147 $this->tpl->setVariable("TXT_AUTH_ROLES", $this->lng->txt("auth_active_roles"));
148 $this->tpl->setVariable("TXT_ROLE", $this->lng->txt("obj_role"));
149 $this->tpl->setVariable("TXT_ROLE_AUTH_MODE", $this->lng->txt("auth_role_auth_mode"));
150 $this->tpl->setVariable("CMD_SUBMIT_ROLES", "updateAuthRoles");
151
152 include_once("./Services/AccessControl/classes/class.ilObjRole.php");
154
155 // auth mode selection
156 include_once('./Services/Authentication/classes/class.ilAuthUtils.php');
157 $active_auth_modes = ilAuthUtils::_getActiveAuthModes();
158
159 foreach ($reg_roles as $role)
160 {
161 foreach ($active_auth_modes as $auth_name => $auth_key)
162 {
163 // do not list auth modes with external login screen
164 // even not default, because it can easily be set to
165 // a non-working auth mode
166 if ($auth_name == "default" || $auth_name == "cas"
167 || $auth_name == "shibboleth" || $auth_name == 'ldap'
168 || $auth_name == 'apache' || $auth_name == "ecs"
169 || $auth_name == "openid")
170 {
171 continue;
172 }
173
174 $this->tpl->setCurrentBlock("auth_mode_selection");
175
176 if ($auth_name == 'default')
177 {
178 $name = $this->lng->txt('auth_'.$auth_name)." (".$this->lng->txt('auth_'.ilAuthUtils::_getAuthModeName($auth_key)).")";
179 }
180 else if($id = ilLDAPServer::getServerIdByAuthMode($auth_key))
181 {
183 $name = $server->getName();
184 }
185 else
186 {
187 $name = $this->lng->txt('auth_'.$auth_name);
188 }
189
190 $this->tpl->setVariable("AUTH_MODE_NAME", $name);
191
192 $this->tpl->setVariable("AUTH_MODE", $auth_name);
193
194 if ($role['auth_mode'] == $auth_name)
195 {
196 $this->tpl->setVariable("SELECTED_AUTH_MODE", "selected=\"selected\"");
197 }
198
199 $this->tpl->parseCurrentBlock();
200 } // END auth_mode selection
201
202 $this->tpl->setCurrentBlock("roles");
203 $this->tpl->setVariable("ROLE", $role['title']);
204 $this->tpl->setVariable("ROLE_ID", $role['id']);
205 $this->tpl->parseCurrentBlock();
206 }
207 }
208
209
216 public function loginInfoObject()
217 {
218 global $rbacsystem, $lng,$ilSetting;
219
220 if (!$rbacsystem->checkAccess("visible,read", $this->object->getRefId()))
221 {
222 $this->ilias->raiseError($this->lng->txt("permission_denied"), $this->ilias->error_obj->MESSAGE);
223 }
224
225 $this->tabs_gui->setTabActive("authentication_settings");
226 $this->setSubTabs("authSettings");
227 $this->tabs_gui->setSubTabActive("auth_login_editor");
228
229 $lng->loadLanguageModule("meta");
230
231 $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.auth_login_messages.html",
232 "Services/Authentication");
233 $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
234 $this->tpl->setVariable("TXT_HEADLINE", $this->lng->txt("login_information"));
235 $this->tpl->setVariable("TXT_DESCRIPTION", $this->lng->txt("login_information_desc"));
236 $this->tpl->setVariable("TXT_SUBMIT", $this->lng->txt("save"));
237 $this->initLoginForm();
238 $this->tpl->setVariable('LOGIN_INFO',$this->form->getHTML());
239 }
240
241
242 function cancelObject()
243 {
244 $this->ctrl->redirect($this, "authSettings");
245 }
246
248 {
249 global $rbacsystem,$ilSetting;
250
251 if (!$rbacsystem->checkAccess("write",$this->object->getRefId()))
252 {
253 $this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
254 }
255
256 if (empty($_POST["auth_mode"]))
257 {
258 $this->ilias->raiseError($this->lng->txt("auth_err_no_mode_selected"),$this->ilias->error_obj->MESSAGE);
259 }
260
261 if ($_POST["auth_mode"] == AUTH_DEFAULT)
262 {
263 ilUtil::sendInfo($this->lng->txt("auth_mode").": ".$this->getAuthModeTitle()." ".$this->lng->txt("auth_mode_not_changed"),true);
264 $this->ctrl->redirect($this,'authSettings');
265 }
266
267 switch ($_POST["auth_mode"])
268 {
269 case AUTH_LDAP:
270
271 /*
272 if ($this->object->checkAuthLDAP() !== true)
273 {
274 ilUtil::sendInfo($this->lng->txt("auth_ldap_not_configured"),true);
275 ilUtil::redirect($this->getReturnLocation("authSettings",$this->ctrl->getLinkTarget($this,"editLDAP", "", false, false)));
276 }
277 */
278 break;
279
280 case AUTH_SHIB:
281 if ($this->object->checkAuthSHIB() !== true)
282 {
283 ilUtil::sendFailure($this->lng->txt("auth_shib_not_configured"),true);
284 ilUtil::redirect($this->getReturnLocation("authSettings",$this->ctrl->getLinkTarget($this,"editSHIB", "", false, false)));
285 }
286 break;
287
288 case AUTH_RADIUS:
289 if ($this->object->checkAuthRADIUS() !== true)
290 {
291 ilUtil::sendFailure($this->lng->txt("auth_radius_not_configured"),true);
292 $this->ctrl->redirect($this,'editRADIUS');
293 }
294 break;
295
296 case AUTH_SCRIPT:
297 if ($this->object->checkAuthScript() !== true)
298 {
299 ilUtil::sendFailure($this->lng->txt("auth_script_not_configured"),true);
300 ilUtil::redirect($this->getReturnLocation("authSettings",$this->ctrl->getLinkTarget($this,"editScript", "", false, false)));
301 }
302 break;
303 }
304
305 $this->ilias->setSetting("auth_mode",$_POST["auth_mode"]);
306
307 ilUtil::sendSuccess($this->lng->txt("auth_default_mode_changed_to")." ".$this->getAuthModeTitle(),true);
308 $this->ctrl->redirect($this,'authSettings');
309 }
310
316 function editSOAPObject()
317 {
318 global $rbacsystem, $rbacreview, $ilSetting, $ilCtrl, $lng;
319
320 if (!$rbacsystem->checkAccess("read",$this->object->getRefId()))
321 {
322 $this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
323 }
324
325 $this->tabs_gui->setTabActive('auth_soap');
326
327 //set Template
328 $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.auth_soap.html','Services/Authentication');
329
330 // compose role list
331 $role_list = $rbacreview->getRolesByFilter(2,$this->object->getId());
332 $roles = array();
333
334 foreach ($role_list as $role)
335 {
336 $roles[$role['obj_id']] = $role['title'];
337 }
338
339 //set property form gui
340 include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
341
342 $soap_config = new ilPropertyFormGUI();
343 $soap_config->setTitle($this->lng->txt("auth_soap_auth"));
344 $soap_config->setDescription($this->lng->txt("auth_soap_auth_desc"));
345 $soap_config->setFormAction($this->ctrl->getFormAction($this, "editSOAP"));
346 $soap_config->addCommandButton("saveSOAP", $this->lng->txt("save"));
347 $soap_config->addCommandButton("editSOAP", $this->lng->txt("cancel"));
348
349 //set activ
350 $active = new ilCheckboxInputGUI();
351 $active->setTitle($this->lng->txt("active"));
352 $active->setPostVar("soap[active]");
353
354 //set server
355 $server = new ilTextInputGUI();
356 $server->setTitle($this->lng->txt("server"));
357 $server->setInfo($this->lng->txt("auth_soap_server_desc"));
358 $server->setPostVar("soap[server]");
359 $server->setSize(50);
360 $server->setMaxLength(256);
361 $server->setRequired(true);
362
363 //set port
364 $port = new ilTextInputGUI();
365 $port->setTitle($this->lng->txt("port"));
366 $port->setInfo($this->lng->txt("auth_soap_port_desc"));
367 $port->setPostVar("soap[port]");
368 $port->setSize(7);
369 $port->setMaxLength(5);
370
371 //set https
373 $https->setTitle($this->lng->txt("auth_soap_use_https"));
374 $https->setPostVar("soap[use_https]");
375
376 //set uri
377 $uri = new ilTextInputGUI();
378 $uri->setTitle($this->lng->txt("uri"));
379 $uri->setInfo($this->lng->txt("auth_soap_uri_desc"));
380 $uri->setPostVar("soap[uri]");
381 $uri->setSize(50);
382 $uri->setMaxLength(256);
383
384 //set namespace
386 $namespace->setTitle($this->lng->txt("auth_soap_namespace"));
387 $namespace->setInfo($this->lng->txt("auth_soap_namespace_desc"));
388 $namespace->setPostVar("soap[namespace]");
389 $namespace->setSize(50);
390 $namespace->setMaxLength(256);
391
392 //set dotnet
393 $dotnet = new ilCheckboxInputGUI();
394 $dotnet->setTitle($this->lng->txt("auth_soap_use_dotnet"));
395 $dotnet->setPostVar("soap[use_dotnet]");
396
397 //set create users
398 $createuser = new ilCheckboxInputGUI();
399 $createuser->setTitle($this->lng->txt("auth_create_users"));
400 $createuser->setInfo($this->lng->txt("auth_soap_create_users_desc"));
401 $createuser->setPostVar("soap[create_users]");
402
403 //set account mail
404 $sendmail = new ilCheckboxInputGUI();
405 $sendmail->setTitle($this->lng->txt("user_send_new_account_mail"));
406 $sendmail->setInfo($this->lng->txt("auth_new_account_mail_desc"));
407 $sendmail->setPostVar("soap[account_mail]");
408
409 //set user default role
410 $defaultrole = new ilSelectInputGUI();
411 $defaultrole->setTitle($this->lng->txt("auth_user_default_role"));
412 $defaultrole->setInfo($this->lng->txt("auth_soap_user_default_role_desc"));
413 $defaultrole->setPostVar("soap[user_default_role]");
414 $defaultrole->setOptions($roles);
415
416 //set allow local authentication
417 $allowlocal = new ilCheckboxInputGUI();
418 $allowlocal->setTitle($this->lng->txt("auth_allow_local"));
419 $allowlocal->setInfo($this->lng->txt("auth_soap_allow_local_desc"));
420 $allowlocal->setPostVar("soap[allow_local]");
421
422 // get all settings
423 $settings = $ilSetting->getAll();
424
425 // get values in error case
426 if ($_SESSION["error_post_vars"])
427 {
428 $active ->setChecked($_SESSION["error_post_vars"]["soap"]["active"]);
429 $server ->setValue($_SESSION["error_post_vars"]["soap"]["server"]);
430 $port ->setValue($_SESSION["error_post_vars"]["soap"]["port"]);
431 $https ->setChecked($_SESSION["error_post_vars"]["soap"]["use_https"]);
432 $uri ->setValue($_SESSION["error_post_vars"]["soap"]["uri"]);
433 $namespace ->setValue($_SESSION["error_post_vars"]["soap"]["namespace"]);
434 $dotnet ->setChecked($_SESSION["error_post_vars"]["soap"]["use_dotnet"]);
435 $createuser ->setChecked($_SESSION["error_post_vars"]["soap"]["create_users"]);
436 $allowlocal ->setChecked($_SESSION["error_post_vars"]["soap"]["allow_local"]);
437 $defaultrole->setValue($_SESSION["error_post_vars"]["soap"]["user_default_role"]);
438 $sendmail ->setChecked($_SESSION["error_post_vars"]["soap"]["account_mail"]);
439 }
440 else
441 {
442 $active ->setChecked($settings["soap_auth_active"]);
443 $server ->setValue($settings["soap_auth_server"]);
444 $port ->setValue($settings["soap_auth_port"]);
445 $https ->setChecked($settings["soap_auth_use_https"]);
446 $uri ->setValue($settings["soap_auth_uri"]);
447 $namespace ->setValue($settings["soap_auth_namespace"]);
448 $dotnet ->setChecked($settings["soap_auth_use_dotnet"]);
449 $createuser ->setChecked($settings["soap_auth_create_users"]);
450 $allowlocal ->setChecked($settings["soap_auth_allow_local"]);
451 $defaultrole->setValue($settings["soap_auth_user_default_role"]);
452 $sendmail ->setChecked($settings["soap_auth_account_mail"]);
453 }
454
455 if (!$defaultrole->getValue())
456 {
457 $defaultrole->setValue(4);
458 }
459
460 //add Items to property gui
461 $soap_config->addItem($active);
462 $soap_config->addItem($server);
463 $soap_config->addItem($port);
464 $soap_config->addItem($https);
465 $soap_config->addItem($uri);
466 $soap_config->addItem($namespace);
467 $soap_config->addItem($dotnet);
468 $soap_config->addItem($createuser);
469 $soap_config->addItem($sendmail);
470 $soap_config->addItem($defaultrole);
471 $soap_config->addItem($allowlocal);
472
473 $this->tpl->setVariable("CONFIG_FORM", $soap_config->getHTML());
474
475 // test form
476 $form = new ilPropertyFormGUI();
477 $form->setFormAction($ilCtrl->getFormAction($this));
478 $form->setTitle("Test Request");
479 $text_prop = new ilTextInputGUI("ext_uid", "ext_uid");
480 $form->addItem($text_prop);
481 $text_prop2 = new ilTextInputGUI("soap_pw", "soap_pw");
482 $form->addItem($text_prop2);
483 $cb = new ilCheckboxInputGUI("new_user", "new_user");
484 $form->addItem($cb);
485
486 $form->addCommandButton("testSoapAuthConnection",
487 "Send");
488
489 if ($ilCtrl->getCmd() == "testSoapAuthConnection")
490 {
491 include_once("./Services/SOAPAuth/classes/class.ilSOAPAuth.php");
492 $ret = "<br />".ilSOAPAuth::testConnection(
493 ilUtil::stripSlashes($_POST["ext_uid"]),
494 ilUtil::stripSlashes($_POST["soap_pw"]),
495 (boolean) $_POST["new_user"]
496 );
497 }
498 $this->tpl->setVariable("TEST_FORM", $form->getHTML().$ret);
499 }
500
502 {
503 $this->editSOAPObject();
504 }
505
511 function saveSOAPObject()
512 {
513 global $ilUser, $ilSetting, $rbacsystem;
514
515 if (!$rbacsystem->checkAccess("write",$this->object->getRefId()))
516 {
517 $this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
518 }
519
520 // validate required data
521 if (!$_POST["soap"]["server"])
522 {
523 $this->ilias->raiseError($this->lng->txt("fill_out_all_required_fields"),$this->ilias->error_obj->MESSAGE);
524 }
525
526 // validate port
527 if ($_POST["soap"]["server"] != "" && (preg_match("/^[0-9]{0,5}$/",$_POST["soap"]["port"])) == false)
528 {
529 $this->ilias->raiseError($this->lng->txt("err_invalid_port"),$this->ilias->error_obj->MESSAGE);
530 }
531
532 $ilSetting->set("soap_auth_server", $_POST["soap"]["server"]);
533 $ilSetting->set("soap_auth_port", $_POST["soap"]["port"]);
534 $ilSetting->set("soap_auth_active", $_POST["soap"]["active"]);
535 $ilSetting->set("soap_auth_uri", $_POST["soap"]["uri"]);
536 $ilSetting->set("soap_auth_namespace", $_POST["soap"]["namespace"]);
537 $ilSetting->set("soap_auth_create_users", $_POST["soap"]["create_users"]);
538 $ilSetting->set("soap_auth_allow_local", $_POST["soap"]["allow_local"]);
539 $ilSetting->set("soap_auth_account_mail", $_POST["soap"]["account_mail"]);
540 $ilSetting->set("soap_auth_use_https", $_POST["soap"]["use_https"]);
541 $ilSetting->set("soap_auth_use_dotnet", $_POST["soap"]["use_dotnet"]);
542 $ilSetting->set("soap_auth_user_default_role", $_POST["soap"]["user_default_role"]);
543 ilUtil::sendSuccess($this->lng->txt("auth_soap_settings_saved"),true);
544
545 $this->ctrl->redirect($this,'editSOAP');
546 }
547
554 {
555 global $rbacsystem;
556
557 if (!$rbacsystem->checkAccess("write",$this->object->getRefId()))
558 {
559 $this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
560 }
561
562 if ($_SESSION["error_post_vars"])
563 {
564 $this->tpl->setVariable("AUTH_SCRIPT_NAME", $_SESSION["error_post_vars"]["auth_script"]["name"]);
565 }
566 else
567 {
568 // set already saved data
569 $settings = $this->ilias->getAllSettings();
570
571 $this->tpl->setVariable("AUTH_SCRIPT_NAME", $settings["auth_script_name"]);
572 }
573
574 $this->tabs_gui->setTabActive('auth_script');
575
576 $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.auth_script.html",
577 "Services/Authentication");
578
579 $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
580 $this->tpl->setVariable("COLSPAN", 3);
581 $this->tpl->setVariable("TXT_AUTH_SCRIPT_TITLE", $this->lng->txt("auth_script_configure"));
582 $this->tpl->setVariable("TXT_OPTIONS", $this->lng->txt("options"));
583 $this->tpl->setVariable("TXT_AUTH_SCRIPT_NAME", $this->lng->txt("auth_script_name"));
584
585 $this->tpl->setVariable("TXT_REQUIRED_FLD", $this->lng->txt("required_field"));
586 $this->tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel"));
587 $this->tpl->setVariable("TXT_SUBMIT", $this->lng->txt("save"));
588 $this->tpl->setVariable("CMD_SUBMIT", "saveScript");
589 }
590
597 {
598 // validate required data
599 if (!$_POST["auth_script"]["name"])
600 {
601 $this->ilias->raiseError($this->lng->txt("fill_out_all_required_fields"),$this->ilias->error_obj->MESSAGE);
602 }
603
604 // validate script url
605 /*
606 if (( TODO ,$_POST["ldap"]["server"])) == false)
607 {
608 $this->ilias->raiseError($this->lng->txt("err_invalid_server"),$this->ilias->error_obj->MESSAGE);
609 }*/
610
611 // TODO: check connection to server
612
613 // all ok. save settings and activate auth by external script
614 $this->ilias->setSetting("auth_script_name", $_POST["auth_script"]["name"]);
615 $this->ilias->setSetting("auth_mode", AUTH_SCRIPT);
616
617 ilUtil::sendSuccess($this->lng->txt("auth_mode_changed_to")." ".$this->getAuthModeTitle(),true);
618 $this->ctrl->redirect($this,'editScript');
619 }
620
621
629 {
630 switch ($this->ilias->getSetting("auth_mode"))
631 {
632 case AUTH_LOCAL:
633 return $this->lng->txt("auth_local");
634 break;
635
636 case AUTH_LDAP:
637 return $this->lng->txt("auth_ldap");
638 break;
639
640 case AUTH_SHIBBOLETH:
641 return $this->lng->txt("auth_shib");
642 break;
643
644 case AUTH_RADIUS:
645 return $this->lng->txt("auth_radius");
646 break;
647
648 case AUTH_SCRIPT:
649 return $this->lng->txt("auth_script");
650 break;
651
652 case AUTH_APACHE:
653 return $this->lng->txt("auth_apache");
654 break;
655
656 default:
657 return $this->lng->txt("unknown");
658 break;
659 }
660 }
661
663 {
664 global $rbacsystem;
665
666 if (!$rbacsystem->checkAccess("write",$this->object->getRefId()))
667 {
668 $this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
669 }
670
671 include_once('./Services/AccessControl/classes/class.ilObjRole.php');
673
674 ilUtil::sendSuccess($this->lng->txt("auth_mode_roles_changed"),true);
675 $this->ctrl->redirect($this,'authSettings');
676 }
677
683 protected function initAuthModeDetermination()
684 {
685 if(is_object($this->form))
686 {
687 return true;
688 }
689 // Are there any authentication methods that support automatic determination ?
690
691 include_once('Services/Authentication/classes/class.ilAuthModeDetermination.php');
693 if($det->getCountActiveAuthModes() <= 1)
694 {
695 return false;
696 }
697
698 include_once('./Services/Form/classes/class.ilPropertyFormGUI.php');
699 $this->form = new ilPropertyFormGUI();
700 $this->form->setFormAction($this->ctrl->getFormAction($this));
701 $this->form->setTableWidth('100%');
702 $this->form->setTitle($this->lng->txt('auth_auth_settings'));
703 $this->form->addCommandButton('updateAuthModeDetermination',$this->lng->txt('save'));
704
705 require_once 'Services/Captcha/classes/class.ilCaptchaUtil.php';
706 $cap = new ilCheckboxInputGUI($this->lng->txt('adm_captcha_anonymous_short'), 'activate_captcha_anonym');
707 $cap->setInfo($this->lng->txt('adm_captcha_anonymous_auth'));
708 $cap->setValue(1);
710 {
711 $cap->setAlert(ilCaptchaUtil::getPreconditionsMessage());
712 }
713 $cap->setChecked(ilCaptchaUtil::isActiveForLogin());
714 $this->form->addItem($cap);
715
717 $header->setTitle($this->lng->txt('auth_auth_mode_determination'));
718 $this->form->addItem($header);
719
720 $kind = new ilRadioGroupInputGUI($this->lng->txt('auth_kind_determination'),'kind');
721 $kind->setInfo($this->lng->txt('auth_mode_determination_info'));
722 $kind->setValue($det->getKind());
723 $kind->setRequired(true);
724
725 $option_user = new ilRadioOption($this->lng->txt('auth_by_user'),0);
726 $kind->addOption($option_user);
727
728 $option_determination = new ilRadioOption($this->lng->txt('auth_automatic'),1);
729
730 include_once('Services/Authentication/classes/class.ilAuthUtils.php');
731
732 $auth_sequenced = $det->getAuthModeSequence();
733 $counter = 1;
734 foreach($auth_sequenced as $auth_mode)
735 {
736 switch($auth_mode)
737 {
738 // begin-patch ldap_multiple
739 case ilLDAPServer::isAuthModeLDAP($auth_mode):
740 $auth_id = ilLDAPServer::getServerIdByAuthMode($auth_mode);
742 $text = $server->getName();
743 // end-patch ldap_multiple
744 break;
745 case AUTH_RADIUS:
746 $text = $this->lng->txt('auth_radius');
747 break;
748 case AUTH_LOCAL:
749 $text = $this->lng->txt('auth_local');
750 break;
751 case AUTH_SOAP:
752 $text = $this->lng->txt('auth_soap');
753 break;
754 case AUTH_APACHE:
755 $text = $this->lng->txt('auth_apache');
756 break;
757 // begin-patch auth_plugin
758 default:
759 foreach(ilAuthUtils::getAuthPlugins() as $pl)
760 {
761 $option = $pl->getMultipleAuthModeOptions($auth_mode);
762 $text = $option[$auth_mode]['txt'];
763 }
764 break;
765 // end-patch auth_plugin
766 }
767
768 $pos = new ilTextInputGUI($text,'position['.$auth_mode.']');
769 $pos->setValue($counter++);
770 $pos->setSize(1);
771 $pos->setMaxLength(1);
772 $option_determination->addSubItem($pos);
773 }
774 $kind->addOption($option_determination);
775 $this->form->addItem($kind);
776 return true;
777 }
778
786 {
787 include_once('Services/Authentication/classes/class.ilAuthModeDetermination.php');
789
790 $det->setKind((int) $_POST['kind']);
791
792 $pos = $_POST['position'] ? $_POST['position'] : array();
793 asort($pos,SORT_NUMERIC);
794
795 $counter = 0;
796 foreach($pos as $auth_mode => $dummy)
797 {
798 $position[$counter++] = $auth_mode;
799 }
800 $det->setAuthModeSequence($position ? $position : array());
801 $det->save();
802
803 require_once 'Services/Captcha/classes/class.ilCaptchaUtil.php';
804 ilCaptchaUtil::setActiveForLogin((bool)$_POST['activate_captcha_anonym']);
805
806 ilUtil::sendSuccess($this->lng->txt('settings_saved'));
807 $this->authSettingsObject();
808 }
809
816 public function executeCommand()
817 {
818 global $ilAccess,$ilErr;
819
820 $next_class = $this->ctrl->getNextClass($this);
821 $cmd = $this->ctrl->getCmd();
822 $this->prepareOutput();
823
824
825 if(!$ilAccess->checkAccess('read','',$this->object->getRefId()))
826 {
827 $ilErr->raiseError($this->lng->txt('msg_no_perm_read'),$ilErr->WARNING);
828 }
829
830 switch($next_class)
831 {
832 case 'ilregistrationsettingsgui':
833
834 include_once './Services/Registration/classes/class.ilRegistrationSettingsGUI.php';
835
836 // Enable tabs
837 $this->tabs_gui->setTabActive('registration_settings');
838 $registration_gui =& new ilRegistrationSettingsGUI();
839 $this->ctrl->forwardCommand($registration_gui);
840 break;
841
842 case 'ilpermissiongui':
843
844 // Enable tabs
845 $this->tabs_gui->setTabActive('perm_settings');
846
847 include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
848 $perm_gui =& new ilPermissionGUI($this);
849 $ret =& $this->ctrl->forwardCommand($perm_gui);
850 break;
851
852 case 'illdapsettingsgui':
853
854 // Enable Tabs
855 $this->tabs_gui->setTabActive('auth_ldap');
856
857 include_once './Services/LDAP/classes/class.ilLDAPSettingsGUI.php';
858 $ldap_settings_gui = new ilLDAPSettingsGUI($this->object->getRefId());
859 $this->ctrl->forwardCommand($ldap_settings_gui);
860 break;
861
862 case 'ilauthshibbolethsettingsgui':
863
864 $this->tabs_gui->setTabActive('auth_shib');
865 include_once('./Services/AuthShibboleth/classes/class.ilAuthShibbolethSettingsGUI.php');
866 $shib_settings_gui = new ilAuthShibbolethSettingsGUI($this->object->getRefId());
867 $this->ctrl->forwardCommand($shib_settings_gui);
868 break;
869
870 case 'ilcassettingsgui':
871
872 $this->tabs_gui->setTabActive('auth_cas');
873 include_once './Services/CAS/classes/class.ilCASSettingsGUI.php';
874 $cas_settings = new ilCASSettingsGUI($this->object->getRefId());
875 $this->ctrl->forwardCommand($cas_settings);
876 break;
877
878 case 'ilradiussettingsgui':
879
880 $this->tabs_gui->setTabActive('auth_radius');
881 include_once './Services/Radius/classes/class.ilRadiusSettingsGUI.php';
882 $radius_settings_gui = new ilRadiusSettingsGUI($this->object->getRefId());
883 $this->ctrl->forwardCommand($radius_settings_gui);
884 break;
885
886 case 'ilopenidsettingsgui':
887
888 $this->tabs_gui->setTabActive('auth_openid');
889
890 include_once './Services/OpenId/classes/class.ilOpenIdSettingsGUI.php';
891 $os = new ilOpenIdSettingsGUI($this->object->getRefId());
892 $this->ctrl->forwardCommand($os);
893 break;
894
895 case 'ilauthloginpageeditorgui':
896
897 $this->setSubTabs("authSettings");
898 $this->tabs_gui->setTabActive('authentication_settings');
899 $this->tabs_gui->setSubTabActive("auth_login_editor");
900
901 include_once './Services/Authentication/classes/class.ilAuthLoginPageEditorGUI.php';
902 $lpe = new ilAuthLoginPageEditorGUI($this->object->getRefId());
903 $this->ctrl->forwardCommand($lpe);
904 break;
905
906 default:
907 if(!$cmd)
908 {
909 $cmd = "authSettings";
910 }
911 $cmd .= "Object";
912 $this->$cmd();
913
914 break;
915 }
916 return true;
917 }
918
919 function getAdminTabs(&$tabs_gui)
920 {
921 $this->getTabs($tabs_gui);
922 }
923
929 function getTabs(&$tabs_gui)
930 {
931 global $rbacsystem;
932
933 $this->ctrl->setParameter($this,"ref_id",$this->object->getRefId());
934
935 if ($rbacsystem->checkAccess("visible,read",$this->object->getRefId()))
936 {
937 $tabs_gui->addTarget("authentication_settings", $this->ctrl->getLinkTarget($this, "authSettings"),
938 "", "", "");
939
940 $tabs_gui->addTarget('registration_settings',
941 $this->ctrl->getLinkTargetByClass('ilregistrationsettingsgui','view'));
942
943 $tabs_gui->addTarget("auth_ldap", $this->ctrl->getLinkTargetByClass('illdapsettingsgui','serverList'),
944 "", "", "");
945
946
947 #$tabs_gui->addTarget("auth_ldap", $this->ctrl->getLinkTarget($this, "editLDAP"),
948 # "", "", "");
949
950 $tabs_gui->addTarget('auth_shib',$this->ctrl->getLinkTargetByClass('ilauthshibbolethsettingsgui','settings'));
951
952 $tabs_gui->addTarget(
953 'auth_cas',
954 $this->ctrl->getLinkTargetByClass('ilcassettingsgui','settings')
955 );
956
957 $tabs_gui->addTarget("auth_radius", $this->ctrl->getLinkTargetByClass('ilradiussettingsgui', "settings"),
958 "", "", "");
959
960 $tabs_gui->addTarget("auth_soap", $this->ctrl->getLinkTarget($this, "editSOAP"),
961 "", "", "");
962
963 $tabs_gui->addTarget(
964 'auth_openid',
965 $this->ctrl->getLinkTargetByClass('ilopenidsettingsgui','settings'),
966 '',
967 '',
968 ''
969 );
970
971 $tabs_gui->addTarget("apache_auth_settings", $this->ctrl->getLinkTarget($this,'apacheAuthSettings'),
972 "", "", "");
973 }
974
975 if ($rbacsystem->checkAccess('edit_permission',$this->object->getRefId()))
976 {
977 $tabs_gui->addTarget("perm_settings",
978 $this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"),
979 array("perm","info","owner"), 'ilpermissiongui');
980 }
981 }
982
986 function setSubTabs($a_tab)
987 {
988 global $rbacsystem,$ilUser,$ilAccess;
989
990 $GLOBALS['lng']->loadLanguageModule('auth');
991
992 switch ($a_tab)
993 {
994 case 'authSettings':
995 if($ilAccess->checkAccess('write','',$this->object->getRefId()))
996 {
997 $this->tabs_gui->addSubTabTarget("auth_settings",
998 $this->ctrl->getLinkTarget($this,'authSettings'),
999 "");
1000 }
1001 if($ilAccess->checkAccess('write','',$this->object->getRefId()))
1002 {
1003 $this->tabs_gui->addSubTabTarget(
1004 'auth_login_editor',
1005 $this->ctrl->getLinkTargetByClass('ilauthloginpageeditorgui',''),
1006 ''
1007 );
1008 }
1009 break;
1010 }
1011 }
1012
1013
1014 public function apacheAuthSettingsObject($form = false)
1015 {
1016 global $tpl;
1017
1018 $this->tabs_gui->setTabActive("apache_auth_settings");
1019
1020 if (!$form)
1021 {
1022 $form = $this->getApacheAuthSettingsForm();
1023
1024 $settings = new ilSetting('apache_auth');
1025 $settingsMap = $settings->getAll();
1026
1027 $path = ILIAS_DATA_DIR . '/' . CLIENT_ID . '/apache_auth_allowed_domains.txt';
1028 if (file_exists($path) && is_readable($path)) {
1029 $settingsMap['apache_auth_domains'] = file_get_contents($path);
1030 }
1031
1032 $form->setValuesByArray($settingsMap);
1033 }
1034 $tpl->setVariable('ADM_CONTENT', $form->getHtml());
1035 }
1036
1038 {
1039 global $ilCtrl;
1040 $form = $this->getApacheAuthSettingsForm();
1041 $form->setValuesByPost();
1042 /*$items = $form->getItems();
1043 foreach($items as $item)
1044 $item->validate();*/
1045 if ($form->checkInput())
1046 {
1047 $settings = new ilSetting('apache_auth');
1048 $fields = array
1049 (
1050 'apache_auth_indicator_name', 'apache_auth_indicator_value',
1051 'apache_enable_auth', 'apache_enable_local', 'apache_local_autocreate',
1052 'apache_enable_ldap', 'apache_auth_username_config_type',
1053 'apache_auth_username_direct_mapping_fieldname',
1054 'apache_default_role', 'apache_auth_target_override_login_page',
1055 'apache_auth_enable_override_login_page',
1056 'apache_auth_authenticate_on_login_page',
1057 'apache_ldap_sid'
1058// 'apache_auth_username_by_function_functionname',
1059 );
1060
1061 foreach($fields as $field)
1062 $settings->set($field, $form->getInput($field));
1063
1064 if ($form->getInput('apache_enable_auth'))
1065 $this->ilias->setSetting('apache_active', true);
1066 else {
1067 $this->ilias->setSetting('apache_active', false);
1068 global $ilSetting;
1069 if ($ilSetting->get("auth_mode") == AUTH_APACHE) {
1070 $ilSetting->set("auth_mode", AUTH_LOCAL);
1071 }
1072 }
1073
1074 $allowedDomains = $this->validateApacheAuthAllowedDomains($form->getInput('apache_auth_domains'));
1075 file_put_contents(ILIAS_DATA_DIR . '/' . CLIENT_ID . '/apache_auth_allowed_domains.txt', $allowedDomains);
1076
1077 ilUtil::sendSuccess($this->lng->txt('apache_settings_changed_success'), true);
1078 $this->ctrl->redirect($this, 'apacheAuthSettings');
1079 }
1080 else
1081 {
1082 $this->apacheAuthSettingsObject($form);
1083 }
1084 }
1085
1087 {
1088 include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
1089
1090 $form = new ilPropertyFormGUI();
1091 $form->setFormAction($this->ctrl->getFormAction($this));
1092 $form->setTitle($this->lng->txt('apache_settings'));
1093
1094 $chb_enabled = new ilCheckboxInputGUI($this->lng->txt('apache_enable_auth'), 'apache_enable_auth');
1095 $form->addItem($chb_enabled);
1096
1097 $chb_local_create_account = new ilCheckboxInputGUI($this->lng->txt('apache_autocreate'), 'apache_local_autocreate');
1098 $chb_enabled->addSubitem($chb_local_create_account);
1099
1100 global $rbacreview;
1101 $roles = $rbacreview->getGlobalRolesArray();
1102 $select = new ilSelectInputGUI($this->lng->txt('apache_default_role'), 'apache_default_role');
1103 $roleOptions = array();
1104 foreach($roles as $role) {
1105 $roleOptions[$role['obj_id']] = ilObject::_lookupTitle($role['obj_id']);
1106 }
1107 $select->setOptions($roleOptions);
1108 $select->setValue(4);
1109
1110 $chb_local_create_account->addSubitem($select);
1111
1112 $chb_local = new ilCheckboxInputGUI($this->lng->txt('apache_enable_local'), 'apache_enable_local');
1113 $form->addItem($chb_local);
1114
1115 $chb_ldap = new ilCheckboxInputGUI($this->lng->txt('apache_enable_ldap'), 'apache_enable_ldap');
1116 $chb_ldap->setInfo($this->lng->txt('apache_ldap_hint_ldap_must_be_configured'));
1117
1118 $GLOBALS['lng']->loadLanguageModule('auth');
1119 include_once './Services/LDAP/classes/class.ilLDAPServer.php';
1120 $servers = ilLDAPServer::getServerIds();
1121 if(count($servers))
1122 {
1123 $ldap_server_select = new ilSelectInputGUI($this->lng->txt('auth_ldap_server_ds'), 'apache_ldap_sid');
1124 $options[0] = $this->lng->txt('select_one');
1125 foreach($servers as $server_id)
1126 {
1127 $ldap_server = new ilLDAPServer($server_id);
1128 $options[$server_id] = $ldap_server->getName();
1129 }
1130 $ldap_server_select->setOptions($options);
1131 $ldap_server_select->setRequired(true);
1132
1134 $ldap_server_select->setValue($ds);
1135
1136 $chb_ldap->addSubItem($ldap_server_select);
1137 }
1138 $form->addItem($chb_ldap);
1139
1140 $txt = new ilTextInputGUI($this->lng->txt('apache_auth_indicator_name'), 'apache_auth_indicator_name');
1141 $txt->setRequired(true);
1142 $form->addItem($txt);
1143
1144 $txt = new ilTextInputGUI($this->lng->txt('apache_auth_indicator_value'), 'apache_auth_indicator_value');
1145 $txt->setRequired(true);
1146 $form->addItem($txt);
1147
1148
1149 $chb = new ilCheckboxInputGUI($this->lng->txt('apache_auth_enable_override_login'), 'apache_auth_enable_override_login_page');
1150 $form->addItem($chb);
1151
1152 $txt = new ilTextInputGUI($this->lng->txt('apache_auth_target_override_login'), 'apache_auth_target_override_login_page');
1153 $txt->setRequired(true);
1154 $chb->addSubItem($txt);
1155
1156 $chb = new ilCheckboxInputGUI($this->lng->txt('apache_auth_authenticate_on_login_page'), 'apache_auth_authenticate_on_login_page');
1157 $form->addItem($chb);
1158
1159 $sec = new ilFormSectionHeaderGUI();
1160 $sec->setTitle($this->lng->txt('apache_auth_username_config'));
1161 $form->addItem($sec);
1162
1163 $rag = new ilRadioGroupInputGUI($this->lng->txt('apache_auth_username_config_type'), 'apache_auth_username_config_type');
1164 $form->addItem($rag);
1165
1166 $rao = new ilRadioOption($this->lng->txt('apache_auth_username_direct_mapping'), 1);
1167 $rag->addOption($rao);
1168
1169 $txt = new ilTextInputGUI($this->lng->txt('apache_auth_username_direct_mapping_fieldname'), 'apache_auth_username_direct_mapping_fieldname');
1170 //$txt->setRequired(true);
1171 $rao->addSubItem($txt);
1172
1173 $rao = new ilRadioOption($this->lng->txt('apache_auth_username_extended_mapping'), 2);
1174 $rao->setDisabled(true);
1175 $rag->addOption($rao);
1176
1177 $rao = new ilRadioOption($this->lng->txt('apache_auth_username_by_function'), 3);
1178 $rag->addOption($rao);
1179
1180/* $txt = new ilTextInputGUI($this->lng->txt('apache_auth_username_by_function_functionname'), 'apache_auth_username_by_function_functionname');
1181 $rao->addSubItem($txt);*/
1182
1183 $sec = new ilFormSectionHeaderGUI();
1184 $sec->setTitle($this->lng->txt('apache_auth_security'));
1185 $form->addItem($sec);
1186
1187 $txt = new ilTextAreaInputGUI($this->lng->txt('apache_auth_domains'), 'apache_auth_domains');
1188 $txt->setInfo($this->lng->txt('apache_auth_domains_description'));
1189
1190 $form->addItem($txt);
1191
1192 $form->addCommandButton('saveApacheSettings',$this->lng->txt('save'));
1193 $form->addCommandButton('cancel',$this->lng->txt('cancel'));
1194
1195 return $form;
1196 }
1197
1199 return join("\n", preg_split("/[\r\n]+/", $text));
1200 }
1201
1206 public function addToExternalSettingsForm($a_form_id)
1207 {
1208 switch($a_form_id)
1209 {
1211 require_once 'Services/Captcha/classes/class.ilCaptchaUtil.php';
1212 $fields = array(
1213 'adm_captcha_anonymous_short' => array(ilCaptchaUtil::isActiveForLogin(), ilAdministrationSettingsFormHandler::VALUE_BOOL),
1214 );
1215
1216 return array('authentication_settings' => array('authSettings', $fields));
1217 }
1218 }
1219} // END class.ilObjAuthSettingsGUI
1220?>
$_SESSION["AccountId"]
const AUTH_SHIBBOLETH
const AUTH_APACHE
const AUTH_LDAP
const AUTH_LOCAL
const AUTH_SCRIPT
const AUTH_RADIUS
const AUTH_CAS
const AUTH_SOAP
Login page editor settings GUI ILIAS page editor or richtext editor.
Class ilAuthShibbolethSettingsGUI.
static getAuthPlugins()
Get active enabled auth plugins.
static _getAuthModeName($a_auth_key)
static checkFreetype()
Check whether captcha support is active.
This class represents a checkbox property in a property form.
This class represents a section header in a property form.
static getServerIdByAuthMode($a_auth_mode)
Get auth id by auth mode.
static getDataSource($a_auth_mode)
static getInstanceByServerId($a_server_id)
Get instance by server id.
static isAuthModeLDAP($a_auth_mode)
Check if user auth mode is LDAP.
static getServerIds()
Get all server ids @global ilDB $ilDB.
Class ilObjAuthSettingsGUI.
saveScriptObject()
validates all input data, save them to database if correct and active chosen auth mode
updateAuthModeDeterminationObject()
update auth mode determination
loginInfoObject()
displays login information of all installed languages
ilObjAuthSettingsGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
Constructor @access public.
getAuthModeTitle()
get the title of auth mode
getTabs(&$tabs_gui)
get tabs @access public
editSOAPObject()
Configure soap settings.
authSettingsObject()
display settings menu
viewObject()
list childs of current object
initAuthModeDetermination()
init auth mode determinitation form
getAdminTabs(&$tabs_gui)
administration tabs show only permissions and trash folder
saveSOAPObject()
validates all input data, save them to database if correct and active chosen auth mode
editScriptObject()
Configure Custom settings.
_updateAuthMode($a_roles)
_lookupRegisterAllowed()
get all roles that are activated in user registration
_getNumberOfUsersPerAuthMode()
get number of users per auth mode
Class ilObjectGUI Basic methods of all Output classes.
ilObjectGUI($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
Constructor @access public.
getReturnLocation($a_cmd, $a_location="")
get return location for command (command is method name without "Object", e.g.
prepareOutput()
prepare output
static _lookupTitle($a_id)
lookup object title
@classDescription Open ID Settings GUI
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
This class represents a property form user interface.
This class represents a property in a property form.
This class represents an option in a radio group.
Class ilRegistrationSettingsGUI.
This class represents a selection list property in a property form.
ILIAS Setting Class.
This class represents a text area property in a property form.
This class represents a text property in a property form.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static redirect($a_script)
http redirect to other 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 sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
$_POST['username']
Definition: cron.php:12
if($err=$client->getError()) $namespace
$server
$txt
Definition: error.php:12
$header
$text
$GLOBALS['PHPCAS_CLIENT']
This global variable is used by the interface class phpCAS.
Definition: CAS.php:276
global $ilCtrl
Definition: ilias.php:18
redirection script todo: (a better solution should control the processing via a xml file)
global $ilSetting
Definition: privfeed.php:40
$cmd
Definition: sahs_server.php:35
$path
Definition: index.php:22
if(!is_array($argv)) $options
global $ilUser
Definition: imgupload.php:15
global $https
Definition: imgupload.php:15