Файл: магазин/e-proger/engine/func.php
Строк: 154
<?php
$message_md5 = 'FVf48FCd43yhfdvfFV'; //шифрования для разных функций (Соль для мд5 паролей юзеров в базе)
function pass_hash($password){
$str = md5(base64_encode(sha1(trim($password))));
return substr(strtoupper($str),1,20);
}
//Узнаем IP пользователя
if ( !function_exists( 'real_IP' ) ) {
function real_IP() {
if ( !empty( $_SERVER['HTTP_CLIENT_IP'] ) ) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
if ( !empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
if ( strpos( $ip, ',' ) !== false ) {
$r_ip = explode( ',', $ip );
$ip = $r_ip[0];
}
if ( !preg_match( "#^(10|172.16|192.168).#", $ip ) ) {
return $ip;
} else {
return $_SERVER['REMOTE_ADDR'];
}
}
}
function clean($var){
$replace = array(
'"' => '',
"'" => '',
'`' => '',
'{' => '',
'}' => '',
'<' => '',
'>' => '',
'%' => '',
'$' => '',
'\' => '',
'+' => '',
'-' => '',
'*' => '',
'№' => '',
'#' => '',
'@' => '',
'!' => '',
'&' => '',
'^' => '',
':' => '',
';' => '',
'(' => '',
')' => '',
'.' => '',
' ' => '',
'%00' => ''
);
return @htmlspecialchars(str_replace(array_keys($replace), array_values($replace), trim($var)));
unset($var, $replace);
}
function get_filesize($file)
{
// идем файл
if(!file_exists($file)) return "Файл не найден";
// теперь определяем размер файла в несколько шагов
$filesize = filesize($file);
// Если размер больше 1 Кб
if($filesize > 1024)
{
$filesize = ($filesize/1024);
// Если размер файла больше Килобайта
// то лучше отобразить его в Мегабайтах. Пересчитываем в Мб
if($filesize > 1024)
{
$filesize = ($filesize/1024);
// А уж если файл больше 1 Мегабайта, то проверяем
// Не больше ли он 1 Гигабайта
if($filesize > 1024)
{
$filesize = ($filesize/1024);
$filesize = round($filesize, 1);
return $filesize." ГБ";
}
else
{
$filesize = round($filesize, 1);
return $filesize." MБ";
}
}
else
{
$filesize = round($filesize, 1);
return $filesize." Кб";
}
}
else
{
$filesize = round($filesize, 1);
return $filesize." байт";
}
}
//склонение слов
function getWord( $number, $suffix ) {
$keys = array( 2, 0, 1, 1, 1, 2 );
$mod = $number % 100;
$suffix_key = ( $mod > 7 && $mod < 20 ) ? 2: $keys[min( $mod % 10, 5 )];
return $suffix[$suffix_key];
}
//фильтрация
function check_text( $text ) {
$text = strip_tags( $text );
$text = str_replace( '<', '', $text );
$text = str_replace( '>', '', $text );
$text = str_replace( '"', '', $text );
$text = str_replace( "'", '', $text );
$text = preg_replace('#[s|S|s+][c|C|s+][r|R|s+][i|I|s+][p|P|s+][t|T]#is', '', $text);
///$text = preg_replace('#[p|P|p+][h|H|h+][p|P|]#is', '', $text);
//$text = preg_replace('#[s|S][c|C][r|R][i|I][p|P][t|T]#is', '', $text);
$text = trim( $text );
$text = htmlspecialchars( $text );
return iconv( 'UTF-8', 'UTF-8', $text );
}
//Генерация кода для восстановление пароля или активации аккаунта
function generate( $number ) {
$arr = array( 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9','0' );
// Генерируем
$pass = "";
for( $i = 0; $i < $number; $i++ ) {
// Вычисляем случайный индекс массива
$index = rand( 0, count( $arr ) - 1 );
$pass .= $arr[$index];
}
return $pass;
}
function clean_get($str){
if(@ini_get('magic_quotes_gpc')=='1'){
$str = stripslashes($str);
}
$str = strip_tags(trim(preg_replace('/s+/',' ',$str)));
$_pattern = array('<', '>', '+', '"', "'", 'union','&');
$_replace = array('', '', '', '', '', '', '[reserve_1]');
$str = str_ireplace($_pattern, $_replace, $str);
$str = @htmlspecialchars($str);
$str = str_replace('[reserve_1]', '&', $str);
return $str;
}
//обрезка длинных слов в заголовках, титлах
function wraptitle( $text, $kol ) {
return preg_replace( '/([^s]{' . $kol . '})[^s]+/', '$1', $text );
}
//навигация
function navigation( $num/*кол-во выводимой инфы*/, $pg/*$_GET['p']*/, $allpage/*всего страниц*/, $query/*url запрос*/ ) {
if ( $allpage == 0 ) $page = 0; else $page = ( int ) $pg;
$allpage = ceil( $allpage / $num );
if ( $allpage == 0 ) $page = 0; else
if ( $page <= 1 ) $page = 1; else
if ( $page >= $allpage) $page = $allpage;
$total = $allpage;
//Формируем навигацию
if ( $page - 4 > 0 ) $page4left = '<a href="' . $query . ($page - 4) . '" onclick="Page.Go(this.href); return false;">' . ($page - 4) . '</a>';
if ( $page - 3 > 0 ) $page3left = '<a href="' . $query . ($page - 3) . '" onclick="Page.Go(this.href); return false;">' . ($page - 3) . '</a>';
if ( $page - 2 > 0 ) $page2left = '<a href="' . $query . ($page - 2) . '" onclick="Page.Go(this.href); return false;">' . ($page - 2) . '</a>';
if ( $page - 1 > 0 ) $page1left = '<a href="' . $query . ($page - 1) . '" onclick="Page.Go(this.href); return false;">' . ($page - 1) . '</a>';
if ( $page + 4 <= $total ) $page4right = '<a href="' . $query . ($page + 4) . '" onclick="Page.Go(this.href); return false;">' . ($page + 4) . '</a>';
if ( $page + 3 <= $total ) $page3right = '<a href="' . $query . ($page + 3) . '" onclick="Page.Go(this.href); return false;">' . ($page + 3) . '</a>';
if ( $page + 2 <= $total ) $page2right = '<a href="' . $query . ($page + 2) . '" onclick="Page.Go(this.href); return false;">' . ($page + 2) . '</a>';
if ( $page + 1 <= $total ) $page1right = '<a href="' . $query . ($page + 1) . '" onclick="Page.Go(this.href); return false;">' . ($page + 1) . '</a>';
if ( $page == 0 ) {
$userpage = '';
} else
if ( $page == 1 and $page == $total ) {
$userpage = '<span class="navpage_for"><span class="curent_page_for">' . $page . '</span> ' . $page1right . ' ' . $page2right . '</span>';
} else
if ( $page == 1 and $total == 2 ) {
$userpage = '<span class="navpage_for"><span class="curent_page_for">' . $page . '</span> ' . $page1right . ' ' . $page2right . '</span>';
} else
if ( $page == 1 ) {
$userpage = '<span class="navpage_for"><span class="curent_page_for">' . $page . '</span> ' . $page1right . ' ' . $page2right . ' <a href="' .$query . $total . '" onclick="Page.Go(this.href); return false;">»</a></span>';
} else
if ( $page == 2 and $page == $total ) {
$userpage = '<span class="navpage_for">' . $page1left . ' <span class="curent_page_for">' . $page . '</span> ' . $page1right . ' ' . $page2right . '</span>';
} else
if ( $page == 2 ) {
$userpage = '<span class="navpage_for">' . $page1left . ' <span class="curent_page_for">' . $page . '</span> ' . $page1right . ' ' . $page2right . ' <a href="' .$query . $total . '" onclick="Page.Go(this.href); return false;">»</a></span>';
} else
if ( $page == $total - 1 ) {
$userpage = '<span class="navpage_for"><a href="' .$query . '1" onclick="Page.Go(this.href); return false;">«</a> ' . $page2left . ' ' . $page1left . ' <span class="curent_page_for">' . $page . '</span> ' . $page1right . '</span>';
} else
if ( $page == $total ) {
$userpage = '<span class="navpage_for"><a href="' .$query . '1" onclick="Page.Go(this.href); return false;">«</a> ' . $page2left . ' ' . $page1left . ' <span class="curent_page_for">' . $page . '</span></span>';
} else {
$userpage = '<span class="navpage_for"><a href="' .$query . '1" onclick="Page.Go(this.href); return false;">«</a> ' . $page2left . ' ' . $page1left . ' <span class="curent_page_for">' . $page . '</span> ' . $page1right . ' ' . $page2right . ' <a href="' .$query . $total . '" onclick="Page.Go(this.href); return false;">»</a></span>';
}
return '<div class="navigation_for">' . $userpage . '</div>';
}
//изменение ссылок для проверки на Dr.web
function get_url( $text ) {
//preg_match_all( '#b(http://)?(https://)?^(?!@)([a-zA-Z0-9.])+([a-zA-Z0-9-])+(.)([a-zA-Z0-9]{2,5})?([a-zA-Z0-9?&-=/._]{2,})#', $text, $result );
$text = preg_replace( '#b(http://)?(https://)?([a-zA-Z0-9.])+([a-zA-Z0-9-])+(.)([a-zA-Z0-9]{2,5})?([a-zA-Z0-9?&-=/._]{2,})#', '<a href="$0" onclick="forum_drweb(this.href);return false;" class="a_box">$0</a>', $text );
$text = preg_replace( '#(href=")(([a-zA-Z0-9.])+([a-zA-Z0-9-])+(.)([a-zA-Z0-9]{2,5})?([a-zA-Z0-9?&-=/._]{2,}))(")#', 'href="http://$2"', $text );
return $text;
}
?>