Weiterhin wird bei Attacken erstellen nun auch nurnoch Attackentypen angezeigt, die in der DB sind
main
radiskull 11 years ago
parent 5effa22a24
commit 40248fbbdf

@ -126,6 +126,11 @@ function displayOptions(){
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?choose=attacken">Attacken bearbeiten</a>
</td>
</tr>
<tr>
<td>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?choose=attackentypen">Attackentypen bearbeiten</a>
</td>
</tr>
<tr>
<td>
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?choose=poll">Umfragen bearbeiten</a>
@ -224,7 +229,9 @@ if(checkLoginData($_SESSION['user'],$_SESSION['password'])){
} else if($_REQUEST['choose'] == 'logout'){
logout();
} else if($_REQUEST['choose'] == 'attacken'){
displayAttackenMenu($_REQUEST['action'], $_REQUEST['attackname'], $_REQUEST['attackid'], $_REQUEST['depth'], $_REQUEST['name'], $_REQUEST['starke'], $_REQUEST['verteidigung'], $_REQUEST['speed'], $_REQUEST['hp'], $_REQUEST['mp'], $_REQUEST['rassen'], $_REQUEST['level'], $_REQUEST['geld'], $_REQUEST['options'], $_REQUEST['type'], $_REQUEST['info'], $_REQUEST['req_atk'], $_REQUEST['req_lvl'], $_REQUEST['Frucht'], $_REQUEST['runden'], $_REQUEST['maxlvl']);
displayAttackenMenu($_REQUEST['action'], $_REQUEST['attackname'], $_REQUEST['attackid'], $_REQUEST['depth'], $_REQUEST['name'], $_REQUEST['starke'], $_REQUEST['verteidigung'], $_REQUEST['speed'], $_REQUEST['hp'], $_REQUEST['mp'], $_REQUEST['rassen'], $_REQUEST['level'], $_REQUEST['geld'], $_REQUEST['options'], $_REQUEST['type'], $_REQUEST['info'], $_REQUEST['req_atk'], $_REQUEST['req_lvl'], $_REQUEST['Frucht'], $_REQUEST['runden'], $_REQUEST['maxlvl'], $_REQUEST);
} else if($_REQUEST['choose'] == 'attackentypen') {
displayAttackenTypen($_REQUEST);
} else if($_REQUEST['choose'] == 'bann'){
displayBannOptions($_REQUEST['action'], $_REQUEST['username'],$_REQUEST['opfer'],$_REQUEST['gamebann'],$_REQUEST['shoutbann'],$_REQUEST['forenbann'],$_REQUEST['anonid']);
} else if($_REQUEST['choose'] == 'items'){

@ -8,7 +8,7 @@
*/
?>
<?php
function displayAttackenMenu($action, $attackname, $attackid, $depth, $name, $starke, $verteidigung, $speed, $hp, $mp, $rassen, $level, $geld, $options, $type, $info, $req_atk, $req_lvl, $Frucht, $runden, $maxlvl) {
function displayAttackenMenu($action, $attackname, $attackid, $depth, $name, $starke, $verteidigung, $speed, $hp, $mp, $rassen, $level, $geld, $options, $type, $info, $req_atk, $req_lvl, $Frucht, $runden, $maxlvl, $_REQUEST) {
if($action === NULL){
?>
<table>
@ -217,12 +217,12 @@ function createOrEditAttack($action, $attackid) {
<td>Type:</td>
<td><select name="type">
<?php
$types = array('normal', 'kaioken', 'kaioken2', 'SSJ', 'lose', 'lose2', 'hpmp', 'hp', 'tausch', 'tausch2', 'majin', 'copy', 'runde', 'frucht', 'konterhp', 'reborn', 'generic');
foreach ($types as $type) {
if($row['type'] == $type){
echo '<option value="'.$type.'" selected="selected">'.$type.'</option>';
$qry = mysql_query('Select name FROM attackentyp;');
while ($result = mysql_fetch_assoc($qry)) {
if($row['type'] == $result['name']){
echo '<option value="'.$result['name'].'" selected="selected">'.$result['name'].'</option>';
} else{
echo '<option value="'.$type.'">'.$type.'</option>';
echo '<option value="'.$result['name'].'">'.$result['name'].'</option>';
}
}
?>
@ -230,10 +230,10 @@ function createOrEditAttack($action, $attackid) {
</td>
</tr>
<tr>
<td>Options:</td>
<td><input name='options'
value='<?php echo $row['options']===NULL?'{}':$row['options']; ?>'></input>
</td>
<td>Options:</td>
<td><input name='options'
value='<?php echo $row['options']===NULL?'{}':$row['options']; ?>'></input>
</td>
</tr>
<tr>
<td>Info:</td>
@ -420,16 +420,16 @@ function editAttack($attackname, $attackid, $Frucht, $starke, $verteidigung, $sp
$row = mysql_fetch_assoc(mysql_query('Select * from attacken where id ='.$attackid));
$req_atk = implode(',', $req_atk);
json_decode($options, true);
if(JSON_ERROR_NONE != json_last_error()) {
echo "<br>";
echo "Attacke konnte nicht erstellt werden, syntax f&ouml;r options ist nicht korrekt!";
echo "<br>";
echo displayHistoryBackLink();
json_decode($options, true);
if(JSON_ERROR_NONE != json_last_error()) {
echo "<br>";
echo "Attacke konnte nicht erstellt werden, syntax f&ouml;r options ist nicht korrekt!";
echo "<br>";
echo displayHistoryBackLink();
return;
}
}
if($Frucht != 0){
$sql = 'UPDATE attacken set name = \''.htmlspecialchars(urldecode($attackname)).'\', starke = '.$starke.', verteidigung = '.$verteidigung.', speed = '.$speed.', hp = '.$hp.', mp = '.$mp.', rassen = \''.$rassen.'\', level = '.$level.', geld = '.$geld.', type = \''.$type.'\', info = \''.$info.'\', req_atk = \''.$req_atk.'\', req_lvl = \''.$req_lvl.'\', Frucht = '.$Frucht.', runden = '.$runden.', maxlvl = '.$maxlvl.', options = \''.$options.'\' where id = '.$attackid;
} else {
@ -439,10 +439,10 @@ function editAttack($attackname, $attackid, $Frucht, $starke, $verteidigung, $sp
mysql_query('Update lernen set name = \''.$attackname.'\' WHERE at_id ='.$attackid);
}
//echo 'Debugnachricht: '.$sql.'<br>';
if(!mysql_query($sql)){
echo "Fehler beim Editieren der Attacke: &Uuml;berpr&uuml;fe deine Eingabe und melde erst DANACH dieses Statement einem Entwickler => $sql";
return;
}
if(!mysql_query($sql)){
echo "Fehler beim Editieren der Attacke: &Uuml;berpr&uuml;fe deine Eingabe und melde erst DANACH dieses Statement einem Entwickler => $sql";
return;
}
logaction('Attacke mit dem jetzigen Namen '.$attackname.' wurde editiert!');
?>
@ -454,5 +454,199 @@ function editAttack($attackname, $attackid, $Frucht, $starke, $verteidigung, $sp
<?php
}
function displayAttackenTypen($_REQUEST) {
$colspan = 3;
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">'."\n";
echo "\t".'<input type="hidden" name="choose" value="attackentypen"></input>'."\n";
echo "\t".'<input type="hidden" name="attid" value="'.$_REQUEST['attid'].'"></input>'."\n";
echo "\t".'<table width="80%" border="0">'."\n";
switch ($_REQUEST['action']) {
case ACTION_EDIT:
if($_REQUEST['task'] == TASK_EDIT) {
editAttackentyp($_REQUEST['attid'], $_REQUEST['data']);
displayAttackenTypenInfo(ACTION_EDIT, TASK_EDIT, $_REQUEST['attid']);
} else {
displayAttackenTypenInfo(ACTION_EDIT, TASK_EDIT, $_REQUEST['attid']);
}
break;
case ACTION_CREATE:
echo "\t".'<input type="hidden" name="action" value="'.ACTION_CREATE.'"></input>'."\n";
if($_REQUEST['task'] == TASK_CREATE) {
createAttackentyp($_REQUEST['data']);
} else {
displayAttackenTypenInfo(ACTION_CREATE, TASK_CREATE, $_REQUEST['attid']);
}
break;
case 'delete':
if($_REQUEST['task'] == 'dodelete') {
deleteAttackentyp($_REQUEST['attid']);
} else {
displayDeleteAttackentyp($_REQUEST['attid']);
}
break;
default:
displayAttackenTypenOverview($_REQUEST['page']);
}
echo "\t".'<tr><td colspan="'.$colspan.'" style="text-align:center"><a href="'.$_SERVER['PHP_SELF'].'">Zum Hauptmenu</a></td></tr>'."\n";
echo "\t".'</table>'."\n";
echo '</form>'."\n";
}
function displayAttackenTypenOverview($page) {
$d_array = array('id', 'name', 'anzahl', 'farbe', 'kategorie');
$desc_array = array('ID', 'Name', 'Anzahl', 'Farbe', 'Kategorie');
$sql = 'SELECT '.join($d_array,',').' FROM attackentyp ORDER BY name LIMIT '.($page*20).', 20';
$qry = db_query($sql);
$colspan = count($d_array)+1;
echo "\t".'<tr><td colspan="'.$colspan.'"><h1 style="text-align:center">Übersicht</h1></td></tr>'."\n";;
echo "\t".'<tr>'."\n";
for($i=0;$i<count($d_array);$i++){
echo "\t\t".'<td>'.$desc_array[$i].'</td>'."\n";
}
echo "\t\t".'<td style="text-align:center">Bearbeiten</td>'."\n";
echo "\t".'</tr>'."\n";
echo "\t".'<tr><td colspan="'.$colspan.'"><hr></td></tr>'."\n";
while($row = mysql_fetch_assoc($qry)){
echo "\t".'<tr>'."\n";
for($i=0;$i<count($d_array);$i++){
echo "\t\t".'<td>'.$row[$d_array[$i]].'</td>'."\n";
}
echo "\t\t".'<td style="text-align:center">'."\n";
// Echo the delete and the edit button :)
echo "\t\t\t".'<a href="'.$_SERVER['PHP_SELF'].'?choose=attackentypen&action=edit&attid='.$row[$d_array[0]].'">Edit</a>, '."\n";
echo "\t\t\t".'<a href="'.$_SERVER['PHP_SELF'].'?choose=attackentypen&action=delete&attid='.$row[$d_array[0]].'">Delete</a>'."\n";
echo "\t\t".'</td>'."\n";
echo "\t".'</tr>'."\n";
}
$total = mysql_num_rows(db_query('SELECT '.join($d_array,',').' FROM attackentyp'));
$url = '<a href="'.$_SERVER['PHP_SELF'].'?choose=npc&page=###PAGE###">###LABEL###</a>';
echo "\t".'<tr><td colspan="'.$colspan.'"><hr></td></tr>'."\n";
echo "\t".'<tr><td colspan="'.$colspan.'">'.displayPagelinksNew(20, $total, $page, $url).'</td></tr>'."\n";
echo "\t".'<tr><td colspan="'.$colspan.'"><hr></td></tr>'."\n";
echo "\t".'<tr><td colspan="'.$colspan.'" style="text-align:center"><a href="'.$_SERVER['PHP_SELF'].'?choose=attackentypen&action=create">Create a new Type</a></td></tr>'."\n";
}
function displayAttackenTypenInfo($action, $task, $attid) {
//Form-Variablen
echo "\t".'<input type="hidden" name="action" value="'.$action.'"></input>'."\n";
echo "\t".'<input type="hidden" name="task" value="'.$task.'"></input>'."\n";
//initialisierung der Variablen für Inhalt
$d_array = array('id', 'name', 'anzahl', 'farbe', 'kategorie');
$desc_array = array('ID', 'Name', 'Anzahl', 'Farbe', 'Kategorie');
//initialisieren falls editiert wird (dort existieren schon Inhalte)
if($task == TASK_EDIT) {
$sql = 'SELECT * FROM attackentyp WHERE id = '.$attid.';';
$qry = db_query($sql);
$row = mysql_fetch_assoc($qry);
}
$colspan = 2;
if($task == TASK_EDIT) {
echo "\t".'<tr><td colspan="'.$colspan.'"><h1 style="text-align:center">Attackentyp bearbeiten</h1></td></tr>'."\n";
} else {
echo "\t".'<tr><td colspan="'.$colspan.'"><h1 style="text-align:center">Attackentyp erstellen</h1></td></tr>'."\n";
}
echo "\t\t".'<tr><td>'.$desc_array[0].'</td><td style="text-align:center">'.$row[$d_array[0]].'</td></tr>'."\n";
$j = 0;
//allgemeine informationen
for($i = 1;$i<count($d_array);$i++){
echo "\t\t".'<tr><td>'.$desc_array[$i].'</td><td style="text-align:center"><input name="data['.$d_array[$i].']" value="'.debbcode($row[$d_array[$i]]).'"></input></td></tr>'."\n";
}
//menü
echo "\t".'<tr><td colspan="'.$colspan.'" style="text-align:center"><input type="submit" value="speichern"></td></tr>'."\n";
echo "\t".'<tr><td colspan="'.$colspan.'" style="text-align:center"><a href="'.$_SERVER['PHP_SELF'].'?choose=attackentypen">Attackentyp Übersicht</a></td></tr>'."\n";
}
function editAttackentyp($attid, $data) {
$d_array = array('name', 'anzahl', 'farbe', 'kategorie');
$sql = 'UPDATE attackentyp SET ';
for($i=0;$i<count($d_array);$i++){
$sql .= $d_array[$i].' = \''.encodeNoHTMLWithBB($data[$d_array[$i]]).'\'';
if($i < count($d_array) - 1) {
$sql .= ', ';
}
}
$sql .= ' WHERE id=\''.$attid.'\'';
echo $sql;
$u = db_query($sql);
$log = 0;
if(mysql_affected_rows() == 0 || $u === FALSE) {
echo "\t\t\t".'<tr><td colspan="2" style="color:red">Fehler aufgetreten!</td></tr>';
} else{
echo "\t\t\t".'<tr><td colspan="2">Änderungen wurden übernommen!</td></tr>';
$log++;
}
if($log >= 1) {
logaction('Ein Attackentyp wurde geändert (id = '.$attid.','.encodeNoHTMLWithBB(join($data,',')).')');
}
}
function createAttackentyp($data) {
if($data['name'] != null) {
$sql = 'Insert into attackentyp (name, anzahl, farbe, kategorie) VALUES (';
$sql .= '\''.$data['name'].'\',';
if($data['anzahl'] == null) {
$data['anzahl'] = 1;
}
$sql .= $data['anzahl'].',';
if($data['farbe'] == null) {
$data['farbe'] = 'white';
}
$sql .= '\''.$data['farbe'].'\',';
if($data['kategorie'] == null) {
$sql .= 'null';
} else {
$sql .= '\''.$data['kategorie'].'\'';
}
$sql .= ');';
$identifier = mysql_query($sql);
if($identifier == FALSE){
echo "\t".'<tr><td colspan="2" style="text-align:center">Es gab Probleme beim erstellen des Attacktyps!</td></tr>'."\n";
} else {
echo "\t".'<tr><td colspan="2" style="text-align:center">Attackentyp '.$data['name'].' wurde erfolgreich erstellt!</td></tr>'."\n";
}
}
echo "\t".'<tr><td colspan="2" style="text-align:center"><a href="'.$_SERVER['PHP_SELF'].'?choose=attackentypen">Attackentypen Übersicht</a></td></tr>'."\n";
}
function deleteAttackentyp($attid) {
$colspan = 1;
$sql = 'DELETE FROM attackentyp WHERE id = '.$attid.';';
$qry = db_query($sql);
if($qry === FALSE || mysql_affected_rows() <= 0){
echo "\t".'<tr><td colspan="'.$colspan.'" style="text-align:center;color:red">Der Attackentyp '.$row['name'].' konnte nicht gelöscht werden!</td></tr>'."\n";;
} else {
echo "\t".'<tr><td colspan="'.$colspan.'" style="text-align:center">Der Attackentyp '.$row['name'].' wurde gelöscht!</td></tr>'."\n";;
}
echo "\t".'<tr><td colspan="'.$colspan.'" style="text-align:center"><a href="'.$_SERVER['PHP_SELF'].'?choose=attackentypen">Attackentypen Übersicht</a></td></tr>'."\n";
}
function displayDeleteAttackentyp($attid) {
$colspan = 1;
$sql = 'SELECT * FROM attackentyp WHERE id = '.$attid;
$qry = db_query($sql);
$row = mysql_fetch_assoc($qry);
echo "\t".'<tr><td colspan="'.$colspan.'"><h1 style="text-align:center">Attackentyp löschen</h1></td></tr>'."\n";
echo "\t".'<tr><td colspan="'.$colspan.'" style="text-align:center">Soll der Attackentyp '.$row['name'].' wirklich gelöscht werden?</td></tr>'."\n";
echo "\t".'<tr><td style="text-align:center"><a href="'.$_SERVER['PHP_SELF'].'?choose=attackentypen&action=delete&task=dodelete&attid='.$attid.'">ja</a>, <a href="'.$_SERVER['PHP_SELF'].'?choose=attackentypen&action=">nein</a></td></tr>'."\n";
}
?>

Loading…
Cancel
Save