addmove

<?php
include 'preamble.php';

// This page posts a form with detailed default capture info
// When user clicks submit, it is written to the banked move db

// incoming data is player and square and a comment

if ($_POST["Square"]) {
        
$BankOrEdit "Bank"//i.e., New
        
$Coords explode("x",strtolower($_POST["Square"]));
        echo 
"Lat=$Coords[0],Lon=$Coords[1]<p>";

        
$SComment $_POST["ShortComment"];
        
$LatHem $Deflts["LatHem"][$DefPlayer];
        
$LatDeg $Deflts["LatDeg"][$DefPlayer];
        
$LatMin = ((60+$Coords[0]-$Deflts["LatOff"][$DefPlayer]) % 60);
    if (
abs($LatMin $Deflts["LatMin"][$DefPlayer]) > 30) {
        (
$LatMin $Deflts["LatMin"][$DefPlayer] ? ++$LatDeg abs(--$LatDeg));
    }
        
$LonHem $Deflts["LonHem"][$DefPlayer];
        
$LonDeg $Deflts["LonDeg"][$DefPlayer];
        
$LonMin = ((60+$Coords[1]-$Deflts["LonOff"][$DefPlayer]) % 60);
    if (
abs($LonMin $Deflts["LonMin"][$DefPlayer]) > 30) {
        (
$LonMin $Deflts["LonMin"][$DefPlayer] ? ++$LonDeg abs(--$LonDeg));
    }
        
$Description "";
        
$ToLatHem $LatHem;
        
$ToLatDeg $LatDeg;
        
$ToLatMin $LatMin;
        
$ToLatFMin "random";
        
$ToLonHem $LonHem;
        
$ToLonDeg $LonDeg;
        
$ToLonMin $LonMin
        
$ToLonFMin "random";
        
$ToDescription "Random";
                
        
// Now look up the fractional minutes from the game board
        //$Board = rtrim(file_get_contents($BoardURL));
include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->fetchtext($BoardURL);
$Board rtrim($snoopy->results);

        
$BoardLines explode("\n"$Board); // split the file into lines
        
foreach ($BoardLines as $OneLine) {
                
$Fields explode("|"$OneLine); // split the line into individual fields
                
if (($Fields[0] == $Coords[0]) && ($Fields[1] == $Coords[1])) {
                        
$LatFMin substr($Fields[6],-3,3);
                        
$LonFMin substr($Fields[7],-3,3);
                }
                if (!
$LatFMin) {
                    
$LatFMin substr($DefaultOffsets,0,3);
                    
$LonFMin substr($DefaultOffsets,3,3);
                }
        }
} elseif (isset(
$_GET["Id"])) {
        
// editing an existing move
        
$BankOrEdit "Edit";
        
$MoveList explode($MoveDelimiter$MoveData);
        
$MovePieces explode("|"$MoveList[$_GET["Id"]]);
    
$MoveHash md5($MoveList[$_GET["Id"]]);
    if (
$_GET["H"] !== $MoveHash) {
        echo 
"Internal Error - Move Hash does not agree with Move Index. <a href=\"movedb.php?T=$DefTeam&P=$DefPlayer\">Click Here</a> to get back to main page and try again<p>";
        exit(
2);
    }    
                
        
$SComment $MovePieces[9];
        
$LatHem $MovePieces[1];
        
$LatDeg $MovePieces[2];
        
$LatMin $MovePieces[3];
        
$LatFMin $MovePieces[4];
        
$LonHem $MovePieces[5];
        
$LonDeg $MovePieces[6];
        
$LonMin $MovePieces[7];
        
$LonFMin $MovePieces[8];
        
$Description $MovePieces[10];
        
$ToLatHem $MovePieces[11];
        
$ToLatDeg $MovePieces[12];
        
$ToLatMin $MovePieces[13];
        
$ToLatFMin $MovePieces[14];
        
$ToLonHem $MovePieces[15];
        
$ToLonDeg $MovePieces[16];
        
$ToLonMin $MovePieces[17];
        
$ToLonFMin $MovePieces[18];
        
$ToDescription $MovePieces[19];
} else {
        
// error - no square or move id
        
echo "Error - entered with no move square or move id<p>";
        exit(
1);
}

?>

<html>

<head>
<title>MW Move Banker</title>
<SCRIPT>
function checkrand(form) {
        if ((form.ToDescription.value.length > 15) && ((form.ToLatFMin.value == "random") || (form.ToLonFMin.value == "random"))) {
                return confirm ("You have entered a Moved To Description, but left the coords as random. \nClick OK to continue with random placement. \nClick Cancel to return to the form and enter placement coordinates.");
        }
        return true;
}
</SCRIPT>

<!-- Google Maps scripts -->
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
  function initialize() {
//    var latlng = new google.maps.LatLng(-34.397, 150.644);
//    var myOptions = {
//      zoom: 8,
//      center: latlng,
//      mapTypeId: google.maps.MapTypeId.ROADMAP
//    };
//    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
//        
//    var marker = new google.maps.Marker({
 //     position: latlng, 
 //     map: map, 
 //     title:"Hello World!"
//    });   
    
    
  }
</script>



</head>

<body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000" onload="initialize()">

<center>

<FORM METHOD="post" NAME="TheForm" onsubmit="return checkrand(this);" ACTION="movedb.php?T=<?php echo $DefTeam;?>&P=<?php echo $DefPlayer;?>">
<INPUT Type=Hidden Name=BankOrEdit Value="<?php echo $BankOrEdit?>">
<INPUT Type=Hidden Name=Id Value="<?php echo $_GET["Id"] . "," $MoveHash?>">
<FONT FACE="arial">
<CENTER>Hi <?php echo "<b>".$DefPlayer."</b>. ".$BankOrEdit."ing ".$_POST["Square"];?>. Your offset is <?php echo $Deflts["LatOff"][$DefPlayer]." ".$Deflts["LonOff"][$DefPlayer];?></CENTER>
</FONT><p>
<div align="left">
  <table border="0" cellpadding="4" cellspacing="4" style="border-collapse: collapse" bordercolor="#111111" bgcolor="#6699cc">
    <tr>
      <td>
      <p align="left"><font color="#FFFFFF" face="Verdana" size="2">
      Any information you enter here will be saved and can be used later in reporting your capture.<br>
      It is not necessary to add any additional information if you don't want to.<br>
      Click "Enter Banked Move" to put data in database.
          You can just hit "back" if you would don't want to enter this move after all.<br>
          <b>This form does not report your move to the MinuteWar Game Engine</b><br>
          Use the map below (if available) to doublecheck your coordinates.
          </font></td>
    </tr>
  </table>
</div>
<P>
<FONT FACE="arial">
<TABLE BORDER=0 CELLSPACING=0>
<TR>
<TD><B>Short Comment:</B></TD>
<TD colspan=7>
   <INPUT Type=text NAME="ShortComment" size=15 value="<?php echo $SComment?>">
</TD>
</TR>
<TR><TD>&nbsp;</TD></TR>
<TR>
<TD><B>Found&nbsp;at&nbsp;Latitude:</B></TD>
<TD>
   <SELECT NAME="LatHem">
    <OPTION VALUE="N" <?php if ($LatHem=="N") { echo "SELECTED"; } ?>>N
    <OPTION VALUE="S" <?php if ($LatHem=="S") { echo "SELECTED"; } ?>>S
    </SELECT> 
</TD>
<TD ALIGN=RIGHT><INPUT Type=text size=1 NAME="LatDeg" value=<?php echo $LatDeg;?>>
</TD>
<TD>&deg;</TD>
<TD><INPUT Type=text size=2 NAME="LatMin" value=<?php echo $LatMin;?>>
</TD>
<TD><B>.</B></TD>
<TD><INPUT TYPE=TEXT SIZE=6 NAME="LatFMin" value=<?php echo $LatFMin;?>></TD>
<TD WIDTH=400>&nbsp;</TD>
</TR>
<TR>
<TD ALIGN=RIGHT><B>and Longitude:</B></TD>
<TD>
   <SELECT NAME="LonHem">
    <OPTION VALUE="W" <?php if ($LonHem=="W") { echo "SELECTED"; } ?>>W
    <OPTION VALUE="E" <?php if ($LonHem=="E") { echo "SELECTED"; } ?>>E
    </SELECT> 
</TD>
<TD ALIGN=RIGHT><INPUT Type=text size=2 NAME="LonDeg" value=<?php echo $LonDeg;?>>
</TD>
<TD>&deg;</TD>
<TD><INPUT Type=text size=2 NAME="LonMin" value=<?php echo $LonMin;?>>
</TD>
<TD><B>.</B></TD>
<TD><INPUT TYPE=TEXT SIZE=6 NAME="LonFMin" value=<?php echo $LonFMin;?>></TD>
<TD>&nbsp;</TD>
</TR>
<TR>
<TD><B>Description:</B><BR>
with enough detail<BR>
to 'prove' your visit
</TD>
<TD COLSPAN=7><TEXTAREA ROWS=6 COLS=60 NAME="Description"><?php echo $Description;?></TEXTAREA></TD>
</TR>
<TR><TD>&nbsp;</TD></TR>
<TR>
<TD><B>Moved&nbsp;to&nbsp;Latitude:</B></TD>
<TD>
   <SELECT NAME="ToLatHem">
    <OPTION VALUE="N" <?php if ($ToLatHem=="N") { echo "SELECTED"; } ?>>N
    <OPTION VALUE="S" <?php if ($ToLatHem=="S") { echo "SELECTED"; } ?>>S
    </SELECT> 
</TD>
<TD ALIGN=RIGHT><INPUT Type=text size=1 NAME="ToLatDeg" value=<?php echo $ToLatDeg;?>>
</TD>
<TD>&deg;</TD>
<TD>
<INPUT Type=text size=2 NAME="ToLatMin" value=<?php echo $ToLatMin;?>>
</TD>
<TD><B>.</B></TD>
<TD><INPUT TYPE=TEXT SIZE=6 NAME="ToLatFMin" value=<?php echo $ToLatFMin;?>></TD>
<TD>"Random" will move flag automatically.</TD>
</TR>
<TR>
<TD ALIGN=RIGHT><B>and Longitude:</B></TD>
<TD>
   <SELECT NAME="ToLonHem">
    <OPTION VALUE="W" <?php if ($ToLonHem=="W") { echo "SELECTED"; } ?>>W
    <OPTION VALUE="E" <?php if ($ToLonHem=="E") { echo "SELECTED"; } ?>>E
    </SELECT> 
</TD>
<TD ALIGN=RIGHT><INPUT Type=text size=2 NAME="ToLonDeg" value=<?php echo $ToLonDeg;?>>
</TD>
<TD>&deg;</TD>
<TD><INPUT Type=text size=2 NAME="ToLonMin" value=<?php echo $ToLonMin;?>>
</TD>
<TD><B>.</B></TD>
<TD><INPUT TYPE=TEXT SIZE=6 NAME="ToLonFMin" value=<?php echo $ToLonFMin;?>></TD>
<TD>Replace with a number to specify a flag position.</TD>
</TR>
<TR>
<TD><B>Description:</B><BR>
with enough detail<BR>
to 'prove' your visit
</TD>
<TD COLSPAN=7><TEXTAREA ROWS=6 COLS=60 NAME="ToDescription"><?php echo $ToDescription;?></TEXTAREA></TD>
</TR>
<TR>
<TD COLSPAN=8>
<CENTER><BR>
<INPUT TYPE=submit NAME=RecordCapture2 value="Enter Banked Move">
</CENTER>
</TD>
</TR>
</TABLE>
</FONT>
<P>
</FONT>
</FORM>
<hr>
<h2>Google Map of "Captured At" Location</h2>
<INPUT TYPE=BUTTON onclick="refreshMap()" value="Refresh Google Map">
  <div id="map_canvas" style="width:500; height:450"></div>
    <script type="text/javascript">
    //<![CDATA[
    
function refreshMap()
{
 var myLat = window.document.TheForm.LatDeg.value*1.0 + window.document.TheForm.LatMin.value/60.0 + window.document.TheForm.LatFMin.value/60000.0;
        if (window.document.TheForm.LatHem.value == "S") { myLat = (-1.0) * myLat; }
 var myLon = window.document.TheForm.LonDeg.value*1.0 + window.document.TheForm.LonMin.value/60.0 + window.document.TheForm.LonFMin.value/60000.0;
        if (window.document.TheForm.LonHem.value == "W") { myLon = (-1.0) * myLon; }
 var myLatLon = new google.maps.LatLng(myLat, myLon);        
    map.set_center( myLatLon );
    marker.set_position( myLatLon );
}
    
 var myLat = window.document.TheForm.LatDeg.value*1.0 + window.document.TheForm.LatMin.value/60.0 + window.document.TheForm.LatFMin.value/60000.0;
        if (window.document.TheForm.LatHem.value == "S") { myLat = (-1.0) * myLat; }
 var myLon = window.document.TheForm.LonDeg.value*1.0 + window.document.TheForm.LonMin.value/60.0 + window.document.TheForm.LonFMin.value/60000.0;
        if (window.document.TheForm.LonHem.value == "W") { myLon = (-1.0) * myLon; }

    var latlng = new google.maps.LatLng(myLat, myLon);
    var myOptions = {
      zoom: 14,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
        
    var marker = new google.maps.Marker({
      position: latlng, 
      map: map, 
      title:"Captured At"
    });   

    
    //]]>
    </script>



</center>
</body>
</html>