1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

1.3.x Перестроение количества сообщений

Тема в разделе "Основные вопросы по XenForo", создана пользователем patrig, 20.04.2014.

Загрузка
  1. patrig

    patrig Местный

    Регистрация:
    11.06.11
    Сообщения:
    221
    Симпатии:
    189
    Версия XF:
    2.0.5
    В общем, такая суть. Можно указать количество сообщений, симпатий и баллов через админку форума.
    Проблема такова. Не обновляется количество сообщений пользователя.
    Приведу пример, у пользователя было 1204 сообщения, через админку я поставил ему 0. Как я думал, в дальнейшем при перестроение кешей, а так же запуск заданий планировщика = все вернется, НО как оказалось нет.

    Заметил это уже давно, еще на 1.2.х. Перестраивал все кеши вручную, запускал все задания планировщика вручную. НИФИГА = так и стоит 0.

    Может быть кто подскажет как пересчитать все сообщения пользователя? Буду благодарен.

    Хочу сразу предупредить, стоит лицензия 1.3.1 = без каких либо дополнений, стилей и прочего ... Так же язык дефолт. НИЧЕГО ВООБЩЕ НЕ СТАВИЛОСЬ.

    Как вариант есть скрипт перестроения лайков ( прикрепил ), может быть кто допишет ... основываясь на него.

    Спасибо.
     

    Вложения:

  2. patrig

    patrig Местный

    Регистрация:
    11.06.11
    Сообщения:
    221
    Симпатии:
    189
    Версия XF:
    2.0.5
    Проблема решена, выполняем запрос:
    Код:
    UPDATE xf_user AS user
    SET message_count = (
        SELECT COUNT(*)
        FROM xf_post AS post
        LEFT JOIN xf_thread AS thread ON (thread.thread_id = post.thread_id)
        WHERE post.user_id = user.user_id
        AND post.message_state = 'visible' AND thread.discussion_state = 'visible'
        GROUP BY post.user_id
    );
    Тему можно закрыть.
     
    MiVa, Zlata Jesen, Mirovinger и ещё 1-му нравится это.

Поделиться этой страницей