KoVaLsKy 59 Опубликовано 5 августа, 2012 Жалоба Share Опубликовано 5 августа, 2012 все получилось, кроме одного )))) в 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] и сразу у всех отзывов меняется статус при клике на любой Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 6 августа, 2012 Жалоба Share Опубликовано 6 августа, 2012 А что это за неконятное условие: where '" . $reviews['products_id'] . "' = '" . $products_id . "'" Оно ведь смысла не имеет вообще. Должно ведь быть что-то типа: where reviews_id = '".[color=#282828][size=2]$reviews_id[/size][/color]."' [/code] Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 6 августа, 2012 Жалоба Share Опубликовано 6 августа, 2012 та да. я уже как только не пробывал)))) у меня только всему товару сменить статус получается. или всем отзывам стразу(((( Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 6 августа, 2012 Жалоба Share Опубликовано 6 августа, 2012 Саш. получается только для товара сразу для всех отзывов устанавливать. подскажи как 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] тут поменять Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 6 августа, 2012 Жалоба Share Опубликовано 6 августа, 2012 Ну я ж выше написал, что в таком виде какой-то не понятный это запрос. В where что-то непонятное наворочено. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 6 августа, 2012 Жалоба Share Опубликовано 6 августа, 2012 так я и говорю что туда что только не писал. по идее же должно быть что то 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] но не срабатывает Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 7 августа, 2012 Жалоба Share Опубликовано 7 августа, 2012 Так а ссылка как выглядит на переключение. Какой параметр передаётся?! В ссылке для переключения статуса отзыва, по идее, должен быть id номер отзыва и в sql запросе нужно менять статус отзыва по id номеру отзыва. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 7 августа, 2012 Жалоба Share Опубликовано 7 августа, 2012 он и передается. 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 для отключения. так же при нажатии работает выделение строки (товара) желтинким выделяется, т.е параметры в ссылке срабатывают и передается все ок. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 7 августа, 2012 Жалоба Share Опубликовано 7 августа, 2012 в 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] Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 7 августа, 2012 Жалоба Share Опубликовано 7 августа, 2012 action=setstatus Где у Вас код-обработчик для этого action'a?! Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 7 августа, 2012 Жалоба Share Опубликовано 7 августа, 2012 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 Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 7 августа, 2012 Жалоба Share Опубликовано 7 августа, 2012 Это ведь просто вывод лампочек, этого недостаточно. Нужен же ещё обработчик для setstatus Как например в /admin/categories.php код начинается с: case 'setxml' : [/code] Это как раз обработчик параметр setxml, который и переключает XML статус товара. Вот для отзывов надо тоже самое делать. А функция, что выше приводили, она должно быть внутри этого обработчика как раз. Хотя сама функция странная, в ней sql запрос неправильный. Ссылка на сообщение Поделиться на другие сайты
MaZa 10 Опубликовано 31 октября, 2012 Жалоба Share Опубликовано 31 октября, 2012 ...Прошло 3 месяца. Премодерация отзывов ещё не вошла в родной дистрибутив? Если нет то собирается? Если нет то кто-то мне предложит готовое решение за вменяемую цену? :bte: Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 31 октября, 2012 Жалоба Share Опубликовано 31 октября, 2012 Да вроде не собирается. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 31 октября, 2012 Жалоба Share Опубликовано 31 октября, 2012 ...Прошло 3 месяца. Премодерация отзывов ещё не вошла в родной дистрибутив? Если нет то собирается? Если нет то кто-то мне предложит готовое решение за вменяемую цену? :bte: у меня она есть. Ссылка на сообщение Поделиться на другие сайты
MaZa 10 Опубликовано 1 ноября, 2012 Жалоба Share Опубликовано 1 ноября, 2012 Саш, а чё?) Вещь нужная, имхо. Мой магазин бомбят 24 в сутки очень активненько. :( Ковальски, жду предложения в личку ;) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 1 ноября, 2012 Жалоба Share Опубликовано 1 ноября, 2012 А бомбят почему?! Может просто гостям запретить отзывы? Просто что решит модерация, ну будут так же бомбить в админку спамом, что по сути ничего ведь не меняет. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 1 ноября, 2012 Жалоба Share Опубликовано 1 ноября, 2012 А бомбят почему?! Может просто гостям запретить отзывы? Просто что решит модерация, ну будут так же бомбить в админку спамом, что по сути ничего ведь не меняет. Вот ответ: по любому 99% спама который сыпится это иностранный спам. я в данном сучае делаю 2 вещи - заприщаю латиницу в отзыве и ставлю премодерацию. без нее на раскрученных сайтах у меня по 100 сообщений в неделю спама Ссылка на сообщение Поделиться на другие сайты
MaZa 10 Опубликовано 1 ноября, 2012 Жалоба Share Опубликовано 1 ноября, 2012 А бомбят почему?! Может просто гостям запретить отзывы? Просто что решит модерация, ну будут так же бомбить в админку спамом, что по сути ничего ведь не меняет. Премодерация позволит гостям оставлять отзыв без регистрации. Мало кто хочет написать отзыв захочет регистрироваться ради этого в магазине. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 1 ноября, 2012 Жалоба Share Опубликовано 1 ноября, 2012 ну это само собой. я вообще к тому что чище сайт становится. потом не очень лестные отзывы могут оставлять ;-) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 1 ноября, 2012 Жалоба Share Опубликовано 1 ноября, 2012 Может правильнее будет просто поставить каптчу + спам фильтр, т.е. как раз удалять все ссылки из отзыва или ту же латиница. Просто премодерация это ведь дополнительная нагрузка получается, не проще сделать какой-то фильтр при написании отзыва. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 1 ноября, 2012 Жалоба Share Опубликовано 1 ноября, 2012 а в чем нагрузка? встает только 1 доп колонка в БД Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 2 ноября, 2012 Жалоба Share Опубликовано 2 ноября, 2012 Нагрузка во времени, которое придётся тратить на модерацию. Ссылка на сообщение Поделиться на другие сайты
MaZa 10 Опубликовано 2 ноября, 2012 Жалоба Share Опубликовано 2 ноября, 2012 что интересно, капча ведь стоит. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 2 ноября, 2012 Жалоба Share Опубликовано 2 ноября, 2012 Есть просто софт типа хрумера, который многие каптчи распознаёт + ещё сервисы по ручному распознаванию у всяких китайцев, индусов. В принципе, какая-либо текстовая каптча + фильтр например на ссылки должно избавить от спама, в будущих версиях, видимо, появится. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения