Перейти к публикации

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

Предложу свой вариант:

members.php

<?php

/*

=====================================================

 DataLife Engine - by SoftNews Media Group 

-----------------------------------------------------

 http://www.pc-soft.ru/

-----------------------------------------------------

 Copyright (c) 2004,2007 SoftNews Media Group

=====================================================

 Данный код защищен авторскими правами

=====================================================

 Файл: stats.php

-----------------------------------------------------

 Назначение: список рег. пользователей

=====================================================

*/

if(!defined('DATALIFEENGINE'))

{

  die("Hacking attempt!");

}


  $db->query ("SHOW TABLE STATUS FROM `".DBNAME."`");

			$mysql_size = 0;

			while ($rdb = $db->get_row()) {

			$mysql_size += $rdb['Data_length'] + $rdb['Index_length'];

			}

  $db->free();


		  $mysql_size = formatsize($mysql_size);


$tpl->load_template('members.tpl');


	$db->query("SELECT user_id, name, user_group, reg_date, lastdate, news_num, comm_num FROM " . PREFIX . "_users ORDER BY user_id");


	$top_table = "<thead><td>{$lang['top_name']}</td><td align=\"center\">{$lang['top_status']}</td><td align=\"center\">{$lang['top_reg']}</td><td align=\"center\">{$lang['top_last']}</td><td align=\"center\">{$lang['top_nnum']}</td><td align=\"center\">{$lang['top_cnum']}</td><td align=\"center\">{$lang['top_pm']}</td></thead>";


	while($row = $db->get_row())

	{


	$registration = langdate($config['timestamp_active'], $row['reg_date']);

	$last = langdate($config['timestamp_active'], $row['lastdate']);


	if ($config['allow_alt_url'] == "yes")

			$user_name = "<a href=\"".$config['http_home_url']."user/".urlencode($row['name'])."/\">".$row['name']."</a>";

	else

			$user_name = "<a href=\"$PHP_SELF?subaction=userinfo&amp;user=".urlencode($row['name'])."\">".$row['name']."</a>";


	$user_pm = "<a href=\"$PHP_SELF?do=pm&doaction=newpm&user=".$row['user_id']."\">{$lang['top_pm']}</a>";



	$top_table .= "<tr><td>{$user_name}</td><td align=\"center\">{$user_group[$row['user_group']]['group_name']}</td><td align=\"center\">{$registration}</td><td align=\"center\">{$last}</td><td align=\"center\">{$row['news_num']}</td><td align=\"center\">{$row['comm_num']}</td><td align=\"center\">[ {$user_pm} ]</td></tr>";


	}


	$db->free();

$tpl->set('{topusers}',$top_table);


$tpl->compile('content');

$tpl->clear();


?>
и members.tpl
<table width="100%">

	<tr>

		<td width="5"><img src="{THEME}/images/mtdlgeen.png" width="5" height="58" border="0"></td>

		<td background="{THEME}/images/mtdbggreen.png" class="ntitle" valign="top">Список пользователей</td>

		<td width="5"><img src="{THEME}/images/mtdrgreen.png" width="5" height="58" border="0"></td>

	</tr>

	<tr>

		<td background="{THEME}/images/ltd.gif"><img src="{THEME}/images/ltd.gif" width="5" border="0"></td>

		<td class="news" valign="top"><table width="100%" class="userstop">{topusers}</table></td>

		<td background="{THEME}/images/rtd.gif"><img src="{THEME}/images/rtd.gif" width="5" border="0"></td>

	</tr>

	<tr>

		<td><img src="{THEME}/images/ltdb.png" width="5" height="10" border="0"></td>

		<td background="{THEME}/images/tdbbg.png"><img src="{THEME}/images/tdbbg.png" width="1" height="10" border="0"></td>

		<td><img src="{THEME}/images/rtdb.png" width="5" height="10" border="0"></td>

	</tr>

</table>
Как видно - это просто переработаные варианты stats.php и stats.tpl - удалено лишнее, возможно не все, ну и изменено имя шаблона... подключается так же, в engine.php:
case "members" :

	include ENGINE_DIR.'/modules/members.php';

break;
линк: "/index.php?do=members" P.S. не до конца разобрался как разбить на страницы по 25 человек (можно и по 50 - не суть важно), но думаю, что разберемся ;) P.P.S. сортировка соответственно в строке:
	$db->query("SELECT user_id, name, user_group, reg_date, lastdate, news_num, comm_num FROM " . PREFIX . "_users ORDER BY user_id");
у мну выборка по user_id, можно по другому полю:
	$db->query("SELECT user_id, name, user_group, reg_date, lastdate, news_num, comm_num FROM " . PREFIX . "_users ORDER BY <нужное полу>");
ну и если нужно изменить направление сортировки, то после нужного поля добавляем либо DESC либо ASC - думаю разобраться ничего не стоит, ну или на всякий случай почитать книшку или поискать по ссылке: http://dev.mysql.com/doc/ небольшая модификация, забаненые отображаются как забаненые: В запрос добавляем "banned": ищем:
	$db->query("SELECT user_id, name, user_group, reg_date, lastdate, news_num, comm_num FROM " . PREFIX . "_users ORDER BY user_id");
заменяем на:
	$db->query("SELECT user_id, name, user_group, reg_date, lastdate, banned, news_num, comm_num FROM " . PREFIX . "_users ORDER BY user_id");
дальше в коде ищем строку:
	$user_pm = "<a href=\"$PHP_SELF?do=pm&doaction=newpm&user=".$row['user_id']."\">{$lang['top_pm']}</a>";
добавляем после нее:
	if ($row['banned']=="yes")

		$status = "<font color=red><strong>Забанен</strong></font>";

	else $status=$user_group[$row['user_group']]['group_name'];
ну и наконец ищем:
{$user_group[$row['user_group']]['group_name']}
заменяем на:
{$status}

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

соеденил вариант DocentX'a и то, что сделал ранее, теперь разбивка по страничкам работает... по 25 человек - нужное число выберем в скрипте сами:

качать php тут:

http://www.mendoza.ru/files/dle/members.rar

смотреть пример тут:

http://www.mendoza.ru/ (дизайн стандартный)

Изменено пользователем Mendoza
Ссылка на сообщение
Поделиться на других сайтах
  • 3 месяца спустя...

соеденил вариант DocentX'a и то, что сделал ранее, теперь разбивка по страничкам работает... по 25 человек - нужное число выберем в скрипте сами:

качать php тут:

http://www.mendoza.ru/files/dle/members.rar

смотреть пример тут:

http://www.mendoza.ru/ (дизайн стандартный)

Сообщение отредактировал Mendoza - 27.01.2007, 20:00

http://www.mendoza.ru/index.php?do=members

При переходе MySQL глюк...

Ммм, по-моему это глюк форума...

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

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

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

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

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

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

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