Может ли кто-нибудь пролить свет на то, почему я могу заставить это работать.
Я хочу запросить массив, чтобы увидеть, назначена ли для USER->id
, который в данный момент вошел в систему, определенная роль:
$contextroles = get_records_sql("SELECT userid FROM {$CFG->prefix}role_assignments WHERE contextid = 23 AND roleid = 3");
function object2array($object) {
if (is_object($object)) {
foreach ($object as $key => $value) {
$array[$key] = $value;
}
}
else {
$array = $object;
}
return $array;
}
$alloweduser = object2array($contextroles);
if (in_array($USER->id, $alloweduser)) {
echo'Your in<br />';
echo $USER->id.'<br />';
print_r($alloweduser);
}
else{
echo'<br />You do not have permission to acces this database.<br />';
echo $USER->id.'<br />';
print_r($alloweduser);
exit;
}
В настоящее время я получаю этот вывод:
У вас нет прав доступа к этой базе данных.
5410
Array ([7] => stdClass Object([userid] => 7) [9] => объект stdClass ([userid] => 9) [27] => объект stdClass ([userid] => 27) [98] => объект stdClass ([userid] => 98) [203] => stdClass Object ([userid] => 203) [252] => stdClass Object ([userid] => 252) [5410] => stdClass Object ([userid] => 5410))
Как вы видите, 5410 находится в массиве, поэтому доступ к нему запрещен.Заранее спасибо за любую помощь.