Используйте has_capabilty в MoodlePhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Используйте has_capabilty в Moodle

Сообщение Anonymous »

Сейчас пытаюсь работать с правами доступа в своем плагине блока.
Moodle версии 4.3.7
Файл находится в папке groups/lbtb/
Для этого я ввел в access.php следующее:
$capabilities = array(

'block/lbtb:canreadlbtbblock' => array(
'captype' => 'read',
'contextlevel' => CONTEXT_SYSTEM,
'archetypes' => array(
'editingteacher' => CAP_ALLOW,
'manager' => CAP_ALLOW
),
),

'block/lbtb:canwritelbtbblock' => array(
'riskbitmask' => RISK_SPAM | RISK_XSS,

'captype' => 'write',
'contextlevel' => CONTEXT_BLOCK,
'archetypes' => array(
'editingteacher' => CAP_ALLOW,
'manager' => CAP_ALLOW
),
),

);
Я хотел бы включить запрос с помощью has_capability.
Вот как выглядит мой файл, в котором я хочу выполнить запрос :
use core_external\util as external_util;
require_once(__DIR__ . '/../../config.php');
class block_lbtb extends block_base {
function init() {
$this->title = get_string('pluginname', 'block_lbtb');
}

function has_config(){
return true;
}

public function get_content() {
global $DB, $CFG, $OUTPUT;
if ($this->content !== NULL) {
return $this->content;
}

$this->content = new stdClass;

// Add logic here to define your template data or any other content.

$getswconfig = get_config('block_lbtb', 'sw');
$getszconfig = get_config('block_lbtb', 'sz');

$contextblock = context_system::instance();

if (has_capabilty('block/lbtb:canwritelbtbblock', $contextblock)) {
$visibility = '';
} else {
$visibility = 'display: none;';
}

if ($getswconfig == 0) {
$getsw = 'lbtbbuttongreen';
} else {
$getsw = 'lbtbbuttonred';
}

if ($getszconfig == 0) {
$getsz = 'lbtbbuttongreen';
} else {
$getsz = 'lbtbbuttonred';
}

$data = [
'buttoncolorsw' => $getsw,
'buttoncolorsz' => $getsz,
'visibility' => $visibility,
];

$this->content->text = $OUTPUT->render_from_template('block_lbtb/content', $data);

return $this->content;
}
}

Я получаю следующую ошибку:
Fehler: Call to undefined function has_capabilty()

Информация об отладке:
Код ошибки: GeneralExceptionmessage
Трассировка стека:
строка 34 файла /blocks/lbtb/block_lbtb.php: ошибка
Строка 34:
if (has_capabilty('block/lbtb:canreadlbtbblock', $contextblock)) {


Подробнее здесь: https://stackoverflow.com/questions/784 ... -in-moodle
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»