Файл: mlord.ru/core/func.php
Строк: 219
<?php
// Автор проекта GEARBAKC
// Офф.сайт GEARNET.RU
// http://gearnet.ru/users/1
// Только эксклюзивные скрипты!
define('H', $_SERVER['DOCUMENT_ROOT'].'/');
$ip_b=$db->query("SELECT id FROM `ip_ban` WHERE `ip`='".$_SERVER['REMOTE_ADDR']."'")->rowCount();
if($ip_b!=0){
$title='Доступ заблокирован!';
require_once (H.'design/head.php');
echo '<div class="h2"><center><b>Доступ к сайту зайрыт!</b><br/>К сожалению, Ваш ip адрес заблокирован Администраторами. </center><br/>Если вы считаете, что Вас заблокировали ошибочно, свяжитесь с Администрацией по следующим контактам:<br>Skype: Hirasima_one<br/>ICQ: 676149139 </div><div class="rb9"></div>';
exit();
}
//Определение файла и обновление время юзера
if(isset($_COOKIE['id_user']) && isset($_COOKIE['hash']) && $_COOKIE['id_user']!=0 && $_COOKIE['hash']!=''){
$us =$db->query("SELECT id FROM `users` WHERE `id`='".$_COOKIE['id_user']."' AND `hash`='".$_COOKIE['hash']."'")->rowCount();
if($us==1){
$user = $db->query("SELECT * FROM `users` WHERE `id`='".abs(intval($_COOKIE['id_user']))."' AND `hash`='".htmlspecialchars($_COOKIE['hash'])."' ")->fetch();
}
}else{
$user=null;
}
#Определение настроек системы
$config = $db->query("SELECT * FROM `system`")->fetch();
if (isset($user['id']) && $_SERVER['PHP_SELF'] != '/index.php' && $_SERVER['PHP_SELF'] != '/save.php' && $user['save']!=1){
$_SESSION['msg']='Для полного доступа к игре необходимо сохраниться';
header('Location:/save.php');
exit();
}
//Фильтрация текста при выводе
function filter($text){
$text = stripslashes(htmlspecialchars(html_entity_decode($text, ENT_QUOTES, 'UTF-8')));
return $text;
}
//Фильтрация чисел
function num($num){
$num=abs(intval($num));
return $num;
}
//Определения админа
function admin($adm){
global $user;
if(empty($user['id']) || $user['admin']<$adm){
header('Location:/');
exit();
}
}
//Время
function vremya($time){
$timep = date("d.m.Y, H:i", $time);
return $timep;
}
//Гостей кыш-кыш :D
function avt($user=null){
global $user;
if(empty($user['id'])){
header('Location:/');
exit();
}
}
//Определение рассы или что то типа того
function rasa($user=0){
global $db;
$ank = $db->query("SELECT * FROM `users` WHERE `id`='".$user."'")->fetch();
if($ank['rasa']==1){
$rasa='Спарта';
}elseif($ank['rasa']==2){
$rasa='Троя';
}else{
$rasa='Не определено';
}
return $rasa;
}
//Определение онлайна
function online($user=0){
global $db;
$ank = $db->query("SELECT * FROM `users` WHERE `id`='".$user."'")->fetch();
if($ank['time']>time()-600){
$online='<font color="green">[ON]</font>';
}else{
$online='<font color="red">[OFF]</font>';
}
return $online;
}
//Упрощение запроса в базу
function request($zapros, $param=array()){
global $db;
$stmt = $db->prepare($zapros);
$stmt -> execute($param);
}
function grad($text,$from='',$to='')
{
$to = hexdec($to[0].$to[1]).','.hexdec($to[2].$to[3]).','.hexdec($to[4].$to[5]);
$from= hexdec($from[0].$from[1]).','.hexdec($from[2].$from[3]).','.hexdec($from[4].$from[5]);
$levels=strlen($text);
$from = explode(',', $from);
$to = explode(',', $to);
$output = '';
for ($i=1;$i<=$levels;$i++)
{
for ($ii=0;$ii<3;$ii++)
{
$tmp[$ii] = $from[$ii] - $to[$ii];
$tmp[$ii] = floor($tmp[$ii] / $levels);
$rgb[$ii] = $from[$ii] - ($tmp[$ii] * $i);
if ($rgb[$ii] > 255) $rgb[$ii] = 255;
$rgb[$ii] = dechex($rgb[$ii]);
$rgb[$ii] = strtoupper($rgb[$ii]);
if (strlen($rgb[$ii]) < 2) $rgb[$ii] = '0'.$rgb[$ii];
}
$output .= '<font color='#'.$rgb[0].$rgb[1].$rgb[2].''>'.$text[$i-1].'</font>';
}
return $output;
}
//bb code
function color($arr)
{
return '<span style="color:'.$arr[1].'">'.$arr[2].'</span>';
}
function img($arr)
{
if (file_exists(H.$arr[1])) {
return '<img style="max-width:60%;" src="'.$arr[1].'" alt="img" />';
} else {
return '<b>Файла не существует!</b>';}
}
function users($arr)
{
global $db;
$ank = $db->query("SELECT * FROM `users` WHERE `id`='".$arr[1]."'")->fetch();
if($ank==true){
if($ank['rasa']==1){
$icon='<img src="/design/ico/png/sparta.png" width=16> ';
}elseif($ank['rasa']==2){
$icon='<img src="/design/ico/png/troya.png" width=16> ';
}else{
$icon=null;
}
return $icon.' <a href=/profile/'.$ank['id'].'>'.$ank['login'].'</a>';
}else{
return '<b>Пользователя не существует!</b>';}
}
function links($arr)
{
return '<a href="http://'.$_SERVER['HTTP_HOST'].$arr[1].'">'.$arr[2].'</a>';
}
function bb($msg){
global $db;
global $config;
$msg=str_replace("rn","<br/>",$msg);
$msg = preg_replace('#[b](.*?)[/b]#si', '<b>1</b>', $msg);
$msg = preg_replace('#[i](.*?)[/i]#si', '<i>1</i>', $msg);
$msg = preg_replace('#[u](.*?)[/u]#si', '<u>1</u>', $msg);
$msg = preg_replace('#[small](.*?)[/small]#si', '<small>1</small>', $msg);
$msg = preg_replace('#[c](.*?)[/c]#si', '<center>1</center>', $msg);
$msg = preg_replace_callback('/[img=(.+)]/isU', 'img', $msg);
$msg = preg_replace_callback('/[color=(.+)](.+)[/color]/isU', 'color', $msg);
if($config['spam']==1){
$msg = preg_replace("#S+(.ru|.com.ua|.tk|.net|.mobi|.org|.biz|.info|.su|.name|.com|.keo.su|.aux.su|.kz|.tv|.рф|.ga|.ml)/S+[^s.,> )];'"!?]#",'<b>[SPAM]</b>',$msg);
$msg = preg_replace("#S+(.ru|.com.ua|.tk|.net|.mobi|.org|.biz|.info|.su|.name|.com|.keo.su|.aux.su|.kz|.tv|.рф|.ga|.ml)#",'<b>[SPAM]</b>',$msg);
}
$msg = preg_replace_callback('/[url=(.+)](.+)[/url]/isU', 'links', $msg);
$msg = preg_replace_callback('/[users=(.+)]/isU', 'users', $msg);
$res = $db->query("SELECT * FROM `smile`");
foreach($res as $smile){
$sm = explode("|", $smile['op']);
for ($i = 0; $i < count($sm); $i++)
{$msg = str_replace($sm[$i], '<img src=/design/ico/smile/'.$smile['id'].'.png>', $msg);}}
return $msg;
}
//End bb code
function us($user=0){
global $db;
$ank = $db->query("SELECT * FROM `users` WHERE `id`='".$user."'")->fetch();
if($ank['rasa']==1){
$icon=$ank['time']>time()-600?'<img src="/design/ico/png/sparta.png" width=16> ':'<img src="/design/ico/png/off.png" width=16> ';
}elseif($ank['rasa']==2){
$icon=$ank['time']>time()-600?'<img src="/design/ico/png/troya.png" width=16> ':'<img src="/design/ico/png/off.png" width=16> ';
}else{
$icon=null;
}
$login=empty($ank['color1']) && empty($ank['color2'])?filter($ank['login']):grad(filter($ank['login']),$ank['color1'],$ank['color2']);
if($ank['admin']==2)$ad=' <font color="green">[Адм]</font>';elseif($ank['admin']==1)$ad=' <font color="green">[Мд]</font>';else $ad=null;
return $icon.'<a href=/profile/'.$ank['id'].'>'.$login.'</a>'.$ad;
}
function them($id=0){
global $db;
$them = $db->query("SELECT * FROM `them` WHERE `id`='".$id."'")->fetch();
if($them['z']==0){
if($them['status']==0){
$img='<img src=/design/ico/png/theme.png>';
}else{
$img='<img src=/design/ico/png/theme_d.png>';
}
}else{
$img='<img src=/design/ico/png/theme_ok.png>';
}
return $img;
}
#Тех работы
if($config['those']==1 && isset($user['id']) && $user['admin']<2){
require_once (H.'/core/those.php');
exit();
}
#Крон, который юзер запускает сам, не зная этого.
require_once (H.'/core/cron.php');
if(isset($user['id'])){
if($user['ip']!=$_SERVER['REMOTE_ADDR']){
$stmt = $db->prepare("UPDATE `users` SET `ip`=? WHERE `id`=?")-> execute(array($_SERVER['REMOTE_ADDR'], $user['id']));
}
$c_b=$db->query("SELECT id FROM `ban` WHERE `t_ban`>'".time()."' AND `id_ank`='".$user['id']."'")->rowCount();
if($c_b!=0 && $_SERVER['PHP_SELF'] != '/ban.php'){
header('Location:/ban');
}else{
//Проверка на наличие боя в арене.
$count_boy=$db->query("SELECT id FROM `arena` WHERE `id_user`= '".$user['id']."' AND `status`='0' AND `time`>'".(time()-300)."'")->rowCount();
if($count_boy!=0 && $_SERVER['PHP_SELF'] != '/arena/fight.php'){
$boy = $db->query("SELECT * FROM `arena` WHERE `id_user`= '".$user['id']."' AND `status`='0'")->fetch();
header('Location:/arena/fight/'.$boy['id']);
}}
}
//Скрытие новости.
if(isset($_GET['close_news']) && isset($user['id'])){
$stmt = $db->prepare("UPDATE `users` SET `news`='1' WHERE `id`='".$user['id']."'")-> execute();
header('Location:?');
}
if(isset($_GET['bonus']) && isset($user['id'])){
if($user['bonus']<time()-60*60*24){
$stmt = $db->prepare("UPDATE `users` SET `bonus`='".time()."', `rubin`=`rubin`+'3' WHERE `id`='".$user['id']."'")-> execute();
$_SESSION['msg']='Бонус получен';
header('Location:?');
}
}
if(isset($_GET['close_news_guild']) && isset($user['id'])){
$stmt = $db->prepare("UPDATE `g_users` SET `news`='0' WHERE `id_user`='".$user['id']."'")-> execute();
header('Location:?');
}
?>