Jetzt habe ich aber ein kleines Problemchen...
Parse error: syntax error, unexpected '=' in C:\xampp\htdocs\psrpg\includes\template.php(127) : eval()'d code on line 141
Code: Alles auswählen
<script type="text/javascript">
var mouseX;
var mouseY;
function aktualisiere_position (e)
{
if (!e) e = window.event;
mouseX=(e.pageX||e.clientX);
mouseY=(e.pageY||e.clientY);
}
document.onmousemove = aktualisiere_position;
function show (id)
{
// Alle Menüs mal erst schleissen.
hide_all ();
// Alle eventuell offenen wegwerfmenge-Wahlboxen schließen.
var i = 1;
while (true)
{
if (jo = document.getElementById('wegwerfen_'+i))
{
jo.style.display = 'none';
i++;
}
else
{
break;
}
}
// Menü Neben Maus positionieren und einknipsen.
ziel = document.getElementById('item_'+id).style;
ziel.left = mouseX+'px';
ziel.top = mouseY+'px';
ziel.display = 'block';
}
function ww_show (id)
{
// Alle Menüs mal erst schliessen.
hide_all ();
// Menü Neben Maus positionieren und einknipsen.
ziel = document.getElementById('wegwerfen_'+id).style;
ziel.left = mouseX;
ziel.top = mouseY;
ziel.display = 'block';
}
function hide_all ()
{
// Alle Wahlboxen schliessen.
var i = 1;
while (true)
{
if (jo = document.getElementById('item_'+i))
{
jo.style.display = 'none';
i++;
}
else
{
break;
}
}
}
function wegwerfen (zaehler)
{
document.getElementsByName('wegwerfen')[0].value = document.getElementById('wegwerfen_'+zaehler+'_pos').value;
document.getElementsByName('menge')[0].value = document.getElementById('wegwerfen_'+zaehler+'_menge').value;
document.form.submit();
}
</script>
<form name="form" action="{LINK_PAR}" method="get">
<input type="hidden" name="view" value="bag">
<input type="hidden" name="wegwerfen" value="">
<input type="hidden" name="menge" value="0">
</form>
<table class="forumline" width="100%">
<tr>
<td class="catHead" align="center">
{PAGE_TITLE}
</td>
</tr>
<tr>
<td class="b" align="center">
{LINK_BACK}
</td>
</tr>
<tr>
<td align="center">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<img src="images/main/bag_{BAG_SUBJECT}.gif" alt="[{BAG_SUBJECT}]" /></td>
<td>
<ul>
<li>
<!-- BEGIN switch_allgemein_enabled -->
<a href="worldframe_world.php?view=beutel&fach=allgemein">Allgemeine Items</a>
<!-- END switch_allgemein_enabled -->
<!-- BEGIN switch_allgemein_disabled -->
<span class="genmed">Allgemeine Items</span>
<!-- END switch_allgemein_disabled -->
</li>
<li>
<!-- BEGIN switch_baelle_enabled -->
<a href="worldframe_world.php?view=beutel&fach=baelle">Bälle</a>
<!-- END switch_baelle_enabled -->
<!-- BEGIN switch_baelle_disalbed -->
<span class="genmed">Bälle</span>
<!-- END switch_baelle_disabled -->
</li>
<li>
<!-- BEGIN switch_beeren_enabled -->
<a href="worldframe_world.php?view=beutel&fach=beeren">Beeren</a>
<!-- END switch_beeren_enabled -->
<!-- BEGIN switch_beeren_disalbed -->
<span class="genmed">Beeren</span>
<!-- END switch_beeren_disabled -->
</li>
<li>
<!-- BEGIN switch_basis-items_enabled -->
<a href="worldframe_world.php?view=beutel&fach=basis-items">Basis-Items</a>
<!-- END switch_basis-items_enabled -->
<!-- BEGIN switch_basis-items_disalbed -->
<span class="genmed">Basis-Items</span>
<!-- END switch_basis-items_disabled -->
</li>
<li>
<!-- BEGIN switch_tms_enabled -->
<a href="worldframe_world.php?view=beutel&fach=tms">TMs</a>
<!-- END switch_tms_enabled -->
<!-- BEGIN switch_tms_disalbed -->
<span class="genmed">TMs</span>
<!-- END switch_tms_disabled -->
</li>
</ul>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table class="forumline" width="100%">
<tr>
<td class="catHead" colspan="2">
{BAG_SUBJECT}
</td>
</tr>
<tr>
<td class="b" align="left">
Name
</td>
<td class="b" align="center" width="50px">
Menge
</td>
</tr>
<!-- BEGIN itemRow -->
<tr>
<td align="left">
<span class="gensmall"><a href="#" onclick="show({itemRow.pos});">{itemRow.name}</a></span>
</td>
<td align="center">
<span class="gensmall">{itemRow.quantity}</span>
</td>
</tr>
<!-- END itemRow -->
</table>
Es soll immer nur ein <li> einen unverlinkten Text beinhalten.
Undzwar den, in dessen Beutel-Fach an grade ist.
Code: Alles auswählen
<?php
if ( !defined('IN_PHPBB') )
{
die("Hacking attempt");
exit;
}
// set page title and target script for the parameters
$res = mysql_query("SELECT `phase`, `pkset` FROM `user_fights` WHERE `otid`=".$userdata['user_id'].";");
if (mysql_num_rows($res) == 1)
{
$battle = mysql_fetch_assoc($res);
$from = 'battle';
$page_title = 'Item einsetzen...';
$link_back = '[<a href="index.'.$phpEx.'?view=world">Zurück zur Befehlswahl!</a>]';
$link_par = 'worldframe_world.'.$phpEx;
}
else
{
if (isset($HTTP_GET_VARS['give_from_team']))
{
$from = 'team';
$page_title = 'Welches Item erhält es?';
$link_back = '[<a href="worldframe_world.'.$phpEx.'?view=team">Zurück zur TeamPkMn-Uebersicht!</a>]';
$link_par = 'worldframe_world.'.$phpEx;
}
else
{
$from = 'world';
$page_title = 'Beutel von '.$userdata['username'];
$link_back = '[<a href="worldframe_world.'.$phpEx.'?view=world">Zurück zur Welten-Uebersicht!</a>]';
$link_par = 'worldframe_world.'.$phpEx;
}
}
// print page header
$gen_simple_header = true;
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
// before parsing html change bag subject if have been taken with valid parameters
if (isset($HTTP_GET_VARS['fach']))
{
$chfach = $HTTP_GET_VARS['fach'];
$legal = array('allgemein', 'baelle', 'basis-items', 'beeren', 'tms');
if (in_array($chfach, $legal))
{
// Kein Parameterpfusch. Erfolgreich wechseln.
$userdata['beutel_fach'] = $chfach;
mysql_query("UPDATE `xBoard_users` SET `beutel_fach`='".$userdata['beutel_fach']."' WHERE `user_id`=".$userdata['user_id'].";");
}
}
// only outside fights and trades
if ($from == 'world')
{
// before parsing html trash away an item if have been taken with valid parameters
if (isset($HTTP_GET_VARS['wegwerfen']) and isset($HTTP_GET_VARS['menge']))
{
$ww_pos = $HTTP_GET_VARS['wegwerfen'];
$ww_menge = $HTTP_GET_VARS['menge'];
// target item must exist...
$res = mysql_query("SELECT `pos`, `menge` FROM `user_items` WHERE `pos`=".$ww_pos." AND `fach`='".$userdata['beutel_fach']."' AND `otid`=".$userdata['user_id'].";");
if (mysql_num_rows($res) == 1)
{
$item = mysql_fetch_assoc($res);
// only more than 0 and less than the target items quantity
if ($ww_menge<=$item['menge'] and $ww_menge>0)
{
if (($item['menge']-=$ww_menge) > 0)
{
// save new quantity
mysql_query("UPDATE `user_items` SET `menge`=".$item['menge']." WHERE `pos`=".$ww_pos." AND `fach`='".$userdata['beutel_fach']."' AND `otid`=".$userdata['user_id'].";");
}
else
{
// delete whole item row
mysql_query("DELETE FROM `user_items` WHERE `pos`=".$ww_pos." AND `fach`='".$userdata['beutel_fach']."' AND `otid`=".$userdata['user_id'].";");
}
}
}
}
// before parsing html set an item one position upper if have been taken with valid parameters
// -> tms don't let change their position because their position constitutes which tm it is
if (isset($HTTP_GET_VARS['pos_up']) and $userdata['beutel_fach']!='tms')
{
$ww_pos = $HTTP_GET_VARS['pos_up'];
// target item must exist...
$res = mysql_query("SELECT `pos` FROM `user_items` WHERE `pos`=".$ww_pos." AND `fach`='".$userdata['beutel_fach']."' AND `otid`=".$userdata['user_id'].";");
if (mysql_num_rows($res) == 1)
{
$item = mysql_fetch_assoc($res);
// find the next position higher
$res = mysql_query("SELECT `pos` FROM `user_items` WHERE `pos`<".$item['pos']." AND `fach`='".$userdata['beutel_fach']."' ORDER BY `pos` ASC;");
// if there is no item one position higher the target item it simply was a glinch try
if (mysql_num_rows($res) != 0)
{
// new position
$nxt = mysql_result($res, 0);
// swap position with item one higher
mysql_query("UPDATE `user_items` SET `pos`=0 WHERE `pos`=".$ww_pos.";");
mysql_query("UPDATE `user_items` SET `pos`=".$ww_pos." WHERE `pos`=".$nxt.";");
mysql_query("UPDATE `user_items` SET `pos`=".$nxt." WHERE `pos`=0;");
}
}
}
// Bestimmtes Item vor Auflistung eine Position tiefer setzen, wenn gültige Parameter dafür mitgebracht.
// -> tms don't let change their position because their position constitutes which tm it is
if (isset($HTTP_GET_VARS['pos_down']) and $userdata['beutel_fach']!='tms')
{
$ww_pos = $HTTP_GET_VARS['pos_down'];
// target item must exist...
$res = mysql_query("SELECT `pos` FROM `user_items` WHERE `pos`=".$ww_pos." AND `fach`='".$userdata['beutel_fach']."' AND `otid`=".$userdata['user_id'].";");
if (mysql_num_rows($res) == 1)
{
$item = mysql_fetch_assoc($res);
// find the next position upper
$res = mysql_query("SELECT `pos` FROM `user_items` WHERE `pos`>".$item['pos']." AND `fach`='".$userdata['beutel_fach']."' ORDER BY `pos` ASC;");
// if there is no item one position lower the target item it simply was a glinch try
if (mysql_num_rows($res) != 0)
{
// new position
$nxt = mysql_result($res, 0);
// swap position with item one lower
mysql_query("UPDATE `user_items` SET `pos`=0 WHERE `pos`=".$ww_pos.";");
mysql_query("UPDATE `user_items` SET `pos`=".$ww_pos." WHERE `pos`=".$nxt.";");
mysql_query("UPDATE `user_items` SET `pos`=".$nxt." WHERE `pos`=0;");
}
}
}
}
// bag subject name to show
switch ($userdata['beutel_fach'])
{
case 'baelle':
$bag_subject = 'Bälle';
break;
case 'basis-items':
$bag_subject = 'Basis-Items';
break;
case 'beeren':
$bag_subject = 'Beeren';
break;
case 'tms':
$bag_subject = 'TM´s';
break;
default:
$userdata['beutel_fach'] = 'allgemein';
$bag_subject = 'Allgemeine Items';
}
// get ready template before parsing
$template = new Template($phpbb_root_path.'templates/ps_grassgreen/');
$template->set_filenames(array(
'world_bag' => 'world_bag.tpl'
));
$template->assign_vars(array(
'BAG_SUBJECT' => $bag_subject
));
$template->assign_block_vars('switch_allgemein_disabled', array());
$template->assign_block_vars('switch_baelle_disabled', array());
$template->assign_block_vars('switch_beeren_disabled', array());
$template->assign_block_vars('switch_basis-items_disabled', array());
$template->assign_block_vars('switch_tms_disabled', array());
// Array füllen und Menü zum aufzulistenden Eintrag in den Quelltext schreiben.
$res = mysql_query("SELECT `pos`, `name`, `menge` FROM `user_items` WHERE `fach`='".$userdata['beutel_fach']."' AND `otid`=".$userdata['user_id']." ORDER BY `pos` ASC;");
while ($item = mysql_fetch_assoc($res))
{
// create actmenu for current item
include ($phpbb_root_path . 'includes/world_bag_createactbox.'.$phpEx);
// --- platzhalter ---
// Menü für Anzahl der wegzuwerfenden Items.
echo '
<div class="wahlbox" id="wegwerfen_'.$item['pos'].'" width="140px" align="left">
Wieviele "'.$item['name'].'" möchtest du wegwerfen?<br>
<input type="hidden" id="wegwerfen_'.$item['pos'].'_pos" value="'.$item['pos'].'">
<select id="wegwerfen_'.$item['pos'].'_menge">
';
for ($o = 1; $o <= $item['menge']; $o++)
{
echo '<option value="'.$o.'">'.str_pad($o, 2, 0, 0).'</option>';
}
echo '
</select><br>
[<a href="#" onclick="wegwerfen('.$c.'); return false;">wegwerfen</a>] [<a href="#" onclick="document.getElementById(\'wegwerfen_'.$c.'\').style.display=\'none\'; return false;">abbrechen</a>]
</div>
';
// --- platzhalter ---
// assign to listing in template
$template->assign_block_vars('itemRow', array(
'pos' => $item['pos'],
'name' => ($userdata['beutel_fach']=='tms')?'TM'.str_pad($item['pos'], 2, 0, 0):$item['name'],
'quantity' => $item['menge']
));
}
// print body
$template->pparse('world_bag');
// print page tail
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Ich denke, wenn ich mit der assign_block_vars-Methode dem
template-Objekt ein leeres Array zuweise für
switch_allgemein_disabled, ist
<span class="genmed">Allgemeine Items</span>
einmal im Quelltext.
// edit
Es lag am Bindestrich basis-items,
das Template-Objekt hat was gegen Bindestriche.