]> git.mjollnir.org Git - moodle.git/commitdiff
commiting delete groupmember function
authorpigui <pigui>
Tue, 3 Feb 2009 15:48:17 +0000 (15:48 +0000)
committerpigui <pigui>
Tue, 3 Feb 2009 15:48:17 +0000 (15:48 +0000)
MDL-12886

group/external.php
webservice/rest/testclient/deletegroup.php
webservice/rest/testclient/deletegroupmember.php [new file with mode: 0644]

index 5fb043949af729dc81c5fd662a0baa5d57cd119a..09a5b430e77d0cebfdb0e337a00d180be031f8b9 100644 (file)
@@ -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');
+        }
        }
+
 }
 
 ?>
index c139e8e0f21a8d58a04d8aef2b730b5920ad730c..546b9658c99a2b4af7ba526cd0c7813fadd94ed9 100644 (file)
@@ -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 (file)
index 0000000..c1093da
--- /dev/null
@@ -0,0 +1,69 @@
+<?php
+/**
+ *
+ * Rest Test Client
+ *
+ * @author David Castro Garcia
+ * @author Ferran Recio Calderó
+ * @author Jordi Piguillem
+ */
+
+require_once ('config_rest.php');
+
+$params = array('groupid', 'userid');
+
+foreach ($params as $param) {
+       $$param = (isset($_POST[$param]))?$_POST[$param]:'';
+}
+
+start_interface("Delete group member from a group");
+?>
+
+<form action="deletegroupmember.php" method="post">
+<table border="0">
+    <tr><td>Group id: </td><td><input type="text" name="groupid" value="<?php echo $groupid; ?>"/></td></tr>
+    <tr><td>User id: </td><td><input type="text" name="userid" value="<?php echo $userid; ?>"/></td></tr>
+    <tr><td></td><td><input type="submit" value="Delete"></td></tr>
+</table>
+</form>
+
+<?php
+
+if ($groupid && $userid) {
+
+    var_dump($CFG->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 "<p>Fill the form first</p>";
+}
+
+end_interface();
+
+?>