ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilNusoapUserAdministrationAdapter Class Reference
+ Collaboration diagram for ilNusoapUserAdministrationAdapter:

Public Member Functions

 __construct ($a_use_wsdl=true)
 
 start ()
 
 __enableWSDL ()
 
 __registerMethods ()
 

Data Fields

 $server = null
 

Detailed Description

Definition at line 37 of file class.ilNusoapUserAdministrationAdapter.php.

Constructor & Destructor Documentation

◆ __construct()

ilNusoapUserAdministrationAdapter::__construct (   $a_use_wsdl = true)

Definition at line 45 of file class.ilNusoapUserAdministrationAdapter.php.

References __enableWSDL(), and __registerMethods().

46  {
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;
52  $this->server = new soap_server();
53  $this->server->decode_utf8 = false;
54  $this->server->class = "ilSoapFunctions";
55 
56  if($a_use_wsdl)
57  {
58  $this->__enableWSDL();
59  }
60 
61  $this->__registerMethods();
62 
63 
64  }
soap_server allows the user to create a SOAP server that is capable of receiving messages and returni...
Definition: nusoap.php:2313
+ Here is the call graph for this function:

Member Function Documentation

◆ __enableWSDL()

ilNusoapUserAdministrationAdapter::__enableWSDL ( )

Definition at line 75 of file class.ilNusoapUserAdministrationAdapter.php.

Referenced by __construct().

76  {
77  $this->server->configureWSDL(SERVICE_NAME,SERVICE_NAMESPACE);
78 
79  return true;
80  }
+ Here is the caller graph for this function:

◆ __registerMethods()

ilNusoapUserAdministrationAdapter::__registerMethods ( )

Definition at line 83 of file class.ilNusoapUserAdministrationAdapter.php.

References array.

Referenced by __construct().

84  {
85 
86  // Add useful complex types. E.g. array("a","b") or array(1,2)
87  $this->server->wsdl->addComplexType('intArray',
88  'complexType',
89  'array',
90  '',
91  'SOAP-ENC:Array',
92  array(),
93  array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'xsd:int[]')),
94  'xsd:int');
95 
96  $this->server->wsdl->addComplexType('stringArray',
97  'complexType',
98  'array',
99  '',
100  'SOAP-ENC:Array',
101  array(),
102  array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'xsd:string[]')),
103  'xsd:string');
104 
105  $this->server->wsdl->addComplexType('doubleArray',
106  'complexType',
107  'array',
108  '',
109  'SOAP-ENC:Array',
110  array(),
111  array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'xsd:double[]')),
112  'xsd:double');
113 
114  // It's not possible to register classes in nusoap
115 
116  // login()
117  $this->server->register('login',
118  array('client' => 'xsd:string',
119  'username' => 'xsd:string',
120  'password' => 'xsd:string'),
121  array('sid' => 'xsd:string'),
122  SERVICE_NAMESPACE,
123  SERVICE_NAMESPACE.'#login',
124  SERVICE_STYLE,
125  SERVICE_USE,
126  'ILIAS login function');
127 
128  // loginCAS()
129  $this->server->register('loginCAS',
130  array('client' => 'xsd:string',
131  'PT' => 'xsd:string',
132  'user' => 'xsd:string'),
133  array('sid' => 'xsd:string'),
134  SERVICE_NAMESPACE,
135  SERVICE_NAMESPACE.'#loginCAS',
136  SERVICE_STYLE,
137  SERVICE_USE,
138  'ILIAS login function via CAS');
139  // loginLDAP()
140  $this->server->register('loginLDAP',
141  array('client' => 'xsd:string',
142  'username' => 'xsd:string',
143  'password' => 'xsd:string'),
144  array('sid' => 'xsd:string'),
145  SERVICE_NAMESPACE,
146  SERVICE_NAMESPACE.'#login',
147  SERVICE_STYLE,
148  SERVICE_USE,
149  'ILIAS login function via LDAP');
150 
151  // loginStudipUser()
152  $this->server->register('loginStudipUser',
153  array('sid' => 'xsd:string',
154  'user_id' => 'xsd:int'),
155  array('sid' => 'xsd:string'),
156  SERVICE_NAMESPACE,
157  SERVICE_NAMESPACE.'#loginStudipUser',
158  SERVICE_STYLE,
159  SERVICE_USE,
160  'ILIAS login function for Stud.IP-Connection. DEPRECATED: this method will be removed in ILIAS 5.3.');
161 
162  // logout()
163  $this->server->register('logout',
164  array('sid' => 'xsd:string'),
165  array('success' => 'xsd:boolean'),
166  SERVICE_NAMESPACE,
167  SERVICE_NAMESPACE.'#logout',
168  SERVICE_STYLE,
169  SERVICE_USE,
170  'ILIAS logout function');
171  // user_data definitions
172  $this->server->wsdl->addComplexType('ilUserData',
173  'complexType',
174  'struct',
175  'all',
176  '',
177  array('usr_id' => array('name' => 'usr_id','type' => 'xsd:int'),
178  'login' => array('name' => 'login', 'type' => 'xsd:string'),
179  'passwd' => array('name' => 'passwd', 'type' => 'xsd:string'),
180  'firstname' => array('name' => 'firstname', 'type' => 'xsd:string'),
181  'lastname' => array('name' => 'lastname', 'type' => 'xsd:string'),
182  'title' => array('name' => 'title', 'type' => 'xsd:string'),
183  'gender' => array('name' => 'gender', 'type' => 'xsd:string'),
184  'email' => array('name' => 'email', 'type' => 'xsd:string'),
185  'institution' => array('name' => 'institution', 'type' => 'xsd:string'),
186  'street' => array('name' => 'street', 'type' => 'xsd:string'),
187  'city' => array('name' => 'city', 'type' => 'xsd:string'),
188  'zipcode' => array('name' => 'zipcode', 'type' => 'xsd:string'),
189  'country' => array('name' => 'country', 'type' => 'xsd:string'),
190  'phone_office' => array('name' => 'phone_office', 'type' => 'xsd:string'),
191  'last_login' => array('name' => 'last_login', 'type' => 'xsd:string'),
192  'last_update' => array('name' => 'last_update', 'type' => 'xsd:string'),
193  'create_date' => array('name' => 'create_date', 'type' => 'xsd:string'),
194  'hobby' => array('name' => 'hobby', 'type' => 'xsd:string'),
195  'department' => array('name' => 'department', 'type' => 'xsd:string'),
196  'phone_home' => array('name' => 'phone_home', 'type' => 'xsd:string'),
197  'phone_mobile' => array('name' => 'phone_mobile', 'type' => 'xsd:string'),
198  'fax' => array('name' => 'fax', 'type' => 'xsd:string'),
199  'time_limit_owner' => array('name' => 'time_limit_owner', 'type' => 'xsd:int'),
200  'time_limit_unlimited' => array('name' => 'time_limit_unlimited', 'type' => 'xsd:int'),
201  'time_limit_from' => array('name' => 'time_limit_from', 'type' => 'xsd:int'),
202  'time_limit_until' => array('name' => 'time_limit_until', 'type' => 'xsd:int'),
203  'time_limit_message' => array('name' => 'time_limit_message', 'type' => 'xsd:int'),
204  'referral_comment' => array('name' => 'referral_comment', 'type' => 'xsd:string'),
205  'matriculation' => array('name' => 'matriculation', 'type' => 'xsd:string'),
206  'active' => array('name' => 'active', 'type' => 'xsd:int'),
207  'accepted_agreement' => array('name' => 'accepted_agreement','type' => 'xsd:boolean'),
208  'approve_date' => array('name' => 'approve_date', 'type' => 'xsd:string'),
209  'user_skin' => array('name' => 'user_skin', 'type' => 'xsd:string'),
210  'user_style' => array('name' => 'user_style', 'type' => 'xsd:string'),
211  'user_language' => array('name' => 'user_language', 'type' => 'xsd:string'),
212  'import_id' => array('name' => 'import_id', 'type' => 'xsd:string')
213  ));
214 
215 
216  // lookupUser()
217  $this->server->register('lookupUser',
218  array('sid' => 'xsd:string',
219  'user_name' => 'xsd:string'),
220  array('usr_id' => 'xsd:int'),
221  SERVICE_NAMESPACE,
222  SERVICE_NAMESPACE.'#lookupUser',
223  SERVICE_STYLE,
224  SERVICE_USE,
225  'ILIAS lookupUser(): check if username exists. Return usr_id or 0 if lookup fails.');
226 
227 
228  // getUser()
229  $this->server->register('getUser',
230  array('sid' => 'xsd:string',
231  'user_id' => 'xsd:int'),
232  array('user_data' => 'tns:ilUserData'),
233  SERVICE_NAMESPACE,
234  SERVICE_NAMESPACE.'#getUser',
235  SERVICE_STYLE,
236  SERVICE_USE,
237  'ILIAS getUser(): get complete set of user data. DEPRECATED with release 5.2, will be deleted with 5.3. Use searchUsers() instead.');
238 
239  // deleteUser()
240  $this->server->register('deleteUser',
241  array('sid' => 'xsd:string',
242  'user_id' => 'xsd:int'),
243  array('success' => 'xsd:boolean'),
244  SERVICE_NAMESPACE,
245  SERVICE_NAMESPACE.'#deleteUser',
246  SERVICE_STYLE,
247  SERVICE_USE,
248  'ILIAS deleteUser(). Deletes all user related data (Bookmarks, Mails ...). DEPRECATED: Use importUsers() for deletion of user data.');
249 
250  // addCourse()
251  $this->server->register('addCourse',
252  array('sid' => 'xsd:string',
253  'target_id' => 'xsd:int',
254  'crs_xml' => 'xsd:string'),
255  array('course_id' => 'xsd:int'),
256  SERVICE_NAMESPACE,
257  SERVICE_NAMESPACE.'#addCourse',
258  SERVICE_STYLE,
259  SERVICE_USE,
260  'ILIAS addCourse(). Course import. See ilias_course_0_1.dtd for details about course xml structure');
261 
262  // deleteCourse()
263  $this->server->register('deleteCourse',
264  array('sid' => 'xsd:string',
265  'course_id' => 'xsd:int'),
266  array('success' => 'xsd:boolean'),
267  SERVICE_NAMESPACE,
268  SERVICE_NAMESPACE.'#deleteCourse',
269  SERVICE_STYLE,
270  SERVICE_USE,
271  'ILIAS deleteCourse(). Deletes a course. Delete courses are stored in "Trash" and can be undeleted in '.
272  ' the ILIAS administration. ');
273  // assignCourseMember()
274  $this->server->register('assignCourseMember',
275  array('sid' => 'xsd:string',
276  'course_id' => 'xsd:int',
277  'user_id' => 'xsd:int',
278  'type' => 'xsd:string'),
279  array('success' => 'xsd:boolean'),
280  SERVICE_NAMESPACE,
281  SERVICE_NAMESPACE.'#assignCourseMember',
282  SERVICE_STYLE,
283  SERVICE_USE,
284  'ILIAS assignCourseMember(). Assigns an user to an existing course. Type should be "Admin", "Tutor" or "Member"');
285 
286  // excludeCourseMember()
287  $this->server->register('excludeCourseMember',
288  array('sid' => 'xsd:string',
289  'course_id' => 'xsd:int',
290  'user_id' => 'xsd:int'),
291  array('success' => 'xsd:boolean'),
292  SERVICE_NAMESPACE,
293  SERVICE_NAMESPACE.'#excludeCourseMember',
294  SERVICE_STYLE,
295  SERVICE_USE,
296  'ILIAS excludeCourseMember(). Excludes an user from an existing course.');
297 
298  // isAssignedToCourse()
299  $this->server->register('isAssignedToCourse',
300  array('sid' => 'xsd:string',
301  'course_id' => 'xsd:int',
302  'user_id' => 'xsd:int'),
303  array('role' => 'xsd:int'),
304  SERVICE_NAMESPACE,
305  SERVICE_NAMESPACE.'#isAssignedToCourse',
306  SERVICE_STYLE,
307  SERVICE_USE,
308  'ILIAS isAssignedToCourse(). Checks whether an user is assigned to a given course. '.
309  'Returns 0 => not assigned, 1 => course admin, 2 => course member or 3 => course tutor');
310 
311  // getCourseXML($sid,$course_id)
312  $this->server->register('getCourseXML',
313  array('sid' => 'xsd:string',
314  'course_id' => 'xsd:int'),
315  array('xml' => 'xsd:string'),
316  SERVICE_NAMESPACE,
317  SERVICE_NAMESPACE.'#getCourseXML',
318  SERVICE_STYLE,
319  SERVICE_USE,
320  'ILIAS getCourseXML(). Get a xml description of a specific course.');
321 
322  // updateCourse($sid,$course_id,$xml)
323  $this->server->register('updateCourse',
324  array('sid' => 'xsd:string',
325  'course_id' => 'xsd:int',
326  'xml' => 'xsd:string'),
327  array('success' => 'xsd:boolean'),
328  SERVICE_NAMESPACE,
329  SERVICE_NAMESPACE.'#updateCourse',
330  SERVICE_STYLE,
331  SERVICE_USE,
332  'ILIAS updateCourse(). Update course settings, assigned members, tutors, administrators with a '.
333  'given xml description');
334 
335  // get obj_id by import id
336  $this->server->register('getObjIdByImportId',
337  array('sid' => 'xsd:string',
338  'import_id' => 'xsd:string'),
339  array('obj_id' => 'xsd:int'),
340  SERVICE_NAMESPACE,
341  SERVICE_NAMESPACE.'#getCourseIdByImportId',
342  SERVICE_STYLE,
343  SERVICE_USE,
344  'ILIAS getObjIdByImportId(). Get the obj_id of an ILIAS obj by a given import id.');
345 
346 
347  // get ref ids by import id
348  $this->server->register('getRefIdsByImportId',
349  array('sid' => 'xsd:string',
350  'import_id' => 'xsd:string'),
351  array('ref_ids' => 'tns:intArray'),
352  SERVICE_NAMESPACE,
353  SERVICE_NAMESPACE.'#getRefIdsByImportId',
354  SERVICE_STYLE,
355  SERVICE_USE,
356  'ILIAS getRefIdsByImportId(). Get all reference ids by a given import id.');
357 
358  // get obj_id by import id
359  $this->server->register('getRefIdsByObjId',
360  array('sid' => 'xsd:string',
361  'obj_id' => 'xsd:string'),
362  array('ref_ids' => 'tns:intArray'),
363  SERVICE_NAMESPACE,
364  SERVICE_NAMESPACE.'#getRefIdsByObjId',
365  SERVICE_STYLE,
366  SERVICE_USE,
367  'ILIAS getRefIdsByObjId(). Get all reference ids by a given object id.');
368 
369  // Object administration
370  $this->server->register('getObjectByReference',
371  array('sid' => 'xsd:string',
372  'reference_id' => 'xsd:int',
373  'user_id' => 'xsd:int'),
374  array('object_xml' => 'xsd:string'),
375  SERVICE_NAMESPACE,
376  SERVICE_NAMESPACE.'#getObjectByReference',
377  SERVICE_STYLE,
378  SERVICE_USE,
379  'ILIAS getObjectByReference(). Get XML-description of an ILIAS object. If a user id is given, '.
380  'this methods also checks the permissions of that user on the object.');
381 
382  $this->server->register('getObjectsByTitle',
383  array('sid' => 'xsd:string',
384  'title' => 'xsd:string',
385  'user_id' => 'xsd:int'),
386  array('object_xml' => 'xsd:string'),
387  SERVICE_NAMESPACE,
388  SERVICE_NAMESPACE.'#getObjectsByTitle',
389  SERVICE_STYLE,
390  SERVICE_USE,
391  'ILIAS getObjectsByTitle(). Get XML-description of an ILIAS object with given title. '.
392  'If a user id is given this method also checks the permissions of that user on the object.');
393 
394  $this->server->register('searchObjects',
395  array('sid' => 'xsd:string',
396  'types' => 'tns:stringArray',
397  'key' => 'xsd:string',
398  'combination' => 'xsd:string',
399  'user_id' => 'xsd:int'),
400  array('object_xml' => 'xsd:string'),
401  SERVICE_NAMESPACE,
402  SERVICE_NAMESPACE.'#searchObjects',
403  SERVICE_STYLE,
404  SERVICE_USE,
405  'ILIAS searchObjects(): Searches for objects. Key is within "title" or "description" '.
406  'Typical calls are searchObject($sid,array("lm","crs"),"\"this and that\"","and"); '.
407  ' If an optional user id is given, this methods also return the permissions for that user '.
408  'on the found objects');
409 
410  $this->server->register('getTreeChilds',
411  array('sid' => 'xsd:string',
412  'ref_id' => 'xsd:int',
413  'types' => 'tns:stringArray',
414  'user_id' => 'xsd:int'),
415  array('object_xml' => 'xsd:string'),
416  SERVICE_NAMESPACE,
417  SERVICE_NAMESPACE.'#getTreeChilds',
418  SERVICE_STYLE,
419  SERVICE_USE,
420  'ILIAS getTreeChilds(): Get all child objects of a given object.'.
421  'Choose array of types to filter the output. Choose empty type array to receive all object types');
422 
423  $this->server->register('getXMLTree',
424  array('sid' => 'xsd:string',
425  'ref_id' => 'xsd:int',
426  'types' => 'tns:stringArray',
427  'user_id' => 'xsd:int'),
428  array('object_xml' => 'xsd:string'),
429  SERVICE_NAMESPACE,
430  SERVICE_NAMESPACE.'#getXMLTree',
431  SERVICE_STYLE,
432  SERVICE_USE,
433  'ILIAS getXMLTree(): Returns a xml stream with the subtree objects.');
434 
435 
436 
437  $this->server->register('addObject',
438  array('sid' => 'xsd:string',
439  'target_id' => 'xsd:int',
440  'object_xml' => 'xsd:string'),
441  array('ref_id' => 'xsd:int'),
442  SERVICE_NAMESPACE,
443  SERVICE_NAMESPACE.'#addObject',
444  SERVICE_STYLE,
445  SERVICE_USE,
446  'ILIAS addObject. Create new object based on xml description under a given node '.
447  '("category,course,group or folder). Return created reference id of the new object.' );
448 
449  $this->server->register('updateObjects',
450  array('sid' => 'xsd:string',
451  'object_xml' => 'xsd:string'),
452  array('success' => 'xsd:boolean'),
453  SERVICE_NAMESPACE,
454  SERVICE_NAMESPACE.'#updateObjects',
455  SERVICE_STYLE,
456  SERVICE_USE,
457  'ILIAS updateObjects. Update object data (title,description,owner)');
458 
459  $this->server->register('addReference',
460  array('sid' => 'xsd:string',
461  'source_id' => 'xsd:int',
462  'target_id' => 'xsd:int'),
463  array('ref_id' => 'xsd:int'),
464  SERVICE_NAMESPACE,
465  SERVICE_NAMESPACE.'#addReference',
466  SERVICE_STYLE,
467  SERVICE_USE,
468  'ILIAS addReference. Create new link of given object to new object. Return the new reference id');
469 
470  $this->server->register('deleteObject',
471  array('sid' => 'xsd:string',
472  'reference_id' => 'xsd:int'),
473  array('success' => 'xsd:boolean'),
474  SERVICE_NAMESPACE,
475  SERVICE_NAMESPACE.'#deleteObject',
476  SERVICE_STYLE,
477  SERVICE_USE,
478  'ILIAS deleteObject. Stores object in trash. If multiple references exist, only the reference is deleted ');
479 
480 
481  $this->server->register('removeFromSystemByImportId',
482  array('sid' => 'xsd:string',
483  'import_id' => 'xsd:string'),
484  array('success' => 'xsd:boolean'),
485  SERVICE_NAMESPACE,
486  SERVICE_NAMESPACE.'#removeFromSystemByImportId',
487  SERVICE_STYLE,
488  SERVICE_USE,
489  'ILIAS removeFromSystemByImportId(). Removes an object identified by its import id permanently from the '.
490  'system. All data will be deleted. There will be no possibility to restore it from the trash. Do not use '.
491  'this function for deleting roles or users. Use deleteUser() or deleteRole() instead.');
492 
493  $this->server->register('addUserRoleEntry',
494  array('sid' => 'xsd:string',
495  'user_id' => 'xsd:int',
496  'role_id' => 'xsd:int'),
497  array('success' => 'xsd:boolean'),
498  SERVICE_NAMESPACE,
499  SERVICE_NAMESPACE.'#addUserRoleEntry',
500  SERVICE_STYLE,
501  SERVICE_USE,
502  'ILIAS addUserRoleEntry. Assign user to role.');
503 
504  $this->server->register('deleteUserRoleEntry',
505  array('sid' => 'xsd:string',
506  'user_id' => 'xsd:int',
507  'role_id' => 'xsd:int'),
508  array('success' => 'xsd:boolean'),
509  SERVICE_NAMESPACE,
510  SERVICE_NAMESPACE.'#deleteUserRoleEntry',
511  SERVICE_STYLE,
512  SERVICE_USE,
513  'ILIAS deleteUserRoleEntry. Deassign user from role.');
514 
515 
516  // Add complex type for operations e.g array(array('name' => 'read','ops_id' => 2),...)
517  $this->server->wsdl->addComplexType('ilOperation',
518  'complexType',
519  'struct',
520  'all',
521  '',
522  array('ops_id' => array('name' => 'ops_id',
523  'type' => 'xsd:int'),
524  'operation' => array('name' => 'operation',
525  'type' => 'xsd:string'),
526  'description' => array('name' => 'description',
527  'type' => 'xsd:string')));
528  // Now create an array of ilOperations
529  $this->server->wsdl->addComplexType('ilOperations',
530  'complexType',
531  'array',
532  '',
533  'SOAP-ENC:Array',
534  array(),
535  array(array('ref' => 'SOAP-ENC:arrayType',
536  'wsdl:arrayType' => 'tns:ilOperation[]')),
537  'tns:ilOperation');
538  $this->server->register('getOperations',
539  array('sid' => 'xsd:string'),
540  array('operations' => 'tns:ilOperations'),
541  SERVICE_NAMESPACE,
542  SERVICE_NAMESPACE.'#getOperations',
543  SERVICE_STYLE,
544  SERVICE_USE,
545  'ILIAS getOperations(): get complete set of RBAC operations.');
546 
547  $this->server->register('revokePermissions',
548  array('sid' => 'xsd:string',
549  'ref_id' => 'xsd:int',
550  'role_id' => 'xsd:int'),
551  array('success' => 'xsd:boolean'),
552  SERVICE_NAMESPACE,
553  SERVICE_NAMESPACE.'#revokePermissions',
554  SERVICE_STYLE,
555  SERVICE_USE,
556  'ILIAS revokePermissions(): Revoke all permissions for a specific role on an object.');
557 
558  $this->server->wsdl->addComplexType('ilOperationIds',
559  'complexType',
560  'array',
561  '',
562  'SOAP-ENC:Array',
563  array(),
564  array(array('ref' => 'SOAP-ENC:arrayType',
565  'wsdl:arrayType' => 'xsd:int[]')),
566  'xsd:int');
567 
568  $this->server->register('grantPermissions',
569  array('sid' => 'xsd:string',
570  'ref_id' => 'xsd:int',
571  'role_id' => 'xsd:int',
572  'operations' => 'tns:intArray'),
573  array('success' => 'xsd:boolean'),
574  SERVICE_NAMESPACE,
575  SERVICE_NAMESPACE.'#grantPermissions',
576  SERVICE_STYLE,
577  SERVICE_USE,
578  'ILIAS grantPermissions(): Grant permissions for a specific role on an object. '.
579  '(Substitutes existing permission settings)');
580 
581  $this->server->register('getLocalRoles',
582  array('sid' => 'xsd:string',
583  'ref_id' => 'xsd:int'),
584  array('role_xml' => 'xsd:string'),
585  SERVICE_NAMESPACE,
586  SERVICE_NAMESPACE.'#getLocalRoles',
587  SERVICE_STYLE,
588  SERVICE_USE,
589  'ILIAS getLocalRoles(): Get all local roles assigned to an specific object.');
590 
591  $this->server->register('getUserRoles',
592  array('sid' => 'xsd:string',
593  'user_id' => 'xsd:int'),
594  array('role_xml' => 'xsd:string'),
595  SERVICE_NAMESPACE,
596  SERVICE_NAMESPACE.'#getLocalRoles',
597  SERVICE_STYLE,
598  SERVICE_USE,
599  'ILIAS getUserRoles(): Get all local roles assigned to an specific user. ');
600 
601  $this->server->register('addRole',
602  array('sid' => 'xsd:string',
603  'target_id' => 'xsd:int',
604  'obj_xml' => 'xsd:string'),
605  array('role_ids' => 'tns:intArray'),
606  SERVICE_NAMESPACE,
607  SERVICE_NAMESPACE.'#addRole',
608  SERVICE_STYLE,
609  SERVICE_USE,
610  'ILIAS addRole(): Creates new role under given node. "target_id" is the reference id of an ILIAS '.
611  'ILIAS object. E.g ref_id of crs,grp. If no role folder exists, a new role folder will be created.');
612 
613  $this->server->register('deleteRole',
614  array('sid' => 'xsd:string',
615  'role_id' => 'xsd:int'),
616  array('success' => 'xsd:boolean'),
617  SERVICE_NAMESPACE,
618  SERVICE_NAMESPACE.'#deleteRole',
619  SERVICE_STYLE,
620  SERVICE_USE,
621  'ILIAS deleteRole(): Deletes an role and all user assignments. Fails if it is the last role of an user');
622 
623  $this->server->register('addRoleFromTemplate',
624  array('sid' => 'xsd:string',
625  'target_id' => 'xsd:int',
626  'obj_xml' => 'xsd:string',
627  'role_template_id' => 'xsd:int'),
628  array('role_ids' => 'tns:intArray'),
629  SERVICE_NAMESPACE,
630  SERVICE_NAMESPACE.'#addRole',
631  SERVICE_STYLE,
632  SERVICE_USE,
633  'ILIAS addRole(): Creates new role under given node. "target_id" is the reference id of an ILIAS '.
634  'ILIAS object. E.g ref_id of crs,grp. If no role folder exists, a new role folder will be created. '.
635  'In addition to addRole the template permissions will be copied from the given role template');
636 
637  $this->server->register('getObjectTreeOperations',
638  array('sid' => 'xsd:string',
639  'ref_id' => 'xsd:int',
640  'user_id' => 'xsd:int'),
641  array('operations' => 'tns:ilOperations'),
642  SERVICE_NAMESPACE,
643  SERVICE_NAMESPACE.'#getPermissionsForObject',
644  SERVICE_STYLE,
645  SERVICE_USE,
646  'ILIAS getObjectTreeOperations(): Get all granted permissions for all references of '.
647  'an object for a specific user. Returns array of granted operations or empty array');
648 
649  $this->server->register('addGroup',
650  array('sid' => 'xsd:string',
651  'target_id' => 'xsd:int',
652  'group_xml' => 'xsd:string'),
653  array('ref_id' => 'xsd:int'),
654  SERVICE_NAMESPACE,
655  SERVICE_NAMESPACE.'#addGroup',
656  SERVICE_STYLE,
657  SERVICE_USE,
658  'ILIAS addGroup(): Add grop according to valid group XML '.
659  '@See ilias_group_0_1.dtd');
660 
661  $this->server->register('groupExists',
662  array('sid' => 'xsd:string',
663  'title' => 'xsd:string'),
664  array('exists' => 'xsd:boolean'),
665  SERVICE_NAMESPACE,
666  SERVICE_NAMESPACE.'#groupExists',
667  SERVICE_STYLE,
668  SERVICE_USE,
669  'ILIAS addGroup(): Check if group with given name exists. ');
670 
671 
672  // getGroup
673  $this->server->register('getGroup',
674  array('sid' => 'xsd:string',
675  'ref_id' => 'xsd:int'),
676  array('group_xml' => 'xsd:string'),
677  SERVICE_NAMESPACE,
678  SERVICE_NAMESPACE.'#getGroup',
679  SERVICE_STYLE,
680  SERVICE_USE,
681  'ILIAS getGroup(): get xml description of grouip with given reference id.');
682 
683  // assignGroupMember()
684  $this->server->register('assignGroupMember',
685  array('sid' => 'xsd:string',
686  'group_id' => 'xsd:int',
687  'user_id' => 'xsd:int',
688  'type' => 'xsd:string'),
689  array('success' => 'xsd:boolean'),
690  SERVICE_NAMESPACE,
691  SERVICE_NAMESPACE.'#assignGroupMember',
692  SERVICE_STYLE,
693  SERVICE_USE,
694  'ILIAS assignGroupMember(). Assigns an user to an existing group. Type should be "Admin","Member"');
695 
696  // excludeGroupMember()
697  $this->server->register('excludeGroupMember',
698  array('sid' => 'xsd:string',
699  'group_id' => 'xsd:int',
700  'user_id' => 'xsd:int'),
701  array('success' => 'xsd:boolean'),
702  SERVICE_NAMESPACE,
703  SERVICE_NAMESPACE.'#excludeGroupMember',
704  SERVICE_STYLE,
705  SERVICE_USE,
706  'ILIAS excludeGroupMember(). Excludes an user from an existing group.');
707 
708  // isAssignedToGroup()
709  $this->server->register('isAssignedToGroup',
710  array('sid' => 'xsd:string',
711  'group_id' => 'xsd:int',
712  'user_id' => 'xsd:int'),
713  array('role' => 'xsd:int'),
714  SERVICE_NAMESPACE,
715  SERVICE_NAMESPACE.'#isAssignedToGroup',
716  SERVICE_STYLE,
717  SERVICE_USE,
718  'ILIAS isAssignedToGroup(). Checks whether an user is assigned to a given group. '.
719  'Returns 0 => not assigned, 1 => group admin, 2 => group member');
720 
721 
722 
723  // ILIAS util functions
724  $this->server->register('sendMail',
725  array('sid' => 'xsd:string',
726  'rcp_to' => 'xsd:string',
727  'rcp_cc' => 'xsd:string',
728  'rcp_bcc' => 'xsd:string',
729  'sender' => 'xsd:string',
730  'subject' => 'xsd:string',
731  'message' => 'xsd:string',
732  'attachments' => 'xsd:string'),
733  array('status' => 'xsd:boolean'),
734  SERVICE_NAMESPACE,
735  SERVICE_NAMESPACE.'#sendMail',
736  SERVICE_STYLE,
737  SERVICE_USE,
738  'ILIAS sendMail(): Send mime mails according to xml description. Only for internal usage '.
739  'Syntax, parameters may change in future releases');
740 
741  $this->server->register('distributeMails',
742  array('sid' => 'xsd:string',
743  'mail_xml' => 'xsd:string'),
744  array('status' => 'xsd:boolean'),
745  SERVICE_NAMESPACE,
746  SERVICE_NAMESPACE.'#sendMail',
747  SERVICE_STYLE,
748  SERVICE_USE,
749  'ILIAS distributeMails(): Distribute ILIAS mails according according to the mail setting of the recipients as '.
750  'ILIAS internal mail or as e-mail.'
751  );
752 
753  // Clone functions
754  $this->server->register('ilClone',
755  array('sid' => 'xsd:string','copy_identifier' => 'xsd:int'),
756  array('new_ref_id' => 'xsd:int'),
757  SERVICE_NAMESPACE,
758  SERVICE_NAMESPACE.'#ilClone',
759  SERVICE_STYLE,
760  SERVICE_USE,
761  'ILIAS ilClone(): Only for internal usage.'.
762  'Syntax, parameters may change in future releases. ');
763 
764  $this->server->register('handleECSTasks',
765  array('sid' => 'xsd:string','server_id' => 'xsd:int'),
766  array('success' => 'xsd:boolean'),
767  SERVICE_NAMESPACE,
768  SERVICE_NAMESPACE.'#handleECSTasks',
769  SERVICE_STYLE,
770  SERVICE_USE,
771  'ILIAS handleECSTasks(): Only for internal usage.'.
772  'Syntax, parameters may change in future releases. ');
773 
774  $this->server->register('ilCloneDependencies',
775  array('sid' => 'xsd:string','copy_identifier' => 'xsd:int'),
776  array('success' => 'xsd:boolean'),
777  SERVICE_NAMESPACE,
778  SERVICE_NAMESPACE.'#ilCloneDependencies',
779  SERVICE_STYLE,
780  SERVICE_USE,
781  'ILIAS ilCloneDependencies(): Only for internal usage.'.
782  'Syntax, parameters may change in future releases. ');
783 
784  $this->server->register('saveQuestionResult',
785  array('sid' => 'xsd:string',
786  'user_id' => 'xsd:int',
787  'test_id' => 'xsd:int',
788  'question_id' => 'xsd:int',
789  'pass' => 'xsd:int',
790  'solution' => 'tns:stringArray'),
791  array('status' => 'xsd:boolean'),
792  SERVICE_NAMESPACE,
793  SERVICE_NAMESPACE.'#saveQuestionResult',
794  SERVICE_STYLE,
795  SERVICE_USE,
796  'ILIAS saveQuesionResult: Typically called from an external assessment question to save the user input. DEPRECATED since ILIAS 3.9');
797 
798  $this->server->register('saveQuestion',
799  array('sid' => 'xsd:string',
800  'active_id' => 'xsd:long',
801  'question_id' => 'xsd:long',
802  'pass' => 'xsd:int',
803  'solution' => 'tns:stringArray'),
804  array('status' => 'xsd:boolean'),
805  SERVICE_NAMESPACE,
806  SERVICE_NAMESPACE.'#saveQuestion',
807  SERVICE_STYLE,
808  SERVICE_USE,
809  '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.');
810 
811  $this->server->register('saveQuestionSolution',
812  array('sid' => 'xsd:string',
813  'active_id' => 'xsd:long',
814  'question_id' => 'xsd:long',
815  'pass' => 'xsd:int',
816  'solution' => 'xsd:string'),
817  array('status' => 'xsd:string'),
818  SERVICE_NAMESPACE,
819  SERVICE_NAMESPACE.'#saveQuestionSolution',
820  SERVICE_STYLE,
821  SERVICE_USE,
822  '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.');
823 
824  $this->server->register('getQuestionSolution',
825  array('sid' => 'xsd:string',
826  'active_id' => 'xsd:long',
827  'question_id' => 'xsd:int',
828  'pass' => 'xsd:int'),
829  array('solution' => 'tns:stringArray'),
830  SERVICE_NAMESPACE,
831  SERVICE_NAMESPACE.'#getQuestionSolution',
832  SERVICE_STYLE,
833  SERVICE_USE,
834  'ILIAS getQuestionSolution: Typically called from external assessment questions to retrieve the previous input of a user.');
835 
836  $this->server->register('getTestUserData',
837  array('sid' => 'xsd:string',
838  'active_id' => 'xsd:long'),
839  array('userdata' => 'tns:stringArray'),
840  SERVICE_NAMESPACE,
841  SERVICE_NAMESPACE.'#getTestUserData',
842  SERVICE_STYLE,
843  SERVICE_USE,
844  '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.');
845 
846  $this->server->register('getPositionOfQuestion',
847  array('sid' => 'xsd:string',
848  'active_id' => 'xsd:long',
849  'question_id' => 'xsd:int',
850  'pass' => 'xsd:int'),
851  array('position' => 'xsd:int'),
852  SERVICE_NAMESPACE,
853  SERVICE_NAMESPACE.'#getPositionOfQuestion',
854  SERVICE_STYLE,
855  SERVICE_USE,
856  'ILIAS getPositionOfQuestion: Returns the position of a given question for a given user in a given test pass.');
857 
858  $this->server->register('getPreviousReachedPoints',
859  array('sid' => 'xsd:string',
860  'active_id' => 'xsd:long',
861  'question_id' => 'xsd:int',
862  'pass' => 'xsd:int'),
863  array('position' => 'tns:doubleArray'),
864  SERVICE_NAMESPACE,
865  SERVICE_NAMESPACE.'#getPreviousReachedPoints',
866  SERVICE_STYLE,
867  SERVICE_USE,
868  'ILIAS getPreviousReachedPoints: Returns an array of reached points for the previous questions in a given test pass.');
869 
870  $this->server->register('getNrOfQuestionsInPass',
871  array('sid' => 'xsd:string',
872  'active_id' => 'xsd:long',
873  'pass' => 'xsd:int'),
874  array('count' => 'xsd:int'),
875  SERVICE_NAMESPACE,
876  SERVICE_NAMESPACE.'#getNrOfQuestionsInPass',
877  SERVICE_STYLE,
878  SERVICE_USE,
879  'ILIAS getNrOfQuestionsInPass: Returns the question count for a given test user in a given pass.');
880 
881  $this->server->register('getStructureObjects',
882  array('sid' => 'xsd:string',
883  'ref_id' => 'xsd:int'),
884  array('xml' => 'xsd:string'),
885  SERVICE_NAMESPACE,
886  SERVICE_NAMESPACE.'#getStructureObjects',
887  SERVICE_STYLE,
888  SERVICE_USE,
889  'ILIAS getStructureObjects: delivers structure of content objects like learning modules (chapters/pages) or glossary (terms)');
890 
891  // importUsers()
892  $this->server->register('importUsers',
893  array('sid' => 'xsd:string',
894  'folder_id' => 'xsd:int',
895  'usr_xml' => 'xsd:string',
896  'conflict_rule' => 'xsd:int',
897  'send_account_mail' => 'xsd:int'),
898  array('protocol' => 'xsd:string'),
899  SERVICE_NAMESPACE,
900  SERVICE_NAMESPACE.'#importUsers',
901  SERVICE_STYLE,
902  SERVICE_USE,
903  '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');
904 
905  $this->server->register('getRoles',
906  array('sid' => 'xsd:string',
907  'role_type' => 'xsd:string',
908  'id' => 'xsd:string'),
909  array('role_xml' => 'xsd:string'),
910  SERVICE_NAMESPACE,
911  SERVICE_NAMESPACE.'#getRoles',
912  SERVICE_STYLE,
913  SERVICE_USE,
914  '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');
915 
916  $this->server->register('getUsersForContainer',
917  array('sid' => 'xsd:string',
918  'ref_id' => 'xsd:int',
919  'attach_roles' => 'xsd:int',
920  'active' => 'xsd:int'),
921  array('user_xml' => 'xsd:string'),
922  SERVICE_NAMESPACE,
923  SERVICE_NAMESPACE.'#getUsersForContainer',
924  SERVICE_STYLE,
925  SERVICE_USE,
926  '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');
927 
928  $this->server->register('getUsersForRole',
929  array('sid' => 'xsd:string',
930  'role_id' => 'xsd:int',
931  'attach_roles' => 'xsd:int',
932  'active' => 'xsd:int'),
933  array('user_xml' => 'xsd:string'),
934  SERVICE_NAMESPACE,
935  SERVICE_NAMESPACE.'#getUsersForRole',
936  SERVICE_STYLE,
937  SERVICE_USE,
938  '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');
939 
940  $this->server->register('searchUser',
941  array('sid' => 'xsd:string',
942  'key_fields' => 'tns:stringArray',
943  'query_operator' => 'xsd:string',
944  'key_values' => 'tns:stringArray',
945  'attach_roles' => 'xsd:int',
946  'active' => 'xsd:int'),
947 
948  array('user_xml' => 'xsd:string'),
949  SERVICE_NAMESPACE,
950  SERVICE_NAMESPACE.'#searchUsers',
951  SERVICE_STYLE,
952  SERVICE_USE,
953  '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');
954 
955  // Mail Functions
956  // Check whether current user has new mail
957  $this->server->register('hasNewMail',
958  array('sid' => 'xsd:string'),
959  array('status' => 'xsd:boolean'),
960  SERVICE_NAMESPACE,
961  SERVICE_NAMESPACE.'#hasNewMail',
962  SERVICE_STYLE,
963  SERVICE_USE,
964  'ILIAS hasNewMail(): Checks whether the current authenticated user has a new mail.');
965 
966  $this->server->register('getNIC',
967  array('sid' => 'xsd:string'),
968  array('xmlresultset' => 'xsd:string'),
969  SERVICE_NAMESPACE,
970  SERVICE_NAMESPACE.'#getNIC',
971  SERVICE_STYLE,
972  SERVICE_USE,
973  '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');
974 
975  $this->server->register('getExerciseXML',
976  array('sid' => 'xsd:string', "ref_id" => 'xsd:int', "attachment_mode" => "xsd:int"),
977  array('exercisexml' => 'xsd:string'),
978  SERVICE_NAMESPACE,
979  SERVICE_NAMESPACE.'#getExerciseXML',
980  SERVICE_STYLE,
981  SERVICE_USE,
982  'ILIAS getExerciseXML(): returns xml description of exercise. Attachment mode: 0 - no file contents, 1 - plain content (base64encoded), 2 zlib + base64, 3 gzip + base64)');
983 
984  $this->server->register('addExercise',
985  array('sid' => 'xsd:string', "target_id" => 'xsd:int', "xml" => "xsd:string"),
986  array('refid' => 'xsd:int'),
987  SERVICE_NAMESPACE,
988  SERVICE_NAMESPACE.'#addExercise',
989  SERVICE_STYLE,
990  SERVICE_USE,
991  '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!');
992 
993  $this->server->register('updateExercise',
994  array('sid' => 'xsd:string', 'ref_id' => 'xsd:int', 'xml' => 'xsd:string'),
995  array('success' => 'xsd:boolean'),
996  SERVICE_NAMESPACE,
997  SERVICE_NAMESPACE.'#updateExercise',
998  SERVICE_STYLE,
999  SERVICE_USE,
1000  '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.!');
1001 
1002  $this->server->register('getFileXML',
1003  array('sid' => 'xsd:string', 'ref_id' => 'xsd:int', 'attachment_mode' => 'xsd:int'),
1004  array('filexml' => 'xsd:string'),
1005  SERVICE_NAMESPACE,
1006  SERVICE_NAMESPACE.'#getFileXML',
1007  SERVICE_STYLE,
1008  SERVICE_USE,
1009  'ILIAS getFileXML(): returns xml description of file. Attachment mode: 0 - no file contents, 1 - plain content (base64encoded), 2 zlib + base64, 3 gzip + base64)');
1010 
1011  $this->server->register('addFile',
1012  array('sid' => 'xsd:string', 'target_id' => 'xsd:int', 'xml' => 'xsd:string'),
1013  array('refid' => 'xsd:int'),
1014  SERVICE_NAMESPACE,
1015  SERVICE_NAMESPACE.'#addFile',
1016  SERVICE_STYLE,
1017  SERVICE_USE,
1018  '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!');
1019 
1020  $this->server->register('updateFile',
1021  array('sid' => 'xsd:string', 'ref_id' => 'xsd:int', 'xml' => 'xsd:string'),
1022  array('success' => 'xsd:boolean'),
1023  SERVICE_NAMESPACE,
1024  SERVICE_NAMESPACE.'#updateFile',
1025  SERVICE_STYLE,
1026  SERVICE_USE,
1027  '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.!');
1028 
1029 
1030  $this->server->register('getUserXML',
1031  array('sid' => 'xsd:string', 'user_ids' => 'tns:intArray', 'attach_roles' => 'xsd:int'),
1032  array('xml' => 'xsd:string'),
1033  SERVICE_NAMESPACE,
1034  SERVICE_NAMESPACE.'#resolveUsers',
1035  SERVICE_STYLE,
1036  SERVICE_USE,
1037  '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');
1038 
1039 
1040  // get objs ids by ref id
1041  $this->server->register('getObjIdsByRefIds',
1042  array('sid' => 'xsd:string',
1043  'ref_ids' => 'tns:intArray'),
1044  array('obj_ids' => 'tns:intArray'),
1045  SERVICE_NAMESPACE,
1046  SERVICE_NAMESPACE.'#getRefIdsByImportId',
1047  SERVICE_STYLE,
1048  SERVICE_USE,
1049  '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');
1050 
1051  $this->server->register('updateGroup',
1052  array('sid' => 'xsd:string', 'ref_id' => 'xsd:int', 'xml' => 'xsd:string'),
1053  array('success' => 'xsd:boolean'),
1054  SERVICE_NAMESPACE,
1055  SERVICE_NAMESPACE.'#updateGroup',
1056  SERVICE_STYLE,
1057  SERVICE_USE,
1058  'ILIAS updateGroup(): update existing group using ref id and group xml (see DTD).');
1059 
1060 
1061 
1062  $this->server->register('getIMSManifestXML',
1063  array('sid' => 'xsd:string', 'ref_id' => 'xsd:int'),
1064  array('xml' => 'xsd:string'),
1065  SERVICE_NAMESPACE,
1066  SERVICE_NAMESPACE.'#getIMSManifestXML',
1067  SERVICE_STYLE,
1068  SERVICE_USE,
1069  'ILIAS getIMSManifestXML(): returns xml of ims manifest file (scorm learning module) referred by refid');
1070 
1071  $this->server->register('hasSCORMCertificate',
1072  array('sid' => 'xsd:string', 'ref_id' => 'xsd:int', 'usr_id' => 'xsd:int'),
1073  array('success' => 'xsd:boolean'),
1074  SERVICE_NAMESPACE,
1075  SERVICE_NAMESPACE.'#hasSCORMCertificate',
1076  SERVICE_STYLE,
1077  SERVICE_USE,
1078  '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');
1079 
1080  $this->server->register('getSCORMCompletionStatus',
1081  array('sid' => 'xsd:string', 'usr_id' => 'xsd:int', 'ref_id' => 'xsd:int'),
1082  array('status' => 'xsd:string'),
1083  SERVICE_NAMESPACE,
1084  SERVICE_NAMESPACE.'#getSCORMCompletionStatus',
1085  SERVICE_STYLE,
1086  SERVICE_USE,
1087  'ILIAS getSCORMCompletionStatus(): returns a completion status of a scorm module');
1088 
1089  $this->server->register('copyObject',
1090  array('sid' => 'xsd:string', 'xml' => 'xsd:string'),
1091  array('xml' => 'xsd:int'),
1092  SERVICE_NAMESPACE,
1093  SERVICE_NAMESPACE.'#copyObject',
1094  SERVICE_STYLE,
1095  SERVICE_USE,
1096  'ILIAS copyObject(): returns reference of copy, if copy is created directly, or the ref id of the target if copy is in progress.');
1097 
1098  $this->server->register('moveObject',
1099  array('sid' => 'xsd:string', 'ref_id' => 'xsd:int', 'target_id' => 'xsd:int'),
1100  array('result' => 'xsd:boolean'),
1101  SERVICE_NAMESPACE,
1102  SERVICE_NAMESPACE.'#moveObject',
1103  SERVICE_STYLE,
1104  SERVICE_USE,
1105  'ILIAS moveObject(): returns true, if object with refid could be successfully moved to target id, other it raises an error.');
1106 
1107 
1108  $this->server->register ('getTestResults',
1109  array('sid' => 'xsd:string', 'ref_id' => 'xsd:int', 'sum_only' => 'xsd:boolean'),
1110  array('xml' => 'xsd:string'),
1111  SERVICE_NAMESPACE,
1112  SERVICE_NAMESPACE.'#getTestResults',
1113  SERVICE_STYLE,
1114  SERVICE_USE,
1115  'ILIAS getTestResults(): returns XMLResultSet with
1116  sum only = true: user_id, login, firstname, lastname, matriculation, maximum points, received points
1117  sum only = false: user_id, login, firstname, lastname, matriculation, question id, question title, question points, received points');
1118 
1119  $this->server->register ('removeTestResults',
1120  array(
1121  'sid' => 'xsd:string',
1122  'ref_id' => 'xsd:int',
1123  'user_ids' => 'tns:intArray'),
1124  array('success' => 'xsd:boolean'),
1125  SERVICE_NAMESPACE,
1126  SERVICE_NAMESPACE.'#removeTestResults',
1127  SERVICE_STYLE,
1128  SERVICE_USE,
1129  'ILIAS removeTestResults(): remove test results for the chosen users');
1130 
1131  $this->server->register ('getCoursesForUser',
1132  array('sid' => 'xsd:string', 'parameters' => 'xsd:string'),
1133  array('xml' => 'xsd:string'),
1134  SERVICE_NAMESPACE,
1135  SERVICE_NAMESPACE.'#getCoursesForUser',
1136  SERVICE_STYLE,
1137  SERVICE_USE,
1138  '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.');
1139 
1140  $this->server->register ('getGroupsForUser',
1141  array('sid' => 'xsd:string', 'parameters' => 'xsd:string'),
1142  array('xml' => 'xsd:string'),
1143  SERVICE_NAMESPACE,
1144  SERVICE_NAMESPACE.'#getGroupsForUser',
1145  SERVICE_STYLE,
1146  SERVICE_USE,
1147  '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.');
1148 
1149  $this->server->register ('getPathForRefId',
1150  array('sid' => 'xsd:string', 'ref_id' => 'xsd:int'),
1151  array('xml' => 'xsd:string'),
1152  SERVICE_NAMESPACE,
1153  SERVICE_NAMESPACE.'#getPathForRefId',
1154  SERVICE_STYLE,
1155  SERVICE_USE,
1156  'ILIAS getPathForRefId(): returns XMLResultSet with columns ref_id, type and title.');
1157 
1158  $this->server->register ('searchRoles',
1159  array('sid' => 'xsd:string', 'key' => 'xsd:string', 'combination' => 'xsd:string', 'role_type' => 'xsd:string'),
1160  array('xml' => 'xsd:string'),
1161  SERVICE_NAMESPACE,
1162  SERVICE_NAMESPACE.'#searchRoles',
1163  SERVICE_STYLE,
1164  SERVICE_USE,
1165  'ILIAS searchRoles(): returns XML following role dtd with search results for given role type and search terms.');
1166 
1167  $this->server->register ('getInstallationInfoXML',
1168  array(),
1169  array('xml' => 'xsd:string'),
1170  SERVICE_NAMESPACE,
1171  SERVICE_NAMESPACE.'#getInstallationInfoXML',
1172  SERVICE_STYLE,
1173  SERVICE_USE,
1174  'ILIAS getInstallationInfoXML(): returns XML following installation_info dtd');
1175 
1176  $this->server->register ('getClientInfoXML',
1177  array('clientid' => 'xsd:string'),
1178  array('xml' => 'xsd:string'),
1179  SERVICE_NAMESPACE,
1180  SERVICE_NAMESPACE.'#getClientInfoXML',
1181  SERVICE_STYLE,
1182  SERVICE_USE,
1183  'ILIAS getClientInfoXML(): returns XML following installation_info dtd, contains the client the data of given client id');
1184 
1185  $this->server->register('getSkillCompletionDateForTriggerRefId',
1186  array('sid' => 'xsd:string',
1187  'user_id' => 'xsd:string',
1188  'ref_id' => 'xsd:string'),
1189  array('dates' => 'xsd:string'),
1190  SERVICE_NAMESPACE,
1191  SERVICE_NAMESPACE.'#getSkillCompletionDateForTriggerRefId',
1192  SERVICE_STYLE,
1193  SERVICE_USE,
1194  'ILIAS getSkillCompletionDateForTriggerRefId(). Get completion dates for skill trigger ref ids.');
1195 
1196  $this->server->register('checkSkillUserCertificateForTriggerRefId',
1197  array('sid' => 'xsd:string',
1198  'user_id' => 'xsd:string',
1199  'ref_id' => 'xsd:string'),
1200  array('have_certificates' => 'xsd:string'),
1201  SERVICE_NAMESPACE,
1202  SERVICE_NAMESPACE.'#checkSkillUserCertificateForTriggerRefId',
1203  SERVICE_STYLE,
1204  SERVICE_USE,
1205  'ILIAS checkSkillUserCertificateForTriggerRefId(). Check user certificates for trigger ref ids.');
1206 
1207  $this->server->register('getSkillTriggerOfAllCertificates',
1208  array('sid' => 'xsd:string',
1209  'user_id' => 'xsd:string'),
1210  array('certificate_triggers' => 'xsd:string'),
1211  SERVICE_NAMESPACE,
1212  SERVICE_NAMESPACE.'#getSkillTriggerOfAllCertificates',
1213  SERVICE_STYLE,
1214  SERVICE_USE,
1215  'ILIAS getSkillTriggerOfAllCertificates(). Check get all trigger with certificate for a user.');
1216 
1217  $this->server->register ('getUserIdBySid',
1218  array('sid' => 'xsd:string'),
1219  array('usr_id' => 'xsd:int'),
1220  SERVICE_NAMESPACE,
1221  SERVICE_NAMESPACE.'#getUserIdBySid',
1222  SERVICE_STYLE,
1223  SERVICE_USE,
1224  'ILIAS getUserIdBySid(): returns an ILIAS usr_id for the given sid');
1225 
1226  $this->server->register('deleteExpiredDualOptInUserObjects',
1227  array('sid' => 'xsd:string',
1228  'usr_id' => 'xsd:int'),
1229  array('status' => 'xsd:boolean'),
1230  SERVICE_NAMESPACE,
1231  SERVICE_NAMESPACE.'#deleteExpiredDualOptInUserObjects',
1232  SERVICE_STYLE,
1233  SERVICE_USE,
1234  'ILIAS deleteExpiredDualOptInUserObjects(): Deletes expired user accounts caused by unconfirmed registration links in "dual opt in" registration method');
1235 
1236 
1237  $this->server->register('readWebLink',
1238  array('sid' => 'xsd:string', "ref_id" => 'xsd:int'),
1239  array('weblinkxml' => 'xsd:string'),
1240  SERVICE_NAMESPACE,
1241  SERVICE_NAMESPACE . '#readWebLink',
1242  SERVICE_STYLE,
1243  SERVICE_USE,
1244  'ILIAS readWebLink(): returns xml description of a weblink container.');
1245 
1246  $this->server->register('createWebLink',
1247  array('sid' => 'xsd:string', "target_id" => 'xsd:int', "xml" => "xsd:string"),
1248  array('refid' => 'xsd:int'),
1249  SERVICE_NAMESPACE,
1250  SERVICE_NAMESPACE . '#createWebLink',
1251  SERVICE_STYLE,
1252  SERVICE_USE,
1253  '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!');
1254 
1255  $this->server->register('updateWebLink',
1256  array('sid' => 'xsd:string', 'ref_id' => 'xsd:int', 'xml' => 'xsd:string'),
1257  array('success' => 'xsd:boolean'),
1258  SERVICE_NAMESPACE,
1259  SERVICE_NAMESPACE . '#updateWebLink',
1260  SERVICE_STYLE,
1261  SERVICE_USE,
1262  'ILIAS updateWebLink():update existing weblink, update weblink properties from xml (see ilias_weblink_4_0.dtd for details).');
1263 
1264  // mcs-patch start
1265  $this->server->register('getLearningProgressChanges',
1266  array('sid' => 'xsd:string', 'timestamp' => 'xsd:string', 'include_ref_ids' => 'xsd:boolean', 'type_filter' => 'tns:stringArray'),
1267  array('lp_data' => 'xsd:string'),
1268  SERVICE_NAMESPACE,
1269  SERVICE_NAMESPACE . '#getLearningProgressChanges',
1270  SERVICE_STYLE,
1271  SERVICE_USE,
1272  'ILIAS getLearningProgressChanges(): Get learning progress changes after a given timestamp.');
1273  // mcs-patch end
1274 
1275 
1276 
1277  $this->server->register('deleteProgress',
1278  array(
1279  'sid' => 'xsd:string',
1280  'ref_ids' => 'tns:intArray',
1281  'usr_ids' => 'tns:intArray',
1282  'type_filter' => 'tns:stringArray',
1283  'progress_filter' => 'tns:intArray'
1284  ),
1285  array('status' => 'xsd:boolean'),
1286  SERVICE_NAMESPACE,
1287  SERVICE_NAMESPACE.'#deleteProgress',
1288  SERVICE_STYLE,
1289  SERVICE_USE,
1290  'Delete user progress data of objects. '
1291  );
1292 
1293 
1294  $this->server->register(
1295  'getProgressInfo',
1296  array(
1297  'sid' => 'xsd:string',
1298  'ref_id' => 'xsd:int',
1299  'progress_filter' => 'tns:intArray'
1300  ),
1301  array('user_results' => 'xsd:string'),
1302  SERVICE_NAMESPACE,
1303  SERVICE_NAMESPACE . '#getProgressInfo',
1304  SERVICE_STYLE,
1305  SERVICE_USE,
1306  'Get object learning progress information'
1307  );
1308 
1309 
1310  $this->server->register(
1311  'exportDataCollectionContent',
1312  array(
1313  'sid' => 'xsd:string',
1314  'ref_id' => 'xsd:int',
1315  'table_id' => 'xsd:int',
1316  'format' => 'xsd:string',
1317  'filepath' => 'xsd:string'
1318  ),
1319  array('export_path' => 'xsd:string'),
1320  SERVICE_NAMESPACE,
1321  SERVICE_NAMESPACE . '#exportDataCollectionTableContent',
1322  SERVICE_STYLE,
1323  SERVICE_USE,
1324  'Generate DataCollectionContent Export'
1325  );
1326 
1327  $this->server->register(
1328  'processBackgroundTask',
1329  array(
1330  'sid' => 'xsd:string',
1331  'task_id' => 'xsd:int'
1332  ),
1333  array('status' => 'xsd:boolean'),
1334  SERVICE_NAMESPACE,
1335  SERVICE_NAMESPACE . '#processBackgroundTask',
1336  SERVICE_STYLE,
1337  SERVICE_USE,
1338  'Process task in background'
1339  );
1340 
1341 
1342  return true;
1343 
1344  }
Create styles array
The data for the language used.
+ Here is the caller graph for this function:

◆ start()

ilNusoapUserAdministrationAdapter::start ( )

Definition at line 66 of file class.ilNusoapUserAdministrationAdapter.php.

References $HTTP_RAW_POST_DATA, and exit.

67  {
68  global $HTTP_RAW_POST_DATA;
69 
70  $this->server->service($HTTP_RAW_POST_DATA);
71  exit();
72  }
global $HTTP_RAW_POST_DATA

Field Documentation

◆ $server

ilNusoapUserAdministrationAdapter::$server = null

Definition at line 42 of file class.ilNusoapUserAdministrationAdapter.php.


The documentation for this class was generated from the following file: