Заметил, что в IPB 2.2 после удаления непрочитанных ЛС иногда кол-во новых ЛС пользователей уходит в минус. Очень просто воспроизвести эту проблему так: отправить самому себе ЛС, зайти в папку Входящие и не открывая самого сообщения удалить его. Индикатор новых ЛС пользователя при этом уйдёт в минус (если оно до этого было равно нулю).
Я исправил это топором. Открываем sources/lib/func_msg.php, находим:
Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.
Вопрос
2rough4u
Заметил, что в IPB 2.2 после удаления непрочитанных ЛС иногда кол-во новых ЛС пользователей уходит в минус. Очень просто воспроизвести эту проблему так: отправить самому себе ЛС, зайти в папку Входящие и не открывая самого сообщения удалить его. Индикатор новых ЛС пользователя при этом уйдёт в минус (если оно до этого было равно нулю).
Я исправил это топором. Открываем sources/lib/func_msg.php, находим:
if ( count($unread) ) { foreach( $unread as $mid => $cnt ) { $this->ipsclass->DB->simple_construct( array( 'update' => 'members', 'set' => "new_msg=new_msg-{$cnt}, show_popup=0", 'where' => "id={$mid}" ) ); $this->ipsclass->DB->simple_exec(); } }Добавляем ниже:
$this->ipsclass->DB->simple_construct( array( 'update' => 'members', 'set' => "new_msg=0", 'where' => "id={$owner_id} AND new_msg < 0" ) ); $this->ipsclass->DB->simple_exec();После внесения этих исправлений желательно выполнить запрос к базе, чтобы нормализовать всех накопившихся на данный момент "минусовых" пользователей:
Если решение уже было - извините.
Ссылка на комментарий
Поделиться на других сайтах
3 ответа на этот вопрос
Рекомендуемые сообщения