33include_once 
'./libs/composer/vendor/autoload.php';
 
   36include_once 
'./webservice/soap/lib/nusoap.php';
 
   37include_once 
'./webservice/soap/include/inc.soap_functions.php';
 
   38require_once(
'./Services/WebServices/SOAP/classes/class.ilSoapHook.php');
 
   39require_once(
'./Services/Init/classes/class.ilInitialisation.php');
 
   51        define(
'SERVICE_NAME', 
'ILIASSoapWebservice');
 
   52        define(
'SERVICE_NAMESPACE', 
'urn:ilUserAdministration');
 
   53        define(
'SERVICE_STYLE', 
'rpc');
 
   54        define(
'SERVICE_USE', 
'encoded');
 
   56        $this->server->decode_utf8 = 
false;
 
   57        $this->server->class = 
"ilSoapFunctions";
 
   68        $postdata = file_get_contents(
"php://input");
 
   69        $this->server->service($postdata);
 
   76        $this->server->configureWSDL(SERVICE_NAME, SERVICE_NAMESPACE);
 
   86        $this->server->wsdl->addComplexType(
 
   93            array(array(
'ref'=>
'SOAP-ENC:arrayType',
'wsdl:arrayType'=>
'xsd:int[]')),
 
   97        $this->server->wsdl->addComplexType(
 
  104            array(array(
'ref'=>
'SOAP-ENC:arrayType',
'wsdl:arrayType'=>
'xsd:string[]')),
 
  108        $this->server->wsdl->addComplexType(
 
  115            array(array(
'ref'=>
'SOAP-ENC:arrayType',
'wsdl:arrayType'=>
'xsd:double[]')),
 
  122        $this->server->register(
 
  124            array(
'client' => 
'xsd:string',
 
  125                                      'username' => 
'xsd:string',
 
  126                                      'password' => 
'xsd:string'),
 
  127            array(
'sid' => 
'xsd:string'),
 
  129            SERVICE_NAMESPACE . 
'#login',
 
  132            'ILIAS login function' 
  136        $this->server->register(
 
  138            array(
'client' => 
'xsd:string',
 
  139                                      'PT' => 
'xsd:string',
 
  140                                      'user' => 
'xsd:string'),
 
  141            array(
'sid' => 
'xsd:string'),
 
  143            SERVICE_NAMESPACE . 
'#loginCAS',
 
  146            'ILIAS login function via CAS' 
  149        $this->server->register(
 
  151            array(
'client' => 
'xsd:string',
 
  152                                      'username' => 
'xsd:string',
 
  153                                      'password' => 
'xsd:string'),
 
  154            array(
'sid' => 
'xsd:string'),
 
  156            SERVICE_NAMESPACE . 
'#login',
 
  159            'ILIAS login function via LDAP' 
  163        $this->server->register(
 
  165            array(
'sid' => 
'xsd:string',
 
  166                                    'user_id' => 
'xsd:int'),
 
  167            array(
'sid' => 
'xsd:string'),
 
  169            SERVICE_NAMESPACE . 
'#loginStudipUser',
 
  172            'ILIAS login function for Stud.IP-Connection. DEPRECATED: this method will be removed in ILIAS 5.3.' 
  176        $this->server->register(
 
  178            array(
'sid' => 
'xsd:string'),
 
  179            array(
'success' => 
'xsd:boolean'),
 
  181            SERVICE_NAMESPACE . 
'#logout',
 
  184            'ILIAS logout function' 
  187        $this->server->wsdl->addComplexType(
 
  193            array(
'usr_id' => array(
'name' => 
'usr_id',
'type' => 
'xsd:int'),
 
  194                                                  'login' => array(
'name' => 
'login', 
'type' => 
'xsd:string'),
 
  195                                                  'passwd' => array(
'name' => 
'passwd', 
'type' => 
'xsd:string'),
 
  196                                                  'firstname' => array(
'name' => 
'firstname', 
'type' => 
'xsd:string'),
 
  197                                                  'lastname' => array(
'name' => 
'lastname', 
'type' => 
'xsd:string'),
 
  198                                                  'title' => array(
'name' => 
'title', 
'type' => 
'xsd:string'),
 
  199                                                  'gender' => array(
'name' => 
'gender', 
'type' => 
'xsd:string'),
 
  200                                                  'email' => array(
'name' => 
'email', 
'type' => 
'xsd:string'),
 
  201                                                  'second_email' => array(
'name' => 
'second_email', 
'type' => 
'xsd:string'),
 
  202                                                  'institution' => array(
'name' => 
'institution', 
'type' => 
'xsd:string'),
 
  203                                                  'street' => array(
'name' => 
'street', 
'type' => 
'xsd:string'),
 
  204                                                  'city' => array(
'name' => 
'city', 
'type' => 
'xsd:string'),
 
  205                                                  'zipcode' => array(
'name' => 
'zipcode', 
'type' => 
'xsd:string'),
 
  206                                                  'country' => array(
'name' => 
'country', 
'type' => 
'xsd:string'),
 
  207                                                  'phone_office' => array(
'name' => 
'phone_office', 
'type' => 
'xsd:string'),
 
  208                                                  'last_login' => array(
'name' => 
'last_login', 
'type' => 
'xsd:string'),
 
  209                                                  'last_update' => array(
'name' => 
'last_update', 
'type' => 
'xsd:string'),
 
  210                                                  'create_date' => array(
'name' => 
'create_date', 
'type' => 
'xsd:string'),
 
  211                                                  'hobby' => array(
'name' => 
'hobby', 
'type' => 
'xsd:string'),
 
  212                                                  'department' => array(
'name' => 
'department', 
'type' => 
'xsd:string'),
 
  213                                                  'phone_home' => array(
'name' => 
'phone_home', 
'type' => 
'xsd:string'),
 
  214                                                  'phone_mobile' => array(
'name' => 
'phone_mobile', 
'type' => 
'xsd:string'),
 
  215                                                  'fax' => array(
'name' => 
'fax', 
'type' => 
'xsd:string'),
 
  216                                                  'time_limit_owner' => array(
'name' => 
'time_limit_owner', 
'type' => 
'xsd:int'),
 
  217                                                  'time_limit_unlimited' => array(
'name' => 
'time_limit_unlimited', 
'type' => 
'xsd:int'),
 
  218                                                  'time_limit_from' => array(
'name' => 
'time_limit_from', 
'type' => 
'xsd:int'),
 
  219                                                  'time_limit_until' => array(
'name' => 
'time_limit_until', 
'type' => 
'xsd:int'),
 
  220                                                  'time_limit_message' => array(
'name' => 
'time_limit_message', 
'type' => 
'xsd:int'),
 
  221                                                  'referral_comment' => array(
'name' => 
'referral_comment', 
'type' => 
'xsd:string'),
 
  222                                                  'matriculation' => array(
'name' => 
'matriculation', 
'type' => 
'xsd:string'),
 
  223                                                  'active' => array(
'name' => 
'active', 
'type' => 
'xsd:int'),
 
  224                                                  'accepted_agreement' => array(
'name' => 
'accepted_agreement',
'type' => 
'xsd:boolean'),
 
  225                                                  'approve_date' => array(
'name' => 
'approve_date', 
'type' => 
'xsd:string'),
 
  226                                                  'user_skin' => array(
'name' => 
'user_skin', 
'type' => 
'xsd:string'),
 
  227                                                  'user_style' => array(
'name' => 
'user_style', 
'type' => 
'xsd:string'),
 
  228                                                  'user_language' => array(
'name' => 
'user_language', 
'type' => 
'xsd:string'),
 
  229                                                  'import_id' => array(
'name' => 
'import_id', 
'type' => 
'xsd:string')
 
  235        $this->server->register(
 
  237            array(
'sid' => 
'xsd:string',
 
  238                                      'user_name' => 
'xsd:string'),
 
  239            array(
'usr_id' => 
'xsd:int'),
 
  241            SERVICE_NAMESPACE . 
'#lookupUser',
 
  244            'ILIAS lookupUser(): check if username exists. Return usr_id or 0 if lookup fails.' 
  249        $this->server->register(
 
  251            array(
'sid' => 
'xsd:string',
 
  252                                      'user_id' => 
'xsd:int'),
 
  253            array(
'user_data' => 
'tns:ilUserData'),
 
  255            SERVICE_NAMESPACE . 
'#getUser',
 
  258            'ILIAS getUser(): get complete set of user data. DEPRECATED with release 5.2, will be deleted with 5.3. Use searchUsers() instead.' 
  262        $this->server->register(
 
  264            array(
'sid' => 
'xsd:string',
 
  265                                      'user_id' => 
'xsd:int'),
 
  266            array(
'success' => 
'xsd:boolean'),
 
  268            SERVICE_NAMESPACE . 
'#deleteUser',
 
  271            'ILIAS deleteUser(). Deletes all user related data (Bookmarks, Mails ...). DEPRECATED: Use importUsers() for deletion of user data.' 
  275        $this->server->register(
 
  277            array(
'sid' => 
'xsd:string',
 
  278                                      'target_id' => 
'xsd:int',
 
  279                                      'crs_xml' => 
'xsd:string'),
 
  280            array(
'course_id' => 
'xsd:int'),
 
  282            SERVICE_NAMESPACE . 
'#addCourse',
 
  285            'ILIAS addCourse(). Course import. See ilias_course_0_1.dtd for details about course xml structure' 
  289        $this->server->register(
 
  291            array(
'sid' => 
'xsd:string',
 
  292                                      'course_id' => 
'xsd:int'),
 
  293            array(
'success' => 
'xsd:boolean'),
 
  295            SERVICE_NAMESPACE . 
'#deleteCourse',
 
  298            'ILIAS deleteCourse(). Deletes a course. Delete courses are stored in "Trash" and can be undeleted in ' .
 
  299                                ' the ILIAS administration. ' 
  302        $this->server->register(
 
  303            AsyncTaskManager::CMD_START_WORKER,
 
  304            array(
'sid' => 
'xsd:string'),
 
  305            array(
'success' => 
'xsd:boolean'),
 
  307            SERVICE_NAMESPACE . 
'#' . AsyncTaskManager::CMD_START_WORKER,
 
  310            'ILIAS ' . AsyncTaskManager::CMD_START_WORKER . 
'().' 
  314        $this->server->register(
 
  315            'assignCourseMember',
 
  316            array(
'sid' => 
'xsd:string',
 
  317                                      'course_id' => 
'xsd:int',
 
  318                                      'user_id' => 
'xsd:int',
 
  319                                      'type' => 
'xsd:string'),
 
  320            array(
'success' => 
'xsd:boolean'),
 
  322            SERVICE_NAMESPACE . 
'#assignCourseMember',
 
  325            'ILIAS assignCourseMember(). Assigns an user to an existing course. Type should be "Admin", "Tutor" or "Member"' 
  329        $this->server->register(
 
  330            'excludeCourseMember',
 
  331            array(
'sid' => 
'xsd:string',
 
  332                                      'course_id' => 
'xsd:int',
 
  333                                      'user_id' => 
'xsd:int'),
 
  334            array(
'success' => 
'xsd:boolean'),
 
  336            SERVICE_NAMESPACE . 
'#excludeCourseMember',
 
  339            'ILIAS excludeCourseMember(). Excludes an user from an existing course.' 
  343        $this->server->register(
 
  344            'isAssignedToCourse',
 
  345            array(
'sid' => 
'xsd:string',
 
  346                                      'course_id' => 
'xsd:int',
 
  347                                      'user_id' => 
'xsd:int'),
 
  348            array(
'role' => 
'xsd:int'),
 
  350            SERVICE_NAMESPACE . 
'#isAssignedToCourse',
 
  353            'ILIAS isAssignedToCourse(). Checks whether an user is assigned to a given course. ' .
 
  354                                'Returns 0 => not assigned, 1 => course admin, 2 => course member or 3 => course tutor' 
  358        $this->server->register(
 
  360            array(
'sid' => 
'xsd:string',
 
  361                                      'course_id' => 
'xsd:int'),
 
  362            array(
'xml' => 
'xsd:string'),
 
  364            SERVICE_NAMESPACE . 
'#getCourseXML',
 
  367            'ILIAS getCourseXML(). Get a xml description of a specific course.' 
  371        $this->server->register(
 
  373            array(
'sid' => 
'xsd:string',
 
  374                                      'course_id' => 
'xsd:int',
 
  375                                      'xml' => 
'xsd:string'),
 
  376            array(
'success' => 
'xsd:boolean'),
 
  378            SERVICE_NAMESPACE . 
'#updateCourse',
 
  381            'ILIAS updateCourse(). Update course settings, assigned members, tutors, administrators with a ' .
 
  382                                'given xml description' 
  386        $this->server->register(
 
  387            'getObjIdByImportId',
 
  388            array(
'sid' => 
'xsd:string',
 
  389                                      'import_id' => 
'xsd:string'),
 
  390            array(
'obj_id' => 
'xsd:int'),
 
  392            SERVICE_NAMESPACE . 
'#getCourseIdByImportId',
 
  395            'ILIAS getObjIdByImportId(). Get the obj_id of an ILIAS obj by a given import id.' 
  400        $this->server->register(
 
  401            'getRefIdsByImportId',
 
  402            array(
'sid' => 
'xsd:string',
 
  403                                      'import_id' => 
'xsd:string'),
 
  404            array(
'ref_ids' => 
'tns:intArray'),
 
  406            SERVICE_NAMESPACE . 
'#getRefIdsByImportId',
 
  409            'ILIAS getRefIdsByImportId(). Get all reference ids by a given import id.' 
  413        $this->server->register(
 
  415            array(
'sid' => 
'xsd:string',
 
  416                                      'obj_id' => 
'xsd:string'),
 
  417            array(
'ref_ids' => 
'tns:intArray'),
 
  419            SERVICE_NAMESPACE . 
'#getRefIdsByObjId',
 
  422            'ILIAS getRefIdsByObjId(). Get all reference ids by a given object id.' 
  426        $this->server->register(
 
  427            'getObjectByReference',
 
  428            array(
'sid' => 
'xsd:string',
 
  429                                      'reference_id' => 
'xsd:int',
 
  430                                      'user_id' => 
'xsd:int'),
 
  431            array(
'object_xml' => 
'xsd:string'),
 
  433            SERVICE_NAMESPACE . 
'#getObjectByReference',
 
  436            'ILIAS getObjectByReference(). Get XML-description of an ILIAS object. If a user id is given, ' .
 
  437                                'this methods also checks the permissions of that user on the object.' 
  440        $this->server->register(
 
  442            array(
'sid' => 
'xsd:string',
 
  443                                      'title' => 
'xsd:string',
 
  444                                      'user_id' => 
'xsd:int'),
 
  445            array(
'object_xml' => 
'xsd:string'),
 
  447            SERVICE_NAMESPACE . 
'#getObjectsByTitle',
 
  450            'ILIAS getObjectsByTitle(). Get XML-description of an ILIAS object with given title. ' .
 
  451                                'If a user id is given this method also checks the permissions of that user on the object.' 
  454        $this->server->register(
 
  456            array(
'sid' => 
'xsd:string',
 
  457                                      'types' => 
'tns:stringArray',
 
  458                                      'key' => 
'xsd:string',
 
  459                                      'combination' => 
'xsd:string',
 
  460                                      'user_id' => 
'xsd:int'),
 
  461            array(
'object_xml' => 
'xsd:string'),
 
  463            SERVICE_NAMESPACE . 
'#searchObjects',
 
  466            'ILIAS searchObjects(): Searches for objects. Key is within "title" or "description" ' .
 
  467                                'Typical calls are searchObject($sid,array("lm","crs"),"\"this and that\"","and"); ' .
 
  468                                ' If an optional user id is given, this methods also return the permissions for that user ' .
 
  469                                'on the found objects' 
  472        $this->server->register(
 
  474            array(
'sid' => 
'xsd:string',
 
  475                                      'ref_id' => 
'xsd:int',
 
  476                                      'types' => 
'tns:stringArray',
 
  477                                      'user_id' => 
'xsd:int'),
 
  478            array(
'object_xml' => 
'xsd:string'),
 
  480            SERVICE_NAMESPACE . 
'#getTreeChilds',
 
  483            'ILIAS getTreeChilds(): Get all child objects of a given object.' .
 
  484                                'Choose array of types to filter the output. Choose empty type array to receive all object types' 
  487        $this->server->register(
 
  489            array(
'sid' => 
'xsd:string',
 
  490                          'ref_id' => 
'xsd:int',
 
  491                          'types' => 
'tns:stringArray',
 
  492                          'user_id' => 
'xsd:int'),
 
  493            array(
'object_xml' => 
'xsd:string'),
 
  495            SERVICE_NAMESPACE . 
'#getXMLTree',
 
  498            'ILIAS getXMLTree(): Returns a xml stream with the subtree objects.' 
  503        $this->server->register(
 
  505            array(
'sid' => 
'xsd:string',
 
  506                                      'target_id' => 
'xsd:int',
 
  507                                      'object_xml' => 
'xsd:string'),
 
  508            array(
'ref_id' => 
'xsd:int'),
 
  510            SERVICE_NAMESPACE . 
'#addObject',
 
  513            'ILIAS addObject. Create new object based on xml description under a given node ' .
 
  514                                '("category,course,group or folder). Return created reference id of the new object.' 
  517        $this->server->register(
 
  519            array(
'sid' => 
'xsd:string',
 
  520                                      'object_xml' => 
'xsd:string'),
 
  521            array(
'success' => 
'xsd:boolean'),
 
  523            SERVICE_NAMESPACE . 
'#updateObjects',
 
  526            'ILIAS updateObjects. Update object data (title,description,owner)' 
  529        $this->server->register(
 
  531            array(
'sid' => 
'xsd:string',
 
  532                                      'source_id' => 
'xsd:int',
 
  533                                      'target_id' => 
'xsd:int'),
 
  534            array(
'ref_id' => 
'xsd:int'),
 
  536            SERVICE_NAMESPACE . 
'#addReference',
 
  539            'ILIAS addReference. Create new link of given object to new object. Return the new reference id' 
  542        $this->server->register(
 
  544            array(
'sid' => 
'xsd:string',
 
  545                                      'reference_id' => 
'xsd:int'),
 
  546            array(
'success' => 
'xsd:boolean'),
 
  548            SERVICE_NAMESPACE . 
'#deleteObject',
 
  551            'ILIAS deleteObject. Stores object in trash. If multiple references exist, only the reference is deleted ' 
  555        $this->server->register(
 
  556            'removeFromSystemByImportId',
 
  557            array(
'sid' => 
'xsd:string',
 
  558                                      'import_id' => 
'xsd:string'),
 
  559            array(
'success' => 
'xsd:boolean'),
 
  561            SERVICE_NAMESPACE . 
'#removeFromSystemByImportId',
 
  564            'ILIAS removeFromSystemByImportId(). Removes an object identified by its import id permanently from the ' .
 
  565                                'system. All data will be deleted. There will be no possibility to restore it from the trash. Do not use ' .
 
  566                                'this function for deleting roles or users. Use deleteUser() or deleteRole() instead.' 
  569        $this->server->register(
 
  571            array(
'sid' => 
'xsd:string',
 
  572                                      'user_id' => 
'xsd:int',
 
  573                                      'role_id' => 
'xsd:int'),
 
  574            array(
'success' => 
'xsd:boolean'),
 
  576            SERVICE_NAMESPACE . 
'#addUserRoleEntry',
 
  579            'ILIAS addUserRoleEntry. Assign user to role.' 
  582        $this->server->register(
 
  583            'deleteUserRoleEntry',
 
  584            array(
'sid' => 
'xsd:string',
 
  585                                      'user_id' => 
'xsd:int',
 
  586                                      'role_id' => 
'xsd:int'),
 
  587            array(
'success' => 
'xsd:boolean'),
 
  589            SERVICE_NAMESPACE . 
'#deleteUserRoleEntry',
 
  592            'ILIAS deleteUserRoleEntry. Deassign user from role.' 
  597        $this->server->wsdl->addComplexType(
 
  603            array(
'ops_id' => array(
'name' => 
'ops_id',
 
  604                                                                    'type' => 
'xsd:int'),
 
  605                                                  'operation' => array(
'name' => 
'operation',
 
  606                                                                       'type' => 
'xsd:string'),
 
  607                                                  'description' => array(
'name' => 
'description',
 
  608                                                                         'type' => 
'xsd:string'))
 
  611        $this->server->wsdl->addComplexType(
 
  618            array(array(
'ref' => 
'SOAP-ENC:arrayType',
 
  619                                                        'wsdl:arrayType' => 
'tns:ilOperation[]')),
 
  622        $this->server->register(
 
  624            array(
'sid' => 
'xsd:string'),
 
  625            array(
'operations' => 
'tns:ilOperations'),
 
  627            SERVICE_NAMESPACE . 
'#getOperations',
 
  630            'ILIAS getOperations(): get complete set of RBAC operations.' 
  633        $this->server->register(
 
  635            array(
'sid' => 
'xsd:string',
 
  636                                      'ref_id' => 
'xsd:int',
 
  637                                      'role_id' => 
'xsd:int'),
 
  638            array(
'success' => 
'xsd:boolean'),
 
  640            SERVICE_NAMESPACE . 
'#revokePermissions',
 
  643            'ILIAS revokePermissions(): Revoke all permissions for a specific role on an object.' 
  646        $this->server->wsdl->addComplexType(
 
  653            array(array(
'ref' => 
'SOAP-ENC:arrayType',
 
  654                                                        'wsdl:arrayType' => 
'xsd:int[]')),
 
  658        $this->server->register(
 
  660            array(
'sid' => 
'xsd:string',
 
  661                                      'ref_id' => 
'xsd:int',
 
  662                                      'role_id' => 
'xsd:int',
 
  663                                      'operations' => 
'tns:intArray'),
 
  664            array(
'success' => 
'xsd:boolean'),
 
  666            SERVICE_NAMESPACE . 
'#grantPermissions',
 
  669            'ILIAS grantPermissions(): Grant permissions for a specific role on an object. ' .
 
  670                                '(Substitutes existing permission settings)' 
  673        $this->server->register(
 
  675            array(
'sid' => 
'xsd:string',
 
  676                                      'ref_id' => 
'xsd:int'),
 
  677            array(
'role_xml' => 
'xsd:string'),
 
  679            SERVICE_NAMESPACE . 
'#getLocalRoles',
 
  682            'ILIAS getLocalRoles(): Get all local roles assigned to an specific object.' 
  685        $this->server->register(
 
  687            array(
'sid' => 
'xsd:string',
 
  688                                      'user_id' => 
'xsd:int'),
 
  689            array(
'role_xml' => 
'xsd:string'),
 
  691            SERVICE_NAMESPACE . 
'#getLocalRoles',
 
  694            'ILIAS getUserRoles(): Get all local roles assigned to an specific user. ' 
  697        $this->server->register(
 
  699            array(
'sid' => 
'xsd:string',
 
  700                                      'target_id' => 
'xsd:int',
 
  701                                      'obj_xml' => 
'xsd:string'),
 
  702            array(
'role_ids' => 
'tns:intArray'),
 
  704            SERVICE_NAMESPACE . 
'#addRole',
 
  707            'ILIAS addRole(): Creates new role under given node. "target_id" is the reference id of an ILIAS ' .
 
  708                                'ILIAS object. E.g ref_id of crs,grp. If no role folder exists, a new role folder will be created.' 
  711        $this->server->register(
 
  713            array(
'sid' => 
'xsd:string',
 
  714                                      'role_id' => 
'xsd:int'),
 
  715            array(
'success' => 
'xsd:boolean'),
 
  717            SERVICE_NAMESPACE . 
'#deleteRole',
 
  720            'ILIAS deleteRole(): Deletes an role and all user assignments. Fails if it is the last role of an user' 
  723        $this->server->register(
 
  724            'addRoleFromTemplate',
 
  725            array(
'sid' => 
'xsd:string',
 
  726                                      'target_id' => 
'xsd:int',
 
  727                                      'obj_xml' => 
'xsd:string',
 
  728                                      'role_template_id' => 
'xsd:int'),
 
  729            array(
'role_ids' => 
'tns:intArray'),
 
  731            SERVICE_NAMESPACE . 
'#addRole',
 
  734            'ILIAS addRole(): Creates new role under given node. "target_id" is the reference id of an ILIAS ' .
 
  735                                'ILIAS object. E.g ref_id of crs,grp. If no role folder exists, a new role folder will be created. ' .
 
  736                                'In addition to addRole the template permissions will be copied from the given role template' 
  739        $this->server->register(
 
  740            'getObjectTreeOperations',
 
  741            array(
'sid' => 
'xsd:string',
 
  742                                      'ref_id' => 
'xsd:int',
 
  743                                      'user_id' => 
'xsd:int'),
 
  744            array(
'operations' => 
'tns:ilOperations'),
 
  746            SERVICE_NAMESPACE . 
'#getPermissionsForObject',
 
  749            'ILIAS getObjectTreeOperations(): Get all granted permissions for all references of ' .
 
  750                                'an object for a specific user. Returns array of granted operations or empty array' 
  753        $this->server->register(
 
  755            array(
'sid' => 
'xsd:string',
 
  756                                      'target_id' => 
'xsd:int',
 
  757                                      'group_xml' => 
'xsd:string'),
 
  758            array(
'ref_id' => 
'xsd:int'),
 
  760            SERVICE_NAMESPACE . 
'#addGroup',
 
  763            'ILIAS addGroup(): Add grop according to valid group XML ' .
 
  764                                '@See ilias_group_0_1.dtd' 
  767        $this->server->register(
 
  769            array(
'sid' => 
'xsd:string',
 
  770                                      'title' => 
'xsd:string'),
 
  771            array(
'exists' => 
'xsd:boolean'),
 
  773            SERVICE_NAMESPACE . 
'#groupExists',
 
  776            'ILIAS addGroup(): Check if group with given name exists. ' 
  781        $this->server->register(
 
  783            array(
'sid' => 
'xsd:string',
 
  784                                      'ref_id' => 
'xsd:int'),
 
  785            array(
'group_xml' => 
'xsd:string'),
 
  787            SERVICE_NAMESPACE . 
'#getGroup',
 
  790            'ILIAS getGroup(): get xml description of grouip with given reference id.' 
  794        $this->server->register(
 
  796            array(
'sid' => 
'xsd:string',
 
  797                                      'group_id' => 
'xsd:int',
 
  798                                      'user_id' => 
'xsd:int',
 
  799                                      'type' => 
'xsd:string'),
 
  800            array(
'success' => 
'xsd:boolean'),
 
  802            SERVICE_NAMESPACE . 
'#assignGroupMember',
 
  805            'ILIAS assignGroupMember(). Assigns an user to an existing group. Type should be "Admin","Member"' 
  809        $this->server->register(
 
  810            'excludeGroupMember',
 
  811            array(
'sid' => 
'xsd:string',
 
  812                                      'group_id' => 
'xsd:int',
 
  813                                      'user_id' => 
'xsd:int'),
 
  814            array(
'success' => 
'xsd:boolean'),
 
  816            SERVICE_NAMESPACE . 
'#excludeGroupMember',
 
  819            'ILIAS excludeGroupMember(). Excludes an user from an existing group.' 
  823        $this->server->register(
 
  825            array(
'sid' => 
'xsd:string',
 
  826                                      'group_id' => 
'xsd:int',
 
  827                                      'user_id' => 
'xsd:int'),
 
  828            array(
'role' => 
'xsd:int'),
 
  830            SERVICE_NAMESPACE . 
'#isAssignedToGroup',
 
  833            'ILIAS isAssignedToGroup(). Checks whether an user is assigned to a given group. ' .
 
  834                                'Returns 0 => not assigned, 1 => group admin, 2 => group member' 
  840        $this->server->register(
 
  842            array(
'sid' => 
'xsd:string',
 
  843                                      'rcp_to' => 
'xsd:string',
 
  844                                      'rcp_cc' => 
'xsd:string',
 
  845                                      'rcp_bcc' => 
'xsd:string',
 
  846                                      'sender' => 
'xsd:string',
 
  847                                      'subject' => 
'xsd:string',
 
  848                                      'message' => 
'xsd:string',
 
  849                                      'attachments' => 
'xsd:string'),
 
  850            array(
'status' => 
'xsd:boolean'),
 
  852            SERVICE_NAMESPACE . 
'#sendMail',
 
  855            'ILIAS sendMail(): Send mime mails according to xml description. Only for internal usage ' .
 
  856                                'Syntax, parameters may change in future releases' 
  859        $this->server->register(
 
  861            array(
'sid' => 
'xsd:string',
 
  862                                      'mail_xml' => 
'xsd:string'),
 
  863            array(
'status' => 
'xsd:boolean'),
 
  865            SERVICE_NAMESPACE . 
'#sendMail',
 
  868            'ILIAS distributeMails(): Distribute ILIAS mails according according to the mail setting of the recipients as ' .
 
  869                                'ILIAS internal mail or as e-mail.' 
  873        $this->server->register(
 
  875            array(
'sid' => 
'xsd:string',
'copy_identifier' => 
'xsd:int'),
 
  876            array(
'new_ref_id' => 
'xsd:int'),
 
  878            SERVICE_NAMESPACE . 
'#ilClone',
 
  881            'ILIAS ilClone(): Only for internal usage.' .
 
  882                                'Syntax, parameters may change in future releases. ' 
  885        $this->server->register(
 
  887            array(
'sid' => 
'xsd:string',
'server_id' => 
'xsd:int'),
 
  888            array(
'success' => 
'xsd:boolean'),
 
  890            SERVICE_NAMESPACE . 
'#handleECSTasks',
 
  893            'ILIAS handleECSTasks(): Only for internal usage.' .
 
  894                                'Syntax, parameters may change in future releases. ' 
  897        $this->server->register(
 
  898            'ilCloneDependencies',
 
  899            array(
'sid' => 
'xsd:string',
'copy_identifier' => 
'xsd:int'),
 
  900            array(
'success' => 
'xsd:boolean'),
 
  902            SERVICE_NAMESPACE . 
'#ilCloneDependencies',
 
  905            'ILIAS ilCloneDependencies(): Only for internal usage.' .
 
  906                                'Syntax, parameters may change in future releases. ' 
  909        $this->server->register(
 
  910            'saveQuestionResult',
 
  911            array(
'sid' => 
'xsd:string',
 
  912                                      'user_id' => 
'xsd:int',
 
  913                                      'test_id' => 
'xsd:int',
 
  914                                      'question_id' => 
'xsd:int',
 
  916                                      'solution' => 
'tns:stringArray'),
 
  917            array(
'status' => 
'xsd:boolean'),
 
  919            SERVICE_NAMESPACE . 
'#saveQuestionResult',
 
  922            'ILIAS saveQuesionResult: Typically called from an external assessment question to save the user input. DEPRECATED since ILIAS 3.9' 
  925        $this->server->register(
 
  927            array(
'sid' => 
'xsd:string',
 
  928                                      'active_id' => 
'xsd:long',
 
  929                                      'question_id' => 
'xsd:long',
 
  931                                      'solution' => 
'tns:stringArray'),
 
  932            array(
'status' => 
'xsd:boolean'),
 
  934            SERVICE_NAMESPACE . 
'#saveQuestion',
 
  937            'ILIAS saveQuestion: Saves the result of a question in a given test pass for the active test user. The active user is identified by the active ID, which assigns a user to a test.' 
  940        $this->server->register(
 
  941        'saveQuestionSolution',
 
  942        array(
'sid' => 
'xsd:string',
 
  943                                  'active_id' => 
'xsd:long',
 
  944                                  'question_id' => 
'xsd:long',
 
  946                                  'solution' => 
'xsd:string'),
 
  947        array(
'status' => 
'xsd:string'),
 
  949        SERVICE_NAMESPACE . 
'#saveQuestionSolution',
 
  952        'ILIAS saveQuestionSolution: Saves the result of a question in a given test pass for the active test user. The active user is identified by the active ID, which assigns a user to a test. The solution has to be an XML string which contains <values><value>VALUE</value><value>VALUE</value><points>POINTS</points>...</values> where the triplet (value,value,points) can repeat n times. The result string is either TRUE or it contains an error message.' 
  955        $this->server->register(
 
  956            'getQuestionSolution',
 
  957            array(
'sid' => 
'xsd:string',
 
  958                                      'active_id' => 
'xsd:long',
 
  959                                      'question_id' => 
'xsd:int',
 
  960                                      'pass' => 
'xsd:int'),
 
  961            array(
'solution' => 
'tns:stringArray'),
 
  963            SERVICE_NAMESPACE . 
'#getQuestionSolution',
 
  966            'ILIAS getQuestionSolution: Typically called from external assessment questions to retrieve the previous input of a user.' 
  969        $this->server->register(
 
  971                                array(
'sid' => 
'xsd:string',
 
  972                                                          'active_id' => 
'xsd:long'),
 
  973                                array(
'userdata' => 
'tns:stringArray'),
 
  975                                SERVICE_NAMESPACE . 
'#getTestUserData',
 
  978                                'ILIAS getTestUserData: Typically called from external assessment questions to retrieve data of the active user. The returned string array values are fullname, title, firstname, lastname, login.' 
  981        $this->server->register(
 
  982                                'getPositionOfQuestion',
 
  983                                array(
'sid' => 
'xsd:string',
 
  984                                                          'active_id' => 
'xsd:long',
 
  985                                                          'question_id' => 
'xsd:int',
 
  986                                                          'pass' => 
'xsd:int'),
 
  987                                array(
'position' => 
'xsd:int'),
 
  989                                SERVICE_NAMESPACE . 
'#getPositionOfQuestion',
 
  992                                'ILIAS getPositionOfQuestion: Returns the position of a given question for a given user in a given test pass.' 
  995        $this->server->register(
 
  996                                'getPreviousReachedPoints',
 
  997                                array(
'sid' => 
'xsd:string',
 
  998                                                          'active_id' => 
'xsd:long',
 
  999                                                          'question_id' => 
'xsd:int',
 
 1000                                                          'pass' => 
'xsd:int'),
 
 1001                                array(
'position' => 
'tns:doubleArray'),
 
 1003                                SERVICE_NAMESPACE . 
'#getPreviousReachedPoints',
 
 1006                                'ILIAS getPreviousReachedPoints: Returns an array of reached points for the previous questions in a given test pass.' 
 1009        $this->server->register(
 
 1010                                'getNrOfQuestionsInPass',
 
 1011                                array(
'sid' => 
'xsd:string',
 
 1012                                                          'active_id' => 
'xsd:long',
 
 1013                                                          'pass' => 
'xsd:int'),
 
 1014                                array(
'count' => 
'xsd:int'),
 
 1016                                SERVICE_NAMESPACE . 
'#getNrOfQuestionsInPass',
 
 1019                                'ILIAS getNrOfQuestionsInPass: Returns the question count for a given test user in a given pass.' 
 1022        $this->server->register(
 
 1023            'getStructureObjects',
 
 1024            array(
'sid' => 
'xsd:string',
 
 1025                                      'ref_id' => 
'xsd:int'),
 
 1026            array(
'xml' => 
'xsd:string'),
 
 1028            SERVICE_NAMESPACE . 
'#getStructureObjects',
 
 1031            'ILIAS getStructureObjects: delivers structure of content objects like learning modules (chapters/pages) or glossary (terms)' 
 1035        $this->server->register(
 
 1037            array(
'sid' => 
'xsd:string',
 
 1038                                      'folder_id' => 
'xsd:int',
 
 1039                                      'usr_xml' => 
'xsd:string',
 
 1040                                      'conflict_rule' => 
'xsd:int',
 
 1041                                      'send_account_mail' => 
'xsd:int'),
 
 1042            array(
'protocol' => 
'xsd:string'),
 
 1044            SERVICE_NAMESPACE . 
'#importUsers',
 
 1047            'ILIAS import users into folder id, which should be ref_id of folder or user folder (-1:System user folder, 0: checks access at user level, otherwise refid): conflict_rule: IL_FAIL_ON_CONFLICT = 1, IL_UPDATE_ON_CONFLICT = 2, IL_IGNORE_ON_CONFLICT = 3. The Return-Value is a protocol with the columns userid, login, action, message, following xmlresultset dtd. Send Account Mail = 0 deactivates sending a mail to each user, 1 activates it' 
 1050        $this->server->register(
 
 1052            array(
'sid' => 
'xsd:string',
 
 1053                                      'role_type' => 
'xsd:string',
 
 1054                                      'id' => 
'xsd:string'),
 
 1055            array(
'role_xml' => 
'xsd:string'),
 
 1057            SERVICE_NAMESPACE . 
'#getRoles',
 
 1060            'ILIAS getRoles():if id equals -1, get all roles specified by type (global|local|user|user_login|template or empty), if type is empty all roles with all types are delivered, if id > -1 and role_type <> user or user_login, delivers all roles which belong to a repository object with specified ref_id, if roletype is user a numeric id is interpreted as userid, if roletype is user_login it is interpreted as login,if roletype is template all role templates will be listed' 
 1063        $this->server->register(
 
 1064            'getUsersForContainer',
 
 1065            array(
'sid' => 
'xsd:string',
 
 1066                                'ref_id' => 
'xsd:int',
 
 1067                                     'attach_roles' => 
'xsd:int',
 
 1068                                    'active' => 
'xsd:int'),
 
 1069            array(
'user_xml' => 
'xsd:string'),
 
 1071            SERVICE_NAMESPACE . 
'#getUsersForContainer',
 
 1074            'ILIAS getUsersForContainer(): get all users of a specific ref_id, which can be crs, group, category or user folder (value: -1). Choose if all roles of a user should be attached (1) or not (0). set active to -1 to get all, 0, to get inactive users only, 1 to get active users only' 
 1077        $this->server->register(
 
 1079            array(
'sid' => 
'xsd:string',
 
 1080                                      'role_id' => 
'xsd:int',
 
 1081                                      'attach_roles' => 
'xsd:int',
 
 1082                                      'active' => 
'xsd:int'),
 
 1083            array(
'user_xml' => 
'xsd:string'),
 
 1085            SERVICE_NAMESPACE . 
'#getUsersForRole',
 
 1088            'ILIAS getUsersForRole(): get all users of a role with specified id, specify attach_roles to 1, to attach all role assignmnents; specify active: 1, to import active only, 0: inactive only, -1: both' 
 1091        $this->server->register(
 
 1093            array(
'sid' => 
'xsd:string',
 
 1094                                      'key_fields' => 
'tns:stringArray',
 
 1095                                      'query_operator' => 
'xsd:string',
 
 1096                                      'key_values' => 
'tns:stringArray',
 
 1097                                      'attach_roles' => 
'xsd:int',
 
 1098                                      'active' => 
'xsd:int'),
 
 1099            array(
'user_xml' => 
'xsd:string'),
 
 1101            SERVICE_NAMESPACE . 
'#searchUsers',
 
 1104            'ILIAS searchUser(): get all users, which match a query, consisting of the keyfields, matched with values of the field values, concatenated with the logical query operator. Specify attach_roles to 1, to attach all role assignmnents; specify active: 1, to import active only, 0: inactive only, -1: both' 
 1109        $this->server->register(
 
 1111            array(
'sid' => 
'xsd:string'),
 
 1112            array(
'status' => 
'xsd:boolean'),
 
 1114            SERVICE_NAMESPACE . 
'#hasNewMail',
 
 1117            'ILIAS hasNewMail(): Checks whether the current authenticated user has a new mail.' 
 1120        $this->server->register(
 
 1122            array(
'sid' => 
'xsd:string'),
 
 1123            array(
'xmlresultset' => 
'xsd:string'),
 
 1125            SERVICE_NAMESPACE . 
'#getNIC',
 
 1128            'ILIAS getNIC(): DEPRECATED: use getClientInfoXML instead. was: return client information from current client as xml result set containing installation_id, installation_version, installation_url, installation_description, installation_language_default as columns' 
 1131        $this->server->register(
 
 1133            array(
'sid' => 
'xsd:string', 
"ref_id" => 
'xsd:int', 
"attachment_mode" => 
"xsd:int"),
 
 1134            array(
'exercisexml' => 
'xsd:string'),
 
 1136            SERVICE_NAMESPACE . 
'#getExerciseXML',
 
 1139            'ILIAS getExerciseXML(): returns xml description of exercise. Attachment mode: 0 - no file contents, 1 - plain content (base64encoded), 2 zlib + base64, 3 gzip + base64)' 
 1142        $this->server->register(
 
 1144            array(
'sid' => 
'xsd:string', 
"target_id" => 
'xsd:int', 
"xml" => 
"xsd:string"),
 
 1145            array(
'refid' => 
'xsd:int'),
 
 1147            SERVICE_NAMESPACE . 
'#addExercise',
 
 1150            'ILIAS addExercise(): create exercise, put it into target (ref_id) and update exercise properties from xml (see ilias_exercise_3_8.dtd for details). Obj_id must not be set!' 
 1153        $this->server->register(
 
 1155            array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int', 
'xml' => 
'xsd:string'),
 
 1156            array(
'success' => 
'xsd:boolean'),
 
 1158            SERVICE_NAMESPACE . 
'#updateExercise',
 
 1161            'ILIAS updateExercise():update existing exercise, update exercise properties from xml (see ilias_exercise_3_8.dtd for details). obj_id in xml must match according obj id of refid.!' 
 1164        $this->server->register(
 
 1166            array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int', 
'attachment_mode' => 
'xsd:int'),
 
 1167            array(
'filexml' => 
'xsd:string'),
 
 1169            SERVICE_NAMESPACE . 
'#getFileXML',
 
 1172            'ILIAS getFileXML(): returns xml description of file. Attachment mode: 0 - no file contents, 1 - plain content (base64encoded), 2 zlib + base64, 3 gzip + base64)' 
 1175        $this->server->register(
 
 1177            array(
'sid' => 
'xsd:string', 
'target_id' => 
'xsd:int', 
'xml' => 
'xsd:string'),
 
 1178            array(
'refid' => 
'xsd:int'),
 
 1180            SERVICE_NAMESPACE . 
'#addFile',
 
 1183            'ILIAS addFile(): create file, put it into target (ref_id) and update file properties from xml (see ilias_file_3_8.dtd for details). Obj_id must not be set!' 
 1186        $this->server->register(
 
 1188            array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int', 
'xml' => 
'xsd:string'),
 
 1189            array(
'success' => 
'xsd:boolean'),
 
 1191            SERVICE_NAMESPACE . 
'#updateFile',
 
 1194            'ILIAS updateFile():update existing file, update file properties from xml (see ilias_file_3_8.dtd for details). obj_id in xml must match according obj id of refid.!' 
 1198        $this->server->register(
 
 1200              array(
'sid' => 
'xsd:string', 
'user_ids' => 
'tns:intArray', 
'attach_roles' => 
'xsd:int'),
 
 1201              array(
'xml' => 
'xsd:string'),
 
 1203              SERVICE_NAMESPACE . 
'#resolveUsers',
 
 1206              'ILIAS getUserXML(): get xml records for user ids, e.g. retrieved vom members of course xml. Returns user xml dtds. ids are numeric ids of user' 
 1211        $this->server->register(
 
 1212            'getObjIdsByRefIds',
 
 1213            array(
'sid' => 
'xsd:string',
 
 1214                                      'ref_ids' => 
'tns:intArray'),
 
 1215            array(
'obj_ids' => 
'tns:intArray'),
 
 1217            SERVICE_NAMESPACE . 
'#getRefIdsByImportId',
 
 1220            'ILIAS getObjIdsForRefIds: Returns a array of object ids which match the references id, given by a comma seperated string. Returns an array of ref ids, in the same order as object ids. Therefore, there might by duplicates' 
 1223        $this->server->register(
 
 1225            array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int', 
'xml' => 
'xsd:string'),
 
 1226            array(
'success' => 
'xsd:boolean'),
 
 1228            SERVICE_NAMESPACE . 
'#updateGroup',
 
 1231            'ILIAS updateGroup(): update existing group using ref id and group xml (see DTD).' 
 1236        $this->server->register(
 
 1237            'getIMSManifestXML',
 
 1238            array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int'),
 
 1239            array(
'xml' => 
'xsd:string'),
 
 1241            SERVICE_NAMESPACE . 
'#getIMSManifestXML',
 
 1244            'ILIAS getIMSManifestXML(): returns xml of ims manifest file (scorm learning module) referred by refid' 
 1247        $this->server->register(
 
 1248            'hasSCORMCertificate',
 
 1249            array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int', 
'usr_id' => 
'xsd:int'),
 
 1250            array(
'success' => 
'xsd:boolean'),
 
 1252            SERVICE_NAMESPACE . 
'#hasSCORMCertificate',
 
 1255            'ILIAS hasSCORMCertificate(): returns true if a certficate is available for a user referred by usr_id in a SCORM learning module referred by ref_id' 
 1258        $this->server->register(
 
 1259            'getSCORMCompletionStatus',
 
 1260            array(
'sid' => 
'xsd:string', 
'usr_id' => 
'xsd:int', 
'ref_id' => 
'xsd:int'),
 
 1261            array(
'status' => 
'xsd:string'),
 
 1263            SERVICE_NAMESPACE . 
'#getSCORMCompletionStatus',
 
 1266            'ILIAS getSCORMCompletionStatus(): returns a completion status of a scorm module' 
 1269        $this->server->register(
 
 1271            array(
'sid' => 
'xsd:string', 
'xml' => 
'xsd:string'),
 
 1272            array(
'xml' => 
'xsd:int'),
 
 1274            SERVICE_NAMESPACE . 
'#copyObject',
 
 1277            'ILIAS copyObject(): returns reference of copy, if copy is created directly, or the ref id of the target if copy is in progress.' 
 1280        $this->server->register(
 
 1282            array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int', 
'target_id' => 
'xsd:int'),
 
 1283            array(
'result' => 
'xsd:boolean'),
 
 1285            SERVICE_NAMESPACE . 
'#moveObject',
 
 1288            'ILIAS moveObject(): returns true, if object with refid could be successfully moved to target id, other it raises an error.' 
 1292        $this->server->register(
 
 1294            array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int', 
'sum_only' => 
'xsd:boolean'),
 
 1295            array(
'xml' => 
'xsd:string'),
 
 1297            SERVICE_NAMESPACE . 
'#getTestResults',
 
 1300            'ILIAS getTestResults(): returns XMLResultSet with  
 1301                                                                         sum only = true: user_id, login, firstname, lastname, matriculation, maximum points, received points 
 1302                                                                         sum only = false: user_id, login, firstname, lastname, matriculation, question id, question title, question points, received points' 
 1305        $this->server->register(
 
 1306            'removeTestResults',
 
 1308                                    'sid' => 
'xsd:string',
 
 1309                                    'ref_id' => 
'xsd:int',
 
 1310                                    'user_ids' => 
'tns:intArray'),
 
 1311            array(
'success' => 
'xsd:boolean'),
 
 1313            SERVICE_NAMESPACE . 
'#removeTestResults',
 
 1316            'ILIAS removeTestResults(): remove test results for the chosen users' 
 1319        $this->server->register(
 
 1320            'getCoursesForUser',
 
 1321            array(
'sid' => 
'xsd:string', 
'parameters' => 
'xsd:string'),
 
 1322            array(
'xml' => 
'xsd:string'),
 
 1324            SERVICE_NAMESPACE . 
'#getCoursesForUser',
 
 1327            'ILIAS getTestResults(): returns XMLResultSet with columns ref_id, course xml. $parameters has to contain a column user_id and a column status. Status is a logical AND combined value of (MEMBER = 1, TUTOR = 2, ADMIN = 4, OWNER = 8) and determines which courses should be returned.' 
 1330        $this->server->register(
 
 1332            array(
'sid' => 
'xsd:string', 
'parameters' => 
'xsd:string'),
 
 1333            array(
'xml' => 
'xsd:string'),
 
 1335            SERVICE_NAMESPACE . 
'#getGroupsForUser',
 
 1338            'ILIAS getTestResults(): returns XMLResultSet with columns ref_id, group xml. $parameters has to contain a column user_id and a column status. Status is a logical AND combined value of (MEMBER = 1, TUTOR = 2, OWNER = 4) and determines which groups should be returned.' 
 1341        $this->server->register(
 
 1343            array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int'),
 
 1344            array(
'xml' => 
'xsd:string'),
 
 1346            SERVICE_NAMESPACE . 
'#getPathForRefId',
 
 1349            'ILIAS getPathForRefId(): returns XMLResultSet with columns ref_id, type and title.' 
 1352        $this->server->register(
 
 1354            array(
'sid' => 
'xsd:string', 
'key' => 
'xsd:string', 
'combination' => 
'xsd:string', 
'role_type' => 
'xsd:string'),
 
 1355            array(
'xml' => 
'xsd:string'),
 
 1357            SERVICE_NAMESPACE . 
'#searchRoles',
 
 1360            'ILIAS searchRoles(): returns XML following role dtd with search results for given role type and search terms.' 
 1363        $this->server->register(
 
 1364            'getInstallationInfoXML',
 
 1366            array(
'xml' => 
'xsd:string'),
 
 1368            SERVICE_NAMESPACE . 
'#getInstallationInfoXML',
 
 1371            'ILIAS getInstallationInfoXML(): returns XML following installation_info dtd' 
 1374        $this->server->register(
 
 1376            array(
'clientid' => 
'xsd:string'),
 
 1377            array(
'xml' => 
'xsd:string'),
 
 1379            SERVICE_NAMESPACE . 
'#getClientInfoXML',
 
 1382            'ILIAS getClientInfoXML(): returns XML following installation_info dtd, contains the client the data of given client id' 
 1385        $this->server->register(
 
 1386            'getSkillCompletionDateForTriggerRefId',
 
 1387            array(
'sid' => 
'xsd:string',
 
 1388                                      'user_id' => 
'xsd:string',
 
 1389                                      'ref_id' => 
'xsd:string'),
 
 1390            array(
'dates' => 
'xsd:string'),
 
 1392            SERVICE_NAMESPACE . 
'#getSkillCompletionDateForTriggerRefId',
 
 1395            'ILIAS getSkillCompletionDateForTriggerRefId(). Get completion dates for skill trigger ref ids.' 
 1398        $this->server->register(
 
 1399            'checkSkillUserCertificateForTriggerRefId',
 
 1400            array(
'sid' => 
'xsd:string',
 
 1401                                      'user_id' => 
'xsd:string',
 
 1402                                      'ref_id' => 
'xsd:string'),
 
 1403            array(
'have_certificates' => 
'xsd:string'),
 
 1405            SERVICE_NAMESPACE . 
'#checkSkillUserCertificateForTriggerRefId',
 
 1408            'ILIAS checkSkillUserCertificateForTriggerRefId(). Check user certificates for trigger ref ids.' 
 1411        $this->server->register(
 
 1412            'getSkillTriggerOfAllCertificates',
 
 1413            array(
'sid' => 
'xsd:string',
 
 1414                                      'user_id' => 
'xsd:string'),
 
 1415            array(
'certificate_triggers' => 
'xsd:string'),
 
 1417            SERVICE_NAMESPACE . 
'#getSkillTriggerOfAllCertificates',
 
 1420            'ILIAS getSkillTriggerOfAllCertificates(). Check get all trigger with certificate for a user.' 
 1423        $this->server->register(
 
 1425            array(
'sid' => 
'xsd:string'),
 
 1426            array(
'usr_id' => 
'xsd:int'),
 
 1428            SERVICE_NAMESPACE . 
'#getUserIdBySid',
 
 1431            'ILIAS getUserIdBySid(): returns an ILIAS usr_id for the given sid' 
 1434        $this->server->register(
 
 1435            'deleteExpiredDualOptInUserObjects',
 
 1436            array(
'sid' => 
'xsd:string',
 
 1437                                      'usr_id' => 
'xsd:int'),
 
 1438            array(
'status' => 
'xsd:boolean'),
 
 1440            SERVICE_NAMESPACE . 
'#deleteExpiredDualOptInUserObjects',
 
 1443            'ILIAS deleteExpiredDualOptInUserObjects(): Deletes expired user accounts caused by unconfirmed registration links in "dual opt in" registration method' 
 1447        $this->server->register(
 
 1449            array(
'sid' => 
'xsd:string', 
"ref_id" => 
'xsd:int'),
 
 1450            array(
'weblinkxml' => 
'xsd:string'),
 
 1452            SERVICE_NAMESPACE . 
'#readWebLink',
 
 1455            'ILIAS readWebLink(): returns xml description of a weblink container.' 
 1458        $this->server->register(
 
 1460            array(
'sid' => 
'xsd:string', 
"target_id" => 
'xsd:int', 
"xml" => 
"xsd:string"),
 
 1461            array(
'refid' => 
'xsd:int'),
 
 1463            SERVICE_NAMESPACE . 
'#createWebLink',
 
 1466            'ILIAS createWebLink(): create web link container, put it into target (ref_id) and update weblink container from xml (see ilias_weblink_4_0.dtd for details). Obj_id must not be set!' 
 1469        $this->server->register(
 
 1471            array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int', 
'xml' => 
'xsd:string'),
 
 1472            array(
'success' => 
'xsd:boolean'),
 
 1474            SERVICE_NAMESPACE . 
'#updateWebLink',
 
 1477            'ILIAS updateWebLink():update existing weblink, update weblink properties from xml (see ilias_weblink_4_0.dtd for details).' 
 1481        $this->server->register(
 
 1482            'getLearningProgressChanges',
 
 1483            array(
'sid' => 
'xsd:string', 
'timestamp' => 
'xsd:string', 
'include_ref_ids' => 
'xsd:boolean', 
'type_filter' => 
'tns:stringArray'),
 
 1484            array(
'lp_data' => 
'xsd:string'),
 
 1486            SERVICE_NAMESPACE . 
'#getLearningProgressChanges',
 
 1489            'ILIAS getLearningProgressChanges(): Get learning progress changes after a given timestamp.' 
 1495        $this->server->register(
 
 1498                    'sid' => 
'xsd:string',
 
 1499                    'ref_ids' => 
'tns:intArray',
 
 1500                    'usr_ids' => 
'tns:intArray',
 
 1501                    'type_filter' => 
'tns:stringArray',
 
 1502                    'progress_filter' => 
'tns:intArray' 
 1504            array(
'status' => 
'xsd:boolean'),
 
 1506            SERVICE_NAMESPACE . 
'#deleteProgress',
 
 1509            'Delete user progress data of objects. ' 
 1513        $this->server->register(
 
 1516                'sid' => 
'xsd:string',
 
 1517                'ref_id' => 
'xsd:int',
 
 1518                'progress_filter' => 
'tns:intArray' 
 1520            array(
'user_results' => 
'xsd:string'),
 
 1522            SERVICE_NAMESPACE . 
'#getProgressInfo',
 
 1525            'Get object learning progress information' 
 1529        $this->server->register(
 
 1530            'exportDataCollectionContent',
 
 1532                'sid' => 
'xsd:string',
 
 1533                'ref_id' => 
'xsd:int',
 
 1534                'table_id' => 
'xsd:int',
 
 1535                'format' => 
'xsd:string',
 
 1536                'filepath' => 
'xsd:string' 
 1538            array(
'export_path' => 
'xsd:string'),
 
 1540            SERVICE_NAMESPACE . 
'#exportDataCollectionTableContent',
 
 1543            'Generate DataCollectionContent Export' 
 1546        $this->server->register(
 
 1547            'processBackgroundTask',
 
 1549                'sid' => 
'xsd:string',
 
 1550                'task_id' => 
'xsd:int' 
 1552            array(
'status' => 
'xsd:boolean'),
 
 1554            SERVICE_NAMESPACE . 
'#processBackgroundTask',
 
 1557            'Process task in background' 
 1560        $this->server->register(
 
 1563                'sid' => 
'xsd:string',
 
 1564                'user_id' => 
'xsd:int',
 
 1565                'reference_ids' => 
'tns:intArray' 
 1568                'num_added' => 
'xsd:int' 
 1571            SERVICE_NAMESPACE . 
'#addDesktopItems',
 
 1574            'Add desktop items for user' 
 1577        $this->server->register(
 
 1578            'removeDesktopItems',
 
 1580                'sid' => 
'xsd:string',
 
 1581                'user_id' => 
'xsd:int',
 
 1582                'reference_ids' => 
'tns:intArray' 
 1585                'num_added' => 
'xsd:int' 
 1588            SERVICE_NAMESPACE . 
'#removeDesktopItems',
 
 1591            'Remove desktop items for user' 
 1595        if (isset(
$_GET[
'client_id'])) {
 
 1615        $ilPluginAdmin = 
$DIC[
'ilPluginAdmin'];
 
 1617        foreach ($soapHook->getWsdlTypes() as 
$type) {
 
 1618            $this->server->wsdl->addComplexType(
 
 1620                $type->getTypeClass(),
 
 1621                $type->getPhpType(),
 
 1622                $type->getCompositor(),
 
 1623                $type->getRestrictionBase(),
 
 1624                $type->getElements(),
 
 1625                $type->getAttributes(),
 
 1626                $type->getArrayType()
 
 1629        foreach ($soapHook->getSoapMethods() as $method) {
 
 1630            $this->server->register(
 
 1632                $method->getInputParams(),
 
 1633                $method->getOutputParams(),
 
 1634                $method->getServiceNamespace(),
 
 1635                $method->getServiceNamespace() . 
'#' . $method->getName(),
 
 1636                $method->getServiceStyle(),
 
 1637                $method->getServiceUse(),
 
 1638                $method->getDocumentation()
 
An exception for terminatinating execution or to throw for unit testing.
const CONTEXT_SOAP_NO_AUTH
static init($a_type)
Init context by type.
static initILIAS()
ilias initialisation
__construct($a_use_wsdl=true)
handleSoapPlugins()
Register any methods and types of SOAP plugins to the SOAP server.
soap_server allows the user to create a SOAP server that is capable of receiving messages and returni...