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

Как пределать D2-TOП5?


naka

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

Собсно сабж.

Хотелосб бы переделать ТОП5 в ТОП10 и добавить еще одну колонку - 10 юзеров с наибольшей репутацией(мод репутации от d1pro)

 

Так вот, что надо изменить, что б было топ10?

И что добавить, что было 10 людей с ниабольшей репутацией?

Пример переделки мода - filezoom.net

sources/boards.php

  //-----------------------------------------
	// Display Top 5 Statistics Module
	//-----------------------------------------

if ($ibforums->cache['group_cache'][$ibforums->member['mgroup']]['g_view_t5bs'] == 1)
{
	$cids = ','.$std->my_getcookie('collapseprefs').',';
	$t5bs['open'] = 'show';
	$t5bs['close'] = 'none';
	if (strstr($cids, ',t5bs,'))
	{
		$t5bs['open'] = 'none';
		$t5bs['close'] = 'show';
	}
	$this->output = str_replace("<!--TOP5STATS-->", $this->html->top_five_stats($this->statfunc->top_5_stats(), $t5bs), $this->output);
}

 

sources/lib/boardstats_functions.php

 

/*-------------------------------------------------------------------------*/
//
// Calculate & Display Top 5 Statistics Table
//
/*-------------------------------------------------------------------------*/

function top_5_stats()
{
	global $ibforums, $DB, $std, $forums;

	if ($ibforums->cache['group_cache'][$ibforums->member['mgroup']]['g_view_t5bs'] == 1)
	{
		$data = array();
		$aforums = array();
		$aforums[] = '0';
		foreach($forums->forum_by_id as $k => $v)
		{
			$aforums[] = $v['id'];
		}
		$allow_forums = implode(",", $aforums);

		if (!$ibforums->member['is_mod'])
		{
			$approved = 'and approved=1';
		}
		else
		{
			$approved = '';
		}

		$DB->simple_construct(array('select' => '*', 'from' => 'members', 'where' => 'posts>0', 'order' => 'posts DESC', 'limit' => array(0, 5)));
		$DB->simple_exec();
		if ($DB->get_num_rows())
		{
			while ($r = $DB->fetch_row())
			{
				$text = str_replace("{name}", $r['name'], $ibforums->lang['top_five_posts_text']);
				$text = str_replace("{posts}", $std->do_number_format($r['posts']), $text);
				$data['top_posters'] .= "<tr><td width='80%' align='left'><a href='{$ibforums->base_url}showuser={$r['id']}' title='{$text}\n{$ibforums->lang['top_five_view_my_profile']}'>{$ibforums->cache['group_cache'][$r['mgroup']]['prefix']}{$r['name']}{$ibforums->cache['group_cache'][$r['mgroup']]['suffix']}</a></td><td align='center' width='20%'><a href='{$ibforums->base_url}act=search&CODE=getalluser&mid={$r['id']}'>".$std->do_number_format($r['posts'])."</a></td></tr>";
			}
		}
		else
		{
			$data['top_posters'] = "<tr><td align='center' width='100%' colspan='2'>{$ibforums->lang['top_five_not_available']}</td></tr>";
		}

		$DB->simple_construct(array('select' => '*', 'from' => 'members', 'where' => 'id>0', 'order' => 'joined DESC', 'limit' => array(0, 5)));
		$DB->simple_exec();
		if ($DB->get_num_rows())
		{
			while ($r = $DB->fetch_row())
			{
				$text = str_replace("{name}", $r['name'], $ibforums->lang['top_five_posts_text']);
				$text = str_replace("{posts}", $std->do_number_format($r['posts']), $text);
				$data['new_members'] .= "<tr><td width='80%' class='row2' align='left'><a href='{$ibforums->base_url}showuser={$r['id']}' title='{$text}\n{$ibforums->lang['top_five_view_my_profile']}'>{$ibforums->cache['group_cache'][$r['mgroup']]['prefix']}{$r['name']}{$ibforums->cache['group_cache'][$r['mgroup']]['suffix']}</a></td><td align='center' width='20%'><a href='{$ibforums->base_url}act=search&CODE=getalluser&mid={$r['id']}'>".$std->do_number_format($r['posts'])."</a></td></tr>";
			}
		}
		else
		{
			$data['new_members'] = "<tr><td align='center' width='100%' colspan='2'>{$ibforums->lang['top_five_not_available']}</td></tr>";
		}

		$DB->simple_construct(array('select' => 't.*, m.mgroup', 'from' => "topics t LEFT JOIN ".SQL_PREFIX."members m ON (m.id=t.last_poster_id)", 'where' => 't.forum_id IN ('.$allow_forums.')'.$approved, 'order' => 't.last_post DESC', 'limit' => array(0, 5)));
		$DB->simple_exec();
		if ($DB->get_num_rows())
		{
			while ($r = $DB->fetch_row())
			{
				$text = str_replace("{name}", $r['last_poster_name'], $ibforums->lang['top_five_topics_text']);
				$text = str_replace("{topic}", $r['title'], $text);
				$data['latest_posts'] .= "<tr><td width='80%' align='left'><a href='{$ibforums->base_url}showtopic={$r['tid']}&view=getlastpost' title='{$text}'>{$r['title']}</a></td><td align='center' width='20%'><a href='{$ibforums->base_url}showuser={$r['last_poster_id']}' title='{$ibforums->lang['top_five_view_my_profile']}'>{$ibforums->cache['group_cache'][$r['mgroup']]['prefix']}{$r['last_poster_name']}{$ibforums->cache['group_cache'][$r['mgroup']]['prefix']}</a></td></tr>";
			}
		}
		else
		{
			$data['latest_posts'] = "<tr><td align='center' width='100%' colspan='2'>{$ibforums->lang['top_five_not_available']}</td></tr>";
		}

		return $data;
	}
}

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

'limit' => array(0, 5)));

видиш ?

 

а теперь так делаеш:

'limit' => array(0, 10)));

 

по поводу еще одной колонки по репе выводимой добавляй запрос + небольшая правка в скине

 

Как говорится Enjoy! :D

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

Спс, насчет array(0, 5))); я догадывался,но не был уверен,сча переделаю :D

 

добавляй запрос

Вот тут если можно по-подробнее? ;)

Со скином все более или мение ясно.

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

Вот тут если можно по-подробнее?

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

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

Присоединиться к обсуждению

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

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

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

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