ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
ilNusoapUserAdministrationAdapter Class Reference
+ Collaboration diagram for ilNusoapUserAdministrationAdapter:

Public Member Functions

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

Data Fields

 $server = null
 

Detailed Description

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

Member Function Documentation

◆ __enableWSDL()

ilNusoapUserAdministrationAdapter::__enableWSDL ( )

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

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

Referenced by ilNusoapUserAdministrationAdapter().

+ Here is the caller graph for this function:

◆ __registerMethods()

ilNusoapUserAdministrationAdapter::__registerMethods ( )

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

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

Referenced by ilNusoapUserAdministrationAdapter().

+ Here is the caller graph for this function:

◆ ilNusoapUserAdministrationAdapter()

ilNusoapUserAdministrationAdapter::ilNusoapUserAdministrationAdapter (   $a_use_wsdl = true)

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

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

References __enableWSDL(), and __registerMethods().

+ Here is the call graph for this function:

◆ start()

ilNusoapUserAdministrationAdapter::start ( )

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

67 {
69
70 $this->server->service($HTTP_RAW_POST_DATA);
71 exit();
72 }
global $HTTP_RAW_POST_DATA
exit
Definition: login.php:54

References $HTTP_RAW_POST_DATA, and exit.

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: