You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							265 lines
						
					
					
						
							7.5 KiB
						
					
					
				
			
		
		
	
	
							265 lines
						
					
					
						
							7.5 KiB
						
					
					
				<?php
 | 
						|
/* For licensing terms, see /license.txt */
 | 
						|
/**
 | 
						|
 * Configures the WSCourse SOAP service
 | 
						|
 * @package chamilo.webservices
 | 
						|
 */
 | 
						|
require_once __DIR__.'/webservice_course.php';
 | 
						|
require_once __DIR__.'/soap.php';
 | 
						|
 | 
						|
/**
 | 
						|
 * Configures the WSCourse SOAP service
 | 
						|
 */
 | 
						|
$s = WSSoapServer::singleton();
 | 
						|
 | 
						|
$s->wsdl->addComplexType(
 | 
						|
    'course_id',
 | 
						|
    'complexType',
 | 
						|
    'struct',
 | 
						|
    'all',
 | 
						|
    '',
 | 
						|
    array(
 | 
						|
        'course_id_field_name' => array('name' => 'course_id_field_name', 'type' => 'xsd:string'),
 | 
						|
        'course_id_value' => array('name' => 'course_id_value', 'type' => 'xsd:string')
 | 
						|
    )
 | 
						|
);
 | 
						|
 | 
						|
$s->wsdl->addComplexType(
 | 
						|
    'course_result',
 | 
						|
    'complexType',
 | 
						|
    'struct',
 | 
						|
    'all',
 | 
						|
    '',
 | 
						|
    array(
 | 
						|
        'course_id_value' => array('name' => 'course_id_value', 'type' => 'xsd:string'),
 | 
						|
        'result' => array('name' => 'result', 'type' => 'tns:result')
 | 
						|
    )
 | 
						|
);
 | 
						|
 | 
						|
$s->wsdl->addComplexType(
 | 
						|
    'course_result_array',
 | 
						|
    'complexType',
 | 
						|
    'array',
 | 
						|
    '',
 | 
						|
    'SOAP-ENC:Array',
 | 
						|
    array(),
 | 
						|
    array(array('ref'=>'SOAP-ENC:arrayType', 'wsdl:arrayType' => 'tns:course_result[]')),
 | 
						|
    'tns:course_result'
 | 
						|
);
 | 
						|
 | 
						|
$s->register(
 | 
						|
    'WSCourse.DeleteCourse',
 | 
						|
    array('secret_key' => 'xsd:string', 'course_id_field_name' => 'xsd:string', 'course_id_value' => 'xsd:string'),
 | 
						|
    array(),
 | 
						|
    'urn:WSService', // namespace
 | 
						|
    'urn:WSService#WSCourse.DeleteCourse', // soapaction
 | 
						|
    'rpc', // style
 | 
						|
    'encoded', // use
 | 
						|
    'Delete a course in chamilo'                   // documentation
 | 
						|
 | 
						|
);
 | 
						|
 | 
						|
$s->register(
 | 
						|
    'WSCourse.DeleteCourses',
 | 
						|
    array('secret_key' => 'xsd:string', 'courses' => 'tns:course_id[]'),
 | 
						|
    array('return' => 'tns:course_result_array')
 | 
						|
);
 | 
						|
 | 
						|
$s->register(
 | 
						|
    'WSCourse.CreateCourse',
 | 
						|
    array(
 | 
						|
        'secret_key' => 'xsd:string',
 | 
						|
        'title' => 'xsd:string',
 | 
						|
        'category_code' => 'xsd:string',
 | 
						|
        'wanted_code' => 'xsd:string',
 | 
						|
        'tutor_name' => 'xsd:string',
 | 
						|
        'course_admin_user_id_field_name' => 'xsd:string',
 | 
						|
        'course_admin_user_id_value' => 'xsd:string',
 | 
						|
        'language' => 'xsd:string',
 | 
						|
        'course_id_field_name' => 'xsd:string',
 | 
						|
        'course_id_value' => 'xsd:string',
 | 
						|
        'extras' => 'tns:extra_field'
 | 
						|
    ),
 | 
						|
    array('return' => 'xsd:int')
 | 
						|
);
 | 
						|
 | 
						|
$s->wsdl->addComplexType(
 | 
						|
    'course_create',
 | 
						|
    'complexType',
 | 
						|
    'struct',
 | 
						|
    'all',
 | 
						|
    '',
 | 
						|
    array(
 | 
						|
        'title' => array('name' => 'title', 'type' => 'xsd:string'),
 | 
						|
        'category_code' => array('name' => 'category_code', 'type' => 'xsd:string'),
 | 
						|
        'wanted_code' => array('name' => 'wanted_code', 'type' => 'xsd:int'),
 | 
						|
        'tutor_name' => array('name' => 'tutor_name', 'type' => 'xsd:string'),
 | 
						|
        'course_admin_user_id_field_name' => array('name' => 'course_admin_user_id_field_name', 'type' => 'xsd:string'),
 | 
						|
        'course_admin_user_id_value' => array('name' => 'course_admin_user_id_value', 'type' => 'xsd:string'),
 | 
						|
        'language' => array('name' => 'language', 'type' => 'xsd:string'),
 | 
						|
        'course_id_field_name' => array('name' => 'course_id_field_name', 'type' => 'xsd:string'),
 | 
						|
        'course_id_value' => array('name' => 'course_id_value', 'type' => 'xsd:string'),
 | 
						|
        'extras' => array('name' => 'extras', 'type' => 'tns:extra_field')
 | 
						|
    )
 | 
						|
);
 | 
						|
 | 
						|
$s->wsdl->addComplexType(
 | 
						|
    'course_create_result',
 | 
						|
    'complexType',
 | 
						|
    'struct',
 | 
						|
    'all',
 | 
						|
    '',
 | 
						|
    array(
 | 
						|
        'course_id_value' => array('name' => 'course_id_value', 'type' => 'xsd:string'),
 | 
						|
        'course_id_generated' => array('name' => 'course_id_generated', 'type' => 'xsd:int'),
 | 
						|
        'result' => array('name' => 'result', 'type' => 'tns:result')
 | 
						|
    )
 | 
						|
);
 | 
						|
 | 
						|
$s->wsdl->addComplexType(
 | 
						|
    'course_create_result_array',
 | 
						|
    'complexType',
 | 
						|
    'array',
 | 
						|
    '',
 | 
						|
    'SOAP-ENC:Array',
 | 
						|
    array(),
 | 
						|
    array(array('ref'=>'SOAP-ENC:arrayType', 'wsdl:arrayType' => 'tns:course_create_result[]')),
 | 
						|
    'tns:course_create_result'
 | 
						|
);
 | 
						|
 | 
						|
$s->register(
 | 
						|
    'WSCourse.CreateCourses',
 | 
						|
    array(
 | 
						|
        'secret_key' => 'xsd:string',
 | 
						|
        'courses' => 'tns:course_create[]'
 | 
						|
    ),
 | 
						|
    array('return' => 'tns:course_create_result_array')
 | 
						|
);
 | 
						|
 | 
						|
$s->register(
 | 
						|
    'WSCourse.EditCourse',
 | 
						|
    array(
 | 
						|
        'secret_key' => 'xsd:string',
 | 
						|
        'course_id_field_name' => 'xsd:string',
 | 
						|
        'course_id_value' => 'xsd:string',
 | 
						|
        'title' => 'xsd:string',
 | 
						|
        'category_code' => 'xsd:string',
 | 
						|
        'department_name' => 'xsd:string',
 | 
						|
        'department_url' => 'xsd:string',
 | 
						|
        'language' => 'xsd:string',
 | 
						|
        'visibility' => 'xsd:int',
 | 
						|
        'subscribe' => 'xsd:int',
 | 
						|
        'unsubscribe' => 'xsd:int',
 | 
						|
        'visual_code' => 'xsd:string',
 | 
						|
        'extras' => 'tns:extra_field'
 | 
						|
    )
 | 
						|
);
 | 
						|
 | 
						|
$s->wsdl->addComplexType(
 | 
						|
    'course',
 | 
						|
    'complexType',
 | 
						|
    'struct',
 | 
						|
    'all',
 | 
						|
    '',
 | 
						|
    array(
 | 
						|
        'id' => array('name' => 'id', 'type' => 'xsd:int'),
 | 
						|
        'code' => array('name' => 'code', 'type' => 'xsd:string'),
 | 
						|
        'title' => array('name' => 'title', 'type' => 'xsd:string'),
 | 
						|
        'language' => array('name' => 'language', 'type' => 'xsd:string'),
 | 
						|
        'visibility' => array('name' => 'visibility', 'type' => 'xsd:int'),
 | 
						|
        'category_name' => array('name' => 'category_name', 'type' => 'xsd:string'),
 | 
						|
        'number_students' => array('name' => 'number_students', 'type' => 'xsd:int'),
 | 
						|
        'external_course_id' => array('name' => 'external_course_id', 'type' => 'xsd:string'),
 | 
						|
    )
 | 
						|
);
 | 
						|
 | 
						|
$s->wsdl->addComplexType(
 | 
						|
    'course_array',
 | 
						|
    'complexType',
 | 
						|
    'array',
 | 
						|
    '',
 | 
						|
    'SOAP-ENC:Array',
 | 
						|
    array(),
 | 
						|
    array(array('ref'=>'SOAP-ENC:arrayType', 'wsdl:arrayType' => 'tns:course[]')),
 | 
						|
    'tns:course'
 | 
						|
);
 | 
						|
 | 
						|
$s->register(
 | 
						|
    'WSCourse.ListCourses',
 | 
						|
    array(
 | 
						|
        'secret_key' => 'xsd:string',
 | 
						|
        'course_id_field_name' => 'xsd:string',
 | 
						|
        'visibilities' => 'xsd:string'
 | 
						|
    ),
 | 
						|
    array('return' => 'tns:course_array')
 | 
						|
);
 | 
						|
 | 
						|
$s->register(
 | 
						|
    'WSCourse.SubscribeUserToCourse',
 | 
						|
    array(
 | 
						|
        'secret_key' => 'xsd:string',
 | 
						|
        'course_id_field_name' => 'xsd:string',
 | 
						|
        'course_id_value' => 'xsd:string',
 | 
						|
        'user_id_field_name' => 'xsd:string',
 | 
						|
        'user_id_value' => 'xsd:string',
 | 
						|
        'status' => 'xsd:int'
 | 
						|
    )
 | 
						|
);
 | 
						|
 | 
						|
$s->register(
 | 
						|
    'WSCourse.UnsubscribeUserFromCourse',
 | 
						|
    array(
 | 
						|
        'secret_key' => 'xsd:string',
 | 
						|
        'course_id_field_name' => 'xsd:string',
 | 
						|
        'course_id_value' => 'xsd:string',
 | 
						|
        'user_id_field_name' => 'xsd:string',
 | 
						|
        'user_id_value' => 'xsd:string'
 | 
						|
    )
 | 
						|
);
 | 
						|
 | 
						|
$s->wsdl->addComplexType(
 | 
						|
    'course_description',
 | 
						|
    'complexType',
 | 
						|
    'struct',
 | 
						|
    'all',
 | 
						|
    '',
 | 
						|
    array(
 | 
						|
        'course_desc_id' => array('name' => 'course_desc_id', 'type' => 'xsd:int'),
 | 
						|
        'course_desc_title' => array('name' => 'course_desc_title', 'type' => 'xsd:string'),
 | 
						|
        'course_desc_content' => array('name' => 'course_desc_content', 'type' => 'xsd:string')
 | 
						|
    )
 | 
						|
);
 | 
						|
 | 
						|
$s->wsdl->addComplexType(
 | 
						|
    'course_description_array',
 | 
						|
    'complexType',
 | 
						|
    'array',
 | 
						|
    '',
 | 
						|
    'SOAP-ENC:Array',
 | 
						|
    array(),
 | 
						|
    array(array('ref'=>'SOAP-ENC:arrayType', 'wsdl:arrayType' => 'tns:course_description[]')),
 | 
						|
    'tns:course_description'
 | 
						|
);
 | 
						|
 | 
						|
$s->register(
 | 
						|
    'WSCourse.GetCourseDescriptions',
 | 
						|
    array(
 | 
						|
        'secret_key' => 'xsd:string',
 | 
						|
        'course_id_field_name' => 'xsd:string',
 | 
						|
        'course_id_value' => 'xsd:string'
 | 
						|
    ),
 | 
						|
    array('return' => 'tns:course_description_array')
 | 
						|
);
 | 
						|
 | 
						|
$s->register(
 | 
						|
    'WSCourse.EditCourseDescription',
 | 
						|
    array(
 | 
						|
        'secret_key' => 'xsd:string',
 | 
						|
        'course_id_field_name' => 'xsd:string',
 | 
						|
        'course_id_value' => 'xsd:string',
 | 
						|
        'course_desc_id' => 'xsd:int',
 | 
						|
        'course_desc_title' => 'xsd:string',
 | 
						|
        'course_desc_content' => 'xsd:string'
 | 
						|
    )
 | 
						|
);
 | 
						|
 | 
						|
 |