00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00034 include_once './webservice/soap/lib/nusoap.php';
00035 include_once './webservice/soap/include/inc.soap_functions.php';
00036
00037 class ilNusoapUserAdministrationAdapter
00038 {
00039
00040
00041
00042 var $server = null;
00043
00044
00045 function ilNusoapUserAdministrationAdapter($a_use_wsdl = true)
00046 {
00047 define('SERVICE_NAME','ILIAS Soap Webservice');
00048 define('SERVICE_NAMESPACE','urn:ilUserAdministration');
00049 define('SERVICE_STYLE','rpc');
00050 define('SERVICE_USE','encoded');
00051
00052 $this->server =& new soap_server();
00053
00054 if($a_use_wsdl)
00055 {
00056 $this->__enableWSDL();
00057 }
00058
00059 $this->__registerMethods();
00060
00061
00062 }
00063
00064 function start()
00065 {
00066 global $HTTP_RAW_POST_DATA;
00067
00068 $this->server->service($HTTP_RAW_POST_DATA);
00069 exit();
00070 }
00071
00072
00073 function __enableWSDL()
00074 {
00075 $this->server->configureWSDL(SERVICE_NAME,SERVICE_NAMESPACE);
00076
00077 return true;
00078 }
00079
00080
00081 function __registerMethods()
00082 {
00083
00084
00085 $this->server->wsdl->addComplexType('intArray',
00086 'complexType',
00087 'array',
00088 '',
00089 'SOAP-ENC:Array',
00090 array(),
00091 array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'xsd:int[]')),
00092 'xsd:int');
00093
00094
00095 $this->server->wsdl->addComplexType('stringArray',
00096 'complexType',
00097 'array',
00098 '',
00099 'SOAP-ENC:Array',
00100 array(),
00101 array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'xsd:string[]')),
00102 'xsd:string');
00103
00104
00105
00106
00107 $this->server->register('login',
00108 array('client' => 'xsd:string',
00109 'username' => 'xsd:string',
00110 'password' => 'xsd:string'),
00111 array('sid' => 'xsd:string'),
00112 SERVICE_NAMESPACE,
00113 SERVICE_NAMESPACE.'#login',
00114 SERVICE_STYLE,
00115 SERVICE_USE,
00116 'ILIAS login function');
00117
00118
00119 $this->server->register('logout',
00120 array('sid' => 'xsd:string'),
00121 array('success' => 'xsd:boolean'),
00122 SERVICE_NAMESPACE,
00123 SERVICE_NAMESPACE.'#logout',
00124 SERVICE_STYLE,
00125 SERVICE_USE,
00126 'ILIAS logout function');
00127
00128 $this->server->wsdl->addComplexType('ilUserData',
00129 'complexType',
00130 'struct',
00131 'all',
00132 '',
00133 array('usr_id' => array('name' => 'usr_id','type' => 'xsd:int'),
00134 'login' => array('name' => 'login', 'type' => 'xsd:string'),
00135 'passwd' => array('name' => 'passwd', 'type' => 'xsd:string'),
00136 'firstname' => array('name' => 'firstname', 'type' => 'xsd:string'),
00137 'lastname' => array('name' => 'lastname', 'type' => 'xsd:string'),
00138 'title' => array('name' => 'title', 'type' => 'xsd:string'),
00139 'gender' => array('name' => 'gender', 'type' => 'xsd:string'),
00140 'email' => array('name' => 'email', 'type' => 'xsd:string'),
00141 'institution' => array('name' => 'institution', 'type' => 'xsd:string'),
00142 'street' => array('name' => 'street', 'type' => 'xsd:string'),
00143 'city' => array('name' => 'city', 'type' => 'xsd:string'),
00144 'zipcode' => array('name' => 'zipcode', 'type' => 'xsd:string'),
00145 'country' => array('name' => 'country', 'type' => 'xsd:string'),
00146 'phone_office' => array('name' => 'phone_office', 'type' => 'xsd:string'),
00147 'last_login' => array('name' => 'last_login', 'type' => 'xsd:string'),
00148 'last_update' => array('name' => 'last_update', 'type' => 'xsd:string'),
00149 'create_date' => array('name' => 'create_date', 'type' => 'xsd:string'),
00150 'hobby' => array('name' => 'hobby', 'type' => 'xsd:string'),
00151 'department' => array('name' => 'department', 'type' => 'xsd:string'),
00152 'phone_home' => array('name' => 'phone_home', 'type' => 'xsd:string'),
00153 'phone_mobile' => array('name' => 'phone_mobile', 'type' => 'xsd:string'),
00154 'fax' => array('name' => 'fax', 'type' => 'xsd:string'),
00155 'time_limit_owner' => array('name' => 'time_limit_owner', 'type' => 'xsd:int'),
00156 'time_limit_unlimited' => array('name' => 'time_limit_unlimited', 'type' => 'xsd:int'),
00157 'time_limit_from' => array('name' => 'time_limit_from', 'type' => 'xsd:int'),
00158 'time_limit_until' => array('name' => 'time_limit_until', 'type' => 'xsd:int'),
00159 'time_limit_message' => array('name' => 'time_limit_message', 'type' => 'xsd:int'),
00160 'referral_comment' => array('name' => 'referral_comment', 'type' => 'xsd:string'),
00161 'matriculation' => array('name' => 'matriculation', 'type' => 'xsd:string'),
00162 'active' => array('name' => 'active', 'type' => 'xsd:int'),
00163 'accepted_agreement' => array('name' => 'accepted_agreement','type' => 'xsd:boolean'),
00164 'approve_date' => array('name' => 'approve_date', 'type' => 'xsd:string'),
00165 'user_skin' => array('name' => 'user_skin', 'type' => 'xsd:string'),
00166 'user_style' => array('name' => 'user_style', 'type' => 'xsd:string'),
00167 'user_language' => array('name' => 'user_language', 'type' => 'xsd:string'),
00168 'import_id' => array('name' => 'import_id', 'type' => 'xsd:string')
00169 ));
00170
00171
00172 $this->server->register('lookupUser',
00173 array('sid' => 'xsd:string',
00174 'user_name' => 'xsd:string'),
00175 array('usr_id' => 'xsd:int'),
00176 SERVICE_NAMESPACE,
00177 SERVICE_NAMESPACE.'#lookupUser',
00178 SERVICE_STYLE,
00179 SERVICE_USE,
00180 'ILIAS lookupUser(): check if username exists. Return usr_id or 0 if lookup fails.');
00181
00182
00183
00184 $this->server->register('getUser',
00185 array('sid' => 'xsd:string',
00186 'user_id' => 'xsd:int'),
00187 array('user_data' => 'tns:ilUserData'),
00188 SERVICE_NAMESPACE,
00189 SERVICE_NAMESPACE.'#getUser',
00190 SERVICE_STYLE,
00191 SERVICE_USE,
00192 'ILIAS getUser(): get complete set of user data.');
00193
00194 $this->server->register('updateUser',
00195 array('sid' => 'xsd:string',
00196 'user_data' => 'tns:ilUserData'),
00197 array('success' => 'xsd:boolean'),
00198 SERVICE_NAMESPACE,
00199 SERVICE_NAMESPACE.'#updateUser',
00200 SERVICE_STYLE,
00201 SERVICE_USE,
00202 'ILIAS updateUser(). Updates all user data. '.
00203 'Use getUser(), then modify desired fields and finally start the updateUser() call.');
00204
00205 $this->server->register('updatePassword',
00206 array('sid' => 'xsd:string',
00207 'user_id' => 'xsd:int',
00208 'new_password' => 'xsd:string'),
00209 array('success' => 'xsd:boolean'),
00210 SERVICE_NAMESPACE,
00211 SERVICE_NAMESPACE.'#updatePassword',
00212 SERVICE_STYLE,
00213 SERVICE_USE,
00214 'ILIAS updatePassword(). Updates password of given user. Password must be MD5 hash');
00215
00216
00217
00218 $this->server->register('addUser',
00219 array('sid' => 'xsd:string',
00220 'user_data' => 'tns:ilUserData',
00221 'global_role_id' => 'xsd:int'),
00222 array('user_id' => 'xsd:int'),
00223 SERVICE_NAMESPACE,
00224 SERVICE_NAMESPACE.'#addUser',
00225 SERVICE_STYLE,
00226 SERVICE_USE,
00227 'ILIAS addUser() user. Add new ILIAS user. Requires complete or subset of user_data structure');
00228
00229
00230 $this->server->register('deleteUser',
00231 array('sid' => 'xsd:string',
00232 'user_id' => 'xsd:int'),
00233 array('success' => 'xsd:boolean'),
00234 SERVICE_NAMESPACE,
00235 SERVICE_NAMESPACE.'#deleteUser',
00236 SERVICE_STYLE,
00237 SERVICE_USE,
00238 'ILIAS deleteUser(). Deletes all user related data (Bookmarks, Mails ...)');
00239
00240
00241 $this->server->register('addCourse',
00242 array('sid' => 'xsd:string',
00243 'target_id' => 'xsd:int',
00244 'crs_xml' => 'xsd:string'),
00245 array('course_id' => 'xsd:int'),
00246 SERVICE_NAMESPACE,
00247 SERVICE_NAMESPACE.'#addCourse',
00248 SERVICE_STYLE,
00249 SERVICE_USE,
00250 'ILIAS addCourse(). Course import. See ilias_course_0_1.dtd for details about course xml structure');
00251
00252
00253 $this->server->register('deleteCourse',
00254 array('sid' => 'xsd:string',
00255 'course_id' => 'xsd:int'),
00256 array('success' => 'xsd:boolean'),
00257 SERVICE_NAMESPACE,
00258 SERVICE_NAMESPACE.'#deleteCourse',
00259 SERVICE_STYLE,
00260 SERVICE_USE,
00261 'ILIAS deleteCourse(). Deletes a course. Delete courses are stored in "Trash" and can be undeleted in '.
00262 ' the ILIAS administration. ');
00263
00264 $this->server->register('assignCourseMember',
00265 array('sid' => 'xsd:string',
00266 'course_id' => 'xsd:int',
00267 'user_id' => 'xsd:int',
00268 'type' => 'xsd:string'),
00269 array('success' => 'xsd:boolean'),
00270 SERVICE_NAMESPACE,
00271 SERVICE_NAMESPACE.'#assignCourseMember',
00272 SERVICE_STYLE,
00273 SERVICE_USE,
00274 'ILIAS assignCourseMember(). Assigns an user to an existing course. Type should be "Admin", "Tutor" or "Member"');
00275
00276
00277 $this->server->register('excludeCourseMember',
00278 array('sid' => 'xsd:string',
00279 'course_id' => 'xsd:int',
00280 'user_id' => 'xsd:int'),
00281 array('success' => 'xsd:boolean'),
00282 SERVICE_NAMESPACE,
00283 SERVICE_NAMESPACE.'#excludeCourseMember',
00284 SERVICE_STYLE,
00285 SERVICE_USE,
00286 'ILIAS excludeCourseMember(). Excludes an user from an existing course.');
00287
00288
00289 $this->server->register('isAssignedToCourse',
00290 array('sid' => 'xsd:string',
00291 'course_id' => 'xsd:int',
00292 'user_id' => 'xsd:int'),
00293 array('role' => 'xsd:int'),
00294 SERVICE_NAMESPACE,
00295 SERVICE_NAMESPACE.'#isAssignedToCourse',
00296 SERVICE_STYLE,
00297 SERVICE_USE,
00298 'ILIAS isAssignedToCourse(). Checks whether an user is assigned to a given course. '.
00299 'Returns 0 => not assigned, 1 => course admin, 2 => course member or 3 => course tutor');
00300
00301
00302 $this->server->register('getCourseXML',
00303 array('sid' => 'xsd:string',
00304 'course_id' => 'xsd:int'),
00305 array('xml' => 'xsd:string'),
00306 SERVICE_NAMESPACE,
00307 SERVICE_NAMESPACE.'#getCourseXML',
00308 SERVICE_STYLE,
00309 SERVICE_USE,
00310 'ILIAS getCourseXML(). Get a xml description of a specific course.');
00311
00312
00313 $this->server->register('updateCourse',
00314 array('sid' => 'xsd:string',
00315 'course_id' => 'xsd:int',
00316 'xml' => 'xsd:string'),
00317 array('success' => 'xsd:boolean'),
00318 SERVICE_NAMESPACE,
00319 SERVICE_NAMESPACE.'#updateCourse',
00320 SERVICE_STYLE,
00321 SERVICE_USE,
00322 'ILIAS updateCourse(). Update course settings, assigned members, tutors, administrators with a '.
00323 'given xml description');
00324
00325
00326 $this->server->register('getObjIdByImportId',
00327 array('sid' => 'xsd:string',
00328 'import_id' => 'xsd:string'),
00329 array('obj_id' => 'xsd:int'),
00330 SERVICE_NAMESPACE,
00331 SERVICE_NAMESPACE.'#getCourseIdByImportId',
00332 SERVICE_STYLE,
00333 SERVICE_USE,
00334 'ILIAS getObjIdByImportId(). Get the obj_id of an ILIAS obj by a given import id.');
00335
00336
00337
00338 $this->server->register('getRefIdsByImportId',
00339 array('sid' => 'xsd:string',
00340 'import_id' => 'xsd:string'),
00341 array('ref_ids' => 'tns:intArray'),
00342 SERVICE_NAMESPACE,
00343 SERVICE_NAMESPACE.'#getRefIdsByImportId',
00344 SERVICE_STYLE,
00345 SERVICE_USE,
00346 'ILIAS getRefIdsByImportId(). Get all reference ids by a given import id.');
00347
00348
00349 $this->server->register('getRefIdsByObjId',
00350 array('sid' => 'xsd:string',
00351 'obj_id' => 'xsd:string'),
00352 array('ref_ids' => 'tns:intArray'),
00353 SERVICE_NAMESPACE,
00354 SERVICE_NAMESPACE.'#getRefIdsByObjId',
00355 SERVICE_STYLE,
00356 SERVICE_USE,
00357 'ILIAS getRefIdsByObjId(). Get all reference ids by a given object id.');
00358
00359
00360 $this->server->register('getObjectByReference',
00361 array('sid' => 'xsd:string',
00362 'reference_id' => 'xsd:int',
00363 'user_id' => 'xsd:int'),
00364 array('object_xml' => 'xsd:string'),
00365 SERVICE_NAMESPACE,
00366 SERVICE_NAMESPACE.'#getObjectByReference',
00367 SERVICE_STYLE,
00368 SERVICE_USE,
00369 'ILIAS getObjectByReference(). Get XML-description of an ILIAS object. If a user id is given, '.
00370 'this methods also checks the permissions of that user on the object.');
00371
00372 $this->server->register('getObjectsByTitle',
00373 array('sid' => 'xsd:string',
00374 'title' => 'xsd:string',
00375 'user_id' => 'xsd:int'),
00376 array('object_xml' => 'xsd:string'),
00377 SERVICE_NAMESPACE,
00378 SERVICE_NAMESPACE.'#getObjectsByTitle',
00379 SERVICE_STYLE,
00380 SERVICE_USE,
00381 'ILIAS getObjectsByTitle(). Get XML-description of an ILIAS object with given title. '.
00382 'If a user id is given this method also checks the permissions of that user on the object.');
00383
00384 $this->server->register('searchObjects',
00385 array('sid' => 'xsd:string',
00386 'types' => 'tns:stringArray',
00387 'key' => 'xsd:string',
00388 'combination' => 'xsd:string',
00389 'user_id' => 'xsd:int'),
00390 array('object_xml' => 'xsd:string'),
00391 SERVICE_NAMESPACE,
00392 SERVICE_NAMESPACE.'#searchObjects',
00393 SERVICE_STYLE,
00394 SERVICE_USE,
00395 'ILIAS searchObjects(): Searches for objects. Key is within "title" or "description" '.
00396 'Typical calls are searchObject($sid,array("lm","crs"),"\"this and that\"","and"); '.
00397 ' If an optional user id is given, this methods also return the permissions for that user '.
00398 'on the found objects');
00399
00400 $this->server->register('getTreeChilds',
00401 array('sid' => 'xsd:string',
00402 'ref_id' => 'xsd:int',
00403 'types' => 'tns:stringArray',
00404 'user_id' => 'xsd:int'),
00405 array('object_xml' => 'xsd:string'),
00406 SERVICE_NAMESPACE,
00407 SERVICE_NAMESPACE.'#getTreeChilds',
00408 SERVICE_STYLE,
00409 SERVICE_USE,
00410 'ILIAS getTreeChilds(): Get all child objects of a given object.'.
00411 'Choose array of types to filter the output. Choose empty type array to receive all object types');
00412
00413
00414
00415 $this->server->register('addObject',
00416 array('sid' => 'xsd:string',
00417 'target_id' => 'xsd:int',
00418 'object_xml' => 'xsd:string'),
00419 array('ref_id' => 'xsd:int'),
00420 SERVICE_NAMESPACE,
00421 SERVICE_NAMESPACE.'#addObject',
00422 SERVICE_STYLE,
00423 SERVICE_USE,
00424 'ILIAS addObject. Create new object based on xml description under a given node '.
00425 '("category,course,group or folder). Return created reference id of the new object.' );
00426
00427 $this->server->register('updateObjects',
00428 array('sid' => 'xsd:string',
00429 'object_xml' => 'xsd:string'),
00430 array('success' => 'xsd:boolean'),
00431 SERVICE_NAMESPACE,
00432 SERVICE_NAMESPACE.'#updateObjects',
00433 SERVICE_STYLE,
00434 SERVICE_USE,
00435 'ILIAS updateObjects. Update object data (title,description,owner)');
00436
00437 $this->server->register('addReference',
00438 array('sid' => 'xsd:string',
00439 'source_id' => 'xsd:int',
00440 'target_id' => 'xsd:int'),
00441 array('ref_id' => 'xsd:int'),
00442 SERVICE_NAMESPACE,
00443 SERVICE_NAMESPACE.'#addReference',
00444 SERVICE_STYLE,
00445 SERVICE_USE,
00446 'ILIAS addReference. Create new link of given object to new object. Return the new reference id');
00447
00448 $this->server->register('deleteObject',
00449 array('sid' => 'xsd:string',
00450 'reference_id' => 'xsd:int'),
00451 array('success' => 'xsd:boolean'),
00452 SERVICE_NAMESPACE,
00453 SERVICE_NAMESPACE.'#deleteObject',
00454 SERVICE_STYLE,
00455 SERVICE_USE,
00456 'ILIAS deleteObject. Stores object in trash. If multiple references exist, only the reference is deleted ');
00457
00458
00459 $this->server->register('removeFromSystemByImportId',
00460 array('sid' => 'xsd:string',
00461 'import_id' => 'xsd:string'),
00462 array('success' => 'xsd:boolean'),
00463 SERVICE_NAMESPACE,
00464 SERVICE_NAMESPACE.'#removeFromSystemByImportId',
00465 SERVICE_STYLE,
00466 SERVICE_USE,
00467 'ILIAS removeFromSystemByImportId(). Removes an object identified by its import id permanently from the '.
00468 'system. All data will be deleted. There will be no possibility to restore it from the trash. Do not use '.
00469 'this function for deleting roles or users. Use deleteUser() or deleteRole() instead.');
00470
00471 $this->server->register('addUserRoleEntry',
00472 array('sid' => 'xsd:string',
00473 'user_id' => 'xsd:int',
00474 'role_id' => 'xsd:int'),
00475 array('success' => 'xsd:boolean'),
00476 SERVICE_NAMESPACE,
00477 SERVICE_NAMESPACE.'#addUserRoleEntry',
00478 SERVICE_STYLE,
00479 SERVICE_USE,
00480 'ILIAS addUserRoleEntry. Assign user to role.');
00481
00482 $this->server->register('deleteUserRoleEntry',
00483 array('sid' => 'xsd:string',
00484 'user_id' => 'xsd:int',
00485 'role_id' => 'xsd:int'),
00486 array('success' => 'xsd:boolean'),
00487 SERVICE_NAMESPACE,
00488 SERVICE_NAMESPACE.'#deleteUserRoleEntry',
00489 SERVICE_STYLE,
00490 SERVICE_USE,
00491 'ILIAS deleteUserRoleEntry. Deassign user from role.');
00492
00493
00494
00495 $this->server->wsdl->addComplexType('ilOperation',
00496 'complexType',
00497 'struct',
00498 'all',
00499 '',
00500 array('ops_id' => array('name' => 'ops_id',
00501 'type' => 'xsd:int'),
00502 'operation' => array('name' => 'operation',
00503 'type' => 'xsd:string'),
00504 'description' => array('name' => 'description',
00505 'type' => 'xsd:string')));
00506
00507 $this->server->wsdl->addComplexType('ilOperations',
00508 'complexType',
00509 'array',
00510 '',
00511 'SOAP-ENC:Array',
00512 array(),
00513 array(array('ref' => 'SOAP-ENC:arrayType',
00514 'wsdl:arrayType' => 'tns:ilOperation[]')),
00515 'tns:ilOperation');
00516 $this->server->register('getOperations',
00517 array('sid' => 'xsd:string'),
00518 array('operations' => 'tns:ilOperations'),
00519 SERVICE_NAMESPACE,
00520 SERVICE_NAMESPACE.'#getOperations',
00521 SERVICE_STYLE,
00522 SERVICE_USE,
00523 'ILIAS getOperations(): get complete set of RBAC operations.');
00524
00525 $this->server->register('revokePermissions',
00526 array('sid' => 'xsd:string',
00527 'ref_id' => 'xsd:int',
00528 'role_id' => 'xsd:int'),
00529 array('success' => 'xsd:boolean'),
00530 SERVICE_NAMESPACE,
00531 SERVICE_NAMESPACE.'#revokePermissions',
00532 SERVICE_STYLE,
00533 SERVICE_USE,
00534 'ILIAS revokePermissions(): Revoke all permissions for a specific role on an object.');
00535
00536 $this->server->wsdl->addComplexType('ilOperationIds',
00537 'complexType',
00538 'array',
00539 '',
00540 'SOAP-ENC:Array',
00541 array(),
00542 array(array('ref' => 'SOAP-ENC:arrayType',
00543 'wsdl:arrayType' => 'xsd:int[]')),
00544 'xsd:int');
00545
00546 $this->server->register('grantPermissions',
00547 array('sid' => 'xsd:string',
00548 'ref_id' => 'xsd:int',
00549 'role_id' => 'xsd:int',
00550 'operations' => 'tns:intArray'),
00551 array('success' => 'xsd:boolean'),
00552 SERVICE_NAMESPACE,
00553 SERVICE_NAMESPACE.'#grantPermissions',
00554 SERVICE_STYLE,
00555 SERVICE_USE,
00556 'ILIAS grantPermissions(): Grant permissions for a specific role on an object. '.
00557 '(Substitutes existing permission settings)');
00558
00559 $this->server->register('getLocalRoles',
00560 array('sid' => 'xsd:string',
00561 'ref_id' => 'xsd:int'),
00562 array('role_xml' => 'xsd:string'),
00563 SERVICE_NAMESPACE,
00564 SERVICE_NAMESPACE.'#getLocalRoles',
00565 SERVICE_STYLE,
00566 SERVICE_USE,
00567 'ILIAS getLocalRoles(): Get all local roles assigned to an specific object.');
00568
00569 $this->server->register('getUserRoles',
00570 array('sid' => 'xsd:string',
00571 'user_id' => 'xsd:int'),
00572 array('role_xml' => 'xsd:string'),
00573 SERVICE_NAMESPACE,
00574 SERVICE_NAMESPACE.'#getLocalRoles',
00575 SERVICE_STYLE,
00576 SERVICE_USE,
00577 'ILIAS getUserRoles(): Get all local roles assigned to an specific user. ');
00578
00579 $this->server->register('addRole',
00580 array('sid' => 'xsd:string',
00581 'target_id' => 'xsd:int',
00582 'obj_xml' => 'xsd:string'),
00583 array('role_ids' => 'tns:intArray'),
00584 SERVICE_NAMESPACE,
00585 SERVICE_NAMESPACE.'#addRole',
00586 SERVICE_STYLE,
00587 SERVICE_USE,
00588 'ILIAS addRole(): Creates new role under given node. "target_id" is the reference id of an ILIAS '.
00589 'ILIAS object. E.g ref_id of crs,grp. If no role folder exists, a new role folder will be created.');
00590
00591 $this->server->register('deleteRole',
00592 array('sid' => 'xsd:string',
00593 'role_id' => 'xsd:int'),
00594 array('success' => 'xsd:boolean'),
00595 SERVICE_NAMESPACE,
00596 SERVICE_NAMESPACE.'#deleteRole',
00597 SERVICE_STYLE,
00598 SERVICE_USE,
00599 'ILIAS deleteRole(): Deletes an role and all user assignments. Fails if it is the last role of an user');
00600
00601 $this->server->register('addRoleFromTemplate',
00602 array('sid' => 'xsd:string',
00603 'target_id' => 'xsd:int',
00604 'obj_xml' => 'xsd:string',
00605 'role_template_id' => 'xsd:int'),
00606 array('role_ids' => 'tns:intArray'),
00607 SERVICE_NAMESPACE,
00608 SERVICE_NAMESPACE.'#addRole',
00609 SERVICE_STYLE,
00610 SERVICE_USE,
00611 'ILIAS addRole(): Creates new role under given node. "target_id" is the reference id of an ILIAS '.
00612 'ILIAS object. E.g ref_id of crs,grp. If no role folder exists, a new role folder will be created. '.
00613 'In addition to addRole the template permissions will be copied from the given role template');
00614
00615 $this->server->register('getObjectTreeOperations',
00616 array('sid' => 'xsd:string',
00617 'ref_id' => 'xsd:int',
00618 'user_id' => 'xsd:int'),
00619 array('operations' => 'tns:ilOperations'),
00620 SERVICE_NAMESPACE,
00621 SERVICE_NAMESPACE.'#getPermissionsForObject',
00622 SERVICE_STYLE,
00623 SERVICE_USE,
00624 'ILIAS getObjectTreeOperations(): Get all granted permissions for all references of '.
00625 'an object for a specific user. Returns array of granted operations or empty array');
00626
00627 $this->server->register('addGroup',
00628 array('sid' => 'xsd:string',
00629 'target_id' => 'xsd:int',
00630 'group_xml' => 'xsd:string'),
00631 array('ref_id' => 'xsd:int'),
00632 SERVICE_NAMESPACE,
00633 SERVICE_NAMESPACE.'#addGroup',
00634 SERVICE_STYLE,
00635 SERVICE_USE,
00636 'ILIAS addGroup(): Add grop according to valid group XML '.
00637 '@See ilias_group_0_1.dtd');
00638
00639 $this->server->register('groupExists',
00640 array('sid' => 'xsd:string',
00641 'title' => 'xsd:string'),
00642 array('exists' => 'xsd:boolean'),
00643 SERVICE_NAMESPACE,
00644 SERVICE_NAMESPACE.'#groupExists',
00645 SERVICE_STYLE,
00646 SERVICE_USE,
00647 'ILIAS addGroup(): Check if group with given name exists. ');
00648
00649
00650
00651 $this->server->register('getGroup',
00652 array('sid' => 'xsd:string',
00653 'ref_id' => 'xsd:int'),
00654 array('group_xml' => 'xsd:string'),
00655 SERVICE_NAMESPACE,
00656 SERVICE_NAMESPACE.'#getGroup',
00657 SERVICE_STYLE,
00658 SERVICE_USE,
00659 'ILIAS getGroup(): get xml description of grouip with given reference id.');
00660
00661
00662 $this->server->register('assignGroupMember',
00663 array('sid' => 'xsd:string',
00664 'group_id' => 'xsd:int',
00665 'user_id' => 'xsd:int',
00666 'type' => 'xsd:string'),
00667 array('success' => 'xsd:boolean'),
00668 SERVICE_NAMESPACE,
00669 SERVICE_NAMESPACE.'#assignGroupMember',
00670 SERVICE_STYLE,
00671 SERVICE_USE,
00672 'ILIAS assignGroupMember(). Assigns an user to an existing group. Type should be "Admin","Member"');
00673
00674
00675 $this->server->register('excludeGroupMember',
00676 array('sid' => 'xsd:string',
00677 'group_id' => 'xsd:int',
00678 'user_id' => 'xsd:int'),
00679 array('success' => 'xsd:boolean'),
00680 SERVICE_NAMESPACE,
00681 SERVICE_NAMESPACE.'#excludeGroupMember',
00682 SERVICE_STYLE,
00683 SERVICE_USE,
00684 'ILIAS excludeGroupMember(). Excludes an user from an existing group.');
00685
00686
00687 $this->server->register('isAssignedToGroup',
00688 array('sid' => 'xsd:string',
00689 'group_id' => 'xsd:int',
00690 'user_id' => 'xsd:int'),
00691 array('role' => 'xsd:int'),
00692 SERVICE_NAMESPACE,
00693 SERVICE_NAMESPACE.'#isAssignedToGroup',
00694 SERVICE_STYLE,
00695 SERVICE_USE,
00696 'ILIAS isAssignedToGroup(). Checks whether an user is assigned to a given group. '.
00697 'Returns 0 => not assigned, 1 => group admin, 2 => group member');
00698
00699
00700
00701
00702 $this->server->register('sendMail',
00703 array('sid' => 'xsd:string',
00704 'rcp_to' => 'xsd:string',
00705 'rcp_cc' => 'xsd:string',
00706 'rcp_bcc' => 'xsd:string',
00707 'sender' => 'xsd:string',
00708 'subject' => 'xsd:string',
00709 'message' => 'xsd:string',
00710 'attachments' => 'xsd:string'),
00711 array('status' => 'xsd:boolean'),
00712 SERVICE_NAMESPACE,
00713 SERVICE_NAMESPACE.'#sendMail',
00714 SERVICE_STYLE,
00715 SERVICE_USE,
00716 'ILIAS sendMail(): Send mime mails according to xml description. Only for internal usage '.
00717 'syntax, parameters may change in future releases');
00718
00719 $this->server->register('saveQuestionResult',
00720 array('sid' => 'xsd:string',
00721 'user_id' => 'xsd:int',
00722 'test_id' => 'xsd:int',
00723 'question_id' => 'xsd:int',
00724 'pass' => 'xsd:int',
00725 'solution' => 'tns:stringArray'),
00726 array('status' => 'xsd:boolean'),
00727 SERVICE_NAMESPACE,
00728 SERVICE_NAMESPACE.'#saveQuestionResult',
00729 SERVICE_STYLE,
00730 SERVICE_USE,
00731 'ILIAS saveQuesionResult(): Typically called from Java Applet questions. Only for internal usage '.
00732 'Sntax, parameters may change in future releases');
00733
00734
00735
00736
00737 return true;
00738 }
00739
00740 }
00741 ?>