]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-12886 more external groups api
authorPetr Skoda <skodak@moodle.org>
Thu, 5 Nov 2009 22:13:25 +0000 (22:13 +0000)
committerPetr Skoda <skodak@moodle.org>
Thu, 5 Nov 2009 22:13:25 +0000 (22:13 +0000)
group/externallib.php
webservice/testclient_forms.php

index 99fbf847bbd94fb2c018a9bb260b4959c9b7103d..18d81fdf04ac1b69d57bd463566ee540ccc36a68 100644 (file)
@@ -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 {
index e9e64e66faf9599b4b6dbb51466f0cc41be961bf..a6a70767c64f406fdbd5d207c030d9052ec93c5c 100644 (file)
@@ -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;
+    }
+}