[DEV] Reputation System / Система репутации

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 16 лет 4 месяца
Откуда: Сергиев Посад
Благодарил (а): 373 раза
Поблагодарили: 727 раз

Re: [DEV] Reputation System / Система репутации

Сообщение владимир1983 »

В архиве languages/ru.xml
В главной инструкции
Additional MODX Files
language: Russian
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Аватара пользователя
***Blaze***
phpBB 2.0.7
Сообщения: 583
Стаж: 19 лет 8 месяцев
Откуда: Данков
Благодарил (а): 57 раз
Поблагодарили: 25 раз

Re: [DEV] Reputation System / Система репутации

Сообщение ***Blaze*** »

pisikot,
Да, у меня установлен мод [DEV] Reputation System.
Среди всех модов репутации - он, на мой взгляд, лучше других.
Жалко, что разработка была приостановлена.

Все настройки репутации находятся в администраторском разделе:
Общие → Функции конференции → Настройки репутации
Изображение
Мой сайт http://ublaze.ru/
Exn
phpBB 1.0.0
Сообщения: 3
Стаж: 16 лет 3 месяца

Re: [DEV] Reputation System / Система репутации

Сообщение Exn »

Обнаружена SQL-инъекция; переменная $user_id не фильтруется.
Решение:
В reputation.php после

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

$user_id = request_var('u', $user->data['user_id']);
Добавить

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

settype($user_id, 'int');
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 5 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: [DEV] Reputation System / Система репутации

Сообщение HAMMER663 »

Exn в какой версии?
Exn
phpBB 1.0.0
Сообщения: 3
Стаж: 16 лет 3 месяца

Re: [DEV] Reputation System / Система репутации

Сообщение Exn »

HAMMER663 писал(а):Exn в какой версии?
Я скачивал и ставил последнюю — 0.1.5. Судя по всему, ничего нового с того момента и не появилось.
BeoRn
phpBB 1.0.0
Сообщения: 0
Стаж: 14 лет 10 месяцев

проблема с reputation-system-0.1.5dev

Сообщение BeoRn »

Пытаюсь установить этот мод на репутацию, сделал все по инструкции, но при заходе в любую тему пишет "Parse error: syntax error, unexpected T_DOUBLE_ARROW in /home/digi/worlds-of-dreams.ru/viewtopic.php on line 1119." Пару раз перепроверял все, что написал в viewtopic.php, но не помогает. Последняя надежда это умные люди)

Ссылка на закачку инструкции и viewtopic.php: http://ifolder.ru/27306970

Спасибо!
Alien6Killer
phpBB 1.0.0
Сообщения: 2
Стаж: 14 лет 8 месяцев

Re: [DEV] Reputation System / Система репутации

Сообщение Alien6Killer »

Помогите перенести возможность удаления репутации с User Reputation Mod на [DEV] Reputation System
Там при просмотре истории репутации есть удобная ф-ция удаления пункта репутации.
Хочу перенести ее на [DEV] Reputation System.
У меня на форуме используется именно [DEV] Reputation System
Там большая база репутации и не хотелось бы переносить ее на другой мод.
belyi
phpBB 1.4.4
Сообщения: 126
Стаж: 15 лет 5 месяцев
Благодарил (а): 40 раз

Re: [DEV] Reputation System / Система репутации

Сообщение belyi »

просто он уже поставлен, а назад удалять все прописанное в файлах как-то не хочется, да и вроди неплохой он, вот только проблема с админкой..
Alien6Killer
phpBB 1.0.0
Сообщения: 2
Стаж: 14 лет 8 месяцев

Re: [DEV] Reputation System / Система репутации

Сообщение Alien6Killer »

Самостоятельно разработал модуль удаления пункта репутации для мода [DEV] Reputation System.
Если кому-то нужен могу выложить и описать подробно его установку.
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 16 лет 4 месяца
Откуда: Сергиев Посад
Благодарил (а): 373 раза
Поблагодарили: 727 раз

Re: [DEV] Reputation System / Система репутации

Сообщение владимир1983 »

Если ты считаешь что это будет полезно, выкладывай.
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Аватара пользователя
boloto
phpBB 1.4.4
Сообщения: 126
Стаж: 16 лет 11 месяцев
Благодарил (а): 57 раз
Поблагодарили: 10 раз

Re: [DEV] Reputation System / Система репутации

Сообщение boloto »

Alien6Killer будь добр, выложи. Я с удовольствием добавлю его у себя.
Аватара пользователя
boloto
phpBB 1.4.4
Сообщения: 126
Стаж: 16 лет 11 месяцев
Благодарил (а): 57 раз
Поблагодарили: 10 раз

Re: [DEV] Reputation System / Система репутации

Сообщение boloto »

Если кому будет интересно: по просьбам форумчан продублировал кнопки "+" и "-" в правом нижнем углу сообщения:
В правом нижнем углу каждого сообщения появились две кнопки Изображение и Изображение, которые дублируют - и + (репутации под аватаркой)
Если вы уже "плюсовали" или "минусовали" сообщение, то кнопки не отображаются.
Естественно на ваших собственных сообщениях кнопки тоже не выводятся.
Я думаю, назначение кнопок очевидно и удобно.
Вот скриншот как это выглядит на форуме:
Screen_repa.jpg
Сразу говорю, делал только для subsilver2. Если захотите, то для ПроСилвера добавите сами ;)
Копируете картинки
like.png
unlike.png

в /styles/subsilver2/imageset/
Ну или рисуете свои ;)

Теперь изменения в коде:
файл viewtopic.php
после

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

			$reputation_minus = '<a href="' . append_sid("{$phpbb_root_path}reputation.$phpEx", "mode=change&type=minus&p=" . $row['post_id']) . '" title="' . $user->lang['REPUTATION_CHANGE_MINUS'] . '">&minus;</a>';
добавить

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

			$reputation_plus1 = '<a href="' . append_sid("{$phpbb_root_path}reputation.$phpEx", "mode=change&type=plus&p=" . $row['post_id']) . '" title="' . $user->lang['REPUTATION_CHANGE_PLUS'] . '"> <img src="' . append_sid("{$phpbb_root_path}styles/subsilver2/imageset/like.png") . '" ></a>';
			$reputation_minus1 = '<a href="' . append_sid("{$phpbb_root_path}reputation.$phpEx", "mode=change&type=minus&p=" . $row['post_id']) . '" title="' . $user->lang['REPUTATION_CHANGE_MINUS'] . '"> <img src="' . append_sid("{$phpbb_root_path}styles/subsilver2/imageset/unlike.png") . '" ></a>';

			$reputation1              = '' . $reputation_minus1 . '&nbsp;' . $reputation_plus1 . '';
после

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

			$reputation_advanced_text = '[&nbsp;<a href="#" onclick="window.alert(\'' . $user->lang['REPUTATION_YOU_CANT_CHANGE'] . '\\n\\n' . $reputation_unavailable_reason . '\'); return false" title="' . $user->lang['REPUTATION_YOU_CANT_CHANGE_SHORT'] . '">?</a>&nbsp;]';
добавить

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

		  $reputation1              = '';
после

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

		$reputation = '';
добавить

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

		$reputation1 = '';
после

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

		'POSTER_REPUTATION'		=> $reputation,
добавить

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

		'POSTER_REPUTATION1'		=> $reputation1,
файл /styles/subsilver2/template/viewtopic_body.html
в после

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

<!-- IF postrow.U_QUOTE --><a href="{postrow.U_QUOTE}">{QUOTE_IMG}</a> 
вставить внутри строки в код

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

{postrow.POSTER_REPUTATION1}
Еще раз повторяю, что это просто дублирование кнопок + и -. Дело в том, что их под аватаркой плохо видно, и не все форумчане, а тем более новички понимают что это такое.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Alien6Killer
phpBB 1.0.0
Сообщения: 2
Стаж: 14 лет 8 месяцев

Re: [DEV] Reputation System / Система репутации

Сообщение Alien6Killer »

Это мой первый мод, не судите строго.
Для добавления возможности удаление пункта репутации за конкретный пост необходимо:
В файле:reputation.php
Найти:

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

		
if ($topics_cache[$r_post])
  {
      $r_topic = '<a href="' . append_sid("{$phpbb_root_path}viewtopic.$phpEx", "p=$r_post") . '#p' . $r_post . '">' . $topics_cache[$r_post] . '</a>';
  }
else
  {
      $r_topic = false;
  }
И добавить после:

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

//Добавляем ф-ю удаления репы
		
		$rep_id = $reprows_value['reputation_id'];
		if ($_GET['action'] == 'delete')
		{
			if ($user->data['group_id'] == 4470 or $user->data['group_id'] == 33520 or $user->data['group_id'] == 33523 ){}
			else 
			{
				trigger_error('У вас нет возможности удалять репутацию');
			}
			
			$reputation_id = $_GET['rep_id'];
		
			$sql = 'SELECT reputation_to, reputation_type
				FROM phpbb3_reputation'."
				WHERE reputation_id = $reputation_id";
			$result = $db->sql_query($sql);
			$row = $db->sql_fetchrow($result);
			$db->sql_freeresult($result);

			if ($row['reputation_type'] == 0)
			{
				if (confirm_box(true))
				{
					$minus = 1;
					$sql = 'UPDATE ' . USERS_TABLE . '
										SET user_reputation_total = user_reputation_total + ' . $minus . ',
											user_reputation_minuses = user_reputation_minuses -' . $minus . '
										WHERE user_id = ' . $row['reputation_to'];
					$db->sql_query($sql);
				
					$sql = 'DELETE FROM phpbb3_reputation
										WHERE reputation_id = ' . $reputation_id;
					$db->sql_query($sql);
				
					$redirect = append_sid("{$phpbb_root_path}reputation.$phpEx", 'u=' . $user_id);
					meta_refresh(3, $redirect);
					trigger_error('Репутация успешно удалена');
				}
				else
				{
					confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields(array(
										'u'			=> $user_id,
										'rep_id'		=> $rep_id))
					);
				}

			}
			else 
			{
				
				if (confirm_box(true))
				{
					$sql = 'UPDATE ' . USERS_TABLE . '
						SET user_reputation_total = user_reputation_total - ' . $row['reputation_type'] . ',
							user_reputation_pluses = user_reputation_pluses -' .$row['reputation_type'] . '
						WHERE user_id = ' . $row['reputation_to'];
					$db->sql_query($sql);
		
					$sql = 'DELETE FROM phpbb3_reputation
						WHERE reputation_id = ' . $reputation_id;
					$db->sql_query($sql);
		
					$redirect = append_sid("{$phpbb_root_path}reputation.$phpEx", 'u=' . $user_id);
					meta_refresh(3, $redirect);
					trigger_error('Репутация успешно удалена');
				}
				else
				{
					confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields(array(
						'u'			=> $user_id,
						'rep_id'		=> $rep_id))
					);
				}
			}
		}
//Конец ф-ии удаления репы
Найти в коде:

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

			'TYPE'		=> $r_image_type,
			'TIME'		=> $r_time)
Заменить на:

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

			'TYPE'		=> $r_image_type,
			'TIME'		=> $r_time,
			'U_DELETE'	=> append_sid("{$phpbb_root_path}reputation.$phpEx", "u=$user_id".'&action=delete'."&rep_id=$rep_id"))
ВАЖНО:
1)

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

			if ($user->data['group_id'] == 4470 or $user->data['group_id'] == 33520 or $user->data['group_id'] == 33523 ){}
			else 
			{
				trigger_error('У вас нет возможности удалять репутацию');
			}

Данный участок кода позволяет удалять репутацию только тем юзерам которые находятся в группах с этими ID. Изменяйте id группы на свои. (можно посмотреть в базе)

2) У меня префикс базы phpbb3 вам необходимо изменить его на свой везде в коде где он встречается.
3) Файл должен быть в кодировке UTF-8.

В файле /style/subsilver2/temlate/reputation_history_body.html
Найти:

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

<th nowrap="nowrap">{L_REPUTATION_TIME}</th>
Добавить после:

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

<th></th>

Найти:

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

	<td class="gen" align="center">{reputationrow.TIME}</td>
Добавить после:

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

	<td><a href="{reputationrow.U_DELETE}"><img alt="Удалить репутацию" title="Удалить репутацию" src="/images/icon_delete.gif"></a></td>

Вот и все. Отсалось только скопировать рисунок в images/icon_delete.gif
Изображение
Последний раз редактировалось Alien6Killer 25.01.2012 6:26, всего редактировалось 1 раз.
Alien6Killer
phpBB 1.0.0
Сообщения: 2
Стаж: 14 лет 8 месяцев

Re: [DEV] Reputation System / Система репутации

Сообщение Alien6Killer »

boloto Спасибо. Заменил у себя скучные кнопки +\- на ваши, все работает!
dimeon_bigt
phpBB 1.0.0
Сообщения: 0
Стаж: 14 лет 8 месяцев

Re: [DEV] Reputation System / Система репутации

Сообщение dimeon_bigt »

Добрый день. подскажите пожалуйста, 3 раза уже переустанавливал данный мод, и ничего не меняется.
все три раза появлялась надпись возле ЛС Репутация: 0 [ −0/+0 ] и все. больше никаких кнопок.

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