engelsystem/www-ssl/admin/dbUpdateFromXLS.php

294 lines
9.4 KiB
PHP
Raw Normal View History

2011-06-01 12:13:39 +02:00
<?php
$title = "DB Update from XML";
$header = "DB Update from XML";
include ("../../../camp2011/includes/header.php");
include ("../../../camp2011/includes/funktion_xml.php");
///////////
// DEBUG //
///////////
$ShowDataStrukture = 0;
$EnableRoomFunctions = 1;
$EnableRooms = 1;
$EnableSchudleFunctions = 1;
$EnableSchudle = 1;
$EnableSchudleDB = 1;
/*##############################################################################################
2011-06-01 12:13:39 +02:00
erstellt Arrays der Reume
##############################################################################################*/
function CreateRoomArrays()
{
2011-06-01 12:13:39 +02:00
global $Room, $RoomID, $RoomName, $con;
2011-06-01 12:13:39 +02:00
$sql = "SELECT `RID`, `Name` FROM `Room` ".
"WHERE `Show`='Y'".
"ORDER BY `Number`, `Name`;";
$Erg = mysql_query($sql, $con);
$rowcount = mysql_num_rows($Erg);
2011-06-01 12:13:39 +02:00
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();
/*##############################################################################################
2011-06-01 12:13:39 +02:00
F I L E
##############################################################################################*/
2011-06-01 12:13:39 +02:00
echo "\n\n<br />\n<h1>XML File:</h1>\n";
if( isset($_POST["PentabarfUser"]) && isset($_POST["password"]) && isset($_POST["PentabarfURL"]))
{
2011-06-01 12:13:39 +02:00
echo "Update XCAL-File from Pentabarf..";
if($PentabarfGetWith=="fsockopen")
{
2011-06-01 12:13:39 +02:00
//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". $_POST["PentabarfURL"]. "' not readable!".
"[$errstr ($errno)]</h2>";
}
else
{
if( ($fileOut = fopen( "$Tempdir/engelXML", "w")) != FALSE)
{
$head = 'GET /'. $PentabarfXMLpath. $_POST["PentabarfURL"]. ' 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;
2011-06-01 12:13:39 +02:00
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);
}
}
elseif($PentabarfGetWith=="fopen")
{
//user uns password in url einbauen
$FileNameIn = "https://". $_POST["PentabarfUser"]. ':'. $_POST["password"]. "@".
$PentabarfXMLhost. "/". $PentabarfXMLpath. $_POST["PentabarfURL"];
2011-06-01 12:13:39 +02:00
if( ($fileIn = fopen( $FileNameIn, "r")) != FALSE)
{
if( ($fileOut = fopen( "$Tempdir/engelXML", "w")) != FALSE)
{
$Zeilen = 0;
while (!feof($fileIn))
{
$Zeilen++;
fputs( $fileOut, fgets( $fileIn));
}
fclose( $fileOut);
echo "<br />Es wurden $Zeilen Zeilen eingelesen<br />";
}
else
echo "<h2>fail: File '$Tempdir/engelXML' not writeable!</h2>";
fclose( $fileIn);
}
else
echo "<h2>fail: File 'https://$PentabarfXMLhost/$PentabarfXMLpath". $_POST["PentabarfURL"]. "' not readable!</h2>";
}
elseif( $PentabarfGetWith=="wget")
{
$Command = "wget --http-user=". $_POST["PentabarfUser"]. " --http-passwd=".$_POST["password"]. " ".
"https://$PentabarfXMLhost/$PentabarfXMLpath". $_POST["PentabarfURL"].
" --output-file=$Tempdir/engelXMLwgetLog --output-document=$Tempdir/engelXML".
" --no-check-certificate";
echo system( $Command, $Status);
if( $Status==0)
echo "OK.<br />";
else
echo "fail ($Status)($Command).<br />";
}
elseif( $PentabarfGetWith=="lynx")
{
$Command = "lynx -auth=". $_POST["PentabarfUser"]. ":".$_POST["password"]. " -dump ".
"https://$PentabarfXMLhost/$PentabarfXMLpath". $_POST["PentabarfURL"]. " > $Tempdir/engelXML";
echo system( $Command, $Status);
if( $Status==0)
echo "OK.<br />";
else
echo "fail ($Status)($Command).<br />";
}
elseif($PentabarfGetWith=="fopen")
{
//user uns password in url einbauen
$FileNameIn = "https://". $_POST["PentabarfUser"]. ':'. $_POST["password"]. "@".
$PentabarfXMLhost. "/". $PentabarfXMLpath. $_POST["PentabarfURL"];
2011-06-01 12:13:39 +02:00
if( ($fileIn = fopen( $FileNameIn, "r")) != FALSE)
{
if( ($fileOut = fopen( "$Tempdir/engelXML", "w")) != FALSE)
{
$Zeilen = 0;
while (!feof($fileIn))
{
$Zeilen++;
fputs( $fileOut, fgets( $fileIn));
}
fclose( $fileOut);
echo "<br />Es wurden $Zeilen Zeilen eingelesen<br />";
}
else
echo "<h2>fail: File '$Tempdir/engelXML' not writeable!</h2>";
fclose( $fileIn);
}
else
echo "<h2>fail: File 'https://$PentabarfXMLhost/$PentabarfXMLpath". $_POST["PentabarfURL"]. "' not readable!</h2>";
}
elseif( $PentabarfGetWith=="wget")
{
$Command = "wget --http-user=". $_POST["PentabarfUser"]. " --http-passwd=".$_POST["password"]. " ".
"https://$PentabarfXMLhost/$PentabarfXMLpath". $_POST["PentabarfURL"].
" --output-file=$Tempdir/engelXMLwgetLog --output-document=$Tempdir/engelXML".
" --no-check-certificate";
echo system( $Command, $Status);
if( $Status==0)
echo "OK.<br />";
else
echo "fail ($Status)($Command).<br />";
}
elseif( $PentabarfGetWith=="lynx")
{
$Command = "lynx -auth=". $_POST["PentabarfUser"]. ":".$_POST["password"]. " -dump ".
"https://$PentabarfXMLhost/$PentabarfXMLpath". $_POST["PentabarfURL"]. " > $Tempdir/engelXML";
echo system( $Command, $Status);
if( $Status==0)
echo "OK.<br />";
else
echo "fail ($Status)($Command).<br />";
}
else
echo "<h1>The PentabarfGetWith='$PentabarfGetWith' not supported</h1>";
}
else
{
2011-06-01 12:13:39 +02:00
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)
{
2011-06-01 12:13:39 +02:00
echo "<pre><br />";
echo $XMLmain->name;
echo "<br />";
print_r(array_values ($XMLmain->sub));
echo "</pre>";
}
/*
2011-06-01 12:13:39 +02:00
echo "<br />";
$Feld=7;
2011-06-01 12:13:39 +02:00
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))
2011-06-01 12:13:39 +02:00
echo "?ID".$value->sub[1]->data. "=". $value->sub[2]->data. "\n";
echo "</pre>";
*/
/*##############################################################################################
2011-06-01 12:13:39 +02:00
V e r s i o n
##############################################################################################*/
echo "<hr>\n";
$XMLrelease = getXMLsubPease( $XMLmain, "X-WR-CALDESC");
2011-06-01 12:13:39 +02:00
echo "release: ". $XMLrelease->data. "<br />\n";
//$XMLreleaseDate = getXMLsubPease( $XMLmain, "RELEASE-DATE");
2011-06-01 12:13:39 +02:00
//echo "release date: ". $XMLreleaseDate->data. "<br />\n";
echo "<hr>\n";
/*##############################################################################################
2011-06-01 12:13:39 +02:00
V e r s i o n
##############################################################################################*/
if( $EnableRoomFunctions)
2011-06-01 12:13:39 +02:00
include("../../../camp2011/includes/funktion_xml_room.php");
if( $EnableSchudleFunctions)
2011-06-01 12:13:39 +02:00
include("../../../camp2011/includes/funktion_xml_schudle.php");
/*##############################################################################################
2011-06-01 12:13:39 +02:00
U P D A T E A L L
##############################################################################################*/
2011-06-01 12:13:39 +02:00
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 ("../../../camp2011/includes/footer.php");
?>