Вход Регистрация
Файл: a2345/function.php
Строк: 325
<? /////andrey69rus
////////////////////////////////////noflood//////////////////////////

   
$nf_path=$_SERVER['DOCUMENT_ROOT'].'/tmp/';

  
$nf_fip=$nf_path.$_SERVER['REMOTE_ADDR'];


  
$nf_fcron=$nf_path.'.time';

   
$nf_flood=array(
      
10   => 10,      // не более 10 загрузок за 10 секунд
      
60   => 30,      // не более 30 загрузок за минуту
      
300  => 50,      // не более 50 загрузок за 5 минут
      
3600 => 200,     // не более 200 загрузок за час
   
);

   
$nf_cron_run=1200// раз в сколько секунд проверять старые файлы

   
$nf_old_file=7200// через сколько секунд считать файл старым (и удалять)

function cron_update($fn,$update) {

   if (!
file_exists($fn)) {
      if (!@
touch($fn)) {
         echo 
'Не могу создать <strong>'.basename($fn).'</strong>, проверьте права на файлы (w+)<br/>';
         return -
1;
      }
   }
   else {
      if (
time()-filemtime($fn)<$update) {return 0;}
   }

   
$f=@fopen($fn,'r+');
   if (!
$f) {
      echo 
'Не могу открыть <strong>'.basename($fn).'</strong>, проверьте права на файлы (r+)<br/>';
      return -
1;
   }
   if (!
flock($f,6)) {return;}
   
$text=fgets($f,100);
   if (
time()-intval($text)<$update) {return 0;}
   
fseek($f,0,SEEK_SET);
   
fwrite($f,time().'    ');
   
fclose($f);

   return 
1;

}


   
$nf_cron_code=cron_update($nf_fcron,$nf_cron_run);
   if (
$nf_cron_code==-1) return;
   if (
$nf_cron_code==1) {
      if (
$nf_dir=@opendir($nf_path)) {
         
$nf_time=time()-$nf_old_file;
         while ((
$nf_tmp=readdir($nf_dir))!==false) {
            if (
$nf_tmp[0]=='.') continue;
            if (
filemtime($nf_path.$nf_tmp)<$nf_time &&
               
preg_match("!^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$!",$nf_tmp))
            {
               if (!
unlink($nf_path.$nf_tmp)) {
                  echo 
'Не могу удалить <trong>'.$nf_tmp.'</strong><br/>';
               }
            }
         }
         
closedir($nf_dir);
      }
   }
   unset(
$nf_cron_code);


   if (
file_exists($nf_fip)) {
      
$nf_f=@fopen($nf_fip,'r+');
      if (!
flock($nf_f,6)) exit('Parallel processing disable.');
      if (!
$nf_f) {
         echo 
'Не могу открыть <strong>'.basename($nf_fip).'</strong> (r+)<br/>';
         return;
      }
      
$nf_buf=fgets($nf_f,1000);
      
$nf_buf=explode('|',$nf_buf);
   }
   else {
      for(
$nf_i=0$nf_i<count($nf_flood)*2$nf_i++) $nf_buf[]=0;
      
$nf_f=@fopen($nf_fip,'a+');
      if (!
$nf_f) {
         echo 
'Не могу создать <strong>'.basename($nf_fip).'</strong> (a+)<br/>';
         return;
      }
      if (!
flock($nf_f,6)) exit('Parallel processing disable.');
   }


   
$nf_i=0;
   
$nf_stopflag=0;


   foreach (
$nf_flood as $nf_k=>$nf_v) {
      if (
$nf_buf[$nf_i+1]+$nf_k<time()) {
         
$nf_buf[$nf_i]=1;
         
$nf_buf[$nf_i+1]=time();
      }
      else {
         if (
$nf_buf[$nf_i]>$nf_v) {
            
$nf_stopflag=1;
            
$nf_buf[$nf_i+1]=time();
         }
         
$nf_buf[$nf_i]++;
      }
      
$nf_i+=2;
   }


   
ftruncate($nf_f,0);
   
fseek($nf_f,0);
   
fputs($nf_f,implode('|',$nf_buf));


   if (
$nf_stopflag) exit('Flood detect!');

   unset(
$nf_f);
   unset(
$nf_i);
   unset(
$nf_k);
   unset(
$nf_v);
   unset(
$nf_stopflag);
   unset(
$nf_buf);
   unset(
$nf_fip);
   unset(
$nf_path);
   unset(
$nf_flood);
   unset(
$nf_cron_run);
   unset(
$nf_cron_idle);

////////////////////////////////////////////////////////////////
function user($id)
{

$ank mysql_fetch_array(mysql_query("SELECT * FROM `user` WHERE `id` = '$id'"));


if(
$ank['date'] < (time()-600)) $tut '';
elseif(
$ank['date'] < (time()-60))
{
$tut='<span class="cGrey">*</span>';
}else{
$tut '';



return 
"<img src='/img/user".($ank['date'] <= time()-600?"off":null).".png'> <a href='/$id'>$ank[name]</a><span class='c".($ank['status']==0?"'>":null)."".($ank['status']==2?"Moder'>[m]":null)."".($ank['status']==3?"Admin'>[a]":null)."</span>".$tut."";

}

/////////////////////////////////////////////
function gr($id)
{

$gr mysql_fetch_array(mysql_query("SELECT * FROM `groups` WHERE `id` = '$id'"));
return 
"<img src='img/group.png'> <a href='/group_$id'>$gr[name]</a> <small> Ур.$gr[lvl]</small>";

}

/////////////////////////////////////////////

function page($k_page=1){ // Выдает текущую страницу
$page=1;
if (isset(
$_GET['page'])){
if (
$_GET['page']=='end')$page=intval($k_page);elseif(is_numeric($_GET['page'])) $page=intval($_GET['page']);}
if (
$page<1)$page=1;
if (
$page>$k_page)$page=$k_page;
return 
$page;}

function 
k_page($k_post=0,$k_p_str=15){ // Высчитывает количество страниц
if ($k_post!=0){$v_pages=ceil($k_post/$k_p_str);return $v_pages;}
else return 
1;}

function 
str($link='?',$k_page=1,$page=1){ // Вывод номеров страниц (только на первый взгляд кажется сложно ;))
if ($page<1)$page=1
echo
'<div class="umenu"><div class="page">';
if (
$page!=1)echo " <a href="".$link."page=1" title='Страница №1' class='button_one'>1</a> ";
else echo 
" <b>1</b> ";
for (
$ot=-3$ot<=3$ot++){
if (
$page+$ot>&& $page+$ot<$k_page){
if (
$ot==-&& $page+$ot>2)echo " .. ";
if (
$ot!=0)echo " <a href="".$link."page=".($page+$ot)."" title='Страница №".($page+$ot)."' class='button_one'>".($page+$ot)."</a> ";
else echo 
" <b>".($page+$ot)."</b> ";
if (
$ot==&& $page+$ot<$k_page-1)echo " .. ";}}
if (
$page!=$k_page)echo " <a href="".$link."page=end" title='Страница №$k_page' class='button_one'>$k_page</a> "
elseif (
$k_page>1)echo " <b>$k_page</b> ";
echo
'</div></div>';
}

////////////////////////////////////////////////
function my_esc($str)
{
return 
mysql_real_escape_string($str);
}

/////////////////////////////////////////////
function maketime($string) {
if(
$string 3600){
$string sprintf("%02d:%02d", (int)($string 60) % 60$string 60);
}else{
$string sprintf("%02d:%02d:%02d", (int)($string 3600) % 24, (int)($string 60) % 60$string 60);
};
return 
$string;
};
//////////////////////////////////////////////
function err_game($msg)
{
echo 
"<b><div class='umenu'><img src='img/err.png' /> <span class='cRed'>$msg</span></div></b>";
}
///////////////////////////////////////////////

function msg_game($msg)
{
echo 
"<b><div class='umenu'><img src='img/ok.png' /> <span class='cDGreen'>$msg</span></div></b>";
}
///////////////////////////////////////////////

function vremja($time=NULL)
{

$timep="".date("j M Y в H:i"$time)."";
$time_p[0]=date("j n Y"$time);
$time_p[1]=date("H:i"$time);

if (
$time_p[0]==date("j n Y"))$timep=date("H:i:s"$time);
if (
$time_p[0]==date("j n Y"time()-60*60*24))$timep="Вчера в $time_p[1]";

$timep=str_replace("Jan","Янв",$timep);
$timep=str_replace("Feb","Фев",$timep);
$timep=str_replace("Mar","Марта",$timep);
$timep=str_replace("May","Мая",$timep);
$timep=str_replace("Apr","Апр",$timep);
$timep=str_replace("Jun","Июня",$timep);
$timep=str_replace("Jul","Июля",$timep);
$timep=str_replace("Aug","Авг",$timep);
$timep=str_replace("Sep","Сент",$timep);
$timep=str_replace("Oct","Окт",$timep);
$timep=str_replace("Nov","Ноября",$timep);
$timep=str_replace("Dec","Дек",$timep);
return 
$timep;

}
//////////////////////////////////////////////////
function br($str,$br='<br />'){return preg_replace("#((<br( ?/?)>)|n|r)+#i",$br$str);} // переносы строк

///////////////////////////////////////////////////



function smiles($str) {
    
$str preg_replace('/:)|:-)|:smile:/''<img src="/img/smiles/smiley-smile.png" alt="Smile" />'$str);
    
$str preg_replace('/:D|:-D/''<img src="/img/smiles/smiley-grin.png" alt="Smile" />'$str);
    
$str preg_replace('/:(|:-(/''<img src="/img/smiles/smiley-sad.png" alt="Smile" />'$str);
    
$str preg_replace('/;-(|;(/''<img src="/img/smiles/smiley-cry.png" alt="Smile" />'$str);
    
$str preg_replace('/;)|;-)/''<img src="/img/smiles/smiley-wink.png" alt="Smile" />'$str);
    
$str preg_replace('/8)|8-)/''<img src="/img/smiles/smiley-cool.png" alt="Smile" />'$str);
    
$str preg_replace('/=O|O_O/''<img src="/img/smiles/smiley-eek.png" alt="Smile" />'$str);
    
$str str_replace('$)''<img src="/img/smiles/smiley-money.png" alt="Smile" />'$str);
    
$str str_replace(':*''<img src="/img/smiles/smiley-kiss.png" alt="Smile" />'$str);
    
$str preg_replace('/:P/''<img src="/img/smiles/smiley-razz.png" alt="Smile" />'$str);
    
$str str_replace(':|''<img src="/img/smiles/smiley-netural.png" alt="Smile" />'$str);
    
$str preg_replace('/:Z/''<img src="/img/smiles/smiley-sleep.png" alt="Smile" />'$str);
    
$str preg_replace('/:lol:/''<img src="/img/smiles/smiley-lol.png" alt="Smile" />'$str);
    
$str preg_replace('/:rofl:/''<img src="/img/smiles/smiley-yell.png" alt="Smile" />'$str);
    
$str str_replace(':&''<img src="/img/smiles/smiley-confuse.png" alt="Smile" />'$str);
    
$str str_replace(':>''<img src="/img/smiles/smiley-evil.png" alt="Smile" />'$str);
    
$str str_replace(':@''<img src="/img/smiles/smiley-mad.png" alt="Smile" />'$str);
    
$str preg_replace('/:angel:/''<img src="/img/smiles/smiley-angel.png" alt="Smile" />'$str);
    
$str preg_replace('/:bla:/''<img src="/img/smiles/smiley-draw.png" alt="Smile" />'$str);
    
$str preg_replace('/:fat:/''<img src="/img/smiles/smiley-fat.png" alt="Smile" />'$str);
    
$str preg_replace('/:kitty:/''<img src="/img/smiles/smiley-kitty.png" alt="Smile" />'$str);
    
$str preg_replace('/:green:/''<img src="/img/smiles/smiley-mr-green.png" alt="Smile" />'$str);
    
$str str_replace('%)''<img src="/img/smiles/smiley-nerd.png" alt="Smile" />'$str);
    
$str preg_replace('/:red:/''<img src="/img/smiles/smiley-red.png" alt="Smile" />'$str);
    
$str preg_replace('/:roll:/''<img src="/img/smiles/smiley-roll.png" alt="Smile" />'$str);
    
$str preg_replace('/:sweat:/''<img src="/img/smiles/smiley-sweat.png" alt="Smile" />'$str);
    
$str preg_replace('/:slim:/''<img src="/img/smiles/smiley-slim.png" alt="Smile" />'$str);
    
$str preg_replace('/:surprise:/''<img src="/img/smiles/smiley-surprise.png" alt="Smile" />'$str);
    
$str preg_replace('/:wink:/''<img src="/img/smiles/smiley-wink.png" alt="Smile" />'$str);
    
$str str_replace('<)''<img src="/img/smiles/smiley-twist.png" alt="Smile" />'$str);
    
$str str_replace(':]''<img src="/img/smiles/smiley-zipper.png" alt="Smile" />'$str);
    return 
$str;
    }

function 
output_text($str){
    
$str preg_replace('/[b](.+)[/b]/isU''<b>$1</b>'$str); 
    
$str preg_replace('/[u](.+)[/u]/isU''<span style="text-decoration:underline;">$1</span>'$str); 
    
$str preg_replace('/[s](.+)[/s]/isU''<s>$1</s>'$str); 
    
$str preg_replace('/[i](.+)[/i]/isU''<i>$1</i>'$str); 
    
$str preg_replace('/[big](.+)[/big]/isU''<span style="font-size:large;">$1</span>'$str); 
    
$str preg_replace('/[small](.+)[/small]/isU''<span style="font-size:small;">$1</span>'$str); 
    
$str preg_replace('/[color=(.+)](.+)[/color]/isU''<span style="color:$1;">$2</span>'$str); 
    
   
$str preg_replace("/(http://)?([[:alnum:]]|_){3,30}(s+)?(.|,)(s+)?([[:alnum:]]|){3,30}(s)?(.|,)?(s)?([[:alnum:]]){2,4}/i"""$str);

   
    
$str smiles($str); // смайлы
    
$str br($str); // переносы строк


    
return $str;
    }





///////////////////////////////////////////////////////////////
?>
Онлайн: 1
Реклама