Проблема с уведомлениями и комментариями

InstantCMS 2.X
#1 5 января 2017 в 01:01
Уже поднимал тему насчет уведомлений, теперь для меня это стало катастрофой. На сайте три десятка фейковых юзеров журналистов с правами модераторов, после каждого оставленного пользователями комментария (1 комментарий) получаю, как администратор, 35!!! уведомлений. И каждое приходится удалять вручную, уведомления остаются даже после удаления комментариев. Кнопка нужна для удаления всех уведомлений за раз, но это только полумеры, печально все.

Очень нужна управляемая система уведомлений с распределением прав, отключением групп, быстрой очисткой. Чтобы не получать тонны спама от своего же сайта из-за спамного коммента или недоступного видео.

Затрону еще тему комментариев.
Комменты для гостей можно, а капчи нет — это как так? Как дверь с замком, но без петель.
Было решение от пользователя Михаил по добавлению капчи к форме комментариев для гостей instantcms.ru/forum/thread24538-1.html, н с 2.6.1 это не работает.

Создаете что-то глобальное, например связи типов контента, нужное только определенному кругу разработчиков и для определенных целей, а о простых юзерах с простыми сайтами забываете. Имхо.

Может взялся бы кто из разработчиков за решение этих проблем, может сбор организовать надо?

Друзья, нужна ли кому (кроме меня) управляемая система уведомлений и капча в комментариях для гостей?
#2 5 января 2017 в 02:46
Делал для себя кнопку удаления уведомлений. Если хотите, можете сделать по инструкции, там делов то — пара кликов.

1. В файле \templates\default\controllers\messages\notices.tpl.php ПЕРЕД строчкой <div id="pm_notices_list"> вставляете
  1. <br/> <?php echo html_button('Очистить уведомления', 'clr', "icms.messages.noticeAction(1, 'clear')", array('class'=>'button-small nyroModalClose')); ?>
2. В файле \system\controllers\messages\actions\notice_action.php строчку if ($notice['user_id'] != $this->cms_user->id){ меняете на if ($notice['user_id'] != $this->cms_user->id && $action_name != 'clear'){
затем ПЕРЕД строчкой if ($action_name == 'close' && $notice['options']['is_closeable']){ вставляете
  1. if ($action_name == 'clear'){
  2. $result = array(
  3. 'error' => false
  4. );
  5.  
  6. $this->model->clearNotices($this->cms_user->id);
  7.  
  8. $this->cms_template->renderJSON($result);
  9. }
3. В файле \system\controllers\messages\model.php перед последней кавычкой } добавляете функцию
  1. public function clearNotices($user_id){
  2.  
  3. $this->filterEqual('user_id', $user_id);
  4.  
  5. return $this->deleteFiltered('cms_users_notices');
  6.  
  7. }
Костыль конечно, но все работает.
#3 5 января 2017 в 03:07

Если хотите, можете сделать по инструкции, там делов то — пара кликов.

deltas
Обязательно сделаю, спасибо за инструкцию!

Сейчас с капчей в комментариях разбираюсь по инструкции Михаила. Одна строчка в инструкции пропущена, но есть в архиве. Все работает в 2.6.1, но не выводится сообщение о незаполненной капче, просто крутится колесико загрузки бесконечно. В файле /system/controllers/comments/actions/submit.php большие изменения с 2.5.1
#4 5 января 2017 в 07:23

Делал для себя кнопку удаления уведомлений. Если хотите, можете сделать по инструкции, там делов то — пара кликов

deltas
Предложите как решение для проблемы на git github.com/instantsoft/icms2/issues/330
#5 5 января 2017 в 09:34
Господа программисты, подскажите. Где ошибка в приведенном ниже коде:
  1.  
  2. if (!$user->is_logged && $enable_capcha)
  3. {
  4. $is_captcha_for_comments_valid = cmsEventsManager::hook('captcha_validate', $this->request);
  5. if (!$is_captcha_for_comments_valid)
  6. {
  7. $result_capcha_invalid = array(
  8. 'error' => 'capcha_invalid',
  9. 'message' => LANG_CAPTCHA_ERROR
  10. );
  11. $template->renderJSON($result_capcha_invalid);
  12. }
  13. }
  14.  
Не выводится сообщение об ошибке при не заполненной капче в комментариях для гостей, хотя капча работает корректно.
В 2.5.1 сообщение выводилось, в 2.6.1 — не работает.
#6 6 января 2017 в 11:58
Вопрос к разработчикам.

Чем вызвано отсутствие капчи в комментариях для гостей. Это обоснованное решение в угоду каких-либо причин, или просто не хватило времени на доработку?
#7 6 января 2017 в 15:46
Pasechnik, вы попробуйте наспамить у себя на сайте. Крайне удивитесь.
#8 6 января 2017 в 17:04

капчи нет — это как так? Как дверь с замком, но без петель.

Pasechnik
А с чего вы решили, что отсутствие видимой капчи означает полное отсутствие защиты от спама?
#9 6 января 2017 в 17:32

А с чего вы решили, что отсутствие видимой капчи означает полное отсутствие защиты от спама?

Loadырь
Так и не решил еще, поэтому спрашиваю уважаемых разработчиков.

Это обоснованное решение в угоду каких-либо причин, или просто не хватило времени на доработку?

Pasechnik

Дорогие друзья, расскажите о предусмотренной защите. Можно в личку, если секрет.
#10 7 января 2017 в 01:05

Дорогие друзья, расскажите о предусмотренной защите. Можно в личку, если секрет.

Pasechnik
Предусмотрена защита по интервалу времени между комментариями гостя. Если спамить один за другим — не получится. Ждать нужное время бот тоже не будет.
#11 7 января 2017 в 06:19

Предусмотрена защита по интервалу времени между комментариями гостя.

deltas
Об этом я знаю, стандартная фишка на большинстве движков + к этому ограничение на количество символов, капча и фильтрация через akismet. Спам может идти из десятков независимых источников, что несколько огорчает жизнь админа.
#12 8 января 2017 в 09:24


Вот эту можете поставить, если есть необходимость. В дополнениях есть и я ставил себе. Работает нормально и не надо цифры и буквы угадывать: instantcms.ru/addons/iphone-captcha.html

Pasechnik
#13 8 января 2017 в 10:18

Вот эту можете поставить, если есть необходимость.

Gudan
У меня работает решение от Михаила: instantcms.ru/forum/thread24538-1.html
Не отображается лишь сообщение об ошибки при некорректном заполнении капчи. Здесь никто не знает в чем дело, видимо решение не популярное. Михаил пропал. sad
#14 9 января 2017 в 08:48

после каждого оставленного пользователями комментария (1 комментарий) получаю, как администратор, 35!!! уведомлений.

Pasechnik
Решение
#15 8 марта 2017 в 08:43
Версия 2.7.1 После модерации сообщений/комментариев одним администратором/модератором, у остальных по прежнему остаются сообщения о необходимости модерации сообщений.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.

Похожие темы

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.