From bfb0cacd541cc20129a3c0ac77130370741dca18 Mon Sep 17 00:00:00 2001 From: Philip Häusler Date: Wed, 18 Sep 2013 01:38:36 +0200 Subject: mysql to mysqli and a lot of cleanup and mvc --- includes/sys_shift.php | 454 ------------------------------------------------- 1 file changed, 454 deletions(-) delete mode 100644 includes/sys_shift.php (limited to 'includes/sys_shift.php') diff --git a/includes/sys_shift.php b/includes/sys_shift.php deleted file mode 100644 index 728e7a83..00000000 --- a/includes/sys_shift.php +++ /dev/null @@ -1,454 +0,0 @@ - $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 * FROM `EngelType` ORDER BY `name`"); - foreach ($engel_types as $engel_type) { - $EngelType[$i] = array ( - 'id' => $engel_type['id'], - 'name' => $engel_type['name'] . Get_Text("inc_schicht_engel") - ); - $EngelTypeID[$engel_type['id']] = $engel_type['name'] . Get_Text("inc_schicht_engel"); - $TID2Name[$engel_type['id']] = $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 Schichtnamens - /////////////////////////////////////////////////////////////////// - $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` = '" . sql_escape($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`='" . sql_escape($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` = '" . sql_escape($raum) . "') AND (`DateE` > '$ausdatum 23:59:59') AND " . - "(`DateS` < '" . sql_escape($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` = '" . sql_escape($raum) . "') AND (`DateE` > '" . sql_escape($ausdatum) . " 00:00:00') AND " . - "(`DateS` < '" . sql_escape($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` = '" . sql_escape($raum) . "') and " . - "(`DateS` >= '" . sql_escape($ausdatum) . ' ' . sql_escape($ZeitZeiger) . ":00:00') and " . - "(`DateS` like '" . sql_escape($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` = '" . sql_escape($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"); -} -?> -- cgit v1.3.1