by Rinecamo » 25. April 2010 13:36
<?php
session_start();
// Feldtyp speichern
if(isset($_GET['feld']))
$_SESSION['option']['feld'] = $_GET['feld'];
if(!isset($_SESSION['option']['feld']))
$_SESSION['option']['feld'] = "g";
// Details einblenden
if(isset($_GET[option_detail]))
$_SESSION['option']['detail'] = $_GET['option_detail'];
if(!isset($_SESSION['option']['detail']))
$_SESSION['option']['detail'] = 0;
?>
<html>
<head>
<title>Mapeditor</title>
<meta name="author" content="Avatar">
<style type="text/css">
<!--
#map {
padding: 0 0 0 0;
margin: 0 0 0 0;
}
body {
text-align:center;
padding: 50px 0px 0px 0px;
}
#body {
margin: 0 auto;
width: 800px;
text-align:left;
}
#main {
float:left;
}
#option {
padding:0 0 0 850px;
width:300px;
}
.image {
width:25px;
height:25px;
text-decoration:none;
font-size:0.6em;
}
-->
</style>
<script type="text/javascript">
<!--
var option_detail = <? echo $_SESSION['option']['detail'];?>;
function trim(s) {
while (s.substring(0,1) == ' ') {
s = s.substring(1,s.length);
}
while (s.substring(s.length-1,s.length) == ' ') {
s = s.substring(0,s.length-1);
}
return s;
}
function ajaxtest(option, x, y) {
for(var i=0;i<document.test.img.length;i++){
if(document.test.img[i].checked == true)
img = document.test.img[i].value;
}
for(var i=0;i<document.test.art.length;i++){
if(document.test.art[i].checked == true)
art = document.test.art[i].value;
}
sektor = document.getElementById('sektor').value;
insel = document.getElementById('insel').value;
/*
if(document.test.insel[3].checked)
insel = 1;
else
insel = 0;
*/
var xmlHttp = null;
// Mozilla, Opera, Safari sowie Internet Explorer 7
if (typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}
if (!xmlHttp) {
// Internet Explorer 6 und älter
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
xmlHttp = null;
}
}
}
// Wenn das Objekt erfolgreich erzeugt wurde
if (xmlHttp) {
/*alert('test: '+test+'');*/
var url = "mapeditor_ajax.php";
var params = "img="+img+"&x="+x+"&y="+y+"&art="+art+"&sektor="+sektor+"&insel="+insel;
xmlHttp.open("POST", url, true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", params.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
//document.getElementById(x+"-"+y).innerHTML = "<img src=\"../welt1/gif/karte/"+xmlHttp.responseText+".gif\" border=\"0\" width=\"25px\" height=\"25px\">";
document.getElementById("info").innerHTML = xmlHttp.responseText;
var returnwert = xmlHttp.responseText;
if(returnwert == "error=maxsektor")
alert("max. 100 Felder pro Sektor");
var parts = returnwert.split("?");
var sektor = parts[2];
var insel = parts[3];
var felder_in_sektor = parts[4];
var images = parts[1].split(",");
document.getElementById('sektor').value = sektor;
document.getElementById('insel').value = insel;
document.getElementById('felder').innerHTML = felder_in_sektor;
for(var i=0;i<images.length;i++){
var werte = images[i].split(":");
//var div_id = (trim(werte[0])+"-"+trim(werte[1]));
var div_id = (werte[0]+"-"+werte[1]);
//alert(div_id);
document.getElementById(div_id).style.backgroundImage = "url(img/"+werte[2]+".gif)";
if(werte[0] == x && werte[1] == y && option_detail == 1)
document.getElementById(werte[0]+"-"+werte[1]).innerHTML = "I:"+insel+"<br />S:"+sektor;
}
// Vom Kontrollpunkt Radio zurück auf Feld springen
if(document.test.art[2].checked == true) {
document.test.art[2].checked = false;
document.test.art[1].checked = true;
}
// Vom Insel Radio zurück auf Feld springen
if(document.test.art[3].checked == true) {
document.test.art[3].checked = false;
document.test.art[1].checked = true;
}
/*$("#kundenliste").trigger("update");
$("#kundenliste").trigger("appendCache");
$(".tableover tr").mouseover(function() {$(this).addClass("over");}).mouseout(function() {$(this).removeClass("over");});*/
}
};
xmlHttp.send(params);
}
}
function goto(x, y) {
for(var i=0;i<document.test.img.length;i++){
if(document.test.img[i].checked == true)
img = document.test.img[i].value;
}
if(document.test.art[0].checked == true) {
location.href='mapeditor.php?x='+x+'&y='+y+'&feld='+img;
exit();
}
}
-->
</script>
</head>
<body>
<div id="body">
<div id="main">
<div id="info"></div>
<table border="0" id="map" cellspacing="0" cellpadding="0">
<?
include "db.php";
$size = 15;
if(!isset($_GET['x']) OR !isset($_GET['y']))
{
$x = 200;
$y = 200;
}
else
{
$x = $_GET['x'];
$y = $_GET['y'];
}
$sql = "SELECT x, y, img, build, sektor, s.insel, sektor1, sektor2, hafen FROM map_felder f
LEFT JOIN map_sektor s ON f.sektor = s.id
LEFT JOIN map_kontrollpunkt k ON f.id = k.id
LEFT JOIN map_insel i ON i.hafen = f.id
WHERE y <= ($y+$size) AND y >= ($y-$size) AND x <= ($x+$size) AND x >= ($x-$size) ORDER BY y DESC, x";
$result = mysql_query($sql) OR die(mysql_error());
$karte = mysql_fetch_assoc($result);
for($y_for = ($y+$size); $y_for >= ($y - $size); $y_for--)
{
echo "<tr>";
// Koordinaten
echo "<td>".$y_for."</td>";
for($x_for = ($x-$size); $x_for <= ($x + $size); $x_for++)
{
if($x_for != $karte['x'] OR $y_for != $karte['y'])
$img = "wasser";
else
$img = $karte['img'];
echo "<td>";
//echo "<a href=\"?x=".$x_for."&y=".$y_for."\">";
echo "<a href=\"#\" onclick=\"goto(".$x_for.", ".$y_for."), ajaxtest('x', ".$x_for.", ".$y_for.");\">";
echo "<div id=\"".$x_for."-".$y_for."\" class=\"image\" style=\"background-image:url(img/".$img.".gif);\">";
if($_SESSION['option']['detail'] == 1 AND $karte['x'] == $x_for AND $karte['y'] == $y_for)
{
if(!empty($karte['insel']))
echo "I:".$karte['insel']."<br />";
if(!empty($karte['sektor']))
echo "S:".$karte['sektor'];
if(!empty($karte['sektor1']))
echo $karte['sektor1']."x";;
if(!empty($karte['sektor2']))
echo $karte['sektor2'];
}
if($karte['hafen'] !== NULL AND $x_for == $karte['x'] AND $y_for == $karte['y'])
echo "<img src=\"img/h.gif\" border=\"0\">";
//echo "<img src=\"../welt1/gif/karte/".$img.".gif\" border=\"0\" width=\"25px\" height=\"25px\">";
echo "</div>";
echo "</a>";
echo "</td>";
if($x_for == $karte['x'] AND $y_for == $karte['y'])
$karte = mysql_fetch_assoc($result);
}
echo "</tr>";
}
// Koordinaten
echo "<tr>";
echo "<td></td>";
for($x_for = ($x-$size); $x_for <= ($x + $size); $x_for++)
echo "<td align=\"center\">".$x_for."</td>";
echo "</tr>";
?>
</table>
</div>
<div id="option">
<form method="post" name="test" action="ajax.php">
<table>
<tr>
<td><img src="img/w_o.gif"></td>
<td><input type="radio" name="img" value="w" <? if($_SESSION['option']['feld'] == "w") echo "checked";?>></td>
</tr>
<tr>
<td><img src="img/g1_o.gif"></td>
<td><input type="radio" name="img" value="g" <? if($_SESSION['option']['feld'] == "g") echo "checked";?>></td>
</tr>
<tr>
<td><img src="img/f2_o.gif"></td>
<td><input type="radio" name="img" value="f2" <? if($_SESSION['option']['feld'] == "f2") echo "checked";?>></td>
</tr>
<tr>
<td><img src="img/f4_o.gif"></td>
<td><input type="radio" name="img" value="f4" <? if($_SESSION['option']['feld'] == "f4") echo "checked";?>></td>
</tr>
<tr>
<td><img src="img/f1_o.gif"></td>
<td><input type="radio" name="img" value="fw" <? if($_SESSION['option']['feld'] == "fw") echo "checked";?>></td>
</tr>
<tr>
<td><img src="img/hafen_o.gif"></td>
<td><input type="radio" name="img" value="h" <? if($_SESSION['option']['feld'] == "h") echo "checked";?>></td>
</tr>
</table>
<br /><br /><br />
<table>
<tr>
<td><input type="radio" name="art" value="g" checked></td>
<td>Goto</td>
</tr>
<tr>
<td><input type="radio" name="art" value="f"></td>
<td>Feld</td>
</tr>
<tr>
<td><input type="radio" name="art" value="k"></td>
<td>Kontrollpunkt</td>
</tr>
<tr>
<td><input type="radio" name="art" value="i"></td>
<td>Neue Insel</td>
</tr>
</table>
<br><br><br>
Sektor<input type="text" id="sektor" name="sektor" value="NULL" size="3">
Insel<input type="text" id="insel" name="insel" value="NULL" size="3">
</form>
Felder im Sektor:<div id="felder" name="felder" style="display:inline">-</div>
<br /><br />
<?
if($_SESSION['option']['detail'] == 0 OR empty($_SESSION['option']['detail']))
echo "<a href=\"?x=".$x."&y=".$y."&option_detail=1\">Details anzeigen</a>";
else
echo "<a href=\"?x=".$x."&y=".$y."&option_detail=0\">Details ausblenden</a>";
?>
</div>
</div>
</body>
</html>