<?php /* * * @copyright (c) 2010 animegame.eu * @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public Licence * */ include_once('path.inc.php'); // get the path ;) include_once(ROOT_PATH.'/include/config.inc.php'); include_once(ROOT_PATH.'/include/char.inc.php'); include_once(ROOT_PATH.'/include/designfunctions.inc.php'); include_once(ROOT_PATH.'/include/abholcodes.inc.php'); include_once(ROOT_PATH.'/include/parse.inc.php'); include_once(ROOT_PATH.'/include/semaphore.inc.php'); include_once(ROOT_PATH.'/include/fehlerausgabe.inc.php'); include_once(ROOT_PATH.'/include/img.inc.php'); include_once(ROOT_PATH.'/include/exp.inc.php'); // GET-Section // Kritisch (SQL-Injections) $lvl = validateUnsignedInteger($_GET['lvl'], null); $pagenum = validateUnsignedInteger($_GET['pagenum'], null); if(is_array($_GET['char_id'])){ $char_id = validateUnsignedIntegerArray($_GET['char_id'], null); } else { $char_id = validateUnsignedInteger($_GET['char_id'], null); } $kampf_id = validateUnsignedInteger($_GET['kampf_id'], null); $kampf_zeit = validateUnsignedInteger($_GET['kampf_zeit'], null); $kampf_name = validateName($_REQUEST['kampf_name']); $portal = validateString($_GET['portal']); $kampf_pw = validateString($_GET['kampf_pw']); // Wird später geprüft $phrase = $_GET['phrase']; $imgid = $_GET['imgid']; // Unkritisch $charm = $_REQUEST['charm']; $auth = true; ?> <html> <head> <title>AnimeGame.eu</title> <meta http-equiv="Content-Language" content="de"> <meta http-equiv="Content-Type" content="text/html;"> <link href="design/style.css" rel="STYLESHEET" type="text/css"> </head> <body> <?php function starteFight($chara_1, $chara_2, $kampf_info){ include 'kampf2.php'; // Muss einfach noch umgeschrieben werden!! (Später!!) } function erstelleEinenFight($charid, &$user, $kampf_name, $kampf_pw, $kampf_zeit, $lvl){ // Ermittle ob der User eine Funktionierende Arena besitzt! $qry = mysql_query('Select * from arena where besitzer = '.$user['id']); if(mysql_num_rows($qry) == 0){ mysql_query('INSERT arena(besitzer, exp) values (\''.$user_ida['id'].'\', \'0,'.calculateRequiredExpArena(1).'\')'); $arena = mysql_query('Select * from arena where besitzer = '.$user['id']); } $arena = mysql_fetch_assoc($qry); if($arena['mietlasten'] > 6){ displayErrorMessage('Kampf erstellen nicht Möglich!', 'Ihre Arena ist geschlossen', displayHistoryBackLink()); return; } else if($arena['zustand'] <= 0.5){ displayErrorMessage('Kampf erstellen nicht Möglich!', 'Ihre Arena ist in einem mieserablen Zustand', displayHistoryBackLink()); return; } $char_a = getChar($charid); if(!isUserOwnerOf($user['id'],$charid)){ return $char_a['name'].': Der Char gehört dir nicht.'; } if($char_a['status'] != 'Frei') { return $char_a['name'].': Der Char ist nicht frei!'; } if(($kampf_pw != '' && !is_null($kampf_pw)) && $user['pw_fight'] < 1) { return $char_a['name'].': Sie dürfen nur 4 Passwortkämpfe pro Tag machen!'; } $char_hp = explode(',', $char_a['hp']); if($char_hp['0'] < 50) { return $char_a['name'].': Die HP des Chars ist unter 50.'; } if($char_hp[0] <= ($char_hp[1] / 100) * $char_a['aufgeben']) { return $char_a['name'].': Die HP des Chars ist unter seiner Aufgabegrenze.'; } $w_zeit = time() + 43200; mysql_query('UPDATE chars SET status=\'Kampf Erstellt\' WHERE id='.$charid); if($lvl != 0){ $sql = 'INSERT INTO kampf_list(lvlmin, lvlmax, kampfname, charakter, passwort, besitzer, zeit, zeit_rec, ip) values ('.($char_a['level']-$lvl).', '.($char_a['level']+$lvl).', \''.$kampf_name.'\', '.$charid.', \''.$kampf_pw.'\', \''.$user['nickname'].'\', '.$w_zeit.', '.$kampf_zeit.', \''.$_SERVER['REMOTE_ADDR'].'\')'; } else{ $sql = 'INSERT INTO kampf_list(lvlmin, lvlmax, kampfname, charakter, passwort, besitzer, zeit, zeit_rec, ip) values (0, 0, \''.$kampf_name.'\', '.$charid.', \''.$kampf_pw.'\', \''.$user['nickname'].'\', '.$w_zeit.', '.$kampf_zeit.', \''.$_SERVER['REMOTE_ADDR'].'\')'; } // echo $sql.'<br'; mysql_query($sql); if($kampf_pw != '' && !is_null($kampf_pw)){ mysql_query('UPDATE user SET pw_fight=pw_fight-1 WHERE id='.$user['id']); $user['pw_fight']--; } return $char_a['name'].': Kampf wurde erfolgreich erstellt!'; } function nehmeKampfAn($user, $charid, $kampf_id, $kampf_pw){ if(!is_numeric($kampf_id)){ displayErrorMessage(NULL,'Kampfid ist keine Zahl', displayHistoryBackLink()); return; } $char_a = getChar($charid); if(!isUserOwnerOf($user['id'],$charid)){ return $char_a['name'].': Der Char gehört dir nicht.'; } if($char_a['status'] != 'Frei') { return $char_a['name'].': Der Char ist nicht frei!'; } $char_hp = explode(',', $char_a['hp']); if($char_hp['0'] < 50) { return $char_a['name'].': Die HP des Chars ist unter 50.'; } if($char_hp[0] <= ($char_hp[1] / 100) * $char_a['aufgeben']) { return $char_a['name'].': Die HP des Chars ist unter seiner Aufgabegrenze.'; } // Reserviere den User!! $ressource1 = 'User:'.$user['id']; // Reserviere den Fight!! $ressource2 = 'Kampf:'.$kampf_id; if(!semaphoreUP($ressource1)){ // TRUE, diese Anfrage darf bearbeitet werden displayErrorMessage(NULL,'Verarbeitung gerade in Gange, bitte warten...', displayHistoryBackLink()); return; } if(!semaphoreUP($ressource2)){ // TRUE, diese Anfrage darf bearbeitet werden displayErrorMessage(NULL,'Kampf existiert nicht mehr!', displayHistoryBackLink()); semaphoreDown($ressource1); return; } $sql = 'SELECT * FROM kampf_list where id = '.$kampf_id.' AND ('.$char_a['level'].' between lvlmin and lvlmax OR lvlmax = 0) AND ip != \''.$_SERVER['REMOTE_ADDR'].'\' AND (passwort = \'\' OR passwort = \''.$kampf_pw.'\')'; // echo $sql.'<br>'; $fight_row = mysql_fetch_assoc(mysql_query($sql)); if(!$fight_row){ $fight_row = mysql_fetch_assoc(mysql_query('SELECT * FROM kampf_list where id = '.$kampf_id)); if(!$fight_row){ displayErrorMessage(NULL,'Kampf existiert nicht mehr!', displayHistoryBackLink()); } else if($_SERVER['REMOTE_ADDR'] == $fight_row['ip']){ displayErrorMessage(NULL,'Kampf kann nicht angenommen werden, da die IP gleich ist!', displayHistoryBackLink()); } else if($fight_row['lvlmax'] != 0 && $fight_row['lvlmin'] > $char_a['level']){ displayErrorMessage(NULL,'Level zu niedring!', displayHistoryBackLink()); } else if($fight_row['lvlmax'] != 0 && $fight_row['lvlmax'] < $char_a['level']){ displayErrorMessage(NULL,'Level zu hoch!', displayHistoryBackLink()); } else if($fight_row['passwort'] != $kampf_pw){ displayErrorMessage(NULL,'Passwort falsch!', displayHistoryBackLink()); } else{ displayErrorMessage(NULL,'Kampf konnte nicht angenommen werden, warum auch immer!', displayHistoryBackLink()); } semaphoreDown($ressource2); semaphoreDown($ressource1); return; } $char_b = getChar($fight_row['charakter']); if(isUserOwnerOf($user['id'], $fight_row['charakter'])){ displayErrorMessage(NULL,'Annehmen von eigenen Fights ist nicht möglich!', displayHistoryBackLink()); semaphoreDown($ressource2); semaphoreDown($ressource1); return; } createAbholcode($char_a['id']); createAbholcode($char_b['id']); // Ein Kampf kostet 1 Aktionspunkt! hasDoneAction($user, 1); // So nun kann der Fight in aller Ruhe starten! starteFight($char_a, $char_b, $fight_row); displayErrorMessage(NULL,'Kampf angenommen...', ''); semaphoreDown($ressource2); semaphoreDown($ressource1); } function nehmeAutofightAn($user, $charid, $kampf_name, $kampf_zeit, $lvl){ $char_a = getChar($charid); if(!isUserOwnerOf($user['id'],$charid)){ return $char_a['name'].': Der Char gehört dir nicht.'; } if($char_a['status'] != 'Frei') { return $char_a['name'].': Der Char ist nicht frei!'; } $char_hp = explode(',', $char_a['hp']); if($char_hp['0'] < 50) { return $char_a['name'].': Die HP des Chars ist unter 50.'; } if($char_hp[0] <= ($char_hp[1] / 100) * $char_a['aufgeben']) { return $char_a['name'].': Die HP des Chars ist unter seiner Aufgabegrenze.'; } // Char ist ok! Suche Fight ^^ if($kampf_name !== '' && !is_null($kampf_name)){ $whereclause = ' kampfname like \''.$kampf_name.'\' AND '; } if($lvl > 0 && $lvl < 10){ $sql = 'SELECT kl.id FROM kampf_list kl inner join chars c on kl.charakter = c.id WHERE c.level between '.($char_a['level'] - $lvl).' and '.($char_a['level'] + $lvl).' AND '.$whereclause.' kl.besitzer != \''.$user['nickname'].'\' AND ('.$char_a['level'].' between kl.lvlmin and kl.lvlmax OR kl.lvlmax = 0) AND kl.IP != \''.$_SERVER['REMOTE_ADDR'].'\' AND kl.rasse != \'NPC\' AND kl.zeit_rec = '.$kampf_zeit.' AND passwort = \'\' ORDER BY id ASC'; } else { $sql = 'SELECT id FROM kampf_list WHERE '.$whereclause.' besitzer != \''.$user['nickname'].'\' AND ('.$char_a['level'].' between lvlmin and lvlmax OR lvlmax = 0) AND IP != \''.$_SERVER['REMOTE_ADDR'].'\' AND rasse != \'NPC\' AND zeit_rec = '.$kampf_zeit.' AND passwort = \'\' ORDER BY id ASC'; } // Nur mal die ID-Liste ausgeben // echo $sql.'<br>'; $qry = mysql_query($sql); $fight_row = NULL; while($row = mysql_fetch_assoc($qry)){ $ressource = 'Kampf:'.$row['id']; // Wichtig, die Semaphore!! if(semaphoreUP($ressource)){ // TRUE, diese Anfrage darf bearbeitet werden $fight_row = mysql_fetch_assoc(mysql_query('SELECT * FROM kampf_list where id = '.$row['id'])); if($fight_row){ break; } } semaphoreDown($ressource); // kein Break?? Dann gebe Ressource frei!! } if(!$fight_row){ return $char_a['name'].': Es konnte kein Fight gefunden werden!'; } // Nur noch Informationen ueber den anderen Char holen!! $chara_2 = getChar($fight_row['charakter']); createAbholcode($char_a['id']); createAbholcode($chara_2['id']); // Pro Char kostet das annehmen 1 Aktionspunkt hasDoneAction($user,1); // So nun kann der Fight in aller Ruhe starten! starteFight($char_a, $chara_2, $fight_row); semaphoreDown($ressource); return $char_a['name'].': Kampf wurde erfolgreich angenommen!'; } function autokampf($user, $kampf_name, $char_id, $kampf_zeit, $lvl){ if(!is_numeric($lvl) || !is_numeric($kampf_zeit) || $kampf_zeit < 0 || c > 4){ displayErrorMessage(NULL,'Fehlerhafte Eingabe!',displayHistoryBackLink()); return; } $kampf_zeit *= 300; // User darf erstmal nix mehr machen! $ressource = 'User:'.$user['id']; // Wichtig, die Semaphore!! if(!semaphoreUP($ressource)){ // TRUE, diese Anfrage darf bearbeitet werden displayErrorMessage(NULL,'Verarbeitung gerade in Gange, bitte warten...', displayHistoryBackLink()); return; } if(is_array($char_id)){ for($i=0;$i<count($char_id);$i++){ if(is_numeric($char_id[$i])){ $tmp .= nehmeAutofightAn($user, $char_id[$i], $kampf_name, $kampf_zeit, $lvl)."<br>\n"; } } } else { $tmp = 'Kein Char ausgewählt!'; } displayErrorMessage(NULL,$tmp, ''); semaphoreDown($ressource); } function erstelleFights($user, $kampf_name, $kampf_pw, $char_id, $kampf_zeit, $lvl){ if(!is_numeric($lvl) || !is_numeric($kampf_zeit) || $kampf_zeit < 0 || c > 4){ displayErrorMessage(NULL,'Fehlerhafte Eingabe!',displayHistoryBackLink()); return; } $kampf_zeit *= 300; if($kampf_name === NULL || $kampf_name == '') { // Kampfname ist fuer alle gleich einzugeben! displayErrorMessage(NULL,'Geben sie bitte den Kampfnamen ein.',displayHistoryBackLink()); return; } // User darf erstmal nix mehr machen! $ressource = 'User:'.$user['id']; // Wichtig, die Semaphore!! if(!semaphoreUP($ressource)){ // TRUE, diese Anfrage darf bearbeitet werden displayErrorMessage(NULL,'Verarbeitung gerade in Gange, bitte warten...', displayHistoryBackLink()); return; } if(is_array($char_id)){ for($i=0;$i<count($char_id);$i++){ if(is_numeric($char_id[$i])){ $tmp .= erstelleEinenFight($char_id[$i], $user, $kampf_name, $kampf_pw, $kampf_zeit, $lvl)."<br>\n"; } } // Pro erstellter Fight kostet es einen Aktionspunkt! hasDoneAction($user,count($char_id)); } else { $tmp = 'Kein Char ausgewählt!'; } displayErrorMessage(NULL,$tmp, ''); semaphoreDown($ressource); } function displayAutoFights($user, $portal, $pagenum){ ?> <form action="kampf_list.php" method="GET"> <input type="hidden" name="charm" value="3"> <input type="hidden" name="portal" value="<?php echo $portal; ?>"> <input type="hidden" name="pagenum" value="<?php echo $pagenum; ?>"> <table id="content" width="100%"> <tr> <th id="content" align="center" colspan="2">Autofight!</th> </tr> <tr> <th id="content" align="center">Kampfname</th> <td><input id="input" name="kampf_name"/></td> </tr> <tr> <th id="content" align="center">Charakter</th> <td id="content"> <?php $chars = getCharsOfUser($user['id']); foreach($chars as $row){ if($row['status'] != 'Frei'){ $disabled = ' disabled="1" '; } else{ $disabled = ''; } echo '<input id="input" type="checkbox" name="char_id[]" value="'.$row['id'].'"'.$disabled.'>'.$row['name'].'</input><br>'."\n"; } ?> </td> </tr> <tr> <th id="content" align="center">Kampf Zeit</th> <td> <select id="input" name="kampf_zeit"> <option value="1">5min</option> <option value="4">20min</option> <option value="12" selected>60min</option> </select> </td> </tr> <tr> <th id="content" align="center">Level Begrenzung</th> <td> <select id="input" name="lvl"> <option value="0">alle</option> <?php // Dynamisches einstellen der Stufen for($i=1;$i<10;$i++){ echo '<option value="'.$i.'">'.$i.'</option>'; } ?> </select> </td> </tr> <tr> <td> </td> <td> <input id="input" type="submit" value="Autofight!"> </td> </tr> </table> </form> <?php } function displayKampfErstellen($user, $portal, $pagenum){ // Ermittle ob der User eine Funktionierende Arena besitzt! $qry = mysql_query('Select * from arena where besitzer = '.$user['id']); $arena = mysql_fetch_assoc($qry); if(mysql_num_rows($qry) == 0){ mysql_query('INSERT arena(besitzer, exp) values (\''.$user_ida['id'].'\', \'0,'.calculateRequiredExpArena(1).'\')'); $arena = mysql_fetch_assoc(mysql_query('Select * from arena where besitzer = '.$user['id'])); } if($arena['mietlasten'] > 7){ displayErrorMessage('Kampf erstellen nicht Möglich!', 'Ihre Arena ist geschlossen', displayHistoryBackLink()); return; } else if($arena['zustand'] <= 0.5){ displayErrorMessage('Kampf erstellen nicht Möglich!', 'Ihre Arena ist in einem mieserablen Zustand', displayHistoryBackLink()); return; } ?> <form action="kampf_list.php" method="GET"> <input type="hidden" name="charm" value="2"> <input type="hidden" name="portal" value="<?php echo $portal; ?>"> <input type="hidden" name="pagenum" value="<?php echo $pagenum; ?>"> <table id="content" width="100%"> <tr> <th id="content" align="center" colspan="2">Kampf Erstellen</th> </tr> <tr> <th id="content" align="center">Kampfname</th> <td id="content" ><input id="input" name="kampf_name"></td> </tr> <tr> <th id="content" align="center">Charakter</th> <td id="content"> <?php $chars = getCharsOfUser($user['id']); foreach($chars as $row){ if($row['status'] != 'Frei'){ $disabled = ' disabled="1" '; } else{ $disabled = ''; } echo '<input id="input" type="checkbox" name="char_id[]" value="'.$row['id'].'"'.$disabled.'>'.$row['name'].'</input><br>'."\n"; } ?> </td> </tr> <tr> <th id="content" align="center">Kampf Zeit</th> <td> <select id="input" name="kampf_zeit"> <option value="1">5min</option> <option value="4">20min</option> <option value="12" selected>60min</option> </select> </td> </tr> <tr> <th id="content" align="center">Level Begrenzung</th> <td id="content" > <select id="input" name="lvl"> <option value="0">alle</option> <?php // Dynamisches einstellen der Stufen for($i=1;$i<10;$i++){ echo '<option value="'.$i.'">'.$i.'</option>'; } ?> </select> </td> </tr> <tr> <th id="content" align="center">Passwort</th> <td id="content"> <input id="input" name="kampf_pw"> </td> </tr> <tr> <td id="content"> </td> <td id="content"> <input id="input" type="submit" value="Kampf Erstellen"> </td> </tr> </table> </form> <?php } function display($user, $portal, $pagenum){ if(!is_numeric($pagenum)){ $pagenum = 0; } ?> <table id="content" width="100%" border="2"> <tr id="content"> <td id="content" align="center" colspan="2"> <a id="popup" href='kampf_list.php?charm=5' title='Automatische Zuweisung für deine Chars.'>Auto Kampf</a> / <a id="popup" href='kampf_list.php?portal=NPC' title='Das Portal in dem Noobs gegen NPCs Kämpfen können'>NPC Kampf</a> </td> <td id="content" align="center" colspan="2"> <a id="popup" href='kampf_list.php?portal=LVL' title='Alle begrenzten und passwortgeschützten Fights.'>Begrenzt</a> / <a id="popup" href='kampf_list.php' title='Hier stehen alle freien Fights aufgelistet.'>Free 4 All</a> </td> <td id="content" align="center" colspan="2"> <a id="popup" href="kampf_list.php?charm=1">Kampf Erstellen</a> </td> </tr> <tr id="content"> <td id="content" align="center">Gegner</td> <td id="content" align="center">Info</td> <td id="content" align="center">Kampf Zeit</td> <td id="content" align="center">Arena</td> <td id="content" align="center">Passwort</td> <td id="content" align="center">Kämpfen</td> </tr> <?php if($portal == 'NPC') { $kampf_l = mysql_query('SELECT n.req_charakter, n.mal, k.rasse, k.id, k.passwort, k.kampfname, k.lvlmin, k.lvlmax, k.zeit_rec, k.besitzer, k.charakter ,a.name as a_name, a.level as a_level, a.luxus, a.loge, a.steh, a.sitz FROM kampf_list k LEFT JOIN chars c ON(c.id=k.charakter) LEFT JOIN npc_item n ON(n.charakter=c.id) inner join arena a ON a.besitzer = c.besitzer WHERE k.rasse=\'NPC\' ORDER BY c.level'); $total = mysql_fetch_row(mysql_query('SELECT count(*) FROM kampf_list WHERE rasse=\'NPC\'')); $total = $total[0]; $entriesPerPage = $total; } else if($portal == 'LVL'){ $entriesPerPage = 10; $kampf_l = mysql_query('SELECT k.id, k.passwort, k.kampfname, k.lvlmin, k.lvlmax, k.zeit_rec, k.besitzer, k.charakter, a.name as a_name, a.level as a_level, a.luxus, a.loge, a.steh, a.sitz FROM kampf_list k LEFT JOIN chars c ON(c.id=k.charakter) inner join arena a ON a.besitzer = c.besitzer WHERE k.rasse=\'ALL\' and k.lvlmax != 0 or passwort != \'\' ORDER BY k.id ASC LIMIT '.$pagenum*$entriesPerPage.','.$entriesPerPage); $total = mysql_fetch_row(mysql_query('SELECT count(*) FROM kampf_list WHERE rasse=\'ALL\' and lvlmax != 0 or passwort != \'\'')); $total = $total[0]; } else{ $entriesPerPage = 10; $kampf_l = mysql_query('SELECT k.id, k.passwort, k.kampfname, k.lvlmin, k.lvlmax, k.zeit_rec, k.besitzer, k.charakter, a.name as a_name, a.level as a_level, a.luxus, a.loge, a.steh, a.sitz FROM kampf_list k LEFT JOIN chars c ON(c.id=k.charakter) inner join arena a ON a.besitzer = c.besitzer WHERE k.rasse=\'ALL\' and k.lvlmax = 0 and passwort = \'\' ORDER BY k.id ASC LIMIT '.$pagenum*$entriesPerPage.','.$entriesPerPage); $total = mysql_fetch_row(mysql_query('SELECT count(*) FROM kampf_list WHERE rasse=\'ALL\' and lvlmax = 0 and passwort = \'\'')); $total = $total[0]; } while($row = mysql_fetch_array($kampf_l)) { $char = getChar($row['charakter']); if($row['passwort']){ $pw_exe = 'pass1'; } else { $pw_exe = 'pass2'; } if($user['scouter']) { $ca_pl = ($char['starke'] + $char['verteidigung'] + $char['speed'] + $char['ausdauer'] + $char['glueck']); $ca_pls = 'PL'; } else { $ca_pl = (($char['starke'] + $char['verteidigung'] + $char['speed'] + $char['ausdauer'] + $char['glueck']) * 2) + mt_rand(1,30) * 0.8; $ca_pls = 'Ca. PL'; } $char_min = $row['lvlmin']; $char_max = $row['lvlmax']; if($char_min < 1) { $char_min = 0; } ?> <tr> <td id="content" align="center"> <br> <?php echo $row['kampfname']; ?><br> <img border="0" src="<?php echo $char['bild']; ?>" width="75" height="75"><br> <?php echo $char['name']; ?> </td> <td id="content" align="center"> <?php if($char_max == 0){ $lvlbegr = ''; }else{ $lvlbegr = '<br>LVL Begrenzung: '.$char_min.' - '.$char_max; } echo 'Level: '.$char['level'].'<br>'.$ca_pls.': '.$ca_pl.$lvlbegr; ?> </td> <td id="content" align="center"> <?php echo $row['zeit_rec']/60; ?>Min </td> <td id="content" align="center"> <?php echo '<strong>'.$row['a_name'].'</strong> ('.$row['besitzer'].')<br>'; echo 'Stehplätze: '.$row['steh'].'<br>'; echo 'Sitzplätze: '.$row['sitz'].'<br>'; echo 'Logenplätze: '.$row['loge'].'<br>'; echo 'Luxus: '.$row['luxus'].'<br>'; ?> </td> <td id="content" align="center"> <?php if($row['rasse'] == 'NPC') { $anzahl_min = mysql_fetch_row(mysql_query('SELECT count(id) FROM npc_ware WHERE charakter=\''.$row['charakter'].'\' AND user='.$user['id'].' LIMIT 50')); $anzahl_min = $anzahl_min[0]; if($row['req_charakter'] != 0){ $req_charakter= getChar($row['req_charakter']); } echo 'geschafft ('.$anzahl_min.'/'.$row['mal'].')<br><br>Voraussetzung:<br>'; if($req_charakter['name']) { echo $req_charakter['name']; } else { echo 'keine'; } } else { ?> <img border="0" src="design/bilder/buttons/<?php echo $pw_exe.'.gif'; ?>" width="60" height="16"> <?php } ?> </td> <td id="content" align="center"> <?php if($char['besitzer'] == $user['id']) { ?> <a id="popup" href="kampf_list.php?charm=7&kampf_id=<?php echo $row['id']; ?>&portal=<?php echo $portal; ?>">zurückziehen</a> <?php } else { ?> <a id="popup" href="kampf_list.php?charm=4&kampf_id=<?php echo $row['id']; ?>&portal=<?php echo $portal; ?>">annehmen</a> <?php } ?> </td> </tr> <?php } ?> <tr> <td colspan="6"> <?php echo displayPagelinksNew($entriesPerPage, $total, $pagenum, '<a href="kampf_list.php?pagenum=###PAGE###&portal='.$portal.'">###LABEL###</a>'); ?> </td> </tr> </table> <?php } function displayKampfAnnehmen($user, $kampf_id, $portal, $pagenum){ ?> <form action="kampf_list.php" method="GET"> <input type="hidden" name="portal" value="<?php echo $portal; ?>"> <input type="hidden" name="pagenum" value="<?php echo $pagenum; ?>"> <input type="hidden" name="charm" value="6"> <table width="100%" id="content"> <input type="hidden" name="kampf_id" value="<?php echo $kampf_id; ?>"> <tr> <th id="content" align="center" colspan="2">Kampf annehmen</th> </tr> <tr> <th id="content" align="center">Charakter</th> <td id="content"> <select id="input" name="char_id"> <?php $chars = getCharsOfUser($user['id']); foreach($chars as $row){ echo '<option value="'.$row['id'].'">'.$row['name'].' | '.$row['status'].'</option>'."\n"; } ?> </select> </td> </tr> <tr> <th id="content" align="center">Passwort</th> <td id="content"> <input id="input" name="kampf_pw"> </td> </tr> <tr> <td id="content"> </td> <td id="content"> <input id="input" type="submit" value="annehmen"> </td> </tr> </table> </form> <?php } function zieheKampfZurueck($user, $kampf_id){ // User darf erstmal nix mehr machen! if(!is_numeric($kampf_id)){ return; } $kampf_a = mysql_fetch_assoc(mysql_query('SELECT * FROM kampf_list where id = '.$kampf_id)); if(!$kampf_a){ displayErrorMessage(NULL,'Kampf ist nicht mehr vorhanden! ('.$kampf_a['charakter'].')', displayHistoryBackLink()); return; } $char_id = $kampf_a['charakter']; $char_a = getChar($char_id); if(!isUserOwnerOf($user['id'], $char_id)){ displayErrorMessage(NULL,'Der Char gehoert nicht dir!!', displayHistoryBackLink()); return; } // Reserviere den User!! $ressource1 = 'User:'.$user['id']; // Reserviere den Fight!! $ressource2 = 'Kampf:'.$kampf_id; if(!semaphoreUP($ressource1)){ displayErrorMessage(NULL,'Verarbeitung gerade in Gange, bitte warten...', displayHistoryBackLink()); return; } if(!semaphoreUP($ressource2)){ semaphoreDown($ressource1); return; } mysql_query('DELETE FROM kampf_list WHERE id = '.$kampf_id); mysql_query('UPDATE chars SET status = \'Frei\' WHERE id ='.$char_id); if($kampf_a['kampf_pw'] !== '' || $kampf_a['kampf_pw'] !== NULL){ mysql_query('UPDATE user SET pw_fight = pw_fight + 1 WHERE id ='.$user['id']); } semaphoreDown($ressource2); semaphoreDown($ressource1); displayErrorMessage(NULL,'Der Kampf wurde zurückgezogen!', ''); } if(hasToAuthenticate($user_ida)){ if(checkImageCode($imgid, $phrase, $user_ida) ){ resetUserCounter($user_ida); } else{ $id = generateImageID(); echo '<form action="kampf_list.php" method="GET">'; while (list($key, $val) = each($_GET)) { echo '<input type="hidden" name="'.$key.'" value="'.$val.'" />'; } echo '<table width="100%" class="content"><tr><th class="content">Bitte Code eingeben</th></tr><tr><td align="center"><img src="img.php?id='.$id.'"></td></tr><tr><td align="center"><input class="input" name="phrase"/><input name="imgid" value="'.$id.'" type="hidden"/></td></tr><tr><td align="center"><input id="input" type="submit" value="eingeben"></td></tr></table></form>'; $auth = false; } } if($auth == false){ // Do nothing anymore } else if($charm == 1){ displayKampfErstellen($user_ida, $portal, $pagenum); display($user_ida, $portal, $pagenum); } else if($charm == 2){ // function charm2($user, $kampf_name, $kampf_pw, $char_id, $kampf_zeit, $lvl){ erstelleFights($user_ida, $kampf_name, $kampf_pw, $char_id, $kampf_zeit, $lvl); display($user_ida, $portal, $pagenum); } else if($charm == 3){ autokampf($user_ida, $kampf_name, $char_id, $kampf_zeit, $lvl); display($user_ida, $portal, $pagenum); } else if($charm == 4){ displayKampfAnnehmen($user_ida, $kampf_id,$portal, $pagenum); display($user_ida, $portal, $pagenum); } else if($charm == 5){ displayAutoFights($user_ida, $portal, $pagenum); display($user_ida, $portal, $pagenum); } else if($charm == 6){ nehmeKampfAn($user_ida, $char_id, $kampf_id, $kampf_pw); display($user_ida, $portal, $pagenum); } else if($charm == 7){ zieheKampfZurueck($user_ida, $kampf_id); display($user_ida, $portal, $pagenum); } else{ display($user_ida, $portal, $pagenum); } ?> </body> </html>