<?PHP

/*##############################################################################################
				        S c h e d u l e 
  ##############################################################################################*/
echo "\n\n<h1>Schudle:</h1>\n";


function SaveSchedule()
{
	global  $RoomID, $RoomName;
	global $con;

	if( isset($_GET["PSIDXML"]) && 
	    isset($_GET["DateXML"]) &&
	    isset($_GET["RIDXML"]) &&
	    isset($_GET["LenXML"]) &&
	    isset($_GET["ManXML"]) &&
	    isset($_GET["URLXML"])  )
	{
		//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 `PSID`='". $_GET["PSIDXML"]. "';";
		$Erg1 =  mysql_query($SQL1, $con);
		
		if( mysql_num_rows($Erg1)==0)
			$SQL= "INSERT INTO `Shifts` (`PSID`, `DateS`, `DateE`, `Len`, `RID`, `Man`, `URL`) ".
				"VALUES ('". $_GET["PSIDXML"]. "', ".
					"'". $_GET["DateXML"]. "', ".
					"'". $DateEnd. "', ".
					"'". $_GET["LenXML"]. "', ".
					"'". $_GET["RIDXML"]. "', ".
					"'". mysql_escape_string($_GET["ManXML"]). "', ".
					"'". $_GET["URLXML"]. "'".
					");";
		else
			$SQL= "UPDATE `Shifts` SET ".
				"`DateS` = '". $_GET["DateXML"]. "', ".
				"`DateE` = '". $DateEnd. "', ".
				"`Len` = '". $_GET["LenXML"]. "', ".
				"`RID` = '". $_GET["RIDXML"]. "', ".
				"`Man` = '". mysql_escape_string($_GET["ManXML"]). "', ".
				"`URL`= '". $_GET["URLXML"]. "' ".
				"WHERE `PSID` = '". $_GET["PSIDXML"]. "' LIMIT 1;";
		$Erg = mysql_query($SQL, $con);
		if( $Erg )
		{
			echo "Aenderung, am Schedule '". $_GET["PSIDXML"]. "', war erfogreich<br>\n";
			if( mysql_num_rows($Erg1)==0)
			{
				echo "-->Create Shifts:<br>\n";

				//SID auslesen
				$SQL1 = "Select `SID` FROM `Shifts` WHERE `PSID`='". $_GET["PSIDXML"]. "';";
				$Erg1 =  mysql_query($SQL1, $con);
				
				// 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 (".
								 "'". mysql_result($Erg1, 0, 0). "', ".
								 "'". 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["PSIDXML"]. "', 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>PSID</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";
	
		$PSIDXML  = 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");
		$URLXML  = getXMLsubData( $Event, "URL");
	
		if( isset($_GET["UpdateALL"]))
		{
			$_GET["PSIDXML"]  = $PSIDXML;
			$_GET["DateXML"] = $DateXML;
			$_GET["LenXML"]  = $LenXML;
			$_GET["RIDXML"]  = $RIDXML;
			$_GET["ManXML"]  = $ManXML;
			$_GET["URLXML"]  = $URLXML;
			SaveSchedule();
		}
			
		$SQL = "SELECT * FROM `Shifts` WHERE `PSID`='$PSIDXML'";
		$Erg = mysql_query($SQL, $con);
		if(mysql_num_rows($Erg)>0)
		{
			$SIDDB  = mysql_result($Erg, 0, "SID");
			$PSIDDB  = mysql_result($Erg, 0, "PSID");
			$TimeDB = mysql_result($Erg, 0, "DateS");
			$LenDB  = mysql_result($Erg, 0, "Len");
			if( isset($RoomID[mysql_result($Erg, 0, "RID")]))
				$RIDDB  = $RoomID[mysql_result($Erg, 0, "RID")];
			else
				$RIDDB  = "RID". mysql_result($Erg, 0, "RID");
			
			$ManDB  = mysql_result($Erg, 0, "Man");
			$URLDB  = mysql_result($Erg, 0, "URL");
		}
		else
			$SIDDB = $PSIDDB  = $TimeDB = $LenDB  = $RIDDB  = $ManDB =  $URLDB = "";

		echo "\t<td><input name=\"PSIDXML\" type=\"text\" value=\"$PSIDXML\" 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";
		echo "\t<td><input name=\"URLXML\" type=\"hidden\" value=\"$URLXML\"></td>\n";
		echo "\t<td><input name=\"URLDB\" type=\"hidden\" value=\"$URLDB\"></td>\n";
		if( !(	$PSIDXML==$PSIDDB && 
			$DateXML==$TimeDB && 
			$RIDXML==$RIDDB && 
			$LenXML==$LenDB &&
			$ManXML==$ManDB &&
			$URLXML==$URLDB) )
		{
			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=$SIDDB\">edit</a></td>\n";
			$DS_OK++;
		}
		echo "\t</tr>\n";
		echo "</form>\n";
		$Where.= " OR `PSID`='$PSIDXML'";
	}
}
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 NOT `PSID`='';";
else
	$SQL2 = "SELECT * FROM `Shifts` WHERE NOT (".substr( $Where, 4). ") AND NOT PSID = '';";
	
$Erg2 = mysql_query($SQL2, $con);
echo mysql_error($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>";


?>