Сейчас пытаюсь работать с правами доступа в своем плагине блока.
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
Используйте has_capabilty в Moodle ⇐ Php
Кемеровские программисты php общаются здесь
1715801832
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)) {
Подробнее здесь: [url]https://stackoverflow.com/questions/78486149/use-has-capabilty-in-moodle[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия