From bb78764bef722a284ffa89dc21296eb641e92358 Mon Sep 17 00:00:00 2001 From: oesi Date: Tue, 28 Apr 2015 18:26:29 +0200 Subject: [PATCH 01/14] =?UTF-8?q?Sicherheitsl=C3=BCcke=20beim=20L=C3=B6sch?= =?UTF-8?q?en=20von=20Reservierungen=20behoben?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/lvplan/stpl_reserve_list.php | 58 ++++++++++++++---------- include/reservierung.class.php | 44 +++++++++++++++++- 2 files changed, 76 insertions(+), 26 deletions(-) diff --git a/cis/private/lvplan/stpl_reserve_list.php b/cis/private/lvplan/stpl_reserve_list.php index 08a02344d..ddb757e38 100644 --- a/cis/private/lvplan/stpl_reserve_list.php +++ b/cis/private/lvplan/stpl_reserve_list.php @@ -24,6 +24,7 @@ require_once('../../../include/functions.inc.php'); require_once('../../../include/datum.class.php'); require_once('../../../include/benutzerberechtigung.class.php'); require_once('../../../include/phrasen.class.php'); +require_once('../../../include/reservierung.class.php'); if (!$db = new basis_db()) die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')); @@ -54,23 +55,30 @@ if(!$rechte->isBerechtigt('lehre/reservierung:begrenzt', null, 'suid')) -

- - - - - -
 t('lvplan/lehrveranstaltungsplan');?> >> t('lvplan/reservierungen');?>HELP 
-

+

t('lvplan/lehrveranstaltungsplan');?> >> t('lvplan/reservierungen');?>

db_query($sql_query)) - echo ''.$p->t('lvplan/reservierungWurdeGeloescht').'
'; + + $reservierung = new reservierung(); + if($reservierung->load($id)) + { + if($reservierung->uid==$uid || $rechte->isBerechtigt('lehre/reservierung', null, 'suid')) + { + if($reservierung->delete($id)) + echo ''.$p->t('lvplan/reservierungWurdeGeloescht').'
'; + else + echo $reservierung->errormsg; + } + else + { + echo ''.$p->t('global/keineBerechtigung').'
'; + } + } else echo ''.$p->t('global/fehleraufgetreten').'!
'; } @@ -81,7 +89,7 @@ if(!$rechte->isBerechtigt('lehre/reservierung:begrenzt', null, 'suid')) //EIGENE $sql_query="SELECT * FROM campus.vw_reservierung - WHERE datum>='$datum' AND uid='$uid' + WHERE datum>=".$db->db_add_param($datum)." AND uid=".$db->db_add_param($uid)." ORDER BY datum, titel, ort_kurzbz, stunde"; if (!$erg_res=$db->db_query($sql_query)) @@ -119,12 +127,12 @@ if(!$rechte->isBerechtigt('lehre/reservierung:begrenzt', null, 'suid')) if($insertamum!='') $insertamum = $datum_obj->formatDatum($insertamum, 'd.m.Y H:i:s'); echo ''; - echo ''.$datum1.''; - echo ''.$titel.''; - echo ''.$stunde.''; - echo ''.$ort_kurzbz.''; - echo ''.$pers_uid.''; - echo ''.$beschreibung.' '; + echo ''.$db->convert_html_chars($datum1).''; + echo ''.$db->convert_html_chars($titel).''; + echo ''.$db->convert_html_chars($stunde).''; + echo ''.$db->convert_html_chars($ort_kurzbz).''; + echo ''.$db->convert_html_chars($pers_uid).''; + echo ''.$db->convert_html_chars($beschreibung).' '; $z=$i-1; if (($pers_uid==$uid)|| $rechte->isBerechtigt('lehre/reservierung', null, 'suid')) echo 'Delete'; @@ -142,7 +150,7 @@ if(!$rechte->isBerechtigt('lehre/reservierung:begrenzt', null, 'suid')) //ALLE $sql_query="SELECT * FROM campus.vw_reservierung - WHERE datum>='$datum' + WHERE datum>=".$db->db_add_param($datum)." ORDER BY datum, titel, ort_kurzbz, stunde"; if (!$erg_res=$db->db_query($sql_query)) die($db->db_last_error()); @@ -180,12 +188,12 @@ if(!$rechte->isBerechtigt('lehre/reservierung:begrenzt', null, 'suid')) if($insertamum!='') $insertamum = $datum_obj->formatDatum($insertamum, 'd.m.Y H:i:s'); echo ''; - echo ''.$datum.''; - echo ''.$titel.''; - echo ''.$stunde.''; - echo ''.$ort_kurzbz.''; - echo ''.$pers_uid.''; - echo ''.$beschreibung.' '; + echo ''.$db->convert_html_chars($datum).''; + echo ''.$db->convert_html_chars($titel).''; + echo ''.$db->convert_html_chars($stunde).''; + echo ''.$db->convert_html_chars($ort_kurzbz).''; + echo ''.$db->convert_html_chars($pers_uid).''; + echo ''.$db->convert_html_chars($beschreibung).' '; $z=$i-1; if (($pers_uid==$uid) || $rechte->isBerechtigt('lehre/reservierung', null, 'suid')) echo 'Delete'; diff --git a/include/reservierung.class.php b/include/reservierung.class.php index d246854dd..2edac6844 100644 --- a/include/reservierung.class.php +++ b/include/reservierung.class.php @@ -54,7 +54,49 @@ class reservierung extends basis_db if($reservierung_id!=null) $this->load($reservierung_id); } - + + /** + * Laedt eine Reservierung + * @param $reservierung_id + * @return boolean + */ + public function load($reservierung_id) + { + $qry = "SELECT * FROM campus.tbl_reservierung WHERE reservierung_id=".$this->db_add_param($reservierung_id); + + if($result = $this->db_query($qry)) + { + if($row = $this->db_fetch_object($result)) + { + $this->reservierung_id = $row->reservierung_id; + $this->ort_kurzbz = $row->ort_kurzbz; + $this->studiengang_kz = $row->studiengang_kz; + $this->uid = $row->uid; + $this->stunde = $row->stunde; + $this->datum = $row->datum; + $this->titel = $row->titel; + $this->beschreibung = $row->beschreibung; + $this->semester = $row->semester; + $this->verband = $row->verband; + $this->gruppe = $row->gruppe; + $this->gruppe_kurzbz = $row->gruppe_kurzbz; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + return true; + } + else + { + $this->errormsg = 'Eintrag wurde nicht gefunden'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Ladend er Daten'; + return false; + } + } + /** * Prueft die Variablen vor dem Speichern * auf Gueltigkeit. From ec877b7d42a7abf3e5c59ca1e8bc41014e969114 Mon Sep 17 00:00:00 2001 From: Stefan Puraner Date: Thu, 30 Apr 2015 14:55:22 +0200 Subject: [PATCH 02/14] protected attributes and getter/setter --- include/studiensemester.class.php | 38 ++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/include/studiensemester.class.php b/include/studiensemester.class.php index 4bbdc82f7..27a190a2a 100644 --- a/include/studiensemester.class.php +++ b/include/studiensemester.class.php @@ -24,14 +24,16 @@ require_once('basis_db.class.php'); class studiensemester extends basis_db { - public $new; // boolean - public $studiensemester = array(); // studiensemester Objekt + protected $new; // boolean + protected $studiensemester = array(); // studiensemester Objekt //Tabellenspalten - public $studiensemester_kurzbz;// varchar(16) - public $start; // date - public $ende; // date - public $bezeichnung; // varchar(32) + protected $studiensemester_kurzbz;// varchar(16) + protected $start; // date + protected $ende; // date + protected $bezeichnung; // varchar(32) + protected $studienjahr_kurzbz; // varchar(16) + protected $studiensemester_kurzbz_alternativ; // varchar(16) /** * Konstruktor - Laedt optional ein StSem @@ -45,6 +47,26 @@ class studiensemester extends basis_db if($studiensemester_kurzbz != null) $this->load($studiensemester_kurzbz); } + + public function __get($property) + { + if(property_exists($this, $property)) + { + return $this->$property; + } + else + { + return NULL; + } + } + + public function __set($property, $value) + { + if(property_exists($this, $property)) + { + $this->$property = $value; + } + } /** * Laedt das Studiensemester mit der uebergebenen Kurzbz @@ -67,6 +89,8 @@ class studiensemester extends basis_db $this->start = $row->start; $this->ende = $row->ende; $this->bezeichnung = $row->bezeichnung; + $this->studienjahr_kurzbz = $row->studienjahr_kurzbz; + $this->studiensemester_kurzbz_alternativ = $row->studiensemester_kurzbz_alternativ; } else { @@ -299,6 +323,8 @@ class studiensemester extends basis_db $stsem_obj->start = $row->start; $stsem_obj->ende = $row->ende; $stsem_obj->bezeichnung = $row->bezeichnung; + $stsem_obj->studienjahr_kurzbz = $row->studienjahr_kurzbz; + $stsem_obj->studiensemester_kurzbz_alternativ = $row->studiensemester_kurzbz_alternativ; $this->studiensemester[] = $stsem_obj; } From 96388c97a7eeeba97d5710411fb4c3b1094bbdc2 Mon Sep 17 00:00:00 2001 From: oesi Date: Mon, 4 May 2015 16:29:51 +0200 Subject: [PATCH 03/14] ECTS Punkte und Semester der LV werden im Studentennoten Karteireiter mit angezeigt --- content/student/studentnotenoverlay.xul.php | 10 ++++++++++ rdf/zeugnisnote.rdf.php | 2 ++ 2 files changed, 12 insertions(+) diff --git a/content/student/studentnotenoverlay.xul.php b/content/student/studentnotenoverlay.xul.php index 3d20ec071..c979fa4cd 100644 --- a/content/student/studentnotenoverlay.xul.php +++ b/content/student/studentnotenoverlay.xul.php @@ -110,6 +110,14 @@ echo " +