<?php
##############################################################################
function heads($h_p,$ob_st)  //heads($headers_page,$set_ob_start);
{
if(!isset($_SESSION['style']))
{
$_SESSION['style']=M."/style/default/default.css";
}
//
//$pr_head=true;
if(!$h_p)
{
echo '<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'.
"
		<link rel=\"shortcut icon\" href=\"http://$_SERVER[SERVER_NAME]/logo.ico\" />
		<link href=\"$_SESSION[style]\" rel=\"stylesheet\" type=\"text/css\" media=\"all\"/>
		<title>".strip_tags($_SESSION['title'])."</title>
	</head>
	<body><div class=\"c01\">";
global $headers_page,$set_ob_start;
$headers_page=true;
echo "<div class='title'>$_SESSION[title]</div>";
include_once SYS."/print_errors.php";
}
}

##############################################################################
function 	closed_page($h_p,$ob_st)
{
global $l;
if($h_p)
{
#include_once BL."#nav.php";//Вставка блока навигации
// Дополнительные команды внизу
//
echo'
  </div></body>
</html>';
#$_SESSION['error']="";
}
//
#global $headers_page;
#$headers_page=false;
exit;
}
##############################################################################
function gen_key()
{ //Генерация уникального значения
//$token = md5(uniqid("")); // без префикса
return $better_token = md5(uniqid(mktime(),1)); // 
}
##############################################################################
function ft_nic($param)
{
$param=ereg_replace("‮", "", $param);//вырезка битовой команды реверса строки
$param=ereg_replace("[[:cntrl:]]", "", $param);//вырезка управляющих символов
$param=trim($param);
$param=htmlentities($param,ENT_QUOTES,"utf-8");
return $param;
}
##############################################################################
function page2($k_page=1,$getpar='page'){ // Выдает текущую страницу
$page=1;
if (isset($_GET[$getpar])){
if ($_GET[$getpar]=='end')$page=intval($k_page);elseif(is_numeric($_GET[$getpar])) $page=intval($_GET[$getpar]);}
if ($page<1)$page=1;
if ($page>$k_page)$page=$k_page;
return $page;}

###################################################################################
function str2($link='?',$k_page=1,$page=1,$getpar='page'){ // Вывод номеров страниц (только на первый взгляд кажется сложно ;))
if ($page<1)$page=1;
echo "<div class=\"str\">\n";
if ($page!=1)echo "<a href=\"".$link."$getpar=1\" title='Первая страница'>&lt;&lt;</a> ";
if ($page>1)echo "<a href=\"".$link."$getpar=".($page-1)."\" title='Предыдущая страница (№".($page-1).")'>&lt;</a> ";
echo " ";
if ($page<$k_page)echo " <a href=\"".$link."$getpar=".($page+1)."\" title='Следующая страница (№".($page+1).")'>&gt;</a>";
if ($page!=$k_page)echo " <a href=\"".$link."$getpar=end\" title='Последняя страница'>&gt;&gt;</a>";
echo "<br />\n";
if ($page!=1)echo "<a href=\"".$link."$getpar=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."$getpar=".($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."$getpar=end\" title='Страница №$k_page'>$k_page</a>";elseif ($k_page>1)echo " <b>$k_page</b>";

echo "</div>\n";
}
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 strlen2($str)
{
$rus=array('й','ц','у','к','е','н','г','ш','щ','з','х','ъ','ф','ы','в','а','п','р','о','л','д','ж','э','я','ч','с','м','и','т','ь','б','ю','Й','Ц','У','К','Е','Н','Г','Ш','Щ','З','Х','Ъ','Ф','Ы','В','А','П','Р','О','Л','Д','Ж','Э','Я','Ч','С','М','И','Т','Ь','Б','Ю');
return strlen(str_replace($rus, '0', $str));
}
###################################################################################
/*
function update_user($user_data)
{
  if(is_array($user_data))
  {
   mysql_query("UPDATE `user` SET 
    `uptime`='$user_data[uptime]',
    `locat`='$user_data[locat]',
    `locat_id`='$user_data[locat_id]',
    `locat_xy`='$user_data[locat_xy]',
    `possector`='$user_data[possector]',
    `level`='$user_data[level]',
    `kredits`='$user_data[kredits]' 
   WHERE `id`='$user_data[id]' LIMIT 1");
   if(mysql_affected_rows()>0){return true;}else{return false;}
  }
//
return false;
}
*/
//
function mset_err($msg)
{
  $br='';
  if($msg!='')$br='<br />';
  $_SESSION['error'].=$msg.$br;
}
//
function mset_msg($msg)
{
  $br='';
  if($msg!='')$br='<br />';
  $_SESSION['msg'].=$msg.$br;
}
function eject_coord_base($code)
{ //Извлекает координаты из строки кода координат
/*
Формат координат
1-2 первое значение х второе y
Пример строки
1-1#medik:1-2#stena5
Должно вернуть массив с ключами в виде координат и значением в виде типа
пример $BASE[1-1]=medik
*/
$r_base=array();
if($code!="")
{
$t_string=explode(':',$code);
foreach ($t_string as $key => $value)
  {
   $t2_string=explode('#',$value);
   if($t2_string['0']!="")
     {
     $r_base["$t2_string[0]"]=$t2_string['1'];
     } 
  } 
}
return $r_base;
}
//
function reject_coord($strcoord)
{
$u_x=array('x'=>0,'y'=>0);
$_t_s=array();
$_t_s=explode('-',$strcoord);
if(isset($_t_s['0'])){$u_x['x']=intval($_t_s['0']);}else{$u_x['x']=0;}
if(isset($_t_s['1'])){$u_x['y']=intval($_t_s['1']);}else{$u_x['x']=0;}
return  $u_x;
}
// Поиск перемычки
function find_jump($sector_id, $sector_coord)
{
$jump=mysql_fetch_array(mysql_query("SELECT * FROM `jump` WHERE `in_card`='$sector_id' AND `in_koord`='$sector_coord' LIMIT 1"));
return $jump;
}
// поиск торговца
function get_torg($sector_id, $sector_coord)
{
return mysql_fetch_assoc(mysql_query("SELECT * FROM `torgs` WHERE `id_card`='$sector_id' AND `coord`='$sector_coord' LIMIT 1"));
}
//
function get_type_tov()
{ // Чтение типов и их имен
// Выбираем типы
$data_types=H."/#dat/types.dat";
#$types='';//
$types_t=file($data_types);
$types=array();
foreach($types_t as $k=>$v)
{
  if($v!='')
  {
    $x_t=explode('#',trim($v));
    $types[$x_t[0]]=$x_t[1];
  }
}
return $types;
}
//
function get_type_name($type)
{
  $retvar=false;
  $types=get_type_tov();
  if(is_array($types))
    {
       foreach($types as $k=>$v)
        {
          if($type==$k){$retvar=$v; break;}
        }
    }
return $retvar;
}
//
function full_massa($id)
{
(float)$massa=0;
$pred=mysql_query("SELECT `kol`,`massa` FROM `rukzak` WHERE `uid`='$id'");
  if(mysql_num_rows($pred))
  {
     while($data=mysql_fetch_assoc($pred))
      {
      $massa=$massa+($data['kol']*$data['massa']);
      }
mysql_query("UPDATE `user` SET `massa`='$massa', `maxmassa`='55' WHERE `id`='$id' LIMIT 1");  
  }
return $massa;
}
function vremja($time=NULL)
{
global $user;
if ($time==NULL)$time=time();
if (isset($user))$time=$time+$user['tm']*60*60;
$timep="".date("j M Y в H:i", $time)."";
$time_p[0]=date("j n Y", $time);
$time_p[1]=date("H:i", $time);
if ($time_p[0]==date("j n Y"))$timep="Сегодня ".date("H:i:s", $time);
if (isset($user)){
if ($time_p[0]==date("j n Y", time()+$user['tm']*60*60))$timep=date("H:i:s", $time);
if ($time_p[0]==date("j n Y", time()-60*60*(24-$user['tm'])))$timep="Вчера в $time_p[1]";}
else{
if ($time_p[0]==date("j n Y"))$timep=date("H:i:s", $time);
if ($time_p[0]==date("j n Y", time()-60*60*24))$timep="Вчера в $time_p[1]";}
$timep=str_replace("Jan","Янв",$timep);
$timep=str_replace("Feb","Фев",$timep);
$timep=str_replace("Mar","Марта",$timep);
$timep=str_replace("May","Мая",$timep);
$timep=str_replace("Apr","Апр",$timep);
$timep=str_replace("Jun","Июня",$timep);
$timep=str_replace("Jul","Июля",$timep);
$timep=str_replace("Aug","Авг",$timep);
$timep=str_replace("Sep","Сент",$timep);
$timep=str_replace("Oct","Окт",$timep);
$timep=str_replace("Nov","Ноября",$timep);
$timep=str_replace("Dec","Дек",$timep);
return $timep;
}

// Пересчет параметров перса
function GetUserParam($iduser)
{
$puser=mysql_fetch_array(mysql_query("SELECT * FROM `user` WHERE `id`='$iduser' LIMIT 1"),MYSQL_ASSOC);

$uparam=array();
$uparam['skor']=0;
$uparam['povrej']=0;
$uparam['tochn']=0;
$uparam['dolgov']=0;
$uparam['maxdolg']=0;
$uparam['bron']=0;
$uparam['antirad']=0;
$uparam['antihim']=0;
$uparam['antipsi']=0;
$uparam['antitermo']=0;
$uparam['plener']=0;
$uparam['pllive']=0;
if(!$puser){return false;}
# Считать все одетые вещи из рюкзака
$predmets=mysql_query("SELECT * FROM `rukzak` WHERE `uid`='$iduser' AND `kol`>'0' AND `dolgov`>'0' AND `slot`!='' ");
  if(mysql_num_rows($predmets))
  {
  #echo "Количество одетых вещей ".mysql_num_rows($predmets)."<br />";;
    while($data=mysql_fetch_array($predmets,MYSQL_ASSOC))
      {
          $uparam['skor']=$uparam['skor']+$data['skor'];
          $uparam['povrej']=$uparam['povrej']+$data['povrej'];
          $uparam['tochn']=$uparam['tochn']+$data['tochn'];
          #$uparam['dolgov']=$uparam['dolgov']+$data['dolgov'];
          #$uparam['maxdolg']=$uparam['maxdolg']+$data['maxdolg'];
          $uparam['bron']=$uparam['bron']+$data['bron'];
          $uparam['antirad']=$uparam['antirad']+$data['antirad'];
          $uparam['antihim']=$uparam['antihim']+$data['antihim'];
          $uparam['antipsi']=$uparam['antipsi']+$data['antipsi'];
          $uparam['antitermo']=$uparam['antitermo']+$data['antitermo'];
          $uparam['plener']=$uparam['plener']+$data['plener'];
          $uparam['pllive']=$uparam['pllive']+$data['pllive'];
      }
  }
# Сложить параметры всех одетых вещей
return $uparam;
} 
?>