Админлист

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #1
В этой теме я расскажу как сделать вывод администраторов СБ в одной из вкладок (пример прикреплен внизу).

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

И так, приступим:


1. Создаем в папке с СБ/pages/ файл page.adminlist.php
И вставляем в него код:

PHP:
<div><h3>Список Администраторов</h3></div>
<?php  
if(!defined("IN_SB")){echo "You should not be here. Only follow links!";die();} 
else  
{ 
    function st32to64($steam_id) 
    { 
        list( , $m1, $m2) = explode(':', $steam_id, 3); 
        list($steam_cid, ) = explode('.', bcadd((((int) $m2 * 2) + $m1), '76561197960265728'), 2); 
        return $steam_cid; 
    } 
     
    $html = ""; 
    $html.=    "<table style=\"border-collapse: collapse;\" width=\"100%\" cellspacing=\"3\" cellpadding=\"3\" align=\"center\" border=\"1\" class=\"listtable\">"; 
    $html.=    "<tr>"; 
    $html.=    "<td padding-left=\"3\" height=\"16\" class=\"listtable_top\" align=\"center\"><b>Ник</b></td>"; 
    $html.=    "<td height=\"16\" class=\"listtable_top\" align=\"center\"><b>Steam_ID</b></td>"; 
    $html.=    "<td height=\"16\" class=\"listtable_top\" align=\"center\"><b>E-mail</b></td>"; 
    $html.=    "<td height=\"16\" class=\"listtable_top\" align=\"center\"><b>Группа</b></td>"; 
    $html.=    "<td height=\"16\" class=\"listtable_top\" align=\"center\"><b>Посл. визит</b></td>"; 
    $html.=    "</tr>"; 


  $sb = $GLOBALS['db']->GetAll("SELECT * FROM " . DB_PREFIX . "_admins WHERE " . DB_PREFIX . "_admins.authid NOT IN ('STEAM_ID_SERVER') ORDER BY " . DB_PREFIX . "_admins.lastvisit DESC"); 

foreach($sb as $u){ 
    $admin       = $u['user']; // Ник админа 
    $steamID     = $u['authid']; // SteamID Админа 
    $email       = $u['email']; // Адес почты 
    $srv_group   = $u['srv_group']; // Состоит в группе 
    $srv_flags   = $u['srv_flags']; // Флаги выданные админу 
    $immunity    = $u['immunity']; // Иммунитет 
    $lastvisit   = date("Y-m-d H:i",$u['lastvisit']); // Посл визит 

    $html.=    "<tr>"; 
    $html.=    "<td height=\"16\" class=\"\" align=\"center\">$admin</td>"; 
    $html.=    "<td height=\"16\" class=\"\" align=\"center\"><a target=\"_blank\" href=\"http://steamcommunity.com/profiles/".st32to64($steamID)."\">$steamID</a></td>"; 
    $html.=    "<td height=\"16\" class=\"\" align=\"center\"><a href=\"mailto:$email\">$email</a></td>"; 
    $html.=    "<td height=\"16\" class=\"\" align=\"center\">$srv_group</td>"; 
    $html.=    "<td height=\"16\" class=\"\" align=\"center\">$lastvisit</td>"; 
    $html.=    "</tr>"; 
}  
    
    $html.=    "</table>"; 
    echo $html; 
}

?>

2. Редактируем файлы:
1) в /includes/ system-functions.php после 137-й строки:

PHP:
	$tab_arr[0] = "Dashboard";
	$tab_arr[1] = "Ban List";
	$tab_arr[2] = "Servers";
	$tab_arr[3] = "Submit a ban";
	$tab_arr[4] = "Protest a ban";

Изменяем на:
PHP:
	$tab_arr[0] = "Dashboard";
	$tab_arr[1] = "Ban List";
	$tab_arr[2] = "Servers";
	$tab_arr[3] = "Submit a ban";
	$tab_arr[4] = "Protest a ban";
	$tab_arr[5] = "Админлист"; // Ну или на английском

После:
PHP:
	if($GLOBALS['config']['config.enableprotest']=="1")
		AddTab("Protest a ban", "index.php?p=protest", "Here you can protest your ban. And prove your case as to why you should be unbanned.");
Добавляем:
PHP:
AddTab("Админлист", "index.php?p=adminlist", "Список всех админов");

2) в /includes/ page-builder.php после

PHP:
case "protest":
		RewritePageTitle("Protest a Ban");
		$page = TEMPLATES_PATH . "/page.protest.php";
		break;

Добавляем:
PHP:
case "adminlist":
		RewritePageTitle("Админлист");
		$page = TEMPLATES_PATH . "/page.adminlist.php";
		break;


Вот и всё. Всем спасибо за внимание !

---------------------------------------
Скрин мой и он отличается от того результата который описан в этой теме.

В прикреплениях готовые файлы. Просто раскидать их по папкам.
 

Вложения

  • my_sb.jpg
    my_sb.jpg
    78.1 КБ · Просмотры: 1,662
  • adminlist.zip
    13.3 КБ · Просмотры: 560
Последнее редактирование:

★Сириус★

Участник
Сообщения
743
Реакции
197
да, действительно ошибка
PHP:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /var/www/.../bans/pages/page.adminlist.php on line 19
 
Последнее редактирование:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #5
Исправил. В спойлере провтыкал кусочек кода.
 

★Сириус★

Участник
Сообщения
743
Реакции
197
r1ko, теперь новая ошибка
C-подобный:
Parse error: syntax error, unexpected $end in /var/www/.../bans/pages/page.adminlist.php on line 45

Добавлено через 32 минуты
r1ko, ты выложил скрин, с доказательством что у тебя работает, но в теме пишешь не рабочие варианты. Как так?
 
Последнее редактирование:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #9
Всё исправил. Просьба к Администраторам - удалите все комментарии.

Добавлено через 32 минуты
r1ko, ты выложил скрин, с доказательством что у тебя работает, но в теме пишешь не рабочие варианты. Как так?
Да у себя я таблицу sb_admins менял и модифицировал под нее код. А сюда выкладывал под дефолтную базу. Поэтому на ходу редактировал.
 

★Сириус★

Участник
Сообщения
743
Реакции
197
Ребят, мне бы хотелось сделать в данной таблице еще один столбик, и чтобы в нем писались серверы, на которых данный админ админит.
Подскажите. как доработать?
 
  • Мне нравится
Реакции: R1KO

Серый™

CS:S Server
Сообщения
2,925
Реакции
1,376
Я попробовал изменить столбцы, добавил контакты как на скрине, и добавил поля при редактирование админа и добавления, при добавление данный в бд не заносятся, а при редактирование не выводится но изменяется, не подскажите где эти запросы находятся, перерыл почти всё.
 
Сверху Снизу