From 75448045cfe70054c8f4bae1bcfaf9bb0f70d330 Mon Sep 17 00:00:00 2001 From: Moritz helios Rudert Date: Wed, 1 Jun 2011 12:13:39 +0200 Subject: fixes --- includes/funktion_schichtplan.php | 654 +++++++++++++++++++------------------- 1 file changed, 327 insertions(+), 327 deletions(-) mode change 100755 => 100644 includes/funktion_schichtplan.php (limited to 'includes/funktion_schichtplan.php') diff --git a/includes/funktion_schichtplan.php b/includes/funktion_schichtplan.php old mode 100755 new mode 100644 index 0b5b9910..afa79144 --- a/includes/funktion_schichtplan.php +++ b/includes/funktion_schichtplan.php @@ -2,181 +2,181 @@ /*####################################################### -# gibt die engelschischten aus # +# 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, $TID2Name, $con, $DEBUG, $gmdateOffset; + global $EngelType, $EngelTypeID, $TID2Name, $con, $debug, $gmdateOffset; - $Spalten = ""; + $Spalten = ""; - if( !isset($_GET["Icon"])) - $_GET["Icon"]=1; + if( !isset($_GET["Icon"])) + $_GET["Icon"]=1; - /////////////////////////////////////////////////////////////////// - // Schow Admin Page - /////////////////////////////////////////////////////////////////// - $Spalten.=funktion_isLinkAllowed_addLink_OrEmpty( - "admin/schichtplan.php?action=change&SID=$SID", - "edit
\n\t\t"); + /////////////////////////////////////////////////////////////////// + // Schow Admin Page + /////////////////////////////////////////////////////////////////// + $Spalten.=funktion_isLinkAllowed_addLink_OrEmpty( + "admin/schichtplan.php?action=change&SID=$SID", + "edit
\n\t\t"); - /////////////////////////////////////////////////////////////////// - // Ausgabe des Schischtnamens - /////////////////////////////////////////////////////////////////// - $SQL = "SELECT `URL` FROM `Shifts` WHERE (`SID` = '$SID');"; - $Erg = mysql_query($SQL, $con); - if( mysql_result($Erg, 0, 0) != "") - $Spalten.="$Man:
"; - else - $Spalten.="".$Man.":
"; + /////////////////////////////////////////////////////////////////// + // Ausgabe des Schischtnamens + /////////////////////////////////////////////////////////////////// + $SQL = "SELECT `URL` FROM `Shifts` WHERE (`SID` = '$SID');"; + $Erg = mysql_query($SQL, $con); + if( mysql_result($Erg, 0, 0) != "") + $Spalten.="$Man:
"; + else + $Spalten.="".$Man.":
"; - /////////////////////////////////////////////////////////////////// - // 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; - $Temp_TID_old=-1; - for( $i = 0; $i < $Anzahl; $i++ ) - { - if( isset($Temp[$Feld]["TID"])) - $Temp_TID_old = $Temp[$Feld]["TID"]; - if( isset($Temp[$Feld]["UID"])) - $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 ) - { - if( isset($Temp[$Feld]["free"])) - $Temp[$Feld]["free"]++; - else - $Temp[$Feld]["free"]=1; - } - else - $Temp[$Feld]["Engel"][] = $Temp[$Feld]["UID"]; - } // FOR - + /////////////////////////////////////////////////////////////////// + // 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; + $Temp_TID_old=-1; + for( $i = 0; $i < $Anzahl; $i++ ) + { + if( isset($Temp[$Feld]["TID"])) + $Temp_TID_old = $Temp[$Feld]["TID"]; + if( isset($Temp[$Feld]["UID"])) + $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 ) + { + if( isset($Temp[$Feld]["free"])) + $Temp[$Feld]["free"]++; + else + $Temp[$Feld]["free"]=1; + } + else + $Temp[$Feld]["Engel"][] = $Temp[$Feld]["UID"]; + } // FOR + - /////////////////////////////////////////////////////////////////// - // Aus gabe der Schicht - /////////////////////////////////////////////////////////////////// - if( isset($Temp)) - if( count($Temp) ) - foreach( $Temp as $TempEntry => $TempValue ) - { - if( !isset($TempValue["free"])) - $TempValue["free"] = 0; - - // ausgabe EngelType - $Spalten.= $EngelTypeID[ $TempValue["TID"] ]. " "; - - // ausgabe Eingetragener Engel - if( isset($TempValue["Engel"])) - if( count($TempValue["Engel"]) > 0 ) - { - if( count($TempValue["Engel"]) == 1 ) - $Spalten.= Get_Text("inc_schicht_ist"). ":
\n\t\t"; - else - $Spalten.= Get_Text("inc_schicht_sind"). ":
\n\t\t"; - - foreach( $TempValue["Engel"] as $TempEngelEntry=> $TempEngelID ) - { - if( funktion_isLinkAllowed( "admin/user.php") === TRUE) - { - // add color, wenn Engel "Gekommen" - $TempText= - ((UIDgekommen( $TempEngelID ) == "1") - ? "" - : ""). - UID2Nick( $TempEngelID). ""; - } - else - { - $TempText = UID2Nick( $TempEngelID ); - } - - // add link to user - $TempText= funktion_isLinkAllowed_addLink_OrLinkText( - "admin/userChangeNormal.php?enterUID=$TempEngelID&Type=Normal", - $TempText); - - $Spalten.= "  ". $TempText. - ( ($_GET["Icon"]==1) ? DisplayAvatar( $TempEngelID): ""). - "
\n\t\t"; + /////////////////////////////////////////////////////////////////// + // Aus gabe der Schicht + /////////////////////////////////////////////////////////////////// + if( isset($Temp)) + if( count($Temp) ) + foreach( $Temp as $TempEntry => $TempValue ) + { + if( !isset($TempValue["free"])) + $TempValue["free"] = 0; + + // ausgabe EngelType + $Spalten.= $EngelTypeID[ $TempValue["TID"] ]. " "; + + // ausgabe Eingetragener Engel + if( isset($TempValue["Engel"])) + if( count($TempValue["Engel"]) > 0 ) + { + if( count($TempValue["Engel"]) == 1 ) + $Spalten.= Get_Text("inc_schicht_ist"). ":
\n\t\t"; + else + $Spalten.= Get_Text("inc_schicht_sind"). ":
\n\t\t"; + + foreach( $TempValue["Engel"] as $TempEngelEntry=> $TempEngelID ) + { + if( funktion_isLinkAllowed( "admin/user.php") === TRUE) + { + // add color, wenn Engel "Gekommen" + $TempText= + ((UIDgekommen( $TempEngelID ) == "1") + ? "" + : ""). + UID2Nick( $TempEngelID). ""; + } + else + { + $TempText = UID2Nick( $TempEngelID ); + } + + // add link to user + $TempText= funktion_isLinkAllowed_addLink_OrLinkText( + "admin/userChangeNormal.php?enterUID=$TempEngelID&Type=Normal", + $TempText); + + $Spalten.= "  ". $TempText. + ( ($_GET["Icon"]==1) ? DisplayAvatar( $TempEngelID): ""). + "
\n\t\t"; - } - $Spalten = substr( $Spalten, 0, strlen($Spalten)-7 ); - } - - // ausgabe benötigter Engel - //////////////////////////// - //in vergangenheit - $SQLtime = "SELECT `DateE` FROM `Shifts` WHERE (`SID`='$SID' AND `DateE` >= '". - gmdate("Y-m-d H:i:s", time()+ $gmdateOffset). "')"; - $Ergtime = mysql_query($SQLtime, $con); - if( mysql_num_rows( $Ergtime) > 0) - { - //wenn keien rechte definiert sind - if( !isset($_SESSION['CVS'][ $TID2Name[$TempValue["TID"]] ])) - $_SESSION['CVS'][ $TID2Name[$TempValue["TID"]] ] = "Y"; + } + $Spalten = substr( $Spalten, 0, strlen($Spalten)-7 ); + } + + // ausgabe benötigter Engel + //////////////////////////// + //in vergangenheit + $SQLtime = "SELECT `DateE` FROM `Shifts` WHERE (`SID`='$SID' AND `DateE` >= '". + gmdate("Y-m-d H:i:s", time()+ $gmdateOffset). "')"; + $Ergtime = mysql_query($SQLtime, $con); + if( mysql_num_rows( $Ergtime) > 0) + { + //wenn keien rechte definiert sind + if( !isset($_SESSION['CVS'][ $TID2Name[$TempValue["TID"]] ])) + $_SESSION['CVS'][ $TID2Name[$TempValue["TID"]] ] = "Y"; - if( $_SESSION['CVS'][ $TID2Name[$TempValue["TID"]] ] == "Y") - if( $TempValue["free"] > 0 ) - { - $Spalten.= "
\n\t\t  "; - $Spalten.= $TempValue["free"]; - if( $TempValue["free"] != 1 ) - $Spalten.= Get_Text("inc_schicht_weitere"). - " ".Get_Text("inc_schicht_Engel"). - Get_Text("inc_schicht_wird"); - else - $Spalten.= Get_Text("inc_schicht_weiterer"). - " ".Get_Text("inc_schicht_Engel"). - Get_Text("inc_schicht_werden"); - $Spalten.= Get_Text("inc_schicht_noch_gesucht"); - $Spalten.= ""; - } - } - else - { - if( isset($TempValue["free"])) - if( $TempValue["free"] > 0 ) - $Spalten.= "
\n\t\t  

Fehlen noch: ". - $TempValue["free"]. "

"; - } - $Spalten.= "
\n\t\t"; - - } // FOREACH - return $Spalten; + if( $_SESSION['CVS'][ $TID2Name[$TempValue["TID"]] ] == "Y") + if( $TempValue["free"] > 0 ) + { + $Spalten.= "
\n\t\t  "; + $Spalten.= $TempValue["free"]; + if( $TempValue["free"] != 1 ) + $Spalten.= Get_Text("inc_schicht_weitere"). + " ".Get_Text("inc_schicht_Engel"). + Get_Text("inc_schicht_wird"); + else + $Spalten.= Get_Text("inc_schicht_weiterer"). + " ".Get_Text("inc_schicht_Engel"). + Get_Text("inc_schicht_werden"); + $Spalten.= Get_Text("inc_schicht_noch_gesucht"); + $Spalten.= ""; + } + } + else + { + if( isset($TempValue["free"])) + if( $TempValue["free"] > 0 ) + $Spalten.= "
\n\t\t  

Fehlen noch: ". + $TempValue["free"]. "

"; + } + $Spalten.= "
\n\t\t"; + + } // FOREACH + return $Spalten; } // function Ausgabe_Feld_Inhalt /*####################################################### -# gibt die engelschischten Druckergerecht aus # +# gibt die engelschischten Druckergerecht aus # #######################################################*/ function Ausgabe_Feld_Inhalt_Druck($RID, $Man ) { @@ -190,200 +190,200 @@ function Ausgabe_Feld_Inhalt_Druck($RID, $Man ) /*####################################################### -# Ausgabe der Raum Spalten # +# Ausgabe der Raum Spalten # #######################################################*/ function CreateRoomShifts( $raum ) { - global $Spalten, $ausdatum, $con, $DEBUG, $GlobalZeileProStunde, $error_messages; - - ///////////////////////////////////////////////////////////// - // beginnt die erste schicht vor dem heutigen tag und geht darüber hinaus - ///////////////////////////////////////////////////////////// - $SQLSonder = "SELECT `SID`, `DateS`, `DateE` , `Len`, `Man` FROM `Shifts` ". - "WHERE ((`RID` = '$raum') AND (`DateE` > '$ausdatum 23:59:59') AND ". - "(`DateS` < '$ausdatum 00:00:00') ) ORDER BY `DateS`;"; - $ErgSonder = mysql_query($SQLSonder, $con); - if( (mysql_num_rows( $ErgSonder) > 1) ) - { - if( funktion_isLinkAllowed( "admin/schichtplan.php") === TRUE ) - { - echo "

". Get_Text("pub_schichtplan_colision"). "

"; - for( $i=0; $i". - mysql_result($ErgSonder, $i, "DateS"). - " '". mysql_result($ErgSonder, $i, "Man")."' (RID $raum) (00-24)". - "
\n\t\t"; - } - } - } - elseif( (mysql_num_rows( $ErgSonder) == 1) ) - { - $Spalten[0].= "\t\t\n". - "\t\t\t

↑↑↑

". - Ausgabe_Feld_Inhalt( mysql_result($ErgSonder, 0, "SID"), - mysql_result($ErgSonder, 0, "Man") ). - "\t\t\t

↓↓↓

". - "\n\t\t\n"; - return; - } - - $ZeitZeiger = 0; + global $Spalten, $ausdatum, $con, $debug, $GlobalZeileProStunde, $error_messages; + + ///////////////////////////////////////////////////////////// + // beginnt die erste schicht vor dem heutigen tag und geht darüber hinaus + ///////////////////////////////////////////////////////////// + $SQLSonder = "SELECT `SID`, `DateS`, `DateE` , `Len`, `Man` FROM `Shifts` ". + "WHERE ((`RID` = '$raum') AND (`DateE` > '$ausdatum 23:59:59') AND ". + "(`DateS` < '$ausdatum 00:00:00') ) ORDER BY `DateS`;"; + $ErgSonder = mysql_query($SQLSonder, $con); + if( (mysql_num_rows( $ErgSonder) > 1) ) + { + if( funktion_isLinkAllowed( "admin/schichtplan.php") === TRUE ) + { + echo "

". Get_Text("pub_schichtplan_colision"). "

"; + for( $i=0; $i". + mysql_result($ErgSonder, $i, "DateS"). + " '". mysql_result($ErgSonder, $i, "Man")."' (RID $raum) (00-24)". + "
\n\t\t"; + } + } + } + elseif( (mysql_num_rows( $ErgSonder) == 1) ) + { + $Spalten[0].= "\t\t\n". + "\t\t\t

↑↑↑

". + Ausgabe_Feld_Inhalt( mysql_result($ErgSonder, 0, "SID"), + mysql_result($ErgSonder, 0, "Man") ). + "\t\t\t

↓↓↓

". + "\n\t\t\n"; + return; + } + + $ZeitZeiger = 0; - ///////////////////////////////////////////////////////////// - // beginnt die erste schicht vor dem heutigen tag? - ///////////////////////////////////////////////////////////// - $SQLSonder = "SELECT `SID`, `DateS`, `DateE` , `Len`, `Man` FROM `Shifts` ". - "WHERE ((`RID` = '$raum') AND (`DateE` > '$ausdatum 00:00:00') AND ". - "(`DateS` < '$ausdatum 00:00:00') ) ORDER BY `DateS`;"; - $ErgSonder = mysql_query($SQLSonder, $con); - if( (mysql_num_rows( $ErgSonder) > 1) ) - { - if( funktion_isLinkAllowed( "admin/schichtplan.php") === TRUE ) - { - echo "

". Get_Text("pub_schichtplan_colision"). "

"; - for( $i=0; $i". - mysql_result($ErgSonder, $i, "DateS"). - " '". mysql_result($ErgSonder, $i, "Man")."' (RID $raum) (00-xx)". - "
\n\t\t"; - } - } - } - elseif( (mysql_num_rows( $ErgSonder) == 1) ) - { - $ZeitZeiger = substr( mysql_result($ErgSonder, 0, "DateE"), 11, 2 )+ - (substr( mysql_result($ErgSonder, 0, "DateE"), 14, 2 ) / 60); - $Spalten[0].= "\t\t\n". - "\t\t\t

↑↑↑

". - Ausgabe_Feld_Inhalt( mysql_result($ErgSonder, 0, "SID"), - mysql_result($ErgSonder, 0, "Man") ). - "\n\t\t\n"; - } - - ///////////////////////////////////////////////////////////// - // gibt die schichten für den tag aus - ///////////////////////////////////////////////////////////// - $SQL = "SELECT `SID`, `DateS`, `Len`, `Man` FROM `Shifts` ". - "WHERE ((`RID` = '$raum') and ". - "(`DateS` >= '$ausdatum $ZeitZeiger:00:00') and ". - "(`DateS` like '$ausdatum%')) ORDER BY `DateS`;"; - $Erg = mysql_query($SQL, $con); - for( $i = 0; $i < mysql_num_rows($Erg); ++$i ) - { - $ZeitPos = substr( mysql_result($Erg, $i, "DateS"), 11, 2 )+ - (substr( mysql_result($Erg, $i, "DateS"), 14, 2 ) / 60); - $len = mysql_result($Erg, $i, "Len"); + ///////////////////////////////////////////////////////////// + // beginnt die erste schicht vor dem heutigen tag? + ///////////////////////////////////////////////////////////// + $SQLSonder = "SELECT `SID`, `DateS`, `DateE` , `Len`, `Man` FROM `Shifts` ". + "WHERE ((`RID` = '$raum') AND (`DateE` > '$ausdatum 00:00:00') AND ". + "(`DateS` < '$ausdatum 00:00:00') ) ORDER BY `DateS`;"; + $ErgSonder = mysql_query($SQLSonder, $con); + if( (mysql_num_rows( $ErgSonder) > 1) ) + { + if( funktion_isLinkAllowed( "admin/schichtplan.php") === TRUE ) + { + echo "

". Get_Text("pub_schichtplan_colision"). "

"; + for( $i=0; $i". + mysql_result($ErgSonder, $i, "DateS"). + " '". mysql_result($ErgSonder, $i, "Man")."' (RID $raum) (00-xx)". + "
\n\t\t"; + } + } + } + elseif( (mysql_num_rows( $ErgSonder) == 1) ) + { + $ZeitZeiger = substr( mysql_result($ErgSonder, 0, "DateE"), 11, 2 )+ + (substr( mysql_result($ErgSonder, 0, "DateE"), 14, 2 ) / 60); + $Spalten[0].= "\t\t\n". + "\t\t\t

↑↑↑

". + Ausgabe_Feld_Inhalt( mysql_result($ErgSonder, 0, "SID"), + mysql_result($ErgSonder, 0, "Man") ). + "\n\t\t\n"; + } + + ///////////////////////////////////////////////////////////// + // gibt die schichten für den tag aus + ///////////////////////////////////////////////////////////// + $SQL = "SELECT `SID`, `DateS`, `Len`, `Man` FROM `Shifts` ". + "WHERE ((`RID` = '$raum') and ". + "(`DateS` >= '$ausdatum $ZeitZeiger:00:00') and ". + "(`DateS` like '$ausdatum%')) ORDER BY `DateS`;"; + $Erg = mysql_query($SQL, $con); + for( $i = 0; $i < mysql_num_rows($Erg); ++$i ) + { + $ZeitPos = substr( mysql_result($Erg, $i, "DateS"), 11, 2 )+ + (substr( mysql_result($Erg, $i, "DateS"), 14, 2 ) / 60); + $len = mysql_result($Erg, $i, "Len"); - if( $len <= 0) - array_push( $error_messages, "Error in shift denition SID=". mysql_result($Erg, $i, "SID"). " Len=$len"); - - if( $ZeitZeiger < $ZeitPos ) - { - $Spalten[$ZeitZeiger * $GlobalZeileProStunde].= - "\t\t \n"; + if( $len <= 0) + array_push( $error_messages, "Error in shift denition SID=". mysql_result($Erg, $i, "SID"). " Len=$len"); + + if( $ZeitZeiger < $ZeitPos ) + { + $Spalten[$ZeitZeiger * $GlobalZeileProStunde].= + "\t\t \n"; - $ZeitZeiger += $ZeitPos - $ZeitZeiger; - } - if($ZeitZeiger == $ZeitPos ) - { - //sonderfall wenn die schicht über dei 24 stunden hinaus geht - // (eintrag abkürzen, pfeiel ausgeben) - $Spalten[$ZeitZeiger * $GlobalZeileProStunde].= - "\t\t\n". - "\t\t\t". - Ausgabe_Feld_Inhalt( mysql_result($Erg, $i, "SID"), - mysql_result($Erg, $i, "Man") ). - (( ($ZeitZeiger+$len) > 24)? "\t\t\t

↓↓↓

" : ""). - "\n\t\t\n"; - $ZeitZeiger += $len; - } - else - { - echo "

". Get_Text("pub_schichtplan_colision"). "

"; - echo "". - mysql_result($Erg, $i, "DateS"). - " '". mysql_result($Erg, $i, "Man"). "' ". - " (". mysql_result($Erg, $i, "SID"). " R$raum) (xx-xx)

"; - } - } - if( $ZeitZeiger < 24 ) - $Spalten[($ZeitZeiger * $GlobalZeileProStunde)].= - "\t\t \n"; + $ZeitZeiger += $ZeitPos - $ZeitZeiger; + } + if($ZeitZeiger == $ZeitPos ) + { + //sonderfall wenn die schicht über dei 24 stunden hinaus geht + // (eintrag abkürzen, pfeiel ausgeben) + $Spalten[$ZeitZeiger * $GlobalZeileProStunde].= + "\t\t\n". + "\t\t\t". + Ausgabe_Feld_Inhalt( mysql_result($Erg, $i, "SID"), + mysql_result($Erg, $i, "Man") ). + (( ($ZeitZeiger+$len) > 24)? "\t\t\t

↓↓↓

" : ""). + "\n\t\t\n"; + $ZeitZeiger += $len; + } + else + { + echo "

". Get_Text("pub_schichtplan_colision"). "

"; + echo "". + mysql_result($Erg, $i, "DateS"). + " '". mysql_result($Erg, $i, "Man"). "' ". + " (". mysql_result($Erg, $i, "SID"). " R$raum) (xx-xx)

"; + } + } + if( $ZeitZeiger < 24 ) + $Spalten[($ZeitZeiger * $GlobalZeileProStunde)].= + "\t\t \n"; } // function CreateRoomShifts /*####################################################### -# Ausgabe der freien schichten # +# Ausgabe der freien schichten # #######################################################*/ function showEmptyShifts( ) { - global $con, $DEBUG, $RoomID, $gmdateOffset; + global $con, $debug, $RoomID, $gmdateOffset; - echo "\n"; - echo "\n"; - echo "\t\n"; - echo "\t\n"; - echo "\t\n"; - echo "\t\n"; - echo "\n"; - - $sql = "SELECT `SID`, `DateS`, `Man`, `RID` FROM `Shifts` ". - "WHERE (`Shifts`.`DateS`>='". gmdate("Y-m-d H:i:s", time()+$gmdateOffset). "') ". - "ORDER BY `DateS`, `RID`;"; - $Erg = mysql_query($sql, $con); + echo "
". Get_Text("inc_schicht_date"). "". Get_Text("inc_schicht_time"). "". Get_Text("inc_schicht_room"). "". Get_Text("inc_schicht_commend"). "
\n"; + echo "\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\t\n"; + echo "\n"; + + $sql = "SELECT `SID`, `DateS`, `Man`, `RID` FROM `Shifts` ". + "WHERE (`Shifts`.`DateS`>='". gmdate("Y-m-d H:i:s", time()+$gmdateOffset). "') ". + "ORDER BY `DateS`, `RID`;"; + $Erg = mysql_query($sql, $con); - $angezeigt = 0; - for ($i=0; ($i0) - { - $angezeigt++; - echo "\n"; - echo "\t\n"; - echo "\t\n"; - echo "\t\n"; - echo "\t\n"; - echo "\n"; - } - } - - echo "
". Get_Text("inc_schicht_date"). "". Get_Text("inc_schicht_time"). "". Get_Text("inc_schicht_room"). "". Get_Text("inc_schicht_commend"). "
". substr(mysql_result( $Erg, $i, "DateS"), 0, 10). "". substr(mysql_result( $Erg, $i, "DateS"), 11). "". $RoomID[mysql_result( $Erg, $i, "RID")]. "". - ausgabe_Feld_Inhalt( mysql_result( $Erg, $i, "SID"), mysql_result( $Erg, $i, "Man")). - "
\n"; - + $angezeigt = 0; + for ($i=0; ($i0) + { + $angezeigt++; + echo "\n"; + echo "\t". substr(mysql_result( $Erg, $i, "DateS"), 0, 10). "\n"; + echo "\t". substr(mysql_result( $Erg, $i, "DateS"), 11). "\n"; + echo "\t". $RoomID[mysql_result( $Erg, $i, "RID")]. "\n"; + echo "\t". + ausgabe_Feld_Inhalt( mysql_result( $Erg, $i, "SID"), mysql_result( $Erg, $i, "Man")). + "\n"; + echo "\n"; + } + } + + echo "\n"; + } //function showEmptyShifts - + /*####################################################### -# Gibt die anzahl der Schichten im Raum zurück # +# Gibt die anzahl der Schichten im Raum zurück # #######################################################*/ function SummRoomShifts( $raum ) { - global $ausdatum, $con, $DEBUG, $GlobalZeileProStunde; - - $SQLSonder = "SELECT `SID`, `DateS`, `Len`, `Man` FROM `Shifts` ". - "WHERE ((`RID` = '$raum') AND (`DateE` >= '$ausdatum 00:00:00') AND ". - "(`DateS` <= '$ausdatum 23:59:59') ) ORDER BY `DateS`;"; + global $ausdatum, $con, $debug, $GlobalZeileProStunde; + + $SQLSonder = "SELECT `SID`, `DateS`, `Len`, `Man` FROM `Shifts` ". + "WHERE ((`RID` = '$raum') AND (`DateE` >= '$ausdatum 00:00:00') AND ". + "(`DateS` <= '$ausdatum 23:59:59') ) ORDER BY `DateS`;"; - $ErgSonder = mysql_query($SQLSonder, $con); - - return mysql_num_rows($ErgSonder); + $ErgSonder = mysql_query($SQLSonder, $con); + + return mysql_num_rows($ErgSonder); } ?> -- cgit v1.2.3-54-g00ecf From 841bf6a1ca80c14e2ff0ff60a6cb7794527a7ddf Mon Sep 17 00:00:00 2001 From: Moritz helios Rudert Date: Wed, 1 Jun 2011 19:42:57 +0200 Subject: i love this system --- config/.gitignore | 1 + config/config_MessegeServer.php | 7 ---- includes/UserCVS.php | 4 +-- includes/funktion_db.php | 6 ++-- includes/funktion_db_list.php | 2 +- includes/funktion_menu.php | 8 ++--- includes/funktion_schichtplan.php | 60 ++++++++++++++++---------------- includes/funktion_schichtplan_beamer.php | 24 ++++++------- includes/funktion_xml_room.php | 8 ++--- includes/funktion_xml_schudle.php | 40 ++++++++++----------- includes/header.php | 8 ++--- www-ssl/bootstrap.php | 2 -- 12 files changed, 79 insertions(+), 91 deletions(-) delete mode 100644 config/config_MessegeServer.php (limited to 'includes/funktion_schichtplan.php') diff --git a/config/.gitignore b/config/.gitignore index a99da95f..cb667ea2 100644 --- a/config/.gitignore +++ b/config/.gitignore @@ -3,3 +3,4 @@ config_jabber.php config_modem.php config.php config_IAX.php +config_MessegeServer.php diff --git a/config/config_MessegeServer.php b/config/config_MessegeServer.php deleted file mode 100644 index ce7c7c3a..00000000 --- a/config/config_MessegeServer.php +++ /dev/null @@ -1,7 +0,0 @@ - diff --git a/includes/UserCVS.php b/includes/UserCVS.php index c062106f..98a4fec7 100644 --- a/includes/UserCVS.php +++ b/includes/UserCVS.php @@ -20,8 +20,8 @@ } // pagename ermitteln - //$Page["Name"] = basename($_SERVER['PHP_SELF']); - $Page["Name"] = str_replace($ENGEL_ROOT, '', $_SERVER['PHP_SELF']); + $Page["Name"] = basename($_SERVER['PHP_SELF']); +// $Page["Name"] = str_replace($ENGEL_ROOT, '', $_SERVER['PHP_SELF']); //recht fuer diese seite auslesen if(isset($_SESSION['CVS'][$Page["Name"]])) diff --git a/includes/funktion_db.php b/includes/funktion_db.php index 160a9c59..ffd7d6a2 100644 --- a/includes/funktion_db.php +++ b/includes/funktion_db.php @@ -48,7 +48,7 @@ $Gefunden = false; $Diff = "\n\n"; - $Diff .= "\n\t\n\t\n\t\n"; + $Diff .= "\n\n\n\n"; $Diff .= "\n"; foreach($Daten1 as $DataKey => $Data1) { @@ -58,12 +58,12 @@ foreach($Data1 as $key => $value) if( $value != $Data2[$key]) { $Gefunden = true; - $Diff .= "\n\t\n\t\n\t"; + $Diff .= "\n\n\n"; } } else foreach($Data1 as $key => $value) { $Gefunden = true; - $Diff .= "\n\t\n\t\n\t"; + $Diff .= "\n\n\n"; } } diff --git a/includes/funktion_db_list.php b/includes/funktion_db_list.php index 1131ffd3..44e3d865 100644 --- a/includes/funktion_db_list.php +++ b/includes/funktion_db_list.php @@ -38,7 +38,7 @@ function funktion_db_element_list_2row( $TopicName, $SQL) echo "
Feldnameold Valuenew Value
Feldnameold Valuenew Value
$key$value" . $Data2[$key] . "\n
$key$value" . $Data2[$key] . "\n
$key$value\n
$key$value\n
\n"; echo ""; -# echo "\t\n"; +# echo "\n"; $Erg = mysql_query($SQL, $con); echo mysql_error($con); diff --git a/includes/funktion_menu.php b/includes/funktion_menu.php index e62ff37c..0a324758 100644 --- a/includes/funktion_menu.php +++ b/includes/funktion_menu.php @@ -1,7 +1,5 @@ $TempName\n"; + $Text .= "
  • $TempName
  • \n"; $Gefunden = true; } } elseif ($debug) { $Gefunden = true; - $Text .= "\t\t\t
  • $TempName ($Key)
  • \n"; + $Text .= "
  • $TempName ($Key)
  • \n"; } } if ($Gefunden) diff --git a/includes/funktion_schichtplan.php b/includes/funktion_schichtplan.php index afa79144..6d6c3553 100644 --- a/includes/funktion_schichtplan.php +++ b/includes/funktion_schichtplan.php @@ -20,7 +20,7 @@ function ausgabe_Feld_Inhalt( $SID, $Man ) /////////////////////////////////////////////////////////////////// $Spalten.=funktion_isLinkAllowed_addLink_OrEmpty( "admin/schichtplan.php?action=change&SID=$SID", - "edit
    \n\t\t"); + "edit
    \n"); /////////////////////////////////////////////////////////////////// // Ausgabe des Schischtnamens @@ -96,9 +96,9 @@ function ausgabe_Feld_Inhalt( $SID, $Man ) if( count($TempValue["Engel"]) > 0 ) { if( count($TempValue["Engel"]) == 1 ) - $Spalten.= Get_Text("inc_schicht_ist"). ":
    \n\t\t"; + $Spalten.= Get_Text("inc_schicht_ist"). ":
    \n"; else - $Spalten.= Get_Text("inc_schicht_sind"). ":
    \n\t\t"; + $Spalten.= Get_Text("inc_schicht_sind"). ":
    \n"; foreach( $TempValue["Engel"] as $TempEngelEntry=> $TempEngelID ) { @@ -123,7 +123,7 @@ function ausgabe_Feld_Inhalt( $SID, $Man ) $Spalten.= "  ". $TempText. ( ($_GET["Icon"]==1) ? DisplayAvatar( $TempEngelID): ""). - "
    \n\t\t"; + "
    \n"; } @@ -145,7 +145,7 @@ function ausgabe_Feld_Inhalt( $SID, $Man ) if( $_SESSION['CVS'][ $TID2Name[$TempValue["TID"]] ] == "Y") if( $TempValue["free"] > 0 ) { - $Spalten.= "
    \n\t\t  "; $Spalten.= $TempValue["free"]; if( $TempValue["free"] != 1 ) @@ -164,10 +164,10 @@ function ausgabe_Feld_Inhalt( $SID, $Man ) { if( isset($TempValue["free"])) if( $TempValue["free"] > 0 ) - $Spalten.= "
    \n\t\t  

    Fehlen noch: ". + $Spalten.= "
    \n  

    Fehlen noch: ". $TempValue["free"]. "

    "; } - $Spalten.= "
    \n\t\t"; + $Spalten.= "
    \n"; } // FOREACH return $Spalten; @@ -214,18 +214,18 @@ function CreateRoomShifts( $raum ) mysql_result($ErgSonder, $i, "SID"). "\">". mysql_result($ErgSonder, $i, "DateS"). " '". mysql_result($ErgSonder, $i, "Man")."' (RID $raum) (00-24)". - "
    \n\t\t"; + "
    \n"; } } } elseif( (mysql_num_rows( $ErgSonder) == 1) ) { - $Spalten[0].= "\t\t

    \n"; + "

    ↓↓↓

    ". + "\n\n"; return; } @@ -249,7 +249,7 @@ function CreateRoomShifts( $raum ) mysql_result($ErgSonder, $i, "SID"). "\">". mysql_result($ErgSonder, $i, "DateS"). " '". mysql_result($ErgSonder, $i, "Man")."' (RID $raum) (00-xx)". - "
    \n\t\t"; + "
    \n"; } } } @@ -257,11 +257,11 @@ function CreateRoomShifts( $raum ) { $ZeitZeiger = substr( mysql_result($ErgSonder, 0, "DateE"), 11, 2 )+ (substr( mysql_result($ErgSonder, 0, "DateE"), 14, 2 ) / 60); - $Spalten[0].= "\t\t\n"; + "\n\n"; } ///////////////////////////////////////////////////////////// @@ -284,7 +284,7 @@ function CreateRoomShifts( $raum ) if( $ZeitZeiger < $ZeitPos ) { $Spalten[$ZeitZeiger * $GlobalZeileProStunde].= - "\t\t\n"; + "\n"; $ZeitZeiger += $ZeitPos - $ZeitZeiger; } @@ -293,14 +293,14 @@ function CreateRoomShifts( $raum ) //sonderfall wenn die schicht über dei 24 stunden hinaus geht // (eintrag abkürzen, pfeiel ausgeben) $Spalten[$ZeitZeiger * $GlobalZeileProStunde].= - "\t\t\n"; + (( ($ZeitZeiger+$len) > 24)? "

    ↓↓↓

    " : ""). + "\n\n"; $ZeitZeiger += $len; } else @@ -315,7 +315,7 @@ function CreateRoomShifts( $raum ) } if( $ZeitZeiger < 24 ) $Spalten[($ZeitZeiger * $GlobalZeileProStunde)].= - "\t\t\n"; } // function CreateRoomShifts @@ -330,10 +330,10 @@ function showEmptyShifts( ) echo "
    $TopicName

    $TopicName

    $TopicName

    \n". - "\t\t\t

    ↑↑↑

    ". + $Spalten[0].= "
    \n". + "

    ↑↑↑

    ". Ausgabe_Feld_Inhalt( mysql_result($ErgSonder, 0, "SID"), mysql_result($ErgSonder, 0, "Man") ). - "\t\t\t

    ↓↓↓

    ". - "\n\t\t
    \n". - "\t\t\t

    ↑↑↑

    ". + $Spalten[0].= "
    \n". + "

    ↑↑↑

    ". Ausgabe_Feld_Inhalt( mysql_result($ErgSonder, 0, "SID"), mysql_result($ErgSonder, 0, "Man") ). - "\n\t\t
      \n". - "\t\t\t". + "". Ausgabe_Feld_Inhalt( mysql_result($Erg, $i, "SID"), mysql_result($Erg, $i, "Man") ). - (( ($ZeitZeiger+$len) > 24)? "\t\t\t

    ↓↓↓

    " : ""). - "\n\t\t
     
    \n"; echo "\n"; - echo "\t\n"; - echo "\t\n"; - echo "\t\n"; - echo "\t\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; $sql = "SELECT `SID`, `DateS`, `Man`, `RID` FROM `Shifts` ". @@ -355,10 +355,10 @@ function showEmptyShifts( ) { $angezeigt++; echo "\n"; - echo "\t\n"; - echo "\t\n"; - echo "\t\n"; - echo "\t\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; diff --git a/includes/funktion_schichtplan_beamer.php b/includes/funktion_schichtplan_beamer.php index 177b6cb3..85c5ffe8 100644 --- a/includes/funktion_schichtplan_beamer.php +++ b/includes/funktion_schichtplan_beamer.php @@ -49,10 +49,10 @@ function ausgabe_Feld_Inhalt( $SID, $Man ) $Out.= "
    ". Get_Text("inc_schicht_date"). "". Get_Text("inc_schicht_time"). "". Get_Text("inc_schicht_room"). "". Get_Text("inc_schicht_commend"). "". Get_Text("inc_schicht_date"). "". Get_Text("inc_schicht_time"). "". Get_Text("inc_schicht_room"). "". Get_Text("inc_schicht_commend"). "
    ". substr(mysql_result( $Erg, $i, "DateS"), 0, 10). "". substr(mysql_result( $Erg, $i, "DateS"), 11). "". $RoomID[mysql_result( $Erg, $i, "RID")]. "". + echo "". substr(mysql_result( $Erg, $i, "DateS"), 0, 10). "". substr(mysql_result( $Erg, $i, "DateS"), 11). "". $RoomID[mysql_result( $Erg, $i, "RID")]. "". ausgabe_Feld_Inhalt( mysql_result( $Erg, $i, "SID"), mysql_result( $Erg, $i, "Man")). "
    \n"; - $Out.= "\t\t\t\n". - "\t\t\t\t\n". - "\t\t\t\t\n". - "\t\t\t\t\n"; + $Out.= "\n". + "\n". + "\n". + "\n"; /////////////////////////////////////////////////////////////////// // SQL abfrage für die benötigten schichten @@ -94,10 +94,10 @@ function ausgabe_Feld_Inhalt( $SID, $Man ) if( isset($Temp) && count($Temp) ) foreach( $Temp as $TempEntry => $TempValue ) { - $Out.= "\t\t\t\n"; + $Out.= "\n"; // ausgabe EngelType - $Out.= "\t\t\t\t\n"; - $Out.= "\t\t\t\t\n"; - $Out.= "\t\t\t\t\n"; - $Out.= "\t\t\t\n"; + $Out.= "\n"; } // FOREACH - $Out.= "\t\t\t
    ". $EngelTypeID[ $TempValue["TID"] ]; + $Out.= "". $EngelTypeID[ $TempValue["TID"] ]; // ausgabe Eingetragener Engel if( count($TempValue["Engel"]) > 0 ) @@ -107,7 +107,7 @@ function ausgabe_Feld_Inhalt( $SID, $Man ) else $Out.= " ". trim(Get_Text("inc_schicht_sind")). ":"; $Out.= ""; + $Out.= ""; foreach( $TempValue["Engel"] as $TempEngelEntry=> $TempEngelID ) $Out.= UID2Nick( $TempEngelID ). ", "; @@ -117,7 +117,7 @@ function ausgabe_Feld_Inhalt( $SID, $Man ) else { $Out.= ":\n"; + $Out.= "\n"; } @@ -133,11 +133,11 @@ function ausgabe_Feld_Inhalt( $SID, $Man ) } } $Out.= "
    \n\t"; + $Out.= "\n"; return $Out; } // function Ausgabe_Feld_Inhalt @@ -157,7 +157,7 @@ function ausgabe_Zeile( $RID, $Time, &$AnzahlEintraege ) " (`DateS` like '". gmdate("Y-m-d H", $Time). "%')) ) ORDER BY `DateS`;"; $ErgRoom = mysql_query($SQL, $con); - $Out= "\t"; + $Out= ""; if( mysql_num_rows( $ErgRoom)>0 ) for( $i=1; $i<=mysql_num_rows( $ErgRoom); $i++ ) { @@ -166,7 +166,7 @@ function ausgabe_Zeile( $RID, $Time, &$AnzahlEintraege ) mysql_result( $ErgRoom, $i-1, "Man")); if( (mysql_num_rows( $ErgRoom) > 1) && !($i==mysql_num_rows( $ErgRoom)) ) $Out.= "
    "; -// $Out.= "
    \n\t\t\t\t"; +// $Out.= "
    \n"; } else diff --git a/includes/funktion_xml_room.php b/includes/funktion_xml_room.php index cb91af6f..f31d5661 100644 --- a/includes/funktion_xml_room.php +++ b/includes/funktion_xml_room.php @@ -43,11 +43,11 @@ CreateRoomArrays(); } else { echo "
    \n"; - echo "\t\n"; - echo "\t\n"; - echo "\t\n"; + echo "\n"; + echo "\n"; + echo "\n"; $DS_KO++; - echo "\t\n"; + echo "\n"; echo "
    \n"; echo "
    "; } diff --git a/includes/funktion_xml_schudle.php b/includes/funktion_xml_schudle.php index 41efce04..f73f11ad 100644 --- a/includes/funktion_xml_schudle.php +++ b/includes/funktion_xml_schudle.php @@ -134,7 +134,7 @@ function SaveSchedule() { $EngelMin = $EngelNeeded_NotEmpty; echo "---> WARING ". $EngelNeeded_NotEmpty. - " shift is used, can't del ". TID2Type($EngelTypeID). " shifts\t"; + " shift is used, can't del ". TID2Type($EngelTypeID). " shifts"; } echo "---->Delete empty Shifts for engeltype: ". TID2Type($EngelTypeID). " ". @@ -192,7 +192,7 @@ foreach($XMLmain->sub as $EventKey => $Event) if( $Event->name == "VEVENT") { echo "
    \n"; - echo "\t\n"; + echo "\n"; $PSIDXML = getXMLsubData( $Event, "UID"); $DateXML = @@ -236,17 +236,17 @@ foreach($XMLmain->sub as $EventKey => $Event) else $SIDDB = $PSIDDB = $TimeDB = $LenDB = $RIDDB = $ManDB = $URLDB = ""; - echo "\t\n"; - echo "\t\n\t\t". + echo "\n"; + echo "\n". "\n"; - echo "\t\n\t\t". + echo "\n". "\n"; - echo "\t\n\t\t". + echo "\n". "\n"; - echo "\t\n\t\t". + echo "\n". "\n"; - echo "\t\n"; - echo "\t\n"; + echo "\n"; + echo "\n"; if( !( $PSIDXML==$PSIDDB && $DateXML==$TimeDB && $RIDXML==$RIDDB && @@ -254,15 +254,15 @@ foreach($XMLmain->sub as $EventKey => $Event) $ManXML==$ManDB && $URLXML==$URLDB) ) { - echo "\t\n"; + echo "\n"; $DS_KO++; } else { - echo "\t". funktion_isLinkAllowed_addLink_OrLinkText("admin/schichtplan.php?action=change&SID=".$SIDDB, "edit"). "\n"; + echo "". funktion_isLinkAllowed_addLink_OrLinkText("admin/schichtplan.php?action=change&SID=".$SIDDB, "edit"). "\n"; $DS_OK++; } - echo "\t\n"; + echo "\n"; echo "
    \n"; $Where.= " OR `PSID`='$PSIDXML'"; } @@ -281,7 +281,7 @@ echo mysql_error($con); if(mysql_num_rows($Erg2)>0 && $EnableSchudleDB ) for( $i=0; $i\n"; + echo "\n"; $SID = mysql_result($Erg2, $i, "SID"); $Time = mysql_result($Erg2, $i, "DateS"); $Len = mysql_result($Erg2, $i, "Len"); @@ -290,18 +290,18 @@ if(mysql_num_rows($Erg2)>0 && $EnableSchudleDB ) else $RID = "RID.". mysql_result($Erg2, $i, "RID"); $Man = mysql_result($Erg2, $i, "Man"); - echo "\t\n"; - echo "\t\n\t\t". + echo "\n"; + echo "\n". "\n"; - echo "\t\n\t\t". + echo "\n". "\n"; - echo "\t\n\t\t". + echo "\n". "\n"; - echo "\t\n\t\t". + echo "\n". "\n"; - echo "\t". funktion_isLinkAllowed_addLink_OrLinkText( "admin/schichtplan.php?action=change&SID=".$SID, "edit"). + echo "". funktion_isLinkAllowed_addLink_OrLinkText( "admin/schichtplan.php?action=change&SID=".$SID, "edit"). "\n"; - echo "\t\n"; + echo "\n"; } echo ""; diff --git a/includes/header.php b/includes/header.php index d4f212d9..9cd2e51d 100644 --- a/includes/header.php +++ b/includes/header.php @@ -3,7 +3,7 @@ include "header_start.php"; echo "\n"; ?> - + <?php echo $title; ?> - Engelsystem @@ -22,8 +22,6 @@ echo "\n"; \n"; if (isset ($_SESSION['oldurl'])) - echo "" . Get_Text("back") . " geht's zurück...\n"; + echo "hier gehts zurück...\n"; else - echo "" . Get_Text("back") . " geht's zurück...\n"; + echo "hier geht's zurück...\n"; exit (); } diff --git a/www-ssl/bootstrap.php b/www-ssl/bootstrap.php index 3189c89a..40a32578 100644 --- a/www-ssl/bootstrap.php +++ b/www-ssl/bootstrap.php @@ -1,6 +1,4 @@ Date: Thu, 2 Jun 2011 16:56:45 +0200 Subject: admin rooms --- includes/funktion_schichtplan.php | 389 ----------------------------- includes/funktion_schichtplan_Tage.php | 101 -------- includes/funktion_schichtplan_aray.php | 38 --- includes/pages/admin_rooms.php | 148 +++++++++++ includes/pages/user_news.php | 54 ++-- includes/sys_shift.php | 442 +++++++++++++++++++++++++++++++++ includes/sys_template.php | 8 + templates/admin_rooms_edit_form.html | 59 +++++ templates/admin_rooms_new_form.html | 46 ++++ www-ssl/css/base.css | 16 ++ www-ssl/index.php | 5 + 11 files changed, 751 insertions(+), 555 deletions(-) delete mode 100644 includes/funktion_schichtplan.php delete mode 100644 includes/funktion_schichtplan_Tage.php delete mode 100644 includes/funktion_schichtplan_aray.php create mode 100644 includes/pages/admin_rooms.php create mode 100644 includes/sys_shift.php create mode 100644 templates/admin_rooms_edit_form.html create mode 100644 templates/admin_rooms_new_form.html (limited to 'includes/funktion_schichtplan.php') diff --git a/includes/funktion_schichtplan.php b/includes/funktion_schichtplan.php deleted file mode 100644 index 6d6c3553..00000000 --- a/includes/funktion_schichtplan.php +++ /dev/null @@ -1,389 +0,0 @@ -\n"); - - /////////////////////////////////////////////////////////////////// - // Ausgabe des Schischtnamens - /////////////////////////////////////////////////////////////////// - $SQL = "SELECT `URL` FROM `Shifts` WHERE (`SID` = '$SID');"; - $Erg = mysql_query($SQL, $con); - if( mysql_result($Erg, 0, 0) != "") - $Spalten.="$Man:
    "; - else - $Spalten.="".$Man.":
    "; - - - /////////////////////////////////////////////////////////////////// - // 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; - $Temp_TID_old=-1; - for( $i = 0; $i < $Anzahl; $i++ ) - { - if( isset($Temp[$Feld]["TID"])) - $Temp_TID_old = $Temp[$Feld]["TID"]; - if( isset($Temp[$Feld]["UID"])) - $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 ) - { - if( isset($Temp[$Feld]["free"])) - $Temp[$Feld]["free"]++; - else - $Temp[$Feld]["free"]=1; - } - else - $Temp[$Feld]["Engel"][] = $Temp[$Feld]["UID"]; - } // FOR - - - /////////////////////////////////////////////////////////////////// - // Aus gabe der Schicht - /////////////////////////////////////////////////////////////////// - if( isset($Temp)) - if( count($Temp) ) - foreach( $Temp as $TempEntry => $TempValue ) - { - if( !isset($TempValue["free"])) - $TempValue["free"] = 0; - - // ausgabe EngelType - $Spalten.= $EngelTypeID[ $TempValue["TID"] ]. " "; - - // ausgabe Eingetragener Engel - if( isset($TempValue["Engel"])) - if( count($TempValue["Engel"]) > 0 ) - { - if( count($TempValue["Engel"]) == 1 ) - $Spalten.= Get_Text("inc_schicht_ist"). ":
    \n"; - else - $Spalten.= Get_Text("inc_schicht_sind"). ":
    \n"; - - foreach( $TempValue["Engel"] as $TempEngelEntry=> $TempEngelID ) - { - if( funktion_isLinkAllowed( "admin/user.php") === TRUE) - { - // add color, wenn Engel "Gekommen" - $TempText= - ((UIDgekommen( $TempEngelID ) == "1") - ? "" - : ""). - UID2Nick( $TempEngelID). ""; - } - else - { - $TempText = UID2Nick( $TempEngelID ); - } - - // add link to user - $TempText= funktion_isLinkAllowed_addLink_OrLinkText( - "admin/userChangeNormal.php?enterUID=$TempEngelID&Type=Normal", - $TempText); - - $Spalten.= "  ". $TempText. - ( ($_GET["Icon"]==1) ? DisplayAvatar( $TempEngelID): ""). - "
    \n"; - - - } - $Spalten = substr( $Spalten, 0, strlen($Spalten)-7 ); - } - - // ausgabe benötigter Engel - //////////////////////////// - //in vergangenheit - $SQLtime = "SELECT `DateE` FROM `Shifts` WHERE (`SID`='$SID' AND `DateE` >= '". - gmdate("Y-m-d H:i:s", time()+ $gmdateOffset). "')"; - $Ergtime = mysql_query($SQLtime, $con); - if( mysql_num_rows( $Ergtime) > 0) - { - //wenn keien rechte definiert sind - if( !isset($_SESSION['CVS'][ $TID2Name[$TempValue["TID"]] ])) - $_SESSION['CVS'][ $TID2Name[$TempValue["TID"]] ] = "Y"; - - if( $_SESSION['CVS'][ $TID2Name[$TempValue["TID"]] ] == "Y") - if( $TempValue["free"] > 0 ) - { - $Spalten.= "
    \n  "; - $Spalten.= $TempValue["free"]; - if( $TempValue["free"] != 1 ) - $Spalten.= Get_Text("inc_schicht_weitere"). - " ".Get_Text("inc_schicht_Engel"). - Get_Text("inc_schicht_wird"); - else - $Spalten.= Get_Text("inc_schicht_weiterer"). - " ".Get_Text("inc_schicht_Engel"). - Get_Text("inc_schicht_werden"); - $Spalten.= Get_Text("inc_schicht_noch_gesucht"); - $Spalten.= ""; - } - } - else - { - if( isset($TempValue["free"])) - if( $TempValue["free"] > 0 ) - $Spalten.= "
    \n  

    Fehlen noch: ". - $TempValue["free"]. "

    "; - } - $Spalten.= "
    \n"; - - } // FOREACH - return $Spalten; -} // function Ausgabe_Feld_Inhalt - - - -/*####################################################### -# gibt die engelschischten Druckergerecht aus # -#######################################################*/ -function Ausgabe_Feld_Inhalt_Druck($RID, $Man ) -{ -// gibt, nach übergabe der der SchichtID (SID) und der RaumBeschreibung, -// die eingetragenden und und offenden Schichteintäge zurück - - -} // function Ausgabe_Feld_Inhalt - - - - -/*####################################################### -# Ausgabe der Raum Spalten # -#######################################################*/ -function CreateRoomShifts( $raum ) -{ - global $Spalten, $ausdatum, $con, $debug, $GlobalZeileProStunde, $error_messages; - - ///////////////////////////////////////////////////////////// - // beginnt die erste schicht vor dem heutigen tag und geht darüber hinaus - ///////////////////////////////////////////////////////////// - $SQLSonder = "SELECT `SID`, `DateS`, `DateE` , `Len`, `Man` FROM `Shifts` ". - "WHERE ((`RID` = '$raum') AND (`DateE` > '$ausdatum 23:59:59') AND ". - "(`DateS` < '$ausdatum 00:00:00') ) ORDER BY `DateS`;"; - $ErgSonder = mysql_query($SQLSonder, $con); - if( (mysql_num_rows( $ErgSonder) > 1) ) - { - if( funktion_isLinkAllowed( "admin/schichtplan.php") === TRUE ) - { - echo "

    ". Get_Text("pub_schichtplan_colision"). "

    "; - for( $i=0; $i". - mysql_result($ErgSonder, $i, "DateS"). - " '". mysql_result($ErgSonder, $i, "Man")."' (RID $raum) (00-24)". - "
    \n"; - } - } - } - elseif( (mysql_num_rows( $ErgSonder) == 1) ) - { - $Spalten[0].= "\n". - "

    ↑↑↑

    ". - Ausgabe_Feld_Inhalt( mysql_result($ErgSonder, 0, "SID"), - mysql_result($ErgSonder, 0, "Man") ). - "

    ↓↓↓

    ". - "\n\n"; - return; - } - - $ZeitZeiger = 0; - - ///////////////////////////////////////////////////////////// - // beginnt die erste schicht vor dem heutigen tag? - ///////////////////////////////////////////////////////////// - $SQLSonder = "SELECT `SID`, `DateS`, `DateE` , `Len`, `Man` FROM `Shifts` ". - "WHERE ((`RID` = '$raum') AND (`DateE` > '$ausdatum 00:00:00') AND ". - "(`DateS` < '$ausdatum 00:00:00') ) ORDER BY `DateS`;"; - $ErgSonder = mysql_query($SQLSonder, $con); - if( (mysql_num_rows( $ErgSonder) > 1) ) - { - if( funktion_isLinkAllowed( "admin/schichtplan.php") === TRUE ) - { - echo "

    ". Get_Text("pub_schichtplan_colision"). "

    "; - for( $i=0; $i". - mysql_result($ErgSonder, $i, "DateS"). - " '". mysql_result($ErgSonder, $i, "Man")."' (RID $raum) (00-xx)". - "
    \n"; - } - } - } - elseif( (mysql_num_rows( $ErgSonder) == 1) ) - { - $ZeitZeiger = substr( mysql_result($ErgSonder, 0, "DateE"), 11, 2 )+ - (substr( mysql_result($ErgSonder, 0, "DateE"), 14, 2 ) / 60); - $Spalten[0].= "\n". - "

    ↑↑↑

    ". - Ausgabe_Feld_Inhalt( mysql_result($ErgSonder, 0, "SID"), - mysql_result($ErgSonder, 0, "Man") ). - "\n\n"; - } - - ///////////////////////////////////////////////////////////// - // gibt die schichten für den tag aus - ///////////////////////////////////////////////////////////// - $SQL = "SELECT `SID`, `DateS`, `Len`, `Man` FROM `Shifts` ". - "WHERE ((`RID` = '$raum') and ". - "(`DateS` >= '$ausdatum $ZeitZeiger:00:00') and ". - "(`DateS` like '$ausdatum%')) ORDER BY `DateS`;"; - $Erg = mysql_query($SQL, $con); - for( $i = 0; $i < mysql_num_rows($Erg); ++$i ) - { - $ZeitPos = substr( mysql_result($Erg, $i, "DateS"), 11, 2 )+ - (substr( mysql_result($Erg, $i, "DateS"), 14, 2 ) / 60); - $len = mysql_result($Erg, $i, "Len"); - - if( $len <= 0) - array_push( $error_messages, "Error in shift denition SID=". mysql_result($Erg, $i, "SID"). " Len=$len"); - - if( $ZeitZeiger < $ZeitPos ) - { - $Spalten[$ZeitZeiger * $GlobalZeileProStunde].= - " \n"; - - $ZeitZeiger += $ZeitPos - $ZeitZeiger; - } - if($ZeitZeiger == $ZeitPos ) - { - //sonderfall wenn die schicht über dei 24 stunden hinaus geht - // (eintrag abkürzen, pfeiel ausgeben) - $Spalten[$ZeitZeiger * $GlobalZeileProStunde].= - "\n". - "". - Ausgabe_Feld_Inhalt( mysql_result($Erg, $i, "SID"), - mysql_result($Erg, $i, "Man") ). - (( ($ZeitZeiger+$len) > 24)? "

    ↓↓↓

    " : ""). - "\n\n"; - $ZeitZeiger += $len; - } - else - { - echo "

    ". Get_Text("pub_schichtplan_colision"). "

    "; - echo "". - mysql_result($Erg, $i, "DateS"). - " '". mysql_result($Erg, $i, "Man"). "' ". - " (". mysql_result($Erg, $i, "SID"). " R$raum) (xx-xx)

    "; - } - } - if( $ZeitZeiger < 24 ) - $Spalten[($ZeitZeiger * $GlobalZeileProStunde)].= - " \n"; -} // function CreateRoomShifts - - -/*####################################################### -# Ausgabe der freien schichten # -#######################################################*/ -function showEmptyShifts( ) -{ - global $con, $debug, $RoomID, $gmdateOffset; - - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - $sql = "SELECT `SID`, `DateS`, `Man`, `RID` FROM `Shifts` ". - "WHERE (`Shifts`.`DateS`>='". gmdate("Y-m-d H:i:s", time()+$gmdateOffset). "') ". - "ORDER BY `DateS`, `RID`;"; - $Erg = mysql_query($sql, $con); - - $angezeigt = 0; - for ($i=0; ($i0) - { - $angezeigt++; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - } - } - - echo "
    ". Get_Text("inc_schicht_date"). "". Get_Text("inc_schicht_time"). "". Get_Text("inc_schicht_room"). "". Get_Text("inc_schicht_commend"). "
    ". substr(mysql_result( $Erg, $i, "DateS"), 0, 10). "". substr(mysql_result( $Erg, $i, "DateS"), 11). "". $RoomID[mysql_result( $Erg, $i, "RID")]. "". - ausgabe_Feld_Inhalt( mysql_result( $Erg, $i, "SID"), mysql_result( $Erg, $i, "Man")). - "
    \n"; - -} //function showEmptyShifts - - -/*####################################################### -# Gibt die anzahl der Schichten im Raum zurück # -#######################################################*/ -function SummRoomShifts( $raum ) -{ - global $ausdatum, $con, $debug, $GlobalZeileProStunde; - - $SQLSonder = "SELECT `SID`, `DateS`, `Len`, `Man` FROM `Shifts` ". - "WHERE ((`RID` = '$raum') AND (`DateE` >= '$ausdatum 00:00:00') AND ". - "(`DateS` <= '$ausdatum 23:59:59') ) ORDER BY `DateS`;"; - - $ErgSonder = mysql_query($SQLSonder, $con); - - return mysql_num_rows($ErgSonder); -} - -?> diff --git a/includes/funktion_schichtplan_Tage.php b/includes/funktion_schichtplan_Tage.php deleted file mode 100644 index 2c21a992..00000000 --- a/includes/funktion_schichtplan_Tage.php +++ /dev/null @@ -1,101 +0,0 @@ - $Mmax) { - $Tag = 1; - $Monat++; - } - - if($Monat > 12) { - $Monat = 1; - $Jahr++; - } - - $Tag = strlen( $Tag ) == 1 ? "0".$Tag : $Tag; - $Monat = strlen( $Monat ) == 1 ? "0".$Monat : $Monat; - - return ("$Jahr-$Monat-$Tag"); - } - } - - // suchen den ersten eintrags - $SQL = "SELECT `DateS` FROM `Shifts` ORDER BY `DateS` LIMIT 1"; - $Erg = mysql_query($SQL, $con); - - $Pos = 0; - - if(mysql_num_rows($Erg) > 0) { - do { - // Startdatum einlesen und link ausgeben - $DateS = substr(mysql_result($Erg, 0 , 0), 0,10); - $VeranstaltungsTage[$Pos++] = $DateS; - - // auslesen den endes und eventuelle weitere tage ausgeben - $SQL2 = "SELECT MAX(`DateE`) FROM `Shifts` WHERE ( (`DateS` like '$DateS%') AND NOT (`DateE` like '%00:00:00'))"; - $Erg2 = mysql_query($SQL2, $con); - $DateE = substr(mysql_result($Erg2, 0 , 0), 0,10); - - if(strlen($DateE) == 0) - $DateE = $DateS; - else - while( $DateS != $DateE) { - $DateS = DatumUm1TagErhoehen( $DateS); - $VeranstaltungsTage[$Pos++] = $DateS; - } - - // suchen den naesten eintrag - $SQL = "SELECT `DateS` FROM `Shifts` ". - "WHERE (`DateS` > '$DateE 23:59:59' ) ". - "ORDER BY `DateS` ". - "LIMIT 1"; - $Erg = mysql_query($SQL, $con); - } while( mysql_fetch_row($Erg) > 0); - } - - $VeranstaltungsTageMax = $Pos - 1; -?> diff --git a/includes/funktion_schichtplan_aray.php b/includes/funktion_schichtplan_aray.php deleted file mode 100644 index f9b04bd6..00000000 --- a/includes/funktion_schichtplan_aray.php +++ /dev/null @@ -1,38 +0,0 @@ - diff --git a/includes/pages/admin_rooms.php b/includes/pages/admin_rooms.php new file mode 100644 index 00000000..6695d6a9 --- /dev/null +++ b/includes/pages/admin_rooms.php @@ -0,0 +1,148 @@ +\nhier hast du die Möglichkeit, neue Räume für die Schichtpläne einzutragen " . + "oder vorhandene abzuändern:

    \n"; + + $html .= "Neuen Raum/Ort eintragen
    \n"; + + // Räume auflisten + if (count($rooms) > 0) { + $html .= ''; + + $html .= "
    \n"; + $html .= "\n"; + + // Tabellenüberschriften generieren + foreach ($rooms[0] as $attr => $tmp) + if ($attr == 'RID') + $html .= ''; + else + $html .= ''; + $html .= ''; + $html .= ''; + + foreach ($rooms as $i => $room) { + $html .= ''; + foreach ($room as $attr => $value) + if ($attr == 'RID') + $html .= ''; + else + $html .= ''; + $html .= ''; + $html .= ''; + } + + $html .= '
    Anzahl: ' . count($rooms) . '' . $attr . ' 
    ' . ($i +1) . '' . $value . 'Edit
    '; + } + } else { + switch ($_REQUEST["action"]) { + + case 'new' : + $html .= template_render('../templates/admin_rooms_new_form.html', array ( + 'link' => page_link_to("admin_rooms") + )); + break; + + case 'newsave' : + $name = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['Name'])); + $man = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['Man'])); + $from_pentabarf = preg_replace("/([^YN]{1,})/ui", '', strip_tags($_REQUEST['FromPentabarf'])); + $show = preg_replace("/([^YN]{1,})/ui", '', strip_tags($_REQUEST['Show'])); + $number = preg_replace("/([^0-9]{1,})/ui", '', strip_tags($_REQUEST['Number'])); + sql_query("INSERT INTO `Room` SET `Name`='" . sql_escape($name) . "', `Man`='" . sql_escape($man) . "', `FromPentabarf`='" . sql_escape($from_pentabarf) . "', `show`='" . sql_escape($show) . "', `Number`='" . sql_escape($number) . "'"); + header("Location: " . page_link_to("admin_rooms")); + break; + + case 'change' : + if (isset ($_REQUEST['RID']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['RID'])) + $rid = $_REQUEST['RID']; + else + return error("Incomplete call, missing Room ID."); + + $room = sql_select("SELECT * FROM `Room` WHERE `RID`=" . sql_escape($rid) . " LIMIT 1"); + if (count($room) > 0) { + list ($room) = $room; + $room_angel_types = sql_select("SELECT * FROM `AngelTypes` LEFT OUTER JOIN `RoomAngelTypes` ON (`AngelTypes`.`TID` = `RoomAngelTypes`.`angel_type_id` AND `RoomAngelTypes`.`room_id`=" . sql_escape($rid) . ") ORDER BY `AngelTypes`.`Name`"); + + $angel_types = ""; + foreach ($room_angel_types as $room_angel_type) { + if ($room_angel_type['count'] == "") + $room_angel_type['count'] = "0"; + $angel_types .= '' . $room_angel_type['Name'] . ''; + } + + $html .= template_render('../templates/admin_rooms_edit_form.html', array ( + 'link' => page_link_to("admin_rooms"), + 'room_id' => $rid, + 'name' => $room['Name'], + 'man' => $room['Man'], + 'number' => $room['Number'], + 'from_pentabarf_options' => html_options('FromPentabarf', array ( + 'Y' => 'Yes', + 'N' => 'No' + ), $room['FromPentabarf']), + 'show_options' => html_options('Show', array ( + 'Y' => 'Yes', + 'N' => 'No' + ), $room['show']), + 'angel_types' => $angel_types + )); + } else + return error("No Room found."); + break; + + case 'changesave' : + if (isset ($_REQUEST['RID']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['RID'])) + $rid = $_REQUEST['RID']; + else + return error("Incomplete call, missing Room ID."); + + $room = sql_select("SELECT * FROM `Room` WHERE `RID`=" . sql_escape($rid) . " LIMIT 1"); + if (count($room) > 0) { + list ($room) = $room; + $room_angel_types = sql_select("SELECT * FROM `AngelTypes` LEFT OUTER JOIN `RoomAngelTypes` ON (`AngelTypes`.`TID` = `RoomAngelTypes`.`angel_type_id` AND `RoomAngelTypes`.`room_id`=" . sql_escape($rid) . ") ORDER BY `AngelTypes`.`Name`"); + + $name = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['Name'])); + $man = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}]{1,})/ui", '', strip_tags($_REQUEST['Man'])); + $from_pentabarf = preg_replace("/([^YN]{1,})/ui", '', strip_tags($_REQUEST['FromPentabarf'])); + $show = preg_replace("/([^YN]{1,})/ui", '', strip_tags($_REQUEST['Show'])); + $number = preg_replace("/([^0-9]{1,})/ui", '', strip_tags($_REQUEST['Number'])); + sql_query("UPDATE `Room` SET `Name`='" . sql_escape($name) . "', `Man`='" . sql_escape($man) . "', `FromPentabarf`='" . sql_escape($from_pentabarf) . "', `show`='" . sql_escape($show) . "', `Number`='" . sql_escape($number) . "' WHERE `RID`=" . sql_escape($rid) . " LIMIT 1"); + sql_query("DELETE FROM `RoomAngelTypes` WHERE `room_id`=" . sql_escape($rid)); + foreach ($room_angel_types as $room_angel_type) { + if (isset ($_REQUEST['angel_type_' . $room_angel_type['TID']]) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['angel_type_' . $room_angel_type['TID']])) + $count = $_REQUEST['angel_type_' . $room_angel_type['TID']]; + else + $count = "0"; + sql_query("INSERT INTO `RoomAngelTypes` SET `room_id`=" . sql_escape($rid) . ", `angel_type_id`=" . sql_escape($room_angel_type['TID']) . ", `count`=" . sql_escape($count)); + } + header("Location: " . page_link_to("admin_rooms")); + } else + return error("No Room found."); + break; + + case 'delete' : + if (isset ($_REQUEST['RID']) && preg_match("/^[0-9]{1,11}$/", $_REQUEST['RID'])) + $rid = $_REQUEST['RID']; + else + return error("Incomplete call, missing Room ID."); + + if (sql_num_query("SELECT * FROM `Room` WHERE `RID`=" . sql_escape($rid) . " LIMIT 1") > 0) { + sql_query("DELETE FROM `Room` WHERE `RID`=" . sql_escape($rid) . " LIMIT 1"); + sql_query("DELETE FROM `RoomAngelTypes` WHERE `room_id`=" . sql_escape($rid) . " LIMIT 1"); + header("Location: " . page_link_to("admin_rooms")); + } else + return error("No Room found."); + break; + + } + } + return $html; +} +?> diff --git a/includes/pages/user_news.php b/includes/pages/user_news.php index 7012bb99..4295edb8 100644 --- a/includes/pages/user_news.php +++ b/includes/pages/user_news.php @@ -64,43 +64,43 @@ function user_news_output() { for ($i = 1; $i <= $dis_rows; $i++) { if (!((($i * $DISPLAY_NEWS) - $_GET["news_begin"]) == $DISPLAY_NEWS)) { - $html .= "$i  "; + $html .= '' . $i . '  '; } else { $html .= "$i  "; } } $html .= ' -

    -

    ' . Get_Text(6) . '

    -   - -
    - - - - - - - - - - - '; +

    +

    ' . Get_Text(6) . '

    +   + + + + +
    ' . Get_Text(7) . '
    ' . Get_Text(8) . '
    + + + + + + + + '; if (in_array('news_add_meeting', $privileges)) { $html .= ' - - - '; + + + '; } $html .= '
    ' . Get_Text(7) . '
    ' . Get_Text(8) . '
    ' . Get_Text(9) . '
    ' . Get_Text(9) . '
    -
    - -
    '; +
    + + '; return $html; } ?> \ No newline at end of file diff --git a/includes/sys_shift.php b/includes/sys_shift.php new file mode 100644 index 00000000..ff75465c --- /dev/null +++ b/includes/sys_shift.php @@ -0,0 +1,442 @@ + $r) { + $Room[$i] = array ( + 'RID' => $r['RID'], + 'Name' => $r['Name'] + ); + $RoomID[$r['RID']] = $r['Name']; + } + + // erstellt ein Array der Engeltypen + $engel_types = sql_select("SELECT `TID`, `Name` FROM `EngelType` ORDER BY `Name`"); + foreach ($engel_types as $engel_type) { + $EngelType[$i] = array ( + 'TID' => $engel_type['TID'], + 'Name' => $engel_type['Name'] . Get_Text("inc_schicht_engel") + ); + $EngelTypeID[$engel_type['TID']] = $engel_type['Name'] . Get_Text("inc_schicht_engel"); + $TID2Name[$engel_type['TID']] = $engel_type['Name']; + } + + // Erste Schicht suchen + $Pos = 0; + $first_shift = sql_select("SELECT `DateS` FROM `Shifts` ORDER BY `DateS` LIMIT 1"); + if (count($first_shift) > 0) { + do { + // Startdatum einlesen und link ausgeben + $DateS = substr($first_shift[0]['DateS'], 0, 10); + $VeranstaltungsTage[$Pos++] = $DateS; + + // auslesen den endes und eventuelle weitere tage ausgeben + $last_shift = sql_select("SELECT MAX(`DateE`) FROM `Shifts` WHERE ( (`DateS` like '" . sql_escape($DateS) . "%') AND NOT (`DateE` like '%00:00:00'))"); + $DateE = substr($last_shift[0]['DateE'], 0, 10); + + if (strlen($DateE) == 0) + $DateE = $DateS; + else + while ($DateS != $DateE) { + $DateS = DatumUm1TagErhoehen($DateS); + $VeranstaltungsTage[$Pos++] = $DateS; + } + + // suchen den nächsten eintrag + $first_shift = sql_select("SELECT `DateS` FROM `Shifts` " . "WHERE (`DateS` > '" . sql_escape($DateE) . " 23:59:59' ) " . "ORDER BY `DateS` " . "LIMIT 1"); + } while (count($first_shift) > 0); + } + + $VeranstaltungsTageMax = $Pos -1; +} + +/*####################################################### +# 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, $TID2Name, $con, $debug, $gmdateOffset; + + $Spalten = ""; + + if (!isset ($_GET["Icon"])) + $_GET["Icon"] = 1; + + /////////////////////////////////////////////////////////////////// + // Schow Admin Page + /////////////////////////////////////////////////////////////////// + $Spalten .= funktion_isLinkAllowed_addLink_OrEmpty("admin/schichtplan.php?action=change&SID=$SID", "edit
    \n"); + + /////////////////////////////////////////////////////////////////// + // Ausgabe des Schischtnamens + /////////////////////////////////////////////////////////////////// + $SQL = "SELECT `URL` FROM `Shifts` WHERE (`SID` = '$SID');"; + $Erg = mysql_query($SQL, $con); + if (mysql_result($Erg, 0, 0) != "") + $Spalten .= "$Man:
    "; + else + $Spalten .= "" . + $Man . ":
    "; + + /////////////////////////////////////////////////////////////////// + // 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; + $Temp_TID_old = -1; + for ($i = 0; $i < $Anzahl; $i++) { + if (isset ($Temp[$Feld]["TID"])) + $Temp_TID_old = $Temp[$Feld]["TID"]; + if (isset ($Temp[$Feld]["UID"])) + $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) { + if (isset ($Temp[$Feld]["free"])) + $Temp[$Feld]["free"]++; + else + $Temp[$Feld]["free"] = 1; + } else + $Temp[$Feld]["Engel"][] = $Temp[$Feld]["UID"]; + } // FOR + + /////////////////////////////////////////////////////////////////// + // Aus gabe der Schicht + /////////////////////////////////////////////////////////////////// + if (isset ($Temp)) + if (count($Temp)) + foreach ($Temp as $TempEntry => $TempValue) { + if (!isset ($TempValue["free"])) + $TempValue["free"] = 0; + + // ausgabe EngelType + $Spalten .= $EngelTypeID[$TempValue["TID"]] . " "; + + // ausgabe Eingetragener Engel + if (isset ($TempValue["Engel"])) + if (count($TempValue["Engel"]) > 0) { + if (count($TempValue["Engel"]) == 1) + $Spalten .= Get_Text("inc_schicht_ist") . ":
    \n"; + else + $Spalten .= Get_Text("inc_schicht_sind") . ":
    \n"; + + foreach ($TempValue["Engel"] as $TempEngelEntry => $TempEngelID) { + if (funktion_isLinkAllowed("admin/user.php") === TRUE) { + // add color, wenn Engel "Gekommen" + $TempText = ((UIDgekommen($TempEngelID) == "1") ? "" : "") . + UID2Nick($TempEngelID) . ""; + } else { + $TempText = UID2Nick($TempEngelID); + } + + // add link to user + $TempText = funktion_isLinkAllowed_addLink_OrLinkText("admin/userChangeNormal.php?enterUID=$TempEngelID&Type=Normal", $TempText); + + $Spalten .= "  " . $TempText . + (($_GET["Icon"] == 1) ? DisplayAvatar($TempEngelID) : "") . + "
    \n"; + + } + $Spalten = substr($Spalten, 0, strlen($Spalten) - 7); + } + + // ausgabe ben�tigter Engel + //////////////////////////// + //in vergangenheit + $SQLtime = "SELECT `DateE` FROM `Shifts` WHERE (`SID`='$SID' AND `DateE` >= '" . + gmdate("Y-m-d H:i:s", time() + $gmdateOffset) . "')"; + $Ergtime = mysql_query($SQLtime, $con); + if (mysql_num_rows($Ergtime) > 0) { + //wenn keien rechte definiert sind + if (!isset ($_SESSION['CVS'][$TID2Name[$TempValue["TID"]]])) + $_SESSION['CVS'][$TID2Name[$TempValue["TID"]]] = "Y"; + + if ($_SESSION['CVS'][$TID2Name[$TempValue["TID"]]] == "Y") + if ($TempValue["free"] > 0) { + $Spalten .= "
    \n  "; + $Spalten .= $TempValue["free"]; + if ($TempValue["free"] != 1) + $Spalten .= Get_Text("inc_schicht_weitere") . + " " . Get_Text("inc_schicht_Engel") . + Get_Text("inc_schicht_wird"); + else + $Spalten .= Get_Text("inc_schicht_weiterer") . + " " . Get_Text("inc_schicht_Engel") . + Get_Text("inc_schicht_werden"); + $Spalten .= Get_Text("inc_schicht_noch_gesucht"); + $Spalten .= ""; + } + } else { + if (isset ($TempValue["free"])) + if ($TempValue["free"] > 0) + $Spalten .= "
    \n  

    Fehlen noch: " . + $TempValue["free"] . "

    "; + } + $Spalten .= "
    \n"; + + } // FOREACH + return $Spalten; +} // function Ausgabe_Feld_Inhalt + +/*####################################################### +# gibt die engelschischten Druckergerecht aus # +#######################################################*/ +function Ausgabe_Feld_Inhalt_Druck($RID, $Man) { + // gibt, nach �bergabe der der SchichtID (SID) und der RaumBeschreibung, + // die eingetragenden und und offenden Schichteint�ge zur�ck + +} // function Ausgabe_Feld_Inhalt + +/*####################################################### +# Ausgabe der Raum Spalten # +#######################################################*/ +function CreateRoomShifts($raum) { + global $Spalten, $ausdatum, $con, $debug, $GlobalZeileProStunde, $error_messages; + + ///////////////////////////////////////////////////////////// + // beginnt die erste schicht vor dem heutigen tag und geht dar�ber hinaus + ///////////////////////////////////////////////////////////// + $SQLSonder = "SELECT `SID`, `DateS`, `DateE` , `Len`, `Man` FROM `Shifts` " . + "WHERE ((`RID` = '$raum') AND (`DateE` > '$ausdatum 23:59:59') AND " . + "(`DateS` < '$ausdatum 00:00:00') ) ORDER BY `DateS`;"; + $ErgSonder = mysql_query($SQLSonder, $con); + if ((mysql_num_rows($ErgSonder) > 1)) { + if (funktion_isLinkAllowed("admin/schichtplan.php") === TRUE) { + echo "

    " . Get_Text("pub_schichtplan_colision") . "

    "; + for ($i = 0; $i < mysql_num_rows($ErgSonder); $i++) { + echo "" . + mysql_result($ErgSonder, $i, "DateS") . + " '" . mysql_result($ErgSonder, $i, "Man") . "' (RID $raum) (00-24)" . + "
    \n"; + } + } + } + elseif ((mysql_num_rows($ErgSonder) == 1)) { + $Spalten[0] .= "\n" . + "

    ↑↑↑

    " . + Ausgabe_Feld_Inhalt(mysql_result($ErgSonder, 0, "SID"), mysql_result($ErgSonder, 0, "Man")) . + "

    ↓↓↓

    " . + "\n\n"; + return; + } + + $ZeitZeiger = 0; + + ///////////////////////////////////////////////////////////// + // beginnt die erste schicht vor dem heutigen tag? + ///////////////////////////////////////////////////////////// + $SQLSonder = "SELECT `SID`, `DateS`, `DateE` , `Len`, `Man` FROM `Shifts` " . + "WHERE ((`RID` = '$raum') AND (`DateE` > '$ausdatum 00:00:00') AND " . + "(`DateS` < '$ausdatum 00:00:00') ) ORDER BY `DateS`;"; + $ErgSonder = mysql_query($SQLSonder, $con); + if ((mysql_num_rows($ErgSonder) > 1)) { + if (funktion_isLinkAllowed("admin/schichtplan.php") === TRUE) { + echo "

    " . Get_Text("pub_schichtplan_colision") . "

    "; + for ($i = 0; $i < mysql_num_rows($ErgSonder); $i++) { + echo "" . + mysql_result($ErgSonder, $i, "DateS") . + " '" . mysql_result($ErgSonder, $i, "Man") . "' (RID $raum) (00-xx)" . + "
    \n"; + } + } + } + elseif ((mysql_num_rows($ErgSonder) == 1)) { + $ZeitZeiger = substr(mysql_result($ErgSonder, 0, "DateE"), 11, 2) + (substr(mysql_result($ErgSonder, 0, "DateE"), 14, 2) / 60); + $Spalten[0] .= "\n" . + "

    ↑↑↑

    " . + Ausgabe_Feld_Inhalt(mysql_result($ErgSonder, 0, "SID"), mysql_result($ErgSonder, 0, "Man")) . + "\n\n"; + } + + ///////////////////////////////////////////////////////////// + // gibt die schichten f�r den tag aus + ///////////////////////////////////////////////////////////// + $SQL = "SELECT `SID`, `DateS`, `Len`, `Man` FROM `Shifts` " . + "WHERE ((`RID` = '$raum') and " . + "(`DateS` >= '$ausdatum $ZeitZeiger:00:00') and " . + "(`DateS` like '$ausdatum%')) ORDER BY `DateS`;"; + $Erg = mysql_query($SQL, $con); + for ($i = 0; $i < mysql_num_rows($Erg); ++ $i) { + $ZeitPos = substr(mysql_result($Erg, $i, "DateS"), 11, 2) + (substr(mysql_result($Erg, $i, "DateS"), 14, 2) / 60); + $len = mysql_result($Erg, $i, "Len"); + + if ($len <= 0) + array_push($error_messages, "Error in shift denition SID=" . mysql_result($Erg, $i, "SID") . " Len=$len"); + + if ($ZeitZeiger < $ZeitPos) { + $Spalten[$ZeitZeiger * $GlobalZeileProStunde] .= " \n"; + + $ZeitZeiger += $ZeitPos - $ZeitZeiger; + } + if ($ZeitZeiger == $ZeitPos) { + //sonderfall wenn die schicht �ber dei 24 stunden hinaus geht + // (eintrag abk�rzen, pfeiel ausgeben) + $Spalten[$ZeitZeiger * $GlobalZeileProStunde] .= "\n" . + "" . + Ausgabe_Feld_Inhalt(mysql_result($Erg, $i, "SID"), mysql_result($Erg, $i, "Man")) . + ((($ZeitZeiger + $len) > 24) ? "

    ↓↓↓

    " : "") . + "\n\n"; + $ZeitZeiger += $len; + } else { + echo "

    " . Get_Text("pub_schichtplan_colision") . "

    "; + echo "" . + mysql_result($Erg, $i, "DateS") . + " '" . mysql_result($Erg, $i, "Man") . "' " . + " (" . mysql_result($Erg, $i, "SID") . " R$raum) (xx-xx)

    "; + } + } + if ($ZeitZeiger < 24) + $Spalten[($ZeitZeiger * $GlobalZeileProStunde)] .= " \n"; +} // function CreateRoomShifts + +/*####################################################### +# Ausgabe der freien schichten # +#######################################################*/ +function showEmptyShifts() { + global $con, $debug, $RoomID, $gmdateOffset; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + $sql = "SELECT `SID`, `DateS`, `Man`, `RID` FROM `Shifts` " . + "WHERE (`Shifts`.`DateS`>='" . gmdate("Y-m-d H:i:s", time() + $gmdateOffset) . "') " . + "ORDER BY `DateS`, `RID`;"; + $Erg = mysql_query($sql, $con); + + $angezeigt = 0; + for ($i = 0;($i < mysql_num_rows($Erg)) && ($angezeigt < 15); $i++) + if (isset ($RoomID[mysql_result($Erg, $i, "RID")])) + if ($RoomID[mysql_result($Erg, $i, "RID")] != "") { + $Sql2 = "SELECT `UID` FROM `ShiftEntry` " . + "WHERE `SID`=" . mysql_result($Erg, $i, "SID") . " AND " . + "`UID`='0';"; + $Erg2 = mysql_query($Sql2, $con); + + if (mysql_num_rows($Erg2) > 0) { + $angezeigt++; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + } + + echo "
    " . Get_Text("inc_schicht_date") . "" . Get_Text("inc_schicht_time") . "" . Get_Text("inc_schicht_room") . "" . Get_Text("inc_schicht_commend") . "
    " . substr(mysql_result($Erg, $i, "DateS"), 0, 10) . "" . substr(mysql_result($Erg, $i, "DateS"), 11) . "" . $RoomID[mysql_result($Erg, $i, "RID")] . "" . + ausgabe_Feld_Inhalt(mysql_result($Erg, $i, "SID"), mysql_result($Erg, $i, "Man")) . + "
    \n"; + +} //function showEmptyShifts + +/*####################################################### +# Gibt die anzahl der Schichten im Raum zur�ck # +#######################################################*/ +function SummRoomShifts($raum) { + global $ausdatum, $con, $debug, $GlobalZeileProStunde; + + $SQLSonder = "SELECT `SID`, `DateS`, `Len`, `Man` FROM `Shifts` " . + "WHERE ((`RID` = '$raum') AND (`DateE` >= '$ausdatum 00:00:00') AND " . + "(`DateS` <= '$ausdatum 23:59:59') ) ORDER BY `DateS`;"; + + $ErgSonder = mysql_query($SQLSonder, $con); + + return mysql_num_rows($ErgSonder); +} + +function DatumUm1TagErhoehen($Datum) { + $Jahr = substr($Datum, 0, 4); + $Monat = substr($Datum, 5, 2); + $Tag = substr($Datum, 8, 2); + + $Tag++; + + switch ($Monat) { + case 1 : + $Mmax = 31; + break; + case 2 : + $Mmax = 28; + break; + case 3 : + $Mmax = 31; + break; + case 4 : + $Mmax = 30; + break; + case 5 : + $Mmax = 31; + break; + case 6 : + $Mmax = 30; + break; + case 7 : + $Mmax = 31; + break; + case 8 : + $Mmax = 31; + break; + case 9 : + $Mmax = 30; + break; + case 10 : + $Mmax = 31; + break; + case 11 : + $Mmax = 30; + break; + case 12 : + $Mmax = 31; + break; + } + + if ($Tag > $Mmax) { + $Tag = 1; + $Monat++; + } + + if ($Monat > 12) { + $Monat = 1; + $Jahr++; + } + + $Tag = strlen($Tag) == 1 ? "0" . $Tag : $Tag; + $Monat = strlen($Monat) == 1 ? "0" . $Monat : $Monat; + + return ("$Jahr-$Monat-$Tag"); +} +?> diff --git a/includes/sys_template.php b/includes/sys_template.php index ab613c07..2c7f4f22 100644 --- a/includes/sys_template.php +++ b/includes/sys_template.php @@ -14,4 +14,12 @@ function template_render($file, $data) { die('Cannot find template file «' . $file . '».'); } } + +function html_options($name, $options, $selected = "") { + $html = ""; + foreach ($options as $value => $label) + $html .= ' ' . $label; + + return $html; +} ?> \ No newline at end of file diff --git a/templates/admin_rooms_edit_form.html b/templates/admin_rooms_edit_form.html new file mode 100644 index 00000000..cd1506fa --- /dev/null +++ b/templates/admin_rooms_edit_form.html @@ -0,0 +1,59 @@ +Raum und dafür benötigte Engel bearbeiten: +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + %angel_types% +
    + Name + + +
    + Man + + +
    + From Pentabarf + + %from_pentabarf_options% +
    + Show + + %show_options% +
    + Number + + +
    + Angle Type + + Needed for this room +
    + +
    +
    + +
    \ No newline at end of file diff --git a/templates/admin_rooms_new_form.html b/templates/admin_rooms_new_form.html new file mode 100644 index 00000000..68ea9485 --- /dev/null +++ b/templates/admin_rooms_new_form.html @@ -0,0 +1,46 @@ +Neuen Raum einrichten: +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    + Name + + +
    + Man + + +
    + From Pentabarf + + Yes No +
    + Show + + Yes No +
    + Number + + +
    +
    \ No newline at end of file diff --git a/www-ssl/css/base.css b/www-ssl/css/base.css index 808fb512..8b46e703 100644 --- a/www-ssl/css/base.css +++ b/www-ssl/css/base.css @@ -93,6 +93,22 @@ a.sprache img { margin-right: 5px; } +table { + border-collapse: collapse; +} + +tr:hover > td { + background: #f0f0f0; +} + +th { + background: #f0f0f0; +} + +td, th { + border: 1px solid #888; +} + .background { background: #f0f0f0; } diff --git a/www-ssl/index.php b/www-ssl/index.php index 98c7e439..184702c8 100644 --- a/www-ssl/index.php +++ b/www-ssl/index.php @@ -6,6 +6,7 @@ require_once ('includes/sys_lang.php'); require_once ('includes/sys_menu.php'); require_once ('includes/sys_mysql.php'); require_once ('includes/sys_page.php'); +require_once ('includes/sys_shift.php'); require_once ('includes/sys_template.php'); require_once ('includes/sys_user.php'); @@ -43,6 +44,10 @@ if (in_array($p, $privileges)) { elseif ($p == "logout") { require_once ('includes/pages/guest_login.php'); $content = guest_logout(); + } + elseif ($p == "admin_rooms") { + require_once ('includes/pages/admin_rooms.php'); + $content = admin_rooms(); } else { require_once ('includes/pages/guest_start.php'); $content = guest_start(); -- cgit v1.2.3-54-g00ecf