diff options
Diffstat (limited to 'inc/funktion_schichtplan_beamer.php')
-rwxr-xr-x | inc/funktion_schichtplan_beamer.php | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/inc/funktion_schichtplan_beamer.php b/inc/funktion_schichtplan_beamer.php new file mode 100755 index 00000000..5d41ad01 --- /dev/null +++ b/inc/funktion_schichtplan_beamer.php @@ -0,0 +1,180 @@ +<?php + +/*####################################################### +# Aufbau von Standart Feldern # +#######################################################*/ + +// erstellt ein Array der Reume + $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"); + } + +// erstellt ein Aray der Engeltypen + $sql = "SELECT `TID`, `Name` FROM `EngelType` ORDER BY `Name`"; + $Erg = mysql_query($sql, $con); + $rowcount = mysql_num_rows($Erg); + for ($i=0; $i<$rowcount; $i++) + { + $EngelType[$i]["TID"] = mysql_result($Erg, $i, "TID"); + $EngelType[$i]["Name"] = mysql_result($Erg, $i, "Name").Get_Text("inc_schicht_engel"); + + $EngelTypeID[ mysql_result($Erg, $i, "TID") ] = + mysql_result($Erg, $i, "Name").Get_Text("inc_schicht_engel"); + } + + +/*####################################################### +# gibt die engelschischten aus # +#######################################################*/ +function ausgabe_Feld_Inhalt( $SID, $Man ) +{ +// gibt, nach übergabe der der SchichtID (SID) und der RaumBeschreibung, +// die eingetragenden und und offenden Schichteintäge zurück + global $EngelType, $EngelTypeID, $con; + //form Config + global $DEBUG; + + $Out.= "<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" frame=\"void\">\n"; + + $Out.= "\t\t\t<colgroup span=\"2\" align=\"left\" valign=\"center\">\n". + "\t\t\t\t<col width=\"45%\">\n". + "\t\t\t\t<col width=\"*\">\n". + "\t\t\t\t</colgroup>\n"; + + /////////////////////////////////////////////////////////////////// + // SQL abfrage für die benötigten schichten + /////////////////////////////////////////////////////////////////// + $SQL = "SELECT * FROM `ShiftEntry` WHERE (`SID` = '$SID') ORDER BY `TID`, `UID` DESC ;"; + $Erg = mysql_query($SQL, $con); + + $Anzahl = mysql_num_rows($Erg); + $Feld=0; + for( $i = 0; $i < $Anzahl; $i++ ) + { + $Temp_TID_old = $Temp[$Feld]["TID"]; + $Temp_UID_old = $Temp[$Feld]["UID"]; + + $Temp_TID = mysql_result($Erg, $i, "TID"); + + // wenn sich der Type ändert wird zumnästen feld geweckselt + if( $Temp_TID_old != $Temp_TID ) + $Feld++; + + $Temp[$Feld]["TID"] = $Temp_TID; + $Temp[$Feld]["UID"] = mysql_result($Erg, $i, "UID"); + + // sonderfall ersten durchlauf + if( $i == 0 ) + { + $Temp_TID_old = $Temp[$Feld]["TID"]; + $Temp_UID_old = $Temp[$Feld]["UID"]; + } + + // ist es eine zu vergeben schicht? + if( $Temp[$Feld]["UID"] == 0 ) + $Temp[$Feld]["free"]++; + else + $Temp[$Feld]["Engel"][] = $Temp[$Feld]["UID"]; + } // FOR + + + /////////////////////////////////////////////////////////////////// + // Aus gabe der Schicht + /////////////////////////////////////////////////////////////////// + if( count($Temp) ) + foreach( $Temp as $TempEntry => $TempValue ) + { + $Out.= "\t\t\t<tr>\n"; + + // ausgabe EngelType + $Out.= "\t\t\t\t<td>". $EngelTypeID[ $TempValue["TID"] ]; + + // ausgabe Eingetragener Engel + if( count($TempValue["Engel"]) > 0 ) + { + if( count($TempValue["Engel"]) == 1 ) + $Out.= " ". trim(Get_Text("inc_schicht_ist")). ":"; + else + $Out.= " ". trim(Get_Text("inc_schicht_sind")). ":"; + $Out.= "</td>\n"; + $Out.= "\t\t\t\t<td>"; + + foreach( $TempValue["Engel"] as $TempEngelEntry=> $TempEngelID ) + $Out.= UID2Nick( $TempEngelID ). ", "; +// $Out.= UID2Nick( $TempEngelID ). DisplayAvatar( $TempEngelID ). ", "; + $Out = substr( $Out, 0, strlen($Out)-2 ); + } + else + { + $Out.= ":</td>\n"; + $Out.= "\t\t\t\t<td>\n"; + } + + + // ausgabe benötigter Engel + //////////////////////////// + //mit sonder status + $SQLerlaubnis = "SELECT Name FROM `EngelType` WHERE TID = '". $TempValue["TID"]. "'"; + $Ergerlaubnis = mysql_query( $SQLerlaubnis, $con); + if( mysql_num_rows( $Ergerlaubnis)) + if( $_SESSION['CVS'][mysql_result( $Ergerlaubnis, 0, "Name")] == "Y" || + $_SESSION['CVS'][mysql_result( $Ergerlaubnis, 0, "Name")] == "") + for($i=1; $i<=$TempValue["free"]; $i++ ) + $Out.= "free"; + $Out.= "</td>\n"; + $Out.= "\t\t\t</tr>\n"; + + } // FOREACH + + $Out.= "\t\t\t</table>\n\t"; + + return $Out; +} // function Ausgabe_Feld_Inhalt + + + +/*####################################################### +# gibt die engelschischten für einen Ruam aus # +#######################################################*/ +function ausgabe_Zeile( $RID, $Time, &$AnzahlEintraege ) +{ + global $con; + + $SQL = "SELECT `SID`, `Len`, `Man` FROM `Shifts` ". + "WHERE ( (`RID` = '$RID') AND ". + "((`DateE` like '". gmdate("Y-m-d H", $Time+3600). "%') OR ". + " (`DateS` like '". gmdate("Y-m-d H", $Time). "%')) ) ORDER BY `DateS`;"; + + $ErgRoom = mysql_query($SQL, $con); + $Out.= "\t<td>"; + if( mysql_num_rows( $ErgRoom)>0 ) + for( $i=1; $i<=mysql_num_rows( $ErgRoom); $i++ ) + { + $AnzahlEintraege++; + $Out.= ausgabe_Feld_Inhalt( mysql_result( $ErgRoom, $i-1, "SID"), + mysql_result( $ErgRoom, $i-1, "Man")); + if( (mysql_num_rows( $ErgRoom) > 1) && !($i==mysql_num_rows( $ErgRoom)) ) + $Out.= "<br>"; +// $Out.= "<hr width=\"95%\" align=\"center\">\n\t\t\t\t"; + + } + else + $Out.= " "; + + $Out.= "</td>\n"; + + return $Out; +} + +?> |