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

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

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

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

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

Сообщение HAMMER663 »

Так. У меня есть поле в бд user_old_posts
оно работает только в +

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

UPDATE phpbb_users SET user_old_posts = user_posts WHERE user_id <> 1;
Этим запросом я заполняю значения user_old_posts значением user_posts.
И как в моем случае это будет выглядеть?
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 8 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

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

Сообщение Sheer »

Наверное так

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

<?php

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();

$sql = 'SELECT user_id FROM '.USERS_TABLE.' WHERE user_id <> 1';
$result = $db->sql_query($sql);

while($data = $db->sql_fetchrow($result))
{
	$sql = 'SELECT COUNT(post_id) AS posts FROM '.POSTS_TABLE.' WHERE poster_id = '.$data['user_id'].'';
	$res = $db->sql_query($sql);
	$posts = (int) $db->sql_fetchfield('posts');
	$db->sql_freeresult($res);
	$sql = 'UPDATE '.USERS_TABLE.' SET user_old_posts = '.$posts.' WHERE user_id = '.$data['user_id'].'';
	$db->sql_query($sql);
}
$db->sql_freeresult($result);
trigger_error('Ok');

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

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

Сообщение HAMMER663 »

Сейчас попробуем

Добавлено спустя 29 минут 23 секунды:
Пересчет вроде сделался. Остается понять поможет ли это в дальнейшем..

Добавлено спустя 12 минут 23 секунды:
Все равно не помогает. после проверки сообщения почему-то не суммирутся к user_old_posts

Добавлено спустя 4 минуты 4 секунды:
Теперь вообще сообщения не прибавляет

Добавлено спустя 2 часа 56 минут 47 секунд:
Еще вот это меня смущает.

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

$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' : '');
Вот тут user_old_posts = user_posts + 1
Получается, что мы прибавляем всегда к user_posts единицу. Но ведь user_posts может уменьшаться. Надо наверное поставить user_old_posts. или не?
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 6 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

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

Сообщение HAMMER663 »

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

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

Сообщение Sheer »

Ну да. Естественно.
Открыть ./includes/mcp/mcp_queue.php
Найти

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

					SET user_posts = user_posts + ' . $user_posts . '
Заменить на

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

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

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

Сообщение HAMMER663 »

Вот оно как. Туда даже и не подумал заглянуть)))

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