From: Petr Skoda Date: Thu, 5 Nov 2009 22:13:25 +0000 (+0000) Subject: MDL-12886 more external groups api X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=443364ab39f3b768dd6752a2decb466c0cd0ab6c;p=moodle.git MDL-12886 more external groups api --- diff --git a/group/externallib.php b/group/externallib.php index 99fbf847bb..18d81fdf04 100644 --- a/group/externallib.php +++ b/group/externallib.php @@ -427,7 +427,7 @@ class moodle_group_external extends external_api { global $CFG, $DB; require_once("$CFG->dirroot/group/lib.php"); - $params = self::validate_parameters(self::delete_groupmembers_parameters(), array($members=>'members')); + $params = self::validate_parameters(self::delete_groupmembers_parameters(), array('members'=>$members)); $DB->begin_sql(); try { diff --git a/webservice/testclient_forms.php b/webservice/testclient_forms.php index e9e64e66fa..a6a70767c6 100644 --- a/webservice/testclient_forms.php +++ b/webservice/testclient_forms.php @@ -305,3 +305,52 @@ class moodle_group_add_groupmembers_form extends moodleform { 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 + $mform->addElement('text', 'wsusername', 'wsusername'); + $mform->addElement('text', 'wspassword', 'wspassword'); + $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->addElement('hidden', 'function'); + $mform->setType('function', PARAM_SAFEDIR); + + $mform->addElement('hidden', 'protocol'); + $mform->setType('protocol', PARAM_SAFEDIR); + + $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); + + $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; + } +}