Перейти к контенту

[1.x.x]Reputation Mod


d1pro

Рекомендуемые сообщения

Ты редко заглядываешь, а ему видишь срочно нужно :D

 

Да, я тоже не всё вевно написал... По ходу так можно будет гостям репу менять, нужно их в админке внести в чёрный список наверное.

Или нужно в функции add_rep, remove_rep и другие не относящиеся к просмотру в начало добавить:

			if (! $ibforums->member['id'] )
		{
			$std->Error( array( 'LEVEL' => 1, 'MSG' => 'not_registered' ) );
		}

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 537
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

  • theIggs

    theIggs 87 публикаций

  • d1pro

    d1pro 39 публикаций

  • ilz

    ilz 22 публикации

  • Song

    Song 20 публикаций

К счастью обошлось только этими строчками

if (! $ibforums->member['id'] )
		{
			$std->Error( array( 'LEVEL' => 1, 'MSG' => 'not_registered' ) );
		}

Ну и ещё немножко подправил topics.php.

Sannis что ты так бесишся всегда?! Переходный возраст что ли!? Ты же должен понемать что это делается для привлечения внимания, а не для того что бы кого то обидеть или каким то образом задеть. :D

Ссылка на комментарий
Поделиться на других сайтах

Наверное дослтал уже своими вечными и нудными просьбами, но всё таки решил попросить ещё разочек. :D

Можно зделать что бы вместо выбора (т.е. 1 2 3 4...) страниц, была ссылочка "показать всё" и она так же появлялась только тогда когда репутация превышает установленное число изменений на страницу. Разумеется она должна заменять собой постраничный вывод.

Ссылка на комментарий
Поделиться на других сайтах

Не видите скорее вы. По вашему нужно покричать на разработчика и он должен прибежать и сразу вам всё сделать??? Он вам ничем не обязан :D
Ссылка на комментарий
Поделиться на других сайтах

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

Если должен быть возможным только показ первой страницы либо всех изменений сразу, то вот какие рассуждения:

 

Вывод инфы о репе пользователя: function mem_stats($memid)

 

HTML этих самых ссылок на страницы:

		// Preparing pagelinks

	/* old depreciated way - no need for this query
	$DB->query("SELECT COUNT(msg_id) as total FROM ibf_reputation WHERE member_id = '".$memid."'");
	$max = $DB->fetch_row();		

	$DB->free_result();
	*/		

	$ibforums->input['st'] = intval($ibforums->input['st']);
	if (!isset($ibforums->input['st']))	$ibforums->input['st'] = 0;

	$links = $std->build_pagelinks( array( 	'TOTAL_POSS'  => $this->mem['rep'],
											'PER_PAGE'	=> $ibforums->vars['rep_per_page'],
											'CUR_ST_VAL'  => $ibforums->input['st'],
											'L_SINGLE'	 => "",
											'L_MULTI'	  => $ibforums->lang['multi_pages'],
											'BASE_URL'	 => $ibforums->base_url."act=rep&CODE=03&mid=".$memid,
									)	);

	$this->output .= $this->rep_html->Links($links, "");
	$this->output .= "<br />";

Заменяем на:

		$view_all = isset($ibforums->input['viewall']) ? intval($ibforums->input['viewall']) : 0;

	if( $this->mem[ $field ] > $ibforums->vars['rep_per_page'] )
	{
		if( $view_all )
		{
			$this->output .= "<a href='{$ibforums->base_url}act=rep&CODE=03&mid={$memid}&viewall=0'>Первые {$ibforums->vars['rep_per_page']}</a> | Все";
		}
		else
		{
			$this->output .= "Первые {$ibforums->vars['rep_per_page']} | <a href='{$ibforums->base_url}act=rep&CODE=03&mid={$memid}&viewall=1'>Все</a>";
		}
	}

	$this->output .= "<br />"; // Возможно это нужно поместить в конец первого условия, смотря по обстоятельствам.

 

Выборки изменений репы из базы:

		$DB->query("SELECT r.*, m.name, t.title FROM ibf_reputation r
				LEFT JOIN ibf_members m ON (m.id=r.from_id)
				LEFT JOIN ibf_topics t ON (r.topic_id=t.tid)
				WHERE r.member_id='$memid' ORDER BY r.msg_date DESC
				LIMIT ".$ibforums->input['st'].", ".$ibforums->vars['rep_per_page']);

Заменяем на:

		$query_limit = "";

	if( !$view_all )
	{
		$query_limit = " LIMIT 0, ".$ibforums->vars['rep_per_page']";
	}

	$DB->query("SELECT r.*, m.name, t.title FROM ibf_reputation r
				LEFT JOIN ibf_members m ON (m.id=r.from_id)
				LEFT JOIN ibf_topics t ON (r.topic_id=t.tid)
				WHERE r.member_id='$memid' ORDER BY r.msg_date DESC".$query_limit);

 

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

 

P.S. Неправильная у вас позиция, всё на халяву всё равно хотите :D

Изменено пользователем Sannis
Ссылка на комментарий
Поделиться на других сайтах

Ну неужели мне нужно вам каждый раз повторять одно и тоже? :D

 

Прочитайте у меня в подписи про ошибки.

Ссылка на комментарий
Поделиться на других сайтах

Зато изменился вывод реп которые ставил юзер :D Для того что требовалось см. пост ещё раз, исправил.
Ссылка на комментарий
Поделиться на других сайтах

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

Для того что требовалось см. пост ещё раз, исправил.

Неужели сложно дочитать пост до конца?!

 

P.S. Суть я уловил, но у меня даже сервера под рукой нет чтобы проверить, даже из редакторов только gedit. Знаете такой?

P.P.S. А потом ещё удивляетесь моей реакции.

Ссылка на комментарий
Поделиться на других сайтах

А можно как-нибудь зделать что бы через всплывающее окошко можно было репу выставлять? Такае как когда теги вводишь, например урл.
Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
Скажите, а разработчики мода не планируют сделать что то типа "Вскрытие труса"? Ну это например за определённое число сообщений пользователь сможет вскрыть анонимно поставленный плюс или минус (т.е. при выборе данной функции теперь все смогут видеть кто поставил плюс.
Ссылка на комментарий
Поделиться на других сайтах

Подскажите кто-нибудь. Как сделать что бы при удалении репутации, это записывалось в логах администраторов?
Ссылка на комментарий
Поделиться на других сайтах

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

 

:D

Ссылка на комментарий
Поделиться на других сайтах

Подскажите, а на каких форумах можно посмотреть как это работает из описания не понятно, что это за "репутация"

http://www.pharm-forum.ru/index.php?showforum=35

Регистрация фейковая, подтверждений на мейл не требуется.

 

 

Плюсиком прибавляем минусиком понижаем, просто говорим респект или что-то ёще?

При изменении репутации можно оставить комментарий.

Тот, кому изменили репутацию, может прокомментировать в ответ.

По клику можно перейти в то сообщение, за которое изменена репутация.

Регулируется, каким группам можно менять репутацию; какие группы могут менять; сколько раз в день пользователь может менять репутацию...

 

По достижению заданного уровня репутации перед статусом можно сделать вывод префикса; например после +100 станет "Уважаемый пользователь" вместо "Пользователь". Можно и санкции вплоть до бана на достижение критического уровня репутации - эдакая демократия, когда можно забанить большинством голосов.

Там еще много всего, чем я не пользуюсь...

Ссылка на комментарий
Поделиться на других сайтах

Подскажите, а на каких форумах можно посмотреть как это работает из описания не понятно, что это за "репутация"

http://www.pharm-forum.ru/index.php?showforum=35

Регистрация фейковая, подтверждений на мейл не требуется.

 

 

Плюсиком прибавляем минусиком понижаем, просто говорим респект или что-то ёще?

При изменении репутации можно оставить комментарий.

Тот, кому изменили репутацию, может прокомментировать в ответ.

По клику можно перейти в то сообщение, за которое изменена репутация.

Регулируется, каким группам можно менять репутацию; какие группы могут менять; сколько раз в день пользователь может менять репутацию...

 

По достижению заданного уровня репутации перед статусом можно сделать вывод префикса; например после +100 станет "Уважаемый пользователь" вместо "Пользователь". Можно и санкции вплоть до бана на достижение критического уровня репутации - эдакая демократия, когда можно забанить большинством голосов.

Там еще много всего, чем я не пользуюсь...

 

Спасибо за ответ, а на каком моде всё это работает?

Ссылка на комментарий
Поделиться на других сайтах

Я вот лично полностью переработал эту систему. ;)

Репутация выставляется через всплывающие окошки, как для бб-тегов.

Для админской части много чего, например изменение описания, изменение видимости (аноним), перенос плюса или минуса обратно пользователю который его поставил и многое многое другое, + это все работает через javascript. :D

Вскрыть труса, стоит это 25 сообщений(настройки опять таки в АЦ).

Празднечные плюсы, например на новый год один плюс равен двум (настройки в админке) и разумеется другая картинка, все настройки в АЦ.

Много запретов и переработок, такие например как заперт менять репутацию, если пользователь находится в премоде. И так далее. Вообщем баланс. ))

 

Короче очень много, много сил я в этот мод вложил, можно сказать переписал полностью.

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.