View file lib/inc/fnc.php

File size: 9.72Kb
<?php
#Made By: AngelOfFaith
#ICQ: 410755038
#Email: [email protected]
#Url: http://coder-lib.ru
#Все права на скрипт принадлежат автору! Тоесть мне! Скрипт запрещено распространять и/или продавать без согласия автора!
session_start();
mb_internal_encoding("UTF-8");

//////////////////Функция для определения корневой сайта///////////////////
$folder_level = "";
while (!file_exists($folder_level."basedir.php")) { $folder_level .= "../"; }
define('BASE', $folder_level);


//////////////////////////////Функция бб кода//////////////////////////////////
function bbcode($msg){
#$msg = preg_replace('#\[code\](.*?)\[/code\]#ie', 'highlight_code("\1")', $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('#\[red\](.*?)\[/red\]#si', '<font color="#FF0000">\1</font>', $msg);
$msg = preg_replace('#\[green\](.*?)\[/green\]#si', '<font color="#00FF00">\1</font>', $msg);
$msg = preg_replace('#\[blue\](.*?)\[/blue\]#si', '<font color="#0000FF">\1</font>', $msg);
$msg = preg_replace('#\[yellow\](.*?)\[/yellow\]#si', '<font color="#FFFF00">\1</font>', $msg);
$msg = preg_replace('#\[q\](.*?)\[/q\]#si', '<q>\1</q>', $msg);
$msg = preg_replace('#\[del\](.*?)\[/del\]#si', '<del>\1</del>', $msg);
$msg = preg_replace_callback('~\\[url=(http://.+?)\\](.+?)\\[/url\\]|(http://(www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&amp;_=/%-:#]*)~', 'url_replace', $msg);
return $msg;
};


function nobbcode($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('#\<q\>(.*?)\</q\>#si', '[q]\1[/q]', $msg);
$msg = preg_replace('#\<del\>(.*?)\</del\>#si', '[del]\1[/del]', $msg);
$msg = preg_replace('#\<font color="\#FF0000"\>(.*?)\</font\>#si', '[red]\1[/red]', $msg);
$msg = preg_replace('#\<font color="\#00FF00"\>(.*?)\</font\>#si', '[green]\1[/green]', $msg);
$msg = preg_replace('#\<font color="\#0000FF"\>(.*?)\</font\>#si', '[blue]\1[/blue]', $msg);
$msg = preg_replace('#\<font color="\#FFFF00"\>(.*?)\</font\>#si', '[yellow]\1[/yellow]', $msg);
return $msg;
};


////////////////Дополнительная функция ББкода для замена ссылки/////////////////
function url_replace($m) {
if( !isset($m[3]) ) {
return '<a href="' . $m[1] . '">' . $m[2] . '</a>';
} else {
return '<a href="' . $m[3] . '">' . $m[3] . '</a>';
}};

/*
////////////////Дополнительная функция ББкода для подсветки кода////////////////
function highlight_code($code) {
$code=strtr($code,array("&lt;"=>"<","&gt;"=>">","&amp;"=>"&","&#36;"=>"\$","&quot;"=>"\"","&#39;"=>"'","&#92;"=>"\\","&#37;"=>"%","<br>"=>"\r\n","&#94;"=>"^","&#58;"=>":"));
$code=highlight_string($code,true);
$code=strtr($code,array("<br />"=>"<br>","\$"=>"&#36;","'"=>"&#39;","%"=>"&#37;","^"=>"&#94;",":"=>"&#58;")); //,""=>""
return $code;}
*/

function highlight_code($msg)
{
return preg_replace('#<code>(.*?)</code>#si', '\\1' ,highlight_string($msg,1));
}

//////////////////////////////Делаем из секунд норм время//////////////////////
function maketime($string) {
$day=floor($string/86400);
$hours=floor(($string/3600)-$day*24);
$min=floor(($string-$hours*3600-$day*86400)/60);
$sec=$string-($min*60+$hours*3600+$day*86400);
return $day.' дн. '.$hours.':'.$min.':'.$sec;
};


/////////////////////////////////Функция антимата/////////////////////////////
function antimat($msg){
$mat = file_get_contents(BASE."sys/mat.dat");
$arr_mat= explode("|",$mat);
foreach($arr_mat as $value){
if($value!=""){
$msg=preg_replace("|$value|iu","***",$msg);};};
return $msg;
}


//////////////////////////////////Функция для смайлов///////////////////////////
function smile($msg){
$dir = opendir (BASE."img/smile");
while ($file = readdir ($dir)) {
if (ereg ("\.gif$", $file)){
$smfile[]=str_replace(".gif","",$file);}}
closedir ($dir);
rsort($smfile);
foreach($smfile as $smval){
$msg=str_replace(":$smval",'<img src="'.BASE.'img/smile/'.$smval.'.gif" alt=""/>',$msg);}
return $msg;
};

/////////////////////////////////////ASCII to Binary////////////////////////////
function asc2bin($in)
{
$out = '';
for ($i = 0, $len = strlen($in);
$i < $len; $i++)
{
$out .= sprintf("%08b",ord($in{$i}));
}
return $out;
};

//////////////////////////////////Binary to ASCII///////////////////////////////
function bin2asc($in)
{
$out = '';
for ($i = 0, $len = strlen($in);
$i < $len; $i += 8)
{
$out.=chr(bindec(substr($in,$i,8)));
}
return $out;
};




/////////////////////////Безопасная функция кодирования в МД5//////////////////
function md6($msg){
$salt='qwerty';
$msg=md5(md5($salt).md5(md5($msg)));
return $msg;
};


/////////////////////////Функция для полной проверки перменной/////////////////
function bug($msg){
$msg=stripslashes($msg);
$msg=htmlspecialchars(trim($msg));
$msg=mysql_real_escape_string($msg);
$msg=str_replace("`","", $msg);
$msg=str_replace("../","", $msg);
$msg=str_replace("\0","", $msg);
return $msg;
};


////////////////////////Функция для генерации пароля/////////////////
function gen_pass(){
$length=rand(3,6);
$salt = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789";
$len = strlen($salt);
$makepass = '';
for ($i = 0; $i < $length; $i++)
$makepass .= $salt[mt_rand(0,$len - 1)];
return $makepass;
};


///////////////Функция для правильного вывода веса файла/////////////
function formatsize($file_size){

if($file_size >= 1073741824){
$file_size = round($file_size / 1073741824 * 100) / 100 . " Gb";
}elseif(
$file_size >= 1048576){
$file_size = round($file_size / 1048576 * 100) / 100 . " Mb";
}elseif(
$file_size >= 1024){
$file_size = round($file_size / 1024 * 100) / 100 . " Kb";
}else{
$file_size = round($file_size) . " b";}
return $file_size;
};


//////////////////////Функция для защиты от CSRF/////////////////////
function CSRF($refurl){
global $home;
$ref=$home.$refurl;
if($_SERVER['HTTP_REFERER']!=$ref) die('<b>Попытка CSRF атаки!</b><br/>');
};

///////////////////////Функция постраничной навигации/////////////////////
function pagenavig($allpage,$page,$param){
global $smarty;
if($allpage>1){
$NAVIG='';
if($page!=1){$NAVIG.='<a href="'.$_SERVER['PHP_SELF'].'?'.$param.'&amp;page=1">&laquo;</a> ';};
if(($page-2)>0){$NAVIG.='<a href="'.$_SERVER['PHP_SELF'].'?'.$param.'&amp;page='.($page-2).'">'.($page-2).'</a>,';};
if(($page-1)>0){$NAVIG.='<a href="'.$_SERVER['PHP_SELF'].'?'.$param.'&amp;page='.($page-1).'">'.($page-1).'</a>,';};
$NAVIG.=' <b>'.$page.'</b>';
if(($page+1)<=$allpage){$NAVIG.=',<a href="'.$_SERVER['PHP_SELF'].'?'.$param.'&amp;page='.($page+1).'">'.($page+1).'</a>';};
if(($page+2)<=$allpage){$NAVIG.=',<a href="'.$_SERVER['PHP_SELF'].'?'.$param.'&amp;page='.($page+2).'">'.($page+2).'</a>';};
if($page!=$allpage){$NAVIG.=' <a href="'.$_SERVER['PHP_SELF'].'?'.$param.'&amp;page='.$allpage.'">&raquo;</a>';};
};
$smarty->assign('NAVIG',$NAVIG);
};


//////////////////Функция для вывода ON/OFF пользователя/////////////
function isonline($name){
global $onlinelimit;
$name=bug($name);
$x=mysql_query("SELECT `lastvisit` FROM `user` WHERE name='$name'");
$x=mysql_fetch_assoc($x);
if($x['lastvisit']>$onlinelimit){
return '<span style="color:lime">[ON]</span>';
}else{
return '<span style="color:red">[OFF]</span>';
};
};


////////////////////////Функция для вывода аватара////////////////////
function ava($name){
$name=bug($name);
$x=mysql_query("SELECT `avatar` FROM `user` WHERE `name`='$name'");
$x=mysql_fetch_assoc($x);
if(is_file(BASE.'avatar/'.$x['avatar'])){
return '<a href="'.BASE.'sys/avatar.php?act=see&amp;id='.$x['avatar'].'"><img src="'.BASE.'avatar/'.$x['avatar'].'" width="48" height="48"/></a> ';
}else{
return '<img src="'.BASE.'img/ava.png" width="48" height="48"/> ';
};
};


////////////Запись места пребывания пользователя на сайте/////////////
function whereis($id,$where){
global $avt,$ip,$brows;
$id=bug($id);
if($avt==1){
mysql_query("UPDATE `user` SET `whereis`='$where' WHERE `name`='$id'");
}else{
mysql_query("UPDATE `online` SET `whereis`='$where' WHERE `ip`='$ip' AND `brows`='$brows'");
};
};


///////Функция вывода ошибки
function textwrite($data){
global $smarty;
$smarty->assign('ERROR',$data);
};

function hideforum($rid,$usergroup,$level){
global $avt;
$rn=mysql_fetch_assoc(mysql_query("SELECT `fid` FROM `f_razd` WHERE `id`='$rid'"));
$fn=mysql_fetch_assoc(mysql_query("SELECT `group` FROM `f_forums` WHERE `id`='".$rn['fid']."'"));
if($usergroup==$fn['group'] || $level>=4){
return true;
}else{
return false;
};
};


/////////////////////////////УРЛ сайта///////////////////////////////
$home='http://'.$_SERVER['HTTP_HOST'].'/';

///////////////////Путь к админке
define('ACP','acp.php');

/////////////////////////Принимаем текущую страницу//////////////////
$page=(!$_GET['page'] || $_GET['page']<=0) ? 1 : (int)$_GET['page'];


?>