diff --git a/cis/ampel.php b/cis/ampel.php index d8429335f..e767d9a6f 100644 --- a/cis/ampel.php +++ b/cis/ampel.php @@ -1,136 +1,143 @@ - - - - -loadUserAmpel($user); - $rot=0; - $gelb = 0; - $gruen = 0; - $verpflichtend = false; - $cnt_verpflichtend = 0; - $cnt_abgelaufen = 0; - $cnt_notConf_notOverdue = 0; //counts mandatory, not confirmed && not overdued ampeln (for popup) - - $datum = new datum(); - $now = $datum->mktime_fromdate(date('Y-m-d')); - foreach($ampel->result as $row) - { - $deadline =$datum->mktime_fromdate($row->deadline); - $vorlaufzeit = $row->vorlaufzeit; - $verfallszeit = $row->verfallszeit; - $bestaetigt = $ampel->isBestaetigt($user, $row->ampel_id); - $verpflichtend = $row->verpflichtend; - $abgelaufen = false; - - $datum_liegt_vor_vorlaufzeit = false; - $datum_liegt_nach_verfallszeit = false; - - if (!is_null($vorlaufzeit)) - $datum_liegt_vor_vorlaufzeit = $now < strtotime('-' . $vorlaufzeit . ' day', $deadline); - - if (!is_null($verfallszeit)) - $datum_liegt_nach_verfallszeit = $now > strtotime('+' . $verfallszeit . ' day', $deadline); - - //count mandatory - if($verpflichtend == 't') - $cnt_verpflichtend++; - - //count overdue - if ($datum_liegt_nach_verfallszeit) - $cnt_abgelaufen++; - - //set status - if ($bestaetigt) - $gruen++; - else if ($now >= $deadline && !$datum_liegt_nach_verfallszeit && !$bestaetigt) - $rot++; - else if (!$datum_liegt_nach_verfallszeit && !$datum_liegt_vor_vorlaufzeit) - $gelb++; - - //count mandatory ampeln that are not confirmed and not overdue (for popup) - if ($verpflichtend == 't' && !$bestaetigt && !$datum_liegt_nach_verfallszeit && !$datum_liegt_vor_vorlaufzeit) - $cnt_notConf_notOverdue++; - } - - - // Wenn es eine verpflichtende Ampel gibt, das Pupup im CIS anzeigen - if ($cnt_notConf_notOverdue > 0) - { - echo ' '; - - echo ' '; - } - - //show & color header ampel-link - if($rot > 0) - echo ''.$p->t("tools/ampelsystem").'  |  '; - elseif($gelb > 0) - echo ''.$p->t("tools/ampelsystem").'  |  '; - elseif($rot==0 || $rot <= $cnt_abgelaufen && $gelb==0) - echo ''.$p->t("tools/ampelsystem").'  |  '; - } -else -{ - echo ""; -} + + + + +loadUserAmpel($user); + $rot=0; + $gelb = 0; + $gruen = 0; + $verpflichtend = false; + $cnt_verpflichtend = 0; + $cnt_abgelaufen = 0; + $cnt_notConf_notOverdue = 0; //counts mandatory, not confirmed && not overdued ampeln (for popup) + + $datum = new datum(); + $now = $datum->mktime_fromdate(date('Y-m-d')); + foreach($ampel->result as $row) + { + $deadline =$datum->mktime_fromdate($row->deadline); + $vorlaufzeit = $row->vorlaufzeit; + $verfallszeit = $row->verfallszeit; + $bestaetigt = $ampel->isBestaetigt($user, $row->ampel_id); + $verpflichtend = $row->verpflichtend; + $abgelaufen = false; + + $datum_liegt_vor_vorlaufzeit = false; + $datum_liegt_nach_verfallszeit = false; + + if (!is_null($vorlaufzeit)) + $datum_liegt_vor_vorlaufzeit = $now < strtotime('-' . $vorlaufzeit . ' day', $deadline); + + if (!is_null($verfallszeit)) + $datum_liegt_nach_verfallszeit = $now > strtotime('+' . $verfallszeit . ' day', $deadline); + + //count mandatory + if($verpflichtend == 't') + $cnt_verpflichtend++; + + //count overdue + if ($datum_liegt_nach_verfallszeit) + $cnt_abgelaufen++; + + //set status + if ($bestaetigt) + $gruen++; + else if ($now >= $deadline && !$datum_liegt_nach_verfallszeit && !$bestaetigt) + $rot++; + else if (!$datum_liegt_nach_verfallszeit && !$datum_liegt_vor_vorlaufzeit) + $gelb++; + + //count mandatory ampeln that are not confirmed and not overdue (for popup) + if ($verpflichtend == 't' && !$bestaetigt && !$datum_liegt_nach_verfallszeit && !$datum_liegt_vor_vorlaufzeit) + $cnt_notConf_notOverdue++; + } + + + //if at least ONE mandatory notification, which is not overdue -> trigger notification-POPUP + if ($cnt_notConf_notOverdue > 0) + { + echo ' '; + + echo ' '; + } + + //show & color header ampel-link + if($rot > 0) + echo ''.$p->t("tools/ampelsystem").'  |  '; + elseif($gelb > 0) + echo ''.$p->t("tools/ampelsystem").'  |  '; + elseif($rot==0 || $rot <= $cnt_abgelaufen && $gelb==0) + echo ''.$p->t("tools/ampelsystem").'  |  '; + } +else +{ + echo ""; +} ?> \ No newline at end of file diff --git a/cis/index.php b/cis/index.php index c5261d7ce..401f0d51f 100644 --- a/cis/index.php +++ b/cis/index.php @@ -164,12 +164,11 @@ $db = new basis_db(); - - - - - - + + + + +

t('courseInformation/lvInfoFreigabe');?>

- +
@@ -196,7 +197,7 @@ $(document).ready(function()
- + db_add_param($stg)." ORDER by semester"; if(!$result=$db->db_query($qry)) die ("
".$p->t('global/fehleraufgetreten')."
"); @@ -293,7 +294,17 @@ $(document).ready(function() db_add_param($stg)." + AND semester=".$db->db_add_param($sem)." AND tbl_lvinfo.aktiv=true + AND tbl_lvinfo.sprache=".$db->db_add_param(ATTR_SPRACHE_DE)." + ORDER BY tbl_lehrveranstaltung.bezeichnung ASC"; if(!$result=$db->db_query($qry)) die("
Fehler bei einer Datenbankabfrage
"); @@ -302,7 +313,15 @@ $(document).ready(function() while($row=$db->db_fetch_object($result)) { $i++; - $qry1="SELECT *, tbl_lehrveranstaltung.bezeichnung as bezeichnung, tbl_lvinfo.updatevon as updatevon FROM campus.tbl_lvinfo JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) WHERE tbl_lvinfo.sprache='".ATTR_SPRACHE_EN."' AND lehrveranstaltung_id='$row->lehrveranstaltung_id'"; + $qry1="SELECT *, + tbl_lehrveranstaltung.bezeichnung as bezeichnung, + tbl_lvinfo.updatevon as updatevon + FROM + campus.tbl_lvinfo + JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) + WHERE + tbl_lvinfo.sprache=".$db->db_add_param(ATTR_SPRACHE_EN)." + AND lehrveranstaltung_id=".$db->db_add_param($row->lehrveranstaltung_id); if(!$result1=$db->db_query($qry1)) die("
Fehler bei einer Datenbankabfrage
"); @@ -310,12 +329,12 @@ $(document).ready(function() if(!$row1=$db->db_fetch_object($result1)) die("
Fehler bei einer Datenbankabfrage
"); - $qry2="SELECT vorname, nachname FROM campus.vw_mitarbeiter WHERE uid='$row->updatevon'"; + $qry2="SELECT vorname, nachname FROM campus.vw_mitarbeiter WHERE uid=".$db->db_add_param($row->updatevon); $style=''; if ($lv==$row->lehrveranstaltung_id) $style='style="background-color: #AAA; border-top: 1px solid black; border-bottom: 1px solid black"'; - + $bearbeitet=$row->updatevon; if($result2=$db->db_query($qry2)) if($row2=$db->db_fetch_object($result2)) @@ -339,6 +358,6 @@ $(document).ready(function() - + - \ No newline at end of file + diff --git a/cis/private/tools/ampelverwaltung.php b/cis/private/tools/ampelverwaltung.php index 98bc9d812..833afc2f3 100644 --- a/cis/private/tools/ampelverwaltung.php +++ b/cis/private/tools/ampelverwaltung.php @@ -341,6 +341,7 @@ $(document).ready(function(){ +
-
+
- - +
+ diff --git a/cis/public/incoming/incoming.php b/cis/public/incoming/incoming.php index 9625d9455..ad3056b75 100644 --- a/cis/public/incoming/incoming.php +++ b/cis/public/incoming/incoming.php @@ -61,7 +61,6 @@ if(isset($_GET['method'])) $breadcrumb = "> ".$p->t('incoming/lehrveranstaltungen'); elseif($method == 'files') $breadcrumb = "> ".$p->t('incoming/dateien'); - } $zugangscode = $_SESSION['incoming/user']; @@ -107,7 +106,6 @@ else $stsem = new studiensemester(); $stsem->load($stsemAktOrNext); - $stg = new studiengang(); $stg->getAll(); @@ -135,12 +133,6 @@ $message = ''; - @@ -152,6 +144,7 @@ $message = ''; $.datepicker.setDefaults( $.datepicker.regional[ "" ] ); }); @@ -203,13 +199,13 @@ echo ' '; diff --git a/cis/testtool/admin/index.php b/cis/testtool/admin/index.php index f2678cfff..d433a747e 100644 --- a/cis/testtool/admin/index.php +++ b/cis/testtool/admin/index.php @@ -278,7 +278,7 @@ if (isset($_POST['deletePicture']) || isset($_POST['deleteAudio'])) { if (!$rechte->isBerechtigt('basis/testtool', null, 'suid')) die($rechte->errormsg); - + $frage = new frage(); if ($frage->load($_GET['frage_id'])) { @@ -651,11 +651,14 @@ foreach ($studiengang->result as $row) echo ''; //Liste der Gebiete - $qry = "SELECT * FROM testtool.tbl_ablauf WHERE studiengang_kz=".$stg_kz.""; + $qry = "SELECT * FROM testtool.tbl_ablauf WHERE studiengang_kz=".$db->db_add_param($stg_kz); $anzahl = $db->db_num_rows($db->db_query($qry)); if ($stg_kz !== "-1" && $anzahl !== 0) - $qry = "SELECT * FROM testtool.tbl_gebiet LEFT JOIN testtool.tbl_ablauf USING (gebiet_id) WHERE studiengang_kz=".$stg_kz." ORDER BY semester,reihung"; + { + $qry = "SELECT * FROM testtool.tbl_gebiet LEFT JOIN testtool.tbl_ablauf USING (gebiet_id) + WHERE studiengang_kz=".$db->db_add_param($stg_kz)." ORDER BY semester,reihung"; + } else $qry = "SELECT * FROM testtool.tbl_gebiet ORDER BY bezeichnung"; diff --git a/include/ablauf.class.php b/include/ablauf.class.php index 03d6b733c..9954ca430 100644 --- a/include/ablauf.class.php +++ b/include/ablauf.class.php @@ -76,15 +76,15 @@ class ablauf extends basis_db //laden des Datensatzes $qry = "SELECT - tbl_ablauf.*, - tbl_ablauf_vorgaben.sprache, - tbl_ablauf_vorgaben.sprachwahl, + tbl_ablauf.*, + tbl_ablauf_vorgaben.sprache, + tbl_ablauf_vorgaben.sprachwahl, tbl_ablauf_vorgaben.content_id FROM testtool.tbl_ablauf - LEFT JOIN + LEFT JOIN testtool.tbl_ablauf_vorgaben USING (ablauf_vorgaben_id) - WHERE + WHERE ablauf_id=".$this->db_add_param($ablauf_id, FHC_INTEGER, false).";"; if($this->db_query($qry)) @@ -92,7 +92,7 @@ class ablauf extends basis_db if($row = $this->db_fetch_object()) { $obj = new ablauf(); - + $obj->studiengang_kz = $row->studiengang_kz; $obj->gebiet_id = $row->gebiet_id; $obj->reihung = $row->reihung; @@ -108,7 +108,7 @@ class ablauf extends basis_db $obj->sprache = $row->sprache; $obj->sprachwahl = $this->db_parse_bool($row->sprachwahl); $obj->content_id = $row->content_id; - + $this->result[] = $obj; return true; } @@ -152,7 +152,7 @@ class ablauf extends basis_db return false; } } - + /** * Loescht einen Ablauf-Vorgabe Datensatz * @param $ablauf_vorgabe_id ID des zu loeschenden Datensatzes @@ -166,10 +166,10 @@ class ablauf extends basis_db $this->errormsg = 'ablauf_vorgabe_id muss eine gueltige Zahl sein'; return false; } - + $qry = "DELETE FROM testtool.tbl_ablauf_vorgaben WHERE ablauf_vorgaben_id=".$this->db_add_param($ablauf_vorgabe_id, FHC_INTEGER).";"; - + if($this->db_query($qry)) { return true; @@ -300,7 +300,7 @@ class ablauf extends basis_db return false; } } - + /** * Laedt die zugehoerigen Gebiete zum angegebenen Studiengang (gegebenfalls auch Studienplan) * @param $studiengang_kz ID des Studiengang @@ -308,30 +308,31 @@ class ablauf extends basis_db * @param $semester * @return boolean true wenn ok sonst false */ - public function getAblaufGebiete($studiengang_kz, $studienplan_id=null, $semester=null) + public function getAblaufGebiete($studiengang_kz, $studienplan_id=null, $semester=null) { - $qry = "SELECT - tbl_ablauf.*, - tbl_ablauf_vorgaben.sprache, - tbl_ablauf_vorgaben.sprachwahl, - tbl_ablauf_vorgaben.content_id - FROM - testtool.tbl_ablauf - LEFT JOIN + $qry = "SELECT + tbl_ablauf.*, + tbl_ablauf_vorgaben.sprache, + tbl_ablauf_vorgaben.sprachwahl, + tbl_ablauf_vorgaben.content_id + FROM + testtool.tbl_ablauf + LEFT JOIN testtool.tbl_ablauf_vorgaben USING (ablauf_vorgaben_id) - WHERE - tbl_ablauf.studiengang_kz=".$studiengang_kz; + WHERE + tbl_ablauf.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER); + if (!is_null($studienplan_id)) - $qry .= " AND studienplan_id=".$studienplan_id; + $qry .= " AND studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER); if (!is_null($semester)) - $qry .= " AND semester=".$semester; + $qry .= " AND semester=".$this->db_add_param($semester, FHC_INTEGER); if($result = $this->db_query($qry)) { while($row = $this->db_fetch_object($result)) { $obj = new stdClass(); - + $obj->ablauf_id = $row->ablauf_id; $obj->gebiet_id = $row->gebiet_id; $obj->reihung = $row->reihung; @@ -342,7 +343,7 @@ class ablauf extends basis_db $obj->sprache = $row->sprache; $obj->sprachwahl = $this->db_parse_bool($row->sprachwahl); $obj->content_id = $row->content_id; - + $this->result[]= $obj; } return true; @@ -353,7 +354,7 @@ class ablauf extends basis_db return false; } } - + /** * Leadt die ablauf_id zu einer Kombination aus Studiengang und Gebiet * @param $studiengang_kz Studiengang @@ -366,8 +367,10 @@ class ablauf extends basis_db * FROM testtool.tbl_ablauf - WHERE studiengang_kz=".$studiengang_kz." AND gebiet_id=".$gebiet_id.";"; - + WHERE + studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)." + AND gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER).";"; + if($this->db_query($qry)) { if($row = $this->db_fetch_object()) @@ -382,7 +385,7 @@ class ablauf extends basis_db } } } - + /** * Laedt eine Ablauf-Vorgabe * @param $ablauf_vorgaben_id ID des zu ladenden Datensatzes @@ -395,14 +398,14 @@ class ablauf extends basis_db $this->errormsg = 'ablauf_vorgaben_id muss eine gueltige Zahl sein'; return false; } - + //laden des Datensatzes $qry = "SELECT * FROM testtool.tbl_ablauf_vorgaben WHERE ablauf_vorgaben_id=".$this->db_add_param($ablauf_vorgaben_id, FHC_INTEGER, false).";"; - + if($this->db_query($qry)) { if($row = $this->db_fetch_object()) @@ -430,7 +433,7 @@ class ablauf extends basis_db return false; } } - + /** * Speichert eine Ablauf-Vorgabe * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt @@ -506,27 +509,27 @@ class ablauf extends basis_db return false; } } - + /** * Laedt alle Ablauf-Vorgaben Eintraege * @return boolean true wenn ok sonst false */ - public function getAllAblaufVorgaben() + public function getAllAblaufVorgaben() { $qry = "SELECT * FROM testtool.tbl_ablauf_vorgaben"; - + if($result = $this->db_query($qry)) { while($row = $this->db_fetch_object($result)) { $obj = new ablauf(); - + $obj->ablauf_vorgaben_id = $row->ablauf_vorgaben_id; $obj->studiengang_kz = $row->studiengang_kz; $obj->sprache = $row->sprache; $obj->sprachwahl = $this->db_parse_bool($row->sprachwahl); $obj->content_id = $row->content_id; - + $this->result[]= $obj; } return true; @@ -537,7 +540,7 @@ class ablauf extends basis_db return false; } } - + /** * Laedt einen Ablauf-Vorgabe Eintrag anhand der uebergebenen Studiengangskennzahl * @param $studiengang_kz ID des Studiengang @@ -551,21 +554,22 @@ class ablauf extends basis_db $this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein'; return false; } - - $qry = "SELECT * FROM testtool.tbl_ablauf_vorgaben WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER, false); - + + $qry = "SELECT * FROM testtool.tbl_ablauf_vorgaben + WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER, false); + if($result = $this->db_query($qry)) { while($row = $this->db_fetch_object($result)) { $obj = new ablauf(); - + $obj->ablauf_vorgaben_id = $row->ablauf_vorgaben_id; $obj->studiengang_kz = $row->studiengang_kz; $obj->sprache = $row->sprache; $obj->sprachwahl = $row->sprachwahl; $obj->content_id = $row->content_id; - + $this->result[]= $obj; } return true; @@ -576,7 +580,7 @@ class ablauf extends basis_db return false; } } - + /** * Zaehlt, wie of die ablauf_vorgabe_id noch in tbl_ablauf verwendet wird * @param integer $ablauf_vorgaben_id Ablauf-Vorlage-ID @@ -590,9 +594,10 @@ class ablauf extends basis_db $this->errormsg = 'ablauf_vorgaben_id muss eine gueltige Zahl sein'; return false; } - - $qry = "SELECT count(*) FROM testtool.tbl_ablauf WHERE ablauf_vorgaben_id=".$this->db_add_param($ablauf_vorgaben_id, FHC_INTEGER); - + + $qry = "SELECT count(*) FROM testtool.tbl_ablauf + WHERE ablauf_vorgaben_id=".$this->db_add_param($ablauf_vorgaben_id, FHC_INTEGER); + if($this->db_query($qry)) { if($row = $this->db_fetch_object()) @@ -621,24 +626,25 @@ class ablauf extends basis_db */ public function getDauer($studiengang_kz, $studienplan_id=null, $semester=null) { - $qry = "SELECT + $qry = "SELECT SUM (zeit) as dauer - FROM - testtool.tbl_ablauf - JOIN + FROM + testtool.tbl_ablauf + JOIN testtool.tbl_gebiet USING (gebiet_id) - WHERE - studiengang_kz=".$studiengang_kz; + WHERE + studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER); + if (!is_null($studienplan_id)) - $qry .= " AND studienplan_id=".$studienplan_id; + $qry .= " AND studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER); if (!is_null($semester)) - $qry .= " AND semester=".$semester; + $qry .= " AND semester=".$this->db_add_param($semester, FHC_INTEGER); if($this->db_query($qry)) { if($row = $this->db_fetch_object()) { - + return $row->dauer; } else diff --git a/include/frage.class.php b/include/frage.class.php index fb3e7331b..8a7d4750e 100644 --- a/include/frage.class.php +++ b/include/frage.class.php @@ -81,7 +81,13 @@ class frage extends basis_db return false; } - $qry = "SELECT * FROM testtool.tbl_frage LEFT OUTER JOIN testtool.tbl_frage_sprache USING (frage_id) WHERE frage_id=".$this->db_add_param($frage_id, FHC_INTEGER); + $qry = "SELECT + * + FROM + testtool.tbl_frage + LEFT OUTER JOIN testtool.tbl_frage_sprache USING (frage_id) + WHERE + frage_id=".$this->db_add_param($frage_id, FHC_INTEGER); if($this->db_query($qry)) { @@ -381,9 +387,9 @@ class frage extends basis_db { $qry = "SELECT * FROM testtool.tbl_frage_sprache JOIN testtool.tbl_frage USING(frage_id) WHERE frage_id=".$this->db_add_param($frage_id, FHC_INTEGER)." AND sprache=".$this->db_add_param($sprache); - + if (!is_null($aktiv)) - $qry .= " AND aktiv=".$aktiv; + $qry .= " AND aktiv=".($aktiv?'true':'false'); if($this->db_query($qry)) { @@ -832,10 +838,10 @@ class frage extends basis_db return false; } } - + /** * Gibt die Nummer der naechsten Frage zurueck (nicht fuer den test sondern fuer die testtool-administrationsseite) - * + * * @param $frage_nummer Nummer der aktuellen Frage * @param $gebiet_id Gebiet der Fragen * @param $aktiv true wenn nur aktiv, false wenn nur inaktiv, null wenn beides @@ -846,14 +852,14 @@ class frage extends basis_db $qry = "SELECT nummer FROM testtool.tbl_frage WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." AND nummer>".$this->db_add_param($frage_nummer, FHC_INTEGER); - + if (!is_null($aktiv) && $aktiv) $qry .= " AND aktiv"; if (!is_null($aktiv) && !$aktiv) $qry .= " AND NOT aktiv"; - + $qry .= " ORDER BY nummer ASC LIMIT 1"; //Es wird immer nur ein Maximum geben, deswegen kein max() - + if($this->db_query($qry)) { while($row = $this->db_fetch_object()) @@ -886,7 +892,7 @@ class frage extends basis_db } return $number; } - else + else { return false; } diff --git a/include/jahresplan.class.php b/include/jahresplan.class.php index a3bff5f29..3f52a5bf2 100644 --- a/include/jahresplan.class.php +++ b/include/jahresplan.class.php @@ -22,36 +22,36 @@ */ /** * - * @classe Jahresplan + * @classe Jahresplan * * @param connectSQL Datenbankverbindung - * @param veranstaltungskategorie_kurzbz Veranstaltungskategorie Key - * @param veranstaltung_id Veranstaltung Key + * @param veranstaltungskategorie_kurzbz Veranstaltungskategorie Key + * @param veranstaltung_id Veranstaltung Key * @param reservierung_id Reservierung Key * */ -require_once(dirname(__FILE__).'/basis_db.class.php'); +require_once(dirname(__FILE__).'/basis_db.class.php'); -class jahresplan extends basis_db +class jahresplan extends basis_db { public $new; // @boolean - public $result = array(); // jahresplan Objekt + public $result = array(); // jahresplan Objekt - // Veranstaltungskategorie - public $veranstaltungskategorie_kurzbz; // @string (16) KEY + // Veranstaltungskategorie + public $veranstaltungskategorie_kurzbz; // @string (16) KEY public $bezeichnung; // @string (64) public $farbe; // @string (6) public $bild; // @string (255) - - // Veranstaltungen - public $veranstaltung_id; // @int serial (Key) - + + // Veranstaltungen + public $veranstaltung_id; // @int serial (Key) + public $titel; // @string (64) public $beschreibung; // @string (255) public $inhalt; // @string (255) - + public $start; // @timestamp oder @date - public $ende; // @timestamp oder @date + public $ende; // @timestamp oder @date public $insertamum; // @timestamp public $insertvon; // @string (16) @@ -59,59 +59,58 @@ class jahresplan extends basis_db public $updatevon; // @string (16) public $freigabeamum; // @timestamp oder @date public $freigabevon; // @string (16) - + // Reservierung - public $reservierung_id; // @int serial (key) + public $reservierung_id; // @int serial (key) public $startDatum; // @int public $endeDatum; // @int public $startZeit; // @int - public $endeZeit; // @int - - // Suchbedingungen + public $endeZeit; // @int + + // Suchbedingungen public $show_only_public_kategorie=true; // @boolean - Public Kategorien sollen gelesen werden = false - public $start_jahr; // @int - public $ende_jahr; // @int - - public $start_jahr_monat; // @int - public $ende_jahr_monat; // @int - - public $start_jahr_woche; // @int - public $ende_jahr_woche; // @int - - public $suchtext; // @int + public $start_jahr; // @int + public $ende_jahr; // @int + + public $start_jahr_monat; // @int + public $ende_jahr_monat; // @int + + public $start_jahr_woche; // @int + public $ende_jahr_woche; // @int + + public $suchtext; // @int public $freigabe; // @boolean - + public $schemaSQL="campus"; // string Datenbankschema - + /** * Konstruktor - * @param $db Connection zur DB - * $veranstaltungskategorie_kurzbz zum ladenden der Kategorie Funktion + * @param $veranstaltungskategorie_kurzbz zum ladenden der Kategorie Funktion * $veranstaltung_id zum ladenden der Veranstaltung Funktion * $reservierung_id zum ladenden der Reservierung Funktion * $show_only_public_kategorie Boolean welche Kategorien Public oder Alle fuer Lektoren und Mitarbeiter */ - public function __construct($veranstaltungskategorie_kurzbz="",$veranstaltung_id="",$reservierung_id="",$show_only_public_kategorie=true) + public function __construct($veranstaltungskategorie_kurzbz="",$veranstaltung_id="",$reservierung_id="",$show_only_public_kategorie=true) { parent::__construct(); // Init alle Funktionen und Variablen $this->InitJahresplan(); - + // Berechtigungen beim Lesen $this->show_only_public_kategorie=$show_only_public_kategorie; - + // Veranstaltungskategorie $this->veranstaltungskategorie_kurzbz=$veranstaltungskategorie_kurzbz; if (!empty($this->veranstaltungskategorie_kurzbz)) $this->loadVeranstaltungskategorie($this->veranstaltungskategorie_kurzbz); - + // Veranstaltungen $this->veranstaltung_id=$veranstaltung_id; if (!empty($this->veranstaltung_id)) $this->loadVeranstaltung($this->veranstaltung_id,$this->veranstaltungskategorie_kurzbz); - + $this->reservierung_id=$reservierung_id; if (!empty($this->reservierung_id)) $this->loadReservierung($this->reservierung_id,$this->veranstaltung_id); @@ -122,43 +121,43 @@ class jahresplan extends basis_db * Initialisierung * */ - public function InitJahresplan() + public function InitJahresplan() { $this->errormsg=''; - $this->new=false; - + $this->new=false; + $this->InitVeranstaltungskategorie(); $this->InitVeranstaltung(); - $this->InitReservierung(); + $this->InitReservierung(); } - + /** * Initialisierung der Kategorien * */ public function InitVeranstaltungskategorie() - { - // Veranstaltungskategorie - $this->veranstaltungskategorie_kurzbz=''; - $this->bezeichnung=''; - $this->farbe=''; - $this->bild=''; - $this->result=array(); + { + // Veranstaltungskategorie + $this->veranstaltungskategorie_kurzbz=''; + $this->bezeichnung=''; + $this->farbe=''; + $this->bild=''; + $this->result=array(); } /** * Speichert bzw. Aendert eine Veranstaltungskategorie * @return true wenn ok, false im Fehlerfall - */ + */ public function saveVeranstaltungskategorie() - { + { // Initialisieren $this->errormsg=''; $qry=''; - + $fildsList=''; $fildsValue=''; - + if (empty($this->veranstaltungskategorie_kurzbz) || $this->veranstaltungskategorie_kurzbz==null ) { $this->errormsg='Veranstaltungskategorie - Kurzbz. fehlt!'; @@ -170,7 +169,7 @@ class jahresplan extends basis_db $this->errormsg='Veranstaltungskategorie - Bezeichnung fehlt!'; return false; } - + if($this->new) { @@ -179,61 +178,61 @@ class jahresplan extends basis_db $fildsList.='farbe,'; $fildsList.='bild'; - $fildsValue.="'".addslashes($this->veranstaltungskategorie_kurzbz)."',"; - $fildsValue.="'".addslashes($this->bezeichnung)."',"; - $fildsValue.="'".addslashes($this->farbe)."',"; - $fildsValue.="'".addslashes($this->bild)."'"; - - $qry=" insert into ".$this->schemaSQL.".tbl_veranstaltungskategorie (".$fildsList.") values (".$fildsValue."); "; + $fildsValue.= $this->db_add_param($this->veranstaltungskategorie_kurzbz).","; + $fildsValue.= $this->db_add_param($this->bezeichnung).","; + $fildsValue.= $this->db_add_param($this->farbe).","; + $fildsValue.= $this->db_add_param($this->bild); + + $qry=" INSERT INTO ".$this->schemaSQL.".tbl_veranstaltungskategorie (".$fildsList.") VALUES (".$fildsValue."); "; } else { - $fildsValue.=(!empty($fildsValue)?',':'')."bezeichnung='".addslashes($this->bezeichnung)."'"; - $fildsValue.=(!empty($fildsValue)?',':'')."farbe='".addslashes($this->farbe)."'"; - $fildsValue.=(!empty($fildsValue)?',':'')."bild='".addslashes($this->bild)."'"; + $fildsValue.=(!empty($fildsValue)?',':'')."bezeichnung=".$this->db_add_param($this->bezeichnung); + $fildsValue.=(!empty($fildsValue)?',':'')."farbe=".$this->db_add_param($this->farbe); + $fildsValue.=(!empty($fildsValue)?',':'')."bild=".$this->db_add_param($this->bild); - $qry.=" update ".$this->schemaSQL.".tbl_veranstaltungskategorie set "; + $qry.=" UPDATE ".$this->schemaSQL.".tbl_veranstaltungskategorie set "; $qry.=$fildsValue; - $qry.=" where veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."' "; - } - + $qry.=" WHERE veranstaltungskategorie_kurzbz=".$this->db_add_param($this->veranstaltungskategorie_kurzbz)." "; + } + if($this->db_query($qry)) return true; else { if (empty($this->errormsg)) - $this->errormsg = 'Fehler beim speichern des Datensatzes'; + $this->errormsg = 'Fehler beim Speichern des Datensatzes'; return false; - } + } } /** * Loescht eine Veranstaltungskategorie * @return true wenn ok, false im Fehlerfall - */ + */ public function deleteVeranstaltungskategorie($veranstaltungskategorie_kurzbz="") { // Initialisieren $qry=""; $this->errormsg=''; - + // Parameter if (!empty($veranstaltungskategorie_kurzbz)) $this->veranstaltungskategorie_kurzbz=$veranstaltungskategorie_kurzbz; - + // Plausib if (empty($this->veranstaltungskategorie_kurzbz) || $this->veranstaltungskategorie_kurzbz==null ) { $this->errormsg='Veranstaltungskategorie - Kurzbz. fehlt!'; return false; } - + // Abfrage - $qry.=" delete from ".$this->schemaSQL.".tbl_veranstaltungskategorie "; + $qry.=" DELETE FROM ".$this->schemaSQL.".tbl_veranstaltungskategorie "; if (is_array($this->veranstaltungskategorie_kurzbz)) - $qry.=" where veranstaltungskategorie_kurzbz in ('".implode("','",$this->veranstaltungskategorie_kurzbz)."') "; - else - $qry.=" where veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."' "; + $qry.=" WHERE veranstaltungskategorie_kurzbz in (".$this->db_implode4SQL($this->veranstaltungskategorie_kurzbz).") "; + else + $qry.=" WHERE veranstaltungskategorie_kurzbz=".$this->db_add_param($this->veranstaltungskategorie_kurzbz)." "; if($this->db_query($qry)) return true; @@ -246,9 +245,9 @@ class jahresplan extends basis_db } /** - * Lesen der Veranstaltungskategorien + * Lesen der Veranstaltungskategorien * @return Array mit Veranstaltungs-Objekt wenn ok, false im Fehlerfall - */ + */ public function loadVeranstaltungskategorie($veranstaltungskategorie_kurzbz="") { // Initialisieren @@ -258,26 +257,26 @@ class jahresplan extends basis_db if (!empty($veranstaltungskategorie_kurzbz)) $this->veranstaltungskategorie_kurzbz=$veranstaltungskategorie_kurzbz; - - // Abfrage - $qry.="SELECT * FROM ".$this->schemaSQL.".tbl_veranstaltungskategorie "; - $qry.=" WHERE veranstaltungskategorie_kurzbz IS NOT NULL "; - // Suche nach einer einzigen Veranstaltungskategorie_kurzbz - if (!is_array($this->veranstaltungskategorie_kurzbz) && !empty($this->veranstaltungskategorie_kurzbz) ) - { - $qry.=" and veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."' "; - } - elseif (is_array($this->veranstaltungskategorie_kurzbz) && count($this->veranstaltungskategorie_kurzbz)>0 ) - { - $qry.=" and veranstaltungskategorie_kurzbz in ('".implode("','",$this->veranstaltungskategorie_kurzbz)."') "; + // Abfrage + $qry.="SELECT * FROM ".$this->schemaSQL.".tbl_veranstaltungskategorie "; + $qry.=" WHERE veranstaltungskategorie_kurzbz IS NOT NULL "; + + // Suche nach einer einzigen Veranstaltungskategorie_kurzbz + if (!is_array($this->veranstaltungskategorie_kurzbz) && !empty($this->veranstaltungskategorie_kurzbz) ) + { + $qry.=" AND veranstaltungskategorie_kurzbz=".$this->db_add_param($this->veranstaltungskategorie_kurzbz)." "; + } + elseif (is_array($this->veranstaltungskategorie_kurzbz) && count($this->veranstaltungskategorie_kurzbz)>0 ) + { + $qry.=" AND veranstaltungskategorie_kurzbz in (".$this->db_implode4SQL($this->veranstaltungskategorie_kurzbz).") "; } - // Entscheiden welche Daten angezeigt werden Public oder fuer Mitarbeiter alles + // Entscheiden welche Daten angezeigt werden Public oder fuer Mitarbeiter alles if ($this->show_only_public_kategorie) - $qry.=" and veranstaltungskategorie_kurzbz not like '*%' "; + $qry.=" AND veranstaltungskategorie_kurzbz not like '*%' "; - $qry.=" ORDER BY veranstaltungskategorie_kurzbz "; + $qry.=" ORDER BY veranstaltungskategorie_kurzbz "; if($this->db_query($qry)) { @@ -293,7 +292,7 @@ class jahresplan extends basis_db if (empty($this->errormsg)) $this->errormsg = 'Fehler Veranstaltungskategorien lesen!'; return false; - } + } } @@ -301,10 +300,10 @@ class jahresplan extends basis_db * Initialisierung Veranstaltung * */ - public function InitVeranstaltung() + public function InitVeranstaltung() { $this->InitVeranstaltungskategorie(); - + $this->veranstaltung_id=0; $this->veranstaltungskategorie_kurzbz=''; @@ -312,8 +311,8 @@ class jahresplan extends basis_db $this->beschreibung=''; $this->inhalt=''; - - $this->start=''; + + $this->start=''; $this->ende=''; $this->insertamum=''; @@ -322,7 +321,7 @@ class jahresplan extends basis_db $this->updatevon=''; $this->freigabeamum=''; $this->freigabevon=''; - + // Suchfelder $this->start_jahr=''; $this->ende_jahr=''; @@ -335,7 +334,7 @@ class jahresplan extends basis_db $this->suchtext=''; $this->freigabe=false; - + $this->result=array(); } @@ -343,7 +342,7 @@ class jahresplan extends basis_db * Speichert bzw. Aendert eine Veranstaltung * @return true wenn ok, false im Fehlerfall * ToDo: angleichen an die anderen Save Funktionen - */ + */ public function saveVeranstaltung() { // Initialisieren @@ -351,7 +350,7 @@ class jahresplan extends basis_db $qry=''; $fildsList=''; $fildsValue=''; - + if (!$this->new && ( empty($this->veranstaltung_id) || $this->veranstaltung_id==null) ) { $this->errormsg='Veranstaltungs - ID fehlt!'; @@ -368,13 +367,13 @@ class jahresplan extends basis_db { $this->errormsg='Veranstaltungs - Beschreibung fehlt!'; return false; - } - + } + if($this->new) { $fildsList.='veranstaltungskategorie_kurzbz,'; $fildsList.='beschreibung,'; - $fildsList.='inhalt,'; + $fildsList.='inhalt,'; $fildsList.='start,'; $fildsList.='ende,'; $fildsList.='insertamum,'; @@ -384,37 +383,38 @@ class jahresplan extends basis_db $fildsList.='freigabeamum,'; $fildsList.='freigabevon'; - $fildsValue.="'".addslashes($this->veranstaltungskategorie_kurzbz)."',"; - $fildsValue.="'".addslashes($this->beschreibung)."',"; - $fildsValue.="'".addslashes($this->inhalt)."',"; - $fildsValue.="'".addslashes($this->start)."',"; - $fildsValue.="'".addslashes($this->ende)."',"; - $fildsValue.="'".addslashes($this->insertamum)."',"; - $fildsValue.="'".addslashes($this->insertvon)."',"; - $fildsValue.="'".addslashes($this->updateamum)."',"; - $fildsValue.="'".addslashes($this->updatevon)."',"; - $fildsValue.=(is_null($this->freigabeamum) || empty($this->freigabeamum)?'null':"'".addslashes($this->freigabeamum)."'").","; - $fildsValue.=(is_null($this->freigabevon) || empty($this->freigabevon)?'null':"'".addslashes($this->freigabevon)."'"); - $qry.=" insert into ".$this->schemaSQL.".tbl_veranstaltung (".$fildsList.") values (".$fildsValue.") "; + $fildsValue.=$this->db_add_param($this->veranstaltungskategorie_kurzbz).","; + $fildsValue.=$this->db_add_param($this->beschreibung).","; + $fildsValue.=$this->db_add_param($this->inhalt).","; + $fildsValue.=$this->db_add_param($this->start).","; + $fildsValue.=$this->db_add_param($this->ende).","; + $fildsValue.=$this->db_add_param($this->insertamum).","; + $fildsValue.=$this->db_add_param($this->insertvon).","; + $fildsValue.=$this->db_add_param($this->updateamum).","; + $fildsValue.=$this->db_add_param($this->updatevon).","; + $fildsValue.=(is_null($this->freigabeamum) || empty($this->freigabeamum)?'null':$this->db_add_param($this->freigabeamum)).","; + $fildsValue.=(is_null($this->freigabevon) || empty($this->freigabevon)?'null':$this->db_add_param($this->freigabevon)); + + $qry.=" INSERT INTO ".$this->schemaSQL.".tbl_veranstaltung (".$fildsList.") VALUES (".$fildsValue.") "; } else { - $fildsValue.=(!empty($fildsValue)?',':'')."veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."'"; - $fildsValue.=(!empty($fildsValue)?',':'')."beschreibung='".addslashes($this->beschreibung)."'"; - $fildsValue.=(!empty($fildsValue)?',':'')."inhalt='".addslashes($this->inhalt)."'"; - $fildsValue.=(!empty($fildsValue)?',':'')."start='".addslashes($this->start)."'"; - $fildsValue.=(!empty($fildsValue)?',':'')."ende='".addslashes($this->ende)."'"; - $fildsValue.=(!empty($fildsValue)?',':'')."updateamum='".addslashes($this->updateamum)."'"; - $fildsValue.=(!empty($fildsValue)?',':'')."updatevon='".addslashes($this->updatevon)."'"; + $fildsValue.=(!empty($fildsValue)?',':'')."veranstaltungskategorie_kurzbz=".$this->db_add_param($this->veranstaltungskategorie_kurzbz); + $fildsValue.=(!empty($fildsValue)?',':'')."beschreibung=".$this->db_add_param($this->beschreibung); + $fildsValue.=(!empty($fildsValue)?',':'')."inhalt=".$this->db_add_param($this->inhalt); + $fildsValue.=(!empty($fildsValue)?',':'')."start=".$this->db_add_param($this->start); + $fildsValue.=(!empty($fildsValue)?',':'')."ende=".$this->db_add_param($this->ende); + $fildsValue.=(!empty($fildsValue)?',':'')."updateamum=".$this->db_add_param($this->updateamum); + $fildsValue.=(!empty($fildsValue)?',':'')."updatevon=".$this->db_add_param($this->updatevon); if (is_null($this->freigabeamum)) $fildsValue.=(!empty($fildsValue)?',':'')."freigabeamum=null"; else - $fildsValue.=(!empty($fildsValue)?',':'')."freigabeamum='".addslashes($this->freigabeamum)."'"; - $fildsValue.=(!empty($fildsValue)?',':'').(is_null($this->freigabevon) || empty($this->freigabevon)?"freigabevon=null":"freigabevon='".addslashes($this->freigabevon)."'"); - $qry.=" update ".$this->schemaSQL.".tbl_veranstaltung set "; + $fildsValue.=(!empty($fildsValue)?',':'')."freigabeamum=".$this->db_add_param($this->freigabeamum); + $fildsValue.=(!empty($fildsValue)?',':'').(is_null($this->freigabevon) || empty($this->freigabevon)?"freigabevon=null":"freigabevon=".$this->db_add_param($this->freigabevon)); + $qry.=" UPDATE ".$this->schemaSQL.".tbl_veranstaltung SET "; $qry.=$fildsValue; - $qry.=" where veranstaltung_id='".addslashes($this->veranstaltung_id)."' "; + $qry.=" WHERE veranstaltung_id=".$this->db_add_param($this->veranstaltung_id); } if(!$this->db_query($qry)) @@ -423,10 +423,10 @@ class jahresplan extends basis_db $this->errormsg = 'Fehler beim Speichern des Datensatzes'; return false; } - + if($this->new) { - $qry=" select max(".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id) from ".$this->schemaSQL.".tbl_veranstaltung; "; + $qry=" SELECT max(".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id) FROM ".$this->schemaSQL.".tbl_veranstaltung; "; if(!$this->db_query($qry)) { if (empty($this->errormsg)) @@ -447,7 +447,7 @@ class jahresplan extends basis_db $veranstaltung_id=$this->veranstaltung_id; $this->InitVeranstaltung(); $this->veranstaltung_id=$veranstaltung_id; - if (!$this->loadVeranstaltung()) + if (!$this->loadVeranstaltung()) return false; return $this->result; } @@ -455,39 +455,39 @@ class jahresplan extends basis_db /** * Loescht eine Veranstaltung * @return true wenn ok, false im Fehlerfall - */ + */ public function deleteVeranstaltung($veranstaltung_id="") { // Initialisieren $qry=''; $this->errormsg=''; - + if (!empty($veranstaltung_id)) $this->veranstaltung_id=$veranstaltung_id; - + if (empty($this->veranstaltung_id) || $this->veranstaltung_id==null ) { $this->errormsg='Veranstaltung - ID fehlt!'; return false; } - + // Abfrage $qry.="BEGIN; "; - - // Reservierung - $qry.="update ".$this->schemaSQL.".tbl_reservierung set veranstaltung_id=null "; + + // Reservierung + $qry.="UPDATE ".$this->schemaSQL.".tbl_reservierung SET veranstaltung_id=null "; if (is_array($this->veranstaltung_id)) - $qry.=" WHERE veranstaltung_id in (".implode(",",$this->veranstaltung_id)."); "; - else - $qry.=" WHERE veranstaltung_id =".$this->veranstaltung_id."; "; - - // Veranstaltung - $qry.=" delete from ".$this->schemaSQL.".tbl_veranstaltung "; + $qry.=" WHERE veranstaltung_id in (".$this->db_implode4SQL($this->veranstaltung_id)."); "; + else + $qry.=" WHERE veranstaltung_id =".$this->db_add_param($this->veranstaltung_id, FHC_INTEGER)."; "; + + // Veranstaltung + $qry.=" DELETE FROM ".$this->schemaSQL.".tbl_veranstaltung "; if (is_array($this->veranstaltung_id)) - $qry.=" WHERE veranstaltung_id in (".implode(",",$this->veranstaltung_id)."); "; - else - $qry.=" WHERE veranstaltung_id =".$this->veranstaltung_id."; "; - + $qry.=" WHERE veranstaltung_id in (".$this->db_implode4SQL($this->veranstaltung_id)."); "; + else + $qry.=" WHERE veranstaltung_id =".$this->db_add_param($this->veranstaltung_id, FHC_INTEGER)."; "; + $qry.=" COMMIT; "; if($this->db_query($qry)) @@ -497,18 +497,18 @@ class jahresplan extends basis_db if (empty($this->errormsg)) $this->errormsg = 'Fehler beim Veranstaltung löschen '; return false; - } + } } /** - * Lesen der Veranstaltung + * Lesen der Veranstaltung * @return Array mit Veranstaltungs-Objekt wenn ok, false im Fehlerfall */ public function loadVeranstaltung($veranstaltungskategorie_kurzbz="",$veranstaltung_id="",$freigabe="",$show_only_public_kategorie="") { //Init $qry=''; - + $this->errormsg=''; $this->result=array(); @@ -517,13 +517,13 @@ class jahresplan extends basis_db if (!empty($veranstaltungskategorie_kurzbz)) $this->veranstaltungskategorie_kurzbz=$veranstaltungskategorie_kurzbz; - + if ($freigabe!='') $this->freigabe=$freigabe; if ($show_only_public_kategorie!='') $this->show_only_public_kategorie=$show_only_public_kategorie; - + $qry.="SELECT tbl_veranstaltung.* "; $qry.=", to_char(tbl_veranstaltung.start, 'YYYYMMDD') as \"start_jjjjmmtt\" "; @@ -538,7 +538,7 @@ class jahresplan extends basis_db $qry.=", to_char(tbl_veranstaltung.start, 'DD') as \"start_tag\" "; $qry.=", to_char(tbl_veranstaltung.ende, 'DD') as \"ende_tag\" "; - + $qry.=", to_char(tbl_veranstaltung.start, 'Day') as \"start_tagname\" "; $qry.=", to_char(tbl_veranstaltung.ende, 'Day') as \"ende_tagname\" "; @@ -547,7 +547,7 @@ class jahresplan extends basis_db $qry.=", to_char(tbl_veranstaltung.start, 'Q') as \"start_quartal\" "; $qry.=", to_char(tbl_veranstaltung.ende, 'Q') as \"ende_quartal\" "; - + $qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.start::TIMESTAMP WITHOUT TIME ZONE at time zone 'CEST' ) as \"start_timestamp\" "; $qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.ende::TIMESTAMP WITHOUT TIME @@ -567,7 +567,7 @@ ZONE at time zone 'CEST' ) as \"ende_timestamp\" "; $qry.=", to_char(tbl_veranstaltung.updateamum, 'DD.MM.YYYY') as \"updateamum_datum\" "; $qry.=", to_char(tbl_veranstaltung.updateamum, 'HH24:MI') as \"updateamum_zeit\" "; $qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.updateamum) as \"updateamum_timestamp\" "; - + $qry.=", to_char(tbl_veranstaltung.freigabeamum, 'DD.MM.YYYY') as \"freigabeamum_datum\" "; $qry.=", to_char(tbl_veranstaltung.freigabeamum, 'HH24:MI') as \"freigabeamum_zeit\" "; $qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.freigabeamum) as \"freigabeamum_timestamp\" "; @@ -577,108 +577,108 @@ ZONE at time zone 'CEST' ) as \"ende_timestamp\" "; $qry.=" FROM ".$this->schemaSQL.".tbl_veranstaltungskategorie "; $qry.=" LEFT JOIN ".$this->schemaSQL.".tbl_veranstaltung ON ".$this->schemaSQL.".tbl_veranstaltung.veranstaltungskategorie_kurzbz=".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz "; $qry.=" WHERE ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz>'' "; - + if ($this->freigabe) { $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.freigabevon>'' "; } - // Suche nach einer einzigen Veranstaltung_id - if (!is_array($this->veranstaltung_id) && !empty($this->veranstaltung_id) ) + // Suche nach einer einzigen Veranstaltung_id + if (!is_array($this->veranstaltung_id) && !empty($this->veranstaltung_id)) { if(!is_numeric($this->veranstaltung_id)) { $this->errormsg = 'Veranstaltung_id ist ungueltig'; return false; } - $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id='".addslashes($this->veranstaltung_id)."' "; + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id=".$this->db_add_param($this->veranstaltung_id)." "; } elseif (is_array($this->veranstaltung_id) && count($this->veranstaltung_id)>0 ) { - $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id in (".addslashes(implode(",",$this->veranstaltung_id)).") "; + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id in (".$this->db_implode4SQL($this->veranstaltung_id).") "; } // Suche nach einer einzigen Veranstaltungskategorie_kurzbz if (!is_array($this->veranstaltungskategorie_kurzbz) && $this->veranstaltungskategorie_kurzbz!='' ) { - $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."' "; + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz=".$this->db_add_param($this->veranstaltungskategorie_kurzbz)." "; } elseif (is_array($this->veranstaltungskategorie_kurzbz) && count($this->veranstaltungskategorie_kurzbz)>0 ) { - $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz in ('".implode("','",$this->veranstaltungskategorie_kurzbz)."') "; + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz in (".$this->db_implode4SQL($this->veranstaltungskategorie_kurzbz).") "; } if (!empty($this->start) && empty($this->ende) ) - $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.start=to_timestamp(".$this->start.") "; + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.start=to_timestamp(".$this->db_add_param($this->start).") "; else if (empty($this->start) && !empty($this->ende) ) - $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.ende=to_timestamp(".$this->ende.") "; + $qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.ende=to_timestamp(".$this->db_add_param($this->ende).") "; else if (!empty($this->start) && !empty($this->ende) ) { - $qry.=" AND to_timestamp(".$this->start.") >=to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.start) "; - $qry.=" AND to_timestamp(".$this->ende.") <= to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.ende) "; + $qry.=" AND to_timestamp(".$this->db_add_param($this->start).") >=to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.start) "; + $qry.=" AND to_timestamp(".$this->db_add_param($this->ende).") <= to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.ende) "; } if (!empty($this->start_jahr) && empty($this->ende_jahr)) - $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY')='".addslashes($this->start_jahr)."'"; + $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY')=".$this->db_add_param($this->start_jahr); elseif (empty($this->start_jahr) && !empty($this->ende_jahr) ) - $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY')='".addslashes($this->ende_jahr)."'"; + $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY')=".$this->db_add_param($this->ende_jahr); elseif (empty($this->start_jahr) && !empty($this->ende_jahr) ) { - $qry.=" AND '".addslashes($this->start_jahr)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') "; - $qry.=" AND '".addslashes($this->ende_jahr)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') "; + $qry.=" AND ".$this->db_add_param($this->start_jahr)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') "; + $qry.=" AND ".$this->db_add_param($this->ende_jahr)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') "; } if (!empty($this->start_jahr_monat) && empty($this->ende_jahr_monat) ) - $qry.=" AND '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM')"; + $qry.=" AND ".$this->db_add_param($this->start_jahr_monat)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM')"; elseif (empty($this->start_jahr_monat) && !empty($this->ende_jahr_monat) ) - $qry.=" AND '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM')"; + $qry.=" AND ".$this->db_add_param($this->start_jahr_monat)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM')"; elseif (!empty($this->start_jahr_monat) && !empty($this->ende_jahr_monat) ) { - $qry.=" AND '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') "; - $qry.=" AND '".addslashes($this->ende_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') "; + $qry.=" AND ".$this->db_add_param($this->start_jahr_monat)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') "; + $qry.=" AND ".$this->db_add_param($this->ende_jahr_monat)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') "; } - + if (!empty($this->start_jahr_woche) && empty($this->ende_jahr_woche) ) - $qry.=" AND '".addslashes($this->start_jahr_woche)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'')"; + $qry.=" AND ".$this->db_add_param($this->start_jahr_woche)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'')"; elseif (empty($this->start_jahr_woche) && !empty($this->ende_jahr_woche) ) - $qry.=" AND '".addslashes($this->start_jahr_woche)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'')"; + $qry.=" AND ".$this->db_add_param($this->start_jahr_woche)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'')"; elseif (!empty($this->start_jahr_woche) && !empty($this->ende_jahr_woche) ) { - $qry.=" AND '".addslashes($this->start_jahr_woche)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'') "; - $qry.=" AND '".addslashes($this->ende_jahr_woche)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'') "; - } - + $qry.=" AND ".$this->db_add_param($this->start_jahr_woche)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'') "; + $qry.=" AND ".$this->db_add_param($this->ende_jahr_woche)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYIW'') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYIW'') "; + } + if (!empty($this->start_jahr_monat_tag) && empty($this->ende_jahr_monat_tag) ) - $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD')>='".addslashes($this->start_jahr_monat_tag)."'"; + $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD')>=".$this->db_add_param($this->start_jahr_monat_tag); elseif (empty($this->start_jahr_monat_tag) && !empty($this->ende_jahr_monat_tag) ) - $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMMDD')<='".addslashes($this->ende_jahr_monat_tag)."'"; + $qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMMDD')<=".$this->db_add_param($this->ende_jahr_monat_tag); elseif (!empty($this->start_jahr_monat_tag) && !empty($this->ende_jahr_monat_tag) ) { - $qry.=" AND '".addslashes($this->start_jahr_monat_tag)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMMDD') "; - $qry.=" AND '".addslashes($this->ende_jahr_monat_tag)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMMDD') "; + $qry.=" AND ".$this->db_add_param($this->start_jahr_monat_tag)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMMDD') "; + $qry.=" AND ".$this->db_add_param($this->ende_jahr_monat_tag)." between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMMDD') "; } if ($this->suchtext) { $this->suchtext='%'.$this->suchtext.'%'; $this->suchtext=str_replace(' ','%',$this->suchtext); - $this->suchtext=str_replace('%%','%',addslashes($this->suchtext)); - $qry.=" AND ( ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz like '".addslashes($this->suchtext)."' - OR ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung like '".addslashes($this->suchtext)."' - OR ".$this->schemaSQL.".tbl_veranstaltung.beschreibung like '".addslashes($this->suchtext)."' - OR ".$this->schemaSQL.".tbl_veranstaltung.inhalt like '".addslashes($this->suchtext)."' ) "; - } + $this->suchtext=str_replace('%%','%',$this->suchtext); + $qry.=" AND ( ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz like ".$this->db_add_param($this->suchtext)." + OR ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung like ".$this->db_add_param($this->suchtext)." + OR ".$this->schemaSQL.".tbl_veranstaltung.beschreibung like ".$this->db_add_param($this->suchtext)." + OR ".$this->schemaSQL.".tbl_veranstaltung.inhalt like ".$this->db_add_param($this->suchtext)." ) "; + } - // Entscheiden welche Daten angezeigt werden Public oder fuer Mitarbeiter alles + // Entscheiden welche Daten angezeigt werden Public oder fuer Mitarbeiter alles if ($this->show_only_public_kategorie) - $qry.=" AND NOT ".$this->schemaSQL.".tbl_veranstaltung.veranstaltungskategorie_kurzbz like '*%' "; - + $qry.=" AND NOT ".$this->schemaSQL.".tbl_veranstaltung.veranstaltungskategorie_kurzbz like '*%' "; + if (!empty($this->start) || !empty($this->ende) || !empty($this->start_jahr) || !empty($this->ende_jahr) || !empty($this->start_jahr_monat) || !empty($this->ende_jahr_monat) || !empty($this->start_jahr_monat_tag) || !empty($this->ende_jahr_monat_tag) ) - $qry.=" ORDER BY ".$this->schemaSQL.".tbl_veranstaltung.start, ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung "; + $qry.=" ORDER BY ".$this->schemaSQL.".tbl_veranstaltung.start, ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung "; else - $qry.=" ORDER BY ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung, ".$this->schemaSQL.".tbl_veranstaltung.start "; - + $qry.=" ORDER BY ".$this->schemaSQL.".tbl_veranstaltungskategorie.bezeichnung, ".$this->schemaSQL.".tbl_veranstaltung.start "; + if($this->db_query($qry)) { $veranstaltungkategorie=array(); @@ -686,40 +686,40 @@ ZONE at time zone 'CEST' ) as \"ende_timestamp\" "; { $veranstaltungkategorie[]=$row; } - + return $this->result=$veranstaltungkategorie; } else { if (empty($this->errormsg)) - $this->errormsg = 'Fehler Veranstaltungen lesen'; + $this->errormsg = 'Fehler beim Laden der Veranstaltung'; return false; - } - } + } + } /** * Reservierung Initialisieren * */ - public function InitReservierung() + public function InitReservierung() { - $this->reservierung_id=0; + $this->reservierung_id=0; $this->veranstaltung_id=null; $this->startDatum=''; $this->endeDatum=''; $this->startZeit=''; - $this->endeZeit=''; + $this->endeZeit=''; $this->result=array(); } - + /** * Reservierung Speichern * * @return unknown - * + * * TODO: eventuelle auslagerung in reservierung.class.php ??? */ public function saveReservierung() @@ -727,14 +727,23 @@ ZONE at time zone 'CEST' ) as \"ende_timestamp\" "; // Initialisieren $this->errormsg=''; $qry=""; - + // Plausib - if ( empty($this->reservierung_id) ) + if ( empty($this->reservierung_id) ) { $this->errormsg='Keine Reservierung ID gefunden !'; return false; - } - $qry.=" update ".$this->schemaSQL.".tbl_reservierung set veranstaltung_id=".(!empty($this->veranstaltung_id) && !is_null($this->veranstaltung_id)?$this->veranstaltung_id:"null")." WHERE reservierung_id=".$this->reservierung_id."; " ; + } + + if(!empty($this->veranstaltung_id) && !is_null($this->veranstaltung_id)) + $id = $this->db_add_param($this->veranstaltung_id); + else + $id = null; + + $qry.="UPDATE ".$this->schemaSQL.".tbl_reservierung SET + veranstaltung_id=".$id." + WHERE reservierung_id=".$this->db_add_param($this->reservierung_id)."; " ; + if($this->db_query($qry)) return true; else @@ -755,104 +764,104 @@ ZONE at time zone 'CEST' ) as \"ende_timestamp\" "; * @param unknown_type $startZeit * @param unknown_type $endeZeit * @return unknown - * + * * TODO: eventuelle auslagerung in reservierung.class.php ??? */ - public function loadReservierung($reservierung_id="",$veranstaltung_id="",$startDatum="",$endeDatum="",$startZeit="",$endeZeit="") - { + public function loadReservierung($reservierung_id="",$veranstaltung_id="",$startDatum="",$endeDatum="",$startZeit="",$endeZeit="") + { //Init $this->errormsg=''; - - if ($reservierung_id!='') + + if ($reservierung_id!='') $this->reservierung_id=$reservierung_id; - if ($veranstaltung_id!='') + if ($veranstaltung_id!='') $this->veranstaltung_id=$veranstaltung_id; - - if ($startDatum!='') + + if ($startDatum!='') $this->startDatum=$startDatum; - + if (!empty($this->startDatum) && is_numeric($this->startDatum)) $this->startDatum=strftime('%Y%m%d',$this->startDatum); - + if ($endeDatum!='') $this->endeDatum=$endeDatum; - + if (!empty($this->endeDatum) && is_numeric($this->endeDatum)) $this->endeDatum=strftime('%Y%m%d',$this->endeDatum); - + if ($startZeit!='') $this->startZeit=$startZeit; - + if (!empty($this->startZeit) && is_numeric($this->startZeit)) $this->startZeit=date('Hi',$this->startZeit); - + if ($endeZeit!='') $this->endeZeit=$endeZeit; if (!empty($this->endeZeit) && is_numeric($this->endeZeit)) - $this->endeZeit=date('Hi',$this->endeZeit); - + $this->endeZeit=date('Hi',$this->endeZeit); + $qry=''; $qry.="SELECT tbl_reservierung.* "; - + $qry.=", to_char(tbl_reservierung.datum, 'YYYYMMDD') as \"datum_jjjjmmtt\" "; $qry.=", to_char(tbl_reservierung.datum, 'YYYYMM') as \"datum_jahr_monat\" "; $qry.=", to_char(tbl_reservierung.datum, 'YYYY') as \"datum_jahr\" "; - + $qry.=", to_char(tbl_reservierung.datum, 'WW') as \"datum_woche\" "; - + $qry.=", to_char(tbl_reservierung.datum, 'Q') as \"datum_quartal\" "; - + $qry.=", to_char(tbl_reservierung.datum, 'DD.MM.YYYY') as \"datum_anzeige\" "; - - $qry.=", lehre.tbl_stunde.beginn, lehre.tbl_stunde.ende "; + + $qry.=", lehre.tbl_stunde.beginn, lehre.tbl_stunde.ende "; $qry.=", to_char(lehre.tbl_stunde.beginn, 'HH24:MI') as \"beginn_anzeige\" "; $qry.=", to_char(lehre.tbl_stunde.ende, 'HH24:MI') as \"ende_anzeige\" "; - + $qry.=", EXTRACT(EPOCH FROM tbl_reservierung.datum) as \"datum_timestamp\" "; - - + + $qry.=" FROM ".$this->schemaSQL.".tbl_reservierung "; $qry.=" RIGHT JOIN lehre.tbl_stunde ON lehre.tbl_stunde.stunde=".$this->schemaSQL.".tbl_reservierung.stunde "; - + // Wird nur fuer Lesen alle - benoetigt if (empty($this->reservierung_id) && empty($this->veranstaltung_id)) { if (!empty($this->startZeit) && empty($this->endeZeit) ) - $qry.=" AND to_char(lehre.tbl_stunde.beginn, 'HH24MI')='".$this->startZeit."' "; + $qry.=" AND to_char(lehre.tbl_stunde.beginn, 'HH24MI')=".$this->db_add_param($this->startZeit)." "; else if (empty($this->startZeit) && !empty($this->endeZeit) ) - $qry.=" AND to_char(lehre.tbl_stunde.ende, 'HH24MI')='".$this->endeZeit."' "; - else if (!empty($this->startZeit) && !empty($this->endeZeit) ) + $qry.=" AND to_char(lehre.tbl_stunde.ende, 'HH24MI')=".$this->db_add_param($this->endeZeit)." "; + else if (!empty($this->startZeit) && !empty($this->endeZeit)) { - $qry.=" AND to_char(lehre.tbl_stunde.beginn, 'HH24MI') >='".$this->startZeit."' "; - $qry.=" AND to_char(lehre.tbl_stunde.ende, 'HH24MI') <= '".$this->endeZeit.",' "; - } - } - - $qry.=" WHERE ".$this->schemaSQL.".tbl_reservierung.titel>'' "; - - // Suche nach einer einzigen reservierung_id + $qry.=" AND to_char(lehre.tbl_stunde.beginn, 'HH24MI') >=".$this->db_add_param($this->startZeit)." "; + $qry.=" AND to_char(lehre.tbl_stunde.ende, 'HH24MI') <= ".$this->db_add_param($this->endeZeit)." "; + } + } + + $qry.=" WHERE ".$this->schemaSQL.".tbl_reservierung.titel>'' "; + + // Suche nach einer einzigen reservierung_id if (!is_array($this->reservierung_id) && !empty($this->reservierung_id) ) - $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.reservierung_id=".$this->reservierung_id." "; + $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.reservierung_id=".$this->db_add_param($this->reservierung_id)." "; elseif (is_array($this->reservierung_id) && count($this->reservierung_id)>0 ) - $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.reservierung_id in (".implode(",",$this->reservierung_id).") "; - - // Suche nach einer einzigen Veranstaltung_id + $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.reservierung_id in (".$this->db_implode4SQL($this->reservierung_id).") "; + + // Suche nach einer einzigen Veranstaltung_id if (!is_array($this->veranstaltung_id) && !empty($this->veranstaltung_id) ) - $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.veranstaltung_id=".$this->veranstaltung_id." "; - elseif (is_array($this->veranstaltung_id) && count($this->veranstaltung_id)>0 ) - $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.veranstaltung_id in (".implode(",",$this->veranstaltung_id).") "; - + $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.veranstaltung_id=".$this->db_add_param($this->veranstaltung_id)." "; + elseif (is_array($this->veranstaltung_id) && count($this->veranstaltung_id)>0 ) + $qry.=" AND ".$this->schemaSQL.".tbl_reservierung.veranstaltung_id in (".$this->db_implode4SQL($this->veranstaltung_id).") "; + if (!empty($this->startDatum) && empty($this->endeDatum) ) - $qry.=" AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD')='".$this->start."' "; + $qry.=" AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD')=".$this->db_add_param($this->start)." "; else if (empty($this->startDatum) && !empty($this->endeDatum) ) - $qry.=" AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD')='".$this->ende."' "; + $qry.=" AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD')=".$this->db_add_param($this->ende)." "; else if (!empty($this->startDatum) && !empty($this->endeDatum) ) { - $qry.=" AND '".$this->startDatum."' between to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') "; - $qry.=" AND '".$this->endeDatum."' between to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') "; - } - $qry.=" ORDER BY ".$this->schemaSQL.".tbl_reservierung.datum,tbl_reservierung.stunde "; - + $qry.=" AND ".$this->db_add_param($this->startDatum)." between to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') "; + $qry.=" AND ".$this->db_add_param($this->endeDatum)." between to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') AND to_char(".$this->schemaSQL.".tbl_reservierung.datum, 'YYYYMMDD') "; + } + $qry.=" ORDER BY ".$this->schemaSQL.".tbl_reservierung.datum,tbl_reservierung.stunde "; + if($this->db_query($qry)) { $this->result=array(); @@ -867,7 +876,7 @@ ZONE at time zone 'CEST' ) as \"ende_timestamp\" "; if (empty($this->errormsg)) $this->errormsg = 'Fehler Reservierung lesen'; return false; - } - } + } + } } ?> diff --git a/locale/de-AT/incoming.php b/locale/de-AT/incoming.php index 5a9479770..38a7fa87c 100644 --- a/locale/de-AT/incoming.php +++ b/locale/de-AT/incoming.php @@ -134,10 +134,10 @@ $this->phrasen['incoming/tabelleSortierinformation']='Sie können die Spalten du $this->phrasen['incoming/waehlenSieAusDenOptionen']='Bitte wählen Sie die gewünschen Optionen aus dem DropDown und klicken Sie auf "Filter"'; $this->phrasen['incoming/lvInfo']='LV-Info'; $this->phrasen['incoming/erfolgreichAbgeschickt']='Ihre Bewerbung wurde erfolgreich abgeschickt. Die zuständige Assistenz wird sich in Kürze mit Ihnen in Verbindung setzen'; -$this->phrasen['incoming/fehlerBeimSenden']='Fehler beim Senden der Bewerbung. Bitte kontaktieren Sie '.MAIL_INTERNATIONAL.''; +$this->phrasen['incoming/fehlerBeimSenden']='Fehler beim Senden der Bewerbung. Bitte kontaktieren Sie %s'; $this->phrasen['incoming/jahreStudiertMussGanzeZahlSein']='Das Feld "Jahre studiert" muss eine ganze Zahl sein'; -$this->phrasen['incoming/lvVollBelegt']='Es sind mittlerweile keine freien Plätze mehr für diese Lehrveranstaltung verfügbar. Bei Rückfragen kontaktieren Sie bitte '.MAIL_INTERNATIONAL.''; +$this->phrasen['incoming/lvVollBelegt']='Es sind mittlerweile keine freien Plätze mehr für diese Lehrveranstaltung verfügbar. Bei Rückfragen kontaktieren Sie bitte %s'; $this->phrasen['incoming/beginnNichtInVergangenheit']='Das Beginndatum darf nicht in der Vergangenheit liegen'; $this->phrasen['incoming/endeGroesserStart']='Das Endedatum darf nicht vor dem Beginndatum liegen'; $this->phrasen['incoming/bitteGueltigesDatumEingeben']='Das Start- oder Endedatum muss im Format TT.MM.YYYY vorliegen'; -?> \ No newline at end of file +?> diff --git a/locale/en-US/incoming.php b/locale/en-US/incoming.php index a9f944573..b26d950d7 100644 --- a/locale/en-US/incoming.php +++ b/locale/en-US/incoming.php @@ -135,10 +135,10 @@ $this->phrasen['incoming/tabelleSortierinformation']='You may sort the columns b $this->phrasen['incoming/waehlenSieAusDenOptionen']='Please choose your options from the DropDown-Fields and click "Filter"'; $this->phrasen['incoming/lvInfo']='Course-Info'; $this->phrasen['incoming/erfolgreichAbgeschickt']='Admission sent successfully. The administrative assistant responsible will contact you soon'; -$this->phrasen['incoming/fehlerBeimSenden']='An error occured while sending the application. Please contact '.MAIL_INTERNATIONAL.''; +$this->phrasen['incoming/fehlerBeimSenden']='An error occured while sending the application. Please contact %s'; $this->phrasen['incoming/jahreStudiertMussGanzeZahlSein']='"Years completed" must be a positive integer'; -$this->phrasen['incoming/lvVollBelegt']='By now there are no vacancies for this course. For further questions please contact '.MAIL_INTERNATIONAL.''; +$this->phrasen['incoming/lvVollBelegt']='By now there are no vacancies for this course. For further questions please contact %s'; $this->phrasen['incoming/beginnNichtInVergangenheit']='The "From"-date may not be in the past'; $this->phrasen['incoming/endeGroesserStart']='The "To"-date may not be before the start'; $this->phrasen['incoming/bitteGueltigesDatumEingeben']='The date for the begin and end must be entered in the DD.MM.YYYY format'; -?> \ No newline at end of file +?> diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index aa29445e3..07dd57b45 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -1768,6 +1768,132 @@ if($result = @$db->db_query("SELECT * FROM system.tbl_filters WHERE filter_kurzb } } +/** Budget **/ +if (!$result = @$db->db_query("SELECT 1 FROM wawi.tbl_budgetantrag LIMIT 1")) +{ + $qry = "CREATE TABLE wawi.tbl_budgetantrag + ( + budgetantrag_id integer NOT NULL, + kostenstelle_id integer NOT NULL, + geschaeftsjahr_kurzbz varchar(32) NOT NULL, + bezeichnung varchar(256), + insertamum timestamp DEFAULT now(), + insertvon varchar(32), + updateamum timestamp, + updatevon varchar(32) + ); + COMMENT ON TABLE wawi.tbl_budgetantrag IS 'Budget Requests'; + + ALTER TABLE wawi.tbl_budgetantrag ADD CONSTRAINT pk_tbl_budgetantrag PRIMARY KEY (budgetantrag_id); + + CREATE SEQUENCE wawi.tbl_budgetantrag_budgetantrag_id_seq + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + CACHE 1; + ALTER TABLE wawi.tbl_budgetantrag ALTER COLUMN budgetantrag_id SET DEFAULT nextval(' wawi.tbl_budgetantrag_budgetantrag_id_seq'); + + GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetantrag TO vilesci; + GRANT SELECT, UPDATE ON wawi.tbl_budgetantrag_budgetantrag_id_seq TO vilesci; + + ALTER TABLE wawi.tbl_budgetantrag ADD CONSTRAINT fk_budgetantrag_kostenstelle_id FOREIGN KEY (kostenstelle_id) REFERENCES wawi.tbl_kostenstelle(kostenstelle_id) ON UPDATE CASCADE ON DELETE RESTRICT; + ALTER TABLE wawi.tbl_budgetantrag ADD CONSTRAINT fk_budgetantrag_geschaeftsjahr_kurzbz FOREIGN KEY (geschaeftsjahr_kurzbz) REFERENCES public.tbl_geschaeftsjahr(geschaeftsjahr_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; + + CREATE TABLE wawi.tbl_budgetstatus + ( + budgetstatus_kurzbz varchar(32) NOT NULL, + bezeichnung varchar(128) + ); + COMMENT ON TABLE wawi.tbl_budgetstatus IS 'Key Table of Budget Request Statuses'; + + ALTER TABLE wawi.tbl_budgetstatus ADD CONSTRAINT pk_tbl_budgetstatus PRIMARY KEY (budgetstatus_kurzbz); + + INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('new','Neu'); + INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('sent','Abgeschickt'); + INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('approved','Freigegeben'); + INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('accepted','Akzeptiert'); + INSERT INTO wawi.tbl_budgetstatus(budgetstatus_kurzbz, bezeichnung) VALUES('rejected','Abgelehnt'); + + GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetantrag TO vilesci; + + CREATE TABLE wawi.tbl_budgetantrag_status + ( + budgetantrag_status_id integer NOT NULL, + budgetantrag_id integer NOT NULL, + budgetstatus_kurzbz varchar(32) NOT NULL, + datum timestamp NOT NULL, + uid varchar(32), + oe_kurzbz varchar(32), + insertamum timestamp DEFAULT now(), + insertvon varchar(32) + ); + COMMENT ON TABLE wawi.tbl_budgetantrag_status IS 'Statuses of Budget Requests'; + + ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT pk_tbl_budgetantrag_status PRIMARY KEY (budgetantrag_status_id); + + CREATE SEQUENCE wawi.tbl_budgetantrag_status_budgetantrag_status_id_seq + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + CACHE 1; + ALTER TABLE wawi.tbl_budgetantrag_status ALTER COLUMN budgetantrag_status_id SET DEFAULT nextval(' wawi.tbl_budgetantrag_status_budgetantrag_status_id_seq'); + + ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT fk_budgetantrag_status_budgetstatus_kurzbz FOREIGN KEY (budgetstatus_kurzbz) REFERENCES wawi.tbl_budgetstatus(budgetstatus_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; + ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT fk_budgetantrag_status_uid FOREIGN KEY (uid) REFERENCES public.tbl_benutzer(uid) ON UPDATE CASCADE ON DELETE RESTRICT; + ALTER TABLE wawi.tbl_budgetantrag_status ADD CONSTRAINT fk_budgetantrag_status_oe_kurzbz FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; + + GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetantrag TO vilesci; + GRANT SELECT, UPDATE ON wawi.tbl_budgetantrag_status_budgetantrag_status_id_seq TO vilesci; + + CREATE SEQUENCE fue.tbl_projekt_projekt_id_seq + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + CACHE 1; + GRANT SELECT, UPDATE ON fue.tbl_projekt_projekt_id_seq TO vilesci; + ALTER TABLE fue.tbl_projekt ADD COLUMN projekt_id integer NOT NULL DEFAULT nextval('fue.tbl_projekt_projekt_id_seq'); + ALTER TABLE fue.tbl_projekt ADD CONSTRAINT uk_tbl_projekt_projekt_id UNIQUE (projekt_id); + + CREATE TABLE wawi.tbl_budgetposition + ( + budgetposition_id integer NOT NULL, + budgetantrag_id integer NOT NULL, + budgetposten varchar(512), + konto_id integer, + betrag numeric(12,4), + kommentar text, + projekt_id integer, + insertamum timestamp, + insertvon varchar(32), + updateamum timestamp, + updatevon varchar(32) + ); + + COMMENT ON TABLE wawi.tbl_budgetposition IS 'Budget position'; + + ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT pk_tbl_budgetposition PRIMARY KEY (budgetposition_id); + + CREATE SEQUENCE wawi.tbl_budgetposition_budgetposition_id_seq + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + CACHE 1; + ALTER TABLE wawi.tbl_budgetposition ALTER COLUMN budgetposition_id SET DEFAULT nextval(' wawi.tbl_budgetposition_budgetposition_id_seq'); + + ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT fk_tbl_budgetposition_budgetantrag_id FOREIGN KEY (budgetantrag_id) REFERENCES wawi.tbl_budgetantrag(budgetantrag_id) ON UPDATE CASCADE ON DELETE RESTRICT; + ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT fk_tbl_budgetposition_konto_id FOREIGN KEY (konto_id) REFERENCES wawi.tbl_konto(konto_id) ON UPDATE CASCADE ON DELETE RESTRICT; + ALTER TABLE wawi.tbl_budgetposition ADD CONSTRAINT fk_tbl_budgetposition_projekt_id FOREIGN KEY (projekt_id) REFERENCES fue.tbl_projekt(projekt_id) ON UPDATE CASCADE ON DELETE RESTRICT; + + GRANT SELECT, INSERT, UPDATE, DELETE ON wawi.tbl_budgetposition TO vilesci; + GRANT SELECT, UPDATE ON wawi.tbl_budgetposition_budgetposition_id_seq TO vilesci; + "; + if(!$db->db_query($qry)) + echo 'Budget: '.$db->db_last_error().'
'; + else + echo '
Neue Tabellen fuer Budgetantrag in Schema wawi hinzugefuegt'; + +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -1858,7 +1984,7 @@ $tabellen=array( "campus.tbl_zeitwunsch" => array("stunde","mitarbeiter_uid","tag","gewicht","updateamum","updatevon","insertamum","insertvon"), "fue.tbl_aktivitaet" => array("aktivitaet_kurzbz","beschreibung","sort"), "fue.tbl_aufwandstyp" => array("aufwandstyp_kurzbz","bezeichnung"), - "fue.tbl_projekt" => array("projekt_kurzbz","nummer","titel","beschreibung","beginn","ende","oe_kurzbz","budget","farbe","aufwandstyp_kurzbz","ressource_id","anzahl_ma","aufwand_pt"), + "fue.tbl_projekt" => array("projekt_kurzbz","nummer","titel","beschreibung","beginn","ende","oe_kurzbz","budget","farbe","aufwandstyp_kurzbz","ressource_id","anzahl_ma","aufwand_pt","projekt_id"), "fue.tbl_projektphase" => array("projektphase_id","projekt_kurzbz","projektphase_fk","bezeichnung","typ","beschreibung","start","ende","budget","insertamum","insertvon","updateamum","updatevon","personentage","farbe","ressource_id"), "fue.tbl_projekttask" => array("projekttask_id","projektphase_id","bezeichnung","beschreibung","aufwand","mantis_id","insertamum","insertvon","updateamum","updatevon","projekttask_fk","erledigt","ende","ressource_id","scrumsprint_id"), "fue.tbl_projekt_dokument" => array("projekt_dokument_id","projektphase_id","projekt_kurzbz","dms_id"), @@ -2036,6 +2162,10 @@ $tabellen=array( "wawi.tbl_betriebsmittelstatus" => array("betriebsmittelstatus_kurzbz","beschreibung"), "wawi.tbl_betriebsmitteltyp" => array("betriebsmitteltyp","beschreibung","anzahl","kaution","typ_code","mastershapename"), "wawi.tbl_budget" => array("geschaeftsjahr_kurzbz","kostenstelle_id","budget"), + "wawi.tbl_budgetantrag" => array("budgetantrag_id","kostenstelle_id","geschaeftsjahr_kurzbz","bezeichnung","insertamum","insertvon","updateamum","updatevon"), + "wawi.tbl_budgetantrag_status" => array("budgetantrag_status_id","budgetantrag_id","budgetstatus_kurzbz","datum","uid","oe_kurzbz","insertamum","insertvon"), + "wawi.tbl_budgetstatus" => array("budgetstatus_kurzbz","bezeichnung"), + "wawi.tbl_budgetposition" => array("budgetposition_id","budgetantrag_id","budgetposten","konto_id","betrag","kommentar","projekt_id","insertamum","insertvon","updateamum","updatevon"), "wawi.tbl_zahlungstyp" => array("zahlungstyp_kurzbz","bezeichnung"), "wawi.tbl_konto" => array("konto_id","kontonr","beschreibung","kurzbz","aktiv","person_id","insertamum","insertvon","updateamum","updatevon","ext_id","person_id"), "wawi.tbl_konto_kostenstelle" => array("konto_id","kostenstelle_id","insertamum","insertvon"), diff --git a/vilesci/personen/incoming_lehrveranstaltungen.php b/vilesci/personen/incoming_lehrveranstaltungen.php index ec31f7374..18e396a25 100644 --- a/vilesci/personen/incoming_lehrveranstaltungen.php +++ b/vilesci/personen/incoming_lehrveranstaltungen.php @@ -17,11 +17,9 @@ * * Authors: Manfred Kindl . */ - - require_once('../../config/vilesci.config.inc.php'); require_once('../../config/global.config.inc.php'); -require_once '../../include/person.class.php'; +require_once '../../include/person.class.php'; require_once '../../include/functions.inc.php'; require_once '../../include/phrasen.class.php'; require_once '../../include/preincoming.class.php'; @@ -38,10 +36,10 @@ $rechte->getBerechtigungen($user); if(isset($_GET['lang'])) setSprache($_GET['lang']); - -$sprache = getSprache(); -$p=new phrasen($sprache); - + +$sprache = getSprache(); +$p=new phrasen($sprache); + $method = htmlspecialchars($_GET['method']); $db = new basis_db(); @@ -68,35 +66,34 @@ if (isset($_GET['filter']) || isset($_GET['unterrichtssprache']) || isset($_GET[ - - - - - + + + + + - + sortList: [[0,0],[1,0]], + widgets: ["zebra"] + }); + }); + function conf(val1) + { + return confirm("Incomingplätze der LV '"+val1+"' auf 0 setzen?"); + } + -isBerechtigt('inout/incoming', null, 'suid')) die($rechte->errormsg); @@ -106,22 +103,22 @@ if($method=="lehrveranstaltungen") if(isset($_GET['mode']) && $_GET['mode'] == "setZero") { - $id= $_GET['id']; + $id= $_GET['id']; $lehrveranstaltung = new lehrveranstaltung(); $lehrveranstaltung->load($id); - + $lehrveranstaltung->incoming = 0; - + if($lehrveranstaltung->save()) - $message = $p->t('global/erfolgreichgespeichert'); + $message = $p->t('global/erfolgreichgespeichert'); else - $message = $p->t('global/fehleraufgetreten'); + $message = $p->t('global/fehleraufgetreten'); } - + // Übersicht aller LVs echo '

Lehrveranstaltungs-Verwaltung

'; echo ' - +
@@ -146,7 +143,6 @@ if($method=="lehrveranstaltungen") $SSemesterSelected='selected'; echo ''; - echo ''; echo'
'; @@ -164,7 +160,6 @@ if($method=="lehrveranstaltungen") $EnglishSelected='selected'; echo ''; - echo ''; echo'
'; @@ -184,14 +179,14 @@ if($method=="lehrveranstaltungen") if ($row->typ == 'b' || $row->typ == 'm' || $row->studiengang_kz == '10006') { $selected = ''; - + if ($typ != $row->typ || $typ=='') { if ($typ!='') echo ''; echo ''; } - + if(isset($_GET['studiengang']) && $_GET['studiengang'] == $row->studiengang_kz) $selected='selected'; @@ -209,18 +204,18 @@ if($method=="lehrveranstaltungen")
'; - + // Filter für Semester setzen $filterqry = ''; - + if(isset($_GET['filter'])) if($_GET['filter'] == "WSemester") $filterqry= " AND tbl_lehrveranstaltung.semester IN (1,3,5)"; elseif($_GET['filter'] == "SSemester") $filterqry= " AND tbl_lehrveranstaltung.semester IN (2,4,6)"; - + if(isset($_GET['unterrichtssprache']) && $_GET['unterrichtssprache']!='') - $filterqry .= " AND tbl_lehrveranstaltung.sprache='".$_GET['unterrichtssprache']."'"; + $filterqry .= " AND tbl_lehrveranstaltung.sprache=".$db->db_add_param($_GET['unterrichtssprache']); //Uebersicht LVs /* Erklaerung der Datumszeitraeume ab Zeile 857: @@ -235,15 +230,15 @@ if($method=="lehrveranstaltungen") * -------------------| Von ist NULL und bis innerhalb SS * |--------------------------- Bis ist NULL und von innerhalb SS */ - + $studiensemester_array = array(); $studiensemester = new studiensemester(); $studiensemester_array[] = $studiensemester->getakt(); - + $studiensemester->getFutureStudiensemester('',2); foreach ($studiensemester->studiensemester AS $row) $studiensemester_array[] = $row->studiensemester_kurzbz; - + if(isset($_GET['go'])) { // QUERY liefert LVs aus den gültigen Studienordnungen UND jene mit Anmeldungen, auch wenn Incomingplätze 0 sind oder die LV in keinem gültigen Studienplan liegt @@ -258,19 +253,18 @@ if($method=="lehrveranstaltungen") person_id FROM campus.vw_student_lehrveranstaltung - JOIN public.tbl_benutzer using(uid) - JOIN public.tbl_student ON(uid=student_uid) - JOIN public.tbl_prestudentstatus USING(prestudent_id) + JOIN public.tbl_benutzer using(uid) + JOIN public.tbl_student ON(uid=student_uid) + JOIN public.tbl_prestudentstatus USING(prestudent_id) WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND - tbl_lehreinheit.studiensemester_kurzbz='$stsem->studiensemester_kurzbz') - AND - tbl_prestudentstatus.status_kurzbz='Incoming' - AND tbl_prestudentstatus.studiensemester_kurzbz='$stsem->studiensemester_kurzbz' + tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem->studiensemester_kurzbz).") + AND tbl_prestudentstatus.status_kurzbz='Incoming' + AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($stsem->studiensemester_kurzbz)." UNION SELECT person_id @@ -280,45 +274,45 @@ if($method=="lehrveranstaltungen") WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND ( - (bis - '$stsem->start' > '$stsem->start' - von) OR - ('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR - (bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR - ('$stsem->start' <= von AND von < '$stsem->ende' AND bis > '$stsem->ende') OR - (von >= '$stsem->start' AND bis <= '$stsem->ende') OR - (von <= '$stsem->start' AND bis >= '$stsem->ende') OR + (bis - ".$db->db_add_param($stsem->start)." > ".$db->db_add_param($stsem->start)." - von) OR + (".$db->db_add_param($stsem->start)." <= von AND bis >= ".$db->db_add_param($stsem->ende)." AND ".$db->db_add_param($stsem->ende)." - von > bis - ".$db->db_add_param($stsem->ende).") OR + (bis <= ".$db->db_add_param($stsem->ende)." AND bis >= ".$db->db_add_param($stsem->start)." AND von < ".$db->db_add_param($stsem->start).") OR + (".$db->db_add_param($stsem->start)." <= von AND von < ".$db->db_add_param($stsem->ende)." AND bis > ".$db->db_add_param($stsem->ende).") OR + (von >= ".$db->db_add_param($stsem->start)." AND bis <= ".$db->db_add_param($stsem->ende).") OR + (von <= ".$db->db_add_param($stsem->start)." AND bis >= ".$db->db_add_param($stsem->ende).") OR (von IS NULL AND bis IS NULL) OR - (von IS NULL AND bis <= '$stsem->ende' AND bis > '$stsem->start') OR - (bis IS NULL AND von < '$stsem->ende' AND von >= '$stsem->start') + (von IS NULL AND bis <= ".$db->db_add_param($stsem->ende)." AND bis > ".$db->db_add_param($stsem->start).") OR + (bis IS NULL AND von < ".$db->db_add_param($stsem->ende)." AND von >= ".$db->db_add_param($stsem->start).") ) AND aktiv = true - )a ) as anzahl + )a ) as anzahl FROM lehre.tbl_lehrveranstaltung - JOIN - public.tbl_studiengang USING(studiengang_kz) + JOIN + public.tbl_studiengang USING(studiengang_kz) WHERE - tbl_lehrveranstaltung.incoming>0 AND - tbl_lehrveranstaltung.aktiv AND - tbl_lehrveranstaltung.lehre AND - tbl_lehrveranstaltung.lehrveranstaltung_id IN + tbl_lehrveranstaltung.incoming>0 AND + tbl_lehrveranstaltung.aktiv AND + tbl_lehrveranstaltung.lehre AND + tbl_lehrveranstaltung.lehrveranstaltung_id IN ( - SELECT lehrveranstaltung_id FROM lehre.tbl_studienplan_lehrveranstaltung - JOIN lehre.tbl_studienplan USING (studienplan_id) - JOIN lehre.tbl_studienordnung USING (studienordnung_id) + SELECT lehrveranstaltung_id FROM lehre.tbl_studienplan_lehrveranstaltung + JOIN lehre.tbl_studienplan USING (studienplan_id) + JOIN lehre.tbl_studienordnung USING (studienordnung_id) JOIN lehre.tbl_studienplan_semester USING (studienplan_id) - WHERE tbl_studienordnung.status_kurzbz='approved' + WHERE tbl_studienordnung.status_kurzbz='approved' AND tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id - AND tbl_studienplan_semester.studiensemester_kurzbz IN ('".implode("','", $studiensemester_array)."') + AND tbl_studienplan_semester.studiensemester_kurzbz IN (".$db->db_implode4SQL($studiensemester_array).") AND tbl_studienplan_semester.semester=tbl_lehrveranstaltung.semester - ) + ) AND ((tbl_lehrveranstaltung.studiengang_kz>0 AND tbl_lehrveranstaltung.studiengang_kz<10000) OR tbl_lehrveranstaltung.studiengang_kz=10006)"; - + if (isset($_GET['studiengang']) && $_GET['studiengang'] !='') - $qry .= " AND tbl_lehrveranstaltung.studiengang_kz=".$_GET['studiengang']; - + $qry .= " AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($_GET['studiengang'], FHC_INTEGER); + $qry .= " AND tbl_studiengang.aktiv ".$filterqry; - - $qry .= " + + $qry .= " UNION SELECT @@ -341,10 +335,10 @@ if($method=="lehrveranstaltungen") lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND - tbl_lehreinheit.studiensemester_kurzbz='$stsem->studiensemester_kurzbz') + tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem->studiensemester_kurzbz).") AND tbl_prestudentstatus.status_kurzbz='Incoming' - AND tbl_prestudentstatus.studiensemester_kurzbz='$stsem->studiensemester_kurzbz' + AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($stsem->studiensemester_kurzbz)." UNION SELECT person_id @@ -354,40 +348,40 @@ if($method=="lehrveranstaltungen") WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND ( - (bis - '$stsem->start' > '$stsem->start' - von) OR - ('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR - (bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR - ('$stsem->start' <= von AND von < '$stsem->ende' AND bis > '$stsem->ende') OR - (von >= '$stsem->start' AND bis <= '$stsem->ende') OR - (von <= '$stsem->start' AND bis >= '$stsem->ende') OR + (bis - ".$db->db_add_param($stsem->start)." > ".$db->db_add_param($stsem->start)." - von) OR + (".$db->db_add_param($stsem->start)." <= von AND bis >= ".$db->db_add_param($stsem->ende)." AND ".$db->db_add_param($stsem->ende)." - von > bis - ".$db->db_add_param($stsem->ende).") OR + (bis <= ".$db->db_add_param($stsem->ende)." AND bis >= ".$db->db_add_param($stsem->start)." AND von < ".$db->db_add_param($stsem->start).") OR + (".$db->db_add_param($stsem->start)." <= von AND von < ".$db->db_add_param($stsem->ende)." AND bis > ".$db->db_add_param($stsem->ende).") OR + (von >= ".$db->db_add_param($stsem->start)." AND bis <= ".$db->db_add_param($stsem->ende).") OR + (von <= ".$db->db_add_param($stsem->start)." AND bis >= ".$db->db_add_param($stsem->ende).") OR (von IS NULL AND bis IS NULL) OR - (von IS NULL AND bis <= '$stsem->ende' AND bis > '$stsem->start') OR - (bis IS NULL AND von < '$stsem->ende' AND von >= '$stsem->start') + (von IS NULL AND bis <= ".$db->db_add_param($stsem->ende)." AND bis > ".$db->db_add_param($stsem->start).") OR + (bis IS NULL AND von < ".$db->db_add_param($stsem->ende)." AND von >= ".$db->db_add_param($stsem->start).") ) AND aktiv = true - )a ) as anzahl + )a ) as anzahl FROM public.tbl_preincoming_lehrveranstaltung JOIN public.tbl_preincoming using(preincoming_id) JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id) JOIN public.tbl_studiengang USING(studiengang_kz) - WHERE + WHERE ( - (bis - '$stsem->start' > '$stsem->start' - von) OR - ('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR - (bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR - ('$stsem->start' <= von AND von < '$stsem->ende' AND bis > '$stsem->ende') OR - (von >= '$stsem->start' AND bis <= '$stsem->ende') OR - (von <= '$stsem->start' AND bis >= '$stsem->ende') OR + (bis - ".$db->db_add_param($stsem->start)." > ".$db->db_add_param($stsem->start)." - von) OR + (".$db->db_add_param($stsem->start)." <= von AND bis >= ".$db->db_add_param($stsem->ende)." AND ".$db->db_add_param($stsem->ende)." - von > bis - ".$db->db_add_param($stsem->ende).") OR + (bis <= ".$db->db_add_param($stsem->ende)." AND bis >= ".$db->db_add_param($stsem->start)." AND von < ".$db->db_add_param($stsem->start).") OR + (".$db->db_add_param($stsem->start)." <= von AND von < ".$db->db_add_param($stsem->ende)." AND bis > ".$db->db_add_param($stsem->ende).") OR + (von >= ".$db->db_add_param($stsem->start)." AND bis <= ".$db->db_add_param($stsem->ende).") OR + (von <= ".$db->db_add_param($stsem->start)." AND bis >= ".$db->db_add_param($stsem->ende).") OR (von IS NULL AND bis IS NULL) OR - (von IS NULL AND bis <= '$stsem->ende' AND bis > '$stsem->start') OR - (bis IS NULL AND von < '$stsem->ende' AND von >= '$stsem->start') + (von IS NULL AND bis <= ".$db->db_add_param($stsem->ende)." AND bis > ".$db->db_add_param($stsem->start).") OR + (bis IS NULL AND von < ".$db->db_add_param($stsem->ende)." AND von >= ".$db->db_add_param($stsem->start).") ) AND tbl_preincoming.aktiv = true "; - + if (isset($_GET['studiengang']) && $_GET['studiengang'] !='') - $qry .= " AND tbl_lehrveranstaltung.studiengang_kz=".$_GET['studiengang']; + $qry .= " AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($_GET['studiengang'], FHC_INTEGER); $qry .= " AND tbl_studiengang.aktiv ".$filterqry." order by studiengang_kz"; @@ -420,7 +414,7 @@ if($method=="lehrveranstaltungen") { $freieplaetze = $row->incoming - $row->anzahl; $style = ''; - + $studiengang = new studiengang(); $studiengang->load($row->studiengang_kz); $studiengang_language = ($sprache == 'German') ? $studiengang->bezeichnung : $studiengang->english; @@ -432,10 +426,10 @@ if($method=="lehrveranstaltungen") else $typ = '-'; echo ''; - + if ($freieplaetze<=0) $style = 'style="background-color: #FF8888"'; - + echo '',$row->lehrveranstaltung_id,''; echo '',$studiengang_language,''; echo '',$typ,''; @@ -471,7 +465,7 @@ elseif($method=="anmeldungen") echo '

Übersicht Anmeldungen

'; // Filter für Semester setzen - + //Uebersicht LVs /* Erklaerung der Datumszeitraeume @@ -503,10 +497,10 @@ elseif($method=="anmeldungen") lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id=".$id." AND - tbl_lehreinheit.studiensemester_kurzbz='$stsem->studiensemester_kurzbz') + tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem->studiensemester_kurzbz).") AND tbl_prestudentstatus.status_kurzbz='Incoming' - AND tbl_prestudentstatus.studiensemester_kurzbz='$stsem->studiensemester_kurzbz' + AND tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($stsem->studiensemester_kurzbz)." UNION SELECT nachname, vorname @@ -517,19 +511,19 @@ elseif($method=="anmeldungen") WHERE lehrveranstaltung_id=".$id." AND ( - (bis - '$stsem->start' > '$stsem->start' - von) OR - ('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR - (bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR - ('$stsem->start' <= von AND von < '$stsem->ende' AND bis > '$stsem->ende') OR - (von >= '$stsem->start' AND bis <= '$stsem->ende') OR - (von <= '$stsem->start' AND bis >= '$stsem->ende') OR + (bis - ".$db->db_add_param($stsem->start)." > ".$db->db_add_param($stsem->start)." - von) OR + (".$db->db_add_param($stsem->start)." <= von AND bis >= ".$db->db_add_param($stsem->ende)." AND ".$db->db_add_param($stsem->ende)." - von > bis - ".$db->db_add_param($stsem->ende).") OR + (bis <= ".$db->db_add_param($stsem->ende)." AND bis >= ".$db->db_add_param($stsem->start)." AND von < ".$db->db_add_param($stsem->start).") OR + (".$db->db_add_param($stsem->start)." <= von AND von < ".$db->db_add_param($stsem->ende)." AND bis > ".$db->db_add_param($stsem->ende).") OR + (von >= ".$db->db_add_param($stsem->start)." AND bis <= ".$db->db_add_param($stsem->ende).") OR + (von <= ".$db->db_add_param($stsem->start)." AND bis >= ".$db->db_add_param($stsem->ende).") OR (von IS NULL AND bis IS NULL) OR - (von IS NULL AND bis <= '$stsem->ende' AND bis > '$stsem->start') OR - (bis IS NULL AND von < '$stsem->ende' AND von >= '$stsem->start') + (von IS NULL AND bis <= ".$db->db_add_param($stsem->ende)." AND bis > ".$db->db_add_param($stsem->start).") OR + (bis IS NULL AND von < ".$db->db_add_param($stsem->ende)." AND von >= ".$db->db_add_param($stsem->start).") ) AND tbl_preincoming.aktiv = true"; - - + + if($result = $db->db_query($qry)) { if ($db->db_num_rows($result)>0) @@ -544,12 +538,12 @@ elseif($method=="anmeldungen") '; while($row = $db->db_fetch_object($result)) { - + echo ''; echo '',$row->nachname,''; echo '',$row->vorname,''; echo ''; - + } echo ''; } @@ -562,4 +556,4 @@ elseif($method=="anmeldungen") } ?> - \ No newline at end of file +