На edu.vstu.ru не работают сканеры!
Originally reported on Google Code with ID 160
Пишет что описаний больше чем лексем в ответе, так что сканер возвращает пустой массив.
В preg подсказка лексемы тоже разладилась.
Запись последнего кода блока не помогает.
Надо СРОЧНО разобраться в причинах и устранить...
Reported by oasychev
on 2012-11-01 12:45:23
Comments (24)
-
reporter -
reporter Обновил poasquestion на последний код - не помогло.
Reported by
oasychev
on 2012-11-04 18:47:43 -
Account Deleted Напишите версию используемого Moodle и PHP. У меня на моей версии все работает, поэтому я не могу исправить эту проблему сейчас.
Reported by
mamontov.dp
on 2012-11-05 05:36:44 -
reporter Moodle 2.3.1 PHP 5.3.8 Но я не уверен, что дело в версиях. У меня тоже все работает на девелоперской машине. А на серваке - нет. Может что-то криво встало и т.д. Поэтому я предлагаю вам в первую очередь заняться отладочной печатью чтобы понять, где проблема.
Reported by
oasychev
on 2012-11-05 10:07:12 -
Account Deleted Очень интересно то, что на странице не выводятся никакие сообщения об ошибках, а также сами описания в поле отсутствуют на уровне страницы. Такое ощущение, что где-то есть ошибка, которая попадает под категорию E_WARNING. Мы можем включить опции отладки PHP в настройках Moodle?
Reported by
mamontov.dp
on 2012-11-05 11:02:39 -
reporter В Moodle можем, в PHP нет.
Reported by
oasychev
on 2012-11-05 12:15:14 -
Account Deleted Собственно, это одно и тоже. Опции отладки в Moodle задают как раз опции отладки в PHP. Просто они там предопределены.
Reported by
mamontov.dp
on 2012-11-05 12:19:05 -
reporter Временно установил опции отладки в Moodle по максимуму. Отпишите, как будут не нужны - сайт все-таки продакшн...
Reported by
oasychev
on 2012-11-05 12:23:21 -
reporter Через день-два сниму в любом случае, но лучше бы побыстрее.
Reported by
oasychev
on 2012-11-05 12:23:45 -
reporter Лично у меня на форме никаких дополнительных сообщений об ошибках при этом не появилось...
Reported by
oasychev
on 2012-11-05 12:25:04 -
Account Deleted Тоже самое у меня. Однако по тому, что ошибка количества лексем выводится, все разбирается и выводится верно, но на поле надписи не появляются. Т.е. конструкция с. 149 ($element->setLabel($newtext);) не отрабатывает, либо в ней оказывется пустой текст. Для дебага стоит попробовать вывести там текст, хотя бы через echo $newtext, а для убедительности сделать print_r($tokens). Отладочный режим уже можно снять.
Reported by
mamontov.dp
on 2012-11-05 12:34:39 -
Account Deleted Поправилюсь: edit_correctwriting_form.php, с. 149.
Reported by
mamontov.dp
on 2012-11-05 12:36:03 -
reporter Я вам и предложил прийти в среду и заняться дебагом. Буду загружать ваш код, а вы смотреть результаты... Я то вам пароль дать не могу. Но вот странно - если б дело было только в метке, она бы не должна была ругаться что описаний больше, чем лексем. Или она при проверке количество лексем из метки берет?!
Reported by
oasychev
on 2012-11-05 12:37:33 -
Account Deleted Нет, валидация от метки никак не зависит. Я к тому, что разбор происходит и лексемы действительно создаются, т.к. код и в заполнении метки и в валидации по созданию языка и разбору идентичен, а значит - что-то не так именно с установкой текста метки. Опять же, это гипотеза. Но да, в среду я обязательно приду.
Reported by
mamontov.dp
on 2012-11-05 12:41:29 -
reporter Так валидация то тоже глючит, такое впечатление что у нее 0 лексем. И preg при запросе подсказки лексемы тоже повис. Мне кажется проблема где-то в интерфейсе блок-вопросы...
Reported by
oasychev
on 2012-11-05 12:44:27 -
Account Deleted Валидация проходит, если её не задавать описания всегда. Это было условием (в таком случае считается, что преподаватель захотел показать описания лексем). Я проверял, задавая описания одной лексемы и остальных. И да, отсутствие изменения размера текстового поля говорит, что проблема именно в этих частях. Еще возможно, что просто не вызывается definition_after_data (т.е. её в версии 2.3.1 нет)
Reported by
mamontov.dp
on 2012-11-05 12:47:50 -
reporter ну я ввел 3 слова и 3 строки в описании - она не сохраняет вопрос, говоря что описаний больше, чем лексем. Это разве не глюк?
Reported by
oasychev
on 2012-11-05 12:51:47 -
Account Deleted Да, это явно глюк. Только что проверил. Так форма себя вести не должна. Особенно, интересно, что первый раз, когда поле было пустым все срабатывало, а вот если брать его вторым - нет.
Reported by
mamontov.dp
on 2012-11-05 12:58:55 -
reporter Переустановка вопроса и блока проблему не решила. Дело не в БД...
Reported by
oasychev
on 2012-11-10 04:30:42 -
reporter Причина в том, что для сканера используется data:// Это оказалось чувствительным к настройкам безопасности сервера. Preg использует библиотеку stringstream, которая по факту на сервере работает. Поэтому блок формальных языков также должен использовать ее. Валерий - предлагаю по этому поводу код stringstream вынести в poasquestion и подключать его всем оттуда, поэтому добавляю вас сюда. Это несложно, пожалуйста - сделайте СРОЧНО. От этого зависит и работоспособность подсказки следующей лексемы при внедрении вашего вопроса тоже...
Reported by
oasychev
on 2012-11-14 13:25:30 -
Account Deleted Я уже добавил stringstream к себе, чтобы восстановить работоспособность. Как только Валерий перенесет его в poasquestion, я в то же время удалю его из своего репозитория.
Reported by
mamontov.dp
on 2012-11-14 15:30:31 -
Сделано
Reported by
vostreltsov
on 2012-11-14 18:15:27 -
Account Deleted С моей стороны тоже все сделано. Осталось только все протестировать на сервере...
Reported by
mamontov.dp
on 2012-11-14 18:27:45 -
reporter Заработало! Всем спасибо. Можно приступать к составлению вопросов для внедрения...
Reported by
oasychev
on 2012-11-15 09:28:17 - Status changed:Done
- Log in to comment
Reported by
oasychev
on 2012-11-01 14:33:59