From 39b99c6af596752d340633013d97de4370331c31 Mon Sep 17 00:00:00 2001 From: pigui Date: Tue, 3 Feb 2009 15:48:17 +0000 Subject: [PATCH] commiting delete groupmember function MDL-12886 --- group/external.php | 41 +++++++---- webservice/rest/testclient/deletegroup.php | 1 + .../rest/testclient/deletegroupmember.php | 69 +++++++++++++++++++ 3 files changed, 98 insertions(+), 13 deletions(-) create mode 100644 webservice/rest/testclient/deletegroupmember.php diff --git a/group/external.php b/group/external.php index 5fb043949a..09a5b430e7 100644 --- a/group/external.php +++ b/group/external.php @@ -43,6 +43,10 @@ final class group_external extends moodle_external { 'optionalparams' => array( ), 'return' => array('result' => PARAM_BOOL)); + $this->descriptions['tmp_delete_groupmember'] = array( 'params' => array('groupid'=> PARAM_INT, 'userid'=> PARAM_INT), + 'optionalparams' => array( ), + 'return' => array('result' => PARAM_BOOL)); + } /** @@ -68,18 +72,6 @@ final class group_external extends moodle_external { } } - static function tmp_add_groupmember($params){ - - if (has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_SYSTEM))) { - - // @TODO groups_add_member() does not check userid - return groups_add_member($params['groupid'], $params['userid']); - } - else { - throw new moodle_exception('wscouldnotaddgroupmember'); - } - } - static function tmp_get_group($params){ // @TODO: any capability to check? @@ -95,7 +87,7 @@ final class group_external extends moodle_external { } - static function tmp_delete_group($params){ + static function tmp_delete_group($params){ if (has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_SYSTEM))) { @@ -105,9 +97,32 @@ final class group_external extends moodle_external { else { throw new moodle_exception('wscouldnotdeletegroup'); } + } + static function tmp_get_groupmember($params){ + } + static function tmp_add_groupmember($params){ + + if (has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_SYSTEM))) { + + // @TODO groups_add_member() does not check userid + return groups_add_member($params['groupid'], $params['userid']); + } + else { + throw new moodle_exception('wscouldnotaddgroupmember'); + } + } + + static function tmp_delete_groupmember($params){ + if (has_capability('moodle/course:managegroups', get_context_instance(CONTEXT_SYSTEM))) { + + return groups_remove_member($params['groupid'], $params['userid']); + } else { + throw new moodle_exception('wscouldnotremovegroupmember'); + } } + } ?> diff --git a/webservice/rest/testclient/deletegroup.php b/webservice/rest/testclient/deletegroup.php index c139e8e0f2..546b9658c9 100644 --- a/webservice/rest/testclient/deletegroup.php +++ b/webservice/rest/testclient/deletegroup.php @@ -45,6 +45,7 @@ if ($groupid) { $data['groupid'] = $groupid; $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $CFG->serverurl.'/group/tmp_delete_group'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); diff --git a/webservice/rest/testclient/deletegroupmember.php b/webservice/rest/testclient/deletegroupmember.php new file mode 100644 index 0000000000..c1093da84c --- /dev/null +++ b/webservice/rest/testclient/deletegroupmember.php @@ -0,0 +1,69 @@ + + +
+ + + + +
Group id:
User id:
+
+ +serverurl.'/group/tmp_delete_groupmember'); + + + //we are asking for a token + $connectiondata['username'] = 'wsuser'; + $connectiondata['password'] = 'wspassword'; + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $CFG->serverurl.'/user/tmp_get_token'); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, format_postdata($connectiondata)); + $token = curl_exec($ch); + + $data['token'] = $token; + $data['groupid'] = $groupid; + $data['userid'] = $userid; + + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $CFG->serverurl.'/group/tmp_delete_groupmember'); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, format_postdata($data)); + $out = curl_exec($ch); + + $res = basicxml_xml_to_object($out); + + show_object($res->result); + + show_xml ($out); +} else { + echo "

Fill the form first

"; +} + +end_interface(); + +?> -- 2.39.5