draugmot 0 Опубликовано: 18 апреля 2014 Рассказать Опубликовано: 18 апреля 2014 После обновления на 10.2 редактор новостей в админке при попытке добавления новостей в одну из категорий движок стал ругаться на незаполненные доп.поля. Стал выяснять, на что конкретно ругается. Путем добавления после текста уведомления в /modules/inc/editnews.php нехитрой конструкции «+$(this).attr('id')» (кстати, было бы здорово увидеть какую-нибудь реализацию указания места ошибки в следующем релизе, хотя бы такую ), обнаружил что это три активны для этой категории доп.поля типа select. Оказалось, что им по непонятной причине присваивался uid essential, хотя, наскоро проглядев код, я не обнаружил почему для селектов ему присваивается какое бы то ни было значение. По идее, он в этом случае должен быть пустым. Проблему пока вылечил убийством « {$uid}» с 580 строки /modules/inc/xfields.php (собственно, в блоке где задается вывод селектов) — как я понимаю, на работу не должно повлиять Информация из автопроверки: Версия DataLife Engine: 10.2 Тип лицензии скрипта: Лицензия активирована Операционная система: Windows NT 6.1 Версия PHP: 5.3.28 Версия MySQL: 5.1.72-community MySQLi Информация о GD: GD Version: bundled (2.1.0 compatible), FreeType Support: Enabled, FreeType Linkage: with freetype, T1Lib Support: Disabled, GIF Read Support: Enabled, GIF Create Support: Enabled, JPEG Support: Enabled, PNG Support: Enabled, WBMP Support: Enabled, XPM Support: Enabled, XBM Support: Enabled, JIS-mapped Japanese Font Support: Disabled, Module mod_rewrite Неопределено Безопасный режим: Выключен Выделено оперативной памяти: 128M Отключенные функции: Неопределено Максимальный размер загружаемого файла: 30 Mb Размер свободного места на диске: 5.4 Gb Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 18 апреля 2014 Рассказать Опубликовано: 18 апреля 2014 Доп. поле имеющий тип список обязательно к заполнению, и не может быть пустым. Цитата Ссылка на сообщение Поделиться на других сайтах
draugmot 0 Опубликовано: 18 апреля 2014 Рассказать Опубликовано: 18 апреля 2014 Автор Доп. поле имеющий тип список обязательно к заполнению, и не может быть пустым. Так оно и не пустое, естественно. Везде какой-нибудь вариант выбран, пустой опции вообще не предусмотрено. Обязательность заполнения им тоже пробовал отрубать — никакой реакции. Причем эта фигня происходит и с новыми материалами, и при редактировании старых Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 18 апреля 2014 Рассказать Опубликовано: 18 апреля 2014 Так оно и не пустое, естественно. Везде какой-нибудь вариант выбран, пустой опции вообще не предусмотрено. Протестировал на чистом дистрибутиве сейчас специально, никаких проблем в данном вопросе не зафиксировано. Обязательность заполнения им тоже пробовал отрубать — никакой реакции. Каким образом вы это пробовали, если этого пункта и выбора нет если доп. поле имеет тип список. Цитата Ссылка на сообщение Поделиться на других сайтах
draugmot 0 Опубликовано: 18 апреля 2014 Рассказать Опубликовано: 18 апреля 2014 (изменено) Автор Каким образом вы это пробовали, если этого пункта и выбора нет если доп. поле имеет тип список. Руками, проставив единичку в xfields.txt А я, кстати, понял, откуда там этот $uid берется. Там же цикл, foreach. И если перед доп.полем типа «список» было обязательное текстовое доп.поле, оно получит значение $uid из прошлой итерации и, соответственно, присвоит многострадальному блоку с селектом характеристику essential. А проверку оно, естественно, не проходит, потому что эта самая проверка ищет значение для тега с аттрибутом rel="essential", а этот самый аттрибут опциям в селекте не присваивается за ненадобностью. Нет аттрибута — нет искомого значения — проверка не прошла, досвидос. Соответственно, баг должен воспроизвестись если создать обязательное текстовое доп.поле, а после него — доп.поле-список ) Лечиться может либо убиранием $uid из селекта вообще, как сделал я, либо принудительным заданием в этой секции $uid='', либо перефигачивать всю проверку форм ) Изменено 18 апреля 2014 пользователем Драугмот Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 19 апреля 2014 Рассказать Опубликовано: 19 апреля 2014 Описанная вами проблема будет тщательно изучена и если она подтвердится проблема будет устранена в следующей версии скрипта. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 21 апреля 2014 Рассказать Опубликовано: 21 апреля 2014 Проблема подтверждена и будет исправлена в следующей версии скрипта. В принципе то что сделали вы для исправления верно, нужно убрать {$uid} из 580 строки /modules/inc/xfields.php. 2 Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.