Учет постов только из нужных разделов

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
2E3S
phpBB 1.0.0
Сообщения: 3
Стаж: 17 лет 2 месяца

Учет постов только из нужных разделов

Сообщение 2E3S »

Возникла проблема: надо учитать количество постов только из определенных разделов форума (поле 'user_posts'), если это топики (как рейтинг в торрентах). Я нашел в функции submit_post (includes/functions_posting.php) строчки, добавляющие количество постов ("user_posts = user_posts + 1"), получилось даже отключить инкрементирование в ответах (mode==reply), вроде работает и отключение учета за топики в ненужных разделах форума. Но у меня не получилось сделать обратное: отключить декрементирование количества сообщений за удаленные посты (везде) и топики (в ненужных разделах).
В includes/functions_admin.php простым поиском по директории удалось найти строчки c user_posts только вот тут (функция delete_posts):

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

	// Adjust users post counts
	if (sizeof($post_counts) && $post_count_sync)
	{
		foreach ($post_counts as $poster_id => $substract)
		{
			$sql = 'UPDATE ' . USERS_TABLE . '
				SET user_posts = 0
				WHERE user_id = ' . $poster_id . '
				AND user_posts < ' . $substract;
			$db->sql_query($sql);

			$sql = 'UPDATE ' . USERS_TABLE . '
				SET user_posts = user_posts - ' . $substract . '
				WHERE user_id = ' . $poster_id . '
				AND user_posts >= ' . $substract;
			$db->sql_query($sql);
		}
	}
Но в этом месте мой моск взорвался, сорри. Непонятно, как учитывать, топик ли это или пост удаляется. И куда эту $substract девать, что с ней делать. Может, кто-то сталкивался уже с этим?
В админке я не нашел настроек таких, а если таковые имеются - позор на мою голову :) Просто, как я узнал, в phpBB2 мод был отдельный.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 454 раза

Re: Учет постов только из нужных разделов

Сообщение Палыч »

2E3S писал(а):Возникла проблема: надо учитать количество постов только из определенных разделов форума
А что, просто отключить счётчик постов в нужных форумах через админку - не катит?
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
2E3S
phpBB 1.0.0
Сообщения: 3
Стаж: 17 лет 2 месяца

Re: Учет постов только из нужных разделов

Сообщение 2E3S »

Палыч: благодарю за ответ, но все равно надо сделать так, чтоб и никакие посты в темах не учитывались, кроме первого, при удалении и при добавлении.
Аватара пользователя
darkdefender
phpBB 1.0.0
Сообщения: 2
Стаж: 17 лет 2 месяца

Re: Учет постов только из нужных разделов

Сообщение darkdefender »

Самый простой вариант - просто задать статичный массив, с идами или названиями форумов, в функции постинга, где инкрементируется количество сообщений пользователя, проверять по имени/иду форума ;)
Если писать это конечно =)
Shadow
phpBB 2.0.0
Сообщения: 211
Стаж: 20 лет 10 месяцев
Откуда: Новосибирск

Re: Учет постов только из нужных разделов

Сообщение Shadow »

Палыч писал(а):
2E3S писал(а):Возникла проблема: надо учитать количество постов только из определенных разделов форума
А что, просто отключить счётчик постов в нужных форумах через админку - не катит?
Как? Где? Всю админку перерыл - не могу понять где.

Форум 3.0.5
Аватара пользователя
Izya
Former team member
Сообщения: 408
Стаж: 18 лет
Откуда: Абакан, Сибирь
Благодарил (а): 1 раз
Поблагодарили: 28 раз

Re: Учет постов только из нужных разделов

Сообщение Izya »

В форумных правах доступа (вкладка "Разное").
Изображение
Shadow
phpBB 2.0.0
Сообщения: 211
Стаж: 20 лет 10 месяцев
Откуда: Новосибирск

Re: Учет постов только из нужных разделов

Сообщение Shadow »

Спасибо, нашел. Но там "Учтите, что данная установка эффективна только при создании новых сообщений.". А если я щас буду конвертировать двойку в тройку, то все сообщения которые были оставлены на двойке, будут все учтены и считаться не будут только новые.. А как сделать чтобы и старые оставленные сообщения вычитались из общего кол-ва?
Вот допустим есть человек, у него 1000 сообщений. 200 из них оставлено в опред. форуме. Как сделать, чтобы при отключении форума этого, сообщений у человека стало 800, а не осталась тыща. И так чтобы со всеми.
2E3S
phpBB 1.0.0
Сообщения: 3
Стаж: 17 лет 2 месяца

Re: Учет постов только из нужных разделов

Сообщение 2E3S »

darkdefender писал(а):Самый простой вариант - просто задать статичный массив, с идами или названиями форумов, в функции постинга, где инкрементируется количество сообщений пользователя, проверять по имени/иду форума ;)
Если писать это конечно =)
Нет нет. Тут ключевая проблема в декремнтировании.Надо отключить декрементирование за удаление любого поста кроме первого. Инкрементирование я уже сделал, чтоб учитывалось нужное.
По ходу эту фишку еще никто не просек :)
6a6ka
phpBB 1.0.0
Сообщения: 1
Стаж: 17 лет 6 месяцев
Откуда: Беларусь

Re: Учет постов только из нужных разделов

Сообщение 6a6ka »

Спасение утопающих дело рук самих утопающих :)
Я как-то начал учить пхп, ява итд, так в принципе можно написать скрипт, в который вбиваешь ид форума, он смотрит ид темы и ид автора мессаги, далее отнимает у людей с этим ид сообщение. И так парсит БД, правда повторный запуск скрипта о5 отнимет сообщения :)
Неплохо было бы реализовать это как модуль - еще одна колонка в таблице сообщений, где указано, учитывается ли сообщение.
tantany
phpBB 1.0.0
Сообщения: 2
Стаж: 16 лет 9 месяцев

Re: Учет постов только из нужных разделов

Сообщение tantany »

В форумных правах доступа (вкладка "Разное").
ну никак не могу найти. есть раздел ФОРУМЫ и в нем ДОСТУП К ФОРУМАМ ... и ФОРУМНЫЕ ПРАВА ГРУПП. но нету раздела РАЗНОЕ и нет ни слова о сообщениях.
а еще есть в администраторском разделе ПРАВА ДОСТУПА. но там тоже нет раздела РАЗНОЕ и нет ни слова о сообщениях.

или я не там смотрю. пожалуйста, можно подробнее???
Shredder
Former team member
Сообщения: 2266
Стаж: 17 лет 9 месяцев
Благодарил (а): 283 раза
Поблагодарили: 584 раза

Re: Учет постов только из нужных разделов

Сообщение Shredder »

Не там смотришь.
Форумные права пользователей или групп, далее выбираешь нужную группу или пользователя, далее нужный форум, и уже потом, при нажатии на "Расширенные права" (справа) будет вкладка Разное.

Вернуться в «Для авторов (phpBB 3.0.x)»