From 89cc434d7b3e70ac079062db7f32b0dd03e05cd9 Mon Sep 17 00:00:00 2001 From: cookie Date: Fri, 9 Nov 2007 22:17:13 +0000 Subject: [PATCH] all old Update ways are selectable now git-svn-id: svn://svn.cccv.de/engel-system@244 29ba0400-6e00-0410-a75a-ca02368028f8 --- default-conf/www-ssl/inc/config.php | 3 +- www-ssl/admin/dbUpdateFromXLS.php | 153 ++++++++++++++++++---------- 2 files changed, 104 insertions(+), 52 deletions(-) diff --git a/default-conf/www-ssl/inc/config.php b/default-conf/www-ssl/inc/config.php index 3e2c3b51..a1d30867 100755 --- a/default-conf/www-ssl/inc/config.php +++ b/default-conf/www-ssl/inc/config.php @@ -35,8 +35,9 @@ $GlobalZeileProStunde = 4; $Tempdir="/tmp"; //Pentabarf ConferenzDI für UpdateDB -$PentabarfXMLhost = "pentabarf.cccv.de"; +$PentabarfXMLhost = "cccv.pentabarf.org"; $PentabarfXMLpath = "Xcal/conference/"; $PentabarfXMLEventID = "31"; +$PentabarfGetWith = "fsockopen"; // "fsockopen"/"fopen"/"wget"/"lynx" ?> diff --git a/www-ssl/admin/dbUpdateFromXLS.php b/www-ssl/admin/dbUpdateFromXLS.php index 2aa71fa0..df9fe836 100755 --- a/www-ssl/admin/dbUpdateFromXLS.php +++ b/www-ssl/admin/dbUpdateFromXLS.php @@ -45,66 +45,117 @@ echo "\n\n
\n

XML File:

\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 "

fail: File 'https://$PentabarfXMLhost/$PentabarfXMLpath$PentabarfXMLEventID' not readable!". - "[$errstr ($errno)]

"; - } - else + if($PentabarfGetWith=="fsockopen") { - if( ($fileOut = fopen( "$Tempdir/engelXML", "w")) != FALSE) + //backup error messeges and delate + $Backuperror_messages = $error_messages; + $fp = fsockopen( "ssl://$PentabarfXMLhost", 443, $errno, $errstr, 30); +// $error_messages = $Backuperror_messages; + + if( !$fp) { - $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=""; + echo "

fail: File 'https://$PentabarfXMLhost/$PentabarfXMLpath$PentabarfXMLEventID' not readable!". + "[$errstr ($errno)]

"; + } + 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); - //file ende? - if( $Temp=="0\r\n") - break; - - if( ($Zeilen>-1) && ($Temp!="ffb\r\n") ) + echo "
Es wurden $Zeilen Zeilen eingelesen
"; + } + else + echo "

fail: File '$Tempdir/engelXML' not writeable!

"; + fclose($fp); + } + } + elseif($PentabarfGetWith=="fopen") + { + //user uns password in url einbauen + $FileNameIn = "https://". $_POST["PentabarfUser"]. ':'. $_POST["password"]. "@". + $PentabarfXMLhost. "/". $PentabarfXMLpath. $PentabarfXMLEventID; + if( ($fileIn = fopen( $FileNameIn, "r")) != FALSE) + { + if( ($fileOut = fopen( "$Tempdir/engelXML", "w")) != FALSE) { - //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++; + $Zeilen = 0; + while (!feof($fileIn)) + { + $Zeilen++; + fputs( $fileOut, fgets( $fileIn)); + } + fclose( $fileOut); + echo "
Es wurden $Zeilen Zeilen eingelesen
"; } + else + echo "

fail: File '$Tempdir/engelXML' not writeable!

"; + fclose( $fileIn); } - fclose( $fileOut); - - echo "
Es wurden $Zeilen Zeilen eingelesen
"; + else + echo "

fail: File 'https://$PentabarfXMLhost/$PentabarfXMLpath$PentabarfXMLEventID' not readable!

"; + } + elseif( $PentabarfGetWith=="wget") + { + $Command = "wget --http-user=". $_POST["PentabarfUser"]. " --http-passwd=".$_POST["password"]. " ". + "https://$PentabarfXMLhost/$PentabarfXMLpath$PentabarfXMLEventID". + " --output-file=$Tempdir/engelXMLwgetLog --output-document=$Tempdir/engelXML". + " --no-check-certificate"; + echo system( $Command, $Status); + if( $Status==0) + echo "OK.
"; + else + echo "fail ($Status)($Command).
"; + } + elseif( $PentabarfGetWith=="lynx") + { + $Command = "lynx -auth=". $_POST["PentabarfUser"]. ":".$_POST["password"]. " -dump ". + "https://$PentabarfXMLhost/$PentabarfXMLpath$PentabarfXMLEventID > $Tempdir/engelXML"; + echo system( $Command, $Status); + if( $Status==0) + echo "OK.
"; + else + echo "fail ($Status)($Command).
"; } else - echo "

fail: File '$Tempdir/engelXML' not writeable!

"; - fclose($fp); - } + echo "

The PentabarfGetWith='$PentabarfGetWith' not supported

"; } else {