<?PHP
$title = "DB Update from XML";
$header = "DB Update from XML";
include ("./inc/header.php");
include ("./inc/funktion_user.php");
include ("./inc/funktion_xml.php");

///////////
// DEBUG //
///////////
$ShowDataStrukture = 0;
$EnableRoomFunctions = 1;
$EnableRooms = 1;
$EnableSchudleFunctions = 1;
$EnableSchudle = 1;
$EnableSchudleDB = 1;


/*##############################################################################################
				erstellt Arrays der Reume
  ##############################################################################################*/
function CreateRoomArrays()
{
	global $Room, $RoomID, $RoomName, $con;

	$sql =	"SELECT `RID`, `Name` FROM `Room` ".
		"WHERE `Show`='Y'".
		"ORDER BY `Number`, `Name`;";
	$Erg = mysql_query($sql, $con);
	$rowcount = mysql_num_rows($Erg);

	for ($i=0; $i<$rowcount; $i++)
	{
		$Room[$i]["RID"]  = mysql_result($Erg, $i, "RID");
		$Room[$i]["Name"] = mysql_result($Erg, $i, "Name");
		$RoomID[ mysql_result($Erg, $i, "RID") ] =  mysql_result($Erg, $i, "Name");
		$RoomName[ mysql_result($Erg, $i, "Name") ] = mysql_result($Erg, $i, "RID");
	}
}
CreateRoomArrays();

/*##############################################################################################
				           F I L E
  ##############################################################################################*/
echo "\n\n<br>\n<h1>XML File:</h1>\n";
if( isset($_POST["PentabarfUser"]) && isset($_POST["password"]) && isset($_POST["PentabarfURL"]))
{
	echo "Update XCAL-File from Pentabarf..";
	
	//backup error messeges and delate
	$Backuperror_messages = $error_messages;
		$fp = fsockopen( "ssl://$PentabarfXMLhost", 443, $errno, $errstr, 30);
//	$error_messages = $Backuperror_messages;
	
	if( !$fp)
	{
	   echo "<h2>fail: File 'https://$PentabarfXMLhost/$PentabarfXMLpath$PentabarfXMLEventID' not readable!".
	   	"[$errstr ($errno)]</h2>";
	}
	else
	{
		if( ($fileOut = fopen( "$Tempdir/engelXML", "w")) != FALSE)
		{
			$head =	'GET /'. $PentabarfXMLpath. $PentabarfXMLEventID. ' HTTP/1.1'."\r\n".
				'Host: '. $PentabarfXMLhost. "\r\n".
				'User-Agent: Engelsystem'. "\r\n".
				'Authorization: Basic '.
				base64_encode($_POST["PentabarfUser"]. ':'. $_POST["password"])."\r\n".
				"\r\n";
			fputs( $fp, $head);
			$Zeilen = -1;
			while (!feof($fp))
			{	
				$Temp= fgets($fp,1024);
				
				// ende des headers
				if( $Temp== "f20\r\n" )
				{
					$Zeilen = 0;
					$Temp="";
				}
				
				//file ende?
				if( $Temp=="0\r\n")
					break;

				if( ($Zeilen>-1) && ($Temp!="ffb\r\n") )
				{
					//steuerzeichen ausfiltern
					if( strpos( "#$Temp", "\r\n") > 0)
						$Temp = substr($Temp, 0, strlen($Temp)-2);
					if( strpos( "#$Temp", "1005") > 0)
						$Temp = "";
					if( strpos( "#$Temp", "783") > 0)
						$Temp = "";
					//schreiben in file
					fputs( $fileOut, $Temp);
					$Zeilen++;
				}
			}
			fclose( $fileOut);
			
			echo "<br>Es wurden $Zeilen Zeilen eingelesen<br>";
		}
		else
			echo "<h2>fail: File '$Tempdir/engelXML' not writeable!</h2>";
		fclose($fp);
	}
}
else
{
	echo "<form action=\"dbUpdateFromXLS.php\" method=\"post\">\n";
	echo "<table border=\"0\">\n";
	echo "\t<tr><td>XCAL-File: https://$PentabarfXMLhost/$PentabarfXMLpath</td>".
		"<td><input name=\"PentabarfURL\" type=\"text\" size=\"4\" maxlength=\"5\" ".
		"value=\"$PentabarfXMLEventID\"></td></tr>\n";
	echo "\t<tr><td>Username:</td>".
		"<td><input name=\"PentabarfUser\" type=\"text\" size=\"30\" maxlength=\"30\"></td></tr>\n";
	echo "\t<tr><td>Password:</td>".
		"<td><input name=\"password\" type=\"password\" size=\"30\" maxlength=\"30\"></td></tr>\n";
	echo "\t<tr><td></td><td><input type=\"submit\" name=\"FileUpload\" value=\"upload\"></td></tr>\n";
	echo "</table>\n";
	echo "</form>\n";
}



//readXMLfile("xml.php.xml");
if( readXMLfile("$Tempdir/engelXML") == 0)
{
$XMLmain = getXMLsubPease( $XMLmain, "VCALENDAR");


if( $ShowDataStrukture)
{
	echo "<pre><br>";
	echo $XMLmain->name;
	echo "<br>";
	print_r(array_values ($XMLmain->sub));
	echo "</pre>";
}

/*
echo "<br>";
$Feld=7;
echo "$Feld#". $XMLmain->sub[$Feld]->name. "<br>";
echo "$Feld#". $XMLmain->sub[$Feld]->sub;
//print_r(array_values ($XMLmain->sub[$Feld]->sub));
while(list($key, $value) = each($XMLmain->sub[$Feld]->sub))
	echo "?ID".$value->sub[1]->data. "=". $value->sub[2]->data. "\n";
echo "</pre>";
*/


/*##############################################################################################
				           V e r s i o n
  ##############################################################################################*/

echo "<hr>\n";
$XMLrelease = getXMLsubPease( $XMLmain, "X-WR-CALDESC");
echo "release: ". $XMLrelease->data. "<br>\n";
//$XMLreleaseDate = getXMLsubPease( $XMLmain, "RELEASE-DATE");
//echo "release date: ". $XMLreleaseDate->data. "<br>\n";
echo "<hr>\n";



/*##############################################################################################
				           V e r s i o n
  ##############################################################################################*/
if( $EnableRoomFunctions)
	include("./inc/funktion_xml_room.php");

if( $EnableSchudleFunctions)
	include("./inc/funktion_xml_schudle.php");


/*##############################################################################################
				         U P D A T E  A L L 
  ##############################################################################################*/
echo "\n\n<br>\n<h1>Update ALL:</h1>\n";

echo "<form action=\"dbUpdateFromXLS.php\">\n";
echo "\t<input type=\"submit\" name=\"UpdateALL\" value=\"now\">\n";
echo "</form>\n";

} //if XMLopenOOK

include ("./inc/footer.php");
?>