34 include_once 
'./webservice/soap/lib/nusoap.php';
 
   35 include_once 
'./webservice/soap/include/inc.soap_functions.php';
 
   47                 define(
'SERVICE_NAME',
'ILIASSoapWebservice');
 
   48                 define(
'SERVICE_NAMESPACE',
'urn:ilUserAdministration');
 
   49                 define(
'SERVICE_STYLE',
'rpc');
 
   50                 define(
'SERVICE_USE',
'encoded');
 
   51                 #global $debug; $debug = true; 
   53                 $this->server->decode_utf8 = 
false;
 
   54                 $this->server->class = 
"ilSoapFunctions";
 
   70                 $this->server->service($HTTP_RAW_POST_DATA);
 
   77                 $this->server->configureWSDL(SERVICE_NAME,SERVICE_NAMESPACE);
 
   87                 $this->server->wsdl->addComplexType(
'intArray',
 
   93                                                                                         array(array(
'ref'=>
'SOAP-ENC:arrayType',
'wsdl:arrayType'=>
'xsd:int[]')),
 
   96                 $this->server->wsdl->addComplexType(
'stringArray',
 
  102                                                                                         array(array(
'ref'=>
'SOAP-ENC:arrayType',
'wsdl:arrayType'=>
'xsd:string[]')),
 
  105                 $this->server->wsdl->addComplexType(
'doubleArray',
 
  111                                                                                         array(array(
'ref'=>
'SOAP-ENC:arrayType',
'wsdl:arrayType'=>
'xsd:double[]')),
 
  117                 $this->server->register(
'login',
 
  118                                                                 array(
'client' => 
'xsd:string',
 
  119                                                                           'username' => 
'xsd:string',
 
  120                                                                           'password' => 
'xsd:string'),
 
  121                                                                 array(
'sid' => 
'xsd:string'),
 
  123                                                                 SERVICE_NAMESPACE.
'#login',
 
  126                                                                 'ILIAS login function');
 
  129                 $this->server->register(
'loginCAS',
 
  130                                                                 array(
'client' => 
'xsd:string',
 
  131                                                                           'PT' => 
'xsd:string',
 
  132                                                                           'user' => 
'xsd:string'),
 
  133                                                                 array(
'sid' => 
'xsd:string'),
 
  135                                                                 SERVICE_NAMESPACE.
'#loginCAS',
 
  138                                                                 'ILIAS login function via CAS');
 
  140                 $this->server->register(
'loginLDAP',
 
  141                                                                 array(
'client' => 
'xsd:string',
 
  142                                                                           'username' => 
'xsd:string',
 
  143                                                                           'password' => 
'xsd:string'),
 
  144                                                                 array(
'sid' => 
'xsd:string'),
 
  146                                                                 SERVICE_NAMESPACE.
'#login',
 
  149                                                                 'ILIAS login function via LDAP');
 
  154                 $this->server->register(
'logout',
 
  155                                                                 array(
'sid' => 
'xsd:string'),
 
  156                                                                 array(
'success' => 
'xsd:boolean'),
 
  158                                                                 SERVICE_NAMESPACE.
'#logout',
 
  161                                                                 'ILIAS logout function');
 
  163                 $this->server->wsdl->addComplexType(
'ilUserData',
 
  168                                                                                         array(
'usr_id' => array(
'name' => 
'usr_id',
'type' => 
'xsd:int'),
 
  169                                                                                                   'login' => array(
'name' => 
'login', 
'type' => 
'xsd:string'),
 
  170                                                                                                   'passwd' => array(
'name' => 
'passwd', 
'type' => 
'xsd:string'),
 
  171                                                                                                   'firstname' => array(
'name' => 
'firstname', 
'type' => 
'xsd:string'),
 
  172                                                                                                   'lastname' => array(
'name' => 
'lastname', 
'type' => 
'xsd:string'),
 
  173                                                                                                   'title' => array(
'name' => 
'title', 
'type' => 
'xsd:string'),
 
  174                                                                                                   'gender' => array(
'name' => 
'gender', 
'type' => 
'xsd:string'),
 
  175                                                                                                   'email' => array(
'name' => 
'email', 
'type' => 
'xsd:string'),
 
  176                                                                                                   'institution' => array(
'name' => 
'institution', 
'type' => 
'xsd:string'),
 
  177                                                                                                   'street' => array(
'name' => 
'street', 
'type' => 
'xsd:string'),
 
  178                                                                                                   'city' => array(
'name' => 
'city', 
'type' => 
'xsd:string'),
 
  179                                                                                                   'zipcode' => array(
'name' => 
'zipcode', 
'type' => 
'xsd:string'),
 
  180                                                                                                   'country' => array(
'name' => 
'country', 
'type' => 
'xsd:string'),
 
  181                                                                                                   'phone_office' => array(
'name' => 
'phone_office', 
'type' => 
'xsd:string'),
 
  182                                                                                                   'last_login' => array(
'name' => 
'last_login', 
'type' => 
'xsd:string'),
 
  183                                                                                                   'last_update' => array(
'name' => 
'last_update', 
'type' => 
'xsd:string'),
 
  184                                                                                                   'create_date' => array(
'name' => 
'create_date', 
'type' => 
'xsd:string'),
 
  185                                                                                                   'hobby' => array(
'name' => 
'hobby', 
'type' => 
'xsd:string'),
 
  186                                                                                                   'department' => array(
'name' => 
'department', 
'type' => 
'xsd:string'),
 
  187                                                                                                   'phone_home' => array(
'name' => 
'phone_home', 
'type' => 
'xsd:string'),
 
  188                                                                                                   'phone_mobile' => array(
'name' => 
'phone_mobile', 
'type' => 
'xsd:string'),
 
  189                                                                                                   'fax' => array(
'name' => 
'fax', 
'type' => 
'xsd:string'),
 
  190                                                                                                   'time_limit_owner' => array(
'name' => 
'time_limit_owner', 
'type' => 
'xsd:int'),
 
  191                                                                                                   'time_limit_unlimited' => array(
'name' => 
'time_limit_unlimited', 
'type' => 
'xsd:int'),
 
  192                                                                                                   'time_limit_from' => array(
'name' => 
'time_limit_from', 
'type' => 
'xsd:int'),
 
  193                                                                                                   'time_limit_until' => array(
'name' => 
'time_limit_until', 
'type' => 
'xsd:int'),
 
  194                                                                                                   'time_limit_message' => array(
'name' => 
'time_limit_message', 
'type' => 
'xsd:int'),
 
  195                                                                                                   'referral_comment' => array(
'name' => 
'referral_comment', 
'type' => 
'xsd:string'),
 
  196                                                                                                   'matriculation' => array(
'name' => 
'matriculation', 
'type' => 
'xsd:string'),
 
  197                                                                                                   'active' => array(
'name' => 
'active', 
'type' => 
'xsd:int'),
 
  198                                                                                                   'accepted_agreement' => array(
'name' => 
'accepted_agreement',
'type' => 
'xsd:boolean'),
 
  199                                                                                                   'approve_date' => array(
'name' => 
'approve_date', 
'type' => 
'xsd:string'),
 
  200                                                                                                   'user_skin' => array(
'name' => 
'user_skin', 
'type' => 
'xsd:string'),
 
  201                                                                                                   'user_style' => array(
'name' => 
'user_style', 
'type' => 
'xsd:string'),
 
  202                                                                                                   'user_language' => array(
'name' => 
'user_language', 
'type' => 
'xsd:string'),
 
  203                                                                                                   'import_id' => array(
'name' => 
'import_id', 
'type' => 
'xsd:string')
 
  208                 $this->server->register(
'lookupUser',
 
  209                                                                 array(
'sid' => 
'xsd:string',
 
  210                                                                           'user_name' => 
'xsd:string'),
 
  211                                                                 array(
'usr_id' => 
'xsd:int'),
 
  213                                                                 SERVICE_NAMESPACE.
'#lookupUser',
 
  216                                                                 'ILIAS lookupUser(): check if username exists. Return usr_id or 0 if lookup fails.');
 
  220                 $this->server->register(
'getUser',
 
  221                                                                 array(
'sid' => 
'xsd:string',
 
  222                                                                           'user_id' => 
'xsd:int'),
 
  223                                                                 array(
'user_data' => 
'tns:ilUserData'),
 
  225                                                                 SERVICE_NAMESPACE.
'#getUser',
 
  228                                                                 'ILIAS getUser(): get complete set of user data.');
 
  230                 $this->server->register(
'updateUser',
 
  231                                                                 array(
'sid' => 
'xsd:string',
 
  232                                                                           'user_data' => 
'tns:ilUserData'),
 
  233                                                                 array(
'success' => 
'xsd:boolean'),
 
  235                                                                 SERVICE_NAMESPACE.
'#updateUser',
 
  238                                                                 'ILIAS updateUser(). DEPRECATED: Use importUsers() for modifications of user data. Updates all user data. '.
 
  239                                                                 'Use getUser(), then modify desired fields and finally start the updateUser() call.');
 
  241                 $this->server->register(
'updatePassword',
 
  242                                                                 array(
'sid' => 
'xsd:string',
 
  243                                                                           'user_id' => 
'xsd:int',
 
  244                                                                           'new_password' => 
'xsd:string'),
 
  245                                                                 array(
'success' => 
'xsd:boolean'),
 
  247                                                                 SERVICE_NAMESPACE.
'#updatePassword',
 
  250                                                                 'ILIAS updatePassword(). Updates password of given user. Password must be MD5 hash');
 
  254                 $this->server->register(
'addUser',
 
  255                                                                 array(
'sid' => 
'xsd:string',
 
  256                                                                           'user_data' => 
'tns:ilUserData',
 
  257                                                                           'global_role_id' => 
'xsd:int'),
 
  258                                                                 array(
'user_id' => 
'xsd:int'),
 
  260                                                                 SERVICE_NAMESPACE.
'#addUser',
 
  263                                                                 'ILIAS addUser() user. DEPRECATED: Since it is not possible to add new user data fields '.
 
  264                                                                 'without breaking the backward compatability, this method is deprecated. Please use importUser() instead. '.
 
  265                                                                 'Add new ILIAS user. Requires complete or subset of user_data structure');
 
  268                 $this->server->register(
'deleteUser',
 
  269                                                                 array(
'sid' => 
'xsd:string',
 
  270                                                                           'user_id' => 
'xsd:int'),
 
  271                                                                 array(
'success' => 
'xsd:boolean'),
 
  273                                                                 SERVICE_NAMESPACE.
'#deleteUser',
 
  276                                                                 'ILIAS deleteUser(). Deletes all user related data (Bookmarks, Mails ...)');
 
  279                 $this->server->register(
'addCourse',
 
  280                                                                 array(
'sid' => 
'xsd:string',
 
  281                                                                           'target_id' => 
'xsd:int',
 
  282                                                                           'crs_xml' => 
'xsd:string'),
 
  283                                                                 array(
'course_id' => 
'xsd:int'),
 
  285                                                                 SERVICE_NAMESPACE.
'#addCourse',
 
  288                                                                 'ILIAS addCourse(). Course import. See ilias_course_0_1.dtd for details about course xml structure');
 
  291                 $this->server->register(
'deleteCourse',
 
  292                                                                 array(
'sid' => 
'xsd:string',
 
  293                                                                           'course_id' => 
'xsd:int'),
 
  294                                                                 array(
'success' => 
'xsd:boolean'),
 
  296                                                                 SERVICE_NAMESPACE.
'#deleteCourse',
 
  299                                                                 'ILIAS deleteCourse(). Deletes a course. Delete courses are stored in "Trash" and can be undeleted in '.
 
  300                                                                 ' the ILIAS administration. ');
 
  302                 $this->server->register(
'assignCourseMember',
 
  303                                                                 array(
'sid' => 
'xsd:string',
 
  304                                                                           'course_id' => 
'xsd:int',
 
  305                                                                           'user_id' => 
'xsd:int',
 
  306                                                                           'type' => 
'xsd:string'),
 
  307                                                                 array(
'success' => 
'xsd:boolean'),
 
  309                                                                 SERVICE_NAMESPACE.
'#assignCourseMember',
 
  312                                                                 'ILIAS assignCourseMember(). Assigns an user to an existing course. Type should be "Admin", "Tutor" or "Member"');
 
  315                 $this->server->register(
'excludeCourseMember',
 
  316                                                                 array(
'sid' => 
'xsd:string',
 
  317                                                                           'course_id' => 
'xsd:int',
 
  318                                                                           'user_id' => 
'xsd:int'),
 
  319                                                                 array(
'success' => 
'xsd:boolean'),
 
  321                                                                 SERVICE_NAMESPACE.
'#excludeCourseMember',
 
  324                                                                 'ILIAS excludeCourseMember(). Excludes an user from an existing course.');
 
  327                 $this->server->register(
'isAssignedToCourse',
 
  328                                                                 array(
'sid' => 
'xsd:string',
 
  329                                                                           'course_id' => 
'xsd:int',
 
  330                                                                           'user_id' => 
'xsd:int'),
 
  331                                                                 array(
'role' => 
'xsd:int'),
 
  333                                                                 SERVICE_NAMESPACE.
'#isAssignedToCourse',
 
  336                                                                 'ILIAS isAssignedToCourse(). Checks whether an user is assigned to a given course. '.
 
  337                                                                 'Returns 0 => not assigned, 1 => course admin, 2 => course member or 3 => course tutor');
 
  340                 $this->server->register(
'getCourseXML',
 
  341                                                                 array(
'sid' => 
'xsd:string',
 
  342                                                                           'course_id' => 
'xsd:int'),
 
  343                                                                 array(
'xml' => 
'xsd:string'),
 
  345                                                                 SERVICE_NAMESPACE.
'#getCourseXML',
 
  348                                                                 'ILIAS getCourseXML(). Get a xml description of a specific course.');
 
  351                 $this->server->register(
'updateCourse',
 
  352                                                                 array(
'sid' => 
'xsd:string',
 
  353                                                                           'course_id' => 
'xsd:int',
 
  354                                                                           'xml' => 
'xsd:string'),
 
  355                                                                 array(
'success' => 
'xsd:boolean'),
 
  357                                                                 SERVICE_NAMESPACE.
'#updateCourse',
 
  360                                                                 'ILIAS updateCourse(). Update course settings, assigned members, tutors, administrators with a '.
 
  361                                                                 'given xml description');
 
  364                 $this->server->register(
'getObjIdByImportId',
 
  365                                                                 array(
'sid' => 
'xsd:string',
 
  366                                                                           'import_id' => 
'xsd:string'),
 
  367                                                                 array(
'obj_id' => 
'xsd:int'),
 
  369                                                                 SERVICE_NAMESPACE.
'#getCourseIdByImportId',
 
  372                                                                 'ILIAS getObjIdByImportId(). Get the obj_id of an ILIAS obj by a given import id.');
 
  376                 $this->server->register(
'getRefIdsByImportId',
 
  377                                                                 array(
'sid' => 
'xsd:string',
 
  378                                                                           'import_id' => 
'xsd:string'),
 
  379                                                                 array(
'ref_ids' => 
'tns:intArray'),
 
  381                                                                 SERVICE_NAMESPACE.
'#getRefIdsByImportId',
 
  384                                                                 'ILIAS getRefIdsByImportId(). Get all reference ids by a given import id.');
 
  387                 $this->server->register(
'getRefIdsByObjId',
 
  388                                                                 array(
'sid' => 
'xsd:string',
 
  389                                                                           'obj_id' => 
'xsd:string'),
 
  390                                                                 array(
'ref_ids' => 
'tns:intArray'),
 
  392                                                                 SERVICE_NAMESPACE.
'#getRefIdsByObjId',
 
  395                                                                 'ILIAS getRefIdsByObjId(). Get all reference ids by a given object id.');
 
  398                 $this->server->register(
'getObjectByReference',
 
  399                                                                 array(
'sid' => 
'xsd:string',
 
  400                                                                           'reference_id' => 
'xsd:int',
 
  401                                                                           'user_id' => 
'xsd:int'),
 
  402                                                                 array(
'object_xml' => 
'xsd:string'),
 
  404                                                                 SERVICE_NAMESPACE.
'#getObjectByReference',
 
  407                                                                 'ILIAS getObjectByReference(). Get XML-description of an ILIAS object. If a user id is given, '.
 
  408                                                                 'this methods also checks the permissions of that user on the object.');
 
  410                 $this->server->register(
'getObjectsByTitle',
 
  411                                                                 array(
'sid' => 
'xsd:string',
 
  412                                                                           'title' => 
'xsd:string',
 
  413                                                                           'user_id' => 
'xsd:int'),
 
  414                                                                 array(
'object_xml' => 
'xsd:string'),
 
  416                                                                 SERVICE_NAMESPACE.
'#getObjectsByTitle',
 
  419                                                                 'ILIAS getObjectsByTitle(). Get XML-description of an ILIAS object with given title. '.
 
  420                                                                 'If a user id is given this method also checks the permissions of that user on the object.');
 
  422                 $this->server->register(
'searchObjects',
 
  423                                                                 array(
'sid' => 
'xsd:string',
 
  424                                                                           'types' => 
'tns:stringArray',
 
  425                                                                           'key' => 
'xsd:string',
 
  426                                                                           'combination' => 
'xsd:string',
 
  427                                                                           'user_id' => 
'xsd:int'),
 
  428                                                                 array(
'object_xml' => 
'xsd:string'),
 
  430                                                                 SERVICE_NAMESPACE.
'#searchObjects',
 
  433                                                                 'ILIAS searchObjects(): Searches for objects. Key is within "title" or "description" '.
 
  434                                                                 'Typical calls are searchObject($sid,array("lm","crs"),"\"this and that\"","and"); '.
 
  435                                                                 ' If an optional user id is given, this methods also return the permissions for that user '.
 
  436                                                                 'on the found objects');
 
  438                 $this->server->register(
'getTreeChilds',
 
  439                                                                 array(
'sid' => 
'xsd:string',
 
  440                                                                           'ref_id' => 
'xsd:int',
 
  441                                                                           'types' => 
'tns:stringArray',
 
  442                                                                           'user_id' => 
'xsd:int'),
 
  443                                                                 array(
'object_xml' => 
'xsd:string'),
 
  445                                                                 SERVICE_NAMESPACE.
'#getTreeChilds',
 
  448                                                                 'ILIAS getTreeChilds(): Get all child objects of a given object.'.
 
  449                                                                 'Choose array of types to filter the output. Choose empty type array to receive all object types');
 
  451                 $this->server->register(
'getXMLTree',
 
  452                                         array(
'sid' => 
'xsd:string',
 
  453                                               'ref_id' => 
'xsd:int',
 
  454                                               'types' => 
'tns:stringArray',
 
  455                                               'user_id' => 
'xsd:int'),
 
  456                                         array(
'object_xml' => 
'xsd:string'),
 
  458                                         SERVICE_NAMESPACE.
'#getXMLTree',
 
  461                                         'ILIAS getXMLTree(): Returns a xml stream with the subtree objects.');
 
  465                 $this->server->register(
'addObject',
 
  466                                                                 array(
'sid' => 
'xsd:string',
 
  467                                                                           'target_id' => 
'xsd:int',
 
  468                                                                           'object_xml' => 
'xsd:string'),
 
  469                                                                 array(
'ref_id' => 
'xsd:int'),
 
  471                                                                 SERVICE_NAMESPACE.
'#addObject',
 
  474                                                                 'ILIAS addObject. Create new object based on xml description under a given node '.
 
  475                                                                 '("category,course,group or folder). Return created reference id of the new object.' );
 
  477                 $this->server->register(
'updateObjects',
 
  478                                                                 array(
'sid' => 
'xsd:string',
 
  479                                                                           'object_xml' => 
'xsd:string'),
 
  480                                                                 array(
'success' => 
'xsd:boolean'),
 
  482                                                                 SERVICE_NAMESPACE.
'#updateObjects',
 
  485                                                                 'ILIAS updateObjects. Update object data (title,description,owner)');
 
  487                 $this->server->register(
'addReference',
 
  488                                                                 array(
'sid' => 
'xsd:string',
 
  489                                                                           'source_id' => 
'xsd:int',
 
  490                                                                           'target_id' => 
'xsd:int'),
 
  491                                                                 array(
'ref_id' => 
'xsd:int'),
 
  493                                                                 SERVICE_NAMESPACE.
'#addReference',
 
  496                                                                 'ILIAS addReference. Create new link of given object to new object. Return the new reference id');
 
  498                 $this->server->register(
'deleteObject',
 
  499                                                                 array(
'sid' => 
'xsd:string',
 
  500                                                                           'reference_id' => 
'xsd:int'),
 
  501                                                                 array(
'success' => 
'xsd:boolean'),
 
  503                                                                 SERVICE_NAMESPACE.
'#deleteObject',
 
  506                                                                 'ILIAS deleteObject. Stores object in trash. If multiple references exist, only the reference is deleted ');
 
  509                 $this->server->register(
'removeFromSystemByImportId',
 
  510                                                                 array(
'sid' => 
'xsd:string',
 
  511                                                                           'import_id' => 
'xsd:string'),
 
  512                                                                 array(
'success' => 
'xsd:boolean'),
 
  514                                                                 SERVICE_NAMESPACE.
'#removeFromSystemByImportId',
 
  517                                                                 'ILIAS removeFromSystemByImportId(). Removes an object identified by its import id permanently from the '.
 
  518                                                                 'system. All data will be deleted. There will be no possibility to restore it from the trash. Do not use '.
 
  519                                                                 'this function for deleting roles or users. Use deleteUser() or deleteRole() instead.');
 
  521                 $this->server->register(
'addUserRoleEntry',
 
  522                                                                 array(
'sid' => 
'xsd:string',
 
  523                                                                           'user_id' => 
'xsd:int',
 
  524                                                                           'role_id' => 
'xsd:int'),
 
  525                                                                 array(
'success' => 
'xsd:boolean'),
 
  527                                                                 SERVICE_NAMESPACE.
'#addUserRoleEntry',
 
  530                                                                 'ILIAS addUserRoleEntry. Assign user to role.');
 
  532                 $this->server->register(
'deleteUserRoleEntry',
 
  533                                                                 array(
'sid' => 
'xsd:string',
 
  534                                                                           'user_id' => 
'xsd:int',
 
  535                                                                           'role_id' => 
'xsd:int'),
 
  536                                                                 array(
'success' => 
'xsd:boolean'),
 
  538                                                                 SERVICE_NAMESPACE.
'#deleteUserRoleEntry',
 
  541                                                                 'ILIAS deleteUserRoleEntry. Deassign user from role.');
 
  545                 $this->server->wsdl->addComplexType(
'ilOperation',
 
  550                                                                                         array(
'ops_id' => array(
'name' => 
'ops_id',
 
  551                                                                                                                                         'type' => 
'xsd:int'),
 
  552                                                                                                   'operation' => array(
'name' => 
'operation',
 
  553                                                                                                                                            'type' => 
'xsd:string'),
 
  554                                                                                                   'description' => array(
'name' => 
'description',
 
  555                                                                                                                                                  'type' => 
'xsd:string')));
 
  557                 $this->server->wsdl->addComplexType(
'ilOperations',
 
  563                                                                                         array(array(
'ref' => 
'SOAP-ENC:arrayType',
 
  564                                                                                                                 'wsdl:arrayType' => 
'tns:ilOperation[]')),
 
  566                 $this->server->register(
'getOperations',
 
  567                                                                 array(
'sid' => 
'xsd:string'),
 
  568                                                                 array(
'operations' => 
'tns:ilOperations'),
 
  570                                                                 SERVICE_NAMESPACE.
'#getOperations',
 
  573                                                                 'ILIAS getOperations(): get complete set of RBAC operations.');
 
  575                 $this->server->register(
'revokePermissions',
 
  576                                                                 array(
'sid' => 
'xsd:string',
 
  577                                                                           'ref_id' => 
'xsd:int',
 
  578                                                                           'role_id' => 
'xsd:int'),
 
  579                                                                 array(
'success' => 
'xsd:boolean'),
 
  581                                                                 SERVICE_NAMESPACE.
'#revokePermissions',
 
  584                                                                 'ILIAS revokePermissions(): Revoke all permissions for a specific role on an object.');
 
  586                 $this->server->wsdl->addComplexType(
'ilOperationIds',
 
  592                                                                                         array(array(
'ref' => 
'SOAP-ENC:arrayType',
 
  593                                                                                                                 'wsdl:arrayType' => 
'xsd:int[]')),
 
  596                 $this->server->register(
'grantPermissions',
 
  597                                                                 array(
'sid' => 
'xsd:string',
 
  598                                                                           'ref_id' => 
'xsd:int',
 
  599                                                                           'role_id' => 
'xsd:int',
 
  600                                                                           'operations' => 
'tns:intArray'),
 
  601                                                                 array(
'success' => 
'xsd:boolean'),
 
  603                                                                 SERVICE_NAMESPACE.
'#grantPermissions',
 
  606                                                                 'ILIAS grantPermissions(): Grant permissions for a specific role on an object. '.
 
  607                                                                 '(Substitutes existing permission settings)');
 
  609                 $this->server->register(
'getLocalRoles',
 
  610                                                                 array(
'sid' => 
'xsd:string',
 
  611                                                                           'ref_id' => 
'xsd:int'),
 
  612                                                                 array(
'role_xml' => 
'xsd:string'),
 
  614                                                                 SERVICE_NAMESPACE.
'#getLocalRoles',
 
  617                                                                 'ILIAS getLocalRoles(): Get all local roles assigned to an specific object.');
 
  619                 $this->server->register(
'getUserRoles',
 
  620                                                                 array(
'sid' => 
'xsd:string',
 
  621                                                                           'user_id' => 
'xsd:int'),
 
  622                                                                 array(
'role_xml' => 
'xsd:string'),
 
  624                                                                 SERVICE_NAMESPACE.
'#getLocalRoles',
 
  627                                                                 'ILIAS getUserRoles(): Get all local roles assigned to an specific user. ');
 
  629                 $this->server->register(
'addRole',
 
  630                                                                 array(
'sid' => 
'xsd:string',
 
  631                                                                           'target_id' => 
'xsd:int',
 
  632                                                                           'obj_xml' => 
'xsd:string'),
 
  633                                                                 array(
'role_ids' => 
'tns:intArray'),
 
  635                                                                 SERVICE_NAMESPACE.
'#addRole',
 
  638                                                                 'ILIAS addRole(): Creates new role under given node. "target_id" is the reference id of an ILIAS '.
 
  639                                                                 'ILIAS object. E.g ref_id of crs,grp. If no role folder exists, a new role folder will be created.');
 
  641                 $this->server->register(
'deleteRole',
 
  642                                                                 array(
'sid' => 
'xsd:string',
 
  643                                                                           'role_id' => 
'xsd:int'),
 
  644                                                                 array(
'success' => 
'xsd:boolean'),
 
  646                                                                 SERVICE_NAMESPACE.
'#deleteRole',
 
  649                                                                 'ILIAS deleteRole(): Deletes an role and all user assignments. Fails if it is the last role of an user');
 
  651                 $this->server->register(
'addRoleFromTemplate',
 
  652                                                                 array(
'sid' => 
'xsd:string',
 
  653                                                                           'target_id' => 
'xsd:int',
 
  654                                                                           'obj_xml' => 
'xsd:string',
 
  655                                                                           'role_template_id' => 
'xsd:int'),
 
  656                                                                 array(
'role_ids' => 
'tns:intArray'),
 
  658                                                                 SERVICE_NAMESPACE.
'#addRole',
 
  661                                                                 'ILIAS addRole(): Creates new role under given node. "target_id" is the reference id of an ILIAS '.
 
  662                                                                 'ILIAS object. E.g ref_id of crs,grp. If no role folder exists, a new role folder will be created. '.
 
  663                                                                 'In addition to addRole the template permissions will be copied from the given role template');
 
  665                 $this->server->register(
'getObjectTreeOperations',
 
  666                                                                 array(
'sid' => 
'xsd:string',
 
  667                                                                           'ref_id' => 
'xsd:int',
 
  668                                                                           'user_id' => 
'xsd:int'),
 
  669                                                                 array(
'operations' => 
'tns:ilOperations'),
 
  671                                                                 SERVICE_NAMESPACE.
'#getPermissionsForObject',
 
  674                                                                 'ILIAS getObjectTreeOperations(): Get all granted permissions for all references of '.
 
  675                                                                 'an object for a specific user. Returns array of granted operations or empty array');
 
  677                 $this->server->register(
'addGroup',
 
  678                                                                 array(
'sid' => 
'xsd:string',
 
  679                                                                           'target_id' => 
'xsd:int',
 
  680                                                                           'group_xml' => 
'xsd:string'),
 
  681                                                                 array(
'ref_id' => 
'xsd:int'),
 
  683                                                                 SERVICE_NAMESPACE.
'#addGroup',
 
  686                                                                 'ILIAS addGroup(): Add grop according to valid group XML '.
 
  687                                                                 '@See ilias_group_0_1.dtd');
 
  689                 $this->server->register(
'groupExists',
 
  690                                                                 array(
'sid' => 
'xsd:string',
 
  691                                                                           'title' => 
'xsd:string'),
 
  692                                                                 array(
'exists' => 
'xsd:boolean'),
 
  694                                                                 SERVICE_NAMESPACE.
'#groupExists',
 
  697                                                                 'ILIAS addGroup(): Check if group with given name exists. ');
 
  701                 $this->server->register(
'getGroup',
 
  702                                                                 array(
'sid' => 
'xsd:string',
 
  703                                                                           'ref_id' => 
'xsd:int'),
 
  704                                                                 array(
'group_xml' => 
'xsd:string'),
 
  706                                                                 SERVICE_NAMESPACE.
'#getGroup',
 
  709                                                                 'ILIAS getGroup(): get xml description of grouip with given reference id.');
 
  712                 $this->server->register(
'assignGroupMember',
 
  713                                                                 array(
'sid' => 
'xsd:string',
 
  714                                                                           'group_id' => 
'xsd:int',
 
  715                                                                           'user_id' => 
'xsd:int',
 
  716                                                                           'type' => 
'xsd:string'),
 
  717                                                                 array(
'success' => 
'xsd:boolean'),
 
  719                                                                 SERVICE_NAMESPACE.
'#assignGroupMember',
 
  722                                                                 'ILIAS assignGroupMember(). Assigns an user to an existing group. Type should be "Admin","Member"');
 
  725                 $this->server->register(
'excludeGroupMember',
 
  726                                                                 array(
'sid' => 
'xsd:string',
 
  727                                                                           'group_id' => 
'xsd:int',
 
  728                                                                           'user_id' => 
'xsd:int'),
 
  729                                                                 array(
'success' => 
'xsd:boolean'),
 
  731                                                                 SERVICE_NAMESPACE.
'#excludeGroupMember',
 
  734                                                                 'ILIAS excludeGroupMember(). Excludes an user from an existing group.');
 
  737                 $this->server->register(
'isAssignedToGroup',
 
  738                                                                 array(
'sid' => 
'xsd:string',
 
  739                                                                           'group_id' => 
'xsd:int',
 
  740                                                                           'user_id' => 
'xsd:int'),
 
  741                                                                 array(
'role' => 
'xsd:int'),
 
  743                                                                 SERVICE_NAMESPACE.
'#isAssignedToGroup',
 
  746                                                                 'ILIAS isAssignedToGroup(). Checks whether an user is assigned to a given group. '.
 
  747                                                                 'Returns 0 => not assigned, 1 => group admin, 2 => group member');
 
  752                 $this->server->register(
'sendMail',
 
  753                                                                 array(
'sid' => 
'xsd:string',
 
  754                                                                           'rcp_to' => 
'xsd:string',
 
  755                                                                           'rcp_cc' => 
'xsd:string',
 
  756                                                                           'rcp_bcc' => 
'xsd:string',
 
  757                                                                           'sender' => 
'xsd:string',
 
  758                                                                           'subject' => 
'xsd:string',
 
  759                                                                           'message' => 
'xsd:string',
 
  760                                                                           'attachments' => 
'xsd:string'),
 
  761                                                                 array(
'status' => 
'xsd:boolean'),
 
  763                                                                 SERVICE_NAMESPACE.
'#sendMail',
 
  766                                                                 'ILIAS sendMail(): Send mime mails according to xml description. Only for internal usage '.
 
  767                                                                 'Syntax, parameters may change in future releases');
 
  769                 $this->server->register(
'distributeMails',
 
  770                                                                 array(
'sid' => 
'xsd:string',
 
  771                                                                           'mail_xml' => 
'xsd:string'),
 
  772                                                                 array(
'status' => 
'xsd:boolean'),
 
  774                                                                 SERVICE_NAMESPACE.
'#sendMail',
 
  777                                                                 'ILIAS distributeMails(): Distribute ILIAS mails according according to the mail setting of the recipients as '.
 
  778                                                                 'ILIAS internal mail or as e-mail.' 
  782                 $this->server->register(
'ilClone',
 
  783                                                                 array(
'sid' => 
'xsd:string',
'copy_identifier' => 
'xsd:int'),
 
  784                                                                 array(
'new_ref_id' => 
'xsd:int'),
 
  786                                                                 SERVICE_NAMESPACE.
'#ilClone',
 
  789                                                                 'ILIAS ilClone(): Only for internal usage.'.
 
  790                                                                 'Syntax, parameters may change in future releases. ');
 
  792                 $this->server->register(
'handleECSTasks',
 
  793                                                                 array(
'sid' => 
'xsd:string',
'server_id' => 
'xsd:int'),
 
  794                                                                 array(
'success' => 
'xsd:boolean'),
 
  796                                                                 SERVICE_NAMESPACE.
'#handleECSTasks',
 
  799                                                                 'ILIAS handleECSTasks(): Only for internal usage.'.
 
  800                                                                 'Syntax, parameters may change in future releases. ');
 
  802                 $this->server->register(
'ilCloneDependencies',
 
  803                                                                 array(
'sid' => 
'xsd:string',
'copy_identifier' => 
'xsd:int'),
 
  804                                                                 array(
'success' => 
'xsd:boolean'),
 
  806                                                                 SERVICE_NAMESPACE.
'#ilCloneDependencies',
 
  809                                                                 'ILIAS ilCloneDependencies(): Only for internal usage.'.
 
  810                                                                 'Syntax, parameters may change in future releases. ');
 
  812                 $this->server->register(
'saveQuestionResult',
 
  813                                                                 array(
'sid' => 
'xsd:string',
 
  814                                                                           'user_id' => 
'xsd:int',
 
  815                                                                           'test_id' => 
'xsd:int',
 
  816                                                                           'question_id' => 
'xsd:int',
 
  818                                                                           'solution' => 
'tns:stringArray'),
 
  819                                                                 array(
'status' => 
'xsd:boolean'),
 
  821                                                                 SERVICE_NAMESPACE.
'#saveQuestionResult',
 
  824                                                                 'ILIAS saveQuesionResult: Typically called from an external assessment question to save the user input. DEPRECATED since ILIAS 3.9');
 
  826                 $this->server->register(
'saveQuestion',
 
  827                                                                 array(
'sid' => 
'xsd:string',
 
  828                                                                           'active_id' => 
'xsd:long',
 
  829                                                                           'question_id' => 
'xsd:long',
 
  831                                                                           'solution' => 
'tns:stringArray'),
 
  832                                                                 array(
'status' => 
'xsd:boolean'),
 
  834                                                                 SERVICE_NAMESPACE.
'#saveQuestion',
 
  837                                                                 '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.');
 
  839         $this->server->register(
'saveQuestionSolution',
 
  840                                                         array(
'sid' => 
'xsd:string',
 
  841                                                                   'active_id' => 
'xsd:long',
 
  842                                                                   'question_id' => 
'xsd:long',
 
  844                                                                   'solution' => 
'xsd:string'),
 
  845                                                         array(
'status' => 
'xsd:string'),
 
  847                                                         SERVICE_NAMESPACE.
'#saveQuestionSolution',
 
  850                                                         '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.');
 
  852                 $this->server->register(
'getQuestionSolution',
 
  853                                                                 array(
'sid' => 
'xsd:string',
 
  854                                                                           'active_id' => 
'xsd:long',
 
  855                                                                           'question_id' => 
'xsd:int',
 
  856                                                                           'pass' => 
'xsd:int'),
 
  857                                                                 array(
'solution' => 
'tns:stringArray'),
 
  859                                                                 SERVICE_NAMESPACE.
'#getQuestionSolution',
 
  862                                                                 'ILIAS getQuestionSolution: Typically called from external assessment questions to retrieve the previous input of a user.');
 
  864                                                         $this->server->register(
'getTestUserData',
 
  865                                                                                                         array(
'sid' => 
'xsd:string',
 
  866                                                                                                                   'active_id' => 
'xsd:long'),
 
  867                                                                                                         array(
'userdata' => 
'tns:stringArray'),
 
  869                                                                                                         SERVICE_NAMESPACE.
'#getTestUserData',
 
  872                                                                                                         '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.');
 
  874                                                         $this->server->register(
'getPositionOfQuestion',
 
  875                                                                                                         array(
'sid' => 
'xsd:string',
 
  876                                                                                                                   'active_id' => 
'xsd:long',
 
  877                                                                                                                   'question_id' => 
'xsd:int',
 
  878                                                                                                                   'pass' => 
'xsd:int'),
 
  879                                                                                                         array(
'position' => 
'xsd:int'),
 
  881                                                                                                         SERVICE_NAMESPACE.
'#getPositionOfQuestion',
 
  884                                                                                                         'ILIAS getPositionOfQuestion: Returns the position of a given question for a given user in a given test pass.');
 
  886                                                         $this->server->register(
'getPreviousReachedPoints',
 
  887                                                                                                         array(
'sid' => 
'xsd:string',
 
  888                                                                                                                   'active_id' => 
'xsd:long',
 
  889                                                                                                                   'question_id' => 
'xsd:int',
 
  890                                                                                                                   'pass' => 
'xsd:int'),
 
  891                                                                                                         array(
'position' => 
'tns:doubleArray'),
 
  893                                                                                                         SERVICE_NAMESPACE.
'#getPreviousReachedPoints',
 
  896                                                                                                         'ILIAS getPreviousReachedPoints: Returns an array of reached points for the previous questions in a given test pass.');
 
  898                                                         $this->server->register(
'getNrOfQuestionsInPass',
 
  899                                                                                                         array(
'sid' => 
'xsd:string',
 
  900                                                                                                                   'active_id' => 
'xsd:long',
 
  901                                                                                                                   'pass' => 
'xsd:int'),
 
  902                                                                                                         array(
'count' => 
'xsd:int'),
 
  904                                                                                                         SERVICE_NAMESPACE.
'#getNrOfQuestionsInPass',
 
  907                                                                                                         'ILIAS getNrOfQuestionsInPass: Returns the question count for a given test user in a given pass.');
 
  909                 $this->server->register(
'getStructureObjects',
 
  910                                                                 array(
'sid' => 
'xsd:string',
 
  911                                                                           'ref_id' => 
'xsd:int'),
 
  912                                                                 array(
'xml' => 
'xsd:string'),
 
  914                                                                 SERVICE_NAMESPACE.
'#getStructureObjects',
 
  917                                                                 'ILIAS getStructureObjects: delivers structure of content objects like learning modules (chapters/pages) or glossary (terms)');
 
  920                 $this->server->register(
'importUsers',
 
  921                                                                 array(
'sid' => 
'xsd:string',
 
  922                                                                           'folder_id' => 
'xsd:int',
 
  923                                                                           'usr_xml' => 
'xsd:string',
 
  924                                                                           'conflict_rule' => 
'xsd:int',
 
  925                                                                           'send_account_mail' => 
'xsd:int'),
 
  926                                                                 array(
'protocol' => 
'xsd:string'),
 
  928                                                                 SERVICE_NAMESPACE.
'#importUsers',
 
  931                                                                 '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');
 
  933                 $this->server->register(
'getRoles',
 
  934                                                                 array(
'sid' => 
'xsd:string',
 
  935                                                                       'role_type' => 
'xsd:string',
 
  936                                                                       'id' => 
'xsd:string'),
 
  937                                                                 array(
'role_xml' => 
'xsd:string'),
 
  939                                                                 SERVICE_NAMESPACE.
'#getRoles',
 
  942                                                                 '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');
 
  944                 $this->server->register(
'getUsersForContainer',
 
  945                                                                 array(
'sid' => 
'xsd:string',
 
  946                                                                 'ref_id' => 
'xsd:int',
 
  947                                                                 'attach_roles' => 
'xsd:int',
 
  948                                                                     'active' => 
'xsd:int'),
 
  949                                                                 array(
'user_xml' => 
'xsd:string'),
 
  951                                                                 SERVICE_NAMESPACE.
'#getUsersForContainer',
 
  954                                                                 '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');
 
  956                 $this->server->register(
'getUsersForRole',
 
  957                                                                 array(
'sid' => 
'xsd:string',
 
  958                                                                       'role_id' => 
'xsd:int',
 
  959                                                                       'attach_roles' => 
'xsd:int',
 
  960                                                                       'active' => 
'xsd:int'),
 
  961                                                                 array(
'user_xml' => 
'xsd:string'),
 
  963                                                                 SERVICE_NAMESPACE.
'#getUsersForRole',
 
  966                                                                 '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');
 
  968                 $this->server->register(
'searchUser',
 
  969                                                                 array(
'sid' => 
'xsd:string',
 
  970                                                                       'key_fields' => 
'tns:stringArray',
 
  971                                                                       'query_operator' => 
'xsd:string',
 
  972                                                                       'key_values' => 
'tns:stringArray',
 
  973                                                                       'attach_roles' => 
'xsd:int',
 
  974                                                                       'active' => 
'xsd:int'),
 
  976                                                                 array(
'user_xml' => 
'xsd:string'),
 
  978                                                                 SERVICE_NAMESPACE.
'#searchUsers',
 
  981                                                                 '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');
 
  985                 $this->server->register(
'hasNewMail',
 
  986                                                                 array(
'sid' => 
'xsd:string'),
 
  987                                                                 array(
'status' => 
'xsd:boolean'),
 
  989                                                                 SERVICE_NAMESPACE.
'#hasNewMail',
 
  992                                                                 'ILIAS hasNewMail(): Checks whether the current authenticated user has a new mail.');
 
  994                 $this->server->register(
'getNIC',
 
  995                                                                 array(
'sid' => 
'xsd:string'),
 
  996                                                                 array(
'xmlresultset' => 
'xsd:string'),
 
  998                                                                 SERVICE_NAMESPACE.
'#getNIC',
 
 1001                                                                 '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');
 
 1003         $this->server->register(
'getExerciseXML',
 
 1004                                                                 array(
'sid' => 
'xsd:string', 
"ref_id" => 
'xsd:int', 
"attachment_mode" => 
"xsd:int"),
 
 1005                                                                 array(
'exercisexml' => 
'xsd:string'),
 
 1007                                                                 SERVICE_NAMESPACE.
'#getExerciseXML',
 
 1010                                                                 'ILIAS getExerciseXML(): returns xml description of exercise. Attachment mode: 0 - no file contents, 1 - plain content (base64encoded), 2 zlib + base64, 3 gzip + base64)');
 
 1012         $this->server->register(
'addExercise',
 
 1013                                                                 array(
'sid' => 
'xsd:string', 
"target_id" => 
'xsd:int', 
"xml" => 
"xsd:string"),
 
 1014                                                                 array(
'refid' => 
'xsd:int'),
 
 1016                                                                 SERVICE_NAMESPACE.
'#addExercise',
 
 1019                                                                 '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!');
 
 1021         $this->server->register(
'updateExercise',
 
 1022                                                                 array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int', 
'xml' => 
'xsd:string'),
 
 1023                                                                 array(
'success' => 
'xsd:boolean'),
 
 1025                                                                 SERVICE_NAMESPACE.
'#updateExercise',
 
 1028                                                                 '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.!');
 
 1030         $this->server->register(
'getFileXML',
 
 1031                                                                 array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int', 
'attachment_mode' => 
'xsd:int'),
 
 1032                                                                 array(
'filexml' => 
'xsd:string'),
 
 1034                                                                 SERVICE_NAMESPACE.
'#getFileXML',
 
 1037                                                                 'ILIAS getFileXML(): returns xml description of file. Attachment mode: 0 - no file contents, 1 - plain content (base64encoded), 2 zlib + base64, 3 gzip + base64)');
 
 1039         $this->server->register(
'addFile',
 
 1040                                                                 array(
'sid' => 
'xsd:string', 
'target_id' => 
'xsd:int', 
'xml' => 
'xsd:string'),
 
 1041                                                                 array(
'refid' => 
'xsd:int'),
 
 1043                                                                 SERVICE_NAMESPACE.
'#addFile',
 
 1046                                                                 '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!');
 
 1048         $this->server->register(
'updateFile',
 
 1049                                                                 array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int', 
'xml' => 
'xsd:string'),
 
 1050                                                                 array(
'success' => 
'xsd:boolean'),
 
 1052                                                                 SERVICE_NAMESPACE.
'#updateFile',
 
 1055                                                                 '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.!');
 
 1058         $this->server->register(
'getUserXML',
 
 1059                                                                 array(
'sid' => 
'xsd:string', 
'user_ids' => 
'tns:intArray', 
'attach_roles' => 
'xsd:int'),
 
 1060                                                                 array(
'xml' => 
'xsd:string'),
 
 1062                                                                 SERVICE_NAMESPACE.
'#resolveUsers',
 
 1065                                                                 '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');
 
 1069                 $this->server->register(
'getObjIdsByRefIds',
 
 1070                                                                 array(
'sid' => 
'xsd:string',
 
 1071                                                                           'ref_ids' => 
'tns:intArray'),
 
 1072                                                                 array(
'obj_ids' => 
'tns:intArray'),
 
 1074                                                                 SERVICE_NAMESPACE.
'#getRefIdsByImportId',
 
 1077                                                                 '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');
 
 1079                 $this->server->register(
'updateGroup',
 
 1080                                                                 array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int', 
'xml' => 
'xsd:string'),
 
 1081                                                                 array(
'success' => 
'xsd:boolean'),
 
 1083                                                                 SERVICE_NAMESPACE.
'#updateGroup',
 
 1086                                                                 'ILIAS updateGroup(): update existing group using ref id and group xml (see DTD).');
 
 1090         $this->server->register(
'getIMSManifestXML',
 
 1091                                                                 array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int'),
 
 1092                                                                 array(
'xml' => 
'xsd:string'),
 
 1094                                                                 SERVICE_NAMESPACE.
'#getIMSManifestXML',
 
 1097                                                                 'ILIAS getIMSManifestXML(): returns xml of ims manifest file (scorm learning module) referred by refid');
 
 1099                 $this->server->register(
'hasSCORMCertificate',
 
 1100                         array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int', 
'usr_id' => 
'xsd:int'),
 
 1101                         array(
'success' => 
'xsd:boolean'),
 
 1103                         SERVICE_NAMESPACE.
'#hasSCORMCertificate',
 
 1106                         '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');
 
 1108                 $this->server->register(
'getSCORMCompletionStatus',
 
 1109                                                                 array(
'sid' => 
'xsd:string', 
'usr_id' => 
'xsd:int', 
'ref_id' => 
'xsd:int'),
 
 1110                                                                 array(
'status' => 
'xsd:string'),
 
 1112                                                                 SERVICE_NAMESPACE.
'#getSCORMCompletionStatus',
 
 1115                                                                 'ILIAS getSCORMCompletionStatus(): returns a completion status of a scorm module');
 
 1117                 $this->server->register(
'copyObject',
 
 1118                                                                 array(
'sid' => 
'xsd:string', 
'xml' => 
'xsd:string'),
 
 1119                                                                 array(
'xml' => 
'xsd:int'),
 
 1121                                                                 SERVICE_NAMESPACE.
'#copyObject',
 
 1124                                                                 'ILIAS copyObject(): returns reference of copy, if copy is created directly, or the ref id of the target if copy is in progress.');
 
 1126                 $this->server->register(
'moveObject',
 
 1127                                                                 array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int', 
'target_id' => 
'xsd:int'),
 
 1128                                                                 array(
'result' => 
'xsd:boolean'),
 
 1130                                                                 SERVICE_NAMESPACE.
'#moveObject',
 
 1133                                                                 'ILIAS moveObject(): returns true, if object with refid could be successfully moved to target id, other it raises an error.');
 
 1136                 $this->server->register (
'getTestResults',
 
 1137                                                                 array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int', 
'sum_only' => 
'xsd:boolean'),
 
 1138                                                                 array(
'xml' => 
'xsd:string'),
 
 1140                                                                 SERVICE_NAMESPACE.
'#getTestResults',
 
 1143                                                                 'ILIAS getTestResults(): returns XMLResultSet with  
 1144                                                                          sum only = true: user_id, login, firstname, lastname, matriculation, maximum points, received points 
 1145                                                                          sum only = false: user_id, login, firstname, lastname, matriculation, question id, question title, question points, received points');
 
 1147                 $this->server->register (
'removeTestResults',
 
 1149                                                                         'sid' => 
'xsd:string', 
 
 1150                                                                         'ref_id' => 
'xsd:int', 
 
 1151                                                                         'user_ids' => 
'tns:intArray'),
 
 1152                                                                 array(
'success' => 
'xsd:boolean'),
 
 1154                                                                 SERVICE_NAMESPACE.
'#removeTestResults',
 
 1157                                                                 'ILIAS removeTestResults(): remove test results for the chosen users');
 
 1159                 $this->server->register (
'getCoursesForUser',
 
 1160                                                                 array(
'sid' => 
'xsd:string', 
'parameters' => 
'xsd:string'),
 
 1161                                                                 array(
'xml' => 
'xsd:string'),
 
 1163                                                                 SERVICE_NAMESPACE.
'#getCoursesForUser',
 
 1166                                                                 '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.');
 
 1168                 $this->server->register (
'getGroupsForUser',
 
 1169                                                                 array(
'sid' => 
'xsd:string', 
'parameters' => 
'xsd:string'),
 
 1170                                                                 array(
'xml' => 
'xsd:string'),
 
 1172                                                                 SERVICE_NAMESPACE.
'#getGroupsForUser',
 
 1175                                                                 '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.');
 
 1177                 $this->server->register (
'getPathForRefId',
 
 1178                                                                 array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int'),
 
 1179                                                                 array(
'xml' => 
'xsd:string'),
 
 1181                                                                 SERVICE_NAMESPACE.
'#getPathForRefId',
 
 1184                                                                 'ILIAS getPathForRefId(): returns XMLResultSet with columns ref_id, type and title.');
 
 1186                 $this->server->register (
'searchRoles',
 
 1187                                                                 array(
'sid' => 
'xsd:string', 
'key' => 
'xsd:string', 
'combination' => 
'xsd:string', 
'role_type' => 
'xsd:string'),
 
 1188                                                                 array(
'xml' => 
'xsd:string'),
 
 1190                                                                 SERVICE_NAMESPACE.
'#searchRoles',
 
 1193                                                                 'ILIAS searchRoles(): returns XML following role dtd with search results for given role type and search terms.');
 
 1195                 $this->server->register (
'getInstallationInfoXML',
 
 1197                                                                 array(
'xml' => 
'xsd:string'),
 
 1199                                                                 SERVICE_NAMESPACE.
'#getInstallationInfoXML',
 
 1202                                                                 'ILIAS getInstallationInfoXML(): returns XML following installation_info dtd');
 
 1204                 $this->server->register (
'getClientInfoXML',
 
 1205                                                                 array(
'clientid' => 
'xsd:string'),
 
 1206                                                                 array(
'xml' => 
'xsd:string'),
 
 1208                                                                 SERVICE_NAMESPACE.
'#getClientInfoXML',
 
 1211                                                                 'ILIAS getClientInfoXML(): returns XML following installation_info dtd');
 
 1213         $this->server->register (
'getClientDetailsXML',
 
 1214                                 array(
'sid' => 
'xsd:string',
 
 1215                                       'clientid' => 
'xsd:string'),
 
 1216                                 array(
'xml' => 
'xsd:string'),
 
 1218                                 SERVICE_NAMESPACE.
'#getClientDetailsXML',
 
 1221                                 'ILIAS getClientDetailsXML(): returns XML following installation_info dtd, contains the client the data of given client id');
 
 1225         $this->server->register(
'getSkillCompletionDateForTriggerRefId',
 
 1226                                                                 array(
'sid' => 
'xsd:string',
 
 1227                                                                           'user_id' => 
'xsd:string',
 
 1228                                                                           'ref_id' => 
'xsd:string'),
 
 1229                                                                 array(
'dates' => 
'xsd:string'),
 
 1231                                                                 SERVICE_NAMESPACE.
'#getSkillCompletionDateForTriggerRefId',
 
 1234                                                                 'ILIAS getSkillCompletionDateForTriggerRefId(). Get completion dates for skill trigger ref ids.');
 
 1236                 $this->server->register(
'checkSkillUserCertificateForTriggerRefId',
 
 1237                                                                 array(
'sid' => 
'xsd:string',
 
 1238                                                                           'user_id' => 
'xsd:string',
 
 1239                                                                           'ref_id' => 
'xsd:string'),
 
 1240                                                                 array(
'have_certificates' => 
'xsd:string'),
 
 1242                                                                 SERVICE_NAMESPACE.
'#checkSkillUserCertificateForTriggerRefId',
 
 1245                                                                 'ILIAS checkSkillUserCertificateForTriggerRefId(). Check user certificates for trigger ref ids.');
 
 1247                 $this->server->register(
'getSkillTriggerOfAllCertificates',
 
 1248                                                                 array(
'sid' => 
'xsd:string',
 
 1249                                                                           'user_id' => 
'xsd:string'),
 
 1250                                                                 array(
'certificate_triggers' => 
'xsd:string'),
 
 1252                                                                 SERVICE_NAMESPACE.
'#getSkillTriggerOfAllCertificates',
 
 1255                                                                 'ILIAS getSkillTriggerOfAllCertificates(). Check get all trigger with certificate for a user.');
 
 1257                 $this->server->register (
'getUserIdBySid',
 
 1258                                                                 array(
'sid' => 
'xsd:string'),
 
 1259                                                                 array(
'usr_id' => 
'xsd:int'),
 
 1261                                                                 SERVICE_NAMESPACE.
'#getUserIdBySid',
 
 1264                                                                 'ILIAS getUserIdBySid(): returns an ILIAS usr_id for the given sid');
 
 1266                 $this->server->register(
'deleteExpiredDualOptInUserObjects',
 
 1267                                                                 array(
'sid' => 
'xsd:string',
 
 1268                                                                           'usr_id' => 
'xsd:int'),
 
 1269                                                                 array(
'status' => 
'xsd:boolean'),
 
 1271                                                                 SERVICE_NAMESPACE.
'#deleteExpiredDualOptInUserObjects',
 
 1274                                                                 'ILIAS deleteExpiredDualOptInUserObjects(): Deletes expired user accounts caused by unconfirmed registration links in "dual opt in" registration method');
 
 1277         $this->server->register(
'readWebLink',
 
 1278                         array(
'sid' => 
'xsd:string', 
"ref_id" => 
'xsd:int'),
 
 1279                         array(
'weblinkxml' => 
'xsd:string'),
 
 1281                         SERVICE_NAMESPACE . 
'#readWebLink',
 
 1284                         'ILIAS readWebLink(): returns xml description of a weblink container.');
 
 1286                 $this->server->register(
'createWebLink',
 
 1287                         array(
'sid' => 
'xsd:string', 
"target_id" => 
'xsd:int', 
"xml" => 
"xsd:string"),
 
 1288                         array(
'refid' => 
'xsd:int'),
 
 1290                         SERVICE_NAMESPACE . 
'#createWebLink',
 
 1293                         '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!');
 
 1295                 $this->server->register(
'updateWebLink',
 
 1296                         array(
'sid' => 
'xsd:string', 
'ref_id' => 
'xsd:int', 
'xml' => 
'xsd:string'),
 
 1297                         array(
'success' => 
'xsd:boolean'),
 
 1299                         SERVICE_NAMESPACE . 
'#updateWebLink',
 
 1302                         'ILIAS updateWebLink():update existing weblink, update weblink properties from xml (see ilias_weblink_4_0.dtd for details).');
 
 1305                 $this->server->register(
'deleteProgress',
 
 1307                                         'sid' => 
'xsd:string',
 
 1308                                         'ref_ids' => 
'tns:intArray',
 
 1309                                         'usr_ids' => 
'tns:intArray',
 
 1310                                         'type_filter' => 
'tns:stringArray',
 
 1311                                         'progress_filter' => 
'tns:intArray' 
 1313                                 array(
'status' => 
'xsd:boolean'),
 
 1315                                 SERVICE_NAMESPACE.
'#deleteProgress',
 
 1318                                 'Delete user progress data of objects. '