5 * @author Patrick Pollet :<patrick.pollet@insa-lyon.fr>
6 * @copyright (c) P.Pollet 2007 under GPL
13 require_once 'userRecord.php';
17 require_once 'groupRecord.php';
21 require_once 'courseRecord.php';
25 require_once 'userDatum.php';
29 require_once 'courseDatum.php';
33 require_once 'gradeRecord.php';
35 * gradeStatsRecord class
37 require_once 'gradeStatsRecord.php';
41 require_once 'studentRecord.php';
45 require_once 'eventRecord.php';
49 require_once 'changeRecord.php';
53 require_once 'roleRecord.php';
55 * categoryRecord class
57 require_once 'categoryRecord.php';
59 * studentGradeRecord class
61 require_once 'studentGradeRecord.php';
65 require_once 'loginReturn.php';
67 * editUsersInput class
69 require_once 'editUsersInput.php';
71 * editUsersOutput class
73 require_once 'editUsersOutput.php';
75 * getUsersReturn class
77 require_once 'getUsersReturn.php';
79 * editCoursesInput class
81 require_once 'editCoursesInput.php';
83 * editCoursesOutput class
85 require_once 'editCoursesOutput.php';
87 * getCoursesReturn class
89 require_once 'getCoursesReturn.php';
91 * getGradesReturn class
93 require_once 'getGradesReturn.php';
95 * enrolStudentsReturn class
97 require_once 'enrolStudentsReturn.php';
99 * getRolesReturn class
101 require_once 'getRolesReturn.php';
103 * getGroupsReturn class
105 require_once 'getGroupsReturn.php';
107 * getEventsReturn class
109 require_once 'getEventsReturn.php';
111 * getLastChangesReturn class
113 require_once 'getLastChangesReturn.php';
115 * getCategoriesReturn class
117 require_once 'getCategoriesReturn.php';
119 * activityRecord class
121 require_once 'activityRecord.php';
123 * getActivitiesReturn class
125 require_once 'getActivitiesReturn.php';
127 require_once 'lib/nusoap.php';
134 * @author Patrick Pollet :<patrick.pollet@insa-lyon.fr>
135 * @copyright (c) P.Pollet 2007 under GPL
144 private $uri = 'http://cipcnet.insa-lyon.fr/moodle/wspp/wsdl';
146 public function MoodleWS_NS($wsdl = "http://localhost/moodle/wspp/wsdl_pp.php", $uri=null, $options = array()) {
150 $this->client = new soap_client($wsdl, true);
151 $this->proxy=$this->client->getProxy();
155 * MoodleWS Client Login
157 * @param string $username
158 * @param string $password
159 * @return loginReturn
161 public function login($username, $password) {
162 return $this->proxy->login($username, $password);
166 * MoodleWS: Client Logout
168 * @param integer $client
169 * @param string $sesskey
172 public function logout($client, $sesskey) {
173 return $this->proxy->logout($client, $sesskey);
177 * MoodleWS: Edit Users Information
179 * @param integer $client
180 * @param string $sesskey
181 * @param editUsersInput $users
182 * @return editUsersOutput
184 public function edit_users($client, $sesskey, editUsersInput $users) {
185 return $this->proxy->edit_users($client, $sesskey, $users);
189 * MoodleWS: Get Users Information
191 * @param integer $client
192 * @param string $sesskey
193 * @param getUsersInput $userids
194 * @param string $idfield
195 * @return getUsersReturn
197 public function get_users($client, $sesskey, $userids, $idfield) {
198 return $this->proxy->get_users($client, $sesskey, $userids, $idfield);
202 * MoodleWS: Edit Courses Information
204 * @param integer $client
205 * @param string $sesskey
206 * @param editCoursesInput $courses
207 * @return editCoursesOutput
209 public function edit_courses($client, $sesskey, editCoursesInput $courses) {
210 return $this->proxy->edit_courses($client, $sesskey, $courses);
214 * MoodleWS: Get Courses Information
216 * @param integer $client
217 * @param string $sesskey
218 * @param getCoursesInput $courseids
219 * @param string $idfield
220 * @return getCoursesReturn
222 public function get_courses($client, $sesskey, $courseids, $idfield) {
223 return $this->proxy->get_courses($client, $sesskey, $courseids, $idfield);
227 * MoodleWS: Get User Grades
229 * @param integer $client
230 * @param string $sesskey
231 * @param string $userid
232 * @param getGradesInput $courseids
233 * @param string $idfield
234 * @return getGradesReturn
236 public function get_grades($client, $sesskey, $userid, $courseids, $idfield) {
237 return $this->proxy->get_grades($client, $sesskey, $userid, $courseids, $idfield);
241 * MoodleWS: Enrol students in a course
243 * @param integer $client
244 * @param string $sesskey
245 * @param string $courseid
246 * @param enrolStudentsInput $userids
247 * @param string $idfield
248 * @return enrolStudentsReturn
250 public function enrol_students($client, $sesskey, $courseid, $userids, $idfield) {
251 return $this->proxy->enrol_students($client, $sesskey, $courseid, $userids, $idfield);
255 * MoodleWS: Get last changes to a Moodle s course
257 * @param integer $client
258 * @param string $sesskey
259 * @param string $courseid
260 * @param string $idfield
261 * @param integer $limit
262 * @return getLastChangesReturn
264 public function get_last_changes($client, $sesskey, $courseid, $idfield, $limit) {
265 return $this->proxy->get_last_changes($client, $sesskey, $courseid, $idfield, $limit);
269 * MoodleWS: Get Moodle s events
271 * @param integer $client
272 * @param string $sesskey
273 * @param integer $eventtype
274 * @param integer $ownerid
275 * @return getEventsReturn
277 public function get_events($client, $sesskey, $eventtype, $ownerid) {
278 return $this->proxy->get_events($client, $sesskey, $eventtype, $ownerid);
282 * MoodleWS: Get Course Information
284 * @param integer $client
285 * @param string $sesskey
286 * @param string $courseid
287 * @param string $idfield
288 * @return getCoursesReturn
290 public function get_course($client, $sesskey, $courseid, $idfield) {
291 return $this->proxy->get_course($client, $sesskey, $courseid, $idfield);
295 * MoodleWS: Get Course Information
297 * @param integer $client
298 * @param string $sesskey
299 * @param string $info
300 * @return getCoursesReturn
302 public function get_course_byid($client, $sesskey, $info) {
303 return $this->proxy->get_course_byid($client, $sesskey, $info);
307 * MoodleWS: Get Course Information
309 * @param integer $client
310 * @param string $sesskey
311 * @param string $info
312 * @return getCoursesReturn
314 public function get_course_byidnumber($client, $sesskey, $info) {
315 return $this->proxy->get_course_byidnumber($client, $sesskey, $info);
319 * MoodleWS: Get one User Information
321 * @param integer $client
322 * @param string $sesskey
323 * @param string $userid
324 * @param string $idfield
325 * @return getUsersReturn
327 public function get_user($client, $sesskey, $userid, $idfield) {
328 return $this->proxy->get_user($client, $sesskey, $userid, $idfield);
332 * MoodleWS: Get All roles defined in Moodle
334 * @param integer $client
335 * @param string $sesskey
336 * @return getRolesReturn
338 public function get_roles($client, $sesskey) {
339 return $this->proxy->get_roles($client, $sesskey);
343 * MoodleWS: Get one role defined in Moodle
345 * @param integer $client
346 * @param string $sesskey
347 * @param string $value
348 * @return getRolesReturn
350 public function get_role_byid($client, $sesskey, $value) {
351 return $this->proxy->get_role_byid($client, $sesskey, $value);
355 * MoodleWS: Get one role defined in Moodle
357 * @param integer $client
358 * @param string $sesskey
359 * @param string $value
360 * @return getRolesReturn
362 public function get_role_byname($client, $sesskey, $value) {
363 return $this->proxy->get_role_byname($client, $sesskey, $value);
367 * MoodleWS: Get Moodle course categories
369 * @param integer $client
370 * @param string $sesskey
371 * @return getCategoriesReturn
373 public function get_categories($client, $sesskey) {
374 return $this->proxy->get_categories($client, $sesskey);
378 * MoodleWS: Get one category defined in Moodle
380 * @param integer $client
381 * @param string $sesskey
382 * @param string $value
383 * @return getCategoriesReturn
385 public function get_category_byid($client, $sesskey, $value) {
386 return $this->proxy->get_category_byid($client, $sesskey, $value);
390 * MoodleWS: Get one category defined in Moodle
392 * @param integer $client
393 * @param string $sesskey
394 * @param string $value
395 * @return getCategoriesReturn
397 public function get_category_byname($client, $sesskey, $value) {
398 return $this->proxy->get_category_byname($client, $sesskey, $value);
402 * MoodleWS: Get Courses user identified by id is member of
404 * @param integer $client
405 * @param string $sesskey
406 * @param integer $uid
407 * @param string $sort
408 * @return getCoursesReturn
410 public function get_my_courses($client, $sesskey, $uid, $sort) {
411 return $this->proxy->get_my_courses($client, $sesskey, $uid, $sort);
415 * MoodleWS: Get Courses current user identified by username is member of
417 * @param integer $client
418 * @param string $sesskey
419 * @param string $uinfo
420 * @param string $sort
421 * @return getCoursesReturn
423 public function get_my_courses_byusername($client, $sesskey, $uinfo, $sort) {
424 return $this->proxy->get_my_courses_byusername($client, $sesskey, $uinfo, $sort);
428 * MoodleWS: Get Courses current user identified by idnumber is member of
430 * @param integer $client
431 * @param string $sesskey
432 * @param string $uinfo
433 * @param string $sort
434 * @return getCoursesReturn
436 public function get_my_courses_byidnumber($client, $sesskey, $uinfo, $sort) {
437 return $this->proxy->get_my_courses_byidnumber($client, $sesskey, $uinfo, $sort);
441 * MoodleWS: Get user info from Moodle user login
443 * @param integer $client
444 * @param string $sesskey
445 * @param string $userinfo
446 * @return getUsersReturn
448 public function get_user_byusername($client, $sesskey, $userinfo) {
449 return $this->proxy->get_user_byusername($client, $sesskey, $userinfo);
453 * MoodleWS: Get user info from Moodle user id number
455 * @param integer $client
456 * @param string $sesskey
457 * @param string $userinfo
458 * @return getUsersReturn
460 public function get_user_byidnumber($client, $sesskey, $userinfo) {
461 return $this->proxy->get_user_byidnumber($client, $sesskey, $userinfo);
465 * MoodleWS: Get user info from Moodle user id
467 * @param integer $client
468 * @param string $sesskey
469 * @param string $userinfo
470 * @return getUsersReturn
472 public function get_user_byid($client, $sesskey, $userinfo) {
473 return $this->proxy->get_user_byid($client, $sesskey, $userinfo);
477 * MoodleWS: Get users having a role in a course
479 * @param integer $client
480 * @param string $sesskey
481 * @param string $idcourse
482 * @param string $idfield
483 * @param integer $idrole
484 * @return getUsersReturn
486 public function get_users_bycourse($client, $sesskey, $idcourse, $idfield, $idrole) {
487 return $this->proxy->get_users_bycourse($client, $sesskey, $idcourse, $idfield, $idrole);
491 * MoodleWS: count users having a role in a course
493 * @param integer $client
494 * @param string $sesskey
495 * @param string $idcourse
496 * @param string $idfield
497 * @param integer $idrole
500 public function count_users_bycourse($client, $sesskey, $idcourse, $idfield, $idrole) {
501 return $this->proxy->count_users_bycourse($client, $sesskey, $idcourse, $idfield, $idrole);
505 * MoodleWS: Get Courses belonging to category
507 * @param integer $client
508 * @param string $sesskey
509 * @param integer $categoryid
510 * @return getCoursesReturn
512 public function get_courses_bycategory($client, $sesskey, $categoryid) {
513 return $this->proxy->get_courses_bycategory($client, $sesskey, $categoryid);
517 * MoodleWS: Get Course groups
519 * @param integer $client
520 * @param string $sesskey
521 * @param string $courseid
522 * @param string $idfield
523 * @return getGroupsReturn
525 public function get_groups_bycourse($client, $sesskey, $courseid, $idfield) {
526 return $this->proxy->get_groups_bycourse($client, $sesskey, $courseid, $idfield);
530 * MoodleWS: Get Course Information
532 * @param integer $client
533 * @param string $sesskey
534 * @param string $info
535 * @param integer $courseid
536 * @return getGroupsReturn
538 public function get_group_byid($client, $sesskey, $info, $courseid) {
539 return $this->proxy->get_group_byid($client, $sesskey, $info, $courseid);
543 * MoodleWS: Get Course Information
545 * @param integer $client
546 * @param string $sesskey
547 * @param string $info
548 * @param integer $courseid
549 * @return getGroupsReturn
551 public function get_groups_byname($client, $sesskey, $info, $courseid) {
552 return $this->proxy->get_groups_byname($client, $sesskey, $info, $courseid);
556 * MoodleWS: Get users members of a group in course
558 * @param integer $client
559 * @param string $sesskey
560 * @param integer $groupid
561 * @return getUsersReturn
563 public function get_group_members($client, $sesskey, $groupid) {
564 return $this->proxy->get_group_members($client, $sesskey, $groupid);
568 * MoodleWS: get current user Moodle internal id (helper)
570 * @param integer $client
571 * @param string $sesskey
574 public function get_my_id($client, $sesskey) {
575 return $this->proxy->get_my_id($client, $sesskey);
579 * MoodleWS: Get user group in course
581 * @param integer $client
582 * @param string $sesskey
583 * @param integer $courseid
584 * @param integer $uid
585 * @return getGroupsReturn
587 public function get_my_group($client, $sesskey, $courseid, $uid) {
588 return $this->proxy->get_my_group($client, $sesskey, $courseid, $uid);
592 * MoodleWS: Get user groups in all Moodle site
594 * @param integer $client
595 * @param string $sesskey
596 * @param integer $uid
597 * @return getGroupsReturn
599 public function get_my_groups($client, $sesskey, $uid) {
600 return $this->proxy->get_my_groups($client, $sesskey, $uid);
604 * MoodleWS: Get course teachers
606 * @param integer $client
607 * @param string $sesskey
608 * @param string $value
610 * @return getUsersReturn
612 public function get_teachers($client, $sesskey, $value, $id) {
613 return $this->proxy->get_teachers($client, $sesskey, $value, $id);
617 * MoodleWS: Get course students
619 * @param integer $client
620 * @param string $sesskey
621 * @param string $value
623 * @return getUsersReturn
625 public function get_students($client, $sesskey, $value, $id) {
626 return $this->proxy->get_students($client, $sesskey, $value, $id);
630 * MoodleWS: check if user has a given role in a given course
632 * @param integer $client
633 * @param string $sesskey
634 * @param string $iduser
635 * @param string $iduserfield
636 * @param string $idcourse
637 * @param string $idcoursefield
638 * @param integer $idrole
641 public function has_role_incourse($client, $sesskey, $iduser, $iduserfield, $idcourse, $idcoursefield, $idrole) {
642 return $this->proxy->has_role_incourse($client, $sesskey, $iduser, $iduserfield, $idcourse, $idcoursefield, $idrole);
646 * MoodleWS: returns user s primary role in a given course
648 * @param integer $client
649 * @param string $sesskey
650 * @param string $iduser
651 * @param string $iduserfield
652 * @param string $idcourse
653 * @param string $idcoursefield
656 public function get_primaryrole_incourse($client, $sesskey, $iduser, $iduserfield, $idcourse, $idcoursefield) {
657 return $this->proxy->get_primaryrole_incourse($client, $sesskey, $iduser, $iduserfield, $idcourse, $idcoursefield);
661 * MoodleWS: Get user most recent activities in a Moodle course
663 * @param integer $client
664 * @param string $sesskey
665 * @param string $iduser
666 * @param string $iduserfield
667 * @param string $idcourse
668 * @param string $idcoursefield
669 * @param integer $idlimit
670 * @return getActivitiesReturn
672 public function get_activities($client, $sesskey, $iduser, $iduserfield, $idcourse, $idcoursefield, $idlimit) {
673 return $this->proxy->get_activities($client, $sesskey, $iduser, $iduserfield, $idcourse, $idcoursefield, $idlimit);
677 * MoodleWS: count user most recent activities in a Moodle course
679 * @param integer $client
680 * @param string $sesskey
681 * @param string $value1
683 * @param string $value2
687 public function count_activities($client, $sesskey, $value1, $id1, $value2, $id2) {
688 return $this->proxy->count_activities($client, $sesskey, $value1, $id1, $value2, $id2);