<?php
/*
	--Содержание файла--
	1. Аватары пользователей
	2. Вывод иконки статуса
	3. Пользователь онлайн - офлайн
	4. Возможные ники
	5. Медальки пользователей
	6. Местонахождение пользователя
	7. Определение доступа группам
	8. Постраничная навигация
	-------
	PS: старайтесь не использовать устаревшие функции
*/
	// 1. Аватары пользователей \\
	function avatar($id)
	{
	global $set;
		if (is_file(H.'sys/avatar/'.$id.'.gif'))
			echo '<img src="/sys/avatar/'.$id.'.gif" alt="" />';
		elseif (is_file(H.'sys/avatar/'.$id.'.jpg'))
			echo '<img src="/sys/avatar/'.$id.'.jpg" alt="" />';
		elseif (is_file(H.'sys/avatar/'.$id.'.png'))
			echo '<img src="/sys/avatar/'.$id.'.png" alt="" />';
		else
			echo '<img src="/style/theme/'.$set['set_them'].'/user.png" alt="" />';
	
	if (is_file(H.'sys/avatar/'.$id.'.gif') || 
		is_file(H.'sys/avatar/'.$id.'.jpg') || 
		is_file(H.'sys/avatar/'.$id.'.png'))
		echo '<br />';
	
	}
	
	// Пробная функция user()
	function user($user=NULL)
	{
		global $time;
		$ank=mysql_fetch_array(mysql_query("SELECT `id`,`nick`,`pol`,`rating`,`group_access`,`date_reg`,`date_last` FROM `user` WHERE `id` = $user LIMIT 1"));
		echo '<a href="/info.php?id='.$ank['id'].'"title="Анкета '.$ank['nick'].'">';
		// Пользователь забанен
		if (mysql_result(mysql_query("SELECT COUNT(*) FROM `ban` WHERE `id_user` = '$user' AND `time` > '".$time."'"), 0)!=0){
			echo '<img src="/style/user/ban.png" alt="" class="icon"/>';
		} 
		else {
			
		// Администраторы	
			if ($ank['group_access']>7)
				echo '<img src="/style/user/'.($ank['pol']==1?1:2).'.png" alt=""  />';
		// Модераторы
			elseif ($ank['group_access']>1 && $ank['group_access']<=7)
				echo '<img src="/style/user/'.($ank['pol']==1?3:4).'.png" alt=""  />';
		// Пользователи
			else {
			// Помечаем новеньких на сутки
			if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = '$user' AND `date_reg` > '".(time()-86400)."' LIMIT 1"),0)==1)
				echo '<img src="/style/user/'.($ank['pol']==1?8:7).'.png" alt=""  />';
			else
				echo '<img src="/style/user/'.($ank['pol']==1?5:6).'.png" alt=""  />';
			}
		}
		
		// онлайн - офлайн
		if ($ank['date_last'] > (TIME()-600))
			echo '<span class="on"> <b>'.$ank['nick'].'</b> </span>';
		else
			echo '<span class="off"> <b>'.$ank['nick'].'</b> </span>';
			
		// медали
		if ($ank['rating']>=5) 
			echo ' <img src="/style/medal/1.png" alt="" class="icon"/>';
		elseif ($ank['rating']>=10) 
			echo ' <img src="/style/medal/2.png" alt="" class="icon"/>';
		elseif ($ank['rating']>=20) 
			echo ' <img src="/style/medal/3.png" alt="" class="icon"/>';
		elseif ($ank['rating']>=30) 
			echo ' <img src="/style/medal/4.png" alt="" class="icon"/>';
		elseif ($ank['rating']>=40) 
			echo ' <img src="/style/medal/5.png" alt="" class="icon"/>';
		elseif ($ank['rating']>=50)
			echo ' <img src="/style/medal/6.png" alt="" class="icon"/>';
		elseif ($ank['rating']>=60) 
			echo ' <img src="/style/medal/7.png" alt="" class="icon"/>';
	echo '</a>';
	}
	
	// 2. Вывод иконки статуса \\ (устарела)
	function status($user=NULL)
	{
	global $time;
		// Пользователь забанен
		if (mysql_result(mysql_query("SELECT COUNT(*) FROM `ban` WHERE `id_user` = '$user' AND `time` > '$time'"), 0)!=0){
			echo '<img src="/style/user/ban.png" alt="" class="icon"/>';
		} 
		else {
			$ank=mysql_fetch_array(mysql_query("SELECT * FROM `user` WHERE `id` = $user LIMIT 1"));
		// Администраторы	
			if ($ank['group_access']>7){
				echo '<img src="/style/user/'.($ank['pol']==1?1:2).'.png" alt=""  />';
			}
			else
		// Модераторы
			if ($ank['group_access']>1 && $ank['group_access']<=7){
				echo '<img src="/style/user/'.($ank['pol']==1?3:4).'.png" alt=""  />';
			}
			else
		// Пользователи
			if(isset ($ank['status'])==0){
				// Помечаем новеньких на сутки
				if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = '$user' AND `date_reg` > '".(time()-86400)."' LIMIT 1"),0)==1) {
					echo '<img src="/style/user/'.($ank['pol']==1?8:7).'.png" alt=""  />';
				}
				else
					echo '<img src="/style/user/'.($ank['pol']==1?5:6).'.png" alt=""  />';
			}
		}
	}
	
	// 3. Пользователь онлайн - офлайн \\ (устарела)
	function online($user=NULL)
	{
	global $set;
	static $users;
		if (!isset($users[$user])){
			if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = '$user' AND `date_last` > '".(time()-600)."' LIMIT 1"),0)==1)
			{
				if ($set['show_away']==0)
					$on='On';
				else
				{
				$ank=mysql_fetch_assoc(mysql_query("SELECT `date_last` FROM `user` WHERE `id` = '$user' LIMIT 1"));
					if ((time()-$ank['date_last'])==0)
						$on='On';
					else
						$on='away: '.(time()-$ank['date_last']).' сек';
				}
				$users[$user]= ' <span class="on">'.$on.'</span>';
			}
			else 
				$users[$user]='<span class="off">Off</span>';
		}
	return $users[$user];
	}
	
	// 4. Возможные ники \\
	function user_collision($massive, $im=0)
	{
	global $user;
	$new=false;
		for ($i=0;$i<count($massive);$i++)
		{
			$collision_q=mysql_query("SELECT * FROM `user_collision` WHERE `id_user` = '".$massive[$i]."' OR `id_user2` = '".$massive[$i]."'");
				while ($collision = mysql_fetch_assoc($collision_q))
				{
					if ($collision['id_user']==$massive[$i])$coll=$collision['id_user2'];else $coll=$collision['id_user'];
						$ank_coll2=get_user($coll);
					if (!in_array ($coll, $massive) && ($user['level']>$ank_coll2['level']) && ($im==0 || $user['id']!=$ank_coll2['id'])) {
						$massive[]=$coll;
						$new=true;
					}
				}
		}
		if($new)$massive=user_collision($massive);
			return $massive;
	}
	// 5. Медальки пользователей \\ (устарела)
	function medal($user=NULL)
	{
	$ank=mysql_fetch_array(mysql_query("SELECT * FROM `user` WHERE `id` = $user LIMIT 1"));
		if ($ank['rating']>=6 && $ank['rating']<=11) 
			echo ' <img src="/style/medal/1.png" alt="" class="icon"/>';
		elseif ($ank['rating']>=12 && $ank['rating']<=19) 
			echo ' <img src="/style/medal/2.png" alt="" class="icon"/>';
		elseif ($ank['rating']>=20 && $ank['rating']<=27) 
			echo ' <img src="/style/medal/3.png" alt="" class="icon"/>';
		elseif ($ank['rating']>=28 && $ank['rating']<=37) 
			echo ' <img src="/style/medal/4.png" alt="" class="icon"/>';
		elseif ($ank['rating']>=38 && $ank['rating']<=47) 
			echo ' <img src="/style/medal/5.png" alt="" class="icon"/>';
		elseif ($ank['rating']>=48 && $ank['rating']<=59)
			echo ' <img src="/style/medal/6.png" alt="" class="icon"/>';
		elseif ($ank['rating']>=60 && $ank['rating']<=9999999) 
			echo ' <img src="/style/medal/7.png" alt="" class="icon"/>';
	}
	
	// 6.Местонахождение пользователя \\
	
	# Отмечам где не показываем местонахождение
	if (isset($_SESSION['refer']) && $_SESSION['refer']!=NULL && !preg_match('#(rules)|(smiles)|(secure)|(aut)|(reg)|(umenu)|(zakl)|(mail)|(anketa)|(settings)|(avatar)|(info)|(my_aut)\.php#',$_SERVER['SCRIPT_NAME']))
		$_SESSION['refer']=NULL;
	
	function otkuda($ref)
	{
		if (preg_match('#^/forum/#',$ref)) $mesto='Форум';
		elseif (preg_match('#^/chat/#',$ref)) $mesto='Чат';
		elseif (preg_match('#^/lib/#',$ref)) $mesto='Библиотека';
		elseif (preg_match('#^/news/#',$ref)) $mesto='Новости';
		elseif (preg_match('#^/adm_panel/#',$ref)) $mesto='Админка';
		elseif (preg_match('#^/votes/#',$ref)) $mesto='Голосования';
		elseif (preg_match('#^/guest/#',$ref)) $mesto='Гостевая';
		elseif (preg_match('#^/loads/#',$ref)) $mesto='Загрузки';
		elseif (preg_match('#^/users\.php#',$ref)) $mesto='Пользователи';
		elseif (preg_match('#^/online\.php#',$ref)) $mesto='Сейчас на сайте';
		elseif (preg_match('#^/online_g\.php#',$ref)) $mesto='Гости';
		elseif (preg_match('#^/reg\.php#',$ref)) $mesto='Регистрация';
		elseif (preg_match('#^/obmen/#',$ref)) $mesto='Обменник';
		elseif (preg_match('#^/aut\.php#',$ref)) $mesto='Авторизация';
		elseif (preg_match('#^/index\.php#',$ref)) $mesto='Главная';
		elseif (preg_match('#^/\??$#',$ref)) $mesto='Главная';
		else $mesto=false;
	return $mesto;
	}
	
	// 7. Определение доступа группам \\
	function user_access($access,$u_id=null,$exit=false)
	{
		if ($u_id==null)global $user;
		else $user=get_user($u_id);

		if (!isset($user['group_access']) || $user['group_access']==null)
		{
			if ($exit!==false){header('Location: '.$exit.'');exit;}
			else return false;
		}
		if ($exit!==false)
		{
			if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user_group_access` WHERE `id_group` = '$user[group_access]' AND `id_access` = '".my_esc($access)."'"),0)==0)
			{
				header('Location: '.$exit.'');
				exit;
			}
		}
		else
			return (mysql_result(mysql_query("SELECT COUNT(*) FROM `user_group_access` WHERE `id_group` = '$user[group_access]' AND `id_access` = '".my_esc($access)."'"),0)==1?true:false);


	}
	
	// 8. Постраничная навигация \\
	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 '<div class="str">';
		if ($page!=1)echo '<a href=\''.$link.'page=1\' title="Первая страница">&lt;&lt;</a> ';
		if ($page>1)echo '<a href=\''.$link.'page='.($page-1).'\' title="Предыдущая страница (№'.($page-1).')">&lt;назад</a> ';
		echo ' ';
		if ($page<$k_page)echo ' <a href=\''.$link.'page='.($page+1).'\' title="Следующая страница (№'.($page+1).')">далее&gt;</a>';
		if ($page!=$k_page)echo ' <a href=\''.$link.'page=end\' title="Последняя страница">&gt;&gt;</a>';
		echo "<br />\n";
		if ($page!=1)echo '<a href=\''.$link.'page=1\' title="Страница №1">1</a>';else echo '<b>1</b>';
			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 ' <a href="'.$link.'page='.($page+$ot).'" 
					title="Страница №'.($page+$ot).'">'.($page+$ot).'</a>';
					else echo ' <b>'.($page+$ot).'</b>';
					if ($ot==3 && $page+$ot<$k_page-1)echo ' ..';
				}
			}
		if ($page!=$k_page) echo ' <a href="'.$link.'page=end" title="Страница №'.$k_page.'">'.$k_page.'</a>';
		elseif ($k_page>1)echo ' <b>'.$k_page.'</b>';
		echo '</div>';
	}	
?>