Файл: gamele.ru/includes/functions.php
Строк: 322
<?php
function varcheck($input){
if(!is_array($input)){
if(is_numeric($input))
{
#Функция актуальна при условии, если значение больше 0
#Получает целочисленное значение переменной
$number = intval($input);
//echo 'numeric';
return $number;
}
else
{
#Вырезаем html теги
$out_string= strip_tags($input);
#Преобразует специальные символы в HTML сущности.
$out_string= htmlspecialchars($out_string);
#Экранирует специальные символы в строке,принмимая во внимание кодировку соединения.
$out_string= mysql_escape_string($out_string);
return $out_string;
}
}else{
foreach($input as $key=>$val){
$out_string[$key] = varcheck($val);
}
return $out_string;
}
}
function GetUser($user=NULL){
if(isset($user)){
return mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `login` = '".mysql_real_escape_string($user)."'"));
}else{
mysql_query("UPDATE `user` SET `last`='".time()."' WHERE `pcid`='".mysql_real_escape_string($_COOKIE['HonorHash'])."'");
return mysql_fetch_assoc(mysql_query("SELECT `active_session`.*, `user`.* FROM `user` INNER JOIN `active_session` ON `user`.`id` = `active_session`.`User_ID` WHERE `user`.`pcid` = `active_session`.`session` AND `pcid`='".mysql_real_escape_string($_COOKIE['HonorHash'])."';"));
}
}
function GetUserFID($id,$info=NULL){
if(!empty($info)){
$return = mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = '".intval($id)."'"));
return $return;
}else{
return mysql_result(mysql_query("SELECT `login` FROM `user` WHERE `id` = '".intval($id)."'"),0);
}
}
function GetBot($uid,$table=NULL){
if(@$table){
return mysql_fetch_array(mysql_query("SELECT `id` FROM `fight_users` WHERE `uid` = '".intval($uid)."'"));
}else{
return mysql_fetch_array(mysql_query("SELECT * FROM `user` WHERE `id` = '".intval($uid)."' and `type`='3'"));
}
}
function vCode(){
$vcode=md5(time().rand(100,10000));
$_SESSION['vcodes'][]=$vcode;
return $vcode;
}
// Работаем с вещями
function UpdateSlots($act,$pid){
switch($act){
case'3':
mysql_query("UPDATE `invent` SET `used` = '0',`curslot` = '0' WHERE `pl_id` = '".$pid."'");
break;
}
}
function CalcStats($id){
$pl = GetUserFID($id,1);
$um=explode("|",$pl['umen']);
$t=array(0=> 0,2,4);
$od=45;
$bl=0;
$query = mysql_query("SELECT `invent`.*, `items`.* FROM `items` INNER JOIN `invent` ON `items`.`id` = `invent`.`protype` WHERE `used` = '1' AND `pl_id` = '".$pl['id']."'");
while ($row = mysql_fetch_assoc($query)) {
$modstat='';
$item = explode("|",$row['i_param']);
$mod=explode("|",$row['mod']);
foreach ($mod as $value){
$modstats=explode("@",$value);
$modstat[$modstats[0]]=$modstats[1];
}
if($row['type']=="w20"){
$bl=$row['block'];
}
if($row['slot']==3 and $row['type']!="w20"){
$it = explode("|",$row['i_need']);
foreach ($it as $val) {
$need=explode("@",$val);
if($need[0]==28 and $need[1]>$od){
$od=$need[1];
$tw=$row['type'];
}
}
}
foreach ($item as $value) {
$k=1;
$stat=explode("@",$value);
if(in_array ($stat[0], $t)){$par[$stat[0]]='';
continue;
}
if($stat[0]==1){
$tmp=explode("-",$stat[1]);
switch($tw){
case'w1': $k=($um[10]/300+$um[1]/150)+1;break;
case'w2': $k=($um[10]/300+$um[2]/150)+1;break;
case'w3': $k=($um[10]/300+$um[3]/150)+1;break;
case'w4': $k=($um[10]/300+$um[4]/150)+1;break;
case'w5': $k=($um[10]/300+$um[5]/150)+1;break;
case'w6': $k=($um[10]/300+$um[6]/150)+1;break;
case'w7': $k=($um[10]/300+$um[7]/150)+1;break;
case'w20': $k=$um[10]/300+1;break;
}
$tmp[0]=round($tmp[0]*$k);
$tmp[1]=round($tmp[1]*$k);
$tmp1=explode("-",$par[1]);
$modstat[1]!='' ? $tmp2=explode("-",$modstat[1]) : $tmp2='';
$tmp[0]+=$tmp1[0]+$tmp2[0];
$tmp[1]+=$tmp1[1]+$tmp2[1];
continue;
}
$par[1]=implode("-",$tmp);
$par[$stat[0]]+=($stat[1]+$modstat[$stat[0]]);
}
}
if($row['damage_mod']!=0){
$dmod=explode("@",$row['damage_mod']);
$dmoddmg=explode("-",$dmod[1]);
$damage_mod[$dmod[0]][0]+=$dmoddmg[0];
$damage_mod[$dmod[0]][1]+=$dmoddmg[1];
}
for($dm=1;$dm<=4;$dm++){
$moddmg[$dm]=implode("-",$damage_mod[$dm]);
$dmgmod.=(($damage_mod[$dm]=='')?'':$dm."@".$moddmg[$dm]."|");
}
if($dmgmod==''){$dmgmod=0;}
$sil=$par[30]+$pl['sila'];
$dmg=explode("-",$par[1]);
$dmg[0]+=$sil;
$dmg[1]+=$sil*1.5;$par[1]=implode("-",$dmg);
switch($tw){
case'': $od=round($od/(($um[0]/100)*0.30+2));$par[1]=round($sil*(1+$um[0]/300))."-".round($sil*(1+$um[0]/150)+1); break;
case'w1': $od=round($od/(($um[1]/100)*0.30+2));break;
case'w2': $od=round($od/(($um[2]/100)*0.30+2));break;
case'w3': $od=round($od/(($um[3]/100)*0.30+2));break;
case'w4': $od=round($od/(($um[4]/100)*0.30+2));break;
case'w5': $od=round($od/(($um[5]/100)*0.30+21));break;
case'w6': $od=round($od/(($um[6]/100)*0.30+2));break;
case'w7': $od=round($od/(($um[7]/100)*0.30+2));break;
}
$hps=(750/(($par[62]+$um[30])/100+1));
$mps=(4500/(($par[66]+$um[33])/100+1));
if($pl['clan_id']!='none'){
$clsql=mysql_fetch_array(mysql_query("SELECT * FROM `clans` WHERE `clan_id`='".$pl['clan_id']."';"));
$par[30]+=$clsql['cl_sila'];
$par[31]+=$clsql['cl_lovkost'];
$par[32]+=$clsql['cl_ydacha'];
$par[33]+=$clsql['cl_zdorov'];
$par[34]+=$clsql['cl_znan'];
$uphp+=$clsql['cl_hp'];
$upmp+=$clsql['cl_mp'];
$clnablud=100-$clsql['cl_up']-$clsql['cl_buyup'];
}
for($i=0;$i<=71;$i++){
$st.="$par[$i]|";
}
mysql_query("UPDATE `user` SET `damage_mods`='".$dmgmod."',`bl`='".$bl."',`od`='".$od."',`st`='".$st."',`hps`='".$hps."',`mps`='".$mps."' WHERE `id`='".$pl['id']."' LIMIT 1;");
if($uphp>0 or $upmp>0){calchp3($uphp,$upmp);}
else{calchp();}
}
// END
function calchp3($uphp,$upmp)
{
$pl=GetUser();
$s=explode("|",$pl['st']);
foreach (explode("|",$pl[perk]) as $key => $val){if($val==''){$val=0;}$p[$key]=$val;}
$hp=(($pl['zdorov']+$s[33]+($p[8]*2)+(($pl['level']+1)*$p[18]))*5)+$s[27]+$uphp;
$mp=(($pl['znan']+$s[34]+($p[11]*2))*7)+$s[29]+$upmp;
if($hp!=$pl['hp_all'] or $mp!=$pl['mp_all']){
mysql_query("UPDATE `user` SET `hp_all`='".$hp."',`mp_all`='".$mp."' WHERE `login`='".$pl['login']."'LIMIT 1;");
}
InsHP();
}
function calchp(){
if(empty($id)){
$pl=GetUser();
}else{
$pl=mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id`='".intval($id)."'"));
}
if($pl['clan_id']!='none'){
$clsql=mysql_fetch_array(mysql_query("SELECT * FROM `clans` WHERE `clan_id`='".$pl['clan_id']."';"));
$uphp+=$clsql['cl_hp'];
$upmp+=$clsql['cl_mp'];
}
$s=explode("|",$pl[st]);
$trw=affect($pl['id'],3);
if(!empty($trw)){
foreach ($trw as $key => $val){
switch($key){
case'30':
$pl['sila']+=$val;
break;
case'31':
$pl['lovk']+=$val;
break;
case'32':
$pl['uda4a']+=$val;
break;
case'33':
$pl['zdorov']+=$val;
break;
case'34':
$pl['znan']+=$val;
break;
case'27':
$pl['hp']+=$val;
break;
case'29':
$pl['mp']+=$val;
break;
default:
$pt[$key]+=$val;
break;
}
}
}
foreach (explode("|",$pl['perk']) as $key => $val){
if($val==''){
$val=0;
}
$perk[$key]=$val;
}
$hps=$pl['hp_all']/$pl['hps'];
$mps=$pl['mp_all']/$pl['mps'];
$hp=(($pl['zdorov']+$s[33]+($p[8]*2)+(($pl[level]+1)*$p[18]))*5)+$s[27]+$uphp;
$mp=(($pl['znan']+$s[34]+($p[11]*2))*7)+$s[29]+$upmp;
if($hp!=$pl['hp_all'] or $mp!=$pl['mp_all']){
mysql_query('UPDATE user SET hp_all='.AP.$hp.AP.',mp_all='.AP.$mp.AP.' WHERE login='.AP.$_SESSION['user']['login'].AP.'LIMIT 1;');
}
InsHP();
}
function getIP(){
if(!empty($_SERVER['HTTP_CLIENT_IP'])){
$ip = $_SERVER['HTTP_CLIENT_IP'];
}else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
function pinfo_PVU(){
$vcode=md5(time().rand(100,10000));
$_SESSION['PVUcode'][]=$vcode;
return $vcode;
}
function InsHP(){
global $pers;
$hps=$pers['hp_all']/$pers['hps'];
$mps=$pers['mp_all']/$pers['mps'];
if(time()>=$pers['chp']){
$curhp=$pers['hp_all'];
}else{
$curhp=$pers['hp_all']-(($pers['chp']-time())*$hps);
}
if(time()>=$pers['cmp']){
$curmp=$pers['mp_all'];
}else{
$curmp=$pers['mp_all']-(($pers['cmp']-time())*$mps);
}
if($pers['hp_all']!=$pers['hp'] or $pers['mp_all']!=$pers['mp']){
mysql_query("UPDATE `user` SET `hp`='".$curhp."',`mp`='".$curmp."' WHERE `id`='".$pers['id']."' LIMIT 1;");
}
return $curhp.','.$pers['hp_all'].','.$curmp.','.$pers['mp_all'].','.$pers['hps'].','.$pers['mps'];
}
function ItemName($uid){
return mysql_result(mysql_query("SELECT `name` FROM `items` WHERE `id` = '".$uid."'"),0);
}
function chmsg($msg,$login=NULL){
mysql_query("INSERT INTO `chat` (`time`,`login`,`dlya`,`msg`) VALUES ('".time()."','sys','".($login?'<'.$login.'>':'')."','".addslashes("top.frames['chmain'].add_msg('".$msg."<BR>'+'');")."');");
}
function accesses($uid,$acc,$response=NULL){
$access = mysql_fetch_array(mysql_query("SELECT * FROM `accesses` WHERE `uid` = '".$uid."'"));
if(!$response){
return $access[$acc]?true:false;
}else{
return $access[$acc];
}
}
function LocType($id,$type){
$array = array("1"=>array("Дорога","15","0"),"3"=>array("Трава","30","0"),"4"=>array("Песок","50","0"),"5"=>array("Болото","90","0"),"6"=>array("Вода","90","1"));
}
function effects($UserID,$var){
/* DataBase */
$effects = array('','Боевая травма','Тяжелая травма','Средняя травма','Легкая травма','Излечение','','','Темное проклятие','Благословение ангела','Магическое зеркало','Берсеркер','Милосердие Создателя','Алкогольное опьянение','Свиток Покровительства','Блок','Тюрьма','Молчанка','Форумная молчанка','Свиток Неизбежности','Зелье Колкости','Зелье Загрубелой Кожи','Зелье Просветления','Зелье Гения','Яд','Зелье Иммунитета','Зелье Силы','Зелье Защиты От Ожогов','Зелье Арктических Вьюг','Зелье Жизни','Зелье Сокрушительных Ударов','Зелье Стойкости','Зелье Недосягаемости','Зелье Точного Попадания','Зелье Ловкости','Зелье Удачи','Зелье Огненного Ореола','Зелье Метаболизма','Зелье Медитации','Зелье Громоотвода','Зелье Сильной Спины','Зелье Скорбь Лешего','Зелье Боевой Славы','Зелье Ловких Ударов','Зелье Спокойствия','Зелье Мужества','Зелье Человек-Гора','Зелье Секрет Волшебника','Зелье Инквизитора','Зелье Панциря','','Секретное Зелье','Зелье Скорости','Зелье Соколиный Взор','Зелье Подвижности','Фронтовые 100 грамм','','','','','','','','','','','','','','','Зелье Кровожадности','Зелье Быстроты','Свиток Величия','Свиток Каменной кожи','Слеза Создателя','Гнев Локара','Дар Иланы','Новогодний бонус','Эликсир из Подснежника','Молодильное яблочко','Благословение Иланы','День всех влюбленных','Галантный кавалер');
/* Effects Show */
$Query = mysql_query("SELECT * FROM `effects` WHERE `userid`='".$UserID."' AND `time`>'".time()."' ORDER BY `time` DESC");
while($row = mysql_fetch_assoc($Query)){
/* Вычесляем время */
if($row['time']>time()){
$row['time']-=time();
$ch=floor($row['time']/3600);
$min=floor(($row['time']-($ch*3600))/60);
$sec=floor(($row['time']-($ch*3600))%60);
if($var==0){
$row['time']=$ch."ч ".$min."мин ";
}elseif($var==1){
$row['time']=(($ch<10)?'0'.$ch:$ch).":".(($min<10)?'0'.$min:$min).":".(($sec<10)?'0'.$sec:$sec);
}
}
/* Считаем статы */
$params=explode(";",$row['f_params']);
foreach ($params as $f_params){
$sts=explode("/",$f_params);
$stat[$sts[0]]+=$sts[1];
}
/* Колество травм на вывод, допустим (x2) */
$Effect[$row['eff_id']] += 1;
/* Подсчет и написание текстов */
if($var==1 and $effects[$row['eff_id']] != '' and $Effect[$row['eff_id']] == 1){
$CountEff = mysql_num_rows(mysql_query("SELECT * FROM `effects` WHERE `userid`='".$UserID."' AND `time`>'".time()."' AND `eff_id`='".$row['eff_id']."' ORDER BY `time` DESC"));
$s.="[".$row['eff_id'].",'<b>".$effects[$row['eff_id']]."</b> (x".$CountEff.") (еще ".$row['time'].")'],";
}
if($var==0 and !empty($effects[$row['eff_id']]) and $Effect[$row['eff_id']] == 1 and $row['eff_id']<5){
$CountEff = mysql_num_rows(mysql_query("SELECT * FROM `effects` WHERE `userid`='".$UserID."' AND `time`>'".time()."' AND `eff_id`='".$row['eff_id']."' ORDER BY `time` DESC"));
$s.= $effects[$row['eff_id']]." (x".$CountEff.") еще ".$row['time'].",";
}
if($var==2 and !empty($effects[$row['eff_id']])){
$s.= $effects[$row['eff_id']]."<br>еще ".$row['time']."<br>";
}
}
if($var == 0){
return substr($s,0,strlen($s)-1);
}elseif($var == 3){
return $stat;
}else{
return $s;
}
}
function allparam($pl){
$pt = explode("|",$pl['st']);
$um = explode("|",$pl['umen']);
$mass=mysql_fetch_assoc(mysql_query("SELECT Sum(`items`.`massa`) AS `mass` ,`invent`.`pl_id`,`invent`.`bank` FROM `items` INNER JOIN `invent` ON `items`.`id` = `invent`.`protype` WHERE `pl_id`='".$pl['id']."' AND `invent`.`bank`='0' AND `invent`.`auction`='0';"));
if($mass['mass'] == '')$mass['mass']=0;
$trw=effects($pl['affect'],3);
if(!empty($trw)){
foreach ($trw as $key => $val){
$pt[$key]+=$val;
}
}
foreach (explode("|",$pl['perk']) as $key => $val){
if($val==''){
$val=0;
}
$perk[$key]=$val;
}
$pt[5]+=$perk[19]*30;
$pt[6]+=$perk[0]*30;
$pt[7]+=$perk[5]*30;
$pt[8]+=$perk[15]*30;
$pt[9]+=$perk[32]*30;
$pt[30]+=$pl['sila']+($perk[7]*2);
$pt[31]+=$pl['lovk']+($perk[9]*2);
$pt[32]+=$pl['uda4a']+($perk[10]*2);
$pt[33]+=$pl['zdorov']+($perk[8]*2);
$pt[34]+=$pl['znan']+($perk[11]*2);
$pt[35]+=$pl['mudr'];
for($i=30;$i<=35;$i++){
if($pt[$i]<0)$pt[$i]=1;
}
if($pl['level']<5){
$od=80;
}else if($pl['level']<10){
$od=90;
}else{
$od=100;
}
$pt[28]=$od+$um[11]+$pt[28];
$pt[36]+=$um[1];
$pt[37]+=$um[2];
$pt[38]+=$um[3];
$pt[39]+=$um[4];
$pt[40]+=$um[5];
$pt[41]+=$um[6];
$pt[42]+=$um[7];
$pt[43]+=$um[8];
$pt[44]+=$um[9];
$pt[45]+=$um[12]+($perk[27]*25);$pt[46]+=$um[13]+($perk[24]*25);//магия огня и воды
$pt[49]+=$um[16]+($perk[28]*25);$pt[50]+=$um[17]+($perk[29]*25);//сопротивление магии огня и воды
$pt[53]+=$um[21];
$pt[54]+=$um[22];
$pt[55]+=$um[23];
$pt[56]+=$um[24];
$pt[57]+=$um[25];
$pt[58]+=$um[26];
$pt[59]+=$pl['fish_skill'];
$pt[61]+=$um[29];
$pt[62]+=$um[30];
$pt[63]+=$um[31];
$pt[64]+=$um[32];
$pt[66]+=$um[33];
$pt[68]+=$pl['alhim'];
$pt[70]+=$pl['trav'];
$pt[60]+=$pl['les'];
$pt[72]=$pl['level'];
$pt[73]=$pt[71];
$pt[71]=$mass['mass'];
$pt[99]=$um[20];
$pt[101]=0;
$pt[102]=0;
$pt[103]=0;
$pt[104]=0;
return $pt;
}
function stats($st){
switch($st)
{case 0: $st="Гравировка"; break;case 1: $st="Удар";break;case 2: $st="Долговечность";break;case 3: $st="Карманов";break;case 4: $st="Материал";break;case 5: $st="Уловка";break;case 6: $st="Точность";break;case 7: $st="Сокрушение";break;case 8: $st="Стойкость";break;case 9: $st="Класс брони";break;case 10: $st="Пробой брони";break;case 11: $st="Пробой колющим ударом";break;case 12: $st="Пробой режущим ударом";break;case 13: $st="Пробой проникающим ударом";break;case 14: $st="Пробой пробивающим ударом";break;case 15: $st="Пробой рубящим ударом";break;case 16: $st="Пробой карающим ударом";break;case 17: $st="Пробой отсекающим ударом";break;case 18: $st="Пробой дробящим ударом";break;case 19: $st="Защита от колющих ударов";break;case 20: $st="Защита от режущих ударов";break;case 21: $st="Защита от проникающих ударов";break;case 22: $st="Защита от пробивающих ударов";break;case 23: $st="Защита от рубящих ударов";break;case 24: $st="Защита от карающих ударов";break;case 25: $st="Защита от отсекающих ударов";break;case 26: $st="Защита от дробящих ударов";break;case 27: $st="НР";break;case 28: $st="Очки действия";break;case 29: $st="Мана";break;case 30: $st="Cила";break;case 31: $st="Ловкость";break;case 32: $st="Удача";break;case 33: $st="Здоровье";break;case 34: $st="Знания";break;case 35: $st="Мудрость";break;case 36: $st="Владение мечами";break;case 37: $st="Владение топорами";break;case 38: $st="Владение дробящим оружием";break;case 39: $st="Владение ножами";break;case 40: $st="Владение метательным оружием";break;case 41: $st="Владение алебардами и копьями";break;case 42: $st="Владение посохами";break;case 43: $st="Владение экзотическим оружием";break;case 44: $st="Владение двуручным оружием";break;case 45: $st="Магия огня";break;case 46: $st="Магия воды";break;case 47: $st="Магия воздуха";break;case 48: $st="Магия земли";break;case 49: $st="Сопротивление магии огня";break;case 50: $st="Сопротивление магии воды";break;case 51: $st="Сопротивление магии воздуха";break;case 52: $st="Сопротивление магии земли";break;case 53: $st="Воровство";break;case 54: $st="Осторожность";break;case 55: $st="Скрытность";break;case 56: $st="Наблюдательность";break;case 57: $st="Торговля";break;case 58: $st="Странник";break;case 59: $st="Рыболов";break;case 60: $st="Лесоруб";break;case 61: $st="Ювелирное дело";break;case 62: $st="Самолечение";break;case 63: $st="Оружейник";break;case 64: $st="Доктор";break;case 65: $st="Самолечение";break;case 66: $st="Быстрое восстановление маны";break;case 67: $st="Лидерство";break;case 68: $st="Алхимия";break;case 69: $st="Развитие горного дела";break;case 70: $st="Травничество";break;}
return $st;
}
function savelog($log,$bat){
$fp = fopen ("/var/www/gamale/data/battles/logs/".$bat.".txt","a");
fwrite($fp,$log."n");
fclose($fp);
}
function show_log($id,$start,$mcount){
$lines = file("/var/www/gamale/data/battles/logs/".$id.".txt");
$num = count($lines);
$res='';
for($i=$start;$i<($start + $mcount);$i++){
$res .= $lines[$i];
}
return $res;
}
function Show_Stat($id){
$lines = file("/var/www/gamale/data/battles/stats/".$id.".txt");
$num = count($lines);
$res='';
for($i=0;$i<$num;$i++){
$res .= $lines[$i];
}
return $res;
}
// Lost Password
function send_mail($email,$header,$body){
$subject = '=?windows-1251?B?'.base64_encode($header).'?=';
$headers = "From: GameLE.Ru <gamele@list.ru>rn";
$headers .= "Return-path: <gamele@list.ru>rn";
$headers .= "MIME-Version: 1.0rn";
$headers .= "Content-type: text/html; charset=windows-1251; boundary="--".md5(uniqid(time())).""rn";
if( mail($email, $subject, $body, $headers) ){
return true;
}else{
return false;
}
}
function generate_password($number){
$arr = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','r','s','t','u','v','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','R','S','T','U','V','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 Level_rooms($level){
if($level>0 and $level<=5){
return 0;
}
if($level>5 and $level<=10){
return 5;
}
if($level>10 and $level<=20){
return 25;
}
if($level>20){
return 50;
}
}
function xml_to_array($XML){
// Clean up white space
$XML = trim($XML);
$returnVal = $XML; // Default if just text;
// Expand empty tags
$emptyTag = '<(.*)/>';
$fullTag = '<\1></\1>';
$XML = preg_replace ("|$emptyTag|", $fullTag, $XML);
$matches = array();
if (preg_match_all('|<(.*)>(.*)</\1>|Ums', trim($XML), $matches)){
if (count($matches[1]) > 0) $returnVal = array(); // If we have matches then return an array else just text
foreach ($matches[1] as $index => $outerXML){
$attribute = $outerXML;
$value = xml_to_array($matches[2][$index]);
if (! isset($returnVal[$attribute])) $returnVal[$attribute] = array();
$returnVal[$attribute][] = $value;
}
}
// Bring un-indexed singular arrays to a non-array value.
if (is_array($returnVal)) foreach ($returnVal as $key => $value){
if (is_array($value) && count($value) == 1 && key($value) === 0){
$returnVal[$key] = $returnVal[$key][0];
}
}
return $returnVal;
}
function mtrunc($q)
{
if ($q<0) $q=0;
return $q;
}
function it_break($id){
$it = mysql_fetch_assoc(mysql_query("SELECT `invent`.`iznos`,`invent`.`dolg`,`items`.`acte` FROM `items` INNER JOIN `invent` ON `items`.`id` = `invent`.`protype` WHERE `id_item`='".$id."'"));
$it['iznos']+=1;
if($it['iznos'] == $it['dolg']){
mysql_query("DELETE FROM `invent` WHERE `id_item`='".$id."' LIMIT 1;");
}else{
mysql_query("UPDATE `invent` SET `iznos`='".$it['iznos']."' WHERE `id_item`='".$id."' LIMIT 1;");
}
}