Есть такое приложение Trader feedback system, которое позволяет оставлять отзывы на юзеров, но есть у него один существенный косяк - для текста отзыва отведен input с ограничением на количество символов. Мне же нужна возможность оставлять большие длинные отзывы. Как минимум многострочные. Первым делом заменил input на textarea в шаблоне, но это лишь полдела. Например, если не заполнить обязательное поле, то textarea заполняется текстом, где все переносы заменены на <br>.
Глянул в БД. Способ хранения отличается от того, в каком виде хранятся сообщения форума в IPB.
Таблица posts:
Таблица feedback:
Т.е. как видим, в этом приложении любые символы, даже безопасные !, ? превращаются в html-сущности.
Ладно, лезем в код. Файл /admin/applications_addon/other/feedback/modules_public/view/view.php. Функция вставки в БД:
Честно говоря, в коде IPB еще разбираться не доводилось, потому и прошу совета гуру. Как видим, тут текст коммента берется из $this->request. Видимо, IPB это свойство уже каким-то образом очищает от возможных опасных конструкций, а именно превращает все символы в html-сущности без разбору. Нам это не нужно. Посмотрел, как обрабатываются обычные посты и темы. Там используется чистый массив $_POST, который прогоняется через:
IPSText::parseCleanValue( $this->_topicTitle )
Итого, безопасно ли заменить в вышеприведенном коде:
By using this site, you agree to our Terms of Use & We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..
Есть такое приложение Trader feedback system, которое позволяет оставлять отзывы на юзеров, но есть у него один существенный косяк - для текста отзыва отведен input с ограничением на количество символов. Мне же нужна возможность оставлять большие длинные отзывы. Как минимум многострочные. Первым делом заменил input на textarea в шаблоне, но это лишь полдела. Например, если не заполнить обязательное поле, то textarea заполняется текстом, где все переносы заменены на <br>.
Глянул в БД. Способ хранения отличается от того, в каком виде хранятся сообщения форума в IPB.
Таблица posts:
Таблица feedback:
Т.е. как видим, в этом приложении любые символы, даже безопасные !, ? превращаются в html-сущности.
Ладно, лезем в код. Файл /admin/applications_addon/other/feedback/modules_public/view/view.php. Функция вставки в БД:
Честно говоря, в коде IPB еще разбираться не доводилось, потому и прошу совета гуру. Как видим, тут текст коммента берется из $this->request. Видимо, IPB это свойство уже каким-то образом очищает от возможных опасных конструкций, а именно превращает все символы в html-сущности без разбору. Нам это не нужно. Посмотрел, как обрабатываются обычные посты и темы. Там используется чистый массив $_POST, который прогоняется через:
Итого, безопасно ли заменить в вышеприведенном коде:
на
?
И, соответственно, в шаблоне:
<textarea id="comment" class="input_text" style="font-size: 16px;" rows="8" cols="65" name="comment" /><if test="isset($this->request['comment'])">{$this->request[['comment']}</if></textarea>на
<textarea id="comment" class="input_text" style="font-size: 16px;" rows="8" cols="65" name="comment" /><if test="isset($_POST['comment'])">{$_POST['comment']}</if></textarea>?
Заранее спасибо за ответы.