Добавить элемент или ресурс, id курса всегда 1

Добавить элемент или ресурс, id курса всегда 1

от Vasily Pererva -
Количество ответов: 6

Версия moodle 3.11.2+

Столкнулся с такой проблемой, в курсе с id например 12345 в режиме редактирования, нажимаю "Добавить элемент или ресурс", когда добавлю какой либо элемент, например тест то он добавляется в курс с id=1 а не 12345. Такая проблема во всех курсах. Вот наглядно тут https://yadi.sk/i/fa_jezsuk-8qMQ что id курса 17575 а при появлении модального окна видно что он передает id курса со значением 1.

В чем может быть проблема?

В ответ на Vasily Pererva

Re: Добавить элемент или ресурс, id курса всегда 1

от Evgeniy Schuetz -
Проблемы не вижу. mod.id это не course.id
Тест в результате добавился в курс 12345 или действительно в курс 1??? По скрину, что вы прислали в текущий курс в первую секцию добавляется первый тест.
В ответ на Evgeniy Schuetz

Re: Добавить элемент или ресурс, id курса всегда 1

от Vasily Pererva -
"Тест в результате добавился в курс 12345 или действительно в курс 1???" - не тест, файл но не суть. Да добавился в 1 в итоге.

"mod.id это не course.id" по факту mod.php?id=1 это course.id=1 (в коде копался)
В ответ на Vasily Pererva

Re: Добавить элемент или ресурс, id курса всегда 1

от Evgeniy Schuetz -
Постановка вопроса: "например тест то он добавляется в курс с id=1 а не 12345. Такая проблема во всех курсах. Вот наглядно тут https://yadi.sk/i/fa_jezsuk-8qMQ "
Код со скриншота явно показывает, что работаете с модулем "тест" : data-modname=mod_quiz_http.....", что явно не соответствует утверждению : " не тест, файл но не суть." - по мне так как раз суть.
"Да добавился в 1 в итоге." - т.е. , как вам указали, что course.id=1 - это главная страница сайта и на главной странице у вас теперь, в результате добавления теста в курс 17575 появилось что-то новое (уже и не знаю тест или файл???) ?
В ответ на Vasily Pererva

Re: Добавить элемент или ресурс, id курса всегда 1

от Elena K -

Доброго дня. Нашли вариант решения данное проблемы? У меня после обновления та же самая ошибка.

В ответ на Elena K

Re: Добавить элемент или ресурс, id курса всегда 1

от Elena K -
Если у кого-то ещё возникает данная проблема. Решение было предложено автором данного поста Vasily Pererva
в файле course-> mod.php строка 75 примерно
//check if we are adding / editing a module that has new forms using formslib
if (!empty($add)) {
$id = required_param('id', PARAM_INT);
$section = required_param('section', PARAM_INT);
$type = optional_param('type', '', PARAM_ALPHA);
$returntomod = optional_param('return', 0, PARAM_BOOL);

// bugfix: странный баг, всегда возвращает на курс с id=1, пришлось сделать перехват с какого курса добавляем русурс из реферер.
if ($id==1) {
$exp_gets = explode("&",explode("?",$_SERVER['HTTP_REFERER'])[1]);
foreach($exp_gets as $key => $v){
$_exp = explode("=",$v);
if($_exp[0]=='id'){
$id=(int)$_exp[1];
break;
}
}
}

redirect("$CFG->wwwroot/course/modedit.php?add=$add&type=$type&course=$id&section=$section&return=$returntomod&sr=$sectionreturn");

Даже после обновления до последней версии 3.11.5+ проблема ещё остаётся. Так что данный патч очень актуален, Большое спасибо автору.