MDL-29106 new web service naming convention

This commit is contained in:
Jerome Mouneyrac 2011-10-18 12:57:33 +08:00
parent 3a81b37617
commit 5d1017e11d
13 changed files with 1443 additions and 396 deletions

View File

@ -28,7 +28,10 @@ defined('MOODLE_INTERNAL') || die;
require_once("$CFG->libdir/externallib.php");
class moodle_course_external extends external_api {
/**
* Course functions
*/
class core_course_external extends external_api {
/**
* Returns description of method parameters
@ -363,4 +366,68 @@ class moodle_course_external extends external_api {
);
}
}
/**
* Deprecated course functions
* @deprecated since Moodle 2.2 please use core_course_external instead
*/
class moodle_course_external extends external_api {
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_course_external::get_courses_parameters instead
* @return external_function_parameters
*/
public static function get_courses_parameters() {
return core_course_external::get_courses_parameters();
}
/**
* Get courses
* @param array $options
* @deprecated since Moodle 2.2 please use core_course_external::get_courses instead
* @return array
*/
public static function get_courses($options) {
return core_course_external::get_courses($options);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_course_external::get_courses_returns instead
* @return external_description
*/
public static function get_courses_returns() {
return core_course_external::get_courses_returns();
}
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_course_external::create_courses_parameters instead
* @return external_function_parameters
*/
public static function create_courses_parameters() {
return core_course_external::create_courses_parameters();
}
/**
* Create courses
* @deprecated since Moodle 2.2 please use core_course_external::create_courses instead
* @param array $courses
* @return array courses (id and shortname only)
*/
public static function create_courses($courses) {
return core_course_external::create_courses($courses);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_course_external::create_courses_returns instead
* @return external_description
*/
public static function create_courses_returns() {
return core_course_external::create_courses_returns();
}
}

View File

@ -31,12 +31,416 @@ defined('MOODLE_INTERNAL') || die();
require_once("$CFG->libdir/externallib.php");
/**
* Enrol functions
*/
class core_enrol_external extends external_api {
/**
* Returns description of method parameters
* @return external_function_parameters
*/
public static function get_users_courses_parameters() {
return new external_function_parameters(
array(
'userid' => new external_value(PARAM_INT, 'user id'),
)
);
}
/**
* Get list of courses user is enrolled in (only active enrolments are returned).
*
* Please note the current user must be able to access the course, otherwise the course is not included.
*
* @param int $userid
* @return array of courses
*/
public static function get_users_courses($userid) {
global $USER;
// Do basic automatic PARAM checks on incoming data, using params description
// If any problems are found then exceptions are thrown with helpful error messages
$params = self::validate_parameters(self::get_users_courses_parameters(), array('userid'=>$userid));
$courses = enrol_get_users_courses($params['userid'], true, 'id, shortname, fullname, idnumber, visible');
$result = array();
foreach ($courses as $course) {
$context = get_context_instance(CONTEXT_COURSE, $course->id);
try {
self::validate_context($context);
} catch (Exception $e) {
// current user can not access this course, sorry we can not disclose who is enrolled in this course!
continue;
}
if ($userid != $USER->id and !has_capability('moodle/course:viewparticipants', $context)) {
// we need capability to view participants
continue;
}
$result[] = array('id'=>$course->id, 'shortname'=>$course->shortname, 'fullname'=>$course->fullname, 'idnumber'=>$course->idnumber,'visible'=>$course->visible);
}
return $result;
}
/**
* Returns description of method result value
* @return external_description
*/
public static function get_users_courses_returns() {
return new external_multiple_structure(
new external_single_structure(
array(
'id' => new external_value(PARAM_INT, 'id of course'),
'shortname' => new external_value(PARAM_RAW, 'short name of course'),
'fullname' => new external_value(PARAM_RAW, 'long name of course'),
'idnumber' => new external_value(PARAM_RAW, 'id number of course'),
'visible' => new external_value(PARAM_INT, '1 means visible, 0 means hidden course'),
)
)
);
}
/**
* Returns description of method parameters
* @return external_function_parameters
*/
public static function get_enrolled_users_parameters() {
return new external_function_parameters(
array(
'courseid' => new external_value(PARAM_INT, 'course id'),
'options' => new external_multiple_structure(
new external_single_structure(
array(
'name' => new external_value(PARAM_ALPHANUMEXT, 'option name'),
'value' => new external_value(PARAM_RAW, 'option value')
)
), 'method options'),
)
);
}
/**
* Get course participants details
* @param int $courseid course id
* @param array $options options {
* 'name' => option name
* 'value' => option value
* }
* @return array An array of users
*/
public static function get_enrolled_users($courseid, $options) {
global $CFG, $USER, $DB;
require_once($CFG->dirroot . "/user/lib.php");
$params = self::validate_parameters(
self::get_users_by_course_id_parameters(),
array(
'courseid'=>$courseid,
'options'=>$options
)
);
$withcapability = '';
$groupid = 0;
$onlyactive = false;
foreach ($options as $option) {
switch ($option['name']) {
case 'withcapability':
$withcapability = $option['value'];
break;
case 'groupid':
$groupid = (int)$option['value'];
break;
case 'onlyactive':
$onlyactive = !empty($option['value']);
break;
}
}
// to overwrite this parameter, you need role:review capability
if ($withcapability) {
require_capability('moodle/role:review', $coursecontext);
}
// need accessallgroups capability if you want to overwrite this option
if (!empty($groupid) && groups_is_member($groupid)) {
require_capability('moodle/site:accessallgroups', $context);
}
// to overwrite this option, you need course:enrolereview permission
if ($onlyactive) {
require_capability('moodle/course:enrolreview', $coursecontext);
}
list($coursectxselect, $coursectxjoin) = context_instance_preload_sql('c.id', CONTEXT_COURSE, 'ctx');
$coursesql = "SELECT c.* $coursectxselect
FROM {course} c $coursectxjoin
WHERE c.id = $courseid";
$course = $DB->get_record_sql($coursesql);
context_instance_preload($course);
$coursecontext = get_context_instance(CONTEXT_COURSE, $params['courseid']);
if ($courseid == SITEID) {
$context = get_system_context();
} else {
$context = $coursecontext;
}
try {
self::validate_context($context);
} catch (Exception $e) {
$exceptionparam = new stdClass();
$exceptionparam->message = $e->getMessage();
$exceptionparam->courseid = $params['courseid'];
throw new moodle_exception(get_string('errorcoursecontextnotvalid' , 'webservice', $exceptionparam));
}
list($enrolledsql, $enrolledparams) = get_enrolled_sql($coursecontext, $withcapability, $groupid, $onlyactive);
list($ctxselect, $ctxjoin) = context_instance_preload_sql('u.id', CONTEXT_USER, 'ctx');
$records = $DB->get_records_sql($enrolledsql, $enrolledparams);
$sqlparams['courseid'] = $courseid;
$sql = "SELECT u.* $ctxselect
FROM {user} u $ctxjoin
WHERE u.id IN ($enrolledsql)
ORDER BY u.id ASC";
$enrolledusers = $DB->get_recordset_sql($sql, $enrolledparams);
$users = array();
foreach ($enrolledusers as $user) {
if (!empty($user->deleted)) {
continue;
}
context_instance_preload($user);
if ($userdetails = user_get_user_details($user, $course)) {
$users[] = $userdetails;
}
}
$enrolledusers->close();
return $users;
}
/**
* Returns description of method result value
* @return external_description
*/
public static function get_enrolled_users_returns() {
return new external_multiple_structure(
new external_single_structure(
array(
'id' => new external_value(PARAM_NUMBER, 'ID of the user'),
'username' => new external_value(PARAM_RAW, 'Username policy is defined in Moodle security config', VALUE_OPTIONAL),
'firstname' => new external_value(PARAM_NOTAGS, 'The first name(s) of the user', VALUE_OPTIONAL),
'lastname' => new external_value(PARAM_NOTAGS, 'The family name of the user', VALUE_OPTIONAL),
'fullname' => new external_value(PARAM_NOTAGS, 'The fullname of the user'),
'email' => new external_value(PARAM_TEXT, 'An email address - allow email as root@localhost', VALUE_OPTIONAL),
'address' => new external_value(PARAM_MULTILANG, 'Postal address', VALUE_OPTIONAL),
'phone1' => new external_value(PARAM_NOTAGS, 'Phone 1', VALUE_OPTIONAL),
'phone2' => new external_value(PARAM_NOTAGS, 'Phone 2', VALUE_OPTIONAL),
'icq' => new external_value(PARAM_NOTAGS, 'icq number', VALUE_OPTIONAL),
'skype' => new external_value(PARAM_NOTAGS, 'skype id', VALUE_OPTIONAL),
'yahoo' => new external_value(PARAM_NOTAGS, 'yahoo id', VALUE_OPTIONAL),
'aim' => new external_value(PARAM_NOTAGS, 'aim id', VALUE_OPTIONAL),
'msn' => new external_value(PARAM_NOTAGS, 'msn number', VALUE_OPTIONAL),
'department' => new external_value(PARAM_TEXT, 'department', VALUE_OPTIONAL),
'institution' => new external_value(PARAM_TEXT, 'institution', VALUE_OPTIONAL),
'interests' => new external_value(PARAM_TEXT, 'user interests (separated by commas)', VALUE_OPTIONAL),
'firstaccess' => new external_value(PARAM_INT, 'first access to the site (0 if never)', VALUE_OPTIONAL),
'lastaccess' => new external_value(PARAM_INT, 'last access to the site (0 if never)', VALUE_OPTIONAL),
'description' => new external_value(PARAM_RAW, 'User profile description', VALUE_OPTIONAL),
'descriptionformat' => new external_value(PARAM_INT, 'User profile description format', VALUE_OPTIONAL),
'city' => new external_value(PARAM_NOTAGS, 'Home city of the user', VALUE_OPTIONAL),
'url' => new external_value(PARAM_URL, 'URL of the user', VALUE_OPTIONAL),
'country' => new external_value(PARAM_ALPHA, 'Home country code of the user, such as AU or CZ', VALUE_OPTIONAL),
'profileimageurlsmall' => new external_value(PARAM_URL, 'User image profile URL - small version'),
'profileimageurl' => new external_value(PARAM_URL, 'User image profile URL - big version'),
'customfields' => new external_multiple_structure(
new external_single_structure(
array(
'type' => new external_value(PARAM_ALPHANUMEXT, 'The type of the custom field - text field, checkbox...'),
'value' => new external_value(PARAM_RAW, 'The value of the custom field'),
'name' => new external_value(PARAM_RAW, 'The name of the custom field'),
'shortname' => new external_value(PARAM_RAW, 'The shortname of the custom field - to be able to build the field class in the code'),
)
), 'User custom fields (also known as user profil fields)', VALUE_OPTIONAL),
'groups' => new external_multiple_structure(
new external_single_structure(
array(
'id' => new external_value(PARAM_INT, 'group id'),
'name' => new external_value(PARAM_RAW, 'group name'),
'description' => new external_value(PARAM_RAW, 'group description'),
)
), 'user groups', VALUE_OPTIONAL),
'roles' => new external_multiple_structure(
new external_single_structure(
array(
'roleid' => new external_value(PARAM_INT, 'role id'),
'name' => new external_value(PARAM_RAW, 'role name'),
'shortname' => new external_value(PARAM_ALPHANUMEXT, 'role shortname'),
'sortorder' => new external_value(PARAM_INT, 'role sortorder')
)
), 'user roles', VALUE_OPTIONAL),
'preferences' => new external_multiple_structure(
new external_single_structure(
array(
'name' => new external_value(PARAM_ALPHANUMEXT, 'The name of the preferences'),
'value' => new external_value(PARAM_RAW, 'The value of the custom field'),
)
), 'User preferences', VALUE_OPTIONAL),
'enrolledcourses' => new external_multiple_structure(
new external_single_structure(
array(
'id' => new external_value(PARAM_INT, 'Id of the course'),
'fullname' => new external_value(PARAM_RAW, 'Fullname of the course'),
'shortname' => new external_value(PARAM_RAW, 'Shortname of the course')
)
), 'Courses where the user is enrolled - limited by which courses the user is able to see', VALUE_OPTIONAL)
)
)
);
}
}
/**
* Role functions
*/
class core_role_external extends external_api {
/**
* Returns description of method parameters
* @return external_function_parameters
*/
public static function assign_roles_parameters() {
return new external_function_parameters(
array(
'assignments' => new external_multiple_structure(
new external_single_structure(
array(
'roleid' => new external_value(PARAM_INT, 'Role to assign to the user'),
'userid' => new external_value(PARAM_INT, 'The user that is going to be assigned'),
'contextid' => new external_value(PARAM_INT, 'The context to assign the user role in'),
)
)
)
)
);
}
/**
* Manual role assignments to users
*
* @param array $assignment An array of manual role assignment
* @return null
*/
public static function assign_roles($assignments) {
global $DB;
// Do basic automatic PARAM checks on incoming data, using params description
// If any problems are found then exceptions are thrown with helpful error messages
$params = self::validate_parameters(self::assign_roles_parameters(), array('assignments'=>$assignments));
$transaction = $DB->start_delegated_transaction();
foreach ($params['assignments'] as $assignment) {
// Ensure the current user is allowed to run this function in the enrolment context
$context = get_context_instance_by_id($assignment['contextid']);
self::validate_context($context);
require_capability('moodle/role:assign', $context);
// throw an exception if user is not able to assign the role in this context
$roles = get_assignable_roles($context, ROLENAME_SHORT);
if (!key_exists($assignment['roleid'], $roles)) {
throw new invalid_parameter_exception('Can not assign roleid='.$assignment['roleid'].' in contextid='.$assignment['contextid']);
}
role_assign($assignment['roleid'], $assignment['userid'], $assignment['contextid']);
}
$transaction->allow_commit();
}
/**
* Returns description of method result value
* @return external_description
*/
public static function assign_roles_returns() {
return null;
}
/**
* Returns description of method parameters
* @return external_function_parameters
*/
public static function unassign_roles_parameters() {
return new external_function_parameters(
array(
'unassignments' => new external_multiple_structure(
new external_single_structure(
array(
'roleid' => new external_value(PARAM_INT, 'Role to assign to the user'),
'userid' => new external_value(PARAM_INT, 'The user that is going to be assigned'),
'contextid' => new external_value(PARAM_INT, 'The context to unassign the user role from'),
)
)
)
)
);
}
/**
* Unassign roles from users
*
* @param array $unassignment An array of unassignment
* @return null
*/
public static function unassign_roles($unassignments) {
global $DB;
// Do basic automatic PARAM checks on incoming data, using params description
// If any problems are found then exceptions are thrown with helpful error messages
$params = self::validate_parameters(self::unassign_roles_parameters(), array('unassignments'=>$unassignments));
$transaction = $DB->start_delegated_transaction();
foreach ($params['unassignments'] as $unassignment) {
// Ensure the current user is allowed to run this function in the unassignment context
$context = get_context_instance_by_id($unassignment['contextid']);
self::validate_context($context);
require_capability('moodle/role:assign', $context);
// throw an exception if user is not able to unassign the role in this context
$roles = get_assignable_roles($context, ROLENAME_SHORT);
if (!key_exists($unassignment['roleid'], $roles)) {
throw new invalid_parameter_exception('Can not unassign roleid='.$unassignment['roleid'].' in contextid='.$unassignment['contextid']);
}
role_unassign($unassignment['roleid'], $unassignment['userid'], $unassignment['contextid']);
}
$transaction->allow_commit();
}
/**
* Returns description of method result value
* @return null
*/
public static function unassign_roles_returns() {
return null;
}
}
/**
* Deprecated enroll and role functions
* @deprecated since Moodle 2.2 please use core_enrol_external or core_role_external instead
*/
class moodle_enrol_external extends external_api {
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_enrol_external::get_enrolled_users_parameters() instead
* @return external_function_parameters
*/
public static function get_enrolled_users_parameters() {
@ -52,7 +456,7 @@ class moodle_enrol_external extends external_api {
/**
* Get list of course participants.
*
* @deprecated since Moodle 2.2 please use core_enrol_external::get_enrolled_users() instead
* @param int $courseid
* @param text $withcapability
* @param int $groupid
@ -143,6 +547,7 @@ class moodle_enrol_external extends external_api {
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_enrol_external::get_enrolled_users_returns() instead
* @return external_description
*/
public static function get_enrolled_users_returns() {
@ -164,192 +569,89 @@ class moodle_enrol_external extends external_api {
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_enrol_external::get_users_courses_parameters() instead
* @return external_function_parameters
*/
public static function get_users_courses_parameters() {
return new external_function_parameters(
array(
'userid' => new external_value(PARAM_INT, 'user id'),
)
);
return core_enrol_external::get_users_courses_parameters();
}
/**
* Get list of courses user is enrolled in (only active enrolments are returned).
*
* Please note the current user must be able to access the course, otherwise the course is not included.
*
* @deprecated since Moodle 2.2 please use core_enrol_external::get_users_courses() instead
* @param int $userid
* @return array of courses
*/
public static function get_users_courses($userid) {
global $USER;
// Do basic automatic PARAM checks on incoming data, using params description
// If any problems are found then exceptions are thrown with helpful error messages
$params = self::validate_parameters(self::get_users_courses_parameters(), array('userid'=>$userid));
$courses = enrol_get_users_courses($params['userid'], true, 'id, shortname, fullname, idnumber, visible');
$result = array();
foreach ($courses as $course) {
$context = get_context_instance(CONTEXT_COURSE, $course->id);
try {
self::validate_context($context);
} catch (Exception $e) {
// current user can not access this course, sorry we can not disclose who is enrolled in this course!
continue;
}
if ($userid != $USER->id and !has_capability('moodle/course:viewparticipants', $context)) {
// we need capability to view participants
continue;
}
$result[] = array('id'=>$course->id, 'shortname'=>$course->shortname, 'fullname'=>$course->fullname, 'idnumber'=>$course->idnumber,'visible'=>$course->visible);
}
return $result;
return core_enrol_external::get_users_courses($userid);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_enrol_external::get_users_courses_returns() instead
* @return external_description
*/
public static function get_users_courses_returns() {
return new external_multiple_structure(
new external_single_structure(
array(
'id' => new external_value(PARAM_INT, 'id of course'),
'shortname' => new external_value(PARAM_RAW, 'short name of course'),
'fullname' => new external_value(PARAM_RAW, 'long name of course'),
'idnumber' => new external_value(PARAM_RAW, 'id number of course'),
'visible' => new external_value(PARAM_INT, '1 means visible, 0 means hidden course'),
)
)
);
return core_enrol_external::get_users_courses_returns();
}
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_role_external::assign_roles_parameters() instead
* @return external_function_parameters
*/
public static function role_assign_parameters() {
return new external_function_parameters(
array(
'assignments' => new external_multiple_structure(
new external_single_structure(
array(
'roleid' => new external_value(PARAM_INT, 'Role to assign to the user'),
'userid' => new external_value(PARAM_INT, 'The user that is going to be assigned'),
'contextid' => new external_value(PARAM_INT, 'The context to assign the user role in'),
)
)
)
)
);
return core_role_external::assign_roles_parameters();
}
/**
* Manual role assignments to users
*
* @deprecated since Moodle 2.2 please use core_role_external::assign_roles() instead
* @param array $assignment An array of manual role assignment
* @return null
*/
public static function role_assign($assignments) {
global $DB;
// Do basic automatic PARAM checks on incoming data, using params description
// If any problems are found then exceptions are thrown with helpful error messages
$params = self::validate_parameters(self::role_assign_parameters(), array('assignments'=>$assignments));
$transaction = $DB->start_delegated_transaction();
foreach ($params['assignments'] as $assignment) {
// Ensure the current user is allowed to run this function in the enrolment context
$context = get_context_instance_by_id($assignment['contextid']);
self::validate_context($context);
require_capability('moodle/role:assign', $context);
// throw an exception if user is not able to assign the role in this context
$roles = get_assignable_roles($context, ROLENAME_SHORT);
if (!key_exists($assignment['roleid'], $roles)) {
throw new invalid_parameter_exception('Can not assign roleid='.$assignment['roleid'].' in contextid='.$assignment['contextid']);
}
role_assign($assignment['roleid'], $assignment['userid'], $assignment['contextid']);
}
$transaction->allow_commit();
return core_role_external::assign_roles($assignments);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_role_external::assign_roles_returns() instead
* @return external_description
*/
public static function role_assign_returns() {
return null;
return core_role_external::assign_roles_returns();
}
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_role_external::unassign_roles_parameters() instead
* @return external_function_parameters
*/
public static function role_unassign_parameters() {
return new external_function_parameters(
array(
'unassignments' => new external_multiple_structure(
new external_single_structure(
array(
'roleid' => new external_value(PARAM_INT, 'Role to assign to the user'),
'userid' => new external_value(PARAM_INT, 'The user that is going to be assigned'),
'contextid' => new external_value(PARAM_INT, 'The context to unassign the user role from'),
)
)
)
)
);
return core_role_external::unassign_roles_parameters();
}
/**
* Unassign roles from users
*
* @deprecated since Moodle 2.2 please use core_role_external::unassign_roles() instead
* @param array $unassignment An array of unassignment
* @return null
*/
public static function role_unassign($unassignments) {
global $DB;
// Do basic automatic PARAM checks on incoming data, using params description
// If any problems are found then exceptions are thrown with helpful error messages
$params = self::validate_parameters(self::role_unassign_parameters(), array('unassignments'=>$unassignments));
$transaction = $DB->start_delegated_transaction();
foreach ($params['unassignments'] as $unassignment) {
// Ensure the current user is allowed to run this function in the unassignment context
$context = get_context_instance_by_id($unassignment['contextid']);
self::validate_context($context);
require_capability('moodle/role:assign', $context);
// throw an exception if user is not able to unassign the role in this context
$roles = get_assignable_roles($context, ROLENAME_SHORT);
if (!key_exists($unassignment['roleid'], $roles)) {
throw new invalid_parameter_exception('Can not unassign roleid='.$unassignment['roleid'].' in contextid='.$unassignment['contextid']);
}
role_unassign($unassignment['roleid'], $unassignment['userid'], $unassignment['contextid']);
}
$transaction->allow_commit();
return core_role_external::unassign_roles($unassignments);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_role_external::unassign_roles_returns() instead
* @return external_description
*/
public static function role_unassign_returns() {
return null;
return core_role_external::unassign_roles_returns();
}
}

View File

@ -28,8 +28,17 @@ $functions = array(
// === enrol related functions ===
'moodle_enrol_manual_enrol_users' => array(
'classname' => 'moodle_enrol_manual_external',
'methodname' => 'manual_enrol_users',
'classname' => 'enrol_manual_external',
'methodname' => 'enrol_users',
'classpath' => 'enrol/manual/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as enrol_manual_enrol_users()',
'capabilities'=> 'enrol/manual:enrol',
'type' => 'write',
),
'enrol_manual_enrol_users' => array(
'classname' => 'enrol_manual_external',
'methodname' => 'enrol_users',
'classpath' => 'enrol/manual/externallib.php',
'description' => 'Manual enrol users',
'capabilities'=> 'enrol/manual:enrol',

View File

@ -29,13 +29,16 @@ defined('MOODLE_INTERNAL') || die();
require_once("$CFG->libdir/externallib.php");
class moodle_enrol_manual_external extends external_api {
/**
* Manual enrolment functions
*/
class enrol_manual_external extends external_api {
/**
* Returns description of method parameters
* @return external_function_parameters
*/
public static function manual_enrol_users_parameters() {
public static function enrol_users_parameters() {
return new external_function_parameters(
array(
'enrolments' => new external_multiple_structure(
@ -60,12 +63,12 @@ class moodle_enrol_manual_external extends external_api {
* @param array $enrolments An array of user enrolment
* @return null
*/
public static function manual_enrol_users($enrolments) {
public static function enrol_users($enrolments) {
global $DB, $CFG;
require_once($CFG->libdir . '/enrollib.php');
$params = self::validate_parameters(self::manual_enrol_users_parameters(),
$params = self::validate_parameters(self::enrol_users_parameters(),
array('enrolments' => $enrolments));
$transaction = $DB->start_delegated_transaction(); //rollback all enrolment if an error occurs
@ -134,10 +137,47 @@ class moodle_enrol_manual_external extends external_api {
/**
* Returns description of method result value
* @return external_description
* @return null
*/
public static function manual_enrol_users_returns() {
public static function enrol_users_returns() {
return null;
}
}
/**
* Deprecated manual enrolment functions
* @deprecated since Moodle 2.2 please use enrol_manual_external instead
*/
class moodle_enrol_manual_external extends external_api {
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use enrol_manual_external::enrol_users_parameters instead
* @return external_function_parameters
*/
public static function manual_enrol_users_parameters() {
return enrol_manual_external::enrol_users_parameters();
}
/**
* Enrolment of users
* Function throw an exception at the first error encountered.
* @deprecated since Moodle 2.2 please use enrol_manual_external::enrol_users instead
* @param array $enrolments An array of user enrolment
* @return null
*/
public static function manual_enrol_users($enrolments) {
return enrol_manual_external::enrol_users($enrolments);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use enrol_manual_external::enrol_users_returns instead
* @return external_description
*/
public static function manual_enrol_users_returns() {
return enrol_manual_external::enrol_users_returns();
}
}

View File

@ -26,4 +26,4 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2010071201;
$plugin->version = 2010071201.02;

View File

@ -27,7 +27,10 @@
require_once("$CFG->libdir/externallib.php");
require_once("$CFG->libdir/filelib.php");
class moodle_file_external extends external_api {
/**
* Files functions
*/
class core_files_external extends external_api {
/**
* Returns description of get_files parameters
@ -296,3 +299,77 @@ class moodle_file_external extends external_api {
);
}
}
/**
* Deprecated files functions
* @deprecated since Moodle 2.2 please use core_files_external instead
*/
class moodle_file_external extends external_api {
/**
* Returns description of get_files parameters
* @deprecated since Moodle 2.2 please use core_files_external::get_files_parameters instead
* @return external_function_parameters
*/
public static function get_files_parameters() {
return core_files_external::get_files_parameters();
}
/**
* Return moodle files listing
* @deprecated since Moodle 2.2 please use core_files_external::get_files instead
* @param int $contextid
* @param int $component
* @param int $filearea
* @param int $itemid
* @param string $filepath
* @param string $filename
* @return array
*/
public static function get_files($contextid, $component, $filearea, $itemid, $filepath, $filename) {
return core_files_external::get_files($contextid, $component, $filearea, $itemid, $filepath, $filename);
}
/**
* Returns description of get_files returns
* @deprecated since Moodle 2.2 please use core_files_external::get_files_returns instead
* @return external_multiple_structure
*/
public static function get_files_returns() {
return core_files_external::get_files_returns();
}
/**
* Returns description of upload parameters
* @deprecated since Moodle 2.2 please use core_files_external::upload_parameters instead
* @return external_function_parameters
*/
public static function upload_parameters() {
return core_files_external::upload_parameters();
}
/**
* Uploading a file to moodle
* @deprecated since Moodle 2.2 please use core_files_external::upload instead
* @param int $contextid
* @param string $component
* @param string $filearea
* @param int $itemid
* @param string $filepath
* @param string $filename
* @param string $filecontent
* @return array
*/
public static function upload($contextid, $component, $filearea, $itemid, $filepath, $filename, $filecontent) {
return core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath, $filename, $filecontent);
}
/**
* Returns description of upload returns
* @deprecated since Moodle 2.2 please use core_files_external::upload_returns instead
* @return external_multiple_structure
*/
public static function upload_returns() {
return core_files_external::upload_returns();
}
}

View File

@ -26,7 +26,10 @@
require_once("$CFG->libdir/externallib.php");
class moodle_group_external extends external_api {
/**
* Group functions
*/
class core_group_external extends external_api {
/**
* Returns description of method parameters
@ -305,7 +308,7 @@ class moodle_group_external extends external_api {
* Returns description of method parameters
* @return external_function_parameters
*/
public static function get_groupmembers_parameters() {
public static function get_group_members_parameters() {
return new external_function_parameters(
array(
'groupids' => new external_multiple_structure(new external_value(PARAM_INT, 'Group ID')),
@ -318,10 +321,10 @@ class moodle_group_external extends external_api {
* @param array $groupids array of group ids
* @return array with group id keys containing arrays of user ids
*/
public static function get_groupmembers($groupids) {
public static function get_group_members($groupids) {
$members = array();
$params = self::validate_parameters(self::get_groupmembers_parameters(), array('groupids'=>$groupids));
$params = self::validate_parameters(self::get_group_members_parameters(), array('groupids'=>$groupids));
foreach ($params['groupids'] as $groupid) {
// validate params
@ -351,7 +354,7 @@ class moodle_group_external extends external_api {
* Returns description of method result value
* @return external_description
*/
public static function get_groupmembers_returns() {
public static function get_group_members_returns() {
return new external_multiple_structure(
new external_single_structure(
array(
@ -367,7 +370,7 @@ class moodle_group_external extends external_api {
* Returns description of method parameters
* @return external_function_parameters
*/
public static function add_groupmembers_parameters() {
public static function add_group_members_parameters() {
return new external_function_parameters(
array(
'members'=> new external_multiple_structure(
@ -387,11 +390,11 @@ class moodle_group_external extends external_api {
* @param array $members of arrays with keys userid, groupid
* @return void
*/
public static function add_groupmembers($members) {
public static function add_group_members($members) {
global $CFG, $DB;
require_once("$CFG->dirroot/group/lib.php");
$params = self::validate_parameters(self::add_groupmembers_parameters(), array('members'=>$members));
$params = self::validate_parameters(self::add_group_members_parameters(), array('members'=>$members));
$transaction = $DB->start_delegated_transaction();
foreach ($params['members'] as $member) {
@ -429,9 +432,9 @@ class moodle_group_external extends external_api {
/**
* Returns description of method result value
* @return external_description
* @return null
*/
public static function add_groupmembers_returns() {
public static function add_group_members_returns() {
return null;
}
@ -440,7 +443,7 @@ class moodle_group_external extends external_api {
* Returns description of method parameters
* @return external_function_parameters
*/
public static function delete_groupmembers_parameters() {
public static function delete_group_members_parameters() {
return new external_function_parameters(
array(
'members'=> new external_multiple_structure(
@ -460,11 +463,11 @@ class moodle_group_external extends external_api {
* @param array $members of arrays with keys userid, groupid
* @return void
*/
public static function delete_groupmembers($members) {
public static function delete_group_members($members) {
global $CFG, $DB;
require_once("$CFG->dirroot/group/lib.php");
$params = self::validate_parameters(self::delete_groupmembers_parameters(), array('members'=>$members));
$params = self::validate_parameters(self::delete_group_members_parameters(), array('members'=>$members));
$transaction = $DB->start_delegated_transaction();
@ -497,10 +500,217 @@ class moodle_group_external extends external_api {
/**
* Returns description of method result value
* @return external_description
* @return null
*/
public static function delete_groupmembers_returns() {
public static function delete_group_members_returns() {
return null;
}
}
/**
* Deprecated group functions
* @deprecated since Moodle 2.2 please use core_group_external instead
*/
class moodle_group_external extends external_api {
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_group_external::create_groups_parameters instead
* @return external_function_parameters
*/
public static function create_groups_parameters() {
return core_group_external::create_groups_parameters();
}
/**
* Create groups
* @deprecated since Moodle 2.2 please use core_group_external::create_groups instead
* @param array $groups array of group description arrays (with keys groupname and courseid)
* @return array of newly created groups
*/
public static function create_groups($groups) {
return core_group_external::create_groups($groups);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_group_external::create_groups_returns instead
* @return external_description
*/
public static function create_groups_returns() {
return core_group_external::create_groups_returns();
}
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_group_external::get_groups_parameters instead
* @return external_function_parameters
*/
public static function get_groups_parameters() {
return core_group_external::get_groups_parameters();
}
/**
* Get groups definition specified by ids
* @deprecated since Moodle 2.2 please use core_group_external::get_groups instead
* @param array $groupids arrays of group ids
* @return array of group objects (id, courseid, name, enrolmentkey)
*/
public static function get_groups($groupids) {
return core_group_external::get_groups($groupids);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_group_external::get_groups_returns instead
* @return external_description
*/
public static function get_groups_returns() {
return core_group_external::get_groups_returns();
}
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_group_external::get_course_groups_parameters instead
* @return external_function_parameters
*/
public static function get_course_groups_parameters() {
return core_group_external::get_course_groups_parameters();
}
/**
* Get all groups in the specified course
* @deprecated since Moodle 2.2 please use core_group_external::get_course_groups instead
* @param int $courseid id of course
* @return array of group objects (id, courseid, name, enrolmentkey)
*/
public static function get_course_groups($courseid) {
return core_group_external::get_course_groups($courseid);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_group_external::get_course_groups_returns instead
* @return external_description
*/
public static function get_course_groups_returns() {
return core_group_external::get_course_groups_returns();
}
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_group_external::delete_group_members_parameters instead
* @return external_function_parameters
*/
public static function delete_groups_parameters() {
return core_group_external::delete_group_members_parameters();
}
/**
* Delete groups
* @deprecated since Moodle 2.2 please use core_group_external::delete_groups instead
* @param array $groupids array of group ids
* @return void
*/
public static function delete_groups($groupids) {
return core_group_external::delete_groups($groupids);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_group_external::delete_group_members_returns instead
* @return external_description
*/
public static function delete_groups_returns() {
return core_group_external::delete_group_members_returns();
}
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_group_external::get_group_members_parameters instead
* @return external_function_parameters
*/
public static function get_groupmembers_parameters() {
return core_group_external::get_group_members_parameters();
}
/**
* Return all members for a group
* @deprecated since Moodle 2.2 please use core_group_external::get_group_members instead
* @param array $groupids array of group ids
* @return array with group id keys containing arrays of user ids
*/
public static function get_groupmembers($groupids) {
return core_group_external::get_group_members($groupids);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_group_external::get_group_members_returns instead
* @return external_description
*/
public static function get_groupmembers_returns() {
return core_group_external::get_group_members_returns();
}
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_group_external::add_group_members_parameters instead
* @return external_function_parameters
*/
public static function add_groupmembers_parameters() {
return core_group_external::add_group_members_parameters();
}
/**
* Add group members
* @deprecated since Moodle 2.2 please use core_group_external::add_group_members instead
* @param array $members of arrays with keys userid, groupid
* @return void
*/
public static function add_groupmembers($members) {
return core_group_external::add_group_members($members);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_group_external::add_group_members_returns instead
* @return external_description
*/
public static function add_groupmembers_returns() {
return core_group_external::add_group_members_returns();
}
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_group_external::delete_group_members_parameters instead
* @return external_function_parameters
*/
public static function delete_groupmembers_parameters() {
return core_group_external::delete_group_members_parameters();
}
/**
* Delete group members
* @deprecated since Moodle 2.2 please use core_group_external::delete_group_members instead
* @param array $members of arrays with keys userid, groupid
* @return void
*/
public static function delete_groupmembers($members) {
return core_group_external::delete_group_members($members);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_group_external::delete_group_members_returns instead
* @return external_description
*/
public static function delete_groupmembers_returns() {
return core_group_external::delete_group_members_returns();
}
}

View File

@ -29,7 +29,16 @@ $functions = array(
// === group related functions ===
'moodle_group_create_groups' => array(
'classname' => 'moodle_group_external',
'classname' => 'core_group_external',
'methodname' => 'create_groups',
'classpath' => 'group/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_group_create_groups(). ',
'type' => 'write',
'capabilities'=> 'moodle/course:managegroups',
),
'core_group_create_groups' => array(
'classname' => 'core_group_external',
'methodname' => 'create_groups',
'classpath' => 'group/externallib.php',
'description' => 'Creates new groups.',
@ -38,7 +47,16 @@ $functions = array(
),
'moodle_group_get_groups' => array(
'classname' => 'moodle_group_external',
'classname' => 'core_group_external',
'methodname' => 'get_groups',
'classpath' => 'group/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_group_get_groups()',
'type' => 'read',
'capabilities'=> 'moodle/course:managegroups',
),
'core_group_get_groups' => array(
'classname' => 'core_group_external',
'methodname' => 'get_groups',
'classpath' => 'group/externallib.php',
'description' => 'Returns group details.',
@ -47,7 +65,16 @@ $functions = array(
),
'moodle_group_get_course_groups' => array(
'classname' => 'moodle_group_external',
'classname' => 'core_group_external',
'methodname' => 'get_course_groups',
'classpath' => 'group/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_group_get_course_groups()',
'type' => 'read',
'capabilities'=> 'moodle/course:managegroups',
),
'core_group_get_course_groups' => array(
'classname' => 'core_group_external',
'methodname' => 'get_course_groups',
'classpath' => 'group/externallib.php',
'description' => 'Returns all groups in specified course.',
@ -56,7 +83,16 @@ $functions = array(
),
'moodle_group_delete_groups' => array(
'classname' => 'moodle_group_external',
'classname' => 'core_group_external',
'methodname' => 'delete_groups',
'classpath' => 'group/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_group_delete_groups()',
'type' => 'delete',
'capabilities'=> 'moodle/course:managegroups',
),
'core_group_delete_groups' => array(
'classname' => 'core_group_external',
'methodname' => 'delete_groups',
'classpath' => 'group/externallib.php',
'description' => 'Deletes all specified groups.',
@ -65,8 +101,17 @@ $functions = array(
),
'moodle_group_get_groupmembers' => array(
'classname' => 'moodle_group_external',
'methodname' => 'get_groupmembers',
'classname' => 'core_group_external',
'methodname' => 'get_group_members',
'classpath' => 'group/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_group_get_group_members()',
'type' => 'read',
'capabilities'=> 'moodle/course:managegroups',
),
'core_group_get_group_members' => array(
'classname' => 'core_group_external',
'methodname' => 'get_group_members',
'classpath' => 'group/externallib.php',
'description' => 'Returns group members.',
'type' => 'read',
@ -74,8 +119,17 @@ $functions = array(
),
'moodle_group_add_groupmembers' => array(
'classname' => 'moodle_group_external',
'methodname' => 'add_groupmembers',
'classname' => 'core_group_external',
'methodname' => 'add_group_members',
'classpath' => 'group/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_group_add_group_members()',
'type' => 'write',
'capabilities'=> 'moodle/course:managegroups',
),
'core_group_add_group_members' => array(
'classname' => 'core_group_external',
'methodname' => 'add_group_members',
'classpath' => 'group/externallib.php',
'description' => 'Adds group members.',
'type' => 'write',
@ -83,26 +137,51 @@ $functions = array(
),
'moodle_group_delete_groupmembers' => array(
'classname' => 'moodle_group_external',
'methodname' => 'delete_groupmembers',
'classname' => 'core_group_external',
'methodname' => 'delete_group_members',
'classpath' => 'group/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_group_delete_group_members()',
'type' => 'delete',
'capabilities'=> 'moodle/course:managegroups',
),
'core_group_delete_group_members' => array(
'classname' => 'core_group_external',
'methodname' => 'delete_group_members',
'classpath' => 'group/externallib.php',
'description' => 'Deletes group members.',
'type' => 'delete',
'capabilities'=> 'moodle/course:managegroups',
),
// === file related functions ===
'moodle_file_get_files' => array(
'classname' => 'moodle_file_external',
'classname' => 'core_files_external',
'methodname' => 'get_files',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_files_get_files()',
'type' => 'read',
'classpath' => 'files/externallib.php',
),
'core_files_get_files' => array(
'classname' => 'core_files_external',
'methodname' => 'get_files',
'description' => 'browse moodle files',
'type' => 'read',
'classpath' => 'files/externallib.php',
),
'moodle_file_upload' => array(
'classname' => 'moodle_file_external',
'classname' => 'core_files_external',
'methodname' => 'upload',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_files_upload()',
'type' => 'write',
'classpath' => 'files/externallib.php',
),
'core_files_upload' => array(
'classname' => 'core_files_external',
'methodname' => 'upload',
'description' => 'upload a file to moodle',
'type' => 'write',
@ -112,7 +191,16 @@ $functions = array(
// === user related functions ===
'moodle_user_create_users' => array(
'classname' => 'moodle_user_external',
'classname' => 'core_user_external',
'methodname' => 'create_users',
'classpath' => 'user/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_user_create_users()',
'type' => 'write',
'capabilities'=> 'moodle/user:create',
),
'core_user_create_users' => array(
'classname' => 'core_user_external',
'methodname' => 'create_users',
'classpath' => 'user/externallib.php',
'description' => 'Create users.',
@ -121,7 +209,16 @@ $functions = array(
),
'moodle_user_get_users_by_id' => array(
'classname' => 'moodle_user_external',
'classname' => 'core_user_external',
'methodname' => 'get_users_by_id',
'classpath' => 'user/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_user_get_users_by_id()',
'type' => 'read',
'capabilities'=> 'moodle/user:viewdetails, moodle/user:viewhiddendetails, moodle/course:useremail, moodle/user:update',
),
'core_user_get_users_by_id' => array(
'classname' => 'core_user_external',
'methodname' => 'get_users_by_id',
'classpath' => 'user/externallib.php',
'description' => 'Get users by id.',
@ -130,25 +227,43 @@ $functions = array(
),
'moodle_user_get_users_by_courseid' => array(
'classname' => 'moodle_user_external',
'methodname' => 'get_users_by_courseid',
'classpath' => 'user/externallib.php',
'description' => 'Get enrolled users by course id.',
'classname' => 'core_enrol_external',
'methodname' => 'get_enrolled_users',
'classpath' => 'enrol/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_enrol_get_enrolled_users()',
'type' => 'read',
'capabilities'=> 'moodle/user:viewdetails, moodle/user:viewhiddendetails, moodle/course:useremail, moodle/user:update, moodle/site:accessallgroups',
),
'moodle_user_get_course_participants_by_id' => array(
'classname' => 'moodle_user_external',
'methodname' => 'get_course_participants_by_id',
'classname' => 'core_user_external',
'methodname' => 'get_course_user_profiles',
'classpath' => 'user/externallib.php',
'description' => 'Get course user profiles by id.',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_user_get_course_user_profiles()',
'type' => 'read',
'capabilities'=> 'moodle/user:viewdetails, moodle/user:viewhiddendetails, moodle/course:useremail, moodle/user:update, moodle/site:accessallgroups',
),
'core_user_get_course_user_profiles' => array(
'classname' => 'core_user_external',
'methodname' => 'get_course_user_profiles',
'classpath' => 'user/externallib.php',
'description' => 'Get course user profiles (each of the profils matching a course id and a user id).',
'type' => 'read',
'capabilities'=> 'moodle/user:viewdetails, moodle/user:viewhiddendetails, moodle/course:useremail, moodle/user:update, moodle/site:accessallgroups',
),
'moodle_user_delete_users' => array(
'classname' => 'moodle_user_external',
'classname' => 'core_user_external',
'methodname' => 'delete_users',
'classpath' => 'user/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_user_delete_users()',
'type' => 'write',
'capabilities'=> 'moodle/user:delete',
),
'core_user_delete_users' => array(
'classname' => 'core_user_external',
'methodname' => 'delete_users',
'classpath' => 'user/externallib.php',
'description' => 'Delete users.',
@ -157,7 +272,16 @@ $functions = array(
),
'moodle_user_update_users' => array(
'classname' => 'moodle_user_external',
'classname' => 'core_user_external',
'methodname' => 'update_users',
'classpath' => 'user/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_user_update_users()',
'type' => 'write',
'capabilities'=> 'moodle/user:update',
),
'core_user_update_users' => array(
'classname' => 'core_user_external',
'methodname' => 'update_users',
'classpath' => 'user/externallib.php',
'description' => 'Update users.',
@ -171,24 +295,53 @@ $functions = array(
'classname' => 'moodle_enrol_external',
'methodname' => 'get_enrolled_users',
'classpath' => 'enrol/externallib.php',
'description' => 'Get list of course participants',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. Please use core_enrol_get_enrolled_users() (previously known as moodle_user_get_users_by_courseid).',
'type' => 'read',
'capabilities'=> 'moodle/site:viewparticipants, moodle/course:viewparticipants,
moodle/role:review, moodle/site:accessallgroups, moodle/course:enrolreview',
),
'core_enrol_get_enrolled_users' => array(
'classname' => 'core_enrol_external',
'methodname' => 'get_enrolled_users',
'classpath' => 'enrol/externallib.php',
'description' => 'Get enrolled users by course id.',
'type' => 'read',
'capabilities'=> 'moodle/user:viewdetails, moodle/user:viewhiddendetails, moodle/course:useremail, moodle/user:update, moodle/site:accessallgroups',
),
'moodle_enrol_get_users_courses' => array(
'classname' => 'moodle_enrol_external',
'classname' => 'core_enrol_external',
'methodname' => 'get_users_courses',
'classpath' => 'enrol/externallib.php',
'description' => 'Get list of courses user is enrolled in',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_enrol_get_users_courses()',
'type' => 'read',
'capabilities'=> 'moodle/course:viewparticipants',
),
'core_enrol_get_users_courses' => array(
'classname' => 'core_enrol_external',
'methodname' => 'get_users_courses',
'classpath' => 'enrol/externallib.php',
'description' => 'Get the list of courses where a user is enrolled in',
'type' => 'read',
'capabilities'=> 'moodle/course:viewparticipants',
),
// === Role related functions ===
'moodle_role_assign' => array(
'classname' => 'moodle_enrol_external',
'methodname' => 'role_assign',
'classname' => 'core_role_external',
'methodname' => 'assign_roles',
'classpath' => 'enrol/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_role_assign_role()',
'type' => 'write',
'capabilities'=> 'moodle/role:assign',
),
'core_role_assign_roles' => array(
'classname' => 'core_role_external',
'methodname' => 'assign_roles',
'classpath' => 'enrol/externallib.php',
'description' => 'Manual role assignments.',
'type' => 'write',
@ -196,8 +349,17 @@ $functions = array(
),
'moodle_role_unassign' => array(
'classname' => 'moodle_enrol_external',
'methodname' => 'role_unassign',
'classname' => 'core_role_external',
'methodname' => 'unassign_roles',
'classpath' => 'enrol/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_role_unassign_role()',
'type' => 'write',
'capabilities'=> 'moodle/role:assign',
),
'core_role_unassign_roles' => array(
'classname' => 'core_role_external',
'methodname' => 'unassign_roles',
'classpath' => 'enrol/externallib.php',
'description' => 'Manual role unassignments.',
'type' => 'write',
@ -207,7 +369,16 @@ $functions = array(
// === course related functions ===
'moodle_course_get_courses' => array(
'classname' => 'moodle_course_external',
'classname' => 'core_course_external',
'methodname' => 'get_courses',
'classpath' => 'course/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_course_get_courses()',
'type' => 'read',
'capabilities'=> 'moodle/course:view,moodle/course:update,moodle/course:viewhiddencourses',
),
'core_course_get_courses' => array(
'classname' => 'core_course_external',
'methodname' => 'get_courses',
'classpath' => 'course/externallib.php',
'description' => 'Return course details',
@ -216,7 +387,16 @@ $functions = array(
),
'moodle_course_create_courses' => array(
'classname' => 'moodle_course_external',
'classname' => 'core_course_external',
'methodname' => 'create_courses',
'classpath' => 'course/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_course_create_courses()',
'type' => 'write',
'capabilities'=> 'moodle/course:create,moodle/course:visibility',
),
'core_course_create_courses' => array(
'classname' => 'core_course_external',
'methodname' => 'create_courses',
'classpath' => 'course/externallib.php',
'description' => 'Create new courses',
@ -227,8 +407,17 @@ $functions = array(
// === message related functions ===
'moodle_message_send_instantmessages' => array(
'classname' => 'moodle_message_external',
'methodname' => 'send_instantmessages',
'classname' => 'core_message_external',
'methodname' => 'send_instant_messages',
'classpath' => 'message/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_message_send_instant_messages()',
'type' => 'write',
'capabilities'=> 'moodle/site:sendmessage',
),
'core_message_send_instant_messages' => array(
'classname' => 'core_message_external',
'methodname' => 'send_instant_messages',
'classpath' => 'message/externallib.php',
'description' => 'Send instant messages',
'type' => 'write',
@ -238,7 +427,16 @@ $functions = array(
// === notes related functions ===
'moodle_notes_create_notes' => array(
'classname' => 'moodle_notes_external',
'classname' => 'core_notes_external',
'methodname' => 'create_notes',
'classpath' => 'notes/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_notes_create_notes()',
'type' => 'write',
'capabilities'=> 'moodle/notes:manage',
),
'core_notes_create_notes' => array(
'classname' => 'core_notes_external',
'methodname' => 'create_notes',
'classpath' => 'notes/externallib.php',
'description' => 'Create notes',
@ -249,8 +447,16 @@ $functions = array(
// === webservice related functions ===
'moodle_webservice_get_siteinfo' => array(
'classname' => 'moodle_webservice_external',
'methodname' => 'get_siteinfo',
'classname' => 'core_webservice_external',
'methodname' => 'get_site_info',
'classpath' => 'webservice/externallib.php',
'description' => 'DEPRECATED: this deprecated function will be removed in a future version. This function has be renamed as core_webservice_get_site_info()',
'type' => 'read',
),
'core_webservice_get_site_info' => array(
'classname' => 'core_webservice_external',
'methodname' => 'get_site_info',
'classpath' => 'webservice/externallib.php',
'description' => 'Return some site info / user info / list web service functions',
'type' => 'read',

View File

@ -25,13 +25,16 @@
*/
require_once("$CFG->libdir/externallib.php");
class moodle_message_external extends external_api {
/**
* Message functions
*/
class core_message_external extends external_api {
/**
* Returns description of method parameters
* @return external_function_parameters
*/
public static function send_instantmessages_parameters() {
public static function send_instant_messages_parameters() {
return new external_function_parameters(
array(
'messages' => new external_multiple_structure(
@ -53,7 +56,7 @@ class moodle_message_external extends external_api {
* @param $messages An array of message to send.
* @return boolean
*/
public static function send_instantmessages($messages = array()) {
public static function send_instant_messages($messages = array()) {
global $CFG, $USER, $DB;
require_once($CFG->dirroot . "/message/lib.php");
@ -67,7 +70,7 @@ class moodle_message_external extends external_api {
self::validate_context($context);
require_capability('moodle/site:sendmessage', $context);
$params = self::validate_parameters(self::send_instantmessages_parameters(), array('messages' => $messages));
$params = self::validate_parameters(self::send_instant_messages_parameters(), array('messages' => $messages));
//retrieve all tousers of the messages
$receivers = array();
@ -154,7 +157,7 @@ class moodle_message_external extends external_api {
* Returns description of method result value
* @return external_description
*/
public static function send_instantmessages_returns() {
public static function send_instant_messages_returns() {
return new external_multiple_structure(
new external_single_structure(
array(
@ -167,3 +170,39 @@ class moodle_message_external extends external_api {
}
}
/**
* Deprecated message functions
* @deprecated since Moodle 2.2 please use core_message_external instead
*/
class moodle_message_external extends external_api {
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_message_external::send_instant_messages_parameters instead
* @return external_function_parameters
*/
public static function send_instantmessages_parameters() {
return core_message_external::send_instant_messages_parameters();
}
/**
* Send private messages from the current USER to other users
* @deprecated since Moodle 2.2 please use core_message_external::send_instant_messages instead
* @param $messages An array of message to send.
* @return boolean
*/
public static function send_instantmessages($messages = array()) {
return core_message_external::send_instant_messages($messages);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_message_external::send_instant_messages_returns instead
* @return external_description
*/
public static function send_instantmessages_returns() {
return core_message_external::send_instant_messages_returns();
}
}

View File

@ -25,7 +25,10 @@
*/
require_once("$CFG->libdir/externallib.php");
class moodle_notes_external extends external_api {
/**
* Notes functions
*/
class core_notes_external extends external_api {
/**
* Returns description of method parameters
@ -182,3 +185,41 @@ class moodle_notes_external extends external_api {
}
}
/**
* Deprecated notes functions
* @deprecated since Moodle 2.2 please use core_notes_external instead
*/
class moodle_notes_external extends external_api {
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_notes_external::create_notes_parameters instead
* @return external_function_parameters
*/
public static function create_notes_parameters() {
return core_notes_external::create_notes_parameters();
}
/**
* Create notes about some users
* Note: code should be matching the /notes/edit.php checks
* and the /user/addnote.php checks. (they are similar cheks)
* @deprecated since Moodle 2.2 please use core_notes_external::create_notes instead
* @param array $notes An array of notes to create.
* @return array (success infos and fail infos)
*/
public static function create_notes($notes = array()) {
return core_notes_external::create_notes($notes);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_notes_external::create_notes_returns instead
* @return external_description
*/
public static function create_notes_returns() {
return core_notes_external::create_notes_returns();
}
}

View File

@ -26,7 +26,10 @@
require_once("$CFG->libdir/externallib.php");
class moodle_user_external extends external_api {
/**
* User functions
*/
class core_user_external extends external_api {
/**
* Returns description of method parameters
@ -196,6 +199,11 @@ class moodle_user_external extends external_api {
);
}
/**
* Delete users
* @param array $userids
* @return null
*/
public static function delete_users($userids) {
global $CFG, $DB, $USER;
require_once($CFG->dirroot."/user/lib.php");
@ -282,6 +290,11 @@ class moodle_user_external extends external_api {
);
}
/**
* Update users
* @param array $users
* @return null
*/
public static function update_users($users) {
global $CFG, $DB;
require_once($CFG->dirroot."/user/lib.php");
@ -469,7 +482,7 @@ class moodle_user_external extends external_api {
* Returns description of method parameters
* @return external_function_parameters
*/
public static function get_course_participants_by_id_parameters() {
public static function get_course_user_profiles_parameters() {
return new external_function_parameters(
array(
'userlist' => new external_multiple_structure(
@ -489,10 +502,10 @@ class moodle_user_external extends external_api {
* @param array $userlist array of user ids and according course ids
* @return array An array of arrays describing course participants
*/
public static function get_course_participants_by_id($userlist) {
public static function get_course_user_profiles($userlist) {
global $CFG, $USER, $DB;
require_once($CFG->dirroot . "/user/lib.php");
$params = self::validate_parameters(self::get_course_participants_by_id_parameters(), array('userlist'=>$userlist));
$params = self::validate_parameters(self::get_course_user_profiles_parameters(), array('userlist'=>$userlist));
$userids = array();
$courseids = array();
@ -546,200 +559,7 @@ class moodle_user_external extends external_api {
* Returns description of method result value
* @return external_description
*/
public static function get_course_participants_by_id_returns() {
return new external_multiple_structure(
new external_single_structure(
array(
'id' => new external_value(PARAM_NUMBER, 'ID of the user'),
'username' => new external_value(PARAM_RAW, 'Username policy is defined in Moodle security config', VALUE_OPTIONAL),
'firstname' => new external_value(PARAM_NOTAGS, 'The first name(s) of the user', VALUE_OPTIONAL),
'lastname' => new external_value(PARAM_NOTAGS, 'The family name of the user', VALUE_OPTIONAL),
'fullname' => new external_value(PARAM_NOTAGS, 'The fullname of the user'),
'email' => new external_value(PARAM_TEXT, 'An email address - allow email as root@localhost', VALUE_OPTIONAL),
'address' => new external_value(PARAM_MULTILANG, 'Postal address', VALUE_OPTIONAL),
'phone1' => new external_value(PARAM_NOTAGS, 'Phone 1', VALUE_OPTIONAL),
'phone2' => new external_value(PARAM_NOTAGS, 'Phone 2', VALUE_OPTIONAL),
'icq' => new external_value(PARAM_NOTAGS, 'icq number', VALUE_OPTIONAL),
'skype' => new external_value(PARAM_NOTAGS, 'skype id', VALUE_OPTIONAL),
'yahoo' => new external_value(PARAM_NOTAGS, 'yahoo id', VALUE_OPTIONAL),
'aim' => new external_value(PARAM_NOTAGS, 'aim id', VALUE_OPTIONAL),
'msn' => new external_value(PARAM_NOTAGS, 'msn number', VALUE_OPTIONAL),
'department' => new external_value(PARAM_TEXT, 'department', VALUE_OPTIONAL),
'institution' => new external_value(PARAM_TEXT, 'institution', VALUE_OPTIONAL),
'interests' => new external_value(PARAM_TEXT, 'user interests (separated by commas)', VALUE_OPTIONAL),
'firstaccess' => new external_value(PARAM_INT, 'first access to the site (0 if never)', VALUE_OPTIONAL),
'lastaccess' => new external_value(PARAM_INT, 'last access to the site (0 if never)', VALUE_OPTIONAL),
'description' => new external_value(PARAM_RAW, 'User profile description', VALUE_OPTIONAL),
'descriptionformat' => new external_value(PARAM_INT, 'User profile description format', VALUE_OPTIONAL),
'city' => new external_value(PARAM_NOTAGS, 'Home city of the user', VALUE_OPTIONAL),
'url' => new external_value(PARAM_URL, 'URL of the user', VALUE_OPTIONAL),
'country' => new external_value(PARAM_ALPHA, 'Home country code of the user, such as AU or CZ', VALUE_OPTIONAL),
'profileimageurlsmall' => new external_value(PARAM_URL, 'User image profile URL - small version'),
'profileimageurl' => new external_value(PARAM_URL, 'User image profile URL - big version'),
'customfields' => new external_multiple_structure(
new external_single_structure(
array(
'type' => new external_value(PARAM_ALPHANUMEXT, 'The type of the custom field - text field, checkbox...'),
'value' => new external_value(PARAM_RAW, 'The value of the custom field'),
'name' => new external_value(PARAM_RAW, 'The name of the custom field'),
'shortname' => new external_value(PARAM_RAW, 'The shortname of the custom field - to be able to build the field class in the code'),
)
), 'User custom fields (also known as user profil fields)', VALUE_OPTIONAL),
'groups' => new external_multiple_structure(
new external_single_structure(
array(
'id' => new external_value(PARAM_INT, 'group id'),
'name' => new external_value(PARAM_RAW, 'group name'),
'description' => new external_value(PARAM_RAW, 'group description'),
)
), 'user groups', VALUE_OPTIONAL),
'roles' => new external_multiple_structure(
new external_single_structure(
array(
'roleid' => new external_value(PARAM_INT, 'role id'),
'name' => new external_value(PARAM_RAW, 'role name'),
'shortname' => new external_value(PARAM_ALPHANUMEXT, 'role shortname'),
'sortorder' => new external_value(PARAM_INT, 'role sortorder')
)
), 'user roles', VALUE_OPTIONAL),
'preferences' => new external_multiple_structure(
new external_single_structure(
array(
'name' => new external_value(PARAM_ALPHANUMEXT, 'The name of the preferences'),
'value' => new external_value(PARAM_RAW, 'The value of the custom field'),
)
), 'User preferences', VALUE_OPTIONAL),
'enrolledcourses' => new external_multiple_structure(
new external_single_structure(
array(
'id' => new external_value(PARAM_INT, 'Id of the course'),
'fullname' => new external_value(PARAM_RAW, 'Fullname of the course'),
'shortname' => new external_value(PARAM_RAW, 'Shortname of the course')
)
), 'Courses where the user is enrolled - limited by which courses the user is able to see', VALUE_OPTIONAL)
)
)
);
}
/**
* Returns description of method parameters
* @return external_function_parameters
*/
public static function get_users_by_courseid_parameters() {
return new external_function_parameters(
array(
'courseid' => new external_value(PARAM_INT, 'course id'),
'options' => new external_multiple_structure(
new external_single_structure(
array(
'name' => new external_value(PARAM_ALPHANUMEXT, 'option name'),
'value' => new external_value(PARAM_RAW, 'option value')
)
), 'method options'),
)
);
}
/**
* Get course participants details
* @param int $courseid course id
* @param array $options options {
* 'name' => option name
* 'value' => option value
* }
* @return array An array of users
*/
public static function get_users_by_courseid($courseid, $options) {
global $CFG, $USER, $DB;
require_once($CFG->dirroot . "/user/lib.php");
$params = self::validate_parameters(
self::get_users_by_courseid_parameters(),
array(
'courseid'=>$courseid,
'options'=>$options
)
);
$withcapability = '';
$groupid = 0;
$onlyactive = false;
foreach ($options as $option) {
switch ($option['name']) {
case 'withcapability':
$withcapability = $option['value'];
break;
case 'groupid':
$groupid = (int)$option['value'];
break;
case 'onlyactive':
$onlyactive = !empty($option['value']);
break;
}
}
// to overwrite this parameter, you need role:review capability
if ($withcapability) {
require_capability('moodle/role:review', $coursecontext);
}
// need accessallgroups capability if you want to overwrite this option
if (!empty($groupid) && groups_is_member($groupid)) {
require_capability('moodle/site:accessallgroups', $context);
}
// to overwrite this option, you need course:enrolereview permission
if ($onlyactive) {
require_capability('moodle/course:enrolreview', $coursecontext);
}
list($coursectxselect, $coursectxjoin) = context_instance_preload_sql('c.id', CONTEXT_COURSE, 'ctx');
$coursesql = "SELECT c.* $coursectxselect
FROM {course} c $coursectxjoin
WHERE c.id = $courseid";
$course = $DB->get_record_sql($coursesql);
context_instance_preload($course);
$coursecontext = get_context_instance(CONTEXT_COURSE, $params['courseid']);
if ($courseid == SITEID) {
$context = get_system_context();
} else {
$context = $coursecontext;
}
try {
self::validate_context($context);
} catch (Exception $e) {
$exceptionparam = new stdClass();
$exceptionparam->message = $e->getMessage();
$exceptionparam->courseid = $params['courseid'];
throw new moodle_exception(get_string('errorcoursecontextnotvalid' , 'webservice', $exceptionparam));
}
list($enrolledsql, $enrolledparams) = get_enrolled_sql($coursecontext, $withcapability, $groupid, $onlyactive);
list($ctxselect, $ctxjoin) = context_instance_preload_sql('u.id', CONTEXT_USER, 'ctx');
$records = $DB->get_records_sql($enrolledsql, $enrolledparams);
$sqlparams['courseid'] = $courseid;
$sql = "SELECT u.* $ctxselect
FROM {user} u $ctxjoin
WHERE u.id IN ($enrolledsql)
ORDER BY u.id ASC";
$enrolledusers = $DB->get_recordset_sql($sql, $enrolledparams);
$users = array();
foreach ($enrolledusers as $user) {
if (!empty($user->deleted)) {
continue;
}
context_instance_preload($user);
if ($userdetails = user_get_user_details($user, $course)) {
$users[] = $userdetails;
}
}
$enrolledusers->close();
return $users;
}
/**
* Returns description of method result value
* @return external_description
*/
public static function get_users_by_courseid_returns() {
public static function get_course_user_profiles_returns() {
return new external_multiple_structure(
new external_single_structure(
array(
@ -815,3 +635,191 @@ class moodle_user_external extends external_api {
);
}
}
/**
* Deprecated user functions
* @deprecated since Moodle 2.2 please use core_user_external instead
*/
class moodle_user_external extends external_api {
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_user_external::create_users_parameters instead
* @return external_function_parameters
*/
public static function create_users_parameters() {
return core_user_external::create_users_parameters();
}
/**
* Create one or more users
* @deprecated since Moodle 2.2 please use core_user_external::create_users instead
* @param array $users An array of users to create.
* @return array An array of arrays
*/
public static function create_users($users) {
return core_user_external::create_users($users);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_user_external::create_users_returns instead
* @return external_description
*/
public static function create_users_returns() {
return core_user_external::create_users_returns();
}
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_user_external::delete_users_parameters instead
* @return external_function_parameters
*/
public static function delete_users_parameters() {
return core_user_external::delete_users_parameters();
}
/**
* Delete users
* @deprecated since Moodle 2.2 please use core_user_external::delete_users instead
* @param array $userids
* @return null
*/
public static function delete_users($userids) {
return core_user_external::delete_users($userids);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_user_external::delete_users_returns instead
* @return external_description
*/
public static function delete_users_returns() {
return core_user_external::delete_users_returns();
}
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_user_external::update_users_parameters instead
* @return external_function_parameters
*/
public static function update_users_parameters() {
return core_user_external::update_users_parameters();
}
/**
* Update users
* @deprecated since Moodle 2.2 please use core_user_external::update_users instead
* @param array $users
* @return null
*/
public static function update_users($users) {
return core_user_external::update_users($users);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_user_external::update_users_returns instead
* @return external_description
*/
public static function update_users_returns() {
return core_user_external::update_users_returns();
}
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_user_external::get_users_by_id_parameters instead
* @return external_function_parameters
*/
public static function get_users_by_id_parameters() {
return core_user_external::get_users_by_id_parameters();
}
/**
* Get user information
* - This function is matching the permissions of /user/profil.php
* - It is also matching some permissions from /user/editadvanced.php for the following fields:
* auth, confirmed, idnumber, lang, theme, timezone, mailformat
* @deprecated since Moodle 2.2 please use core_user_external::get_users_by_id instead
* @param array $userids array of user ids
* @return array An array of arrays describing users
*/
public static function get_users_by_id($userids) {
return core_user_external::get_users_by_id($userids);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_user_external::get_users_by_id_returns instead
* @return external_description
*/
public static function get_users_by_id_returns() {
return core_user_external::get_users_by_id_returns();
}
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_user_external::get_course_user_profiles_parameters instead
* @return external_function_parameters
*/
public static function get_course_participants_by_id_parameters() {
return core_user_external::get_course_user_profiles_parameters();
}
/**
* Get course participant's details
* @deprecated since Moodle 2.2 please use core_user_external::get_course_user_profiles instead
* @param array $userlist array of user ids and according course ids
* @return array An array of arrays describing course participants
*/
public static function get_course_participants_by_id($userlist) {
return core_user_external::get_course_user_profiles($userlist);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_user_external::get_course_user_profiles_returns instead
* @return external_description
*/
public static function get_course_participants_by_id_returns() {
return core_user_external::get_course_user_profiles_returns();
}
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_enrol_external::get_enrolled_users_parameters instead
* @return external_function_parameters
*/
public static function get_users_by_courseid_parameters() {
global $CFG;
require_once($CFG->dirroot . '/enrol/externallib.php');
return core_enrol_external::get_enrolled_users_parameters();
}
/**
* Get course participants details
* @deprecated since Moodle 2.2 please use core_enrol_external::get_enrolled_users instead
* @param int $courseid course id
* @param array $options options {
* 'name' => option name
* 'value' => option value
* }
* @return array An array of users
*/
public static function get_users_by_courseid($courseid, $options) {
global $CFG;
require_once($CFG->dirroot . '/enrol/externallib.php');
return core_enrol_external::get_enrolled_users($courseid, $options);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_enrol_external::get_enrolled_users_returns instead
* @return external_description
*/
public static function get_users_by_courseid_returns() {
global $CFG;
require_once($CFG->dirroot . '/enrol/externallib.php');
return core_enrol_external::get_enrolled_users_returns();
}
}

View File

@ -31,7 +31,7 @@ defined('MOODLE_INTERNAL') || die();
$version = 2011101900.01; // YYYYMMDD = weekly release date of this DEV branch
$version = 2011101900.02; // YYYYMMDD = weekly release date of this DEV branch
// RR = release increments - 00 in DEV branches
// .XX = incremental changes

View File

@ -23,9 +23,16 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class moodle_webservice_external extends external_api {
/**
* Web service related functions
*/
class core_webservice_external extends external_api {
public static function get_siteinfo_parameters() {
/**
* Returns description of method parameters
* @return type
*/
public static function get_site_info_parameters() {
return new external_function_parameters(
array('serviceshortnames' => new external_multiple_structure (
new external_value(
@ -47,10 +54,10 @@ class moodle_webservice_external extends external_api {
* @param array $serviceshortnames of service shortnames - the functions of these services will be returned
* @return array
*/
function get_siteinfo($serviceshortnames = array()) {
public function get_site_info($serviceshortnames = array()) {
global $USER, $SITE, $CFG;
$params = self::validate_parameters(self::get_siteinfo_parameters(),
$params = self::validate_parameters(self::get_site_info_parameters(),
array('serviceshortnames'=>$serviceshortnames));
$profileimageurl = moodle_url::make_pluginfile_url(
@ -112,7 +119,11 @@ class moodle_webservice_external extends external_api {
);
}
public static function get_siteinfo_returns() {
/**
* Returns description of method result value
* @return type
*/
public static function get_site_info_returns() {
return new external_single_structure(
array(
'sitename' => new external_value(PARAM_RAW, 'site name'),
@ -133,4 +144,41 @@ class moodle_webservice_external extends external_api {
)
);
}
}
/**
* Deprecated web service related functions
* @deprecated since Moodle 2.2 please use core_webservice_external instead
*/
class moodle_webservice_external extends external_api {
/**
* Returns description of method parameters
* @deprecated since Moodle 2.2 please use core_webservice_external::get_site_info_parameters instead
* @return type
*/
public static function get_siteinfo_parameters() {
return core_webservice_external::get_site_info_parameters();
}
/**
* Return user information including profile picture + basic site information
* Note:
* - no capability checking because we return just known information by logged user
* @deprecated since Moodle 2.2 please use core_webservice_external::get_site_info instead
* @param array $serviceshortnames of service shortnames - the functions of these services will be returned
* @return array
*/
function get_siteinfo($serviceshortnames = array()) {
return core_webservice_external::get_site_info($serviceshortnames);
}
/**
* Returns description of method result value
* @deprecated since Moodle 2.2 please use core_webservice_external::get_site_info_returns instead
* @return type
*/
public static function get_siteinfo_returns() {
return core_webservice_external::get_site_info_returns();
}
}