ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
ilNusoapUserAdministrationAdapter Class Reference
+ Collaboration diagram for ilNusoapUserAdministrationAdapter:

Public Member Functions

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

Data Fields

 $server = null
 

Protected Member Functions

 handleSoapPlugins ()
 Register any methods and types of SOAP plugins to the SOAP server. More...
 

Detailed Description

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

Constructor & Destructor Documentation

◆ __construct()

ilNusoapUserAdministrationAdapter::__construct (   $a_use_wsdl = true)

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

50 {
51 define('SERVICE_NAME', 'ILIASSoapWebservice');
52 define('SERVICE_NAMESPACE', 'urn:ilUserAdministration');
53 define('SERVICE_STYLE', 'rpc');
54 define('SERVICE_USE', 'encoded');
55 #global $debug; $debug = true;
56 $this->server = new soap_server();
57 $this->server->decode_utf8 = false;
58 $this->server->class = "ilSoapFunctions";
59
60 if ($a_use_wsdl) {
61 $this->__enableWSDL();
62 }
63
64 $this->__registerMethods();
65 }
soap_server allows the user to create a SOAP server that is capable of receiving messages and returni...
Definition: nusoap.php:2313

References __enableWSDL(), and __registerMethods().

+ Here is the call graph for this function:

Member Function Documentation

◆ __enableWSDL()

ilNusoapUserAdministrationAdapter::__enableWSDL ( )

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

77 {
78 $this->server->configureWSDL(SERVICE_NAME, SERVICE_NAMESPACE);
79
80 return true;
81 }

Referenced by __construct().

+ Here is the caller graph for this function:

◆ __registerMethods()

ilNusoapUserAdministrationAdapter::__registerMethods ( )

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

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

References $_GET, and handleSoapPlugins().

Referenced by __construct().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handleSoapPlugins()

ilNusoapUserAdministrationAdapter::handleSoapPlugins ( )
protected

Register any methods and types of SOAP plugins to the SOAP server.

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

1574 {
1575 // Note: We need a context that does not handle authentication at this point, because this is
1576 // handled by an actual SOAP request which always contains the session ID and client
1580
1581 global $ilPluginAdmin;
1582 $soapHook = new ilSoapHook($ilPluginAdmin);
1583 foreach ($soapHook->getWsdlTypes() as $type) {
1584 $this->server->wsdl->addComplexType(
1585 $type->getName(),
1586 $type->getTypeClass(),
1587 $type->getPhpType(),
1588 $type->getCompositor(),
1589 $type->getRestrictionBase(),
1590 $type->getElements(),
1591 $type->getAttributes(),
1592 $type->getArrayType()
1593 );
1594 }
1595 foreach ($soapHook->getSoapMethods() as $method) {
1596 $this->server->register(
1597 $method->getName(),
1598 $method->getInputParams(),
1599 $method->getOutputParams(),
1600 $method->getServiceNamespace(),
1601 $method->getServiceNamespace() . '#' . $method->getName(),
1602 $method->getServiceStyle(),
1603 $method->getServiceUse(),
1604 $method->getDocumentation()
1605 );
1606 }
1607 }
const CONTEXT_SOAP_NO_AUTH
static init($a_type)
Init context by type.
const CONTEXT_SOAP
static initILIAS()
ilias initialisation
Class ilSoapHook.
$type

References $type, ilContext\CONTEXT_SOAP, ilContext\CONTEXT_SOAP_NO_AUTH, ilContext\init(), and ilInitialisation\initILIAS().

Referenced by __registerMethods().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ start()

ilNusoapUserAdministrationAdapter::start ( )

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

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

References $HTTP_RAW_POST_DATA, and exit.

Field Documentation

◆ $server

ilNusoapUserAdministrationAdapter::$server = null

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


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