MDL-49414 webservices: Remove deprecated functions

This commit is contained in:
Cameron Ball
2016-04-27 15:54:38 +08:00
parent 6bd3ab0717
commit f23e9b6ba4
25 changed files with 836 additions and 3977 deletions
-762
View File
@@ -28,768 +28,6 @@ class webservice_test_client_form extends moodleform {
// === Test client forms ===
class moodle_user_create_users_form extends moodleform {
public function definition() {
global $CFG;
$mform = $this->_form;
$mform->addElement('header', 'wstestclienthdr', get_string('testclient', 'webservice'));
//note: these values are intentionally PARAM_RAW - we want users to test any rubbish as parameters
$data = $this->_customdata;
if ($data['authmethod'] == 'simple') {
$mform->addElement('text', 'wsusername', 'wsusername');
$mform->setType('wsusername', core_user::get_property_type('username'));
$mform->addElement('text', 'wspassword', 'wspassword');
$mform->setType('wspassword', core_user::get_property_type('password'));
} else if ($data['authmethod'] == 'token') {
$mform->addElement('text', 'token', 'token');
$mform->setType('token', PARAM_RAW_TRIMMED);
}
$mform->addElement('hidden', 'authmethod', $data['authmethod']);
$mform->setType('authmethod', core_user::get_property_type('auth'));
/// specific to the create users function
$mform->addElement('text', 'username', 'username');
$mform->setType('username', core_user::get_property_type('username'));
$mform->addElement('text', 'password', 'password');
$mform->setType('password', core_user::get_property_type('password'));
$mform->addElement('text', 'firstname', 'firstname');
$mform->setType('firstname', core_user::get_property_type('firstname'));
$mform->addElement('text', 'lastname', 'lastname');
$mform->setType('lastname', core_user::get_property_type('lastname'));
$mform->addElement('text', 'email', 'email');
$mform->setType('email', core_user::get_property_type('email'));
$mform->addElement('text', 'customfieldtype', 'customfieldtype');
$mform->setType('customfieldtype', PARAM_RAW);
$mform->addElement('text', 'customfieldvalue', 'customfieldvalue');
$mform->setType('customfieldvalue', PARAM_RAW);
$mform->addElement('hidden', 'function');
$mform->setType('function', PARAM_PLUGIN);
$mform->addElement('hidden', 'protocol');
$mform->setType('protocol', PARAM_ALPHA);
$mform->addElement('static', 'warning', '', get_string('executewarnign', 'webservice'));
$this->add_action_buttons(true, get_string('execute', 'webservice'));
}
public function get_params() {
if (!$data = $this->get_data()) {
return null;
}
//set customfields
if (!empty($data->customfieldtype)) {
$data->customfields = array(array('type' => $data->customfieldtype, 'value' => $data->customfieldvalue));
}
// remove unused from form data
unset($data->submitbutton);
unset($data->protocol);
unset($data->function);
unset($data->wsusername);
unset($data->wspassword);
unset($data->token);
unset($data->authmethod);
unset($data->customfieldtype);
unset($data->customfieldvalue);
$params = array();
$params['users'] = array();
$params['users'][] = (array)$data;
return $params;
}
}
class moodle_user_update_users_form extends moodleform {
public function definition() {
global $CFG;
$mform = $this->_form;
$mform->addElement('header', 'wstestclienthdr', get_string('testclient', 'webservice'));
//note: these values are intentionally PARAM_RAW - we want users to test any rubbish as parameters
$data = $this->_customdata;
if ($data['authmethod'] == 'simple') {
$mform->addElement('text', 'wsusername', 'wsusername');
$mform->setType('wsusername', core_user::get_property_type('username'));
$mform->addElement('text', 'wspassword', 'wspassword');
$mform->setType('wspassword', core_user::get_property_type('password'));
} else if ($data['authmethod'] == 'token') {
$mform->addElement('text', 'token', 'token');
$mform->setType('token', PARAM_RAW_TRIMMED);
}
$mform->addElement('hidden', 'authmethod', $data['authmethod']);
$mform->setType('authmethod', core_user::get_property_type('auth'));
/// specific to the create users function
$mform->addElement('text', 'id', 'id');
$mform->addRule('id', get_string('required'), 'required', null, 'client');
$mform->setType('id', core_user::get_property_type('id'));
$mform->addElement('text', 'username', 'username');
$mform->setType('username', core_user::get_property_type('username'));
$mform->addElement('text', 'password', 'password');
$mform->setType('password', core_user::get_property_type('password'));
$mform->addElement('text', 'firstname', 'firstname');
$mform->setType('firstname', core_user::get_property_type('firstname'));
$mform->addElement('text', 'lastname', 'lastname');
$mform->setType('lastname', core_user::get_property_type('lastname'));
$mform->addElement('text', 'email', 'email');
$mform->setType('email', core_user::get_property_type('email'));
$mform->addElement('text', 'customfieldtype', 'customfieldtype');
$mform->setType('customfieldtype', PARAM_RAW);
$mform->addElement('text', 'customfieldvalue', 'customfieldvalue');
$mform->setType('customfieldvalue', PARAM_RAW);
$mform->addElement('hidden', 'function');
$mform->setType('function', PARAM_PLUGIN);
$mform->addElement('hidden', 'protocol');
$mform->setType('protocol', PARAM_ALPHA);
$mform->addElement('static', 'warning', '', get_string('executewarnign', 'webservice'));
$this->add_action_buttons(true, get_string('execute', 'webservice'));
}
public function get_params() {
if (!$data = $this->get_data()) {
return null;
}
//set customfields
if (!empty($data->customfieldtype)) {
$data->customfields = array(array('type' => $data->customfieldtype, 'value' => $data->customfieldvalue));
}
// remove unused from form data
unset($data->submitbutton);
unset($data->protocol);
unset($data->function);
unset($data->wsusername);
unset($data->wspassword);
unset($data->token);
unset($data->authmethod);
unset($data->customfieldtype);
unset($data->customfieldvalue);
foreach($data as $key => $value) {
if (empty($value)) {
unset($data->{$key});
}
}
$params = array();
$params['users'] = array();
$params['users'][] = (array)$data;
return $params;
}
}
class moodle_user_delete_users_form extends moodleform {
public function definition() {
global $CFG;
$mform = $this->_form;
$mform->addElement('header', 'wstestclienthdr', get_string('testclient', 'webservice'));
//note: these values are intentionally PARAM_RAW - we want users to test any rubbish as parameters
$data = $this->_customdata;
if ($data['authmethod'] == 'simple') {
$mform->addElement('text', 'wsusername', 'wsusername');
$mform->setType('wsusername', core_user::get_property_type('username'));
$mform->addElement('text', 'wspassword', 'wspassword');
$mform->setType('wspassword', core_user::get_property_type('password'));
} else if ($data['authmethod'] == 'token') {
$mform->addElement('text', 'token', 'token');
$mform->setType('token', PARAM_RAW_TRIMMED);
}
$mform->addElement('hidden', 'authmethod', $data['authmethod']);
$mform->setType('authmethod', core_user::get_property_type('auth'));
/// beginning of specific code to the create users function
$mform->addElement('text', 'userids[0]', 'userids[0]');
$mform->addElement('text', 'userids[1]', 'userids[1]');
$mform->addElement('text', 'userids[2]', 'userids[2]');
$mform->addElement('text', 'userids[3]', 'userids[3]');
$mform->setType('userids', core_user::get_property_type('id'));
/// end of specific code to the create users function
$mform->addElement('hidden', 'function');
$mform->setType('function', PARAM_PLUGIN);
$mform->addElement('hidden', 'protocol');
$mform->setType('protocol', PARAM_ALPHA);
$mform->addElement('static', 'warning', '', get_string('executewarnign', 'webservice'));
$this->add_action_buttons(true, get_string('execute', 'webservice'));
}
public function get_params() {
if (!$data = $this->get_data()) {
return null;
}
// remove unused from form data
unset($data->submitbutton);
unset($data->protocol);
unset($data->function);
unset($data->wsusername);
unset($data->wspassword);
unset($data->token);
unset($data->authmethod);
/// beginning of specific code to the create users form
$params = array();
$params['userids'] = array();
for ($i=0; $i<10; $i++) {
if (empty($data->userids[$i])) {
continue;
}
$params['userids'][] = $data->userids[$i];
}
/// end of specific code to the create users function
return $params;
}
}
class moodle_user_get_users_by_id_form extends moodleform {
public function definition() {
global $CFG;
$mform = $this->_form;
$mform->addElement('header', 'wstestclienthdr', get_string('testclient', 'webservice'));
//note: these values are intentionally PARAM_RAW - we want users to test any rubbish as parameters
$data = $this->_customdata;
if ($data['authmethod'] == 'simple') {
$mform->addElement('text', 'wsusername', 'wsusername');
$mform->setType('wsusername', core_user::get_property_type('username'));
$mform->addElement('text', 'wspassword', 'wspassword');
$mform->setType('wspassword', core_user::get_property_type('password'));
} else if ($data['authmethod'] == 'token') {
$mform->addElement('text', 'token', 'token');
$mform->setType('token', PARAM_RAW_TRIMMED);
}
$mform->addElement('hidden', 'authmethod', $data['authmethod']);
$mform->setType('authmethod', core_user::get_property_type('auth'));
/// beginning of specific code to the create users function
$mform->addElement('text', 'userids[0]', 'userids[0]');
$mform->addElement('text', 'userids[1]', 'userids[1]');
$mform->addElement('text', 'userids[2]', 'userids[2]');
$mform->addElement('text', 'userids[3]', 'userids[3]');
$mform->setType('userids', core_user::get_property_type('id'));
/// end of specific code to the create users function
$mform->addElement('hidden', 'function');
$mform->setType('function', PARAM_PLUGIN);
$mform->addElement('hidden', 'protocol');
$mform->setType('protocol', PARAM_ALPHA);
$mform->addElement('static', 'warning', '', get_string('executewarnign', 'webservice'));
$this->add_action_buttons(true, get_string('execute', 'webservice'));
}
public function get_params() {
if (!$data = $this->get_data()) {
return null;
}
// remove unused from form data
unset($data->submitbutton);
unset($data->protocol);
unset($data->function);
unset($data->wsusername);
unset($data->wspassword);
unset($data->token);
unset($data->authmethod);
/// beginning of specific code to the create users form
$params = array();
$params['userids'] = array();
for ($i=0; $i<10; $i++) {
if (empty($data->userids[$i])) {
continue;
}
$params['userids'][] = $data->userids[$i];
}
/// end of specific code to the create users function
return $params;
}
}
class moodle_group_create_groups_form extends moodleform {
public function definition() {
global $CFG;
$mform = $this->_form;
$mform->addElement('header', 'wstestclienthdr', get_string('testclient', 'webservice'));
//note: these values are intentionally PARAM_RAW - we want users to test any rubbish as parameters
$data = $this->_customdata;
if ($data['authmethod'] == 'simple') {
$mform->addElement('text', 'wsusername', 'wsusername');
$mform->setType('wsusername', core_user::get_property_type('username'));
$mform->addElement('text', 'wspassword', 'wspassword');
$mform->setType('wspassword', core_user::get_property_type('password'));
} else if ($data['authmethod'] == 'token') {
$mform->addElement('text', 'token', 'token');
$mform->setType('token', PARAM_RAW_TRIMMED);
}
$mform->addElement('hidden', 'authmethod', $data['authmethod']);
$mform->setType('authmethod', core_user::get_property_type('auth'));
$mform->addElement('text', 'courseid', 'courseid');
$mform->setType('courseid', PARAM_INT);
$mform->addElement('text', 'name', 'name');
$mform->setType('name', PARAM_TEXT);
$mform->addElement('text', 'description', 'description');
$mform->setType('description', PARAM_TEXT);
$mform->addElement('text', 'enrolmentkey', 'enrolmentkey');
$mform->setType('enrolmentkey', PARAM_RAW);
$mform->addElement('hidden', 'function');
$mform->setType('function', PARAM_PLUGIN);
$mform->addElement('hidden', 'protocol');
$mform->setType('protocol', PARAM_ALPHA);
$mform->addElement('static', 'warning', '', get_string('executewarnign', 'webservice'));
$this->add_action_buttons(true, get_string('execute', 'webservice'));
}
public function get_params() {
if (!$data = $this->get_data()) {
return null;
}
// remove unused from form data
unset($data->submitbutton);
unset($data->protocol);
unset($data->function);
unset($data->wsusername);
unset($data->wspassword);
unset($data->token);
unset($data->authmethod);
$params = array();
$params['groups'] = array();
$params['groups'][] = (array)$data;
return $params;
}
}
class moodle_group_get_groups_form extends moodleform {
public function definition() {
global $CFG;
$mform = $this->_form;
$mform->addElement('header', 'wstestclienthdr', get_string('testclient', 'webservice'));
//note: these values are intentionally PARAM_RAW - we want users to test any rubbish as parameters
$data = $this->_customdata;
if ($data['authmethod'] == 'simple') {
$mform->addElement('text', 'wsusername', 'wsusername');
$mform->setType('wsusername', core_user::get_property_type('username'));
$mform->addElement('text', 'wspassword', 'wspassword');
$mform->setType('wspassword', core_user::get_property_type('password'));
} else if ($data['authmethod'] == 'token') {
$mform->addElement('text', 'token', 'token');
$mform->setType('token', PARAM_RAW_TRIMMED);
}
$mform->addElement('hidden', 'authmethod', $data['authmethod']);
$mform->setType('authmethod', core_user::get_property_type('auth'));
$mform->addElement('text', 'groupids[0]', 'groupids[0]');
$mform->addElement('text', 'groupids[1]', 'groupids[1]');
$mform->addElement('text', 'groupids[2]', 'groupids[2]');
$mform->addElement('text', 'groupids[3]', 'groupids[3]');
$mform->setType('groupids', PARAM_INT);
$mform->addElement('hidden', 'function');
$mform->setType('function', PARAM_PLUGIN);
$mform->addElement('hidden', 'protocol');
$mform->setType('protocol', PARAM_ALPHA);
$this->add_action_buttons(true, get_string('execute', 'webservice'));
}
public function get_params() {
if (!$data = $this->get_data()) {
return null;
}
// remove unused from form data
unset($data->submitbutton);
unset($data->protocol);
unset($data->function);
unset($data->wsusername);
unset($data->wspassword);
unset($data->token);
unset($data->authmethod);
$params = array();
$params['groupids'] = array();
for ($i=0; $i<10; $i++) {
if (empty($data->groupids[$i])) {
continue;
}
$params['groupids'][] = $data->groupids[$i];
}
return $params;
}
}
class moodle_group_get_course_groups_form extends moodleform {
public function definition() {
global $CFG;
$mform = $this->_form;
$mform->addElement('header', 'wstestclienthdr', get_string('testclient', 'webservice'));
//note: these values are intentionally PARAM_RAW - we want users to test any rubbish as parameters
$data = $this->_customdata;
if ($data['authmethod'] == 'simple') {
$mform->addElement('text', 'wsusername', 'wsusername');
$mform->setType('wsusername', core_user::get_property_type('username'));
$mform->addElement('text', 'wspassword', 'wspassword');
$mform->setType('wspassword', core_user::get_property_type('password'));
} else if ($data['authmethod'] == 'token') {
$mform->addElement('text', 'token', 'token');
$mform->setType('token', PARAM_RAW_TRIMMED);
}
$mform->addElement('hidden', 'authmethod', $data['authmethod']);
$mform->setType('authmethod', core_user::get_property_type('auth'));
$mform->addElement('text', 'courseid', 'courseid');
$mform->addElement('hidden', 'function');
$mform->setType('function', PARAM_PLUGIN);
$mform->addElement('hidden', 'protocol');
$mform->setType('protocol', PARAM_ALPHA);
$this->add_action_buttons(true, get_string('execute', 'webservice'));
}
public function get_params() {
if (!$data = $this->get_data()) {
return null;
}
// remove unused from form data
unset($data->submitbutton);
unset($data->protocol);
unset($data->function);
unset($data->wsusername);
unset($data->wspassword);
unset($data->token);
unset($data->authmethod);
$params = array();
$params['courseid'] = $data->courseid;
return $params;
}
}
class moodle_group_delete_groups_form extends moodleform {
public function definition() {
global $CFG;
$mform = $this->_form;
$mform->addElement('header', 'wstestclienthdr', get_string('testclient', 'webservice'));
//note: these values are intentionally PARAM_RAW - we want users to test any rubbish as parameters
$data = $this->_customdata;
if ($data['authmethod'] == 'simple') {
$mform->addElement('text', 'wsusername', 'wsusername');
$mform->setType('wsusername', core_user::get_property_type('username'));
$mform->addElement('text', 'wspassword', 'wspassword');
$mform->setType('wspassword', core_user::get_property_type('password'));
} else if ($data['authmethod'] == 'token') {
$mform->addElement('text', 'token', 'token');
$mform->setType('token', PARAM_RAW_TRIMMED);
}
$mform->addElement('hidden', 'authmethod', $data['authmethod']);
$mform->setType('authmethod', core_user::get_property_type('auth'));
$mform->addElement('text', 'groupids[0]', 'groupids[0]');
$mform->addElement('text', 'groupids[1]', 'groupids[1]');
$mform->addElement('text', 'groupids[2]', 'groupids[2]');
$mform->addElement('text', 'groupids[3]', 'groupids[3]');
$mform->setType('groupids', PARAM_INT);
$mform->addElement('hidden', 'function');
$mform->setType('function', PARAM_PLUGIN);
$mform->addElement('hidden', 'protocol');
$mform->setType('protocol', PARAM_ALPHA);
$mform->addElement('static', 'warning', '', get_string('executewarnign', 'webservice'));
$this->add_action_buttons(true, get_string('execute', 'webservice'));
}
public function get_params() {
if (!$data = $this->get_data()) {
return null;
}
// remove unused from form data
unset($data->submitbutton);
unset($data->protocol);
unset($data->function);
unset($data->wsusername);
unset($data->wspassword);
unset($data->token);
unset($data->authmethod);
$params = array();
$params['groupids'] = array();
for ($i=0; $i<10; $i++) {
if (empty($data->groupids[$i])) {
continue;
}
$params['groupids'][] = $data->groupids[$i];
}
return $params;
}
}
class moodle_group_get_groupmembers_form extends moodleform {
public function definition() {
global $CFG;
$mform = $this->_form;
$mform->addElement('header', 'wstestclienthdr', get_string('testclient', 'webservice'));
//note: these values are intentionally PARAM_RAW - we want users to test any rubbish as parameters
$data = $this->_customdata;
if ($data['authmethod'] == 'simple') {
$mform->addElement('text', 'wsusername', 'wsusername');
$mform->setType('wsusername', core_user::get_property_type('username'));
$mform->addElement('text', 'wspassword', 'wspassword');
$mform->setType('wspassword', core_user::get_property_type('password'));
} else if ($data['authmethod'] == 'token') {
$mform->addElement('text', 'token', 'token');
$mform->setType('token', PARAM_RAW_TRIMMED);
}
$mform->addElement('hidden', 'authmethod', $data['authmethod']);
$mform->setType('authmethod', core_user::get_property_type('auth'));
$mform->addElement('text', 'groupids[0]', 'groupids[0]');
$mform->addElement('text', 'groupids[1]', 'groupids[1]');
$mform->addElement('text', 'groupids[2]', 'groupids[2]');
$mform->addElement('text', 'groupids[3]', 'groupids[3]');
$mform->setType('groupids', PARAM_INT);
$mform->addElement('hidden', 'function');
$mform->setType('function', PARAM_PLUGIN);
$mform->addElement('hidden', 'protocol');
$mform->setType('protocol', PARAM_ALPHA);
$this->add_action_buttons(true, get_string('execute', 'webservice'));
}
public function get_params() {
if (!$data = $this->get_data()) {
return null;
}
// remove unused from form data
unset($data->submitbutton);
unset($data->protocol);
unset($data->function);
unset($data->wsusername);
unset($data->wspassword);
unset($data->token);
unset($data->authmethod);
$params = array();
$params['groupids'] = array();
for ($i=0; $i<10; $i++) {
if (empty($data->groupids[$i])) {
continue;
}
$params['groupids'][] = $data->groupids[$i];
}
return $params;
}
}
class moodle_group_add_groupmembers_form extends moodleform {
public function definition() {
global $CFG;
$mform = $this->_form;
$mform->addElement('header', 'wstestclienthdr', get_string('testclient', 'webservice'));
//note: these values are intentionally PARAM_RAW - we want users to test any rubbish as parameters
$data = $this->_customdata;
if ($data['authmethod'] == 'simple') {
$mform->addElement('text', 'wsusername', 'wsusername');
$mform->setType('wsusername', core_user::get_property_type('username'));
$mform->addElement('text', 'wspassword', 'wspassword');
$mform->setType('wspassword', core_user::get_property_type('password'));
} else if ($data['authmethod'] == 'token') {
$mform->addElement('text', 'token', 'token');
$mform->setType('token', PARAM_RAW_TRIMMED);
}
$mform->addElement('hidden', 'authmethod', $data['authmethod']);
$mform->setType('authmethod', core_user::get_property_type('auth'));
$mform->addElement('text', 'userid[0]', 'userid[0]');
$mform->addElement('text', 'groupid[0]', 'groupid[0]');
$mform->addElement('text', 'userid[1]', 'userid[1]');
$mform->addElement('text', 'groupid[1]', 'groupid[1]');
$mform->setType('userid', core_user::get_property_type('id'));
$mform->setType('groupids', PARAM_INT);
$mform->addElement('hidden', 'function');
$mform->setType('function', PARAM_PLUGIN);
$mform->addElement('hidden', 'protocol');
$mform->setType('protocol', PARAM_ALPHA);
$this->add_action_buttons(true, get_string('execute', 'webservice'));
}
public function get_params() {
if (!$data = $this->get_data()) {
return null;
}
// remove unused from form data
unset($data->submitbutton);
unset($data->protocol);
unset($data->function);
unset($data->wsusername);
unset($data->wspassword);
unset($data->token);
unset($data->authmethod);
$params = array();
$params['members'] = array();
for ($i=0; $i<10; $i++) {
if (empty($data->groupid[$i]) or empty($data->userid[$i])) {
continue;
}
$params['members'][] = array('userid'=>$data->userid[$i], 'groupid'=>$data->groupid[$i]);
}
return $params;
}
}
class moodle_group_delete_groupmembers_form extends moodleform {
public function definition() {
global $CFG;
$mform = $this->_form;
$mform->addElement('header', 'wstestclienthdr', get_string('testclient', 'webservice'));
//note: these values are intentionally PARAM_RAW - we want users to test any rubbish as parameters
$data = $this->_customdata;
if ($data['authmethod'] == 'simple') {
$mform->addElement('text', 'wsusername', 'wsusername');
$mform->setType('wsusername', core_user::get_property_type('username'));
$mform->addElement('text', 'wspassword', 'wspassword');
$mform->setType('wspassword', core_user::get_property_type('password'));
} else if ($data['authmethod'] == 'token') {
$mform->addElement('text', 'token', 'token');
$mform->setType('token', PARAM_RAW_TRIMMED);
}
$mform->addElement('hidden', 'authmethod', $data['authmethod']);
$mform->setType('authmethod', core_user::get_property_type('auth'));
$mform->addElement('text', 'userid[0]', 'userid[0]');
$mform->addElement('text', 'groupid[0]', 'groupid[0]');
$mform->addElement('text', 'userid[1]', 'userid[1]');
$mform->addElement('text', 'groupid[1]', 'groupid[1]');
$mform->setType('userid', PARAM_INT);
$mform->setType('groupids', PARAM_INT);
$mform->addElement('hidden', 'function');
$mform->setType('function', PARAM_PLUGIN);
$mform->addElement('hidden', 'protocol');
$mform->setType('protocol', PARAM_ALPHA);
$this->add_action_buttons(true, get_string('execute', 'webservice'));
}
public function get_params() {
if (!$data = $this->get_data()) {
return null;
}
// remove unused from form data
unset($data->submitbutton);
unset($data->protocol);
unset($data->function);
unset($data->wsusername);
unset($data->wspassword);
unset($data->token);
unset($data->authmethod);
$params = array();
$params['members'] = array();
for ($i=0; $i<10; $i++) {
if (empty($data->groupid[$i]) or empty($data->userid[$i])) {
continue;
}
$params['members'][] = array('userid'=>$data->userid[$i], 'groupid'=>$data->groupid[$i]);
}
return $params;
}
}
/**
* Form class for create_categories() web service function test.
*
-105
View File
@@ -2495,108 +2495,3 @@ class core_course_external extends external_api {
}
}
/**
* Deprecated course external functions
*
* @package core_course
* @copyright 2009 Petr Skodak
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not use this class any more.
* @see core_course_external
*/
class moodle_course_external extends external_api {
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_course_external::get_courses_parameters()
*/
public static function get_courses_parameters() {
return core_course_external::get_courses_parameters();
}
/**
* Get courses
*
* @param array $options
* @return array
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_course_external::get_courses()
*/
public static function get_courses($options) {
return core_course_external::get_courses($options);
}
/**
* Returns description of method result value
*
* @return external_description
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_course_external::get_courses_returns()
*/
public static function get_courses_returns() {
return core_course_external::get_courses_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function get_courses_is_deprecated() {
return true;
}
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_course_external::create_courses_parameters()
*/
public static function create_courses_parameters() {
return core_course_external::create_courses_parameters();
}
/**
* Create courses
*
* @param array $courses
* @return array courses (id and shortname only)
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_course_external::create_courses()
*/
public static function create_courses($courses) {
return core_course_external::create_courses($courses);
}
/**
* Returns description of method result value
*
* @return external_description
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_course_external::create_courses_returns()
*/
public static function create_courses_returns() {
return core_course_external::create_courses_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function create_courses_is_deprecated() {
return true;
}
}
-300
View File
@@ -839,303 +839,3 @@ class core_role_external extends external_api {
return null;
}
}
/**
* Deprecated enrol and role external functions
*
* @package core_enrol
* @copyright 2010 Jerome Mouneyrac
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not use this class any more.
* @see core_enrol_external
* @see core_role_external
*/
class moodle_enrol_external extends external_api {
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_enrol_external::get_enrolled_users_parameters()
*/
public static function get_enrolled_users_parameters() {
return new external_function_parameters(
array(
'courseid' => new external_value(PARAM_INT, 'Course id'),
'withcapability' => new external_value(PARAM_CAPABILITY, 'User should have this capability', VALUE_DEFAULT, null),
'groupid' => new external_value(PARAM_INT, 'Group id, null means all groups', VALUE_DEFAULT, null),
'onlyactive' => new external_value(PARAM_INT, 'True means only active, false means all participants', VALUE_DEFAULT, 0),
)
);
}
/**
* Get list of course participants.
*
* @param int $courseid
* @param text $withcapability
* @param int $groupid
* @param bool $onlyactive
* @return array of course participants
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_enrol_external::get_enrolled_users()
*/
public static function get_enrolled_users($courseid, $withcapability = null, $groupid = null, $onlyactive = false) {
global $DB, $CFG, $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_enrolled_users_parameters(), array(
'courseid'=>$courseid,
'withcapability'=>$withcapability,
'groupid'=>$groupid,
'onlyactive'=>$onlyactive)
);
$coursecontext = context_course::instance($params['courseid'], IGNORE_MISSING);
if ($courseid == SITEID) {
$context = context_system::instance();
} 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('errorcoursecontextnotvalid' , 'webservice', '', $exceptionparam);
}
if ($courseid == SITEID) {
require_capability('moodle/site:viewparticipants', $context);
} else {
require_capability('moodle/course:viewparticipants', $context);
}
if ($withcapability) {
require_capability('moodle/role:review', $coursecontext);
}
if ($groupid && groups_is_member($groupid)) {
require_capability('moodle/site:accessallgroups', $coursecontext);
}
if ($onlyactive) {
require_capability('moodle/course:enrolreview', $coursecontext);
}
list($sqlparams, $params) = get_enrolled_sql($coursecontext, $withcapability, $groupid, $onlyactive);
$sql = "SELECT ue.userid, e.courseid, u.firstname, u.lastname, u.username, c.id as usercontextid
FROM {user_enrolments} ue
JOIN {enrol} e ON (e.id = ue.enrolid)
JOIN {user} u ON (ue.userid = u.id)
JOIN {context} c ON (u.id = c.instanceid AND contextlevel = " . CONTEXT_USER . ")
WHERE e.courseid = :courseid AND ue.userid IN ($sqlparams)
GROUP BY ue.userid, e.courseid, u.firstname, u.lastname, u.username, c.id";
$params['courseid'] = $courseid;
$enrolledusers = $DB->get_records_sql($sql, $params);
$result = array();
$isadmin = is_siteadmin($USER);
$canviewfullnames = has_capability('moodle/site:viewfullnames', $context);
foreach ($enrolledusers as $enrolleduser) {
$profilimgurl = moodle_url::make_pluginfile_url($enrolleduser->usercontextid, 'user', 'icon', NULL, '/', 'f1');
$profilimgurlsmall = moodle_url::make_pluginfile_url($enrolleduser->usercontextid, 'user', 'icon', NULL, '/', 'f2');
$resultuser = array(
'courseid' => $enrolleduser->courseid,
'userid' => $enrolleduser->userid,
'fullname' => fullname($enrolleduser),
'profileimgurl' => $profilimgurl->out(false),
'profileimgurlsmall' => $profilimgurlsmall->out(false)
);
// check if we can return username
if ($isadmin) {
$resultuser['username'] = $enrolleduser->username;
}
// check if we can return first and last name
if ($isadmin or $canviewfullnames) {
$resultuser['firstname'] = $enrolleduser->firstname;
$resultuser['lastname'] = $enrolleduser->lastname;
}
$result[] = $resultuser;
}
return $result;
}
/**
* Returns description of method result value
*
* @return external_description
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_enrol_external::get_enrolled_users_returns()
*/
public static function get_enrolled_users_returns() {
return new external_multiple_structure(
new external_single_structure(
array(
'courseid' => new external_value(PARAM_INT, 'id of course'),
'userid' => new external_value(PARAM_INT, 'id of user'),
'firstname' => new external_value(PARAM_RAW, 'first name of user', VALUE_OPTIONAL),
'lastname' => new external_value(PARAM_RAW, 'last name of user', VALUE_OPTIONAL),
'fullname' => new external_value(PARAM_RAW, 'fullname of user'),
'username' => new external_value(PARAM_RAW, 'username of user', VALUE_OPTIONAL),
'profileimgurl' => new external_value(PARAM_URL, 'url of the profile image'),
'profileimgurlsmall' => new external_value(PARAM_URL, 'url of the profile image (small version)')
)
)
);
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function get_enrolled_users_is_deprecated() {
return true;
}
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.1
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_enrol_external::get_users_courses_parameters()
*/
public static function get_users_courses_parameters() {
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.
*
* @param int $userid
* @return array of courses
* @since Moodle 2.1
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see use core_enrol_external::get_users_courses()
*/
public static function get_users_courses($userid) {
return core_enrol_external::get_users_courses($userid);
}
/**
* Returns description of method result value
*
* @return external_description
* @since Moodle 2.1
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_enrol_external::get_users_courses_returns()
*/
public static function get_users_courses_returns() {
return core_enrol_external::get_users_courses_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function get_users_courses_is_deprecated() {
return true;
}
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_role_external::assign_roles_parameters()
*/
public static function role_assign_parameters() {
return core_role_external::assign_roles_parameters();
}
/**
* Manual role assignments to users
*
* @param array $assignments An array of manual role assignment
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_role_external::assign_roles()
*/
public static function role_assign($assignments) {
return core_role_external::assign_roles($assignments);
}
/**
* Returns description of method result value
*
* @return null
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_role_external::assign_roles_returns()
*/
public static function role_assign_returns() {
return core_role_external::assign_roles_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function role_assign_is_deprecated() {
return true;
}
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_role_external::unassign_roles_parameters()
*/
public static function role_unassign_parameters() {
return core_role_external::unassign_roles_parameters();
}
/**
* Unassign roles from users
*
* @param array $unassignments An array of unassignment
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_role_external::unassign_roles()
*/
public static function role_unassign($unassignments) {
return core_role_external::unassign_roles($unassignments);
}
/**
* Returns description of method result value
*
* @return null
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_role_external::unassign_roles_returns()
*/
public static function role_unassign_returns() {
return core_role_external::unassign_roles_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function role_unassign_is_deprecated() {
return true;
}
}
-9
View File
@@ -26,15 +26,6 @@
$functions = array(
// === enrol related functions ===
'moodle_enrol_manual_enrol_users' => array(
'classname' => 'moodle_enrol_manual_external',
'methodname' => 'manual_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',
-59
View File
@@ -226,62 +226,3 @@ class enrol_manual_external extends external_api {
}
}
/**
* Deprecated manual enrolment external functions.
*
* @package enrol_manual
* @copyright 2011 Jerome Mouneyrac
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not use this class any more.
* @see enrol_manual_external
*/
class moodle_enrol_manual_external extends external_api {
/**
* Returns description of method parameters.
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see enrol_manual_external::enrol_users_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.
*
* @param array $enrolments An array of user enrolment
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see enrol_manual_external::enrol_users()
*/
public static function manual_enrol_users($enrolments) {
return enrol_manual_external::enrol_users($enrolments);
}
/**
* Returns description of method result value.
*
* @return nul
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see enrol_manual_external::enrol_users_returns()
*/
public static function manual_enrol_users_returns() {
return enrol_manual_external::enrol_users_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function manual_enrol_users_is_deprecated() {
return true;
}
}
+4 -130
View File
@@ -307,9 +307,9 @@ class core_files_external extends external_api {
$filepath = '/';
}
// Only allow uploads to draft or private areas (private is deprecated but still supported)
if (!($fileinfo['component'] == 'user' and in_array($fileinfo['filearea'], array('private', 'draft')))) {
throw new coding_exception('File can be uploaded to user private or draft areas only');
// Only allow uploads to draft area
if (!($fileinfo['component'] == 'user' and $fileinfo['filearea'] == 'draft')) {
throw new coding_exception('File can be uploaded to user draft area only');
} else {
$component = 'user';
$filearea = $fileinfo['filearea'];
@@ -336,8 +336,7 @@ class core_files_external extends external_api {
$context = self::get_context_from_params($fileinfo);
self::validate_context($context);
if (($fileinfo['component'] == 'user' and $fileinfo['filearea'] == 'private')) {
require_capability('moodle/user:manageownfiles', $context);
debugging('Uploading directly to user private files area is deprecated. Upload to a draft area and then move the files with core_user::add_user_private_files');
throw new moodle_exception('privatefilesupload');
}
$browser = get_file_browser();
@@ -386,128 +385,3 @@ class core_files_external extends external_api {
);
}
}
/**
* Deprecated files external functions
*
* @package core_files
* @copyright 2010 Dongsheng Cai
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not use this class any more.
* @see core_files_external
*/
class moodle_file_external extends external_api {
/**
* Returns description of get_files parameters
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_files_external::get_files_parameters()
*/
public static function get_files_parameters() {
return core_files_external::get_files_parameters();
}
/**
* Return moodle files listing
*
* @param int $contextid
* @param int $component
* @param int $filearea
* @param int $itemid
* @param string $filepath
* @param string $filename
* @param int $modified timestamp to return files changed after this time.
* @param string $contextlevel The context level for the file location.
* @param int $instanceid The instance id for where the file is located.
* @return array
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_files_external::get_files()
*/
public static function get_files($contextid, $component, $filearea, $itemid, $filepath, $filename, $modified = null,
$contextlevel = null, $instanceid = null) {
return core_files_external::get_files($contextid, $component, $filearea, $itemid, $filepath, $filename,
$modified, $contextlevel, $instanceid);
}
/**
* Returns description of get_files returns
*
* @return external_single_structure
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_files_external::get_files_returns()
*/
public static function get_files_returns() {
return core_files_external::get_files_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function get_files_is_deprecated() {
return true;
}
/**
* Returns description of upload parameters
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_files_external::upload_parameters()
*/
public static function upload_parameters() {
return core_files_external::upload_parameters();
}
/**
* Uploading a file to moodle
*
* @param int $contextid
* @param string $component
* @param string $filearea
* @param int $itemid
* @param string $filepath
* @param string $filename
* @param string $filecontent
* @param string $contextlevel Context level (block, course, coursecat, system, user or module)
* @param int $instanceid Instance id of the item associated with the context level
* @return array
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_files_external::upload()
*/
public static function upload($contextid, $component, $filearea, $itemid, $filepath, $filename, $filecontent, $contextlevel, $instanceid) {
return core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath, $filename,
$filecontent, $contextlevel, $instanceid);
}
/**
* Returns description of upload returns
*
* @return external_single_structure
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_files_external::upload_returns()
*/
public static function upload_returns() {
return core_files_external::upload_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function upload_is_deprecated() {
return true;
}
}
+2 -31
View File
@@ -111,7 +111,7 @@ class core_files_externallib_testcase extends advanced_testcase {
$context = context_user::instance($USER->id);
$contextid = $context->id;
$component = "backup";
$filearea = "private";
$filearea = "draft";
$itemid = 0;
$filepath = "/";
$filename = "Simple3.txt";
@@ -126,7 +126,7 @@ class core_files_externallib_testcase extends advanced_testcase {
}
/*
* Make sure only private or draft areas are allowed in core_files_external::upload().
* Make sure only draft areas are allowed in core_files_external::upload().
*/
public function test_upload_param_area() {
global $USER;
@@ -152,35 +152,6 @@ class core_files_externallib_testcase extends advanced_testcase {
$this->assertNotEmpty($file);
}
/*
* Make sure core_files_external::upload() works without new parameters.
*/
public function test_upload_without_new_param() {
global $USER;
$this->resetAfterTest();
$this->setAdminUser();
$context = context_user::instance($USER->id);
$contextid = $context->id;
$component = "user";
$filearea = "private";
$itemid = 0;
$filepath = "/";
$filename = "Simple4.txt";
$filecontent = base64_encode("Let us create a nice simple file");
$fileinfo = @core_files_external::upload($contextid, $component, $filearea, $itemid, $filepath, $filename, $filecontent);
$fileinfo = external_api::clean_returnvalue(core_files_external::upload_returns(), $fileinfo);
// Assert debugging called (deprecation warning).
$this->assertDebuggingCalled();
// Make sure the file is created.
$browser = get_file_browser();
$file = $browser->get_file_info($context, $component, $filearea, $itemid, $filepath, $filename);
$this->assertNotEmpty($file);
}
/**
* Test getting a list of files with and without a context ID.
*/
-59
View File
@@ -1,59 +0,0 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* External grading API
*
* @package core_grading
* @since Moodle 2.5
* @copyright 2013 Paul Charsley
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die;
// NOTE: add any new core_grades_ classes to /lib/classes/ directory.
/**
* core grading functions. Renamed to core_grading_external
*
* @since Moodle 2.5
* @deprecated since 2.6 See MDL-30085. Please do not use this class any more.
* @see core_grading_external
*/
class core_grade_external extends external_api {
public static function get_definitions_parameters() {
return core_grading_external::get_definitions_parameters();
}
public static function get_definitions($cmids, $areaname, $activeonly = false) {
return core_grading_external::get_definitions($cmids, $areaname, $activeonly);
}
public static function get_definitions_returns() {
return core_grading_external::get_definitions_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function get_definitions_is_deprecated() {
return true;
}
}
-333
View File
@@ -1473,336 +1473,3 @@ class core_group_external extends external_api {
}
}
/**
* Deprecated group external functions
*
* @package core_group
* @copyright 2009 Petr Skodak
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not use this class any more.
* @see core_group_external
*/
class moodle_group_external extends external_api {
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::create_groups_parameters()
*/
public static function create_groups_parameters() {
return core_group_external::create_groups_parameters();
}
/**
* Create groups
*
* @param array $groups array of group description arrays (with keys groupname and courseid)
* @return array of newly created groups
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see use core_group_external::create_groups()
*/
public static function create_groups($groups) {
return core_group_external::create_groups($groups);
}
/**
* Returns description of method result value
*
* @return external_description
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::create_groups_returns()
*/
public static function create_groups_returns() {
return core_group_external::create_groups_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function create_groups_is_deprecated() {
return true;
}
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::get_groups_parameters()
*/
public static function get_groups_parameters() {
return core_group_external::get_groups_parameters();
}
/**
* Get groups definition specified by ids
*
* @param array $groupids arrays of group ids
* @return array of group objects (id, courseid, name, enrolmentkey)
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::get_groups()
*/
public static function get_groups($groupids) {
return core_group_external::get_groups($groupids);
}
/**
* Returns description of method result value
*
* @return external_description
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::get_groups_returns()
*/
public static function get_groups_returns() {
return core_group_external::get_groups_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function get_groups_is_deprecated() {
return true;
}
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::get_course_groups_parameters()
*/
public static function get_course_groups_parameters() {
return core_group_external::get_course_groups_parameters();
}
/**
* Get all groups in the specified course
*
* @param int $courseid id of course
* @return array of group objects (id, courseid, name, enrolmentkey)
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::get_course_groups()
*/
public static function get_course_groups($courseid) {
return core_group_external::get_course_groups($courseid);
}
/**
* Returns description of method result value
*
* @return external_description
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::get_course_groups_returns()
*/
public static function get_course_groups_returns() {
return core_group_external::get_course_groups_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function get_course_groups_is_deprecated() {
return true;
}
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::delete_group_members_parameters()
*/
public static function delete_groups_parameters() {
return core_group_external::delete_groups_parameters();
}
/**
* Delete groups
*
* @param array $groupids array of group ids
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::delete_groups()
*/
public static function delete_groups($groupids) {
return core_group_external::delete_groups($groupids);
}
/**
* Returns description of method result value
*
* @return null
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::delete_group_members_returns()
*/
public static function delete_groups_returns() {
return core_group_external::delete_groups_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function delete_groups_is_deprecated() {
return true;
}
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::get_group_members_parameters()
*/
public static function get_groupmembers_parameters() {
return core_group_external::get_group_members_parameters();
}
/**
* Return all members for a group
*
* @param array $groupids array of group ids
* @return array with group id keys containing arrays of user ids
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::get_group_members()
*/
public static function get_groupmembers($groupids) {
return core_group_external::get_group_members($groupids);
}
/**
* Returns description of method result value
*
* @return external_description
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::get_group_members_returns()
*/
public static function get_groupmembers_returns() {
return core_group_external::get_group_members_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function get_groupmembers_is_deprecated() {
return true;
}
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::add_group_members_parameters()
*/
public static function add_groupmembers_parameters() {
return core_group_external::add_group_members_parameters();
}
/**
* Add group members
*
* @param array $members of arrays with keys userid, groupid
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see use core_group_external::add_group_members()
*/
public static function add_groupmembers($members) {
return core_group_external::add_group_members($members);
}
/**
* Returns description of method result value
*
* @return external_description
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::add_group_members_returns()
*/
public static function add_groupmembers_returns() {
return core_group_external::add_group_members_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function add_groupmembers_is_deprecated() {
return true;
}
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::delete_group_members_parameters()
*/
public static function delete_groupmembers_parameters() {
return core_group_external::delete_group_members_parameters();
}
/**
* Delete group members
*
* @param array $members of arrays with keys userid, groupid
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::delete_group_members()
*/
public static function delete_groupmembers($members) {
return core_group_external::delete_group_members($members);
}
/**
* Returns description of method result value
*
* @return external_description
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_group_external::delete_group_members_returns()
*/
public static function delete_groupmembers_returns() {
return core_group_external::delete_group_members_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function delete_groupmembers_is_deprecated() {
return true;
}
}
+1
View File
@@ -455,6 +455,7 @@ $string['prefixcannotbeempty'] = '<p>Error: database table prefix cannot be empt
<p>The site administrator must fix this problem.</p>';
$string['prefixtoolong'] = '<p>Error: database table prefix is too long ({$a->dbfamily})</p>
<p>The site administrator must fix this problem. Maximum length for table prefixes in {$a->dbfamily} is {$a->maxlength} characters.</p>';
$string['privatefilesupload'] = 'Uploading directly to user private files area is no longer supported. Upload to a draft area and then move the files with core_user::add_user_private_files';
$string['processingstops'] = 'Processing stops here. Remaining records ignored.';
$string['querystringcannotbeempty'] = 'The query string cannot be empty.';
$string['redirecterrordetected'] = 'Unsupported redirect detected, script execution terminated';
+770 -1160
View File
File diff suppressed because it is too large Load Diff
+40
View File
@@ -2005,5 +2005,45 @@ function xmldb_main_upgrade($oldversion) {
// Main savepoint reached.
upgrade_main_savepoint(true, 2016042100.00);
}
if ($oldversion < 2016042600.01) {
$deprecatedwebservices = [
'moodle_course_create_courses',
'moodle_course_get_courses',
'moodle_enrol_get_enrolled_users',
'moodle_enrol_get_users_courses',
'moodle_enrol_manual_enrol_users',
'moodle_file_get_files',
'moodle_file_upload',
'moodle_group_add_groupmembers',
'moodle_group_create_groups',
'moodle_group_delete_groupmembers',
'moodle_group_delete_groups',
'moodle_group_get_course_groups',
'moodle_group_get_groupmembers',
'moodle_group_get_groups',
'moodle_message_send_instantmessages',
'moodle_notes_create_notes',
'moodle_role_assign',
'moodle_role_unassign',
'moodle_user_create_users',
'moodle_user_delete_users',
'moodle_user_get_course_participants_by_id',
'moodle_user_get_users_by_courseid',
'moodle_user_get_users_by_id',
'moodle_user_update_users',
'core_grade_get_definitions',
'core_user_get_users_by_id',
'moodle_webservice_get_siteinfo',
'mod_forum_get_forum_discussions'
];
list($insql, $params) = $DB->get_in_or_equal($deprecatedwebservices);
$DB->delete_records_select('external_functions', "name $insql", $params);
$DB->delete_records_select('external_services_functions', "functionname $insql", $params);
// Main savepoint reached.
upgrade_main_savepoint(true, 2016042600.01);
}
return true;
}
-59
View File
@@ -1098,62 +1098,3 @@ class core_message_external extends external_api {
}
}
/**
* Deprecated message external functions
*
* @package core_message
* @copyright 2011 Jerome Mouneyrac
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @since Moodle 2.1
* @deprecated Moodle 2.2 MDL-29106 - Please do not use this class any more.
* @see core_notes_external
*/
class moodle_message_external extends external_api {
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.1
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_message_external::send_instant_messages_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
*
* @param array $messages An array of message to send.
* @return array
* @since Moodle 2.1
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_message_external::send_instant_messages()
*/
public static function send_instantmessages($messages = array()) {
return core_message_external::send_instant_messages($messages);
}
/**
* Returns description of method result value
*
* @return external_description
* @since Moodle 2.1
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_message_external::send_instant_messages_returns()
*/
public static function send_instantmessages_returns() {
return core_message_external::send_instant_messages_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function send_instantmessages_is_deprecated() {
return true;
}
}
-10
View File
@@ -37,16 +37,6 @@ $functions = array(
'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
),
'mod_forum_get_forum_discussions' => array(
'classname' => 'mod_forum_external',
'methodname' => 'get_forum_discussions',
'classpath' => 'mod/forum/externallib.php',
'description' => 'DEPRECATED (use mod_forum_get_forum_discussions_paginated instead):
Returns a list of forum discussions contained within a given set of forums.',
'type' => 'read',
'capabilities' => 'mod/forum:viewdiscussion, mod/forum:viewqandawithoutposting'
),
'mod_forum_get_forum_discussion_posts' => array(
'classname' => 'mod_forum_external',
'methodname' => 'get_forum_discussion_posts',
-213
View File
@@ -146,219 +146,6 @@ class mod_forum_external extends external_api {
);
}
/**
* Describes the parameters for get_forum_discussions.
*
* @return external_external_function_parameters
* @since Moodle 2.5
* @deprecated Moodle 2.8 MDL-46458 - Please do not call this function any more.
* @see get_forum_discussions_paginated
*/
public static function get_forum_discussions_parameters() {
return new external_function_parameters (
array(
'forumids' => new external_multiple_structure(new external_value(PARAM_INT, 'forum ID',
VALUE_REQUIRED, '', NULL_NOT_ALLOWED), 'Array of Forum IDs', VALUE_REQUIRED),
'limitfrom' => new external_value(PARAM_INT, 'limit from', VALUE_DEFAULT, 0),
'limitnum' => new external_value(PARAM_INT, 'limit number', VALUE_DEFAULT, 0)
)
);
}
/**
* Returns a list of forum discussions as well as a summary of the discussion
* in a provided list of forums.
*
* @param array $forumids the forum ids
* @param int $limitfrom limit from SQL data
* @param int $limitnum limit number SQL data
*
* @return array the forum discussion details
* @since Moodle 2.5
* @deprecated Moodle 2.8 MDL-46458 - Please do not call this function any more.
* @see get_forum_discussions_paginated
*/
public static function get_forum_discussions($forumids, $limitfrom = 0, $limitnum = 0) {
global $CFG, $DB, $USER;
require_once($CFG->dirroot . "/mod/forum/lib.php");
// Validate the parameter.
$params = self::validate_parameters(self::get_forum_discussions_parameters(),
array(
'forumids' => $forumids,
'limitfrom' => $limitfrom,
'limitnum' => $limitnum,
));
$forumids = $params['forumids'];
$limitfrom = $params['limitfrom'];
$limitnum = $params['limitnum'];
// Array to store the forum discussions to return.
$arrdiscussions = array();
// Keep track of the users we have looked up in the DB.
$arrusers = array();
// Loop through them.
foreach ($forumids as $id) {
// Get the forum object.
$forum = $DB->get_record('forum', array('id' => $id), '*', MUST_EXIST);
$course = get_course($forum->course);
$modinfo = get_fast_modinfo($course);
$forums = $modinfo->get_instances_of('forum');
$cm = $forums[$forum->id];
// Get the module context.
$modcontext = context_module::instance($cm->id);
// Validate the context.
self::validate_context($modcontext);
require_capability('mod/forum:viewdiscussion', $modcontext);
// Get the discussions for this forum.
$params = array();
$groupselect = "";
$groupmode = groups_get_activity_groupmode($cm, $course);
if ($groupmode and $groupmode != VISIBLEGROUPS and !has_capability('moodle/site:accessallgroups', $modcontext)) {
// Get all the discussions from all the groups this user belongs to.
$usergroups = groups_get_user_groups($course->id);
if (!empty($usergroups['0'])) {
list($sql, $params) = $DB->get_in_or_equal($usergroups['0']);
$groupselect = "AND (groupid $sql OR groupid = -1)";
}
}
array_unshift($params, $id);
$select = "forum = ? $groupselect";
if ($discussions = $DB->get_records_select('forum_discussions', $select, $params, 'timemodified DESC', '*',
$limitfrom, $limitnum)) {
// Check if they can view full names.
$canviewfullname = has_capability('moodle/site:viewfullnames', $modcontext);
// Get the unreads array, this takes a forum id and returns data for all discussions.
$unreads = array();
if ($cantrack = forum_tp_can_track_forums($forum)) {
if ($forumtracked = forum_tp_is_tracked($forum)) {
$unreads = forum_get_discussions_unread($cm);
}
}
// The forum function returns the replies for all the discussions in a given forum.
$replies = forum_count_discussion_replies($id);
foreach ($discussions as $discussion) {
// This function checks capabilities, timed discussions, groups and qanda forums posting.
if (!forum_user_can_see_discussion($forum, $discussion, $modcontext)) {
continue;
}
$usernamefields = user_picture::fields();
// If we don't have the users details then perform DB call.
if (empty($arrusers[$discussion->userid])) {
$arrusers[$discussion->userid] = $DB->get_record('user', array('id' => $discussion->userid),
$usernamefields, MUST_EXIST);
}
// Get the subject.
$subject = $DB->get_field('forum_posts', 'subject', array('id' => $discussion->firstpost), MUST_EXIST);
// Create object to return.
$return = new stdClass();
$return->id = (int) $discussion->id;
$return->course = $discussion->course;
$return->forum = $discussion->forum;
$return->name = $discussion->name;
$return->userid = $discussion->userid;
$return->groupid = $discussion->groupid;
$return->assessed = $discussion->assessed;
$return->timemodified = (int) $discussion->timemodified;
$return->usermodified = $discussion->usermodified;
$return->timestart = $discussion->timestart;
$return->timeend = $discussion->timeend;
$return->firstpost = (int) $discussion->firstpost;
$return->firstuserfullname = fullname($arrusers[$discussion->userid], $canviewfullname);
$return->firstuserimagealt = $arrusers[$discussion->userid]->imagealt;
$return->firstuserpicture = $arrusers[$discussion->userid]->picture;
$return->firstuseremail = $arrusers[$discussion->userid]->email;
$return->subject = $subject;
$return->numunread = '';
if ($cantrack && $forumtracked) {
if (isset($unreads[$discussion->id])) {
$return->numunread = (int) $unreads[$discussion->id];
}
}
// Check if there are any replies to this discussion.
if (!empty($replies[$discussion->id])) {
$return->numreplies = (int) $replies[$discussion->id]->replies;
$return->lastpost = (int) $replies[$discussion->id]->lastpostid;
} else { // No replies, so the last post will be the first post.
$return->numreplies = 0;
$return->lastpost = (int) $discussion->firstpost;
}
// Get the last post as well as the user who made it.
$lastpost = $DB->get_record('forum_posts', array('id' => $return->lastpost), '*', MUST_EXIST);
if (empty($arrusers[$lastpost->userid])) {
$arrusers[$lastpost->userid] = $DB->get_record('user', array('id' => $lastpost->userid),
$usernamefields, MUST_EXIST);
}
$return->lastuserid = $lastpost->userid;
$return->lastuserfullname = fullname($arrusers[$lastpost->userid], $canviewfullname);
$return->lastuserimagealt = $arrusers[$lastpost->userid]->imagealt;
$return->lastuserpicture = $arrusers[$lastpost->userid]->picture;
$return->lastuseremail = $arrusers[$lastpost->userid]->email;
// Add the discussion statistics to the array to return.
$arrdiscussions[$return->id] = (array) $return;
}
}
}
return $arrdiscussions;
}
/**
* Describes the get_forum_discussions return value.
*
* @return external_single_structure
* @since Moodle 2.5
* @deprecated Moodle 2.8 MDL-46458 - Please do not call this function any more.
* @see get_forum_discussions_paginated
*/
public static function get_forum_discussions_returns() {
return new external_multiple_structure(
new external_single_structure(
array(
'id' => new external_value(PARAM_INT, 'Forum id'),
'course' => new external_value(PARAM_INT, 'Course id'),
'forum' => new external_value(PARAM_INT, 'The forum id'),
'name' => new external_value(PARAM_TEXT, 'Discussion name'),
'userid' => new external_value(PARAM_INT, 'User id'),
'groupid' => new external_value(PARAM_INT, 'Group id'),
'assessed' => new external_value(PARAM_INT, 'Is this assessed?'),
'timemodified' => new external_value(PARAM_INT, 'Time modified'),
'usermodified' => new external_value(PARAM_INT, 'The id of the user who last modified'),
'timestart' => new external_value(PARAM_INT, 'Time discussion can start'),
'timeend' => new external_value(PARAM_INT, 'Time discussion ends'),
'firstpost' => new external_value(PARAM_INT, 'The first post in the discussion'),
'firstuserfullname' => new external_value(PARAM_TEXT, 'The discussion creators fullname'),
'firstuserimagealt' => new external_value(PARAM_TEXT, 'The discussion creators image alt'),
'firstuserpicture' => new external_value(PARAM_INT, 'The discussion creators profile picture'),
'firstuseremail' => new external_value(PARAM_TEXT, 'The discussion creators email'),
'subject' => new external_value(PARAM_TEXT, 'The discussion subject'),
'numreplies' => new external_value(PARAM_TEXT, 'The number of replies in the discussion'),
'numunread' => new external_value(PARAM_TEXT, 'The number of unread posts, blank if this value is
not available due to forum settings.'),
'lastpost' => new external_value(PARAM_INT, 'The id of the last post in the discussion'),
'lastuserid' => new external_value(PARAM_INT, 'The id of the user who made the last post'),
'lastuserfullname' => new external_value(PARAM_TEXT, 'The last person to posts fullname'),
'lastuserimagealt' => new external_value(PARAM_TEXT, 'The last person to posts image alt'),
'lastuserpicture' => new external_value(PARAM_INT, 'The last person to posts profile picture'),
'lastuseremail' => new external_value(PARAM_TEXT, 'The last person to posts email'),
), 'discussion'
)
);
}
/**
* Describes the parameters for get_forum_discussion_posts.
*
-202
View File
@@ -172,208 +172,6 @@ class mod_forum_external_testcase extends externallib_advanced_testcase {
$this->assertCount(0, $forums);
}
/**
* Test get forum discussions
*/
public function test_mod_forum_get_forum_discussions() {
global $USER, $CFG, $DB;
$this->resetAfterTest(true);
// Set the CFG variable to allow track forums.
$CFG->forum_trackreadposts = true;
// Create a user who can track forums.
$record = new stdClass();
$record->trackforums = true;
$user1 = self::getDataGenerator()->create_user($record);
// Create a bunch of other users to post.
$user2 = self::getDataGenerator()->create_user();
$user3 = self::getDataGenerator()->create_user();
$user4 = self::getDataGenerator()->create_user();
// Set the first created user to the test user.
self::setUser($user1);
// Create courses to add the modules.
$course1 = self::getDataGenerator()->create_course();
$course2 = self::getDataGenerator()->create_course();
// First forum with tracking off.
$record = new stdClass();
$record->course = $course1->id;
$record->trackingtype = FORUM_TRACKING_OFF;
$forum1 = self::getDataGenerator()->create_module('forum', $record);
// Second forum of type 'qanda' with tracking enabled.
$record = new stdClass();
$record->course = $course2->id;
$record->type = 'qanda';
$record->trackingtype = FORUM_TRACKING_FORCED;
$forum2 = self::getDataGenerator()->create_module('forum', $record);
// Add discussions to the forums.
$record = new stdClass();
$record->course = $course1->id;
$record->userid = $user1->id;
$record->forum = $forum1->id;
$discussion1 = self::getDataGenerator()->get_plugin_generator('mod_forum')->create_discussion($record);
$record = new stdClass();
$record->course = $course2->id;
$record->userid = $user2->id;
$record->forum = $forum2->id;
$discussion2 = self::getDataGenerator()->get_plugin_generator('mod_forum')->create_discussion($record);
// Add three replies to the discussion 1 from different users.
$record = new stdClass();
$record->discussion = $discussion1->id;
$record->parent = $discussion1->firstpost;
$record->userid = $user2->id;
$discussion1reply1 = self::getDataGenerator()->get_plugin_generator('mod_forum')->create_post($record);
$record->parent = $discussion1reply1->id;
$record->userid = $user3->id;
$discussion1reply2 = self::getDataGenerator()->get_plugin_generator('mod_forum')->create_post($record);
$record->userid = $user4->id;
$discussion1reply3 = self::getDataGenerator()->get_plugin_generator('mod_forum')->create_post($record);
// Add two replies to discussion 2 from different users.
$record = new stdClass();
$record->discussion = $discussion2->id;
$record->parent = $discussion2->firstpost;
$record->userid = $user1->id;
$discussion2reply1 = self::getDataGenerator()->get_plugin_generator('mod_forum')->create_post($record);
$record->parent = $discussion2reply1->id;
$record->userid = $user3->id;
$discussion2reply2 = self::getDataGenerator()->get_plugin_generator('mod_forum')->create_post($record);
// Check the forums were correctly created.
$this->assertEquals(2, $DB->count_records_select('forum', 'id = :forum1 OR id = :forum2',
array('forum1' => $forum1->id, 'forum2' => $forum2->id)));
// Check the discussions were correctly created.
$this->assertEquals(2, $DB->count_records_select('forum_discussions', 'forum = :forum1 OR forum = :forum2',
array('forum1' => $forum1->id, 'forum2' => $forum2->id)));
// Check the posts were correctly created, don't forget each discussion created also creates a post.
$this->assertEquals(7, $DB->count_records_select('forum_posts', 'discussion = :discussion1 OR discussion = :discussion2',
array('discussion1' => $discussion1->id, 'discussion2' => $discussion2->id)));
// Enrol the user in the first course.
$enrol = enrol_get_plugin('manual');
// Following line enrol and assign default role id to the user.
// So the user automatically gets mod/forum:viewdiscussion on all forums of the course.
$this->getDataGenerator()->enrol_user($user1->id, $course1->id);
// Now enrol into the second course.
// We don't use the dataGenerator as we need to get the $instance2 to unenrol later.
$enrolinstances = enrol_get_instances($course2->id, true);
foreach ($enrolinstances as $courseenrolinstance) {
if ($courseenrolinstance->enrol == "manual") {
$instance2 = $courseenrolinstance;
break;
}
}
$enrol->enrol_user($instance2, $user1->id);
// Assign capabilities to view discussions for forum 2.
$cm = get_coursemodule_from_id('forum', $forum2->cmid, 0, false, MUST_EXIST);
$context = context_module::instance($cm->id);
$newrole = create_role('Role 2', 'role2', 'Role 2 description');
$this->assignUserCapability('mod/forum:viewdiscussion', $context->id, $newrole);
// Create what we expect to be returned when querying the forums.
$expecteddiscussions = array();
$expecteddiscussions[] = array(
'id' => $discussion1->id,
'course' => $discussion1->course,
'forum' => $discussion1->forum,
'name' => $discussion1->name,
'firstpost' => $discussion1->firstpost,
'userid' => $discussion1->userid,
'groupid' => $discussion1->groupid,
'assessed' => $discussion1->assessed,
'timemodified' => $discussion1reply3->created,
'usermodified' => $discussion1reply3->userid,
'timestart' => $discussion1->timestart,
'timeend' => $discussion1->timeend,
'firstuserfullname' => fullname($user1),
'firstuserimagealt' => $user1->imagealt,
'firstuserpicture' => $user1->picture,
'firstuseremail' => $user1->email,
'subject' => $discussion1->name,
'numreplies' => 3,
'numunread' => '',
'lastpost' => $discussion1reply3->id,
'lastuserid' => $user4->id,
'lastuserfullname' => fullname($user4),
'lastuserimagealt' => $user4->imagealt,
'lastuserpicture' => $user4->picture,
'lastuseremail' => $user4->email
);
$expecteddiscussions[] = array(
'id' => $discussion2->id,
'course' => $discussion2->course,
'forum' => $discussion2->forum,
'name' => $discussion2->name,
'firstpost' => $discussion2->firstpost,
'userid' => $discussion2->userid,
'groupid' => $discussion2->groupid,
'assessed' => $discussion2->assessed,
'timemodified' => $discussion2reply2->created,
'usermodified' => $discussion2reply2->userid,
'timestart' => $discussion2->timestart,
'timeend' => $discussion2->timeend,
'firstuserfullname' => fullname($user2),
'firstuserimagealt' => $user2->imagealt,
'firstuserpicture' => $user2->picture,
'firstuseremail' => $user2->email,
'subject' => $discussion2->name,
'numreplies' => 2,
'numunread' => 3,
'lastpost' => $discussion2reply2->id,
'lastuserid' => $user3->id,
'lastuserfullname' => fullname($user3),
'lastuserimagealt' => $user3->imagealt,
'lastuserpicture' => $user3->picture,
'lastuseremail' => $user3->email
);
// Call the external function passing forum ids.
$discussions = mod_forum_external::get_forum_discussions(array($forum1->id, $forum2->id));
$discussions = external_api::clean_returnvalue(mod_forum_external::get_forum_discussions_returns(), $discussions);
$this->assertEquals($expecteddiscussions, $discussions);
// Remove the users post from the qanda forum and ensure they can still see the discussion.
$DB->delete_records('forum_posts', array('id' => $discussion2reply1->id));
$discussions = mod_forum_external::get_forum_discussions(array($forum2->id));
$discussions = external_api::clean_returnvalue(mod_forum_external::get_forum_discussions_returns(), $discussions);
$this->assertEquals(1, count($discussions));
// Call without required view discussion capability.
$this->unassignUserCapability('mod/forum:viewdiscussion', null, null, $course1->id);
try {
mod_forum_external::get_forum_discussions(array($forum1->id));
$this->fail('Exception expected due to missing capability.');
} catch (moodle_exception $e) {
$this->assertEquals('nopermissions', $e->errorcode);
}
// Unenrol user from second course.
$enrol->unenrol_user($instance2, $user1->id);
// Call for the second course we unenrolled the user from, make sure exception thrown.
try {
mod_forum_external::get_forum_discussions(array($forum2->id));
$this->fail('Exception expected due to being unenrolled from the course.');
} catch (moodle_exception $e) {
$this->assertEquals('requireloginerror', $e->errorcode);
}
}
/**
* Test get forum posts
*/
-62
View File
@@ -714,65 +714,3 @@ class core_notes_external extends external_api {
}
}
/**
* Deprecated notes external functions
*
* @package core_notes
* @copyright 2011 Jerome Mouneyrac
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @since Moodle 2.1
* @deprecated Moodle 2.2 MDL-29106 - Please do not use this class any more.
* @see core_notes_external
*/
class moodle_notes_external extends external_api {
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.1
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_notes_external::create_notes_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)
*
* @param array $notes An array of notes to create.
* @return array (success infos and fail infos)
* @since Moodle 2.1
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_notes_external::create_notes()
*/
public static function create_notes($notes = array()) {
return core_notes_external::create_notes($notes);
}
/**
* Returns description of method result value
*
* @return external_description
* @since Moodle 2.1
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_notes_external::create_notes_returns()
*/
public static function create_notes_returns() {
return core_notes_external::create_notes_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function create_notes_is_deprecated() {
return true;
}
}
+3 -301
View File
@@ -746,6 +746,7 @@ class core_user_external extends external_api {
*
* @return external_function_parameters
* @since Moodle 2.2
<<<<<<< HEAD
* @deprecated Moodle 2.5 MDL-38030 - Please do not call this function any more.
* @see core_user_external::get_users_by_field_parameters()
*/
@@ -852,6 +853,8 @@ class core_user_external extends external_api {
*
* @return external_function_parameters
* @since Moodle 2.2
=======
>>>>>>> MDL-49414 webservices: Remove deprecated functions
*/
public static function get_course_user_profiles_parameters() {
return new external_function_parameters(
@@ -1447,304 +1450,3 @@ class core_user_external extends external_api {
}
}
/**
* Deprecated user external functions
*
* @package core_user
* @copyright 2009 Petr Skodak
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not use this class any more.
* @see core_user_external
*/
class moodle_user_external extends external_api {
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_user_external::create_users_parameters()
*/
public static function create_users_parameters() {
return core_user_external::create_users_parameters();
}
/**
* Create one or more users
*
* @param array $users An array of users to create.
* @return array An array of arrays
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_user_external::create_users()
*/
public static function create_users($users) {
return core_user_external::create_users($users);
}
/**
* Returns description of method result value
*
* @return external_description
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_user_external::create_users_returns()
*/
public static function create_users_returns() {
return core_user_external::create_users_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function create_users_is_deprecated() {
return true;
}
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_user_external::delete_users_parameters()
*/
public static function delete_users_parameters() {
return core_user_external::delete_users_parameters();
}
/**
* Delete users
*
* @param array $userids
* @return null
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_user_external::delete_users()
*/
public static function delete_users($userids) {
return core_user_external::delete_users($userids);
}
/**
* Returns description of method result value
*
* @return null
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_user_external::delete_users_returns()
*/
public static function delete_users_returns() {
return core_user_external::delete_users_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function delete_users_is_deprecated() {
return true;
}
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_user_external::update_users_parameters()
*/
public static function update_users_parameters() {
return core_user_external::update_users_parameters();
}
/**
* Update users
*
* @param array $users
* @return null
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_user_external::update_users()
*/
public static function update_users($users) {
return core_user_external::update_users($users);
}
/**
* Returns description of method result value
*
* @return null
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_user_external::update_users_returns()
*/
public static function update_users_returns() {
return core_user_external::update_users_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function update_users_is_deprecated() {
return true;
}
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_user_external::get_users_by_id_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
*
* @param array $userids array of user ids
* @return array An array of arrays describing users
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_user_external::get_users_by_id()
*/
public static function get_users_by_id($userids) {
return core_user_external::get_users_by_id($userids);
}
/**
* Returns description of method result value
*
* @return external_description
* @since Moodle 2.0
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_user_external::get_users_by_id_returns()
*/
public static function get_users_by_id_returns() {
return core_user_external::get_users_by_id_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function get_users_by_id_is_deprecated() {
return true;
}
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.1
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_user_external::get_course_user_profiles_parameters()
*/
public static function get_course_participants_by_id_parameters() {
return core_user_external::get_course_user_profiles_parameters();
}
/**
* Get course participant's details
*
* @param array $userlist array of user ids and according course ids
* @return array An array of arrays describing course participants
* @since Moodle 2.1
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_user_external::get_course_user_profiles()
*/
public static function get_course_participants_by_id($userlist) {
return core_user_external::get_course_user_profiles($userlist);
}
/**
* Returns description of method result value
*
* @return external_description
* @since Moodle 2.1
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_user_external::get_course_user_profiles_returns()
*/
public static function get_course_participants_by_id_returns() {
return core_user_external::get_course_user_profiles_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function get_course_participants_by_id_is_deprecated() {
return true;
}
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @since Moodle 2.1
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_enrol_external::get_enrolled_users_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
*
* @param int $courseid course id
* @param array $options options {
* 'name' => option name
* 'value' => option value
* }
* @return array An array of users
* @since Moodle 2.1
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_enrol_external::get_enrolled_users()
*/
public static function get_users_by_courseid($courseid, $options = array()) {
global $CFG;
require_once($CFG->dirroot . '/enrol/externallib.php');
return core_enrol_external::get_enrolled_users($courseid, $options);
}
/**
* Returns description of method result value
*
* @return external_description
* @since Moodle 2.1
* @deprecated Moodle 2.2 MDL-29106 - Please do not call this function any more.
* @see core_enrol_external::get_enrolled_users_returns()
*/
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();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function get_users_by_courseid_is_deprecated() {
return true;
}
}
-90
View File
@@ -558,96 +558,6 @@ class core_user_externallib_testcase extends externallib_advanced_testcase {
core_user_external::delete_users(array($user1->id, $user2->id));
}
/**
* Test get_users_by_id
*/
public function test_get_users_by_id() {
global $USER, $CFG;
$this->resetAfterTest(true);
$user1 = array(
'username' => 'usernametest1',
'idnumber' => 'idnumbertest1',
'firstname' => 'First Name User Test 1',
'lastname' => 'Last Name User Test 1',
'email' => '[email protected]',
'address' => '2 Test Street Perth 6000 WA',
'phone1' => '01010101010',
'phone2' => '02020203',
'icq' => 'testuser1',
'skype' => 'testuser1',
'yahoo' => 'testuser1',
'aim' => 'testuser1',
'msn' => 'testuser1',
'department' => 'Department of user 1',
'institution' => 'Institution of user 1',
'description' => 'This is a description for user 1',
'descriptionformat' => FORMAT_MOODLE,
'city' => 'Perth',
'url' => 'http://moodle.org',
'country' => 'AU'
);
$user1 = self::getDataGenerator()->create_user($user1);
if (!empty($CFG->usetags)) {
require_once($CFG->dirroot . '/user/editlib.php');
$user1->interests = array('Cinema', 'Tennis', 'Dance', 'Guitar', 'Cooking');
useredit_update_interests($user1, $user1->interests);
}
$user2 = self::getDataGenerator()->create_user();
$context = context_system::instance();
$roleid = $this->assignUserCapability('moodle/user:viewdetails', $context->id);
// Call the external function.
$returnedusers = core_user_external::get_users_by_id(array(
$USER->id, $user1->id, $user2->id));
// We need to execute the return values cleaning process to simulate the web service server.
$returnedusers = external_api::clean_returnvalue(core_user_external::get_users_by_id_returns(), $returnedusers);
// Check we retrieve the good total number of enrolled users + no error on capability.
$this->assertEquals(3, count($returnedusers));
// Do the same call as admin to receive all possible fields.
$this->setAdminUser();
$USER->email = "[email protected]";
// Call the external function.
$returnedusers = core_user_external::get_users_by_id(array(
$USER->id, $user1->id, $user2->id));
// We need to execute the return values cleaning process to simulate the web service server.
$returnedusers = external_api::clean_returnvalue(core_user_external::get_users_by_id_returns(), $returnedusers);
foreach($returnedusers as $enrolleduser) {
if ($enrolleduser['username'] == $user1->username) {
$this->assertEquals($user1->idnumber, $enrolleduser['idnumber']);
$this->assertEquals($user1->firstname, $enrolleduser['firstname']);
$this->assertEquals($user1->lastname, $enrolleduser['lastname']);
$this->assertEquals($user1->email, $enrolleduser['email']);
$this->assertEquals($user1->address, $enrolleduser['address']);
$this->assertEquals($user1->phone1, $enrolleduser['phone1']);
$this->assertEquals($user1->phone2, $enrolleduser['phone2']);
$this->assertEquals($user1->icq, $enrolleduser['icq']);
$this->assertEquals($user1->skype, $enrolleduser['skype']);
$this->assertEquals($user1->yahoo, $enrolleduser['yahoo']);
$this->assertEquals($user1->aim, $enrolleduser['aim']);
$this->assertEquals($user1->msn, $enrolleduser['msn']);
$this->assertEquals($user1->department, $enrolleduser['department']);
$this->assertEquals($user1->institution, $enrolleduser['institution']);
$this->assertEquals($user1->description, $enrolleduser['description']);
$this->assertEquals(FORMAT_HTML, $enrolleduser['descriptionformat']);
$this->assertEquals($user1->city, $enrolleduser['city']);
$this->assertEquals($user1->country, $enrolleduser['country']);
$this->assertEquals($user1->url, $enrolleduser['url']);
if (!empty($CFG->usetags)) {
$this->assertEquals(implode(', ', $user1->interests), $enrolleduser['interests']);
}
}
}
}
/**
* Test update_users
*/
+1 -1
View File
@@ -29,7 +29,7 @@
defined('MOODLE_INTERNAL') || die();
$version = 2016042600.00; // YYYYMMDD = weekly release date of this DEV branch.
$version = 2016042600.01; // YYYYMMDD = weekly release date of this DEV branch.
// RR = release increments - 00 in DEV branches.
// .XX = incremental changes.
-62
View File
@@ -262,65 +262,3 @@ class core_webservice_external extends external_api {
);
}
}
/**
* Deprecated web service related functions
*
* @package core_webservice
* @category external
* @copyright 2011 Jerome Mouneyrac <[email protected]>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @deprecated Moodle 2.2 MDL-29106 - please do not use this class any more.
* @see core_webservice_external
* @since Moodle 2.1
*/
class moodle_webservice_external extends external_api {
/**
* Returns description of method parameters
*
* @return external_function_parameters
* @deprecated Moodle 2.2 - please do not use this function any more.
* @see core_webservice_external::get_site_info_parameters
* @since Moodle 2.1
*/
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
*
* @param array $serviceshortnames of service shortnames - the functions of these services will be returned
* @return array
* @deprecated Moodle 2.2 - please do not use this function any more.
* @see core_webservice_external::get_site_info
* @since Moodle 2.1
*/
public function get_siteinfo($serviceshortnames = array()) {
return core_webservice_external::get_site_info($serviceshortnames);
}
/**
* Returns description of method result value
*
* @return external_single_structure
* @deprecated Moodle 2.2 - please do not use this function any more.
* @see core_webservice_external::get_site_info_returns
* @since Moodle 2.1
*/
public static function get_siteinfo_returns() {
return core_webservice_external::get_site_info_returns();
}
/**
* Marking the method as deprecated.
*
* @return bool
*/
public static function get_siteinfo_is_deprecated() {
return true;
}
}
+7 -8
View File
@@ -518,21 +518,20 @@ class webservice {
* Example of returned value:
* Array
* (
* [moodle_group_create_groups] => Array
* [core_group_create_groups] => Array
* (
* [0] => moodle/course:managegroups
* )
*
* [moodle_enrol_get_enrolled_users] => Array
* [core_enrol_get_enrolled_users] => Array
* (
* [0] => moodle/site:viewparticipants
* [1] => moodle/course:viewparticipants
* [2] => moodle/role:review
* [3] => moodle/site:accessallgroups
* [4] => moodle/course:enrolreview
* [0] => moodle/user:viewdetails
* [1] => moodle/user:viewhiddendetails
* [2] => moodle/course:useremail
* [3] => moodle/user:update
* [4] => moodle/site:accessallgroups
* )
* )
*
* @param int $serviceid service id
* @return array
*/
+1 -1
View File
@@ -373,7 +373,7 @@ class core_webservice_renderer extends plugin_renderer_base {
* ws description object can be 'external_multiple_structure', 'external_single_structure'
* or 'external_value'
*
* Example of documentation for moodle_group_create_groups function:
* Example of documentation for core_group_create_groups function:
* list of (
* object {
* courseid int //id of course
+5
View File
@@ -12,6 +12,11 @@ This information is intended for authors of webservices, not people writing webs
* The xmlrpc server is no longer enabled when the Mobile service is activated.
* Support for the AMF protocol has been dropped completely.
* As Zend Framework has been removed, the webservice_zend_* classes have also been removed.
* Zend_SOAP has been dropped. The native PHP SoapClient and SoapServer classes are now being used instead. WSDL is now
generated by the new class webservice_soap_wsdl. For fault strings, a different error message might be shown depending
on the string returned by the getMessage() method of the thrown exception.
* With Zend_SOAP dropped, moodle_zend_soap_server is now also deprecated.
* As mentioned in the 2.9 notes, deprecated web service functions have now been removed.
=== 3.0 ===
+2 -20
View File
@@ -70,10 +70,10 @@ $context = context_user::instance($USER->id);
// Allow allways to upload files to the draft area, no matter if the user can't manage his own files.
// Files required by other webservices (like mod_assign ones) must be uploaded to the draft area.
if ($filearea === 'private') {
require_capability('moodle/user:manageownfiles', $context);
throw new moodle_exception('privatefilesupload');
}
if ($filearea !== 'private' and $filearea !== 'draft') {
if ($filearea !== 'draft') {
// Do not dare to allow more areas here!
throw new file_exception('error');
}
@@ -136,24 +136,6 @@ if ($filearea == 'draft' && $itemid <= 0) {
// Get any existing file size limits.
$maxareabytes = FILE_AREA_MAX_BYTES_UNLIMITED;
$maxupload = get_user_max_upload_file_size($context, $CFG->maxbytes);
if ($filearea == 'private') {
// Private files area is limited by $CFG->userquota.
if (!has_capability('moodle/user:ignoreuserquota', $context)) {
$maxareabytes = $CFG->userquota;
}
// Count the size of all existing files in this area.
if ($maxareabytes > 0) {
$usedspace = 0;
$existingfiles = $fs->get_area_files($context->id, 'user', $filearea, false, 'id', false);
foreach ($existingfiles as $file) {
$usedspace += $file->get_filesize();
}
if ($totalsize > ($maxareabytes - $usedspace)) {
throw new file_exception('userquotalimit');
}
}
}
// Check the size of this upload.
if ($maxupload !== USER_CAN_IGNORE_FILE_SIZE_LIMITS && $totalsize > $maxupload) {