Midas 0 Опубликовано 24 марта, 2010 Жалоба Share Опубликовано 24 марта, 2010 Добрый день! Мне необходимо активировать возможность использовать HTML в отзывах (но только в админской части). Посмотрел файл admin/reviews.php, нашел там строку vam_db_query("update " . TABLE_REVIEWS_DESCRIPTION . " set reviews_text = '" . vam_db_input($reviews_text) . "' where reviews_id = '" . vam_db_input($reviews_id) . "'"); Вот думаю - наверное в ней надо поправить? Или же в БД все хранится в оригинальном виде, а HTML-код экранируется при выводе на странице? Ссылка на сообщение Поделиться на другие сайты
Bububu 0 Опубликовано 24 марта, 2010 Жалоба Share Опубликовано 24 марта, 2010 Это из "другой оперы". По умолчанию такой возможности в магазине нет и не будет. Если вы хотите доработать на своё усмотрение и иметь возможность редактировать отзывы в админке в HTML-редакторе, то подключите его. Можете посмотреть как это делается, например в файле admin\includes\modules\new_product.php <td valign="top" class="main"><?php echo vam_draw_textarea_field('products_description_' . $languages[$i]['id'], 'soft', '103', '25', (($products_description[$languages[$i]['id']]) ? stripslashes($products_description[$languages[$i]['id']]) : vam_get_products_description($pInfo->products_id, $languages[$i]['id']))); ?><br /><a href="javascript:toggleHTMLEditor('<?php echo 'products_description_' . $languages[$i]['id'];?>');"><?php echo vam_image(DIR_WS_IMAGES . 'icon_popup.gif', TEXT_TOGGLE_EDITOR); ?></a></td> и действуйте по аналогии. Ссылка на сообщение Поделиться на другие сайты
Midas 0 Опубликовано 24 марта, 2010 Автор Жалоба Share Опубликовано 24 марта, 2010 Мне нужен не HTML-редактор в поле ввода, а чтобы тэги не преобразовывались в < ... > Это делает функция htmlspecialchars(), только вот в каком именно месте? Ссылка на сообщение Поделиться на другие сайты
Bububu 0 Опубликовано 24 марта, 2010 Жалоба Share Опубликовано 24 марта, 2010 Нигде никаких преобразований нет. Именной примитив символа преображается в символ в вашем браузере (а как иначе!). Смотри рисунки: 1-й Вводим и сохраняем 2-й Проверяем в БД 3-й Проверяем на выводе 4-й Контроль HTML на выводе Ссылка на сообщение Поделиться на другие сайты
Midas 0 Опубликовано 24 марта, 2010 Автор Жалоба Share Опубликовано 24 марта, 2010 Я говорю о HTML-тэгах (<a href="...">...</a>, <img src="...">, ...), а не о спецсимволах. HTML-код в отзывах запрещен, а мне нужно, чтобы он работал. Ссылка на сообщение Поделиться на другие сайты
Midas 0 Опубликовано 24 марта, 2010 Автор Жалоба Share Опубликовано 24 марта, 2010 Я нашел, где поправить и решил проблему. Заодно избавился от ненужных переносов строк. 1. Файл product_reviews_info.php найти $reviews_text = vam_break_string(htmlspecialchars($reviews['reviews_text']), 60, '-<br />'); заменить на $reviews_text = $reviews['reviews_text']; 2. Файл includes/classes/product.php найти $data_reviews[] = array ('AUTHOR' => $reviews['customers_name'], 'DATE' => vam_date_short($reviews['date_added']), 'RATING' => vam_image('templates/'.CURRENT_TEMPLATE.'/img/stars_'.$reviews['reviews_rating'].'.gif', sprintf(TEXT_OF_5_STARS, $reviews['reviews_rating'])), 'TEXT' => vam_break_string(nl2br(htmlspecialchars($reviews['reviews_text'])), 60, '-<br />')); заменить на $data_reviews[] = array ('AUTHOR' => $reviews['customers_name'], 'DATE' => vam_date_short($reviews['date_added']), 'RATING' => vam_image('templates/'.CURRENT_TEMPLATE.'/img/stars_'.$reviews['reviews_rating'].'.gif', sprintf(TEXT_OF_5_STARS, $reviews['reviews_rating'])), 'TEXT' => nl2br($reviews['reviews_text'])); Ссылка на сообщение Поделиться на другие сайты
Bububu 0 Опубликовано 24 марта, 2010 Жалоба Share Опубликовано 24 марта, 2010 и ещё на выводе сделать в файле includes\modules\product_reviews.php Заменить $data_reviews[] = array ('AUTHOR' => $reviews['customers_name'], 'DATE' => vam_date_short($reviews['date_added']), 'RATING' => vam_image('templates/'.CURRENT_TEMPLATE.'/img/stars_'.$reviews['reviews_rating'].'.gif', sprintf(TEXT_OF_5_STARS, $reviews['reviews_rating'])), 'TEXT' => vam_break_string(htmlspecialchars($reviews['reviews_text']), 60, '-<br />')); На $data_reviews[] = array ('AUTHOR' => $reviews['customers_name'], 'DATE' => vam_date_short($reviews['date_added']), 'RATING' => vam_image('templates/'.CURRENT_TEMPLATE.'/img/stars_'.$reviews['reviews_rating'].'.gif', sprintf(TEXT_OF_5_STARS, $reviews['reviews_rating'])), 'TEXT' => vam_break_string($reviews['reviews_text'], 60, '-<br />')); Ссылка на сообщение Поделиться на другие сайты
Midas 0 Опубликовано 24 марта, 2010 Автор Жалоба Share Опубликовано 24 марта, 2010 Спасибо! Если так правильнее, заменю там. Ссылка на сообщение Поделиться на другие сайты
Bububu 0 Опубликовано 24 марта, 2010 Жалоба Share Опубликовано 24 марта, 2010 Там ещё надо в боксе "отзывы", возможно поправить. Поставь программу http://www.phpexperteditor.com/ Там хороший и правильный поиск по файлам. Для жителей России - она бесплатна. Ссылка на сообщение Поделиться на другие сайты
Bububu 0 Опубликовано 24 марта, 2010 Жалоба Share Опубликовано 24 марта, 2010 Спасибо! Если так правильнее, заменю там. Да нет, у тебя всё верно. Просто ещё в некотроых местах надо править = во всех местах. Вроде бы мы совместно ;) все нашли. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 24 марта, 2010 Жалоба Share Опубликовано 24 марта, 2010 А это не опасно случайно?! Могут ведь всякую какую через отзывы добавлять Вам на сайт, iframe вирусы всякие и т.д. и т.п. Решать конечно Вам, но, на мой взгляд, лучше экранивароть все тэги. По умолчанию так во всяком случае. Ссылка на сообщение Поделиться на другие сайты
Midas 0 Опубликовано 24 марта, 2010 Автор Жалоба Share Опубликовано 24 марта, 2010 А это не опасно случайно?! Могут ведь всякую какую через отзывы добавлять Вам на сайт, iframe вирусы всякие и т.д. и т.п. Нет, не опасно. Я сделал фишку, что мне при добавлении отзыва на емейл сразу же приходит уведомление с текстом отзыва (и ссылками на товар/правку отзыва). Очень удобно, и я всегда в курсе, когда и что там пишут. А почту я проверяю постоянно. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 24 марта, 2010 Жалоба Share Опубликовано 24 марта, 2010 Не знаю, может в Вашем случае конечно и нормально, но я б не рискнул, всё-таки полно ведь всяких спамеров, вирусов и т.д. и т.п. Ссылка на сообщение Поделиться на другие сайты
Midas 0 Опубликовано 24 марта, 2010 Автор Жалоба Share Опубликовано 24 марта, 2010 Это понятно. Просто мне тэги очень нужны ;D Да и против спамеров капча отлично работает. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения