diff options
Diffstat (limited to 'www-ssl/inc')
-rwxr-xr-x | www-ssl/inc/funktion_xml.php | 9 | ||||
-rwxr-xr-x | www-ssl/inc/funktion_xml_schudle.php | 225 |
2 files changed, 234 insertions, 0 deletions
diff --git a/www-ssl/inc/funktion_xml.php b/www-ssl/inc/funktion_xml.php index 41a18503..089d89ff 100755 --- a/www-ssl/inc/funktion_xml.php +++ b/www-ssl/inc/funktion_xml.php @@ -18,6 +18,7 @@ $XMLpos = array( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); function convertValues( $Data) { + global $XMLDEBUG; if( $XMLDEBUG) { $Data = htmlspecialchars($Data); @@ -101,6 +102,8 @@ function character_data_handler($parser, $data) /*#######################################################################################*/ function readXMLfile( $file ) { + global $XMLDEBUG; + //$xml_parser = xml_parser_create_ns(); $xml_parser = xml_parser_create("UTF-8"); xml_set_element_handler($xml_parser, "start_element_handler", "end_element_handler"); @@ -137,4 +140,10 @@ function getXMLsubPease( $Sourse, $Name ) // die; } +/*#######################################################################################*/ +function getXMLsubData( $Sourse, $Name ) +{ + $XML = getXMLsubPease( $Sourse, $Name); + return $XML->data; +} ?> diff --git a/www-ssl/inc/funktion_xml_schudle.php b/www-ssl/inc/funktion_xml_schudle.php new file mode 100755 index 00000000..c9f68501 --- /dev/null +++ b/www-ssl/inc/funktion_xml_schudle.php @@ -0,0 +1,225 @@ +<?PHP + +/*############################################################################################## + S c h e d u l e + ##############################################################################################*/ +echo "\n\n<h1>Schudle:</h1>\n"; + + +function SaveSchedule() +{ + global $RoomID, $RoomName; + + include ("./inc/db.php"); + if( isset($_GET["SIDXML"]) && + isset($_GET["DateXML"]) && + isset($_GET["RIDXML"]) && + isset($_GET["LenXML"]) && + isset($_GET["ManXML"]) ) + { + //erzeuge von `DateE` + $TimeStart = substr( $_GET["DateXML"], 11, 2) + (substr($_GET["DateXML"], 14, 2)/60); + $TimeEnd = ($_GET["LenXML"] + $TimeStart) * 60; + $TimeM = $TimeEnd % 60; + $TimeH = ($TimeEnd - $TimeM)/60; + if( $TimeH>=24 ) + { + $TimeH -= 24; + $DateEnd = substr($_GET["DateXML"], 0, 8). + (substr($_GET["DateXML"], 8, 2)+1). " "; + } + else + $DateEnd = substr($_GET["DateXML"], 0, 11); + $DateEnd .= "$TimeH:$TimeM:00"; + + //Namen ermitteln + $_GET["RIDXML"] = $RoomName[$_GET["RIDXML"]]; + + //Update OR insert ? + $SQL1 = "Select `SID` FROM `Shifts` WHERE `SID`='". $_GET["SIDXML"]. "';"; + $Erg1 = mysql_query($SQL1, $con); + + if( mysql_num_rows($Erg1)==0) + $SQL= "INSERT INTO `Shifts` (`SID`, `DateS`, `DateE`, `Len`, `RID`, `Man`, `FromPentabarf`) ". + "VALUES ('". $_GET["SIDXML"]. "', '". $_GET["DateXML"]. "', '". + $DateEnd. "', '". $_GET["LenXML"]. "', '". + $_GET["RIDXML"]. "', '". mysql_escape_string($_GET["ManXML"]). "', 'Y');"; + else + $SQL= "UPDATE `Shifts` SET ". + "`DateS` = '". $_GET["DateXML"]. "', ". + "`DateE` = '". $DateEnd. "', ". + "`Len` = '". $_GET["LenXML"]. "', ". + "`RID` = '". $_GET["RIDXML"]. "', ". + "`Man` = '". mysql_escape_string($_GET["ManXML"]). "', ". + "`FromPentabarf`= 'Y' ". + "WHERE `SID` = '". $_GET["SIDXML"]. "' LIMIT 1;"; + $Erg = mysql_query($SQL, $con); + if( $Erg ) + { + echo "Aenderung, am Schedule '". $_GET["SIDXML"]. "', war erfogreich<br>\n"; + if( mysql_num_rows($Erg1)==0) + { + echo "-->Create Shifts:<br>\n"; + + // erstellt ein Array der Reume + $sql2 = "SELECT * FROM `Room` ". + "WHERE `RID` = ".$_GET["RIDXML"]. " ". + "ORDER BY `Number`, `Name`;"; + $Erg2 = mysql_query( $sql2, $con); + for( $j=0; $j<mysql_num_fields( $Erg2); $j++) + if( substr( mysql_field_name($Erg2, $j), 0, 12)=="DEFAULT_EID_" && + mysql_result($Erg2, 0, $j) > 0 ) + { + echo "---->Create engeltype: ". substr( mysql_field_name($Erg2, $j), 12). + " ". mysql_result($Erg2, 0, $j). "x<br>\n"; + for( $i=0; $i < mysql_result($Erg2, 0, $j); $i++ ) + { + $SQL3 = "INSERT INTO `ShiftEntry` (`SID`, `TID`) VALUES (". + "'". $_GET["SIDXML"]. "', ". + "'". substr( mysql_field_name($Erg2, $j), 12). "');"; + + $Erg3 = mysql_query($SQL3, $con); + if ($Erg3 == 1) + echo "------>pass<br>\n"; + else + echo "------>fail <u>". + mysql_error($con). + "</u>($SQL3)<br>\n"; + } + + } + echo "<br>\n"; + } + } + else + echo "Aenderung, am Schedule '". $_GET["SIDXML"]. "', war <u>nicht</u> erfogreich.(". + mysql_error($con). ")<br>[$SQL]<br>\n"; + } + else + echo "Fehler in den Parametern!<br>"; +} /*SaveSchedule*/ + +if( isset($_GET["ScheduleUpdate"])) + SaveSchedule(); + +//INIT Status counter +$DS_OK = 0; +$DS_KO = 0; +$Where = ""; + +//ausgabe +echo "<table border=\"0\">\n"; +echo "<tr><th>SID</th><th>Date</th>". + "<th>Room</th><th>Len</th><th>Name</th><th>state</th></tr>\n"; +echo "<tr align=\"center\"><td>XML - DB</td><td>XML - DB</td>". + "<td>XML - DB</td><td>XML - DB</td><td>XML - DB</td><td></td></tr>\n"; + +if( $EnableSchudle) +foreach($XMLmain->sub as $EventKey => $Event) +{ + if( $Event->name == "VEVENT") + { + echo "<form action=\"dbUpdateFromXLS.php\">\n"; + echo "\t<tr>\n"; + + $SIDXML = substr( getXMLsubData( $Event, "UID"), 0, strpos( getXMLsubData( $Event, "UID"), "@" )); + $DateXML = + substr( getXMLsubData( $Event, "DTSTART"), 0, 4). "-". + substr( getXMLsubData( $Event, "DTSTART"), 4, 2). "-". + substr( getXMLsubData( $Event, "DTSTART"), 6, 2). " ". + substr( getXMLsubData( $Event, "DTSTART"), 9, 2). ":". + substr( getXMLsubData( $Event, "DTSTART"), 11,2). ":00"; + $LenXML = substr( getXMLsubData( $Event, "DURATION"), 0, strlen(getXMLsubData( $Event, "DURATION"))-1); + $RIDXML = getXMLsubData( $Event, "LOCATION"); + $ManXML = getXMLsubData( $Event, "SUMMARY"); + + if( isset($_GET["UpdateALL"])) + { + $_GET["SIDXML"] = $SIDXML; + $_GET["DateXML"] = $DateXML; + $_GET["LenXML"] = $LenXML; + $_GET["RIDXML"] = $RIDXML; + $_GET["ManXML"] = $ManXML; + SaveSchedule(); + } + + $SQL = "SELECT * FROM `Shifts` WHERE SID=$SIDXML"; + $Erg = mysql_query($SQL, $con); + if(mysql_num_rows($Erg)>0) + { + $SIDDB = mysql_result($Erg, 0, "SID"); + $TimeDB = mysql_result($Erg, 0, "DateS"); + $LenDB = mysql_result($Erg, 0, "Len"); + $RIDDB = $RoomID[mysql_result($Erg, 0, "RID")]; + $ManDB = mysql_result($Erg, 0, "Man"); + } + else + $SIDDB = $TimeDB = $LenDB = $RIDDB = $ManDB= ""; + + echo "\t<td><input name=\"SIDXML\" type=\"text\" value=\"$SIDXML\" size=\"2\" eadonly></td>\n"; + echo "\t<td><input name=\"DateXML\" type=\"text\" value=\"$DateXML\" size=\"17\" readonly>\n\t\t". + "<input name=\"DateDB\" type=\"text\" value=\"$TimeDB\" size=\"17\" readonly></td>\n"; + echo "\t<td><input name=\"RIDXML\" type=\"text\" value=\"$RIDXML\" size=\"15\" readonly>\n\t\t". + "<input name=\"RIDDB\" type=\"text\" value=\"$RIDDB\" size=\"15\" readonly></td>\n"; + echo "\t<td><input name=\"LenXML\" type=\"text\" value=\"$LenXML\" size=\"1\"readonly>\n\t\t". + "<input name=\"LenDB\" type=\"text\" value=\"$LenDB\" size=\"1\"readonly></td>\n"; + echo "\t<td><input name=\"ManXML\" type=\"text\" value=\"$ManXML\" size=\"40\"readonly>\n\t\t". + "<input name=\"ManDB\" type=\"text\" value=\"$ManDB\" size=\"40\"readonly></td>\n"; + if( !( $SIDXML==$SIDDB && + $DateXML==$TimeDB && + $RIDXML==$RIDDB && + $LenXML==$LenDB && + $ManXML==$ManDB) ) + { + echo "\t<td><input type=\"submit\" name=\"ScheduleUpdate\" value=\"update\"></td>\n"; + $DS_KO++; + } + else + { + echo "\t<td><a href=\"./schichtplan.php?action=change&SID=$SIDXML\">edit</a></td>\n"; + $DS_OK++; + } + echo "\t</tr>\n"; + echo "</form>\n"; + $Where.= " OR SID=$SIDXML"; + + } +} +echo "<tr><td colspan=\"6\">status: $DS_KO/$DS_OK nicht Aktuel.</td></tr>\n"; + + +//Anzeige von nicht im XML File vorkommende entraege +if( $Where =="") + $SQL2 = "SELECT * FROM `Shifts` WHERE FromPentabarf = 'Y';"; +else + $SQL2 = "SELECT * FROM `Shifts` WHERE NOT (".substr( $Where, 4). ") AND FromPentabarf = 'Y';"; + +$Erg2 = mysql_query($SQL2, $con); +if(mysql_num_rows($Erg2)>0 && $EnableSchudleDB ) + for( $i=0; $i<mysql_num_rows( $Erg2); $i++) + { + echo "\t<tr>\n"; + $SID = mysql_result($Erg2, $i, "SID"); + $Time = mysql_result($Erg2, $i, "DateS"); + $Len = mysql_result($Erg2, $i, "Len"); + if( isset($RoomID[ mysql_result($Erg2, $i, "RID")])) + $RID = $RoomID[ mysql_result($Erg2, $i, "RID")]; + else + $RID = "RID.". mysql_result($Erg2, $i, "RID"); + $Man = mysql_result($Erg2, $i, "Man"); + echo "\t<td><input name=\"SIDXML\" type=\"text\" value=\"$SID\" size=\"2\" eadonly></td>\n"; + echo "\t<td><input name=\"DateXML\" type=\"text\" value=\"\" size=\"17\" readonly>\n\t\t". + "<input name=\"DateDB\" type=\"text\" value=\"$Time\" size=\"17\" readonly></td>\n"; + echo "\t<td><input name=\"RIDXML\" type=\"text\" value=\"\" size=\"15\" readonly>\n\t\t". + "<input name=\"RIDDB\" type=\"text\" value=\"$RID\" size=\"15\" readonly></td>\n"; + echo "\t<td><input name=\"LenXML\" type=\"text\" value=\"\" size=\"1\"readonly>\n\t\t". + "<input name=\"LenDB\" type=\"text\" value=\"$Len\" size=\"1\"readonly></td>\n"; + echo "\t<td><input name=\"ManXML\" type=\"text\" value=\"\" size=\"40\"readonly>\n\t\t". + "<input name=\"ManDB\" type=\"text\" value=\"$Man\" size=\"40\"readonly></td>\n"; + echo "\t<td><a href=\"./schichtplan.php?action=change&SID=$SID\">edit</a></td>\n"; + echo "\t<tr>\n"; + } +echo "</table>"; + + +?> |