<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Випы</title>
</head>
<body>
</br></br></br></br></br>
<?php
$host = 'вашсайт.ру'; // Хост БД
$db = 'база_данных'; // База данных
$user = 'логин_от_базы'; // Пользователь базы
$pass = 'пароль_от_базы'; // Пароль пользователя
$total = 0; // Пусть будет тут
//Список серверов
$servers= array('Сервер1','Сервер2','Сервер3');
//Подсчет начинается с нуля!!!!!!
////Проверка коннекта к базе
try
{
$conn = new PDO("mysql:host=$host;dbname=$db", $user, $pass);
}
catch (PDOException $e)
{
die('Подключение не удалось: ' . $e->getMessage());
}
////установка параметров
$conn->exec('SET CHARACTER SET utf8');
$conn->exec('SET NAMES utf8');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
////////////////////////////////
//////Запросы к базе данных/////
////////////////////////////////
$vips = $conn->prepare('SELECT * FROM vip_users, vip_overrides WHERE id = user_id');
$num_vips = $conn->prepare('SELECT count(*) FROM vip_users'); //не актуален
////////////////////////////////
//////Запросы к базе данных/////
////////////////////////////////
////////////////////////////////
////Настройка внешнего вида/////
////////////////////////////////
$float = "float:left;";
$w1 = "style='display:box; position:relative; $float color:orange; height:11px; width:33%;'";//ник
$w2 = "style='display:box; position:relative; $float color:green; height:11px; width:33%;'";//сервер
$w3 = "style='display:box; position:relative; $float color:red; height:11px; width:33%;'";//срок
////////////////////////////////
////Настройка внешнего вида/////
////////////////////////////////
//функции преобразования даты в человечески понятную)
function declension($digit,$expr,$onlyword=false){
if(!is_array($expr)) $expr = array_filter(explode(' ', $expr));
if(empty($expr[2])) $expr[2]=$expr[1];
$i=preg_replace('/[^0-9]+/s','',$digit)%100;
if($onlyword) $digit='';
if($i>=5 && $i<=20) $res=$digit.' '.$expr[2];
else
{
$i%=10;
if($i==1) $res=$digit.' '.$expr[0];
elseif($i>=2 && $i<=4) $res=$digit.' '.$expr[1];
else $res=$digit.' '.$expr[2];
}
return trim($res);
}
function to_date ($date){
$date1 = date('Y-m-d H:i:s', time());
$date2 = date('Y-m-d H:i:s', $date);
$date1 = strtotime($date1);
$date2 = strtotime($date2);
$check_time = $date2 - $date1;
if($check_time <= 0){
return false;
}
$days = floor($check_time/86400);
$hours = floor(($check_time%86400)/3600);
$minutes = floor(($check_time%3600)/60);
$seconds = $check_time%60;
$str = '';
if($days > 0) $str .= declension($days,array('день','дня','дней')).' ';
if($hours > 0) $str .= declension($hours,array('час','часа','часов')).' ';
if($minutes > 0) $str .= declension($minutes,array('минута','минуты','минут')).' ';
if($seconds > 0) $str .= declension($seconds,array('секунда','секунды','секунд'));
return $str;
}
echo("<div $w1>Никнейм</div><div $w2>Сервер</div><div $w3>Закончится через</div></br>");
$vips->execute();
while($row = $vips->fetch())
{
$steam_id = $row["auth"];
$nickname = $row['name'];
$game_server= $row['server_id'];
$time_to_die= $row['expires'];
$server = $servers[$game_server];
if ($time_to_die=='0') {$time="Навсегда";} else {$time=to_date($time_to_die);}
//если у игрока просто кончилась випка то скрываем его из списка и не считаем его в общее число активных випов
if ($time!='') {
echo "<br><div ".$w1.">".$nickname."</div><div $w2>".$server."</div><div $w3>".$time."</div></div>";
$total++;
}
}
echo("<br><br><br><H3>Всего игроков с VIP привелегиями: ".$total."</H3>");
//отключаемся от базы
$DBH = null;
?>
</body>
</html>