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

Discussion in 'Программирование' started by paranoik, Sep 11, 2009.

  1. Offline

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

    Joined:
    May 7, 2008
    Messages:
    20
    Likes Received:
    1
    Gender:
    Male
    Собственно, добавил в таблицу 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 Недавно здесь => Cпециалист <=

    Joined:
    Apr 13, 2007
    Messages:
    3,685
    Likes Received:
    101
    Gender:
    Male
  4. Offline

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

    Joined:
    May 7, 2008
    Messages:
    20
    Likes Received:
    1
    Gender:
    Male
    Да, спасибо за подсказку, но mosMakeHtmlSafe дополнительно не использовал, а там где вывод данных пользователя, добавлял свои поля по полной аналогии с базовыми.

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

Share This Page

Loading...