使用Web服务API函数挂起Moodle用户

时间:2016-08-31 09:14:31

标签: php curl moodle

我试图通过在PHP中使用Moodle的Web service API functions来暂停Moodle中的用户。 我可以更改firstname等用户字段,但我无法暂停用户。

它总是返回" null"。

这是我的代码:

<?php
$serverurl = "http://localhost/web/moodle/webservice/rest/server.php?wstoken=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&wsfunction=core_user_update_users&moodlewsrestformat=json";
$params = "users[0][id]=4&users[0][preferences][0][type]=suspended&users[0][preferences][0][value]=true";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $serverurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
$response = curl_exec($ch);

print_r($response);

curl_close($ch);
?>

2 个答案:

答案 0 :(得分:1)

暂停用户已添加到MDL-31465中的Web服务,该服务已进入版本3.2。如果您使用的是旧版本并且不想升级,则可以使用core_user_update_users功能并将auth设置为nologin

返回null的API并不表示错误 - 如果出现问题,您将收到更详细的错误。

答案 1 :(得分:0)

与穆迪尔3.7应该工作,但不像上面的示例中那样使用“首选项”,但 使用以下模板:

wsfunction = core_user_update_users&users [0] [id] = 1234&users [0] [suspended] = 1