You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
486 lines
17 KiB
486 lines
17 KiB
<?php
|
|
/*
|
|
*
|
|
* @copyright (c) 2010 animegame.eu
|
|
* @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public Licence
|
|
*
|
|
*/
|
|
include_once (ROOT_PATH . '//include/config.inc.php');
|
|
include_once (ROOT_PATH . '//include/sqlwrapper.inc.php');
|
|
include_once (ROOT_PATH . '//include/rassen.inc.php');
|
|
include_once (ROOT_PATH . '//include/designfunctions.inc.php');
|
|
include_once(ROOT_PATH.'/include/parse.inc.php');
|
|
|
|
|
|
// TODO: Muss noch angepasst werden!
|
|
|
|
function showAttDetails($at_id) {
|
|
$at_info = mysqli_fetch_array(db_query("SELECT * FROM attacken WHERE id='".$at_id."' LIMIT 1"));
|
|
$req_atk = explode(",", $at_info['req_atk']);
|
|
$req_lvl = explode(",", $at_info['req_lvl']);
|
|
|
|
$req_attack = mysqli_fetch_array(db_query("SELECT f.name AS f_name, b.name AS b_name, c.name AS c_name, d.name AS d_name, e.name AS e_name FROM attacken a LEFT JOIN attacken b ON(b.id='".$req_atk[0]."') LEFT JOIN attacken c ON(c.id='".$req_atk[1]."') LEFT JOIN attacken d ON(d.id='".$req_atk[2]."') LEFT JOIN attacken e ON(e.id='".$req_atk[3]."') LEFT JOIN attacken f ON(f.id='".$req_atk[4]."') WHERE a.id='".$at_id."'"));
|
|
?>
|
|
<div align="center">
|
|
<input type="button" value="Zurück" onClick="history.back()">
|
|
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" height="25">
|
|
<tr>
|
|
<td width="158" height="25">
|
|
<p align="center"><b>Name</b></td>
|
|
<td width="340" height="25"> <?php echo generateAttackNameByID($at_id); ?></td>
|
|
</tr>
|
|
<tr>
|
|
<td width="158" height="25">
|
|
<p align="center"><b>Stärke</b></td>
|
|
<td width="340" height="25"> <?php echo $at_info['starke']; ?></td>
|
|
</tr>
|
|
<tr>
|
|
<td width="158" height="25">
|
|
<p align="center"><b>Verteidigung</b></td>
|
|
<td width="340" height="25"> <?php echo $at_info['verteidigung']; ?></td>
|
|
</tr>
|
|
<tr>
|
|
<td width="158" height="25">
|
|
<p align="center"><b>Geschwindigkeit</b></td>
|
|
<td width="340" height="25"> <?php echo $at_info['speed']; ?></td>
|
|
</tr>
|
|
<tr>
|
|
<td width="158" height="25">
|
|
<p align="center"><b>HP</b></td>
|
|
<td width="340" height="25"> <?php echo $at_info['hp']; ?></td>
|
|
</tr>
|
|
<tr>
|
|
<td width="158" height="25">
|
|
<p align="center"><b>MP</b></td>
|
|
<td width="340" height="25"> <?php echo $at_info['mp']; ?></td>
|
|
</tr>
|
|
<tr>
|
|
<td width="158" height="25">
|
|
<p align="center"><b>Level</b></td>
|
|
<td width="340" height="25"> <?php echo $at_info['level']; ?></td>
|
|
</tr>
|
|
<tr>
|
|
<td width="158" height="25">
|
|
<p align="center"><b>Geld</b></td>
|
|
<td width="340" height="25"> <?php echo $at_info['geld']; ?></td>
|
|
</tr>
|
|
<tr>
|
|
<td width="158" height="25">
|
|
<p align="center"><b>Type</b></td>
|
|
<td width="340" height="25"> <?php echo $at_info['type']; ?></td>
|
|
</tr>
|
|
<tr>
|
|
<td width="158" height="25">
|
|
<p align="center"><b>Info</b></td>
|
|
<td width="340" height="25"> <?php echo $at_info['info']; ?></td>
|
|
</tr>
|
|
<?php
|
|
|
|
$rassen_1 = explode(",", $at_info['rassen']);
|
|
$npc_type = getRaceTypeName('NPC'); // do not remove npc (there is a separate setting for this)
|
|
|
|
for($runden = 0; $runden < count($rassen_1); $runden++) {
|
|
$rasse = getRaceById($rassen_1[$runden]);
|
|
if($rasse == null || $rasse['type'] == $npc_type['id']){
|
|
continue;
|
|
}
|
|
$rassen_name = $rasse['name'];
|
|
?>
|
|
|
|
<tr>
|
|
<td width="158" height="25">
|
|
<p align="center"><b>Rassen</b></td>
|
|
<td width="340" height="25"> <?php echo $rassen_name; ?></td>
|
|
</tr>
|
|
|
|
<?php
|
|
|
|
}
|
|
$x = 0;
|
|
$req_x = 0;
|
|
if ($req_atk[0] > 0) {
|
|
$req_x++;
|
|
}
|
|
if ($req_atk[1] > 0) {
|
|
$req_x++;
|
|
}
|
|
if ($req_atk[2] > 0) {
|
|
$req_x++;
|
|
}
|
|
if ($req_atk[3] > 0) {
|
|
$req_x++;
|
|
}
|
|
if ($req_atk[4] > 0) {
|
|
$req_x++;
|
|
}
|
|
while ($x < $req_x) {
|
|
if ($x == 0) {
|
|
$req_attack1 = $req_attack['b_name'];
|
|
}
|
|
if ($x == 1) {
|
|
$req_attack1 = $req_attack['c_name'];
|
|
}
|
|
if ($x == 2) {
|
|
$req_attack1 = $req_attack['d_name'];
|
|
}
|
|
if ($x == 3) {
|
|
$req_attack1 = $req_attack['e_name'];
|
|
}
|
|
if ($x == 4) {
|
|
$req_attack1 = $req_attack['f_name'];
|
|
}
|
|
|
|
echo "
|
|
<tr>
|
|
<td width=158 height=25>
|
|
<p align=center><b>Req Technik</b></td>
|
|
<td width=340 height=25> $req_attack1 $at_info[geld] mal nutzen.</td>
|
|
</tr>
|
|
";
|
|
$x++;
|
|
}
|
|
?>
|
|
|
|
</table>
|
|
</div>
|
|
<?php
|
|
}
|
|
|
|
/*
|
|
* This method generates a sql statement out of the given paramters
|
|
*/
|
|
function getAttackenSQLStatement($tf='',$rassen='',$type='', $search='', $colums = 'attacken.*') {
|
|
if (!empty($tf) AND is_numeric($tf)) {
|
|
return 'SELECT '.$colums.' FROM `attacken` WHERE Frucht='.$tf;
|
|
} elseif (!empty($search)) {
|
|
return 'SELECT '.$colums.' FROM `attacken` WHERE name LIKE \'%'.$search.'%\' AND info not like \'%npc attacke%\'';
|
|
} elseif (empty($rassen)) {
|
|
$race_type = getRaceTypeById($type);
|
|
$ids = array();
|
|
if($race_type !== NULL) {
|
|
$races = getRacesByType($race_type);
|
|
foreach ($races as $race) {
|
|
$ids[] = 'find_in_set(\''.$race['id'].'\', rassen) != 0';
|
|
}
|
|
return 'SELECT '.$colums.' FROM `attacken` WHERE ('.implode(' OR ', $ids).') AND Frucht is NULL AND info not like \'%npc attacke%\'';
|
|
} elseif ($type == -1) { // tfs
|
|
$condition = getFruchtCondition($fruchttyp);
|
|
return 'SELECT '.$colums.' FROM `attacken` inner join wochen_markt on attacken.frucht = wochen_markt.id WHERE '.$condition.' attacken.info not like \'%npc attacke%\'';
|
|
} else {
|
|
return 'SELECT '.$colums.' FROM `attacken` WHERE info NOT LIKE \'%npc attacke%\'';
|
|
}
|
|
} else {
|
|
return 'SELECT '.$colums.' FROM `attacken` WHERE find_in_set(\''.$rassen.'\', rassen) != 0 AND Frucht is NULL AND info not like \'%npc attacke%\'';
|
|
}
|
|
}
|
|
|
|
|
|
function showAtks($linkz,$tf='',$rassen='',$order='',$type='',$pagenum='',$fruchttyp='',$search='') {
|
|
?>
|
|
<table border="1" cellspacing="1" width="500" bgcolor="#FFFFFF"
|
|
bordercolor="#292929" bordercolordark="#C0C0C0"
|
|
bordercolorlight="#C0C0C0">
|
|
<tr>
|
|
<td align="center" valign="top" bgcolor="#333333"><font
|
|
color="#FFFFFF" size="1" face="Verdana"><b> <a href="index.php?as=info/attacken&<?php echo $linkz; ?>&order=name">Name</a></b></font></td>
|
|
<td align="center" valign="top" bgcolor="#333333"><font
|
|
color="#FFFFFF" size="1" face="Verdana"><b>HP</b></font></td>
|
|
<td align="center" valign="top" bgcolor="#333333"><font
|
|
color="#FFFFFF" size="1" face="Verdana"><b>MP</b></font></td>
|
|
<td align="center" valign="top" bgcolor="#333333"><font
|
|
color="#FFFFFF" size="1" face="Verdana"><b><a href="index.php?as=info/attacken&<?php echo $linkz; ?>&order=starke">Stärke</a></b></font></td>
|
|
<td align="center" valign="top" bgcolor="#333333"><font
|
|
color="#FFFFFF" size="1" face="Verdana"><b><a href="index.php?as=info/attacken&<?php echo $linkz; ?>&order=verteidigung">Ver.</a></b></font></td>
|
|
<td align="center" valign="top" bgcolor="#333333"><font
|
|
color="#FFFFFF" size="1" face="Verdana"><b><a href="index.php?as=info/attacken&<?php echo $linkz; ?>&order=speed">Geschw.</a></b></font></td>
|
|
<td align="center" valign="top" bgcolor="#333333"><font
|
|
color="#FFFFFF" size="1" face="Verdana"><b><a href="index.php?as=info/attacken&<?php echo $linkz; ?>&order=level">LvL:</a></b></font></td>
|
|
</tr>
|
|
|
|
|
|
|
|
<?php
|
|
$sql = getAttackenSQLStatement($tf, $rassen, $type, $search);
|
|
$sql .= ' '.$order.' LIMIT '.($pagenum * 20).', 20 ';
|
|
$attacken = db_query($sql);
|
|
|
|
while ($row = mysqli_fetch_array($attacken)) {
|
|
?>
|
|
<tr>
|
|
<td align="center" valign="top" bgcolor="#333333"><font
|
|
size="1" face="Verdana"> </font><font
|
|
color="#FFFFFF" size="1" face="Verdana"><b> <?php echo generateAttackLinkByID($row['id']); ?> </b></font></td>
|
|
<td align="center" valign="top" bgcolor="#333333"><font
|
|
color="#D1D1D1" size="1" face="Verdana"><b> <?php echo $row['hp']; ?></b></font></td>
|
|
<td align="center" valign="top" bgcolor="#333333"><font
|
|
color="#D1D1D1" size="1" face="Verdana"><b> <?php echo $row['mp']; ?></b></font></td>
|
|
<td align="center" valign="top" bgcolor="#333333"><font
|
|
color="#D1D1D1" size="1" face="Verdana"><b> <?php echo $row['starke']; ?></b></font></td>
|
|
<td align="center" valign="top" bgcolor="#333333"><font
|
|
color="#D1D1D1" size="1" face="Verdana"><b> <?php echo $row['verteidigung']; ?></b></font></td>
|
|
<td align="center" valign="top" bgcolor="#333333"><font
|
|
color="#D1D1D1" size="1" face="Verdana"><b> <?php echo $row['speed']; ?></b></font></td>
|
|
<td align="center" valign="top" bgcolor="#FFFFFF"><font
|
|
color="#510002" size="1" face="Verdana"><b><?php echo $row['level']; ?></b></font></td>
|
|
</tr>
|
|
|
|
|
|
<?php
|
|
|
|
}
|
|
|
|
$row = mysqli_fetch_row(db_query(getAttackenSQLStatement($tf, $rassen, $type, $search, 'count(attacken.id)')));
|
|
$total = $row[0];
|
|
$pages = ceil($total / 20);
|
|
|
|
$z = 1;
|
|
$i = 0;
|
|
#$rassen++;
|
|
|
|
while ($pages > $i) {
|
|
|
|
$seiten .= ' <a href="index.php?as=info/attacken&type='.$type.'&pagenum='.$z.'&order_art='.$order_art.'&order='.$last_klick1.'&rassen='.$rassen.'">$z</a> ';
|
|
$z++;
|
|
$i++;
|
|
}
|
|
if (!empty($search)) {
|
|
$url = '<a href="index.php?as=info/attacken&p=1&search='.$search.'&pagenum=###PAGE###&order_art='.$order_art.'&order='.$last_klick1.'&rassen='.$rassen.'&tf='.$tf.'&fruchttyp='.$fruchttyp.'">###LABEL###</a>';
|
|
} else {
|
|
$url = '<a href="index.php?as=info/attacken&type='.$type.'&pagenum=###PAGE###&order_art='.$order_art.'&order='.$last_klick1.'&rassen='.$rassen.'&tf='.$tf.'&fruchttyp='.$fruchttyp.'">###LABEL###</a>';
|
|
}
|
|
|
|
?>
|
|
<?php
|
|
/*
|
|
<tr>
|
|
<td vAlign="top" align="middle"><font color="#333333">Seiten</font></td>
|
|
<td vAlign="top" bgColor="#333333" colspan="6">
|
|
<font face="Verdana" size="1"> </font><font face="Verdana" color="#ffffff" size="1"><b><?php echo $seiten; ?></b></font></td>
|
|
</tr>*/
|
|
echo '<tr><td bgcolor="#333333" colspan="7">'.displayPagelinksNew(20, $total, $pagenum, $url).'</td></tr>';
|
|
?>
|
|
|
|
</table>
|
|
<?php
|
|
}
|
|
|
|
function searchAtks() {
|
|
?>
|
|
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
|
|
<input type="hidden" name="as" value="info/attacken">
|
|
<input type="hidden" name="p" value="1">
|
|
<table border="1" cellspacing="1" width="500" bgcolor="#F8F8F8"
|
|
bordercolor="#292929" bordercolordark="#C0C0C0"
|
|
bordercolorlight="#C0C0C0">
|
|
<tr>
|
|
<td align="center" width="100%" bgcolor="#333333">
|
|
<font color="#FFFFFF" size="1" face="Verdana"><b>Suchen: </b></font>
|
|
<font size="1" face="Verdana">
|
|
<input id="input" name="search">
|
|
<input id="input" type=submit value="suche">
|
|
</font>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</form>
|
|
<?php
|
|
}
|
|
|
|
function atksHeaderType() {
|
|
$choseable = array();
|
|
$race_types = getRaceTypes();
|
|
foreach($race_types as $type) {
|
|
if($type['gm_only'] == false) {
|
|
$choseable[] = $type;
|
|
}
|
|
}
|
|
$choseable[] = array('name' => 'Teufelsfrüchte', 'id' => -1);
|
|
?>
|
|
<tr>
|
|
<td align="center" width="100%" bgcolor="#333333">
|
|
<span style="color:#FFF;font-family:Verdana;font-size:10;font-weight:bold;">
|
|
<a href="index.php?as=info/attacken" style="color:#FFF;text-decoration:none;">Alle Attacken</a>
|
|
<?php
|
|
foreach ($choseable as $choice) {
|
|
echo ' | <a href="index.php?as=info/attacken&type='.$choice['id'].'" style="color:#FFF;text-decoration:none;">'.$choice['name'].'</a>';
|
|
}
|
|
?>
|
|
</span>
|
|
</td>
|
|
</tr>
|
|
<?php
|
|
}
|
|
|
|
function atksHeaderRasse($type,$link,$fruchttyp) {
|
|
?>
|
|
<tr>
|
|
<td align="center" bgcolor="#333333">
|
|
<font color="#FFFFFF"> </font><font color="#FFFFFF" size="1" face="Verdana"><b>
|
|
<?php
|
|
|
|
$links = array();
|
|
$race_type = getRaceTypeById($type);
|
|
if($race_type !== NULL) {
|
|
$races = getRacesByType($race_type);
|
|
foreach ($races as $race) {
|
|
$links[] = '<a href="index.php?as=info/attacken&type='.$type.'&'.$link.'&rassen='.$race['id'].'">'.$race['name'].'</a>';
|
|
}
|
|
} else if($type == -1) { // TF's
|
|
$links[] = '<a href="index.php?as=info/attacken&type='.$type.'&fruchttyp=paramecia">Parameciafrüchte</a>';
|
|
$links[] = '<a href="index.php?as=info/attacken&type='.$type.'&fruchttyp=zoan">Zoanfrüchte</a>';
|
|
$links[] = '<a href="index.php?as=info/attacken&type='.$type.'&fruchttyp=logia">Logiafrüchte</a>';
|
|
}
|
|
echo implode(' - ', $links);
|
|
|
|
|
|
?>
|
|
</b></font><font color="#FFFFFF"></font>
|
|
</td>
|
|
</tr>
|
|
<?php
|
|
if($type == -1 and isset($fruchttyp)) {
|
|
?>
|
|
<tr>
|
|
<td align="center" bgcolor="#333333">
|
|
<font color="#FFFFFF"> </font><font color="#FFFFFF" size="1" face="Verdana"><b>
|
|
|
|
<?php
|
|
$condition = getFruchtCondition($fruchttyp);
|
|
$tf_query = db_query('SELECT * FROM wochen_markt WHERE '.$condition.' 1 ORDER BY item ASC');
|
|
$first = true;
|
|
while ($tf_array= mysqli_fetch_assoc($tf_query)) {
|
|
if($first) {
|
|
$first = false;
|
|
} else {
|
|
echo ' - ';
|
|
}
|
|
echo '<a href="index.php?as=info/attacken&type='.$type.'&fruchttyp='.$fruchttyp.'&'.$link.'&tf='.$tf_array['id'].'">'.$tf_array['item'].'</a>';
|
|
}
|
|
?>
|
|
<b></font><font color="#FFFFFF"></font>
|
|
</td>
|
|
</tr>
|
|
<?php
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function atksHeader($link,$type='',$fruchttyp='') {
|
|
?>
|
|
<table border="1" cellspacing="1" width="500" bgcolor="#F8F8F8"
|
|
bordercolor="#292929" bordercolordark="#C0C0C0"
|
|
bordercolorlight="#C0C0C0">
|
|
<?php
|
|
atksHeaderType();
|
|
atksHeaderRasse($type,$link,$fruchttyp);
|
|
?>
|
|
</table>
|
|
<?php
|
|
}
|
|
|
|
function getFruchtCondition($fruchttyp) {
|
|
switch (strtolower($fruchttyp)) {
|
|
case 'paramecia':
|
|
case 'zoan':
|
|
case 'logia':
|
|
return ' kategorie = \''.$fruchttyp.'\' AND ';
|
|
default:
|
|
return '';
|
|
}
|
|
}
|
|
|
|
$type= validateInteger($_GET['type']);
|
|
$fruchttyp= validateString($_GET['fruchttyp']);
|
|
$rassen = validateUnsignedInteger($_GET['rassen']);
|
|
$tf = validateUnsignedInteger($_GET['tf']);
|
|
$search = validateString($_GET['search']);
|
|
$order = validateStringCritical($_GET['order']);
|
|
$order_art = validateStringCritical($_GET['order_art']);
|
|
$pagenum = validateUnsignedInteger($_GET['pagenum']);
|
|
$seiten = validateUnsignedInteger($_GET['seiten']);
|
|
$last_klick1 = validateString($_GET['last_klick1']);
|
|
$p = validateUnsignedInteger($_GET['p']);
|
|
$at_id = validateUnsignedInteger($_GET['at_id']);
|
|
|
|
if (!isset($pagenum)) {
|
|
$pagenum= 0;
|
|
}
|
|
if (!$order_art) {
|
|
$order_art = "asc";
|
|
$last_klick = "id";
|
|
}
|
|
if (!$last_klick1) {
|
|
$last_klick1 = 'id';
|
|
}
|
|
if ($order_art == "asc" AND $last_klick1 == $order) {
|
|
$order_art = "desc";
|
|
} else {
|
|
if ($order_art == "desc" AND $last_klick1 == $order) {
|
|
$order_art = "asc";
|
|
}
|
|
}
|
|
$last_klick1 = $order;
|
|
|
|
if (!empty($rassen)) {
|
|
$rassen= $rassen;
|
|
} else {
|
|
$rassen= '';
|
|
}
|
|
/*if ($rassen AND $rassen1 != ",") {
|
|
$rassen--;
|
|
} else {
|
|
$rassen = ",";
|
|
$rassen1 = 0;
|
|
}*/
|
|
if ($order) {
|
|
$order = "order by $order $order_art";
|
|
} else {
|
|
$order = "order by frucht,level,id asc";
|
|
}
|
|
|
|
#$rassen1 = $rassen +1;
|
|
#$linkz = "seiten=$seiten&order_art=$order_art&last_klick1=$last_klick1&rassen=$rassen1&teufel=$teufel";
|
|
if (!empty($type) AND empty($fruchttyp)) {
|
|
$linkz = 'type='.$type.'&pagenum='.$pagenum.'&order_art='.$order_art.'&last_klick1='.$last_klick1.'&rassen='.$rassen.'&teufel='.$teufel;
|
|
} elseif (!empty($type) AND !empty($fruchttyp)) {
|
|
$linkz = 'type='.$type.'&fruchttyp='.$fruchttyp.'&pagenum='.$pagenum.'&order_art='.$order_art.'&last_klick1='.$last_klick1.'&rassen='.$rassen.'&teufel='.$teufel;
|
|
} else {
|
|
$linkz = 'pagenum='.$pagenum.'&order_art='.$order_art.'&last_klick1='.$last_klick1.'&rassen='.$rassen.'&teufel='.$teufel;
|
|
}
|
|
$link = "pagenum=$pagenum&order_art=$order_art&last_klick1=$last_klick1";
|
|
if ($p) {
|
|
if ($_GET['search']) {
|
|
$anzahl_atks = mysqli_stmt_num_rows(db_query("SELECT id FROM attacken WHERE name LIKE '%".trim($search)."%'"));
|
|
if ($anzahl_atks == 1) {
|
|
$at_z = mysqli_fetch_array(db_query("SELECT id FROM attacken WHERE name='".trim($search)."' LIMIT 1"));
|
|
if (empty($at_z)) {
|
|
$at_z = mysqli_fetch_array(db_query("SELECT id FROM attacken WHERE name LIKE '%".trim($search)."%' LIMIT 1"));
|
|
}
|
|
showAttDetails($at_z['id']);
|
|
} else {
|
|
$linkz = 'p=1&search='.trim($search).'&seiten='.$seiten.'&order_art='.$order_art.'&last_klick1='.$last_klick1.'';
|
|
searchAtks();
|
|
atksHeader($link,$type,$fruchttyp);
|
|
showAtks($linkz,$tf,'',$order,$type,$pagenum,$fruchttyp,trim($search));
|
|
}
|
|
} elseif (isset($at_id)) {
|
|
showAttDetails($at_id);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
exit;
|
|
}
|
|
?>
|
|
|
|
<?php
|
|
searchAtks();
|
|
atksHeader($link,$type,$fruchttyp);
|
|
showAtks($linkz,$tf,$rassen,$order,$type,$pagenum,$fruchttyp);
|
|
?>
|
|
</center>
|
|
</div>
|