[BETA] Democracy MOD 0.2.1 (reputation + warnings + reports)

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Аватара пользователя
Никто
Advanced Lamers Team
Сообщения: 316
Стаж: 19 лет 3 месяца
Откуда: Химки
Забанен: Бессрочно

Сообщение Никто »

justme
не скоро...
Долой edgar'a - самого тупого юзера на форуме!
Rman
phpBB 1.2.1
Сообщения: 23
Стаж: 19 лет 3 месяца

Сообщение Rman »

Мод установил. Всё работает. Одно но.
На главной странице вот такой глюк:

Сообщений с уведомлениями от пользователей: 0
search.php?search_id=newposts" class="gensmall">Найти сообщения с вашего последнего посещения
Найти ваши сообщения
Найти сообщения без ответов

В инструкции по установке:
#
#-----[ FIND ]------------------------------------------
#
'FORUM_LOCKED_IMG' => $images['forum_locked'],
'L_FORUM' => $lang['Forum'],

#
#-----[ AFTER, ADD ]------------------------------------------
#
////////////////democracy//////////////////////
'RESPECTED_USERS' => $l_respected_user_s . $s_respected_user_s,
'U_VIEW_REPORTED' => $u_reported_posts,
///////////////////////////////////////////
----------------------------------------------
У меня между 'FORUM_LOCKED_IMG' => $images['forum_locked'],
И
'L_FORUM' => $lang['Forum'],

уже есть установленные моды.
Но куда бы я не дописывал необходимый код - ошибка всё такая же.
Помогите пожалуйста разобраться.
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 19 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

да надо этот фрагмент из index.php

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

		if ( isset($total_post_reports) )
		{
			$l_reported_posts = $lang['reputation_reported_posts'] . ': ' . ( $total_post_reports == 0 ? '0' : "<b>$total_post_reports</b>" );
			if ( $board_config['reputation_reports_color'] != '' && $total_post_reports > 0 )
			{
				$link_color = ' style="color:#' . $board_config['reputation_reports_color'] . '"';
			}
		}
		else
		{
			$l_reported_posts = $lang['reputation_view_reported_posts'];
		}
		$u_reported_posts = '<a href="' . append_sid("post_report.$phpEx?mode=view") . '" class="gensmall"' . $link_color . '>' . $l_reported_posts . '</a><br />';

переписать так

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

		if ( $total_post_reports > 0 )
		{
			$l_reported_posts = $lang['reputation_reported_posts'] . ': ' . "<b>$total_post_reports</b>";
			if ( $board_config['reputation_reports_color'] != '' )
			{
				$link_color = ' style="color:#' . $board_config['reputation_reports_color'] . '"';
			}
			$u_reported_posts = '<a href="' . append_sid("post_report.$phpEx?mode=view") . '" class="gensmall"' . $link_color . '>' . $l_reported_posts . '</a><br />';
		}
Добавлено спустя 35 минут 54 секунды:
Extremator писал(а):можно ли сделать, чтобы
............
модератор и админ тоже были своего цвета?
можно

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

#
#-----[ OPEN ]----------
#
index.php

#
#-----[ FIND ]----------
#

		$sql = 'SELECT username, user_id, reputation FROM

#
#-----[ IN-LINE FIND ]----------
#
reputation

#
#-----[ IN-LINE AFTER, ADD ]----------
#
, user_level

#
#-----[ FIND ]----------
#
			$respected_user_link = '<b><a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $respect_set[$i]['user_id']) . '">' . $respect_set[$i]['username'] . '</a></b>';

#
#-----[ BEFORE, ADD ]----------
#
			switch ($respect_set[$i]['user_level'])
			{
				case ADMIN :
					$style_color = 'style="color:#' . $theme['fontcolor3'] . '"';
					break;
				case MOD :
					$style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
					break;
				default: $style_color = '';
			}

#
#-----[ IN-LINE FIND ]----------
#
$respect_set[$i]['user_id'])

#
#-----[ IN-LINE AFTER, ADD ]----------
#
 . '" ' . $style_color

#
#-----[ IN-LINE FIND ]----------
#
'">' 

#
#-----[ IN-LINE REPLACE WITH ]----------
#
'>' 

Кстати говоря, почему бы не сделать панель:
Наш самый позорный/презираемый пользователь: (Наши самые позорные/презираемые пользователи:)
Последний раз редактировалось Поручик 20.03.2006 18:57, всего редактировалось 1 раз.
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5426
Стаж: 20 лет 3 месяца
Откуда: Питер
Благодарил (а): 177 раз
Поблагодарили: 749 раз

Сообщение Siava »

Ещё пару предложений для текущей версии 0.1.4:
  • если в каком-нибудь разделе 2 модератора, то второй модератор может редактировать и удалять предупреждения, которые выдавал первый (или администратор). А логичней было бы запретить им редактировать друг у друга.
  • При чтении текста предупреждения (если он, текст, большой), текст расползается по ширине, не переходя на новую строку. Тут наверно в шаблоне подправить надо.
Это пока всё, мог бы и сам поправить, да пока времени на это нет :lol:
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Rman
phpBB 1.2.1
Сообщения: 23
Стаж: 19 лет 3 месяца

Сообщение Rman »

После замены кода в index.php
Ошибка:
Parse error: syntax error, unexpected $end in /home/.............forum/index.php on line 920

Строка 920:
?>
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 19 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

какого кода?
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Rman
phpBB 1.2.1
Сообщения: 23
Стаж: 19 лет 3 месяца

Сообщение Rman »

Который Вы написали на предыдущей странице.
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 19 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

ну если только в последнем коде последние два шага сделать (добавлено только что ). А так косяков больше не вижу
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Extremator
phpBB 1.4.3
Сообщения: 81
Стаж: 19 лет 3 месяца

Сообщение Extremator »

Извеняюсь, может это где-то есть, но чет я не нашел.
Как сделать чтобы в Кто сейчас на форуме, где написано

Наши самые уважаемые пользователи: ХХХ
было бы к примеру 5 человек, а не один у кого больше всего плюсиков.
Аватара пользователя
ETZel
phpBB 1.4.3
Сообщения: 93
Стаж: 19 лет 3 месяца
Откуда: Челябинск

Сообщение ETZel »

Extremator
такого пока нет. в качестве простенького фикса могу предложить

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

#OPEN
index.php
#FIND
$sql = 'SELECT MAX(reputation) AS maxrep FROM ' . USERS_TABLE;
#REPLACE
$sql = 'SELECT reputation AS maxrep FROM ' . USERS_TABLE . ' ORDER BY reputation DESC LIMIT 5,1';
#FIND
AND reputation = ' . $reputation_max['maxrep'];
#REPLACE
AND reputation >= ' . $reputation_max['maxrep'] . ' ORDER BY reputation DESC';
Запросы к БД неприлично медленные, поэтому рекомендую сочетать с кэшированием от Поручика.
Extremator
phpBB 1.4.3
Сообщения: 81
Стаж: 19 лет 3 месяца

Сообщение Extremator »

Так все пашет, спасибо большое ETZel.
А количество человек которое будет отображаться где выставлять?

А теперь еще хочу, чтобы админ и модеры были своего цвета.
:)
Аватара пользователя
ETZel
phpBB 1.4.3
Сообщения: 93
Стаж: 19 лет 3 месяца
Откуда: Челябинск

Сообщение ETZel »

Extremator
Приведенный код работает не всегда правильно. Лучше так:

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

#OPEN 
index.php 
#FIND 
$sql = 'SELECT MAX(reputation) AS maxrep FROM ' . USERS_TABLE; 
#REPLACE 
$sql = 'SELECT reputation AS maxrep FROM ' . USERS_TABLE . ' GROUP BY reputation ORDER BY reputation DESC LIMIT 5';
#FIND
if ( $reputation_max['maxrep'] > 0 )
#BEFORE, ADD
	$reputation_max['maxrep'] = 0;
	while (($row = $db->sql_fetchrow($result)) && $row['maxrep'] > 0)
	{
		$reputation_max = $row;
	}
#FIND 
AND reputation = ' . $reputation_max['maxrep']; 
#REPLACE 
AND reputation >= ' . $reputation_max['maxrep'] . ' ORDER BY reputation DESC'; 
Во втором #REPLACE есть фрагмент LIMIT 5, где 5 - это число верхних позиций рейтинга, который будут показаны.

А раскраску модеров уже реализовал Поручик на предыдущей странице. http://www.phpbbguru.net/community/view ... 7341#77341
Extremator
phpBB 1.4.3
Сообщения: 81
Стаж: 19 лет 3 месяца

Сообщение Extremator »

Еще раз спасибо.
А блин смотрел про цвета, и не заметил, и еще раз спасибо.


Добавлено спустя 1 час 27 минут 2 секунды:

Поручик писал(а):Кстати говоря, почему бы не сделать панель:
Наш самый позорный/презираемый пользователь: (Наши самые позорные/презираемые пользователи:)

И такое хааааааачу.
А еще хааааааачу, чтобы репутация под аватаркой не средне-арифметически высчитывалась, а было рядом сколько плюсиков и сколько минусиков, пример:

место репутация 34 + - - было репутация +23 -11.

Добавлено спустя 3 часа 41 минуту 8 секунд:

Вопросы по кешированию
У меня в файле usercp_reputation.php два раза
message_die(GENERAL_MESSAGE, $lang['reputation_update_successfull']
} // End of submit
и я вставил в первую clear_cache_democracy();
Я правильно зделал???

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

# 
#-----[ OPEN ]------------------------------------------------ 
#
includes/usercp_reputation.php

#
#-----[ FIND ]------------------------------------------------ 
# this is a partial match
#
		message_die(GENERAL_MESSAGE, $lang['reputation_update_successfull'] 
	} // End of submit

#
#-----[ BEFORE, ADD ]------------------------------------------------ 
#
		clear_cache_democracy();
Extremator
phpBB 1.4.3
Сообщения: 81
Стаж: 19 лет 3 месяца

Сообщение Extremator »

ETZel писал(а):Extremator
Приведенный код работает не всегда правильно. Лучше так:

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

#OPEN 
index.php 
#FIND 
$sql = 'SELECT MAX(reputation) AS maxrep FROM ' . USERS_TABLE; 
#REPLACE 
$sql = 'SELECT reputation AS maxrep FROM ' . USERS_TABLE . ' GROUP BY reputation ORDER BY reputation DESC LIMIT 5';
#FIND
if ( $reputation_max['maxrep'] > 0 )
#BEFORE, ADD
	$reputation_max['maxrep'] = 0;
	while (($row = $db->sql_fetchrow($result)) && $row['maxrep'] > 0)
	{
		$reputation_max = $row;
	}
#FIND 
AND reputation = ' . $reputation_max['maxrep']; 
#REPLACE 
AND reputation >= ' . $reputation_max['maxrep'] . ' ORDER BY reputation DESC'; 
Во втором #REPLACE есть фрагмент LIMIT 5, где 5 - это число верхних позиций рейтинга, который будут показаны.

А раскраску модеров уже реализовал Поручик на предыдущей странице. http://www.phpbbguru.net/community/view ... 7341#77341
Не работает LIMIT сколько юзеров имеют плюсики, столько их и показует.
Аватара пользователя
natali
phpBB 2.0.1
Сообщения: 293
Стаж: 19 лет 11 месяцев
Откуда: Киев

Сообщение natali »

прочитал весь топик.

отличный мод (судя по описаниям). после шухера у меня на форуме решил поставить. жёлтые карточки меня не очень радуют, давно не обновлялись.

вопрос - афтар скажи когда будет 15 версия? чтобы там и раскраска была модеров и кеширование (реально юзеров много висит...)

ну и хотел бы сказать ОГРОМНОЕ спасибо за то что такой мод есть. )))
но ставить буду всё равно 15 версию...

денег нет, но могу подкинуть банеропоказов ))))) но это уже в личку )))

Вернуться в «Бета-версии модов для phpBB 2.0.x»