Проблема с обновлением до версии 2.6

Проблема с обновлением до версии 2.6

от Alexander Kich -
Количество ответов: 4

Коллеги, добрый день!

Что-то не отвечают мне на английском форуме по поводу обновления с версии 2.2 до 2.6. Подскажите, может кто сталкивался с такой проблемой:

Category path order is incorrect and/or there are missing categories

Debug info:
Error code: codingerror

Stack trace:

  • line 1688 of /lib/navigationlib.php: coding_exception thrown
  • line 1147 of /lib/navigationlib.php: call to global_navigation->load_all_categories()
  • line 3003 of /lib/navigationlib.php: call to global_navigation->initialise()
  • line 791 of /lib/pagelib.php: call to navbar->has_items()
  • line 4 of /theme/sky_high/layout/general.php: call to moodle_page->has_navbar()
  • line 870 of /lib/outputrenderers.php: call to include()
  • line 800 of /lib/outputrenderers.php: call to core_renderer->render_page_layout()
  • line 59 of /course/index.php: call to core_renderer->header()

Помогите. пожалуйста, советом.

В ответ на Alexander Kich

Re: Проблема с обновлением до версии 2.6

от Vadim Tabunshchik -
Изображение пользователя Developers

Что-то не отвечают мне на английском форуме

Потому что эта проблема неоднократно обсуждалась, и обычно сначала пользуются поиском по форумам, прежде чем создавать новую тему.

Решение тут: MDL-34684

В ответ на Vadim Tabunshchik

Re: Проблема с обновлением до версии 2.6

от Alexander Kich -

Вадим, спасибо, я знаю правила форумов и я видел указанную вами ссылочку. Однако, там проблема стоит в статусе "нерешена" грущу

В ответ на Alexander Kich

Re: Проблема с обновлением до версии 2.6

от Vadim Tabunshchik -
Изображение пользователя Developers

там проблема стоит в статусе "нерешена"

Ну так поэтому и не отвечают. улыбаюсь historical bugs
Скрипт пробовали запускать?

<?php

require_once('config.php');

echo 'Starting fix_course_sortorder()...';
fix_course_sortorder();
echo 'done';

Если не поможет, то только вручную искать проблемную категорию и править в базе данных.

Вот тут пробовали решить проблему путем переноса всех курсов в Top-категорию

navigationlib.php из MDL-34684 пробуйте вместо оригинального.

Marko Vidberg added a comment - 05/Apr/13 7:21 PM - edited

To see if your data has this problem, you could run the following sql statement:
SELECT COUNT(*) FROM mdl_course_categories WHERE id=parent
if you get a result other than 0, then you have a problem.

To fix (or rather move any categories that have themselves as parent into a top level category), you could run the following sql statement:
UPDATE mdl_course_categories SET parent=0,depth=1,path=CONCAT('/',id) WHERE id=parent

В ответ на Vadim Tabunshchik

Re: Проблема с обновлением до версии 2.6

от Alexander Kich -

В общем, ни один из описанных способов не помог грущу Я сравнил структуры таблиц и обнаружил, что записи в таблице mdl_course_categories не совпадают. Есть, конечно, и одинаковые записи категорий, но есть и те, которых в принципе не было заведено и я подозреваю, что в таблицу категорий попали названия самих курсов.

Подозрения у меня такие в силу того, что при апгрейде версии 2.6 мудл предупреждает, что будет также обновлена и сама БД и выполняет процедуру апгрейда БД. А вот что она, процедура, делает конкретно с БД - черный ящик.