• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

webservice/soap/classes/class.ilNusoapUserAdministrationAdapter.php

Go to the documentation of this file.
00001 <?php
00002 /*
00003         +-----------------------------------------------------------------------------+
00004         | ILIAS open source                                                           |
00005         +-----------------------------------------------------------------------------+
00006         | Copyright (c) 1998-2006 ILIAS open source, University of Cologne            |
00007         |                                                                             |
00008         | This program is free software; you can redistribute it and/or               |
00009         | modify it under the terms of the GNU General Public License                 |
00010         | as published by the Free Software Foundation; either version 2              |
00011         | of the License, or (at your option) any later version.                      |
00012         |                                                                             |
00013         | This program is distributed in the hope that it will be useful,             |
00014         | but WITHOUT ANY WARRANTY; without even the implied warranty of              |
00015         | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               |
00016         | GNU General Public License for more details.                                |
00017         |                                                                             |
00018         | You should have received a copy of the GNU General Public License           |
00019         | along with this program; if not, write to the Free Software                 |
00020         | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. |
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          * @var object Nusoap-Server
00041          */
00042         var $server = null;
00043 
00044 
00045     function ilNusoapUserAdministrationAdapter($a_use_wsdl = true)
00046     {
00047                 define('SERVICE_NAME','ILIASSoapWebservice');
00048                 define('SERVICE_NAMESPACE','urn:ilUserAdministration');
00049                 define('SERVICE_STYLE','rpc');
00050                 define('SERVICE_USE','encoded');
00051                 global $debug; $debug = true;
00052                 $this->server =& new soap_server();
00053                 $this->server->decode_utf8 = false;
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         // PRIVATE
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                 // Add useful complex types. E.g. array("a","b") or array(1,2)
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                 $this->server->wsdl->addComplexType('stringArray',
00095                                                                                         'complexType',
00096                                                                                         'array',
00097                                                                                         '',
00098                                                                                         'SOAP-ENC:Array',
00099                                                                                         array(),
00100                                                                                         array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'xsd:string[]')),
00101                                                                                         'xsd:string');
00102 
00103                 // It's not possible to register classes in nusoap
00104 
00105                 // login()
00106                 $this->server->register('login',
00107                                                                 array('client' => 'xsd:string',
00108                                                                           'username' => 'xsd:string',
00109                                                                           'password' => 'xsd:string'),
00110                                                                 array('sid' => 'xsd:string'),
00111                                                                 SERVICE_NAMESPACE,
00112                                                                 SERVICE_NAMESPACE.'#login',
00113                                                                 SERVICE_STYLE,
00114                                                                 SERVICE_USE,
00115                                                                 'ILIAS login function');
00116 
00117                 // loginCAS()
00118                 $this->server->register('loginCAS',
00119                                                                 array('client' => 'xsd:string',
00120                                                                           'PT' => 'xsd:string',
00121                                                                           'user' => 'xsd:string'),
00122                                                                 array('sid' => 'xsd:string'),
00123                                                                 SERVICE_NAMESPACE,
00124                                                                 SERVICE_NAMESPACE.'#loginCAS',
00125                                                                 SERVICE_STYLE,
00126                                                                 SERVICE_USE,
00127                                                                 'ILIAS login function via CAS');
00128                 // loginLDAP()
00129                 $this->server->register('loginLDAP',
00130                                                                 array('client' => 'xsd:string',
00131                                                                           'username' => 'xsd:string',
00132                                                                           'password' => 'xsd:string'),
00133                                                                 array('sid' => 'xsd:string'),
00134                                                                 SERVICE_NAMESPACE,
00135                                                                 SERVICE_NAMESPACE.'#login',
00136                                                                 SERVICE_STYLE,
00137                                                                 SERVICE_USE,
00138                                                                 'ILIAS login function via LDAP');
00139 
00140 
00141 
00142                                                                 // logout()
00143                 $this->server->register('logout',
00144                                                                 array('sid' => 'xsd:string'),
00145                                                                 array('success' => 'xsd:boolean'),
00146                                                                 SERVICE_NAMESPACE,
00147                                                                 SERVICE_NAMESPACE.'#logout',
00148                                                                 SERVICE_STYLE,
00149                                                                 SERVICE_USE,
00150                                                                 'ILIAS logout function');
00151                 // user_data definitions
00152                 $this->server->wsdl->addComplexType('ilUserData',
00153                                                                                         'complexType',
00154                                                                                         'struct',
00155                                                                                         'all',
00156                                                                                         '',
00157                                                                                         array('usr_id' => array('name' => 'usr_id','type' => 'xsd:int'),
00158                                                                                                   'login' => array('name' => 'login', 'type' => 'xsd:string'),
00159                                                                                                   'passwd' => array('name' => 'passwd', 'type' => 'xsd:string'),
00160                                                                                                   'firstname' => array('name' => 'firstname', 'type' => 'xsd:string'),
00161                                                                                                   'lastname' => array('name' => 'lastname', 'type' => 'xsd:string'),
00162                                                                                                   'title' => array('name' => 'title', 'type' => 'xsd:string'),
00163                                                                                                   'gender' => array('name' => 'gender', 'type' => 'xsd:string'),
00164                                                                                                   'email' => array('name' => 'email', 'type' => 'xsd:string'),
00165                                                                                                   'institution' => array('name' => 'institution', 'type' => 'xsd:string'),
00166                                                                                                   'street' => array('name' => 'street', 'type' => 'xsd:string'),
00167                                                                                                   'city' => array('name' => 'city', 'type' => 'xsd:string'),
00168                                                                                                   'zipcode' => array('name' => 'zipcode', 'type' => 'xsd:string'),
00169                                                                                                   'country' => array('name' => 'country', 'type' => 'xsd:string'),
00170                                                                                                   'phone_office' => array('name' => 'phone_office', 'type' => 'xsd:string'),
00171                                                                                                   'last_login' => array('name' => 'last_login', 'type' => 'xsd:string'),
00172                                                                                                   'last_update' => array('name' => 'last_update', 'type' => 'xsd:string'),
00173                                                                                                   'create_date' => array('name' => 'create_date', 'type' => 'xsd:string'),
00174                                                                                                   'hobby' => array('name' => 'hobby', 'type' => 'xsd:string'),
00175                                                                                                   'department' => array('name' => 'department', 'type' => 'xsd:string'),
00176                                                                                                   'phone_home' => array('name' => 'phone_home', 'type' => 'xsd:string'),
00177                                                                                                   'phone_mobile' => array('name' => 'phone_mobile', 'type' => 'xsd:string'),
00178                                                                                                   'fax' => array('name' => 'fax', 'type' => 'xsd:string'),
00179                                                                                                   'time_limit_owner' => array('name' => 'time_limit_owner', 'type' => 'xsd:int'),
00180                                                                                                   'time_limit_unlimited' => array('name' => 'time_limit_unlimited', 'type' => 'xsd:int'),
00181                                                                                                   'time_limit_from' => array('name' => 'time_limit_from', 'type' => 'xsd:int'),
00182                                                                                                   'time_limit_until' => array('name' => 'time_limit_until', 'type' => 'xsd:int'),
00183                                                                                                   'time_limit_message' => array('name' => 'time_limit_message', 'type' => 'xsd:int'),
00184                                                                                                   'referral_comment' => array('name' => 'referral_comment', 'type' => 'xsd:string'),
00185                                                                                                   'matriculation' => array('name' => 'matriculation', 'type' => 'xsd:string'),
00186                                                                                                   'active' => array('name' => 'active', 'type' => 'xsd:int'),
00187                                                                                                   'accepted_agreement' => array('name' => 'accepted_agreement','type' => 'xsd:boolean'),
00188                                                                                                   'approve_date' => array('name' => 'approve_date', 'type' => 'xsd:string'),
00189                                                                                                   'user_skin' => array('name' => 'user_skin', 'type' => 'xsd:string'),
00190                                                                                                   'user_style' => array('name' => 'user_style', 'type' => 'xsd:string'),
00191                                                                                                   'user_language' => array('name' => 'user_language', 'type' => 'xsd:string'),
00192                                                                                                   'import_id' => array('name' => 'import_id', 'type' => 'xsd:string')
00193                                                                                                   ));
00194 
00195 
00196                 // lookupUser()
00197                 $this->server->register('lookupUser',
00198                                                                 array('sid' => 'xsd:string',
00199                                                                           'user_name' => 'xsd:string'),
00200                                                                 array('usr_id' => 'xsd:int'),
00201                                                                 SERVICE_NAMESPACE,
00202                                                                 SERVICE_NAMESPACE.'#lookupUser',
00203                                                                 SERVICE_STYLE,
00204                                                                 SERVICE_USE,
00205                                                                 'ILIAS lookupUser(): check if username exists. Return usr_id or 0 if lookup fails.');
00206 
00207 
00208                 // getUser()
00209                 $this->server->register('getUser',
00210                                                                 array('sid' => 'xsd:string',
00211                                                                           'user_id' => 'xsd:int'),
00212                                                                 array('user_data' => 'tns:ilUserData'),
00213                                                                 SERVICE_NAMESPACE,
00214                                                                 SERVICE_NAMESPACE.'#getUser',
00215                                                                 SERVICE_STYLE,
00216                                                                 SERVICE_USE,
00217                                                                 'ILIAS getUser(): get complete set of user data.');
00218                 // updateUser()
00219                 $this->server->register('updateUser',
00220                                                                 array('sid' => 'xsd:string',
00221                                                                           'user_data' => 'tns:ilUserData'),
00222                                                                 array('success' => 'xsd:boolean'),
00223                                                                 SERVICE_NAMESPACE,
00224                                                                 SERVICE_NAMESPACE.'#updateUser',
00225                                                                 SERVICE_STYLE,
00226                                                                 SERVICE_USE,
00227                                                                 'ILIAS updateUser(). DEPRECATED: Use importUsers() for modifications of user data. Updates all user data. '.
00228                                                                 'Use getUser(), then modify desired fields and finally start the updateUser() call.');
00229                 // Update password
00230                 $this->server->register('updatePassword',
00231                                                                 array('sid' => 'xsd:string',
00232                                                                           'user_id' => 'xsd:int',
00233                                                                           'new_password' => 'xsd:string'),
00234                                                                 array('success' => 'xsd:boolean'),
00235                                                                 SERVICE_NAMESPACE,
00236                                                                 SERVICE_NAMESPACE.'#updatePassword',
00237                                                                 SERVICE_STYLE,
00238                                                                 SERVICE_USE,
00239                                                                 'ILIAS updatePassword(). Updates password of given user. Password must be MD5 hash');
00240 
00241 
00242                 // addUser()
00243                 $this->server->register('addUser',
00244                                                                 array('sid' => 'xsd:string',
00245                                                                           'user_data' => 'tns:ilUserData',
00246                                                                           'global_role_id' => 'xsd:int'),
00247                                                                 array('user_id' => 'xsd:int'),
00248                                                                 SERVICE_NAMESPACE,
00249                                                                 SERVICE_NAMESPACE.'#addUser',
00250                                                                 SERVICE_STYLE,
00251                                                                 SERVICE_USE,
00252                                                                 'ILIAS addUser() user. DEPRECATED: Since it is not possible to add new user data fields '.
00253                                                                 'without breaking the backward compatability, this method is deprecated. Please use importUser() instead. '.
00254                                                                 'Add new ILIAS user. Requires complete or subset of user_data structure');
00255 
00256                 // deleteUser()
00257                 $this->server->register('deleteUser',
00258                                                                 array('sid' => 'xsd:string',
00259                                                                           'user_id' => 'xsd:int'),
00260                                                                 array('success' => 'xsd:boolean'),
00261                                                                 SERVICE_NAMESPACE,
00262                                                                 SERVICE_NAMESPACE.'#deleteUser',
00263                                                                 SERVICE_STYLE,
00264                                                                 SERVICE_USE,
00265                                                                 'ILIAS deleteUser(). Deletes all user related data (Bookmarks, Mails ...)');
00266 
00267                 // addCourse()
00268                 $this->server->register('addCourse',
00269                                                                 array('sid' => 'xsd:string',
00270                                                                           'target_id' => 'xsd:int',
00271                                                                           'crs_xml' => 'xsd:string'),
00272                                                                 array('course_id' => 'xsd:int'),
00273                                                                 SERVICE_NAMESPACE,
00274                                                                 SERVICE_NAMESPACE.'#addCourse',
00275                                                                 SERVICE_STYLE,
00276                                                                 SERVICE_USE,
00277                                                                 'ILIAS addCourse(). Course import. See ilias_course_0_1.dtd for details about course xml structure');
00278 
00279                 // deleteCourse()
00280                 $this->server->register('deleteCourse',
00281                                                                 array('sid' => 'xsd:string',
00282                                                                           'course_id' => 'xsd:int'),
00283                                                                 array('success' => 'xsd:boolean'),
00284                                                                 SERVICE_NAMESPACE,
00285                                                                 SERVICE_NAMESPACE.'#deleteCourse',
00286                                                                 SERVICE_STYLE,
00287                                                                 SERVICE_USE,
00288                                                                 'ILIAS deleteCourse(). Deletes a course. Delete courses are stored in "Trash" and can be undeleted in '.
00289                                                                 ' the ILIAS administration. ');
00290                 // assignCourseMember()
00291                 $this->server->register('assignCourseMember',
00292                                                                 array('sid' => 'xsd:string',
00293                                                                           'course_id' => 'xsd:int',
00294                                                                           'user_id' => 'xsd:int',
00295                                                                           'type' => 'xsd:string'),
00296                                                                 array('success' => 'xsd:boolean'),
00297                                                                 SERVICE_NAMESPACE,
00298                                                                 SERVICE_NAMESPACE.'#assignCourseMember',
00299                                                                 SERVICE_STYLE,
00300                                                                 SERVICE_USE,
00301                                                                 'ILIAS assignCourseMember(). Assigns an user to an existing course. Type should be "Admin", "Tutor" or "Member"');
00302 
00303                 // excludeCourseMember()
00304                 $this->server->register('excludeCourseMember',
00305                                                                 array('sid' => 'xsd:string',
00306                                                                           'course_id' => 'xsd:int',
00307                                                                           'user_id' => 'xsd:int'),
00308                                                                 array('success' => 'xsd:boolean'),
00309                                                                 SERVICE_NAMESPACE,
00310                                                                 SERVICE_NAMESPACE.'#excludeCourseMember',
00311                                                                 SERVICE_STYLE,
00312                                                                 SERVICE_USE,
00313                                                                 'ILIAS excludeCourseMember(). Excludes an user from an existing course.');
00314 
00315                 // isAssignedToCourse()
00316                 $this->server->register('isAssignedToCourse',
00317                                                                 array('sid' => 'xsd:string',
00318                                                                           'course_id' => 'xsd:int',
00319                                                                           'user_id' => 'xsd:int'),
00320                                                                 array('role' => 'xsd:int'),
00321                                                                 SERVICE_NAMESPACE,
00322                                                                 SERVICE_NAMESPACE.'#isAssignedToCourse',
00323                                                                 SERVICE_STYLE,
00324                                                                 SERVICE_USE,
00325                                                                 'ILIAS isAssignedToCourse(). Checks whether an user is assigned to a given course. '.
00326                                                                 'Returns 0 => not assigned, 1 => course admin, 2 => course member or 3 => course tutor');
00327 
00328                 // getCourseXML($sid,$course_id)
00329                 $this->server->register('getCourseXML',
00330                                                                 array('sid' => 'xsd:string',
00331                                                                           'course_id' => 'xsd:int'),
00332                                                                 array('xml' => 'xsd:string'),
00333                                                                 SERVICE_NAMESPACE,
00334                                                                 SERVICE_NAMESPACE.'#getCourseXML',
00335                                                                 SERVICE_STYLE,
00336                                                                 SERVICE_USE,
00337                                                                 'ILIAS getCourseXML(). Get a xml description of a specific course.');
00338 
00339                 // updateCourse($sid,$course_id,$xml)
00340                 $this->server->register('updateCourse',
00341                                                                 array('sid' => 'xsd:string',
00342                                                                           'course_id' => 'xsd:int',
00343                                                                           'xml' => 'xsd:string'),
00344                                                                 array('success' => 'xsd:boolean'),
00345                                                                 SERVICE_NAMESPACE,
00346                                                                 SERVICE_NAMESPACE.'#updateCourse',
00347                                                                 SERVICE_STYLE,
00348                                                                 SERVICE_USE,
00349                                                                 'ILIAS updateCourse(). Update course settings, assigned members, tutors, administrators with a '.
00350                                                                 'given xml description');
00351 
00352                 // get obj_id by import id
00353                 $this->server->register('getObjIdByImportId',
00354                                                                 array('sid' => 'xsd:string',
00355                                                                           'import_id' => 'xsd:string'),
00356                                                                 array('obj_id' => 'xsd:int'),
00357                                                                 SERVICE_NAMESPACE,
00358                                                                 SERVICE_NAMESPACE.'#getCourseIdByImportId',
00359                                                                 SERVICE_STYLE,
00360                                                                 SERVICE_USE,
00361                                                                 'ILIAS getObjIdByImportId(). Get the obj_id of an ILIAS obj by a given import id.');
00362 
00363 
00364                 // get ref ids by import id
00365                 $this->server->register('getRefIdsByImportId',
00366                                                                 array('sid' => 'xsd:string',
00367                                                                           'import_id' => 'xsd:string'),
00368                                                                 array('ref_ids' => 'tns:intArray'),
00369                                                                 SERVICE_NAMESPACE,
00370                                                                 SERVICE_NAMESPACE.'#getRefIdsByImportId',
00371                                                                 SERVICE_STYLE,
00372                                                                 SERVICE_USE,
00373                                                                 'ILIAS getRefIdsByImportId(). Get all reference ids by a given import id.');
00374 
00375                 // get obj_id by import id
00376                 $this->server->register('getRefIdsByObjId',
00377                                                                 array('sid' => 'xsd:string',
00378                                                                           'obj_id' => 'xsd:string'),
00379                                                                 array('ref_ids' => 'tns:intArray'),
00380                                                                 SERVICE_NAMESPACE,
00381                                                                 SERVICE_NAMESPACE.'#getRefIdsByObjId',
00382                                                                 SERVICE_STYLE,
00383                                                                 SERVICE_USE,
00384                                                                 'ILIAS getRefIdsByObjId(). Get all reference ids by a given object id.');
00385 
00386                 // Object administration
00387                 $this->server->register('getObjectByReference',
00388                                                                 array('sid' => 'xsd:string',
00389                                                                           'reference_id' => 'xsd:int',
00390                                                                           'user_id' => 'xsd:int'),
00391                                                                 array('object_xml' => 'xsd:string'),
00392                                                                 SERVICE_NAMESPACE,
00393                                                                 SERVICE_NAMESPACE.'#getObjectByReference',
00394                                                                 SERVICE_STYLE,
00395                                                                 SERVICE_USE,
00396                                                                 'ILIAS getObjectByReference(). Get XML-description of an ILIAS object. If a user id is given, '.
00397                                                                 'this methods also checks the permissions of that user on the object.');
00398 
00399                 $this->server->register('getObjectsByTitle',
00400                                                                 array('sid' => 'xsd:string',
00401                                                                           'title' => 'xsd:string',
00402                                                                           'user_id' => 'xsd:int'),
00403                                                                 array('object_xml' => 'xsd:string'),
00404                                                                 SERVICE_NAMESPACE,
00405                                                                 SERVICE_NAMESPACE.'#getObjectsByTitle',
00406                                                                 SERVICE_STYLE,
00407                                                                 SERVICE_USE,
00408                                                                 'ILIAS getObjectsByTitle(). Get XML-description of an ILIAS object with given title. '.
00409                                                                 'If a user id is given this method also checks the permissions of that user on the object.');
00410 
00411                 $this->server->register('searchObjects',
00412                                                                 array('sid' => 'xsd:string',
00413                                                                           'types' => 'tns:stringArray',
00414                                                                           'key' => 'xsd:string',
00415                                                                           'combination' => 'xsd:string',
00416                                                                           'user_id' => 'xsd:int'),
00417                                                                 array('object_xml' => 'xsd:string'),
00418                                                                 SERVICE_NAMESPACE,
00419                                                                 SERVICE_NAMESPACE.'#searchObjects',
00420                                                                 SERVICE_STYLE,
00421                                                                 SERVICE_USE,
00422                                                                 'ILIAS searchObjects(): Searches for objects. Key is within "title" or "description" '.
00423                                                                 'Typical calls are searchObject($sid,array("lm","crs"),"\"this and that\"","and"); '.
00424                                                                 ' If an optional user id is given, this methods also return the permissions for that user '.
00425                                                                 'on the found objects');
00426 
00427                 $this->server->register('getTreeChilds',
00428                                                                 array('sid' => 'xsd:string',
00429                                                                           'ref_id' => 'xsd:int',
00430                                                                           'types' => 'tns:stringArray',
00431                                                                           'user_id' => 'xsd:int'),
00432                                                                 array('object_xml' => 'xsd:string'),
00433                                                                 SERVICE_NAMESPACE,
00434                                                                 SERVICE_NAMESPACE.'#getTreeChilds',
00435                                                                 SERVICE_STYLE,
00436                                                                 SERVICE_USE,
00437                                                                 'ILIAS getTreeChilds(): Get all child objects of a given object.'.
00438                                                                 'Choose array of types to filter the output. Choose empty type array to receive all object types');
00439 
00440                 $this->server->register('getXMLTree',
00441                                         array('sid' => 'xsd:string',
00442                                               'ref_id' => 'xsd:int',
00443                                               'types' => 'tns:stringArray',
00444                                               'user_id' => 'xsd:int'),
00445                                         array('object_xml' => 'xsd:string'),
00446                                         SERVICE_NAMESPACE,
00447                                         SERVICE_NAMESPACE.'#getXMLTree',
00448                                         SERVICE_STYLE,
00449                                         SERVICE_USE,
00450                                         'ILIAS getXMLTree(): Returns a xml stream with the subtree objects.');
00451 
00452 
00453 
00454                 $this->server->register('addObject',
00455                                                                 array('sid' => 'xsd:string',
00456                                                                           'target_id' => 'xsd:int',
00457                                                                           'object_xml' => 'xsd:string'),
00458                                                                 array('ref_id' => 'xsd:int'),
00459                                                                 SERVICE_NAMESPACE,
00460                                                                 SERVICE_NAMESPACE.'#addObject',
00461                                                                 SERVICE_STYLE,
00462                                                                 SERVICE_USE,
00463                                                                 'ILIAS addObject. Create new object based on xml description under a given node '.
00464                                                                 '("category,course,group or folder). Return created reference id of the new object.' );
00465 
00466                 $this->server->register('updateObjects',
00467                                                                 array('sid' => 'xsd:string',
00468                                                                           'object_xml' => 'xsd:string'),
00469                                                                 array('success' => 'xsd:boolean'),
00470                                                                 SERVICE_NAMESPACE,
00471                                                                 SERVICE_NAMESPACE.'#updateObjects',
00472                                                                 SERVICE_STYLE,
00473                                                                 SERVICE_USE,
00474                                                                 'ILIAS updateObjects. Update object data (title,description,owner)');
00475 
00476                 $this->server->register('addReference',
00477                                                                 array('sid' => 'xsd:string',
00478                                                                           'source_id' => 'xsd:int',
00479                                                                           'target_id' => 'xsd:int'),
00480                                                                 array('ref_id' => 'xsd:int'),
00481                                                                 SERVICE_NAMESPACE,
00482                                                                 SERVICE_NAMESPACE.'#addReference',
00483                                                                 SERVICE_STYLE,
00484                                                                 SERVICE_USE,
00485                                                                 'ILIAS addReference. Create new link of given object to new object. Return the new reference id');
00486 
00487                 $this->server->register('deleteObject',
00488                                                                 array('sid' => 'xsd:string',
00489                                                                           'reference_id' => 'xsd:int'),
00490                                                                 array('success' => 'xsd:boolean'),
00491                                                                 SERVICE_NAMESPACE,
00492                                                                 SERVICE_NAMESPACE.'#deleteObject',
00493                                                                 SERVICE_STYLE,
00494                                                                 SERVICE_USE,
00495                                                                 'ILIAS deleteObject. Stores object in trash. If multiple references exist, only the reference is deleted ');
00496 
00497 
00498                 $this->server->register('removeFromSystemByImportId',
00499                                                                 array('sid' => 'xsd:string',
00500                                                                           'import_id' => 'xsd:string'),
00501                                                                 array('success' => 'xsd:boolean'),
00502                                                                 SERVICE_NAMESPACE,
00503                                                                 SERVICE_NAMESPACE.'#removeFromSystemByImportId',
00504                                                                 SERVICE_STYLE,
00505                                                                 SERVICE_USE,
00506                                                                 'ILIAS removeFromSystemByImportId(). Removes an object identified by its import id permanently from the '.
00507                                                                 'system. All data will be deleted. There will be no possibility to restore it from the trash. Do not use '.
00508                                                                 'this function for deleting roles or users. Use deleteUser() or deleteRole() instead.');
00509 
00510                 $this->server->register('addUserRoleEntry',
00511                                                                 array('sid' => 'xsd:string',
00512                                                                           'user_id' => 'xsd:int',
00513                                                                           'role_id' => 'xsd:int'),
00514                                                                 array('success' => 'xsd:boolean'),
00515                                                                 SERVICE_NAMESPACE,
00516                                                                 SERVICE_NAMESPACE.'#addUserRoleEntry',
00517                                                                 SERVICE_STYLE,
00518                                                                 SERVICE_USE,
00519                                                                 'ILIAS addUserRoleEntry. Assign user to role.');
00520 
00521                 $this->server->register('deleteUserRoleEntry',
00522                                                                 array('sid' => 'xsd:string',
00523                                                                           'user_id' => 'xsd:int',
00524                                                                           'role_id' => 'xsd:int'),
00525                                                                 array('success' => 'xsd:boolean'),
00526                                                                 SERVICE_NAMESPACE,
00527                                                                 SERVICE_NAMESPACE.'#deleteUserRoleEntry',
00528                                                                 SERVICE_STYLE,
00529                                                                 SERVICE_USE,
00530                                                                 'ILIAS deleteUserRoleEntry. Deassign user from role.');
00531 
00532 
00533                 // Add complex type for operations e.g array(array('name' => 'read','ops_id' => 2),...)
00534                 $this->server->wsdl->addComplexType('ilOperation',
00535                                                                                         'complexType',
00536                                                                                         'struct',
00537                                                                                         'all',
00538                                                                                         '',
00539                                                                                         array('ops_id' => array('name' => 'ops_id',
00540                                                                                                                                         'type' => 'xsd:int'),
00541                                                                                                   'operation' => array('name' => 'operation',
00542                                                                                                                                            'type' => 'xsd:string'),
00543                                                                                                   'description' => array('name' => 'description',
00544                                                                                                                                                  'type' => 'xsd:string')));
00545                 // Now create an array of ilOperations
00546                 $this->server->wsdl->addComplexType('ilOperations',
00547                                                                                         'complexType',
00548                                                                                         'array',
00549                                                                                         '',
00550                                                                                         'SOAP-ENC:Array',
00551                                                                                         array(),
00552                                                                                         array(array('ref' => 'SOAP-ENC:arrayType',
00553                                                                                                                 'wsdl:arrayType' => 'tns:ilOperation[]')),
00554                                                                                         'tns:ilOperation');
00555                 $this->server->register('getOperations',
00556                                                                 array('sid' => 'xsd:string'),
00557                                                                 array('operations' => 'tns:ilOperations'),
00558                                                                 SERVICE_NAMESPACE,
00559                                                                 SERVICE_NAMESPACE.'#getOperations',
00560                                                                 SERVICE_STYLE,
00561                                                                 SERVICE_USE,
00562                                                                 'ILIAS getOperations(): get complete set of RBAC operations.');
00563 
00564                 $this->server->register('revokePermissions',
00565                                                                 array('sid' => 'xsd:string',
00566                                                                           'ref_id' => 'xsd:int',
00567                                                                           'role_id' => 'xsd:int'),
00568                                                                 array('success' => 'xsd:boolean'),
00569                                                                 SERVICE_NAMESPACE,
00570                                                                 SERVICE_NAMESPACE.'#revokePermissions',
00571                                                                 SERVICE_STYLE,
00572                                                                 SERVICE_USE,
00573                                                                 'ILIAS revokePermissions(): Revoke all permissions for a specific role on an object.');
00574 
00575                 $this->server->wsdl->addComplexType('ilOperationIds',
00576                                                                                         'complexType',
00577                                                                                         'array',
00578                                                                                         '',
00579                                                                                         'SOAP-ENC:Array',
00580                                                                                         array(),
00581                                                                                         array(array('ref' => 'SOAP-ENC:arrayType',
00582                                                                                                                 'wsdl:arrayType' => 'xsd:int[]')),
00583                                                                                         'xsd:int');
00584 
00585                 $this->server->register('grantPermissions',
00586                                                                 array('sid' => 'xsd:string',
00587                                                                           'ref_id' => 'xsd:int',
00588                                                                           'role_id' => 'xsd:int',
00589                                                                           'operations' => 'tns:intArray'),
00590                                                                 array('success' => 'xsd:boolean'),
00591                                                                 SERVICE_NAMESPACE,
00592                                                                 SERVICE_NAMESPACE.'#grantPermissions',
00593                                                                 SERVICE_STYLE,
00594                                                                 SERVICE_USE,
00595                                                                 'ILIAS grantPermissions(): Grant permissions for a specific role on an object. '.
00596                                                                 '(Substitutes existing permission settings)');
00597 
00598                 $this->server->register('getLocalRoles',
00599                                                                 array('sid' => 'xsd:string',
00600                                                                           'ref_id' => 'xsd:int'),
00601                                                                 array('role_xml' => 'xsd:string'),
00602                                                                 SERVICE_NAMESPACE,
00603                                                                 SERVICE_NAMESPACE.'#getLocalRoles',
00604                                                                 SERVICE_STYLE,
00605                                                                 SERVICE_USE,
00606                                                                 'ILIAS getLocalRoles(): Get all local roles assigned to an specific object.');
00607 
00608                 $this->server->register('getUserRoles',
00609                                                                 array('sid' => 'xsd:string',
00610                                                                           'user_id' => 'xsd:int'),
00611                                                                 array('role_xml' => 'xsd:string'),
00612                                                                 SERVICE_NAMESPACE,
00613                                                                 SERVICE_NAMESPACE.'#getLocalRoles',
00614                                                                 SERVICE_STYLE,
00615                                                                 SERVICE_USE,
00616                                                                 'ILIAS getUserRoles(): Get all local roles assigned to an specific user. ');
00617 
00618                 $this->server->register('addRole',
00619                                                                 array('sid' => 'xsd:string',
00620                                                                           'target_id' => 'xsd:int',
00621                                                                           'obj_xml' => 'xsd:string'),
00622                                                                 array('role_ids' => 'tns:intArray'),
00623                                                                 SERVICE_NAMESPACE,
00624                                                                 SERVICE_NAMESPACE.'#addRole',
00625                                                                 SERVICE_STYLE,
00626                                                                 SERVICE_USE,
00627                                                                 'ILIAS addRole(): Creates new role under given node. "target_id" is the reference id of an ILIAS '.
00628                                                                 'ILIAS object. E.g ref_id of crs,grp. If no role folder exists, a new role folder will be created.');
00629 
00630                 $this->server->register('deleteRole',
00631                                                                 array('sid' => 'xsd:string',
00632                                                                           'role_id' => 'xsd:int'),
00633                                                                 array('success' => 'xsd:boolean'),
00634                                                                 SERVICE_NAMESPACE,
00635                                                                 SERVICE_NAMESPACE.'#deleteRole',
00636                                                                 SERVICE_STYLE,
00637                                                                 SERVICE_USE,
00638                                                                 'ILIAS deleteRole(): Deletes an role and all user assignments. Fails if it is the last role of an user');
00639 
00640                 $this->server->register('addRoleFromTemplate',
00641                                                                 array('sid' => 'xsd:string',
00642                                                                           'target_id' => 'xsd:int',
00643                                                                           'obj_xml' => 'xsd:string',
00644                                                                           'role_template_id' => 'xsd:int'),
00645                                                                 array('role_ids' => 'tns:intArray'),
00646                                                                 SERVICE_NAMESPACE,
00647                                                                 SERVICE_NAMESPACE.'#addRole',
00648                                                                 SERVICE_STYLE,
00649                                                                 SERVICE_USE,
00650                                                                 'ILIAS addRole(): Creates new role under given node. "target_id" is the reference id of an ILIAS '.
00651                                                                 'ILIAS object. E.g ref_id of crs,grp. If no role folder exists, a new role folder will be created. '.
00652                                                                 'In addition to addRole the template permissions will be copied from the given role template');
00653 
00654                 $this->server->register('getObjectTreeOperations',
00655                                                                 array('sid' => 'xsd:string',
00656                                                                           'ref_id' => 'xsd:int',
00657                                                                           'user_id' => 'xsd:int'),
00658                                                                 array('operations' => 'tns:ilOperations'),
00659                                                                 SERVICE_NAMESPACE,
00660                                                                 SERVICE_NAMESPACE.'#getPermissionsForObject',
00661                                                                 SERVICE_STYLE,
00662                                                                 SERVICE_USE,
00663                                                                 'ILIAS getObjectTreeOperations(): Get all granted permissions for all references of '.
00664                                                                 'an object for a specific user. Returns array of granted operations or empty array');
00665 
00666                 $this->server->register('addGroup',
00667                                                                 array('sid' => 'xsd:string',
00668                                                                           'target_id' => 'xsd:int',
00669                                                                           'group_xml' => 'xsd:string'),
00670                                                                 array('ref_id' => 'xsd:int'),
00671                                                                 SERVICE_NAMESPACE,
00672                                                                 SERVICE_NAMESPACE.'#addGroup',
00673                                                                 SERVICE_STYLE,
00674                                                                 SERVICE_USE,
00675                                                                 'ILIAS addGroup(): Add grop according to valid group XML '.
00676                                                                 '@See ilias_group_0_1.dtd');
00677 
00678                 $this->server->register('groupExists',
00679                                                                 array('sid' => 'xsd:string',
00680                                                                           'title' => 'xsd:string'),
00681                                                                 array('exists' => 'xsd:boolean'),
00682                                                                 SERVICE_NAMESPACE,
00683                                                                 SERVICE_NAMESPACE.'#groupExists',
00684                                                                 SERVICE_STYLE,
00685                                                                 SERVICE_USE,
00686                                                                 'ILIAS addGroup(): Check if group with given name exists. ');
00687 
00688 
00689                 // getGroup
00690                 $this->server->register('getGroup',
00691                                                                 array('sid' => 'xsd:string',
00692                                                                           'ref_id' => 'xsd:int'),
00693                                                                 array('group_xml' => 'xsd:string'),
00694                                                                 SERVICE_NAMESPACE,
00695                                                                 SERVICE_NAMESPACE.'#getGroup',
00696                                                                 SERVICE_STYLE,
00697                                                                 SERVICE_USE,
00698                                                                 'ILIAS getGroup(): get xml description of grouip with given reference id.');
00699 
00700                 // assignGroupMember()
00701                 $this->server->register('assignGroupMember',
00702                                                                 array('sid' => 'xsd:string',
00703                                                                           'group_id' => 'xsd:int',
00704                                                                           'user_id' => 'xsd:int',
00705                                                                           'type' => 'xsd:string'),
00706                                                                 array('success' => 'xsd:boolean'),
00707                                                                 SERVICE_NAMESPACE,
00708                                                                 SERVICE_NAMESPACE.'#assignGroupMember',
00709                                                                 SERVICE_STYLE,
00710                                                                 SERVICE_USE,
00711                                                                 'ILIAS assignGroupMember(). Assigns an user to an existing group. Type should be "Admin","Member"');
00712 
00713                 // excludeGroupMember()
00714                 $this->server->register('excludeGroupMember',
00715                                                                 array('sid' => 'xsd:string',
00716                                                                           'group_id' => 'xsd:int',
00717                                                                           'user_id' => 'xsd:int'),
00718                                                                 array('success' => 'xsd:boolean'),
00719                                                                 SERVICE_NAMESPACE,
00720                                                                 SERVICE_NAMESPACE.'#excludeGroupMember',
00721                                                                 SERVICE_STYLE,
00722                                                                 SERVICE_USE,
00723                                                                 'ILIAS excludeGroupMember(). Excludes an user from an existing group.');
00724 
00725                 // isAssignedToGroup()
00726                 $this->server->register('isAssignedToGroup',
00727                                                                 array('sid' => 'xsd:string',
00728                                                                           'group_id' => 'xsd:int',
00729                                                                           'user_id' => 'xsd:int'),
00730                                                                 array('role' => 'xsd:int'),
00731                                                                 SERVICE_NAMESPACE,
00732                                                                 SERVICE_NAMESPACE.'#isAssignedToGroup',
00733                                                                 SERVICE_STYLE,
00734                                                                 SERVICE_USE,
00735                                                                 'ILIAS isAssignedToGroup(). Checks whether an user is assigned to a given group. '.
00736                                                                 'Returns 0 => not assigned, 1 => group admin, 2 => group member');
00737 
00738 
00739 
00740                 // ILIAS util functions
00741                 $this->server->register('sendMail',
00742                                                                 array('sid' => 'xsd:string',
00743                                                                           'rcp_to' => 'xsd:string',
00744                                                                           'rcp_cc' => 'xsd:string',
00745                                                                           'rcp_bcc' => 'xsd:string',
00746                                                                           'sender' => 'xsd:string',
00747                                                                           'subject' => 'xsd:string',
00748                                                                           'message' => 'xsd:string',
00749                                                                           'attachments' => 'xsd:string'),
00750                                                                 array('status' => 'xsd:boolean'),
00751                                                                 SERVICE_NAMESPACE,
00752                                                                 SERVICE_NAMESPACE.'#sendMail',
00753                                                                 SERVICE_STYLE,
00754                                                                 SERVICE_USE,
00755                                                                 'ILIAS sendMail(): Send mime mails according to xml description. Only for internal usage '.
00756                                                                 'Syntax, parameters may change in future releases');
00757                 // Clone functions
00758                 $this->server->register('ilClone',
00759                                                                 array('sid' => 'xsd:string','copy_identifier' => 'xsd:int'),
00760                                                                 array('new_ref_id' => 'xsd:int'),
00761                                                                 SERVICE_NAMESPACE,
00762                                                                 SERVICE_NAMESPACE.'#ilClone',
00763                                                                 SERVICE_STYLE,
00764                                                                 SERVICE_USE,
00765                                                                 'ILIAS ilClone(): Only for internal usage.'.
00766                                                                 'Syntax, parameters may change in future releases. ');
00767 
00768                 $this->server->register('ilCloneDependencies',
00769                                                                 array('sid' => 'xsd:string','copy_identifier' => 'xsd:int'),
00770                                                                 array('success' => 'xsd:boolean'),
00771                                                                 SERVICE_NAMESPACE,
00772                                                                 SERVICE_NAMESPACE.'#ilCloneDependencies',
00773                                                                 SERVICE_STYLE,
00774                                                                 SERVICE_USE,
00775                                                                 'ILIAS ilCloneDependencies(): Only for internal usage.'.
00776                                                                 'Syntax, parameters may change in future releases. ');
00777 
00778                 $this->server->register('saveQuestionResult',
00779                                                                 array('sid' => 'xsd:string',
00780                                                                           'user_id' => 'xsd:int',
00781                                                                           'test_id' => 'xsd:int',
00782                                                                           'question_id' => 'xsd:int',
00783                                                                           'pass' => 'xsd:int',
00784                                                                           'solution' => 'tns:stringArray'),
00785                                                                 array('status' => 'xsd:boolean'),
00786                                                                 SERVICE_NAMESPACE,
00787                                                                 SERVICE_NAMESPACE.'#saveQuestionResult',
00788                                                                 SERVICE_STYLE,
00789                                                                 SERVICE_USE,
00790                                                                 'ILIAS saveQuesionResult: Typically called from an external assessment question to save the user input. DEPRECATED since ILIAS 3.9');
00791 
00792                 $this->server->register('saveQuestion',
00793                                                                 array('sid' => 'xsd:string',
00794                                                                           'active_id' => 'xsd:long',
00795                                                                           'question_id' => 'xsd:long',
00796                                                                           'pass' => 'xsd:int',
00797                                                                           'solution' => 'tns:stringArray'),
00798                                                                 array('status' => 'xsd:boolean'),
00799                                                                 SERVICE_NAMESPACE,
00800                                                                 SERVICE_NAMESPACE.'#saveQuestion',
00801                                                                 SERVICE_STYLE,
00802                                                                 SERVICE_USE,
00803                                                                 '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.');
00804 
00805                 $this->server->register('getQuestionSolution',
00806                                                                 array('sid' => 'xsd:string',
00807                                                                           'active_id' => 'xsd:long',
00808                                                                           'question_id' => 'xsd:int',
00809                                                                           'pass' => 'xsd:int'),
00810                                                                 array('solution' => 'tns:stringArray'),
00811                                                                 SERVICE_NAMESPACE,
00812                                                                 SERVICE_NAMESPACE.'#getQuestionSolution',
00813                                                                 SERVICE_STYLE,
00814                                                                 SERVICE_USE,
00815                                                                 'ILIAS getQuestionSolution: Typically called from external assessment questions to retrieve the previous input of a user.');
00816 
00817                 $this->server->register('getStructureObjects',
00818                                                                 array('sid' => 'xsd:string',
00819                                                                           'ref_id' => 'xsd:int'),
00820                                                                 array('xml' => 'xsd:string'),
00821                                                                 SERVICE_NAMESPACE,
00822                                                                 SERVICE_NAMESPACE.'#getStructureObjects',
00823                                                                 SERVICE_STYLE,
00824                                                                 SERVICE_USE,
00825                                                                 'ILIAS getStructureObjects: delivers structure of content objects like learning modules (chapters/pages) or glossary (terms)');
00826 
00827                 // importUsers()
00828                 $this->server->register('importUsers',
00829                                                                 array('sid' => 'xsd:string',
00830                                                                           'folder_id' => 'xsd:int',
00831                                                                           'usr_xml' => 'xsd:string',
00832                                                                           'conflict_rule' => 'xsd:int',
00833                                                                           'send_account_mail' => 'xsd:int'),
00834                                                                 array('protocol' => 'xsd:string'),
00835                                                                 SERVICE_NAMESPACE,
00836                                                                 SERVICE_NAMESPACE.'#importUsers',
00837                                                                 SERVICE_STYLE,
00838                                                                 SERVICE_USE,
00839                                                                 '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');
00840 
00841                 $this->server->register('getRoles',
00842                                                                 array('sid' => 'xsd:string',
00843                                                                       'role_type' => 'xsd:string',
00844                                                                       'id' => 'xsd:string'),
00845                                                                 array('role_xml' => 'xsd:string'),
00846                                                                 SERVICE_NAMESPACE,
00847                                                                 SERVICE_NAMESPACE.'#getRoles',
00848                                                                 SERVICE_STYLE,
00849                                                                 SERVICE_USE,
00850                                                                 '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');
00851 
00852                 $this->server->register('getUsersForContainer',
00853                                                                 array('sid' => 'xsd:string',
00854                                                                 'ref_id' => 'xsd:int',
00855                                                                 'attach_roles' => 'xsd:int',
00856                                                                     'active' => 'xsd:int'),
00857                                                                 array('user_xml' => 'xsd:string'),
00858                                                                 SERVICE_NAMESPACE,
00859                                                                 SERVICE_NAMESPACE.'#getUsersForContainer',
00860                                                                 SERVICE_STYLE,
00861                                                                 SERVICE_USE,
00862                                                                 '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');
00863 
00864                 $this->server->register('getUsersForRole',
00865                                                                 array('sid' => 'xsd:string',
00866                                                                       'role_id' => 'xsd:int',
00867                                                                       'attach_roles' => 'xsd:int',
00868                                                                       'active' => 'xsd:int'),
00869                                                                 array('user_xml' => 'xsd:string'),
00870                                                                 SERVICE_NAMESPACE,
00871                                                                 SERVICE_NAMESPACE.'#getUsersForRole',
00872                                                                 SERVICE_STYLE,
00873                                                                 SERVICE_USE,
00874                                                                 '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');
00875 
00876                 $this->server->register('searchUser',
00877                                                                 array('sid' => 'xsd:string',
00878                                                                       'key_fields' => 'tns:stringArray',
00879                                                                       'query_operator' => 'xsd:string',
00880                                                                       'key_values' => 'tns:stringArray',
00881                                                                       'attach_roles' => 'xsd:int',
00882                                                                       'active' => 'xsd:int'),
00883 
00884                                                                 array('user_xml' => 'xsd:string'),
00885                                                                 SERVICE_NAMESPACE,
00886                                                                 SERVICE_NAMESPACE.'#searchUsers',
00887                                                                 SERVICE_STYLE,
00888                                                                 SERVICE_USE,
00889                                                                 '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');
00890 
00891                 // Mail Functions
00892                 // Check whether current user has new mail
00893                 $this->server->register('hasNewMail',
00894                                                                 array('sid' => 'xsd:string'),
00895                                                                 array('status' => 'xsd:boolean'),
00896                                                                 SERVICE_NAMESPACE,
00897                                                                 SERVICE_NAMESPACE.'#hasNewMail',
00898                                                                 SERVICE_STYLE,
00899                                                                 SERVICE_USE,
00900                                                                 'ILIAS hasNewMail(): Checks whether the current authenticated user has a new mail.');
00901 
00902                 $this->server->register('getNIC',
00903                                                                 array('sid' => 'xsd:string'),
00904                                                                 array('xmlresultset' => 'xsd:string'),
00905                                                                 SERVICE_NAMESPACE,
00906                                                                 SERVICE_NAMESPACE.'#getNIC',
00907                                                                 SERVICE_STYLE,
00908                                                                 SERVICE_USE,
00909                                                                 'ILIAS getNIC(): return client information from current client as xml result set containing installation_id, installation_version, installation_url, installation_description, installation_language_default as columns');
00910 
00911         $this->server->register('getExerciseXML',
00912                                                                 array('sid' => 'xsd:string', "ref_id" => 'xsd:int', "attachment_mode" => "xsd:int"),
00913                                                                 array('exercisexml' => 'xsd:string'),
00914                                                                 SERVICE_NAMESPACE,
00915                                                                 SERVICE_NAMESPACE.'#getExerciseXML',
00916                                                                 SERVICE_STYLE,
00917                                                                 SERVICE_USE,
00918                                                                 'ILIAS getExerciseXML(): returns xml description of exercise. Attachment mode: 0 - no file contents, 1 - plain content (base64encoded), 2 zlib + base64, 3 gzip + base64)');
00919 
00920         $this->server->register('addExercise',
00921                                                                 array('sid' => 'xsd:string', "target_id" => 'xsd:int', "xml" => "xsd:string"),
00922                                                                 array('refid' => 'xsd:int'),
00923                                                                 SERVICE_NAMESPACE,
00924                                                                 SERVICE_NAMESPACE.'#addExercise',
00925                                                                 SERVICE_STYLE,
00926                                                                 SERVICE_USE,
00927                                                                 '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!');
00928 
00929         $this->server->register('updateExercise',
00930                                                                 array('sid' => 'xsd:string', 'ref_id' => 'xsd:int', 'xml' => 'xsd:string'),
00931                                                                 array('success' => 'xsd:boolean'),
00932                                                                 SERVICE_NAMESPACE,
00933                                                                 SERVICE_NAMESPACE.'#updateExercise',
00934                                                                 SERVICE_STYLE,
00935                                                                 SERVICE_USE,
00936                                                                 '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.!');
00937 
00938         $this->server->register('getFileXML',
00939                                                                 array('sid' => 'xsd:string', 'ref_id' => 'xsd:int', 'attachment_mode' => 'xsd:int'),
00940                                                                 array('filexml' => 'xsd:string'),
00941                                                                 SERVICE_NAMESPACE,
00942                                                                 SERVICE_NAMESPACE.'#getFileXML',
00943                                                                 SERVICE_STYLE,
00944                                                                 SERVICE_USE,
00945                                                                 'ILIAS getFileXML(): returns xml description of file. Attachment mode: 0 - no file contents, 1 - plain content (base64encoded), 2 zlib + base64, 3 gzip + base64)');
00946 
00947         $this->server->register('addFile',
00948                                                                 array('sid' => 'xsd:string', 'target_id' => 'xsd:int', 'xml' => 'xsd:string'),
00949                                                                 array('refid' => 'xsd:int'),
00950                                                                 SERVICE_NAMESPACE,
00951                                                                 SERVICE_NAMESPACE.'#addFile',
00952                                                                 SERVICE_STYLE,
00953                                                                 SERVICE_USE,
00954                                                                 '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!');
00955 
00956         $this->server->register('updateFile',
00957                                                                 array('sid' => 'xsd:string', 'ref_id' => 'xsd:int', 'xml' => 'xsd:string'),
00958                                                                 array('success' => 'xsd:boolean'),
00959                                                                 SERVICE_NAMESPACE,
00960                                                                 SERVICE_NAMESPACE.'#updateFile',
00961                                                                 SERVICE_STYLE,
00962                                                                 SERVICE_USE,
00963                                                                 '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.!');
00964 
00965 
00966         $this->server->register('getUserXML',
00967                                                                 array('sid' => 'xsd:string', 'user_ids' => 'tns:intArray', 'attach_roles' => 'xsd:int'),
00968                                                                 array('xml' => 'xsd:string'),
00969                                                                 SERVICE_NAMESPACE,
00970                                                                 SERVICE_NAMESPACE.'#resolveUsers',
00971                                                                 SERVICE_STYLE,
00972                                                                 SERVICE_USE,
00973                                                                 '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');
00974 
00975 
00976                 // get objs ids by ref id
00977                 $this->server->register('getObjIdsByRefIds',
00978                                                                 array('sid' => 'xsd:string',
00979                                                                           'ref_ids' => 'tns:intArray'),
00980                                                                 array('obj_ids' => 'tns:intArray'),
00981                                                                 SERVICE_NAMESPACE,
00982                                                                 SERVICE_NAMESPACE.'#getRefIdsByImportId',
00983                                                                 SERVICE_STYLE,
00984                                                                 SERVICE_USE,
00985                                                                 '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');
00986 
00987                 $this->server->register('updateGroup',
00988                                                                 array('sid' => 'xsd:string', 'ref_id' => 'xsd:int', 'xml' => 'xsd:string'),
00989                                                                 array('success' => 'xsd:boolean'),
00990                                                                 SERVICE_NAMESPACE,
00991                                                                 SERVICE_NAMESPACE.'#updateGroup',
00992                                                                 SERVICE_STYLE,
00993                                                                 SERVICE_USE,
00994                                                                 'ILIAS updateGroup(): update existing group using ref id and group xml (see DTD).');
00995 
00996 
00997                 
00998         $this->server->register('getIMSManifestXML',
00999                                                                 array('sid' => 'xsd:string', 'ref_id' => 'xsd:int'),
01000                                                                 array('xml' => 'xsd:string'),
01001                                                                 SERVICE_NAMESPACE,
01002                                                                 SERVICE_NAMESPACE.'#getIMSManifestXML',
01003                                                                 SERVICE_STYLE,
01004                                                                 SERVICE_USE,
01005                                                                 'ILIAS getIMSManifestXML(): returns xml of ims manifest file (scorm learning module) referred by refid');
01006 
01007                                                 
01008                 return true;
01009 
01010         }
01011 
01012 }
01013 ?>

Generated on Fri Dec 13 2013 17:57:03 for ILIAS Release_3_9_x_branch .rev 46835 by  doxygen 1.7.1