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

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Закрыто
Аватара пользователя
Carbofos
phpBB 1.4.4
Сообщения: 158
Зарегистрирован: 04.03.2005 19:30

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

Сообщение Carbofos » 13.09.2005 13:35

Изображение

Две основные функции этого мода - создание пользователями "отзывов" о постах других пользователей с пометкой "понравился" - "не понравился" (Репутация) а также выдача модераторами предупреждений особо беснующимся юзерам (Предупреждения).

В зависимости от количества обзоров у юзера растет репутация: понравился = +1 очко, не понравился = -1 очко. Тут надо отметить, что эта система может быть объективна ровно настолько, насколько этого захочет администрация форума - они должны сами указать в Правилах форума требования к объективности оценки постов - прямо как в реальной жизни :) Причем по умолчанию, однажды написав обзор на какой-то пост, его уже не исправить, и новый на тот же пост не написать.

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

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

В версии 0.2.0 по многочисленным просьбам добавлена возможность только положительной репутации.

Сам мод: http://www.heep.ru/democracy/
Прямая ссылка: http://www.heep.ru/democracy/downloads/ ... acy021.zip

Русификация и обновления: 0.1.0 -> 0.1.1, 0.1.1 -> 0.1.2, 0.1.2 -> 0.1.3, 0.1.3 -> 0.1.4, 0.1.4 -> 0.2.0 и 0.2.0 -> 0.2.1: в том же архиве.

При обновлении с версии старше 0.2.0, после установки надо воспользоваться опцией "Востановить целостность данных" внизу в конфиге в админке!

Ветка на phpbb.com: http://www.phpbb.com/phpBB/viewtopic.php?t=289721

От Поручика
Архив с модом выложил сюда, так как сайт разработчика мода недоступен.
http://forum.aeroion.ru/download.php?id=124
Последний раз редактировалось Carbofos 24.01.2007 17:11, всего редактировалось 14 раз.

Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Зарегистрирован: 12.05.2005 17:25
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза
Контактная информация:

Сообщение Поручик » 15.09.2005 17:03

Carbofos
Поставил этот и выматерился (сначала скрипт в браузер, а потом я).
‹[№NТЂДЉD,J§Б4¬За0sMuЅ¦ЙЬ cћ ‡н®©™LЦ cХљ©yМНєхв#ГЬcNvГФ\Ч(eJ®«‚‡уКйш{:ЌЂ 9ЁсObBEЙ~ЄАv…Ѓнe … 25WмЪФ*µ[··щџd·ўЎ_ЯІ=П®Ћ кЄ?д$&зЁЋ?ІЪ 13NуЁ_?8fНgДљИ X1Џgљ®Л¬,ѓRЛ"
Покопавшись в исходниках, выяснил

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

#
#-----[OPEN]-------
#
admin_democracy.php

#
#-----[FIND]-------
#
if ( !$confirm )
{	
	// Display settings page
	include('./page_header_admin.'.$phpEx);
include-то зачем лишний раз
может надо так

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

	include_once('./page_header_admin.'.$phpEx);
или лучше вообще убрать, поскольку page_header_admin.php грузится в pagestart.php

Другие предложения:
Создать отдельные языковые файлы, посколько добавляемый код весьма значителен, а функции репутации присутствуют только в трех скриптах. Вот в данный момент lang_main.php у меня весит 81Кб. Придется все-таки разделять.
Сделать возможность задания режима для разделов, ведь, как правило, требования к сообщениям могут различаться

Добавлено спустя 7 минут 31 секунду:

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

наш форум http://forum.aeroion.ru/cat1.html

Аватара пользователя
Carbofos
phpBB 1.4.4
Сообщения: 158
Зарегистрирован: 04.03.2005 19:30

Сообщение Carbofos » 16.09.2005 14:09

Не понял, а что это такое?
‹[№NТЂДЉD ,J§Б4¬За0sMuЅ¦ЙЬ cћ ‡н®©™LЦ cХљ©yМНєхв#ГЬcNvГФ\Ч(eJ®«‚‡уКйш{:ЌЂ 9ЁсObBEЙ~ЄАv…Ѓнe … 25WмЪФ*µ[··щџd·ўЎ_ЯІ=П®Ћ кЄ?д$&зЁЋ?ІЪ 13NуЁ_? 8fНgДљИ X1Џgљ®Л¬,ѓRЛ"
Да и что-то я не понял, зачем открывать файл admin_democracy.php, но же поставляется целый :shock:
Это наверное я где-то накосячил, хотя, с другой стороны установил же я этот темплейт когда его сделал... Ничего не понимаю, посмотрю поподробнее :roll:
Поручик писал(а):Сделать возможность задания режима для разделов, ведь, как правило, требования к сообщениям могут различаться.
Имеешь ввиду для каждого форума продублировать все настройки или только основные режимы?

Насчет языков у меня тоже такая идея была, сделаю чуть попозже.

Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Зарегистрирован: 12.05.2005 17:25
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза
Контактная информация:

Сообщение Поручик » 16.09.2005 17:27

Carbofos писал(а):Не понял, а что это такое?
Это то, что первоначально выдал мне браузер при входе в админскую часть мода.
Вот и говорю, покопался и нашел косяк. У вас page_header_admin.php два раза вызывается. Один раз в pagestart.php, потом в admin_democracy.php. Из-за этого и та муть появляется.

Добавлено спустя 40 минут 6 секунд:
Carbofos писал(а):Имеешь ввиду для каждого форума продублировать все настройки или только основные режимы?
Да, наверное, достаточно основных настроек

Добавлено спустя 43 минуты 12 секунд:

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

наш форум http://forum.aeroion.ru/cat1.html

Аватара пользователя
xXx
phpBB 1.4.3
Сообщения: 93
Зарегистрирован: 18.09.2005 3:05
Откуда: Симферополь
Контактная информация:

Сообщение xXx » 19.09.2005 2:41

После изменения

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

include_once('./page_header_admin.'.$phpEx);
Появляется ошибка


Общая ошибка

Couldn't select from rep table

DEBUG MODE

SQL Error : 1146 Table 'bd_forum.phpbbreputation' doesn't exist

SELECT id, user_id FROM phpbbreputation WHERE modification = 3 AND expire < 1127080352

Line : 83
File : page_header.php



Перейти в администраторский раздел


Powered by phpBB © 2001, 2005 phpBB Group


И до изменения появляется подобная ошибка что МНЕ ДЕЛАТЬ ?????? Заранее благодарен

Добавлено спустя 44 минуты 59 секунд:

Помогите как мне востановить форум что нужно и где прописать ?????
Народ пожалуйста !!! :cry: :cry: :cry:
Изображение

Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Зарегистрирован: 12.05.2005 17:25
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза
Контактная информация:

Сообщение Поручик » 19.09.2005 7:37

xXx
xXx писал(а):SQL Error : 1146 Table 'bd_forum.phpbbreputation' doesn't exist
Вам перевести? Таблицы bd_forum.phpbbreputation не существует.
Причем здесь изменения. SQL-запрос надо было выполнить
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html

Аватара пользователя
Carbofos
phpBB 1.4.4
Сообщения: 158
Зарегистрирован: 04.03.2005 19:30

Сообщение Carbofos » 20.09.2005 12:53

Поручик
Попробовал еще раз... В вышсей степени странно, у меня админка работает как надо, кстати, такого кода:

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

#
#-----[OPEN]-------
#
admin_democracy.php
в мод-темплейте нету, т.к. файл admin_democracy.php идет в комплекте :roll:
Может, Ваш pagestart.php изменялся другими модами?

Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Зарегистрирован: 12.05.2005 17:25
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза
Контактная информация:

Сообщение Поручик » 20.09.2005 15:50

Carbofos писал(а):, такого кода:
Carbofos, да нету. Это я написал, какие операции произвел
Carbofos писал(а):Может, Ваш pagestart.php изменялся другими модами?
Нет, не изменялся
Вот кусок из оригинального pagestart.php

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

if (empty($no_page_header))
{
	// Not including the pageheader can be neccesarry if META tags are
	// needed in the calling script.
	include('./page_header_admin.'.$phpEx);
}
Ну да, бог с этим

Предлагаю дополнить мод возможностью запрета изменять репутацию пользователям, не имеющим определенного количества сообщений и имеющих предупреждени

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

#
#------------------------[ SQL ]-------------------------
#
INSERT INTO `phpbb_config` ( `config_name` , `config_value` ) VALUES ('reputation_min_posts', '0');

#
#------------------------[ OPEN ]------------------------
#
admin/admin_democracy.php

#
#------------------------[ FIND ]------------------------
#
		'L_NUM_WARNINGS' => $lang['reputation_num_warnings'],

#
#---------------------[ AFTER, ADD ]---------------------
#
		'L_MIN_POSTS' => $lang['reputation_min_posts'],

#
#------------------------[ FIND ]------------------------
#
		'S_NUM_WARNINGS' => $board_config['reputation_num_warnings'],

#
#---------------------[ AFTER, ADD ]---------------------
#
		'S_MIN_POSTS' => $board_config['reputation_min_posts'],

#
#------------------------[ FIND ]------------------------
#
		$new_value[] = intval($HTTP_POST_VARS['num_warnings']);
	}
#
#---------------------[ AFTER, ADD ]---------------------
#
	if ( isset($HTTP_POST_VARS['min_posts']) )
	{
		$new_name[] = 'reputation_min_posts';
		$new_value[] = intval($HTTP_POST_VARS['min_posts']);
	}

#
#------------------------[ OPEN ]------------------------
#
templates/subSilver/admin/reputation_body.tpl

#
#------------------------[ FIND ]------------------------
#
	  <td class="row2"><input type="text" name="reports_per_page" value="{S_REPORTS_PER_PAGE}" maxlength="3" size="3" /></td>
	</tr>
#
#---------------------[ AFTER, ADD ]---------------------
#
	<tr> 
	  <td class="row1"><span class="gen">{L_MIN_POSTS}</span></td>
	  <td class="row2"><input type="text" name="min_posts" value="{S_MIN_POSTS}" maxlength="5" size="5" /></td>
	</tr>

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

#
#------------------------[ FIND ]------------------------
#
		$message = ( !$is_auth['auth_view'] ) ? $lang['Topic_post_not_exist'] : sprintf($lang['Sorry_auth_read'], $is_auth['auth_read_type']);
	
		message_die(GENERAL_MESSAGE, $message);
	}

#
#---------------------[ AFTER, ADD ]---------------------
#
	if ( $userdata['user_posts'] < $board_config['reputation_min_posts'] && $userdata['user_level'] != ADMIN && $userdata['user_level'] != MOD ) 
	{
		$msg = sprintf($lang['reputation_modify_error'], $board_config['reputation_min_posts']);
		message_die(GENERAL_MESSAGE, $msg);
	}
	else if ( $userdata['warnings'] > 0 )
	{
		message_die(GENERAL_MESSAGE, $lang['Not_Authorised']);
	}
#
#------------------------[ OPEN ]------------------------
#
language/lang_russian/lang_main.php

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

?>

#
#---------------------[ BEFORE, ADD ]---------------------
#
$lang['reputation_min_posts'] = 'Мин. количество сообщений для изменения репутации';
$lang['reputation_modify_error'] = 'Вам необходимо сделать минимум <b>%d</b> сообщений для изменения репутации пользователя.';
С английским, правда, не в ладах, поэтому строки для language/lang_english/lang_main.php оставляю для специалистов
Последний раз редактировалось Поручик 23.01.2006 8:04, всего редактировалось 1 раз.
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html

Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Зарегистрирован: 12.05.2005 17:25
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза
Контактная информация:

Сообщение Поручик » 20.10.2005 17:12

Ну да, конечно, это все из-за мода Democracy. Автора на мыло!!!!!

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

Почему бы не добавить еще функциональности этому моду?
Этот аддон позволяет уменьшить количество пойнтов при выдаче предупреждений пользователю или обнулить при забанивании

!!!Аддон работает только при установленном моде Points system!!!!

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

######################################################## 
## MOD Title: Democracy mod Addon [Points subtract]
## MOD Author: Sergey < garnitur356 at mail15.com > http://forum.aeroion.ru
## MOD Description: A points system mod is required
## 
## Installation Level:	Easy
## Installation Time:	1 Minutes 
##
## Files To Edit:	1
##	includes/usercp_reputation.php
##
## Included Files: 	n/a
##
############################################################## 
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
##############################################################

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

# 
#-----[ FIND ]------------------------------------------ 
#
				case REPUTATION_WARNING: $warnings += $data[$i]['cnt']; break;
				default: break;
			}
		}

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
		//ADD points hack
		//
		switch ( $modification )
		{
			case REPUTATION_WARNING: $points=", user_points = user_points - ". $board_config['points_topic']; break;
			case REPUTATION_BAN: $points=", user_points = 0"; break;
			default: break;
		}

# 
#-----[ FIND ]------------------------------------------ 
#
			SET warnings = '$warnings'

# 
#-----[ REPLACE WITH ]-------------------------------------
# 
			SET warnings = '$warnings' $points

# 
#-----[ SAVE/CLOSE ALL FILES ]---------------------------
# 
# EoM 
Последний раз редактировалось Поручик 14.05.2006 19:10, всего редактировалось 1 раз.
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html

Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 13.03.2004 21:27
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert » 30.10.2005 9:33

Carbofos
Проверьте пожалуйста viewtopic.php, фрагмент

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

         else 
         { 
            $user_ban = false; 
         } 

         $db->sql_freeresult($result);          
         if ( $postrow[$i]['warnings'] > 0 )
После этой темы мне кажется что

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

$db->sql_freeresult($result);
здесь лишнее.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений

Аватара пользователя
teg
phpBB 1.4.2
Сообщения: 64
Зарегистрирован: 15.09.2005 15:37
Откуда: С.-Петербург

Сообщение teg » 07.11.2005 18:37

Попробовала поставить мод на форум с установленным PCP - увы :(
profile.php не содержит ничего похожего для того чтобы его можно было как то модифицировать...

Аватара пользователя
Carbofos
phpBB 1.4.4
Сообщения: 158
Зарегистрирован: 04.03.2005 19:30

Сообщение Carbofos » 28.11.2005 14:26

Xpert
Вы меня вынуждаете садиться за обновление в условиях тяжлейших боев на институтском поприще :lol:
Ладно, уговорили :)

Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Зарегистрирован: 12.05.2005 17:25
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза
Контактная информация:

Сообщение Поручик » 28.11.2005 16:27

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

наш форум http://forum.aeroion.ru/cat1.html

Аватара пользователя
Carbofos
phpBB 1.4.4
Сообщения: 158
Зарегистрирован: 04.03.2005 19:30

Сообщение Carbofos » 30.11.2005 11:37

Обновил. Убрал $db->sql_freeresult($result); и подправил еще пару мелочей.
Что касается новых фишек, то руки дошли только до т.н. "бана на время" - по умолчанию выключен, остальное позже :roll:

Скачать: http://carbofos2.chat.ru/democracy011.zip
(все включено, т.е. и русский и обновление с пред. версии)

Надеюсь, что из-за спешки я не нарубил багов больше, чем подчистил :)

Codex
phpBB 1.2.0
Сообщения: 10
Зарегистрирован: 27.11.2005 19:59

Сообщение Codex » 30.11.2005 16:17

Молодец! Отличный мод, на голову выше того же yellow card

Только есть один не большой глюк, он был в предыдущей версии, остался и в этой. Вверху справа постоянно висит надпись "Сообщений с уведомлениями от пользователей:" Даже если жалоба была рассмотрена и были приняты меры (сообщение удалено, пользователь понёс наказание) уведомление всё равно висит. При попытке повторного удаления получаю надпись "Извините, вы можете удалять только ваши собственные сообщения"
Поиск рулит, но не всегда и не во всём, мне к сожалению не помог :(

Закрыто

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