|
@@ -18,32 +18,51 @@ $server = new soap_server();
|
|
|
// Initialize WSDL support
|
|
|
$server->configureWSDL('WSUserInfo', 'urn:WSUserInfo');
|
|
|
|
|
|
-/* Register DokeosWSCourseListOfUser function */
|
|
|
+/* Register DokeosWSCourseList function */
|
|
|
// Register the data structures used by the service
|
|
|
|
|
|
$server->wsdl->addComplexType(
|
|
|
- 'courseListOfUser',
|
|
|
+ 'courseDetails',
|
|
|
+ 'complexType',
|
|
|
+ 'struct',
|
|
|
+ 'all',
|
|
|
+ '',
|
|
|
+ array(
|
|
|
+ 'name'=>'code' , 'type'=>'xsd:string',
|
|
|
+ 'name'=>'title' , 'type'=>'xsd:string',
|
|
|
+ 'name'=>'url' , 'type'=>'xsd:string',
|
|
|
+ 'name'=>'teacher', 'type'=>'xsd:string',
|
|
|
+ 'name'=>'language','type'=>'xsd:string',
|
|
|
+ )
|
|
|
+);
|
|
|
+
|
|
|
+$server->wsdl->addComplexType(
|
|
|
+ 'courseList',
|
|
|
'complexType',
|
|
|
- 'struct',
|
|
|
- 'all',
|
|
|
+ 'array',
|
|
|
'',
|
|
|
+ 'SOAP-ENC:Array',
|
|
|
+ array(),
|
|
|
array(
|
|
|
- 'username' => array('name' => 'username', 'type' => 'xsd:string'),
|
|
|
- 'signature' => array('name' => 'signature', 'type' => 'xsd:string'),
|
|
|
- )
|
|
|
+ array('ref'=>'SOAP:ENC:arrayType',
|
|
|
+ 'wsdl:arrayType'=>'tns:courseDetails[]')
|
|
|
+ ),
|
|
|
+ 'tns:courseDetails'
|
|
|
);
|
|
|
|
|
|
// Register the method to expose
|
|
|
-$server->register('DokeosWSCourseListOfUser', // method name
|
|
|
+$server->register('DokeosWSCourseListOfUser', // method name
|
|
|
array('username' => 'xsd:string',
|
|
|
- 'signature' => 'xsd:string'), // input parameters
|
|
|
- array('return' => 'xsd:array'), // output parameters
|
|
|
- 'urn:WSUserInfo', // namespace
|
|
|
- 'urn:WSUserInfo#DokeosWSCourseListOfUser', // soapaction
|
|
|
+ 'signature' => 'xsd:string',
|
|
|
+ 'visibilities' => 'xsd:string'), // input parameters
|
|
|
+ array('return' => 'xsd:Array'), // output parameters
|
|
|
+ 'urn:WSUserInfo', // namespace
|
|
|
+ 'urn:WSUserInfo#DokeosWSUserInfo', // soapaction
|
|
|
'rpc', // style
|
|
|
'encoded', // use
|
|
|
- 'This service returns a list of courses the given user is subscribed to directly' // documentation
|
|
|
+ 'This service returns a list of courses' // documentation
|
|
|
);
|
|
|
+
|
|
|
/**
|
|
|
* Get a list of courses (code, url, title, teacher, language) for a specific
|
|
|
* user and return to caller
|
|
@@ -80,24 +99,39 @@ function DokeosWSCourseListOfUser($username, $signature) {
|
|
|
foreach ( $courses_list_tmp as $index => $course )
|
|
|
{
|
|
|
$course_info = CourseManager::get_course_information($course['code']);
|
|
|
- $courses_list[$course['code']] = array('title'=>mb_convert_encoding($course_info['title'],'UTF-8',$charset),'url'=>api_get_path(WEB_COURSE_PATH).$course_info['directory'].'/','teacher'=>mb_convert_encoding($course_info['tutor_name'],'UTF-8',$charset),'language'=>$course_info['course_language']);
|
|
|
+ $courses_list[] = array('code'=>$course['code'],'title'=>mb_convert_encoding($course_info['title'],'UTF-8',$charset),'url'=>api_get_path(WEB_COURSE_PATH).$course_info['directory'].'/','teacher'=>mb_convert_encoding($course_info['tutor_name'],'UTF-8',$charset),'language'=>$course_info['course_language']);
|
|
|
}
|
|
|
return $courses_list;
|
|
|
}
|
|
|
|
|
|
+/* Register DokeosWSCourseList function */
|
|
|
+// Register the data structures used by the service
|
|
|
+
|
|
|
+$server->wsdl->addComplexType(
|
|
|
+ 'eventDetails',
|
|
|
+ 'complexType',
|
|
|
+ 'struct',
|
|
|
+ 'all',
|
|
|
+ '',
|
|
|
+ array(
|
|
|
+ 'name'=>'date','type'=>'xsd:string',
|
|
|
+ 'name'=>'title','type'=>'xsd:string',
|
|
|
+ 'name'=>'coursetitle','type'=>'xsd:string',
|
|
|
+ )
|
|
|
+);
|
|
|
|
|
|
$server->wsdl->addComplexType(
|
|
|
- 'agendaEvents',
|
|
|
+ 'eventsList',
|
|
|
'complexType',
|
|
|
- 'struct',
|
|
|
- 'all',
|
|
|
+ 'array',
|
|
|
'',
|
|
|
+ 'SOAP-ENC:Array',
|
|
|
+ array(),
|
|
|
array(
|
|
|
- 'username' => array('name' => 'username', 'type' => 'xsd:string'),
|
|
|
- 'signature' => array('name' => 'signature', 'type' => 'xsd:string'),
|
|
|
- 'datestart' => array('name' => 'datestart', 'type' => 'xsd:int'),
|
|
|
- 'dateend' => array('name' => 'dateend', 'type' => 'xsd:int'),
|
|
|
- )
|
|
|
+ array('ref'=>'SOAP:ENC:arrayType',
|
|
|
+ 'wsdl:arrayType'=>'tns:eventDetails[]')
|
|
|
+ ),
|
|
|
+ 'tns:eventDetails'
|
|
|
);
|
|
|
|
|
|
// Register the method to expose
|
|
@@ -106,12 +140,12 @@ $server->register('DokeosWSEventsList', // method name
|
|
|
'signature' => 'xsd:string',
|
|
|
'datestart' => 'xsd:int',
|
|
|
'dateend' => 'xsd:int'), // input parameters
|
|
|
- array('return' => 'xsd:array'), // output parameters
|
|
|
+ array('return' => 'xsd:Array'), // output parameters
|
|
|
'urn:WSUserInfo', // namespace
|
|
|
'urn:WSUserInfo#DokeosWSEventsList', // soapaction
|
|
|
'rpc', // style
|
|
|
'encoded', // use
|
|
|
- 'This service returns a list of courses the given user is subscribed to directly' // documentation
|
|
|
+ 'This service returns a list of events of the courses the given user is subscribed to' // documentation
|
|
|
);
|
|
|
|
|
|
/**
|
|
@@ -155,8 +189,11 @@ function DokeosWSEventsList($username,$signature,$datestart=0,$dateend=0) {
|
|
|
$de = substr($dateend,0,4).'-'.substr($dateend,4,2).'-'.substr($dateend,6,2).' 00:00:00';
|
|
|
$events_list = get_personal_agenda_items_between_dates($user_id, $ds, $de);
|
|
|
foreach ( $events_list as $i => $event ) {
|
|
|
- $events_list[$i]['title'] = mb_convert_encoding($event['title'],'UTF-8',$charset);
|
|
|
- $events_list[$i]['coursetitle'] = mb_convert_encoding($event['coursetitle'],'UTF-8',$charset);
|
|
|
+ $events_list[] = array(
|
|
|
+ 'date'=>$i,
|
|
|
+ 'title' => mb_convert_encoding($event['title'],'UTF-8',$charset),
|
|
|
+ 'coursetitle' => mb_convert_encoding($event['coursetitle'],'UTF-8',$charset)
|
|
|
+ );
|
|
|
}
|
|
|
return $events_list;
|
|
|
}
|