You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
engelsystem/www-ssl/admin/dbUpdateFromXLS.php

192 lines
5.5 KiB
PHTML

<?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");
?>