<?PHP

  function calcPages($gesEin,$aktSeite,$eSeite) {
    $output = array();
    $esQuote = ceil(($gesEin/$eSeite));
    if($aktSeite==0) {$aktSeite=1;}
    $startS = ($aktSeite*$eSeite)-$eSeite;
    $output[0]=$esQuote;
    $output[1]=$startS;
    return $output;
  }
  
  function checkAnum($wert) {
    $checkit = preg_match("/^[a-zA-Z0-9]+$/",$wert);
    if($checkit) {
      return true;
    }
    else {
      return false;
    }
  }
  
  function checkIP($wert) {
    $checkit = preg_match("/^[0-9\*]{1,3}+\.[0-9\*]{1,3}+\.[0-9\*]{1,3}+\.[0-9\*]{1,3}+$/",$wert);
    if($checkit) {
      return true;
    }
    else {
      return false;
    }
  }
  
  function checkName($wert) {
    $checkit = preg_match("/^[a-zA-Z0-9[:space:]]+$/",$wert);
    if($checkit) {
      return true;
    }
    else {
      return false;
    }
  }
  
  function checkVoucher($wert) {
    $checkit = preg_match("/^[0-9]+[0-9\-]+[0-9]+$/",$wert);
    $wert = str_replace('-','',$wert);
    if($checkit && strlen($wert)>=16 && strlen($wert)<=25) {
      return true;
    }
    else {
      return false;
    }
  }
  
  function checkPwd($wert) {
    $checkit = preg_match("/^[a-zA-Z0-9[:space:]]+$/",$wert);
    if($checkit) {
      return true;
    }
    else {
      return false;
    }
  }
  
  function checkMail($string) {
    if(preg_match("/^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}$/", $string)) {
      return true;
    }
    else { return false; }
  }
  
  function checkInt($wert) {
    $checkit = preg_match("/^[0-9]+$/",$wert);
    if($checkit) {
      return true;
    }
    else {
      return false;
    }
  }
  
  function checkRate($wert) {
    //if(checkInt($wert) && $wert>0) {
    if(preg_match("/^[1-9]+\.[0-9]+$/",$wert) || $wert>0) {
      return true;
    }
    else {
      return false;
    }
  }

  function compareItems($inputID) {
  
    $input = "./archives/items.txt";
    
    $getFile =  file($input);
    $getZeilen = count($getFile);
    
    for($x=0;$x<$getZeilen;$x++) {
    
      $aktZeile = $getFile[$x];
      $splitZeile = explode('|||',$aktZeile);
      $startWert = $splitZeile[0]+0;
      $endWert = $splitZeile[1]+0;
      if($inputID<=$endWert AND $inputID>=$startWert) {
        $maxStufe = $endWert-$startWert;
        $stufe=$inputID-$startWert;
        $aus=array();
        $aus['item'] = $splitZeile[2];
        $aus['groesse'] = trim($splitZeile[3]);
        $aus['stufe'] = ($maxStufe==0) ? NULL : $stufe;
        $aus['maxStufe'] = $maxStufe;
        $aus['vnum']=$startWert;
        return $aus;
      }
    }
    $nItem=array();
    $nItem['groesse']=1;
    $nItem['item']=$inputID;
    $nItem['stufe']=NULL;
    $nItem['maxStufe']=0;
    $nItem['vnum']=$inputID;
    return $nItem;
  
  }
  
  function checkPos($inID) {
    global $sqlServ;
    $sqlCmd="SELECT pos,vnum FROM player.item WHERE owner_id='".$inID."' AND window='SAFEBOX'";
    $sqlQry=mysql_query($sqlCmd,$sqlServ);
    
    $lagerPos=array();
    while($getLager=mysql_fetch_object($sqlQry)) {
      $maxGr = compareItems($getLager->vnum);
      $aktPos=$getLager->pos;
      for($i=1;$i<=$maxGr['groesse'];$i++) {
        $lagerPos[$aktPos]=$getLager->vnum;
        $aktPos = $aktPos + 5;
      }
    }
    
    $sqlCmd="SELECT pos,vnum FROM player.item WHERE owner_id='".$inID."' AND window='MALL'";
    $sqlQry=mysql_query($sqlCmd,$sqlServ);
    
    $islPos=array();
    while($getISL=mysql_fetch_object($sqlQry)) {
      $maxGr = compareItems($getISL->vnum);
      $aktPos=$getISL->pos;
      for($i=1;$i<=$maxGr['groesse'];$i++) {
        $islPos[$aktPos]=$getISL->vnum;
        $aktPos = $aktPos + 5;
      }
    }
    
    $returnArray['lager']=$lagerPos;
    $returnArray['islager']=$islPos;
    
    return $returnArray;
  }
  
  function listLager($inArray,$typus=0) {
    if($typus==1) {
      $ueS='IS-Lager';
      $cInput=$inArray['islager'];
    }
    else {
      $ueS='Lager';
      $cInput=$inArray['lager'];
    }
    echo'<table class="lager">';
    echo'<tr>
      <th class="topLine" colspan="5">'.$ueS.'</th>
    </tr>';
    for($i=0;$i<45;$i++) {
      if($i==0) { echo'<tr>'; }
      if(isset($cInput[$i])) {
        $zF="tdunkel";
        $getItem = compareItems($cInput[$i]);
        $iStufe = (checkInt($getItem['stufe'])) ? "+".$getItem['stufe'] : '';
        $lineout="<a title=\"".$getItem['item'].$iStufe."\">".$i."</a>";
      }
      else { $zF="thell"; $lineout=$i; }
      echo '<td class="'.$zF.'">'.$lineout.'</td>';
      if($i!=0 && ($i+1)%5==0) { 
        echo'</tr>';
        if(($i+1)!=45) { echo '<tr>'; } 
      }
    }
    echo'</table>';
  
  }
  
  function findPos($belegtePos,$iGroesse) {
    $possPos=array();
    for($i=0;$i<45;$i++) {
    
      if(empty($belegtePos[$i])) {
      
        for($y=0;$y<$iGroesse;$y++) {
        
          $aktPos=$i+($y*5);
          $thisFits = true;
          if(!isset($belegtePos[$aktPos]) && $aktPos<45) {
            $thisFits = true;
          }
          else {
            $thisFits = false;
            break;
          }
          
        }
        if($thisFits) { $possPos[]=$i; }
        
      }
    
    }
    return $possPos;
  }

  function checkUploadSize($dateiGr,$maxGr) {
    $maxGrByte = $maxGr*1024;
    if($dateiGr<=$maxGrByte) {
      return true;
    }
    else {
      return false;
    }
  }
  
  function imageCheckSize($datei,$xMax,$yMax) {
    $erlaubteBilder = array(
      'image/jpeg' => '.jpg',
      'image/gif'  => '.gif'
    );
    $getGr=getimagesize($datei);

    if($getGr[0]<=$xMax && $getGr[1]<=$yMax && !empty($erlaubteBilder[$getGr['mime']]) ) {
      return $erlaubteBilder[$getGr['mime']];
    }
    else {
      return false;
    }
  }
  
  function imageUpload($dateiIn,$maxDateiGr,$maxDateix,$maxDateiy) {
    if($_FILES[$dateiIn]['size']>0) {
      if(checkUploadSize($_FILES[$dateiIn]['size'],$maxDateiGr)) {
        if($dateiEndung = imageCheckSize($_FILES[$dateiIn]['tmp_name'],$maxDateix,$maxDateiy)) {
          $md5datei = md5_file($_FILES[$dateiIn]['tmp_name']).'_'.rand(10000,99999);
          if(move_uploaded_file($_FILES[$dateiIn]['tmp_name'],'./is_img/'.$md5datei.$dateiEndung)) { 
            return $md5datei.$dateiEndung;
          }
          else { return false; }
        }
        else { return false; }
      }
      else { return false; }
    }
    else { return false; }
  }
  
  function getMapByIndex($mapIndex) {
	global $sqlHp;
    if(checkInt($mapIndex)) {
      $returnArray=false;
	  $abfrage1 = "SELECT * FROM ".SQL_HP_DB.".maps";
	  $abfrage2 = mysql_query($abfrage1,$sqlHp);
      while($abfrage3 = mysql_fetch_array($abfrage2)) {
        if(trim($abfrage3['mapId'])==$mapIndex) {
          $returnArray=array();
          $returnArray=$abfrage3;
        }
      }
      
      if(is_array($returnArray)) {
        return $returnArray;
      }
      else {
        return false;
      }
      
    }
    else {
      return false;
    }
  }
  
  function listItems($iid='') {
    echo'<select name="itemtyp">';
      echo'<option value="">-------</option>';
      $itemDatei = "./archives/items.txt";
      $itemListe = file($itemDatei);
      $dateiLaenge = count($itemListe);
      for($i=0;$i<$dateiLaenge;$i++) {
        $splitZeile = explode("|||",$itemListe[$i]);
        $selected= ($iid>=$splitZeile[0] && $iid<=$splitZeile[1]) ? 'selected=selected':''; // to go
        echo'<option '.$selected.' value="'.$splitZeile[0].'">'.$splitZeile[2].'</option>';
      }
    echo'</select>';
  }
  
  function listMaps() {
    global $sqlHp;
    
    echo'<ul class="menue">';
    
	$abfrage1 = "SELECT * FROM ".SQL_HP_DB.".maps";
	$abfrage2 = mysql_query($abfrage1,$sqlHp);
    while($abfrage3 = mysql_fetch_object($abfrage2)) {
      if($abfrage3->Name != "") {
        echo '<li><a href="index.php?s=admin&a=map&mapindex='.$abfrage3->mapId.'">'.$abfrage3->Name.'</a></li>';
      }
    }
    
    echo'</ul>';
    
  }
  
  function getDatum($timeStamp=0)
  {
    return date("d.m.Y",$timeStamp);
  }
  
  function getZeit($timeStamp=0)
  {
    return date("H:i",$timeStamp);
  }

  function x_nl2br($input)
  {
    $input = str_replace("\n",'<br/>',$input);
    return $input;
  }
  
  function listNewsKat($mIndex=-1)
  {
    global $newsKategorien;
    echo'<select name="kategorie">';
    foreach($newsKategorien AS $katIndex => $katName)
    {
      $selected = ($mIndex==$katIndex) ? 'selected="selected"' : '';
      echo'<option '.$selected.' value="'.$katIndex.'">'.$katName.'</option>';
    }
    echo'</select>';
  }
  
  function checkBetween($input,$lower=0,$upper=0)
  {
    if($input>=$lower && $input<=$upper) { return true; }
    else { return false; }
  }
  
  function getTitel()
  {
	global $serverSettings;
	$nummer = rand(1, 3);
	if ($nummer == 1)
	{
		$titel = $serverSettings['titel_page1'];
	}
	elseif ($nummer == 2)
	{
		$titel = $serverSettings['titel_page2'];
	}
	else
	{
		$titel = $serverSettings['titel_page3'];
	}
	return $titel;
  }
  
  function charname($id)
  {
	global $sqlServ;
	$abfrage1 = "SELECT name FROM player.player WHERE id = '".$id."'";
	$abfrage2 = mysql_query($abfrage1, $sqlServ);
	if (mysql_num_rows($abfrage2) == 1) {
		$abfrage3 = mysql_fetch_object($abfrage2);
		return $abfrage3->name;
	} else {
		return false;
	}
  }
  
  function accname($id)
  {
	global $sqlServ;
	$abfrage1 = "SELECT login FROM account.account WHERE id = '".$id."'";
	$abfrage2 = mysql_query($abfrage1,$sqlServ);
	if (mysql_num_rows($abfrage2) == 1)
	{
		$abfrage3 = mysql_fetch_object($abfrage2);
		return $abfrage3->login;
	}
	else
	{
		return false;
	}
  }
  
  function tomail($email,$text,$titel)
  {
	global $mailSettings;
	if ($email == "" or $text == "" or $titel == "")
	{
	  return false;
	}
	else
	{
	  require_once '/PHPMailer/class.phpmailer.php';
	  $mail = new PHPMailer();
	  $mail->SetLanguage("de", "/PHPMailer/");
	  $mail->IsSMTP();
	  $mail->Host = $mailSettings['Host'];
	  $mail->SMTPAuth = true;
	  $mail->Username = $mailSettings['Username'];
	  $mail->Password = $mailSettings['Password'];
	  $mail->From     = $mailSettings['Email'];
	  $mail->FromName = $mailSettings['Name'];
	  
	  $mail->AddAddress($email);
	  $mail->Subject = $titel;
	  $mail->IsHTML(false);
	  $mail->Body = $text;
	  if ($mail->Send())
	  {
		return true;
	  }
	  else
	  {
		return false;
	  }
	}
  }
  
  function lang($name)
  {
	global $sqlHp;
	$ab1 = "SELECT * FROM ".SQL_HP_DB.".lang WHERE name = '".$name."' LIMIT 1";
	$ab2 = mysql_query($ab1,$sqlHp);
	if (mysql_num_rows($ab2) == 1)
	{
	  $ab3 = mysql_fetch_object($ab2);
	  if ($_SESSION['lang'] == "ro")
	  {
		return $ab3->ro;
	  }
	  elseif ($_SESSION['lang'] == "en")
	  {
		return $ab3->en;
	  }
	}
  }
  
  function get_item_proto($item)
  {
	global $sqlServ;
	$ab1 = "SELECT id,locale_name,size FROM player.item_proto WHERE id = '".$item."'";
	$ab2 = mysql_query($ab1,$sqlServ);
	if (mysql_num_rows($ab2) == 1)
	{
	  $ab3 = mysql_fetch_object($ab2);
	  $return = array();
	  $return['name'] = $ab3->locale_name;
	  $return['groesse'] = $ab3->size;
	  $return['id'] = $ab3->id;
	  return $return;
	}
	else
	{
	  return false;
	}
  }
?>