Перейти к содержанию
Форум поддержки пользователей VamShop

Премодерация отзывов и вопросов


Рекомендуемые сообщения

все получилось, кроме одного ))))

в general.php


function vam_set_status($reviews_id, $status) {
if ($status == '1') {
return vam_db_query("update " . TABLE_REVIEWS . " set reviews_status = '1' where '" . $reviews['products_id'] . "' = '" . $products_id . "'");
} elseif ($status == '0') {
return vam_db_query("update " . TABLE_REVIEWS . " set reviews_status = '0' where '" . $reviews['products_id'] . "' = '" . $products_id . "'");
} else {
return -1;
}
}
[/CODE]

и сразу у всех отзывов меняется статус при клике на любой

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 50
  • Created
  • Последний ответ

Top Posters In This Topic

  • support

    21

  • KoVaLsKy

    18

  • MaZa

    5

  • redic

    2

А что это за неконятное условие:

where '" . $reviews['products_id'] . "' = '" . $products_id . "'"

Оно ведь смысла не имеет вообще.

Должно ведь быть что-то типа:


where reviews_id = '".[color=#282828][size=2]$reviews_id[/size][/color]."'
[/code]

Ссылка на сообщение
Поделиться на другие сайты

та да.

я уже как только не пробывал))))

у меня только всему товару сменить статус получается. или всем отзывам стразу((((

Ссылка на сообщение
Поделиться на другие сайты

Саш.

получается только для товара сразу для всех отзывов устанавливать.

подскажи как


return vam_db_query("update " . TABLE_REVIEWS . " set reviews_status = '1' where '" . $reviews['products_id'] . "' = '" . $products_id . "'");
} elseif ($status == '0') {
return vam_db_query("update " . TABLE_REVIEWS . " set reviews_status = '0' where '" . $reviews['products_id'] . "' = '" . $products_id . "'");
[/CODE]

тут поменять

Ссылка на сообщение
Поделиться на другие сайты

Ну я ж выше написал, что в таком виде какой-то не понятный это запрос.

В where что-то непонятное наворочено.

Ссылка на сообщение
Поделиться на другие сайты

так я и говорю что туда что только не писал.

по идее же должно быть что то


return vam_db_query("update " . TABLE_REVIEWS . " set reviews_status = '1' where products_id = '" . [color=#282828][size=2]$reviews[/size][/color][color=#282828][size=2][[/size][/color][color=#282828][size=2]'products_id'[/size][/color][color=#282828][size=2]][/size][/color] . "'");
} elseif ($status == '0') {
return vam_db_query("update " . TABLE_REVIEWS . " set reviews_status = '0' where products_id = '" . [color=#282828][size=2]$reviews[/size][/color][color=#282828][size=2][[/size][/color][color=#282828][size=2]'products_id'[/size][/color][color=#282828][size=2]][/size][/color] . "'");
[/CODE]

но не срабатывает

Ссылка на сообщение
Поделиться на другие сайты

Так а ссылка как выглядит на переключение.

Какой параметр передаётся?!

В ссылке для переключения статуса отзыва, по идее, должен быть id номер отзыва и в sql запросе нужно менять статус отзыва по id номеру отзыва.

Ссылка на сообщение
Поделиться на другие сайты

он и передается.

http://сайт.ru/admin/reviews.php?page=1&action=setstatus&flagstatus=1&rID=34

для включения

и

http://сайт.ru/admin/reviews.php?page=1&action=setstatus&flagstatus=0&rID=34

для отключения.

так же при нажатии работает выделение строки (товара) желтинким выделяется, т.е параметры в ссылке срабатывают и передается все ок.

Ссылка на сообщение
Поделиться на другие сайты

в

general.php


function vam_set_status($reviews_id, $status) {
if ($status == '1') {
return vam_db_query("update " . TABLE_REVIEWS . " set reviews_status = '1' where reviews_id = '".(int)$_GET['reviews_id']."'");
} elseif ($status == '0') {
return vam_db_query("update " . TABLE_REVIEWS . " set reviews_status = '0' where reviews_id = '".(int)$_GET['reviews_id']."'");
} else {
return -1;
}
}
[/CODE]

Ссылка на сообщение
Поделиться на другие сайты

if ($reviews_status['reviews_status'] == '1') {

echo vam_image(DIR_WS_IMAGES . 'icon_status_green.gif', IMAGE_ICON_STATUS_GREEN, 10, 10) . ' <a href="' . vam_href_link(FILENAME_REVIEWS, vam_get_all_get_params(array('action','rID',)) . 'action=setstatus&flagstatus=0&rID=' . $reviews['reviews_id']). '">' . vam_image(DIR_WS_IMAGES . 'icon_status_red_light.gif', IMAGE_ICON_STATUS_RED_LIGHT, 10, 10) . '</a>';

} else {

echo '<a href="' . vam_href_link(FILENAME_REVIEWS, vam_get_all_get_params(array('action', 'rID')) . 'action=setstatus&flagstatus=1&rID=' . $reviews['reviews_id']). '">' . vam_image(DIR_WS_IMAGES . 'icon_status_green_light.gif', IMAGE_ICON_STATUS_GREEN_LIGHT, 10, 10) . '</a> ' . vam_image(DIR_WS_IMAGES . 'icon_status_red.gif', IMAGE_ICON_STATUS_RED, 10, 10);

}

это в reviews.php

Ссылка на сообщение
Поделиться на другие сайты

Это ведь просто вывод лампочек, этого недостаточно.

Нужен же ещё обработчик для setstatus

Как например в /admin/categories.php код начинается с:


case 'setxml' :
[/code]

Это как раз обработчик параметр setxml, который и переключает XML статус товара.

Вот для отзывов надо тоже самое делать.

А функция, что выше приводили, она должно быть внутри этого обработчика как раз.

Хотя сама функция странная, в ней sql запрос неправильный.

Ссылка на сообщение
Поделиться на другие сайты
  • 2 months later...

...Прошло 3 месяца. Премодерация отзывов ещё не вошла в родной дистрибутив? Если нет то собирается? Если нет то кто-то мне предложит готовое решение за вменяемую цену? :bte:

Ссылка на сообщение
Поделиться на другие сайты

...Прошло 3 месяца. Премодерация отзывов ещё не вошла в родной дистрибутив? Если нет то собирается? Если нет то кто-то мне предложит готовое решение за вменяемую цену? :bte:

у меня она есть.

Ссылка на сообщение
Поделиться на другие сайты

Саш, а чё?) Вещь нужная, имхо. Мой магазин бомбят 24 в сутки очень активненько. :(

Ковальски, жду предложения в личку ;)

Ссылка на сообщение
Поделиться на другие сайты

А бомбят почему?!

Может просто гостям запретить отзывы?

Просто что решит модерация, ну будут так же бомбить в админку спамом, что по сути ничего ведь не меняет.

Ссылка на сообщение
Поделиться на другие сайты

А бомбят почему?!

Может просто гостям запретить отзывы?

Просто что решит модерация, ну будут так же бомбить в админку спамом, что по сути ничего ведь не меняет.

Вот ответ:

по любому 99% спама который сыпится это иностранный спам.

я в данном сучае делаю 2 вещи - заприщаю латиницу в отзыве

и ставлю премодерацию.

без нее на раскрученных сайтах у меня по 100 сообщений в неделю спама

Ссылка на сообщение
Поделиться на другие сайты

А бомбят почему?!

Может просто гостям запретить отзывы?

Просто что решит модерация, ну будут так же бомбить в админку спамом, что по сути ничего ведь не меняет.

Премодерация позволит гостям оставлять отзыв без регистрации. Мало кто хочет написать отзыв захочет регистрироваться ради этого в магазине.

Ссылка на сообщение
Поделиться на другие сайты

ну это само собой.

я вообще к тому что чище сайт становится. потом не очень лестные отзывы могут оставлять ;-)

Ссылка на сообщение
Поделиться на другие сайты

Может правильнее будет просто поставить каптчу + спам фильтр, т.е. как раз удалять все ссылки из отзыва или ту же латиница.

Просто премодерация это ведь дополнительная нагрузка получается, не проще сделать какой-то фильтр при написании отзыва.

Ссылка на сообщение
Поделиться на другие сайты

Есть просто софт типа хрумера, который многие каптчи распознаёт + ещё сервисы по ручному распознаванию у всяких китайцев, индусов.

В принципе, какая-либо текстовая каптча + фильтр например на ссылки должно избавить от спама, в будущих версиях, видимо, появится.

Ссылка на сообщение
Поделиться на другие сайты

×
×
  • Создать...