Файл: system/function.php
Строк: 120
<?php
/**
* Author: Elime;
* ICQ: 618878;
* E-mail: elime4@gmail.com;
*/
/* Проверка голосования */
function check_vote($file_id, $ip, $db)
{
$result = $db->result("SELECT COUNT(*) FROM `like` WHERE `file_id`='".num($file_id)."' AND `ip`='".num($ip)."'");
if($result)
{
return true;
}
else
{
return false;
}
}
/* Проверка прав пользователя */
function check_right($user_id, $right, $db)
{
if($user_id == 1) return true;
return $db->result("SELECT COUNT(*) FROM `rights` WHERE `user_id`='".$user_id."' AND `right`='".$right."'");
}
/* Вывод длительности видео */
function duration($time)
{
return date('i:s', $time);
}
/* Изменение размеров изображения */
function imageresize($infile, $outfile, $neww, $newh, $quality)
{
$im = imagecreatefromjpeg($infile);
$k1 = $neww / imagesx($im);
$k2 = $newh / imagesy($im);
$k = $k1 > $k2 ? $k2 : $k1;
$w = intval(imagesx($im) * $k);
$h = intval(imagesy($im) * $k);
$im1 = imagecreatetruecolor($w, $h);
imagecopyresampled($im1, $im, 0, 0, 0, 0, $w, $h, imagesx($im), imagesy($im));
imagejpeg($im1, $outfile, $quality);
imagedestroy($im);
imagedestroy($im1);
}
/* Функция рекурсивного удаления папки */
function remove_dir($path)
{
if(file_exists($path) && is_dir($path))
{
$dirHandle = opendir($path);
while (false !== ($file = readdir($dirHandle)))
{
if ($file!='.' && $file!='..')
{
$tmpPath = $path.'/'.$file;
chmod($tmpPath, 0777);
if (is_dir($tmpPath))
{
remove_dir($tmpPath);
}
else
{
if(file_exists($tmpPath))
{
unlink($tmpPath);
}
}
}
}
closedir($dirHandle);
if(file_exists($path))
{
rmdir($path);
}
}
else
{
return false;
}
return true;
}
/* Транслит */
function translit($var)
{
if (preg_match('/[^A-Za-z0-9_-]/', $var))
{
$tr = array(
"А"=>"a", "Б"=>"b", "В"=>"v", "Г"=>"g",
"Д"=>"d", "Е"=>"e", "Ж"=>"j", "З"=>"z", "И"=>"i",
"Й"=>"y", "К"=>"k", "Л"=>"l", "М"=>"m", "Н"=>"n",
"О"=>"o", "П"=>"p", "Р"=>"r", "С"=>"s", "Т"=>"t",
"У"=>"u", "Ф"=>"f", "Х"=>"h", "Ц"=>"ts", "Ч"=>"ch",
"Ш"=>"sh", "Щ"=>"sch", "Ъ"=>"","Ы"=>"yi", "Ь"=>"",
"Э"=>"e", "Ю"=>"yu", "Я"=>"ya", "а"=>"a", "б"=>"b",
"в"=>"v", "г"=>"g", "д"=>"d", "е"=>"e", "ж"=>"j",
"з"=>"z", "и"=>"i", "й"=>"y", "к"=>"k", "л"=>"l",
"м"=>"m", "н"=>"n", "о"=>"o", "п"=>"p", "р"=>"r",
"с"=>"s", "т"=>"t", "у"=>"u", "ф"=>"f", "х"=>"h",
"ц"=>"ts", "ч"=>"ch", "ш"=>"sh", "щ"=>"sch", "ъ"=>"y",
"ы"=>"yi", "ь"=>"", "э"=>"e", "ю"=>"yu", "я"=>"ya",
" "=> "_", "/"=> "_");
$var = strtr($var, $tr);
$var = strtolower($var);
return preg_replace('/[^.A-Za-z0-9_-]/', '', $var);
}
else
{
$var = strtolower($var);
return $var;
}
}
/* Вывод размера файла */
function size($in)
{
if($in>=1073741824)
{
return round($in/1073741824, 2).' GB';
}
elseif($in>=1048576)
{
return round($in/1048576, 2).' MB';
}
elseif($in>=1024)
{
return round($in/1024, 2).' KB';
}
else
{
return round($in).' B';
}
}
/* Кодирование IP адреса */
function ip_code($ip)
{
return sprintf("%un", ip2long($ip));
}
/* Декодирование IP адреса */
function ip_decode($ip_code)
{
return long2ip($ip_code);
}
/* Вывод в ремени в человеческом виде */
function timeformat($time = NULL)
{
$labelTime = date('d.m.Y', $time);
$arrM = array(
'01'=>'янв', '02'=>'фев', '03'=>'мар', '04'=>'апр',
'05'=>'май', '06'=>'июн', '07'=>'июл', '08'=>'авг',
'09'=>'сен', '10'=>'окт', '11'=>'ноя', '12'=>'дек'
);
if($labelTime == date('d.m.Y'))
{
return 'Сегодня в '.date('H:i', $time);
}
elseif($labelTime == (date('d') - 1).'.'.date('m.Y'))
{
return 'Вчера в '.date('H:i', $time);
}
else
{
return date('d', $time).' '.$arrM[date('m', $time)].' '.date('Y', $time).' в '.date('H:i', $time);
}
}
/* Правильное склонение слова */
function ru_word($number, $votes = array('часов', 'час', 'часа'))
{
$numberLast = intval(substr(strval($number),-1,1));
$numberPreLast = intval(substr(strval($number),-2,2));
if(($numberLast == 0) or ((5<=$numberLast) and ($numberLast<=9)) or((11<=$numberPreLast) and ($numberPreLast<=19)))
{
$type=0;
}
elseif(($numberLast==1) and ($numberPreLast!=11))
{
$type=1;
}
elseif((2<=$numberLast) and ($numberLast<=4))
{
$type=2;
}
return $number.' '.$votes[$type];
}
/* Функция для отправки сообщений пользователю */
function message($text = '', $url = '')
{
$_SESSION['message'] = $text;
if(empty($url))
{
$url = $_SERVER['REQUEST_URI'];
}
header('Location: '.$url);
exit();
}
/* Переадресация */
function go($url = '')
{
header('Location: '.$url);
exit();
}
/* Фильтрация при записи в БД */
function in($var)
{
global $db;
return $db->real(trim($var));
}
/* Фильтрация при выводе из БД */
function out($var)
{
return htmlspecialchars(stripslashes($var));
}
/* Фильтрация чисел */
function num($var)
{
return abs(intval($var));
}
/* Антиреклама */
function advert($var)
{
return preg_replace('#([a-z0-9\s-.]){3,20}(.|,)([a-z\s]){2,4}#si', '[реклама]', $var);
}
?>