1, '_GET' => 1, '_POST' => 1, '_COOKIE' => 1, '_FILES' => 1, '_SERVER' => 1, '_REQUEST' => 1, 'GLOBALS' => 1); foreach ($GLOBALS as $key => $value) { if (!isset($allowed[$key])) { unset($GLOBALS[$key]); } } } function bb_parse($string) { while (preg_match_all('`\[(.+?)=?(.*?)\](.+?)\[/\1\]`', $string, $matches)) foreach ($matches[0] as $key => $match) { list($tag, $param, $innertext) = array($matches[1][$key], $matches[2][$key], $matches[3][$key]); switch ($tag) { case 'b': $replacement = "$innertext"; break; case 'i': $replacement = "$innertext"; break; case 'size': $replacement = "$innertext"; break; case 'color': $replacement = "$innertext"; break; case 'center': $replacement = "
$innertext
"; break; case 'quote': $replacement = "
$innertext
" . $param? "$param" : ''; break; case 'url': $replacement = '$innertext"; break; case 'img': list($width, $height) = preg_split('`[Xx]`', $param); $replacement = "'; break; } $string = str_replace($match, $replacement, $string); } return $string; } $area = isset($_GET['area']) ? $_GET['area'] : false; // работа со switch function age($d, $m, $y) { $age = date('Y') - $y; $_m = date('m'); if($_m < $m || ($_m == $m && date('d') < $d)) $age--; return $age; } function text($start=NULL,$text,$end=NULL){echo ''.$start.''.$text.''.$end.'';} if(!preg_match('~^[a-z0-9]{32}$~', $_COOKIE[session_name()])) { $new_sess_id = md5(rand(1000, 999999).MT); setcookie(session_name(), $new_sess_id); $_COOKIE[session_name] = $new_sess_id; session_id($new_sess_id); unset($new_sess_id); } function err($text){echo '
'.$text.'
';} #------- Проверка GET данных foreach ($_GET as $cheked_Space) { if (is_array($cheked_Space) and !preg_match('#^(?:[a-z0-9_\-/]+|\.+(?!/))*$#i', $cheked_Space)) { $_SESSION['hackers'] = 'Ошибка. #404'; header ("Location: ".URL."/index/?"); exit; } } #------- Поиск пользователя if(isset($_COOKIE['login'], $_COOKIE['password'])) { $query = mysql_query("SELECT * FROM `user` WHERE `login` = '".mysql_real_escape_string($_COOKIE['login'])."' AND `password` = '".mysql_real_escape_string($_COOKIE['password'])."'"); $user = (mysql_num_rows($query) == 1) ? mysql_fetch_assoc($query) : false; }else{$user = false;} // set $q = mysql_query("SELECT * FROM `settings`"); while($arr=mysql_fetch_assoc($q)) $set[$arr['id']]=$arr['value']; #------- $style = ($user) ? $user['style'] : $set['style']; #---------- // function cat_name($var){ $array = mysql_fetch_array(mysql_query('select `name` from `cat` where `id`="'.$var.'"')); return $array['name']; echo $array['name']; } // function title($title) { global $user, $style, $set; if ($user) { mysql_query("UPDATE `user` SET `WHERE` = '".$title."' WHERE `id` = ".$user['id'].""); } require START."design/$style/head.tpl"; if (isset($_GET['user']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = '".intval($_GET['user'])."'"),0)==1) { $ank=mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = '".intval($_GET['user'])."' LIMIT 1")); echo "
Aнкета [".mysql_real_escape_string($ank['login'])."]
\n"; echo '
'; echo 'Ответить:

'; echo "
\n"; echo '
'; echo "\n"; } } # Низ function foot($end) { global $user, $set, $style; require START."design/$style/foot.tpl"; exit(); } /** * Производит замену html-символов в мнемоники; удаляет quotes, символы табуляции, * NUL-байты (\0) и т.д. Без передачи второго аргумента (или передаче false) также * удаляет символы новой строки. */ function check($string, $enters = false) { $string = stripslashes(trim($string)); $string = htmlentities($string, ENT_QUOTES, 'UTF-8'); $string = str_replace(array('\t', '\0'), '', $string); if (!$enters) { $string = str_replace(array('\r', '\n'), '', $string); } return $string; } /* Функция отфильтровки чисел */ function int($int){return abs((int)$int);} /* Функция защиты от нежелательных действий */ function protect($text){return trim(mysql_real_escape_string($text));} /* Функция безопасного шифрования в MD5 */ function pass($text) { return md5(md5('CAT').md5(md5($text)));} /* Функция обрата */ function refresh(){return header('Refresh: 1 url='.$_SERVER['HTTP_REFERER'].'');} #------- Функция постраничной навигации 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=10){ // Высчитывает количество страниц 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 "
Страница:\n"; echo " "; if ($page!=1)echo "1";else echo "1"; for ($ot=-3; $ot<=3; $ot++){ if ($page+$ot>1 && $page+$ot<$k_page){ if ($ot==-3 && $page+$ot>2)echo " .."; if ($ot!=0)echo " ".($page+$ot)."";else echo " ".($page+$ot).""; if ($ot==3 && $page+$ot<$k_page-1)echo " ..";}} if ($page!=$k_page)echo " $k_page";elseif ($k_page>1)echo " $k_page"; echo "
\n"; } #------- function cut($str, $lenght) { $str = strip_tags($str); if (strlen($str) >= $lenght) { $wrap = wordwrap($str, $lenght, "~"); $str_cut = substr($wrap, 0, strpos($wrap, "~")); $str_cut .= ' ...'; return $str_cut; } else { $str_cut = $str . ' ...'; return $str_cut; }} /* Функция только для незарегистрированных пользователей */ function guest() { global $user; if($user) { header("Location: ".URL."/index/"); } } /* Функция только для зарегистрированных пользователей */ function reg() { global $user; if(empty($user['id']) and empty($user['pass'])) { header("Location: ".URL."/index/reg"); } } /* Функция отображения времени */ function clock($time) { global $user; $timezone = (!$user) ? 0 : ($user['timesdvig']*3600); $time = $time+$timezone; $timep= date("j M Yг. в H:i", $time); $time_p[0]=date("j n Y", $time); $time_p[1]=date("H:i:s", $time); if ($time_p[0]==date("j n Y", time()))$timep='cегодня в '.$time_p['1']; if ($time_p[0]==date("j n Y", time()-86400))$timep='вчера в '.$time_p['1']; $months_eng = array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'); $months_rus = array('января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря'); $timep = str_replace($months_eng,$months_rus,$timep); return $timep; } function user_gender($p) { $ingo = mysql_fetch_assoc(mysql_query("SELECT `gender` FROM `user` WHERE `id` = ".$p)); return ($ingo['gender']>0) ? '*' : '*'; } #------------- function level($level=0) { global $user; if (!isset($user) or $user['level']<$level) { header("Location: ".URL."/index");exit; } } if($user){ mysql_query("UPDATE `user` SET `pereh` = `pereh` + 1 WHERE `id` = '$user[id]'"); } #--- function avatar($id) { global $user; if (is_file(START."images/photo/$id.jpg")) echo "\n"; elseif (is_file(START."images/photo/$id.png")) echo "\n"; elseif ($_SERVER['PHP_SELF']!='/profile.php') echo ''; if ($_SERVER['PHP_SELF']=='/profile.html' && (is_file(START."images/photo/$id.gif") || is_file(START."images/photo/$id.jpg") || is_file(START."images/photo/$id.png")))echo "
\n"; } function var_ip($var){ $ips = explode('.',$var); $ipn = $ips[3] + $ips[2]*256 + $ips[1]*256*256 + $ips[0]*256*256*256; $array = mysql_fetch_array(mysql_query('select * from `base_ip` where `ot`<="'.$ipn.'" and `do`>="'.$ipn.'" limit 1')); if($array){ $op = $array["op"].'('.$array["country"].')'; }else{ $op = $var; } return $op; echo $op; } // определение IP-адресса посетителя if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) and preg_match('|^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$|',$_SERVER['HTTP_X_FORWARDED_FOR'])) { $ipz = trim(htmlspecialchars(mysql_real_escape_string($_SERVER['HTTP_X_FORWARDED_FOR']))); } elseif(isset($_SERVER['HTTP_CLIENT_IP']) and preg_match('|^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$|',$_SERVER['HTTP_CLIENT_IP'])) { $ipz = trim(htmlspecialchars(mysql_real_escape_string($_SERVER['HTTP_CLIENT_IP']))); } elseif(isset($_SERVER['REMOTE_ADDR']) and preg_match('|^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$|',$_SERVER['REMOTE_ADDR'])) { $ipz = trim(htmlspecialchars(mysql_real_escape_string($_SERVER['REMOTE_ADDR']))); } else { $ipz = 'Unknow'; } // определение UA посетителя if (isset($_SERVER['HTTP_X_OPERAMINI_PHONE_UA'])) { $uaz = trim(stripcslashes(htmlspecialchars(mysql_real_escape_string($_SERVER['HTTP_X_OPERAMINI_PHONE_UA'])))); } elseif (isset($_SERVER['HTTP_USER_AGENT'])) { $uaz = trim(stripcslashes(htmlspecialchars(mysql_real_escape_string($_SERVER['HTTP_USER_AGENT'])))); } else { $uaz = 'Unknow'; } $uaz=strtok($uaz, '/'); $uaz=strtok($uaz, ' '); // online if (!$user) { if (mysql_result(mysql_query("SELECT COUNT(*) FROM `online` WHERE `ip` = '".$ipz."' AND `ua` = '".$uaz."' AND `time` > '".(time()-300)."'"),0)==1) { $onlin=mysql_fetch_array(mysql_query("SELECT * FROM `online` WHERE `ip` = '".$ipz."' AND `ua` = '".$uaz."' AND `time` > ".(time()-300))); mysql_query("UPDATE `online` SET `pereh` = '".($onlin['pereh']+1)."', `time` = '".time()."' WHERE `ip` = '".$ipz."' AND `ua` = '".$uaz."' LIMIT 1"); } else { mysql_query("DELETE FROM `online` WHERE `time` < '".(time()-300)."'"); mysql_query("OPTIMIZE TABLE `online`"); mysql_query("INSERT INTO `online` (`ip`, `ua`, `time`) values('".$ipz."', '".$uaz."', ".time().")"); } } else { if ($user['ban'] > time() and basename($_SERVER['PHP_SELF']) != 'bans.html') { header("Location: ".URL."/bans.html"); exit; } mysql_query("UPDATE `user` SET `time` = " . time().", `ip` ='".$ipz."', `ua`='".$uaz."' WHERE `id` = ".$user['id']); } function site($uss) { $ingo = @mysql_fetch_assoc(mysql_query("SELECT `status` FROM `plasec` WHERE `id` = ".$uss)); if($ingo['status']=='activ'){echo 'Активный';} if($ingo['status']=='block'){echo 'Забанен';} if($ingo['status']=='moded'){echo 'На модерации';} } /* # автор: Apollo aka Роман Смоляков [также вы можете меня найти по никнейму Millennium] # E-mail : apollo@email.ua # WAP-Site : http://7ki.ru # ICQ : 77994551 # Вы не имеете право вносить изменения в код скрипта для его дальнейшего распространения # Есть недоработки, баги. Желания нету дорабатывать этот скрипт. # Если хотите поблагодарить: Z412465594575, R219928904229 # P.S. Пишу скрипты на заказ! # Копирайт не убирать! # Удачи! :) */