<?php /* * * @copyright (c) 2010 animegame.eu * @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public Licence * */ /** * Diese Datei wird aufgerufen wenn "Charakter erstellen" ausgewaehlt wurde. * TODO: Layout anpassen (keine <center>, <font> und <strong> Tags mehr) * TODO: Alle "" Strings in '' Strings umwandeln * TODO: Funktioneller Aufruf, damit exit-Tags verschwinden koennen und somit der Chat angezeigt werden kann!! */ include_once('path.inc.php'); // get the path ;) include_once(ROOT_PATH.'/include/config.inc.php'); include_once(ROOT_PATH.'/include/designfunctions.inc.php'); include_once(ROOT_PATH.'/include/fehlerausgabe.inc.php'); include_once(ROOT_PATH.'/include/erstellfunctions.inc.php'); include_once(ROOT_PATH.'/include/parse.inc.php'); include_once(ROOT_PATH.'/include/usergroup.inc.php'); include_once(ROOT_PATH.'/include/exp.inc.php'); // GET-Section // Kritisch (SQL-Injections) $char_name = validateName($_GET['char_name']); $char_1_type = validateString($_GET['char_1_Type']); $char_bild = validateURL($_GET['char_bild']); $char_lvl = validateInteger($_GET['char_lvl'], NULL); $randomize = validateInteger($_GET['random'], NULL); // Unkritisch $charm = $_REQUEST['charm']; $char_type = $_GET['char_type']; ?> <SCRIPT language="JavaScript"> <!-- function isAPhoneNumber(){ var s = "" + document.charz.char_name.value; //Umwandlung in eine Zeichenkette var zeichen = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_ !" //Gueltige Zeichen for (var i=0; i<s.length; i++){ if (zeichen.indexOf(s.charAt(i))==-1){ //kein gueltiges Zeichen return false; } } return true; } --> </SCRIPT> <?php //if($charm == 2) { // $user_ida, $char_1_Type, $char_name function handleErstelleCharRequest($user, $type, $name, $bild){ if($type != 'Mensch' && $type != 'Saiyajin' && $type != 'Dämon' && $type != 'Mutant' && $type != 'Cyborg' && $type != 'Namekianer' && $type != 'Pirat' && $type != 'Schwertkämpfer' && $type != 'Grandline Maschine'){ displayErrorMessage(NULL,'Rasse kann nicht erstellt werden!',displayHistoryBackLink()); return; } if(erstelleChar($user, $type, $name, $bild)){ displayErrorMessage('Änderungen übernommen','','<a href="index.php?as=char">weiter</a>'); } } function handleErstelleCharRequestOfTestUser($user, $type, $name, $bild, $lvl, $lp, $hp, $mp, $str, $def, $spd, $end, $lck){ //stats auf numeric prüfen! if($type != 'Mensch' && $type != 'Saiyajin' && $type != 'Dämon' && $type != 'Mutant' && $type != 'Cyborg' && $type != 'Namekianer' && $type != 'Pirat' && $type != 'Schwertkämpfer' && $type != 'Grandline Maschine' && $type != 'Kaioshin' && $type != 'Shichibukai'){ displayErrorMessage(NULL,'Rasse kann nicht erstellt werden!',displayHistoryBackLink()); return; } if(!is_numeric($hp) || !is_numeric($mp) || !is_numeric($str) || !is_numeric($def) || !is_numeric($spd) || !is_numeric($end) || !is_numeric($lck)) { displayErrorMessage(NULL,'Ungültige Eingabe bei den Stats!',displayHistoryBackLink()); return; } if($lp < ($hp+$mp+$str+$def+$spd+$end+$lck)) { displayErrorMessage(NULL,'Es wurden mehr Lernpunkte ausgegeben als eigentlich möglich!',displayHistoryBackLink()); return; } $lp -= ($hp+$mp+$str+$def+$spd+$end+$lck); if(erstelleChar($user, $type, $name, $bild, $lvl, $lp, $hp, $mp, $str, $def, $spd, $end, $lck)){ displayErrorMessage('Änderungen übernommen','','<a href="index.php?as=char">weiter</a>'); } } //if($charm !== NULL) { function handleSecondPhase($type, $name){ ?> <form action="index.php" method="get"> <input type="hidden" name="as" value="char"> <input type="hidden" name="charm" value="2"> <input type="hidden" name="char_name" value="<?php echo $name; ?>"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" height="20"> <tr> <th colspan="2" align="center">Charakter erstellen (2/2)</th> </tr> <tr> <th align="left">Rasse:</th> <td><select id="input" name="char_1_Type"> <?php if($type == 'Dragonball') { ?> <option value="Mensch">Mensch</option> <option value="Saiyajin">Saiyajin</option> <option value="Dämon">Dämon</option> <option value="Mutant">Mutant</option> <option value="Cyborg">Cyborg</option> <option value="Namekianer">Namekianer</option> <?php } else if($type == 'Onepiece') { ?> <option value="Pirat">Pirat</option> <option value="Schwertkämpfer">Schwertkämpfer</option> <option value="Grandline Maschine">Grandline Maschine</option> <?php } else{ ?> <option value="Cheater">Cheater</option> <?php } ?> </select> </td> </tr> <tr> <th align="left">Charakter Bild (75x75):</th> <td><input name="char_bild" id="input"> </td> </tr> <tr> <td></td> <td><input id="input" type=submit value="weiter"> </td> </tr> </table> </form> <?php } function handleSecondPhaseForTester($type, $name){ ?> <form action="index.php" method="GET"> <input type="hidden" name="as" value="char"> <input type="hidden" name="charm" value="3"> <input type="hidden" name="char_name" value="<?php echo $name; ?>"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" height="20"> <tr> <th colspan="2" align="center">Charakter erstellen (2/3)</th> </tr> <tr> <th align="left">Rasse:</th> <td><select id="input" name="char_1_Type"> <?php if($type == 'Dragonball') { ?> <option value="Mensch">Mensch</option> <option value="Saiyajin">Saiyajin</option> <option value="Dämon">Dämon</option> <option value="Mutant">Mutant</option> <option value="Cyborg">Cyborg</option> <option value="Namekianer">Namekianer</option> <option value="Kaioshin">Kaioshin</option> <?php } else if($type == 'Onepiece') { ?> <option value="Pirat">Pirat</option> <option value="Schwertkämpfer">Schwertkämpfer</option> <option value="Grandline Maschine">Grandline Maschine</option> <option value="Shichibukai">Shichibukai</option> <?php } else{ ?> <option value="Cheater">Cheater</option> <?php } ?> </select> </td> </tr> <tr> <th align="left">Charakter Bild (75x75):</th> <td><input name="char_bild" id="input"> </td> </tr> <tr> <th align="left">Level(1-150):</th> <td><input name="char_lvl" id="input"> </td> </tr> <tr> <th align="left">Zufall:</th> <td><input type="checkbox" name="random" value="1"> </td> </tr> <tr> <td></td> <td><input id="input" type=submit value="weiter"> </td> </tr> </table> </form> <?php } function handleThirdPhaseForTester($type, $name, $char_lvl, $random, $user){ if(($char_lvl >= 1 && $char_lvl <= 150) && $char_lvl !== NULL && is_numeric($char_lvl)) { $lp = 0; for ($i = 1; $i < $char_lvl; $i++) { $lp += calculateTrainingPoints($i); } $lp = round($lp / 2); if($random == 1) { $tmp_lp = $lp; $hp = rand(0, $lp/2); $lp -= $hp; $mp = rand(0, $lp/2); $lp -= $mp; $str = rand(0, $lp); $lp -= $str; $def = rand(0, $lp); $lp -= $def; $spd = rand(0, $lp); $lp -= $spd; $lck = rand(0, $lp); $lp -= $lck; $end = rand(0, $lp); $lp -= $end; handleErstelleCharRequestOfTestUser($user, $type, $name, '', $char_lvl, $tmp_lp, $hp, $mp, $str, $def, $spd, $end, $lck); } else { ?> <form action="index.php" method="POST"> <input type="hidden" name="as" value="char"> <input type="hidden" name="charm" value="4"> <input type="hidden" name="char_type" value="<?php echo $type; ?>"> <input type="hidden" name="char_name" value="<?php echo $name; ?>"> <input type="hidden" name="lvl" value="<?php echo $char_lvl; ?>"> <input type="hidden" name="lp" value="<?php echo $lp; ?>"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" height="20"> <tr> <th colspan="2" align="center">Charakter erstellen (3/3)</th> </tr> <tr> <th align="left">CharakterTyp:</th> <td><?php echo $type;?> </td> </tr> <tr> <th align="left">Charakterlevel:</th> <td><?php echo $char_lvl;?> </td> </tr> <tr> <th align="left">verfügbare LP:</th> <td><?php echo $lp?></td> </tr> <tr> <th align="left">HP (1LP = 10HP):</th> <td><input name="hp" value="0" id="input"> </td> </tr> <tr> <th align="left">MP (1LP = 5MP):</th> <td><input name="mp" value="0" id="input"> </td> </tr> <tr> <th align="left">Stärke:</th> <td><input name="str" value="0" id="input"> </td> </tr> <tr> <th align="left">Verteidigung:</th> <td><input name="def" value="0" id="input"> </td> </tr> <tr> <th align="left">Geschwindigkeit:</th> <td><input name="spd" value="0" id="input"> </td> </tr> <tr> <th align="left">Ausdauer:</th> <td><input name="end" value="0" id="input"> </td> </tr> <tr> <th align="left">Glück:</th> <td><input name="lck" value="0" id="input"> </td> </tr> <tr> <td></td> <td><input id="input" type=submit value="weiter"> </td> </tr> </table> </form> <?php } } else echo 'Ungültiger Levelbereich!'; } function handleFirstPhase(){ ?> <form action="index.php" method="get" name="charz" onsubmit="return isAPhoneNumber()"> <input type="hidden" name="as" value="char"> <input type="hidden" name="charm" value="1"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" height="25"> <tr> <th colspan="2" align="center">Charakter Erstellen (1/2)</th> </tr> <tr> <th align="center">Charaktername</th> <td><input id="input" name="char_name" size="20"></input> (Buchstaben)</td> </tr> <tr> <th align="center">Type</th> <td><select id="input" name="char_type"> <option value="Dragonball">Dragonball</option> <option value="Onepiece">Onepiece</option> </select> </td> </tr> <tr> <td></td> <td><input id="input" type="submit" value="weiter"></td> </tr> </table> </form> <?php } $user_daten= mysql_fetch_assoc(mysql_query("SELECT char_max, id FROM user WHERE nickname='".$_COOKIE['name']."' LIMIT 1")); $anzahl_spezialchars = mysql_num_rows(mysql_query('SELECT char_type,name from chars WHERE (rasse = "Kaioshin" OR fusion_rasse = "Kaioshin" OR rasse = "Shichibukai" OR fusion_rasse = "Shichibukai") AND besitzer='.$user_daten['id'])); $anzahl_charactere= mysql_num_rows(mysql_query("SELECT id FROM chars WHERE besitzer='".$user_daten['id']."'")); if ($anzahl_spezialchars >= 1 AND $user_daten['char_max'] == 7) { $chars_max= 8; } else { $chars_max= $user_daten['char_max']; } if ($anzahl_charactere < $chars_max) { if($charm === NULL){ handleFirstPhase($user_daten,$anzahl_charactere); } else if($charm == 1){ if(isUserInGroup($usergroups, TESTER)) { handleSecondPhaseForTester($char_type, $char_name); } else { handleSecondPhase($char_type, $char_name); } } else if($charm == 2){ handleErstelleCharRequest($user_ida, $char_1_type, $char_name, $char_bild); } else if($charm == 3) { handleThirdPhaseForTester($char_1_type, $char_name, $char_lvl, $randomize, $user_ida); } else if($charm == 4) { handleErstelleCharRequestOfTestUser($user_ida, $_REQUEST['char_type'], $_REQUEST['char_name'], $_REQUEST['char_bild'], $_REQUEST['lvl'], $_REQUEST['lp'], $_REQUEST['hp'], $_REQUEST['mp'], $_REQUEST['str'], $_REQUEST['def'], $_REQUEST['spd'], $_REQUEST['end'], $_REQUEST['lck']); } } else { echo 'Du hast bereits die maximal mögliche Menge an Characteren erstellt, die du erstellen kannst.<br />Nämlich '.$anzahl_charactere.' von '.$chars_max.' Charaktere.'; } ?>