Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

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

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Thanx
phpBB 2.0.2
Сообщения: 334
Стаж: 18 лет 4 месяца
Благодарил (а): 16 раз

Сообщение Thanx »

После перезаливания functions_reputation.php все баги исчезли.
ETZel писал(а):Просто ваш редактор заменяет концы строк в стиле UNIX (0x0a) на концы строк в стиле DOS (0x0d0a). Получаются дополнительные байты :)
Понял.
Аватара пользователя
WEBconsultant
phpBB 1.4.2
Сообщения: 59
Стаж: 18 лет 1 месяц

Сообщение WEBconsultant »

ETZel, кроме includes/functions_reputation.php больше ничего менять не нужно?

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

И еще, читаю всю ветку с самого начала, но на всякий случай спрошу. Можно ли посмотреть все отзывы по всем пользователям в списке?
Thanx
phpBB 2.0.2
Сообщения: 334
Стаж: 18 лет 4 месяца
Благодарил (а): 16 раз

Сообщение Thanx »

WEBconsultant, перезалей еще reputation.php, там исправленная строчка по замечанию Поручика.
Аватара пользователя
teg
phpBB 1.4.2
Сообщения: 64
Стаж: 18 лет 7 месяцев
Откуда: С.-Петербург

Сообщение teg »

ETZel
Спасибо!
Есть еще баг:
в файле usercp_reputation.php надо исправить include($phpbb_root_path . 'includes/bbcode.' . $phpEx); на include_once($phpbb_root_path . 'includes/bbcode.' . $phpEx);
иначе ошибка после добавления репутации
knyaz_garik
phpBB 1.0.0
Сообщения: 2
Стаж: 17 лет 3 месяца
Откуда: Путилково

Сообщение knyaz_garik »

Стоит ограничение по времени на выставление +, но из профиля, все равно, плюсов можно наставить, хоть.... много вообщем, это так задумано, али баг? Если задумано, то можно это как нибудь обойти?
Salt
phpBB 1.0.0
Сообщения: 1
Стаж: 17 лет 3 месяца

Сообщение Salt »

Поставила. Все работает с пол оборота.
А можно на ezPortal вывести блок "Наши самые уважаемые пользователи" ?
Аватара пользователя
ETZel
phpBB 1.4.3
Сообщения: 93
Стаж: 18 лет 3 месяца
Откуда: Челябинск

Сообщение ETZel »

teg
Это не баг. Возможно, у вас установлены другие моды, включающие bbcode.php?
Как конкретно выглядио ошибка?

knyaz_garik
Это не баг. Ограничения не распространяются на админов либо на модеров и админов в зависимости от опции "Игнорировать ограничения на изменение" в блоке "Права доступа" репутации.

Salt
просто скопируйте секции из форумного index.php в другой файл (по аналогии) и используйте в шаблоне переменные {MOST_RESPECTED_USERS}, {LEAST_RESPECTED_USERS}
Thanx
phpBB 2.0.2
Сообщения: 334
Стаж: 18 лет 4 месяца
Благодарил (а): 16 раз

Сообщение Thanx »

Переход 0.2.0 -> 0.2.1 чудесный. Всем пользователям понравился. И меню у пользователей с высокой репутацией по выбору сколько репутации кому дать, и уведомления об изменении репутации по e-mail. Спасибо.
Батон
phpBB 1.0.0
Сообщения: 2
Стаж: 18 лет 2 месяца

Сообщение Батон »

Версия 0.2.0
Такой баг - у новых юзеров нет возможности проставлять репутацию (нет рук). Это я накосячил при установке ? Если можно, подскажите где глянуть ? Версия форума 2.0.19 :oops:
Thanx
phpBB 2.0.2
Сообщения: 334
Стаж: 18 лет 4 месяца
Благодарил (а): 16 раз

Сообщение Thanx »

ETZel, некогда я убрал из файла modcp.php следующий код:

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

Убрано из modcp.php

///democracy///
            $sql = 'SELECT r.id
               FROM ' . REPUTATION_TABLE . ' r, ' . TOPICS_TABLE . ' t, ' . POSTS_TABLE . ' p
               WHERE r.post_id = p.post_id
                  AND p.topic_id = t.topic_id
                  AND t.topic_id IN (' . $topic_list . ')
                  AND t.topic_status <> ' . TOPIC_MOVED;
            if ( !($result = $db->sql_query($sql)) )
            {
               message_die(GENERAL_ERROR, 'Could not select post reviews ids', '', __LINE__, __FILE__, $sql);
            }
            $row = $db->sql_fetchrowset($result);
            $db->sql_freeresult($result);
            $reviews_list = '';
            for($i = 0; $i < count($row); $i++)
            {
               $reviews_list .= ( ( $reviews_list != '' ) ? ', ' : '' ) . $row[$i]['id'];
            }

            $sql = 'UPDATE ' . REPUTATION_TABLE . '
               SET forum_id = ' . $new_forum_id . '
               WHERE id IN (' . $reviews_list . ')';
            if ( !($result = $db->sql_query($sql)) )
            {
               message_die(GENERAL_ERROR, 'Could not update post reviews', '', __LINE__, __FILE__, $sql);
            }

///////////////

///democracy///
            $sql_where_rep = (!empty($HTTP_POST_VARS['split_type_beyond'])) ? " p.post_time >= $post_time AND p.topic_id = $topic_id" : "p.post_id IN ($post_id_sql)";
            
            $sql = 'SELECT r.id
               FROM ' . REPUTATION_TABLE . ' r, ' . TOPICS_TABLE . ' t, ' . POSTS_TABLE . ' p
               WHERE r.post_id = p.post_id
                  AND ' . $sql_where_rep;
            if ( !($result = $db->sql_query($sql)) )
            {
               message_die(GENERAL_ERROR, 'Could not select post reviews ids', '', __LINE__, __FILE__, $sql);
            }
            $row = $db->sql_fetchrowset($result);
            $db->sql_freeresult($result);
            $reviews_list = '';
            for($i = 0; $i < count($row); $i++)
            {
               $reviews_list .= ( ( $reviews_list != '' ) ? ', ' : '' ) . $row[$i]['id'];
            }

            $sql = 'UPDATE ' . REPUTATION_TABLE . '
               SET forum_id = ' . $new_forum_id . '
               WHERE id IN (' . $reviews_list . ')';
            if ( !($result = $db->sql_query($sql)) )
            {
               message_die(GENERAL_ERROR, 'Could not update post reviews', '', __LINE__, __FILE__, $sql);
            }
///////////
Это у меня записано. И помню, кажется, что из-за того, что не мог поменять название темы.

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

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

Thanx, ну ты притомил. :evil:
Поиск в теме никак нельзя
http://www.phpbbguru.net/community/view ... 2711#92711
http://www.phpbbguru.net/community/view ... 344#102344
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
ETZel
phpBB 1.4.3
Сообщения: 93
Стаж: 18 лет 3 месяца
Откуда: Челябинск

Сообщение ETZel »

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

Thanx
Поручик
этот кусок кода уже не нужен, текущая версия мода не модифицирует modcp.php, вся работа по попоравке forum_id у перенесенных отзывов делается в функции sync() в includes/functions_admin.php
Аватара пользователя
WEBconsultant
phpBB 1.4.2
Сообщения: 59
Стаж: 18 лет 1 месяц

Сообщение WEBconsultant »

У одного пользователя на моем форуме следующее:
Репутация: +36/–-1
[Может менять репутацию на 5]
В том числе:
Базовая репутация: +1
Начальная репутация: +10
Репутация за опыт: +3
Репутация за сообщения: +22
Репутация за обзоры: +1
Откуда взялось -1 (минус один)?

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

Поковырялся и обнаружил что в минус идет "Репутация за обзоры". Но почему?
Thanx
phpBB 2.0.2
Сообщения: 334
Стаж: 18 лет 4 месяца
Благодарил (а): 16 раз

Сообщение Thanx »

На одном форуме все гладко встало, но вот на странице memberlist.php почему-то не отображается столбец "Репутация". Проверил все.

код в memberlist.php:

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

$template->assign_var('S_COLSPAN', 9 + count($democracy_cols));
У меня 9, а не 8, так есть еще мод Last visit MOD.

код в memberlist_body.tpl:

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

	<tr> 
	  <td class="catBottom" colspan="{S_COLSPAN}" height="28">&nbsp;</td>
	</tr>
Все тщательно проверил при установке и memberlist.php, и memberlist_body.tpl, и учел memberlist_help.txt.

В чем может быть косяк?
Аватара пользователя
ETZel
phpBB 1.4.3
Сообщения: 93
Стаж: 18 лет 3 месяца
Откуда: Челябинск

Сообщение ETZel »

WEBconsultant
В минус идет не репутация за обзоры, это просто артефакт из-за нарушения целостности данных. (У этого юзера положительная репутация равна 1, а суммарная 0. Суммарная должна тоже быть 1).
Выполните ресинхронизацию (самый нижний блок в настройках демократии).

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

Thanx
убедитесь, что в конфиге значение reputation_memberlist равно 10.
Посмотрите содержимое переменной $democracy_cols (должно быть непустым).

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