Jump to content

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


Recommended Posts

KoVaLsKy

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

в 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]

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

Link to post
Share on other sites
  • Replies 50
  • Created
  • Last Reply

Top Posters In This Topic

  • support

    21

  • KoVaLsKy

    18

  • MaZa

    5

  • redic

    2

Top Posters In This Topic

support

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

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

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

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


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

Link to post
Share on other sites
KoVaLsKy

та да.

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

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

Link to post
Share on other sites
KoVaLsKy

Саш.

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

подскажи как


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]

тут поменять

Link to post
Share on other sites
support

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

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

Link to post
Share on other sites
KoVaLsKy

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

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


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]

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

Link to post
Share on other sites
support

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

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

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

Link to post
Share on other sites
KoVaLsKy

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

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

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

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

Link to post
Share on other sites
KoVaLsKy

в

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]

Link to post
Share on other sites
support

action=setstatus

Где у Вас код-обработчик для этого action'a?!

Link to post
Share on other sites
KoVaLsKy

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

Link to post
Share on other sites
support

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

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

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


case 'setxml' :
[/code]

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

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

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

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

Link to post
Share on other sites
  • 2 months later...

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

Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

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

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

Link to post
Share on other sites

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

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

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

Вот ответ:

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

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

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

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

Link to post
Share on other sites

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

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

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

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

Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

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

Link to post
Share on other sites

Нагрузка во времени, которое придётся тратить на модерацию.

Link to post
Share on other sites

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

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

Link to post
Share on other sites

×
×
  • Create New...