Joomla 1.0 htmlspecialchars туда и обратно, фронтенд и бэкенд.

Тема в разделе "Программирование", создана пользователем paranoik, 11.09.2009.

  1. Offline

    paranoik Недавно здесь

    Регистрация:
    07.05.2008
    Сообщения:
    20
    Симпатии:
    1
    Пол:
    Мужской
    Собственно, добавил в таблицу jos_users несколько полей текстовых.
    Добавил к классу mosUser те же самые поля.
    Добавил в отдельный файл xxx.html.php эти дополнительные поля в качестве новых элементов формы.
    Подключил как надо этот файл куда надо: registration.html.php (регистрация), admin.content.html.php (управление параметрами из админки), user.html.php (компонент- управление параметрами с фронтэнда).
    Всё супер. Новые поля отлично работают туда и обратно. В БД все заноситься, оттуда все как надо* берется.

    * - Всё, да не все.

    Если я в одно и то же поле ввожу данные, например с кавычками, то из фронтэнда они записываются в базу как обработанные htmlspecialchars дважды:
    ввожу: ООО "Фирма ххххх" в базе вместо ООО "Фирма ххххх" появляется ООО "Фирма ххххх"
    Причем обратно в тот же фронтэнд все выводится нормально, тупо как и в админке, например
    <input type="text" value="<?php if (isset($row->myfield)) echo $row->myfield; ?>" />
    Т.е. обрабатываются 2 раза туда и назад 2 раза. Чё за хрень.

    Из админки - все нормально. В ядре ничего не менял, кроме добавления дополнительных соответствующих var в классе mosUser файла includes/joomla.php.

    Я фшоке. :(
    Где оно 2 раза обрабатывается????
     
  2.  
  3. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
  4. Offline

    paranoik Недавно здесь

    Регистрация:
    07.05.2008
    Сообщения:
    20
    Симпатии:
    1
    Пол:
    Мужской
    Да, спасибо за подсказку, но mosMakeHtmlSafe дополнительно не использовал, а там где вывод данных пользователя, добавлял свои поля по полной аналогии с базовыми.

    Пока проблему решил, твикнув дополнительно класс mosUser.
     

Поделиться этой страницей

Загрузка...