33 include_once
'./webservice/soap/classes/class.ilSoapAdministration.php';
47 $this->sauth->setClient(
$client);
48 $this->sauth->setUsername($username);
49 $this->sauth->setPassword($password);
51 $authenticated =
true;
52 if(!$this->sauth->authenticate())
55 if(strlen($password) == 32)
58 $this->sauth->setClient(
$client);
59 $this->sauth->setUsername($username);
60 $this->sauth->setPassword($password);
62 if(!$this->sauth->authenticate())
64 $authenticated =
false;
69 $authenticated =
false;
74 return $this->
__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
76 return $this->sauth->getSid().
'::'.
$client;
83 $this->sauth->setClient(
$client);
84 $this->sauth->setUsername($username);
85 $this->sauth->setPT($PT);
86 $authenticated =
true;
89 if(!$this->sauth->authenticate())
91 $authenticated =
false;
95 return $this->
__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
97 return $this->sauth->getSid().
'::'.
$client;
104 $this->sauth->setClient(
$client);
105 $this->sauth->setUsername($username);
106 $this->sauth->setPassword($password);
107 $authenticated =
true;
108 if(!$this->sauth->authenticate())
110 $authenticated =
false;
114 return $this->
__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
116 return $this->sauth->getSid().
'::'.
$client;
123 return $this->
__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
126 if(!$this->sauth->logout())
128 return $this->
__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
138 return $this->
__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
141 if(!strlen($user_name))
143 return $this->
__raiseError(
'No username given. Aborting',
'Client');
147 include_once
'./include/inc.header.php';
148 global $rbacsystem, $ilUser ;
151 if($ilUser->getLogin() != $user_name && !$rbacsystem->checkAccess(
'read',
USER_FOLDER_ID))
159 return $user_id ? $user_id :
"0";
167 return $this->
__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
171 include_once
'./include/inc.header.php';
172 global $rbacsystem, $ilUser;
176 return $this->
__raiseError(
'Check access failed.',
'Server');
179 if($ilUser->getLoginByUserId($user_id))
186 return $this->
__raiseError(
'User does not exist',
'Client');
193 return $this->
__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
197 include_once
'./include/inc.header.php';
198 global $rbacsystem, $ilUser,
$log;
202 return $this->
__raiseError(
'Check access failed.',
'Server');
207 return $this->
__raiseError(
'User with id '.$user_data[
'usr_id'].
' does not exist.',
'Client');
218 if(strlen($user_data[
'passwd']) != 32)
228 $log->write(
'SOAP: updateUser()');
231 if($user_data[
'accepted_agreement'] and !$user_obj->hasAcceptedUserAgreement())
233 $user_obj->writeAccepted();
243 return $this->
__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
247 include_once
'./include/inc.header.php';
252 return $this->
__raiseError(
'Check access failed.',
'Server');
257 return $this->
__raiseError(
'No valid user_id given.',
'Client');
260 $tmp_user->replacePassword($new_password);
265 function addUser($sid,$user_data,$global_role_id)
269 return $this->
__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
273 include_once
'./include/inc.header.php';
278 return $this->
__raiseError(
'Check access failed.',
'Server');
289 return $this->
__raiseError(
'No role id given',
'Client');
294 $global_roles = $rbacreview->getGlobalRoles();
296 if(!in_array($global_role_id,$global_roles))
298 return $this->
__raiseError(
'Role with id: '.$global_role_id.
' is not a valid global role',
'Client');
303 if(strlen($user_data[
'passwd']) != 32)
313 $ilLog->write(
'SOAP: addUser()');
319 if ($user_data[
"import_id"] !=
"")
321 $new_user->setImportId($user_data[
"import_id"]);
330 if($user_data[
'accepted_agreement'])
336 $rbacadmin->assignUser($global_role_id,
$new_user->getId());
339 $new_user->setLanguage($user_data[
'user_language']);
340 $new_user->setPref(
'style',$user_data[
'user_style']);
341 $new_user->setPref(
'skin',$user_data[
'user_skin']);
342 $new_user->setPref(
'hits_per_page',$ilSetting->get(
'hits_per_page'));
343 $new_user->setPref(
'show_users_online',$ilSetting->get(
'show_users_online'));
353 return $this->
__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
358 return $this->
__raiseError(
'No user_id given. Aborting',
'Client');
362 include_once
'./include/inc.header.php';
363 global $rbacsystem, $ilUser,
$log;
367 return $this->
__raiseError(
'Check access failed.',
'Server');
370 if(!$ilUser->getLoginByUserId($user_id))
372 return $this->
__raiseError(
'User id: '.$user_id.
' is not a valid identifier. Aborting',
'Client');
374 if($ilUser->getId() == $user_id)
376 return $this->
__raiseError(
'Cannot delete myself. Aborting',
'Client');
378 if($user_id == SYSTEM_USER_ID)
380 return $this->
__raiseError(
'Cannot delete root account. Aborting',
'Client');
383 $log->write(
'SOAP: deleteUser()');
385 $delete_user->delete();
400 include_once(
'./Services/Authentication/classes/class.ilAuthUtils.php');
406 if(!isset($user_data[
'login']))
410 if(!isset($user_data[
'passwd']) and !$allow_empty_password)
414 if(!isset($user_data[
'email']))
418 if(!isset($user_data[
'user_language']))
420 $user_data[
'user_language'] = $lng->getDefaultLanguage();
423 foreach($user_data as $field => $value)
444 if(!strlen($value) and $allow_empty_password)
461 case 'time_limit_unlimited':
464 if($user_data[
'time_limit_from'] >= $user_data[
'time_limit_until'])
471 case 'user_language':
472 $lang_inst = $lng->getInstalledLanguages();
474 if(!in_array($user_data[
'user_language'],$lang_inst))
476 $this->
__appendMessage(
'Language: '.$user_data[
'user_language'].
' is not installed');
483 if(($user_data[
'user_skin'] and !$user_data[
'user_style']) or
484 (!$user_data[
'user_skin'] and $user_data[
'user_style']))
488 elseif($user_data[
'user_skin'] and $user_data[
'user_style'])
491 $templates = $styleDefinition->getAllTemplates();
492 if (count($templates) > 0 && is_array($templates))
494 foreach($templates as $template)
497 $styleDef->startParsing();
498 $styles = $styleDef->getStyles();
499 foreach ($styles as $style)
501 if ($user_data[
'user_skin'] == $template[
"id"] &&
502 $user_data[
'user_style'] == $style[
"id"])
516 case 'time_limit_owner':
518 if($type !=
'cat' and $type !=
'usrf')
520 $this->
__appendMessage(
'time_limit_owner must be ref_id of category or user folder'.$type);
536 if(!$user_data[
'time_limit_from'] and
537 !$user_data[
'time_limit_until'] and
538 !$user_data[
'time_limit_unlimited'])
540 $user_data[
'time_limit_unlimited'] = 1;
542 if(!$user_data[
'time_limit_owner'])
549 $user_data[
'im_icq'] = $user_obj->getInstantMessengerId(
'icq');
550 $user_data[
'im_yahoo'] = $user_obj->getInstantMessengerId(
'yahoo');
551 $user_data[
'im_msn'] = $user_obj->getInstantMessengerId(
'msn');
552 $user_data[
'im_aim'] = $user_obj->getInstantMessengerId(
'aim');
553 $user_data[
'im_skype'] = $user_obj->getInstantMessengerId(
'skype');
555 $user_data[
'delicious'] = $user_obj->getDelicious();
556 $user_data[
'latitude'] = $user_obj->getLatitude();
557 $user_data[
'longitude'] = $user_obj->getLongitude();
558 $user_data[
'loc_zoom'] = $user_obj->getLocationZoom();
561 $user_data[
'auth_mode'] = $user_obj->getAuthMode();
562 $user_data[
'ext_account'] = $user_obj->getExternalAccount();
563 $user_obj->assignData($user_data);
565 if(isset($user_data[
'user_language']))
567 $user_obj->setLanguage($user_data[
'user_language']);
569 if(isset($user_data[
'user_skin']) and isset($user_data[
'user_style']))
571 $user_obj->setPref(
'skin',$user_data[
'user_skin']);
572 $user_obj->setPref(
'style',$user_data[
'user_style']);
579 $usr_data[
'usr_id'] = $usr_obj->getId();
580 $usr_data[
'login'] = $usr_obj->getLogin();
581 $usr_data[
'passwd'] = $usr_obj->getPasswd();
582 $usr_data[
'passwd_type'] = $usr_obj->getPasswdType();
583 $usr_data[
'firstname'] = $usr_obj->getFirstname();
584 $usr_data[
'lastname'] = $usr_obj->getLastname();
585 $usr_data[
'title'] = $usr_obj->getUTitle();
586 $usr_data[
'gender'] = $usr_obj->getGender();
587 $usr_data[
'email'] = $usr_obj->getEmail();
588 $usr_data[
'institution'] = $usr_obj->getInstitution();
589 $usr_data[
'street'] = $usr_obj->getStreet();
590 $usr_data[
'city'] = $usr_obj->getCity();
591 $usr_data[
'zipcode'] = $usr_obj->getZipcode();
592 $usr_data[
'country'] = $usr_obj->getCountry();
593 $usr_data[
'phone_office'] = $usr_obj->getPhoneOffice();
594 $usr_data[
'last_login'] = $usr_obj->getLastLogin();
595 $usr_data[
'last_update'] = $usr_obj->getLastUpdate();
596 $usr_data[
'create_date'] = $usr_obj->getCreateDate();
597 $usr_data[
'hobby'] = $usr_obj->getHobby();
598 $usr_data[
'department'] = $usr_obj->getDepartment();
599 $usr_data[
'phone_home'] = $usr_obj->getPhoneHome();
600 $usr_data[
'phone_mobile'] = $usr_obj->getPhoneMobile();
601 $usr_data[
'fax'] = $usr_obj->getFax();
602 $usr_data[
'time_limit_owner'] = $usr_obj->getTimeLimitOwner();
603 $usr_data[
'time_limit_unlimited'] = $usr_obj->getTimeLimitUnlimited();
604 $usr_data[
'time_limit_from'] = $usr_obj->getTimeLimitFrom();
605 $usr_data[
'time_limit_until'] = $usr_obj->getTimeLimitUntil();
606 $usr_data[
'time_limit_message'] = $usr_obj->getTimeLimitMessage();
607 $usr_data[
'referral_comment'] = $usr_obj->getComment();
608 $usr_data[
'matriculation'] = $usr_obj->getMatriculation();
609 $usr_data[
'active'] = $usr_obj->getActive();
610 $usr_data[
'approve_date'] = $usr_obj->getApproveDate();
611 $usr_data[
'user_skin'] = $usr_obj->getPref(
'skin');
612 $usr_data[
'user_style'] = $usr_obj->getPref(
'style');
613 $usr_data[
'user_language'] = $usr_obj->getLanguage();
614 $usr_data[
'auth_mode'] = $usr_obj->getAuthMode();
615 $usr_data[
'accepted_agreement'] = $usr_obj->hasAcceptedUserAgreement();
616 $usr_data[
'import_id'] = $usr_obj->getImportId();
623 foreach($user_new as $key => $value)
625 $user_old[$key] = $value;
627 return $user_old ? $user_old : array();
636 function importUsers ($sid, $folder_id, $usr_xml, $conflict_rule, $send_account_mail)
640 return $this->
__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
645 include_once
'./include/inc.header.php';
646 include_once
'./Services/User/classes/class.ilUserImportParser.php';
647 include_once
'./Services/AccessControl/classes/class.ilObjRole.php';
648 include_once
'./classes/class.ilObjectFactory.php';
649 global $rbacreview, $rbacsystem, $tree,
$lng,$ilUser,
$ilLog;
656 $this->dom = @
domxml_open_mem($usr_xml, DOMXML_LOAD_VALIDATING, $error);
660 if (is_array($error))
662 foreach ($error as $err) {
663 $msg []=
"(".$err[
"line"].
",".$err[
"col"].
"): ".$err[
"errormessage"];
670 $msg = join(
"\n",$msg);
675 switch ($conflict_rule)
693 if ($folder_id == -1)
700 return $this->
__raiseError(
'Wrong reference id.',
'Server');
703 if ($import_folder->getType() !=
"usrf" && $import_folder->getType() !=
"cat")
704 return $this->
__raiseError(
'Folder must be a usr folder or a category.',
'Server');
707 if(!$rbacsystem->checkAccess(
'create_user',$folder_id))
709 return $this->
__raiseError(
'Missing permission for creating users within '.$import_folder->getTitle(),
'Server');
718 $importParser->setXMLContent($usr_xml);
719 $importParser->startParsing();
721 switch ($importParser->getErrorLevel())
735 $importParser->setXMLContent($usr_xml);
737 $importParser->startParsing();
739 $roles = $importParser->getCollectedRoles();
746 $permitted_roles = array();
747 foreach ($roles as $role_id => $role)
749 if (!is_numeric ($role_id))
754 if (is_numeric($internalId))
756 $role_id = $internalId;
757 $role_name = $role_id;
769 $permitted_roles[$role_id] = $role_id;
774 return $this->
__raiseError(
"Could not find role ".$role_name.
". Either you use an invalid/deleted role ".
775 "or you try to assign a local role into the non-standard user folder and this role is not in its subtree.",
'Server');
779 $global_roles = $rbacreview->getGlobalRoles();
785 foreach ($permitted_roles as $role_id => $role_name)
789 if (in_array($role_id, $global_roles))
791 if ($role_id == SYSTEM_ROLE_ID && ! in_array(SYSTEM_ROLE_ID,$rbacreview->assignedRoles($ilUser->getId()))
795 return $this->
__raiseError($lng->txt(
"usrimport_with_specified_role_not_permitted").
" $role_name ($role_id)",
'Server');
800 $rolf = $rbacreview->getFoldersAssignedToRole($role_id,
true);
801 if ($rbacreview->isDeleted($rolf[0])
802 || ! $rbacsystem->checkAccess(
'write',$tree->getParentId($rolf[0])))
805 return $this->
__raiseError($lng->txt(
"usrimport_with_specified_role_not_permitted").
" $role_name ($role_id)",
"Server");
814 $importParser->setSendMail($send_account_mail);
816 $importParser->setFolderId($folder_id);
817 $importParser->setXMLContent($usr_xml);
819 $importParser->setRoleAssignment($permitted_roles);
821 $importParser->startParsing();
840 static $checked_roles = array();
841 static $global_roles = null;
844 if(isset($checked_roles[$a_role]))
846 return $checked_roles[$a_role];
849 global $rbacsystem,$rbacreview,$ilUser,$tree,
$ilLog;
851 $locations = $rbacreview->getFoldersAssignedToRole($a_role,
true);
857 $ilLog->write(__METHOD__.
': Check global role');
863 $ilLog->write(__METHOD__.
': '.$a_folder);
864 include_once
'./Services/AccessControl/classes/class.ilObjRole.php';
867 $ilLog->write(__METHOD__.
': No assignment allowed');
868 $checked_roles[$a_role] =
false;
873 if ($a_role == ANONYMOUS_ROLE_ID)
875 $ilLog->write(__METHOD__.
': Anonymous role chosen.');
876 $checked_roles[$a_role] =
false;
880 if($a_role == SYSTEM_ROLE_ID and !in_array(SYSTEM_ROLE_ID,$rbacreview->assignedRoles($ilUser->getId())))
882 $ilLog->write(__METHOD__.
': System role assignment forbidden.');
883 $checked_roles[$a_role] =
false;
888 $ilLog->write(__METHOD__.
': Assignment allowed.');
889 $checked_roles[$a_role] =
true;
894 $ilLog->write(__METHOD__.
': Check local role.');
897 $rolfs = $rbacreview->getFoldersAssignedToRole($a_role,
true);
905 if($rbacreview->isDeleted($rolf)
906 || !$rbacsystem->checkAccess(
'edit_permission',$tree->getParentId($rolf)))
908 $ilLog->write(__METHOD__.
': Role deleted or no permission.');
909 $checked_roles[$a_role] =
false;
920 if($a_folder !=
USER_FOLDER_ID and $a_folder != 0 and !$tree->isGrandChild($a_folder,$rolf))
922 $ilLog->write(__METHOD__.
': Not in path of category.');
923 $checked_roles[$a_role] =
false;
926 $ilLog->write(__METHOD__.
': Assignment allowed.');
927 $checked_roles[$a_role] =
true;
941 return $this->
__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
945 include_once
'./include/inc.header.php';
946 global $ilDB, $tree, $rbacreview, $rbacsystem;
956 switch ($object->getType()) {
965 $object->initCourseMemberObject();
968 $roles = $object->__getLocalRoles();
970 foreach($roles as $role_id)
972 $data = array_merge($rbacreview->assignedUsers($role_id, array()),
$data);
978 $member_ids = $object->getGroupMemberIds();
982 $course_ref_id = $tree->checkForParentType(
$ref_id,
'crs');
985 return $this->
__raiseError(
"No course for session",
"Client");
989 include_once
'Modules/Session/classes/class.ilEventParticipants.php';
991 $member_ids = array_keys($event_part->getParticipants());
998 include_once
'./Services/User/classes/class.ilUserXMLWriter.php';
1001 $xmlWriter->setObjects(
$data);
1002 $xmlWriter->setAttachRoles ($attachRoles);
1004 if($xmlWriter->start())
1006 return $xmlWriter->getXML();
1009 return $this->
__raiseError(
'Error in processing information. This is likely a bug.',
'Server');
1021 return $this->
__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
1025 include_once
'./include/inc.header.php';
1026 include_once
'./Services/AccessControl/classes/class.ilObjRole.php';
1027 global $ilDB, $rbacreview, $rbacsystem, $tree,$ilUser;
1030 $global_roles = $rbacreview->getGlobalRoles();
1033 if (in_array($role_id, $global_roles))
1035 if ($role_id == SYSTEM_ROLE_ID && ! in_array(SYSTEM_ROLE_ID, $rbacreview->assignedRoles($ilUser->getId()))
1038 return $this->
__raiseError(
"Role access not permitted. ($role_id)",
"Server");
1043 $rolf = $rbacreview->getFoldersAssignedToRole($role_id,
true);
1044 if ($rbacreview->isDeleted($rolf[0])
1045 || ! $rbacsystem->checkAccess(
'write',$tree->getParentId($rolf[0])))
1047 return $this->
__raiseError(
"Role access not permitted. ($role_id)",
"Server");
1049 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
1051 if(!$rbacsystem->checkAccess(
'read',SYSTEM_USER_ID) and
1052 !$rbacsystem->checkAccess(
'export_member_data',$privacy->getPrivacySettingsRefId())) {
1053 return $this->
__raiseError(
"Export of local role members not permitted. ($role_id)",
"Server");
1060 include_once
'./Services/User/classes/class.ilUserXMLWriter.php';
1063 $xmlWriter->setAttachRoles($attachRoles);
1065 $xmlWriter->setObjects(
$data);
1067 if($xmlWriter->start())
1069 return $xmlWriter->getXML();
1071 return $this->
__raiseError(
'Error in getUsersForRole',
'Server');
1081 include_once
'./webservice/soap/classes/class.ilXMLResultSet.php';
1082 include_once
'./webservice/soap/classes/class.ilXMLResultSetWriter.php';
1085 $xmlResultSet->addColumn (
"userid");
1086 $xmlResultSet->addColumn (
"login");
1087 $xmlResultSet->addColumn (
"action");
1088 $xmlResultSet->addColumn (
"message");
1090 foreach ($a_array as $username => $messages)
1092 foreach ($messages as $message)
1096 $xmlRow->setValue (0, 0);
1097 $xmlRow->setValue (1, $username);
1098 $xmlRow->setValue (2,
"");
1099 $xmlRow->setValue (3, $message);
1101 $xmlResultSet->addRow ($xmlRow);
1107 if ($xml_writer->start ())
1108 return $xml_writer->getXML();
1110 return $this->
__raiseError(
'Error in __getImportProtocolAsXML',
'Server');
1120 include_once
'./webservice/soap/classes/class.ilXMLResultSet.php';
1121 include_once
'./webservice/soap/classes/class.ilXMLResultSetWriter.php';
1124 $xmlResultSet->addColumn (
"userid");
1125 $xmlResultSet->addColumn (
"login");
1126 $xmlResultSet->addColumn (
"action");
1127 $xmlResultSet->addColumn (
"message");
1129 if (count($a_array))
1130 foreach ($a_array as $username => $message)
1133 $xmlRow->setValue (0, $username);
1134 $xmlRow->setValue (1, $message[
"login"]);
1135 $xmlRow->setValue (2, $message[
"action"]);
1136 $xmlRow->setValue (3, $message[
"message"]);
1138 $xmlResultSet->addRow ($xmlRow);
1143 if ($xml_writer->start ())
1144 return $xml_writer->getXML();
1146 return $this->
__raiseError(
'Error in __getUserMappingAsXML',
'Server');
1158 function searchUser ($sid, $a_keyfields, $query_operator, $a_keyvalues, $attach_roles, $active) {
1162 return $this->
__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
1167 include_once
'./include/inc.header.php';
1169 global $ilDB, $rbacsystem;
1173 return $this->
__raiseError(
'Check access failed.',
'Server');
1177 if (!count($a_keyfields))
1178 $this->
__raiseError(
'At least one keyfield is needed',
'Client');
1180 if (!count ($a_keyvalues))
1181 $this->
__raiseError(
'At least one keyvalue is needed',
'Client');
1183 if (!strcasecmp($query_operator,
"and")==0 || !strcasecmp($query_operator,
"or") == 0)
1184 $this->
__raiseError(
'Query operator must be either \'and\' or \'or\'',
'Client');
1189 $query =
"SELECT usr_data.*, usr_pref.value AS language
1192 ON usr_pref.usr_id = usr_data.usr_id AND usr_pref.keyword = 'language'
1195 if (is_numeric($active) && $active > -1)
1196 $query .=
" AND active = ". $ilDB->quote($active);
1198 $query .=
" ORDER BY usr_data.lastname, usr_data.firstname ";
1202 $r = $ilDB->query($query);
1211 include_once
'./Services/User/classes/class.ilUserXMLWriter.php';
1214 $xmlWriter->setAttachRoles($attach_roles);
1216 $xmlWriter->setObjects(
$data);
1218 if($xmlWriter->start())
1220 return $xmlWriter->getXML();
1223 return $this->
__raiseError(
'Error in searchUser',
'Server');
1238 $allowed_fields = array (
"firstname",
"lastname",
"email",
"login",
"matriculation",
"institution",
"department",
"title",
"ext_account");
1240 foreach ($a_keyfields as $keyfield)
1242 $keyfield = strtolower($keyfield);
1244 if (!in_array($keyfield, $allowed_fields))
1247 $field_query = array ();
1248 foreach ($a_keyvalues as $keyvalue)
1250 if (strlen($keyvalue) >= 3) {
1251 $field_query []= $keyfield.
" like '%".$keyvalue.
"%'";
1255 if (count($field_query))
1256 $query [] = join(
" ".strtoupper($queryOperator).
" ", $field_query);
1260 return count ($query) ?
" AND ((". join(
") OR (", $query) .
"))" :
"AND 0";
1275 return $this->
__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
1279 include_once
'./include/inc.header.php';
1280 global $rbacsystem, $ilUser, $ilDB;
1284 return $this->
__raiseError(
'Check access failed.',
'Server');
1289 include_once
'./Services/User/classes/class.ilUserXMLWriter.php';
1291 $xmlWriter->setAttachRoles($attach_roles);
1292 $xmlWriter->setObjects(
$data);
1294 if($xmlWriter->start())
1296 return $xmlWriter->getXML();
1299 return $this->
__raiseError(
'User does not exist',
'Client');
1308 return $this->
__raiseError($this->sauth->getMessage(),$this->sauth->getMessageCode());
1312 include_once
'./include/inc.header.php';
1313 include_once (
"Services/Mail/classes/class.ilMailbox.php");