Уважаемые пользователи, по техническим причинам загрузка файлов временно недоступна. Приносим извинения за временные неудобства.

Счетчик сообщений работает только в +

У вас есть идея для расширения функциональности phpBB 3.0.x? Расскажите о ней здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: Счетчик сообщений работает только в +

Сообщение HAMMER663 »

Sheer поможешь с костылем?
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 8 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Счетчик сообщений работает только в +

Сообщение Sheer »

Код: Выделить всё

ALTER TABLE phpbb_users ADD user_old_posts MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER user_posts;
UPDATE phpbb_users SET user_old_posts = user_posts WHERE user_id <> 1;
includes/ucp/ucp_pm_viewmessage.php
Найти

Код: Выделить всё

	get_user_rank($user_row['user_rank'], $user_row['user_posts'], $user_row['rank_title'], $user_row['rank_image'], $user_row['rank_image_src']);
Заменить на

Код: Выделить всё

	get_user_rank($user_row['user_rank'], $user_row['user_old_posts'], $user_row['rank_title'], $user_row['rank_image'], $user_row['rank_image_src']);
includes/functions_posting.php
Найти

Код: Выделить всё

			$sql_data[USERS_TABLE]['stat'][] = "user_lastpost_time = $current_time" . (($auth->acl_get('f_postcount', $data['forum_id']) && $post_approval) ? ', user_posts = user_posts + 1' : '');
Заменить на

Код: Выделить всё

			$sql_data[USERS_TABLE]['stat'][] = "user_lastpost_time = $current_time" . (($auth->acl_get('f_postcount', $data['forum_id']) && $post_approval) ? ',user_old_posts = user_posts + 1, user_posts = user_posts + 1' : '');
Найти

Код: Выделить всё

			$sql_data[USERS_TABLE]['stat'][] = "user_lastpost_time = $current_time" . (($auth->acl_get('f_postcount', $data['forum_id']) && $post_approval) ? ', user_posts = user_posts + 1' : '');
Заменить на

Код: Выделить всё

			$sql_data[USERS_TABLE]['stat'][] = "user_lastpost_time = $current_time" . (($auth->acl_get('f_postcount', $data['forum_id']) && $post_approval) ? ',user_old_posts = user_posts + 1, user_posts = user_posts + 1' : '');
includes/mcp/mcp_warn.php
Найти

Код: Выделить всё

		get_user_rank($user_row['user_rank'], $user_row['user_posts'], $rank_title, $rank_img, $rank_img_src);
Заменить на

Код: Выделить всё

		get_user_rank($user_row['user_rank'], $user_row['user_old_posts'], $rank_title, $rank_img, $rank_img_src);
Найти

Код: Выделить всё

		get_user_rank($user_row['user_rank'], $user_row['user_posts'], $rank_title, $rank_img, $rank_img_src);
Заменить на

Код: Выделить всё

		get_user_rank($user_row['user_rank'], $user_row['user_old_posts'], $rank_title, $rank_img, $rank_img_src);
memberlist.php
Найти

Код: Выделить всё

			'SELECT'	=> 'u.user_id, u.group_id as default_group, u.username, u.username_clean, u.user_colour, u.user_rank, u.user_posts, u.user_allow_pm, g.group_id, g.group_name, g.group_colour, g.group_type, ug.user_id as ug_user_id',
Заменить на

Код: Выделить всё

			'SELECT'	=> 'u.user_id, u.group_id as default_group, u.username, u.username_clean, u.user_colour, u.user_rank, u.user_posts, u.user_old_posts, u.user_allow_pm, g.group_id, g.group_name, g.group_colour, g.group_type, ug.user_id as ug_user_id',
viewtopic.php
Найти

Код: Выделить всё

			get_user_rank($row['user_rank'], $row['user_posts'], $user_cache[$poster_id]['rank_title'], $user_cache[$poster_id]['rank_image'], $user_cache[$poster_id]['rank_image_src']);
Заменить на

Код: Выделить всё

			get_user_rank($row['user_rank'], $row['user_old_posts'], $user_cache[$poster_id]['rank_title'], $user_cache[$poster_id]['rank_image'], $user_cache[$poster_id]['rank_image_src']);
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: Счетчик сообщений работает только в +

Сообщение HAMMER663 »

:D Ух. Кажется, работает. Спасибо огромное ;)
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 8 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Счетчик сообщений работает только в +

Сообщение Sheer »

Забыл еще правки в memberlist.php

Код: Выделить всё

			get_user_rank($row['user_rank'], (($row['user_id'] == ANONYMOUS) ? false : $row['user_posts']), $rank_title, $rank_img, $rank_img_src);
на

Код: Выделить всё

			get_user_rank($row['user_rank'], (($row['user_id'] == ANONYMOUS) ? false : $row['user_old_posts']), $rank_title, $rank_img, $rank_img_src);

Код: Выделить всё

	get_user_rank($data['user_rank'], (($user_id == ANONYMOUS) ? false : $data['user_posts']), $rank_title, $rank_img, $rank_img_src);
На

Код: Выделить всё

	get_user_rank($data['user_rank'], (($user_id == ANONYMOUS) ? false : $data['user_old_posts']), $rank_title, $rank_img, $rank_img_src);
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: Счетчик сообщений работает только в +

Сообщение HAMMER663 »

Sheer вот таким запросом я смогу убрать из статистики юзера количество сообщений, оставленные в форумах, где счетчик отключен?

Код: Выделить всё

UPDATE phpbb_posts SET post_postcount = 0 WHERE forum_id = id_форума
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 8 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Счетчик сообщений работает только в +

Сообщение Sheer »

Нет. Надо пересчитывать количество сообщений. Может и можно сочинить хитрый скуль-запрос, но проще написать скрипт, который пересчитает.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: Счетчик сообщений работает только в +

Сообщение HAMMER663 »

Sheer поможешь?)))
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 8 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Счетчик сообщений работает только в +

Сообщение Sheer »

Э.... вообще-то это сделает Синхронизировать счётчики сообщений
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: Счетчик сообщений работает только в +

Сообщение HAMMER663 »

Sheer так я так и делал. Но если я отключаю счетчик в форуме, а потом делаю пересчет статистики - это не помогает
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: Счетчик сообщений работает только в +

Сообщение HAMMER663 »

Sheer заметил, что не всегда производится правильный подсчет сообщений. Например, я вижу пользователя, который оставил 3 сообщения, а у него все равно ноль показывает.
Может это связано с тем, что юзер сначала был в группе Новых пользователей, а по написанию определенного количества сообщений перешел в группу зарегистрированных?
Или все дело в правах доступа?
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11372
Стаж: 16 лет 9 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Счетчик сообщений работает только в +

Сообщение Пчелкин »

Если в правах новых стоит форумное НЕ СЧИТАТЬ - усе... Количество потеряно навсегда, даж после перехода в основную... Тож заметил... Все посты в секретном подфоруме с правами НЕ СЧИТАТЬ даж после переноса этих потайных тем в нормальный подфорум - счетчик не подхватывает все равно... Почему - фиг его знает...

Добавлено спустя 1 минуту 17 секунд:
Я это заметил когда на одном форуме для новеньких делали чтоб контрольные 5 постов ими были написаны именно только в одном нужном подфоруме...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: Счетчик сообщений работает только в +

Сообщение HAMMER663 »

Пчелкин в правах для новых установлено Счётчик сообщений включён: НЕТ. А для зарегистрированных ДА. В итоге счетчик вроде должен считать-то.
И трассировка так говорит.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 8 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Счетчик сообщений работает только в +

Сообщение Sheer »

Лениво вдаваться в дебри, может тупо написать скрипт, который пересчитает все посты пользователя?
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: Счетчик сообщений работает только в +

Сообщение HAMMER663 »

Sheer так надо этот скрипт постоянно запускать? Или как? Что конкретно ты предлагаешь?
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 8 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Счетчик сообщений работает только в +

Сообщение Sheer »

Ну по идее только один раз, чтобы привести в соответствие количество постов. То есть подсчитать их из таблицы postsи записать в users. Дальше потом все должно работать корректно, то есть количество оставленных сообщений будет правильно записываться в таблицу users
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Вернуться в «Запросы модов для phpBB 3.0.x»