Файл: sys/core/old.php
Строк: 147
<?php
// Местонахождение пользователя \
# Отмечам где не показываем местонахождение
if (isset($_SESSION['refer']) && $_SESSION['refer']!=NULL && !preg_match('#(rules)|(smiles)|(secure)|(aut)|(reg)|(umenu)|(zakl)|(mail)|(anketa)|(settings)|(avatar)|(info)|(my_aut).php#',$_SERVER['SCRIPT_NAME']))
$_SESSION['refer']=NULL;
# немного обновил
function otkuda($ref)
{
if (preg_match('#^/forum/#',$ref)) $mesto='Форум';
elseif (preg_match('#^/chat/#',$ref)) $mesto='Чат';
elseif (preg_match('#^/lib/#',$ref)) $mesto='Библиотека';
elseif (preg_match('#^/news/#',$ref)) $mesto='Новости';
elseif (preg_match('#^/adm_panel/#',$ref)) $mesto='Админка';
elseif (preg_match('#^/pages/guestbook/#',$ref)) $mesto='Гостевая';
elseif (preg_match('#^/loads/#',$ref)) $mesto='Загрузки';
elseif (preg_match('#^/pages/smiles/#',$ref)) $mesto='Смотрит смайлы';
elseif (preg_match('#^/pages/bbcode/#',$ref)) $mesto='В бб кодах';
elseif (preg_match('#^/exit.php#',$ref)) $mesto='Выходит';
elseif (preg_match('#^/pages/jurnal/#',$ref)) $mesto='В журнале';
elseif (preg_match('#^/rules.php#',$ref)) $mesto='Учит правила';
elseif (preg_match('#^/settings.php#',$ref)) $mesto='В настройках';
elseif (preg_match('#^/users.php#',$ref)) $mesto='Пользователи';
elseif (preg_match('#^/online.php#',$ref)) $mesto='Сейчас на сайте';
elseif (preg_match('#^/online_g.php#',$ref)) $mesto='Гости';
elseif (preg_match('#^/reg.php#',$ref)) $mesto='Регистрация';
elseif (preg_match('#^/obmen/#',$ref)) $mesto='Обменник';
elseif (preg_match('#^/aut.php#',$ref)) $mesto='Авторизация';
elseif (preg_match('#^/index.php#',$ref)) $mesto='Главная';
elseif (preg_match('#^/??$#',$ref)) $mesto='Главная';
else $mesto=false;
return $mesto;
}
// Медальки пользователей \ (устарела)
function medal($user=NULL)
{
$ank=mysql_fetch_array(query("SELECT * FROM `user` WHERE `id` = $user LIMIT 1"));
if ($ank['rating']>=6 && $ank['rating']<=11)
echo ' <img src="/style/medal/1.png" alt="" class="icon"/>';
elseif ($ank['rating']>=12 && $ank['rating']<=19)
echo ' <img src="/style/medal/2.png" alt="" class="icon"/>';
elseif ($ank['rating']>=20 && $ank['rating']<=27)
echo ' <img src="/style/medal/3.png" alt="" class="icon"/>';
elseif ($ank['rating']>=28 && $ank['rating']<=37)
echo ' <img src="/style/medal/4.png" alt="" class="icon"/>';
elseif ($ank['rating']>=38 && $ank['rating']<=47)
echo ' <img src="/style/medal/5.png" alt="" class="icon"/>';
elseif ($ank['rating']>=48 && $ank['rating']<=59)
echo ' <img src="/style/medal/6.png" alt="" class="icon"/>';
elseif ($ank['rating']>=60 && $ank['rating']<=9999999)
echo ' <img src="/style/medal/7.png" alt="" class="icon"/>';
}
// Пользователь онлайн - офлайн \ (устарела)
function online($user=NULL)
{
global $set;
static $users;
if (!isset($users[$user])){
if (mysql_result(query("SELECT COUNT(*) FROM `user` WHERE `id` = '$user' AND `date_last` > '".(time()-600)."' LIMIT 1"),0)==1)
{
if ($set['show_away']==0)
$on='On';
else
{
$ank=mysql_fetch_assoc(query("SELECT `date_last` FROM `user` WHERE `id` = '$user' LIMIT 1"));
if ((time()-$ank['date_last'])==0)
$on='On';
else
$on='away: '.(time()-$ank['date_last']).' сек';
}
$users[$user]= ' <span class="on">'.$on.'</span>';
}
else
$users[$user]='<span class="off">Off</span>';
}
return $users[$user];
}
# Вывод иконки статуса \ (устарела)
function status($user=NULL)
{
global $time;
// Пользователь забанен
if (mysql_result(query("SELECT COUNT(*) FROM `ban` WHERE `id_user` = '$user' AND `time` > '$time'"), 0)!=0){
echo '<img src="/style/user/ban.png" alt="" class="icon"/>';
}
else {
$ank=mysql_fetch_array(query("SELECT * FROM `user` WHERE `id` = $user LIMIT 1"));
// Администраторы
if ($ank['group_access']>7){
echo '<img src="/style/user/'.($ank['pol']==1?1:2).'.png" alt="" />';
}
else
// Модераторы
if ($ank['group_access']>1 && $ank['group_access']<=7){
echo '<img src="/style/user/'.($ank['pol']==1?3:4).'.png" alt="" />';
}
else
// Пользователи
if(isset ($ank['status'])==0){
// Помечаем новеньких на сутки
if (mysql_result(query("SELECT COUNT(*) FROM `user` WHERE `id` = '$user' AND `date_reg` > '".(time()-86400)."' LIMIT 1"),0)==1) {
echo '<img src="/style/user/'.($ank['pol']==1?8:7).'.png" alt="" />';
}
else
echo '<img src="/style/user/'.($ank['pol']==1?5:6).'.png" alt="" />';
}
}
}
//хрен знает где еще используются ,позже будет удалена если не где
function tr_loads($in)
{
return preg_replace('#[^A-z0-9_-.()]+#ui', '_', $in);
}
function url($url)
{
$url2=preg_split('#&(amp;)?#', $url);
$url3=NULL;
for ($i=0;$i<count($url2);$i++)
{
$url4=explode('=', $url2[$i]);
if (isset($url4[1]))
$url3.=$url4[0].'='.urlencode($url4[1]);
else $url3.=$url4[0];
if ($i<count($url2)-1)$url3.='&';
}
return $url3;
}
function url2($url)
{
$url2=explode('/', $url);
for ($i=0;$i<sizeof($url2);$i++)
{
$url2[$i]=urlencode($url2[$i]);
}
return implode('/',$url2);
}
// для форм
function input_value_text($str){
return output_text($str,0,1,0,0,0);
}
// оптимизация всех таблиц
function db_optimize()
{
time_limit(20);// Ставим ограничение на 20 секунд
$tab=mysql_query('SHOW TABLES');
while ($tables=mysql_fetch_array($tab))
{
mysql_query("OPTIMIZE TABLE `$tables[0]`");
}
}
// рекурсивное удаление папки
function delete_dir($dir){
if (is_dir($dir)){
$od=opendir($dir);
while ($rd=readdir($od))
{
//пропускаем
if ($rd == '.' || $rd == '..') continue;
if (is_dir("$dir/$rd"))
{
@chmod("$dir/$rd", 0777);
delete_dir("$dir/$rd");
}
else
{
@chmod("$dir/$rd", 0777);
@unlink("$dir/$rd");}}
closedir($od);
@chmod("$dir", 0777);
return @rmdir("$dir");
}
else
{
@chmod("$dir", 0777);
@unlink("$dir");
}
}
# Защита от частых запросов с одного IP
if ($set['antidos'])
{
$antidos[] = array('time'=> $time);
$k_loads = 0;
if (is_file(H.'sys/tmp/antidos_'.$iplong.'.dat'))
{
$antidos_dat = unserialize(file_get_contents(H.'sys/tmp/antidos_'.$iplong.'.dat'));
for ($i = 0; $i < 150 and $i < sizeof($antidos_dat); ++$i)
{
if($antidos_dat[$i]['time'] > $time-5)
{
$k_loads++;
$antidos[] = $antidos_dat[$i];
}
}
}
}