From 38cdcef38ef6c45586f3c082363899c58bc41b81 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Fri, 29 Oct 2021 10:35:12 +0200 Subject: [PATCH 01/17] =?UTF-8?q?Notenliste=20und=20Anwesenheitsliste=20um?= =?UTF-8?q?=20Mobilit=C3=A4t=20DegreeProgram=20erweitert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/lehre/anwesenheitsliste.pdf.php | 19 +++++++--- cis/private/lehre/notenliste.xls.php | 39 +++++++++++++-------- system/dbupdate_3.3.php | 14 ++++++++ 3 files changed, 53 insertions(+), 19 deletions(-) diff --git a/cis/private/lehre/anwesenheitsliste.pdf.php b/cis/private/lehre/anwesenheitsliste.pdf.php index 01ec1c93f..16ba8972b 100644 --- a/cis/private/lehre/anwesenheitsliste.pdf.php +++ b/cis/private/lehre/anwesenheitsliste.pdf.php @@ -166,9 +166,10 @@ $qry = 'SELECT tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, (SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status, tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, tbl_student.studiengang_kz AS stg_kz_student, - tbl_note.lkt_ueberschreibbar, tbl_note.anmerkung, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr, tbl_studiengang.kurzbzlang + tbl_note.lkt_ueberschreibbar, tbl_note.anmerkung, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr, tbl_studiengang.kurzbzlang, tbl_mobilitaet.mobilitaetstyp_kurzbz FROM - campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid) + campus.vw_student_lehrveranstaltung + JOIN public.tbl_benutzer USING(uid) JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_student ON(uid=student_uid) LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz) @@ -176,9 +177,11 @@ $qry = 'SELECT LEFT JOIN lehre.tbl_note USING (note) LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid) LEFT JOIN public.tbl_studiengang ON(tbl_student.studiengang_kz=tbl_studiengang.studiengang_kz) + LEFT JOIN bis.tbl_mobilitaet USING(prestudent_id) WHERE - vw_student_lehrveranstaltung.lehrveranstaltung_id='.$db->db_add_param($lvid, FHC_INTEGER).' AND - vw_student_lehrveranstaltung.studiensemester_kurzbz='.$db->db_add_param($studiensemester); + vw_student_lehrveranstaltung.lehrveranstaltung_id='.$db->db_add_param($lvid, FHC_INTEGER).' AND + vw_student_lehrveranstaltung.studiensemester_kurzbz='.$db->db_add_param($studiensemester);';'; + if($lehreinheit!='') $qry.=' AND vw_student_lehrveranstaltung.lehreinheit_id='.$db->db_add_param($lehreinheit, FHC_INTEGER); @@ -223,6 +226,11 @@ if($result = $db->db_query($qry)) if($row->stg_kz_student==$a_o_kz) //Außerordentliche Studierende $zusatz.='(a.o.)'; + if($row->mobilitaetstyp_kurzbz !='') //Double Degree Student + $zusatz.='(d.d.)'; + + //$zusatz.='test'; + $data[]=array('student'=>array( 'vorname'=>$row->vorname, 'nachname'=>$row->nachname, @@ -232,7 +240,8 @@ if($result = $db->db_query($qry)) 'verband'=>trim($row->verband), 'gruppe'=>trim($row->gruppe), 'zusatz'=>$zusatz, - 'studiengang_kurzbz'=>$row->kurzbzlang + 'studiengang_kurzbz'=>$row->kurzbzlang, + 'mobilitaetstyp_kurzbz'=>$row->mobilitaetstyp_kurzbz )); } } diff --git a/cis/private/lehre/notenliste.xls.php b/cis/private/lehre/notenliste.xls.php index 4f6437358..9866a6299 100644 --- a/cis/private/lehre/notenliste.xls.php +++ b/cis/private/lehre/notenliste.xls.php @@ -200,20 +200,26 @@ else $stsemdatumbis = $stsem_obj->ende; $qry = "SELECT - distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, person_id, tbl_student.student_uid as uid, - tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, - (SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status, - tbl_bisio.bisio_id, tbl_bisio.bis, tbl_bisio.von, - tbl_zeugnisnote.note - FROM - campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid) - JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid) - LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz) - LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz) - LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid) - WHERE - vw_student_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND - vw_student_lehrveranstaltung.studiensemester_kurzbz=".$db->db_add_param($stsem); + distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, person_id, tbl_student.student_uid as uid, + tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, + (SELECT status_kurzbz + FROM public.tbl_prestudentstatus + WHERE prestudent_id=tbl_student.prestudent_id + ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status, + tbl_bisio.bisio_id, tbl_bisio.bis, tbl_bisio.von, + tbl_zeugnisnote.note,tbl_mobilitaet.mobilitaetstyp_kurzbz + FROM + campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid) + JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid) + LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz) + LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id + AND tbl_zeugnisnote.student_uid=tbl_student.student_uid + AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz) + LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid) + LEFT JOIN bis.tbl_mobilitaet USING(prestudent_id) + WHERE + vw_student_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND + vw_student_lehrveranstaltung.studiensemester_kurzbz=".$db->db_add_param($stsem);";"; if($lehreinheit_id!='') $qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER); @@ -243,6 +249,10 @@ else $inc.=' (ar)'; $note='ar'; } + if($elem->mobilitaetstyp_kurzbz !='') //dd-Program + { + $inc.=' (dd)'; + } else $note=''; $worksheet->write($lines,1,$elem->uid); @@ -295,6 +305,7 @@ else $worksheet->write(++$lines,0,'(i) ... Incoming'); $worksheet->write(++$lines,0,'(o) ... Outgoing'); $worksheet->write(++$lines,0,'(ar) ... '.$p->t('anwesenheitsliste/angerechnet')); + $worksheet->write(++$lines,0,'(dd) ... Double Degree Program'); $worksheet->setColumn(0, 0, 5); $worksheet->setColumn(0, 1, 16); diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index bb8f250fd..cb59a86f1 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -1740,6 +1740,20 @@ if ($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants } +// SELECT Berechtigung fuer web User erteilen fuer tbl_mobilitaet +if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_mobilitaet' AND table_schema='bis' AND grantee='web' AND privilege_type='SELECT'")) +{ + if($db->db_num_rows($result)==0) + { + $qry = "GRANT SELECT ON bis.tbl_mobilitaet TO web;"; + + if(!$db->db_query($qry)) + echo 'bis.tbl_mobilitaet Berechtigungen: '.$db->db_last_error().'
'; + else + echo 'SELECT Recht fuer bis.tbl_mobilitaet fuer web user gesetzt '; + } +} + /** * Kommentare fuer Datenbanktabellen */ From 98ffe525b33f1d612b9c7a0079848dc2ea684a30 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Mon, 1 Nov 2021 13:12:55 +0100 Subject: [PATCH 02/17] first working version to add covid status to lvlists --- cis/private/lehre/anwesenheitsliste.php | 23 +- cis/private/lehre/covidstatusliste.php | 337 ++++++++++++++++++++++++ include/covid/covidhelper.class.php | 189 +++++++++++++ 3 files changed, 545 insertions(+), 4 deletions(-) create mode 100644 cis/private/lehre/covidstatusliste.php create mode 100644 include/covid/covidhelper.class.php diff --git a/cis/private/lehre/anwesenheitsliste.php b/cis/private/lehre/anwesenheitsliste.php index bc7d96083..6859c1a2e 100644 --- a/cis/private/lehre/anwesenheitsliste.php +++ b/cis/private/lehre/anwesenheitsliste.php @@ -34,6 +34,7 @@ require_once('../../../include/lehrveranstaltung.class.php'); require_once('../../../include/phrasen.class.php'); require_once('../../../include/vertrag.class.php'); + require_once '../../../include/covid/covidhelper.class.php'; $sprache = getSprache(); $p=new phrasen($sprache); @@ -61,7 +62,8 @@ $stsem = $_GET['stsem']; else die($p->t('anwesenheitsliste/studiensemesterIstUngueltig')); - + +$covidhelper = new CovidHelper(); ?> @@ -69,6 +71,16 @@ + + @@ -98,7 +110,8 @@ $lv = new lehrveranstaltung($lvid); - $aw_content .= "".$p->t('anwesenheitsliste/gesamtliste')." $lv->bezeichnung"; + $covid_content = ($covidhelper->isUdfDefined()) ? 'Covid-Status' : ''; + $aw_content .= "".$p->t('anwesenheitsliste/gesamtliste')." $lv->bezeichnung" . $covid_content . ""; $awbild_content .= "".$p->t('anwesenheitsliste/gesamtliste')." $lv->bezeichnung"; $nt_content .= "".$p->t('anwesenheitsliste/gesamtliste')." $lv->bezeichnung"; @@ -151,7 +164,8 @@ } } - $aw_content .= "   $kurzbz - $lehrform - $gruppen ($lektoren)"; + $covid_content = ($covidhelper->isUdfDefined()) ? 'Covid-Status' : ''; + $aw_content .= "   $kurzbz - $lehrform - $gruppen ($lektoren)" . $covid_content . ""; $awbild_content .= "   $kurzbz - $lehrform - $gruppen ($lektoren)"; $nt_content .= "   $kurzbz - $lehrform - $gruppen ($lektoren)"; @@ -186,7 +200,8 @@ } } - $aw_content .= "   $kurzbz - $lehrform - $gruppen ($lektoren)"; + $covid_content = ($covidhelper->isUdfDefined()) ? 'Covid-Status' : ''; + $aw_content .= "   $kurzbz - $lehrform - $gruppen ($lektoren)" . $covid_content . ""; $awbild_content .= "   $kurzbz - $lehrform - $gruppen ($lektoren)"; $nt_content .= "   $kurzbz - $lehrform - $gruppen ($lektoren)"; } diff --git a/cis/private/lehre/covidstatusliste.php b/cis/private/lehre/covidstatusliste.php new file mode 100644 index 000000000..a29ab570d --- /dev/null +++ b/cis/private/lehre/covidstatusliste.php @@ -0,0 +1,337 @@ + + */ +require_once('../../../config/cis.config.inc.php'); +require_once('../../../include/dokument_export.class.php'); +require_once('../../../include/lehrveranstaltung.class.php'); +require_once('../../../include/lehreinheitgruppe.class.php'); +require_once('../../../include/lehreinheit.class.php'); +require_once('../../../include/benutzerberechtigung.class.php'); +require_once('../../../include/lehreinheitmitarbeiter.class.php'); +require_once('../../../include/studiensemester.class.php'); +require_once('../../../include/functions.inc.php'); +require_once('../../../include/erhalter.class.php'); +require_once('../../../include/datum.class.php'); +require_once('../../../include/covid/covidhelper.class.php'); + +$debug = false; + +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +$user=get_uid(); + +$berechtigung = new benutzerberechtigung(); +$berechtigung->getBerechtigungen($user); + +if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) + $lvid = $_GET['lvid']; +else + die('Eine gueltige LvID muss uebergeben werden'); + +$lv = new lehrveranstaltung(); +$lv->load($lvid); + +if(isset($_GET['stsem'])) + $studiensemester = $_GET['stsem']; +else + die('Eine Studiensemester muss uebergeben werden'); + +if( !$berechtigung->isBerechtigt('admin') + && !$berechtigung->isBerechtigt('assistenz') + && !$berechtigung->isBerechtigt('lehre', $lv->oe_kurzbz, 's') + && !check_lektor_lehrveranstaltung($user,$lvid,$studiensemester)) + die('Sie muessen LektorIn der LV sein oder das Recht "ADMIN", "ASSISTENZ" oder "LEHRE" haben, um diese Seite aufrufen zu koennen'); + +$output='pdf'; + +if(isset($_GET['output']) && ($output='odt' || $output='doc')) + $output=$_GET['output']; + +isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL; +isset($_GET['lehreinheit_id']) ? $lehreinheit = $_GET['lehreinheit_id'] : $lehreinheit = NULL; + +// Teilnehmende Gruppen laden +$qry = "SELECT DISTINCT ON(kuerzel, semester, verband, gruppe, gruppe_kurzbz) + UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel, + semester, + verband, + gruppe, + gruppe_kurzbz + FROM campus.vw_lehreinheit + WHERE lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." + AND studiensemester_kurzbz=".$db->db_add_param($studiensemester); +if($lehreinheit!='') + $qry.=" AND lehreinheit_id=".$db->db_add_param($lehreinheit, FHC_INTEGER); + +$gruppen_string = ''; +if($result = $db->db_query($qry)) +{ + while($row = $db->db_fetch_object($result)) + { + if($gruppen_string!='') + $gruppen_string.=', '; + if($row->gruppe_kurzbz=='') + $gruppen_string.=trim($row->kuerzel.'-'.$row->semester.$row->verband.$row->gruppe); + else + $gruppen_string.=$row->gruppe_kurzbz; + } +} + + +// Verplante Räume laden +$qry = "SELECT distinct(ort_kurzbz) + FROM lehre.tbl_stundenplan + WHERE lehreinheit_id in + ( + SELECT lehreinheit_id + FROM campus.vw_lehreinheit + WHERE lehrveranstaltung_id = ".$db->db_add_param($lvid, FHC_INTEGER)." + AND studiensemester_kurzbz = ".$db->db_add_param($studiensemester)." + )"; +if($lehreinheit!='') + $qry.= " AND tbl_stundenplan.lehreinheit_id = ".$db->db_add_param($lehreinheit, FHC_INTEGER); + + +$raum_string = ''; +if($result = $db->db_query($qry)) +{ + while($row = $db->db_fetch_object($result)) + { + if($raum_string!='') + $raum_string.=', '; + if($row->ort_kurzbz!='') + $raum_string.=$row->ort_kurzbz; + } +} + + +$stg = new studiengang(); +$stg->load($lv->studiengang_kz); + +$studiengang_bezeichnung=$stg->bezeichnung; + +$stg->getAllTypes(); + +$data = array( + 'gruppen'=>$gruppen_string, + 'bezeichnung'=>$lv->bezeichnung, + 'lehrveranstaltung_id'=>$lv->lehrveranstaltung_id, + 'studiengang'=>$studiengang_bezeichnung, + 'studiengang_kz'=>$lv->studiengang_kz, + 'typ'=>$stg->studiengang_typ_arr[$stg->typ], + 'ects'=>$lv->ects, + 'sprache'=>$lv->sprache, + 'studiensemester'=>$studiensemester, + 'semester'=>$lv->semester, + 'orgform'=>$lv->orgform_kurzbz, + 'raum'=>$raum_string, +); + +//Lehrende der LV laden und in ein Array schreiben +$lehrende = new lehreinheitmitarbeiter(); +$lehrende->getMitarbeiterLV($lvid, $studiensemester, $lehreinheit); +$arr_lehrende = array(); +if (isset($lehrende->result)) +{ + foreach($lehrende->result AS $row) + { + $data[]=array('lehrende'=>array('uid'=>$row->uid,'name'=>$row->vorname.' '.$row->nachname)); + $arr_lehrende[]=mb_strtoupper($row->uid); + } +} + + +//Studierende der LV laden und in ein Array schreiben + +$qry = 'SELECT + distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, public.tbl_student.student_uid, + tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, + (SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status, + tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, tbl_student.studiengang_kz AS stg_kz_student, + tbl_note.lkt_ueberschreibbar, tbl_note.anmerkung, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr, tbl_studiengang.kurzbzlang, tbl_mobilitaet.mobilitaetstyp_kurzbz + FROM + campus.vw_student_lehrveranstaltung + JOIN public.tbl_benutzer USING(uid) + JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_student ON(uid=student_uid) + LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) + LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz) + LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz) + LEFT JOIN lehre.tbl_note USING (note) + LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid) + LEFT JOIN public.tbl_studiengang ON(tbl_student.studiengang_kz=tbl_studiengang.studiengang_kz) + LEFT JOIN bis.tbl_mobilitaet USING(prestudent_id) + WHERE + vw_student_lehrveranstaltung.lehrveranstaltung_id='.$db->db_add_param($lvid, FHC_INTEGER).' AND + vw_student_lehrveranstaltung.studiensemester_kurzbz='.$db->db_add_param($studiensemester);';'; + + +if($lehreinheit!='') + $qry.=' AND vw_student_lehrveranstaltung.lehreinheit_id='.$db->db_add_param($lehreinheit, FHC_INTEGER); + +$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC'; + +$stsem_obj = new studiensemester(); +$stsem_obj->load($studiensemester); +$stsemdatumvon = $stsem_obj->start; +$stsemdatumbis = $stsem_obj->ende; + +$erhalter = new erhalter(); +$erhalter->getAll(); + +$a_o_kz = '9'.sprintf("%03s", $erhalter->result[0]->erhalter_kz); //Stg_Kz AO-Studierende auslesen (9005 fuer FHTW) +$anzahl_studierende = 0; +$datum = new datum(); +$zusatz = ''; + +$studentuids = array(); +if($result = $db->db_query($qry)) +{ + while($row = $db->db_fetch_object($result)) + { + if($row->status!='Abbrecher' && $row->status!='Unterbrecher') + { + $anzahl_studierende++; + + if($row->status=='Incoming') //Incoming + $zusatz='(i)'; + else + $zusatz=''; + + if($row->bisio_id!='' && $row->status!='Incoming' && ($row->bis > $stsemdatumvon || $row->bis=='') && $row->von < $stsemdatumbis) //Outgoing + $zusatz.='(o)(ab '.$datum->formatDatum($row->von,'d.m.Y').')'; + + if($row->lkt_ueberschreibbar == 'f') // angerechnet / intern angerechnet / nicht zugelassen + $zusatz.= '('. $row->anmerkung. ')'; + + if($row->mitarbeiter_uid!='') //mitarbeiter + $zusatz.='(ma)'; + + if($row->stg_kz_student==$a_o_kz) //Außerordentliche Studierende + $zusatz.='(a.o.)'; + + if($row->mobilitaetstyp_kurzbz !='') //Double Degree Student + $zusatz.='(d.d.)'; + + //$zusatz.='test'; + + $studentuids[] = $row->student_uid; + $data[]=array('student'=>array( + 'uid' => $row->student_uid, + 'vorname'=>$row->vorname, + 'nachname'=>$row->nachname, + 'personenkennzeichen'=>trim($row->matrikelnr), + 'matr_nr'=>$row->matr_nr, + 'semester'=>$row->semester, + 'verband'=>trim($row->verband), + 'gruppe'=>trim($row->gruppe), + 'zusatz'=>$zusatz, + 'studiengang_kurzbz'=>$row->kurzbzlang, + 'mobilitaetstyp_kurzbz'=>$row->mobilitaetstyp_kurzbz + )); + } + } + //Anzahl Studierende in Array $data (an erster Stelle) einfuegen + $data = array_reverse($data, true); + $data['anzahl_studierende'] = $anzahl_studierende; + $data = array_reverse($data, true); +} + +$covidhelper = new CovidHelper(); +$covidhelper->fetchCovidStatus($studentuids); +$covidstatus = $covidhelper->getCovidStatus(); + +$now = new DateTime('now', new DateTimeZone('Europe/Vienna')); +header('Content-Type: text/html; charset=utf-8'); +?> + + + + FHC - Covidliste + + + + + +
+
+
+ +

Covid-Status-Liste

+

Gruppen: Studiensemester:

+

Lehrende:

+

generiert: format('d.m.Y H:i'); ?>

+ + + + + + + + + + + + + + + + + + + + +
StudentKennzeichenGruppeCovid-Status
getIconHtml($tmpstudent['uid']); ?>
+ +
+
+ + +
+
+ +
+
+
+				
+
+ +
+
+ + +
+ + + \ No newline at end of file diff --git a/include/covid/covidhelper.class.php b/include/covid/covidhelper.class.php new file mode 100644 index 000000000..3c9ef12da --- /dev/null +++ b/include/covid/covidhelper.class.php @@ -0,0 +1,189 @@ + + */ +require_once(dirname(__DIR__) . '/basis_db.class.php'); +/** + * Description of covidhelper + * + * @author bambi + */ +class CovidHelper extends basis_db +{ + const STATUS_OK = 1; + const STATUS_NOTOK = 0; + const STATUS_UNKNOWN = -1; + const STATUS_NOTSET = -2; + + const TITLE_OK = 'Covid Status gültig'; + const TITLE_NOTOK = 'Covid Status ungültig'; + const TITLE_UNKNOWN = 'Covid Status unbekannt'; + + const DB_SCHEMA = 'public'; + const DB_TABLE = 'tbl_person'; + const DB_UDFNAME = 'udf_3gvalid'; + + protected $isUdfDefined; + + protected $uids; + protected $covidstatus; + + public function __construct() + { + parent::__construct(); + $this->uids = array(); + $this->covidstatus = array(); + $this->isUdfDefined = false; + $this->checkIfUdfValuesAreDefined(); + } + + public function isUdfDefined() { + return $this->isUdfDefined; + } + + public function fetchCovidStatus(array $uids) { + $this->uids = $uids; + $this->covidstatus = array(); + $this->fetchCovidValidStatus(); + } + + public function getIconHtml($uid) + { + $html = ''; + $status = isset($this->covidstatus[$uid]) ? $this->covidstatus[$uid] : self::STATUS_NOTSET; + switch ($status) + { + case self::STATUS_OK: + $html = ''; + break; + case self::STATUS_NOTOK: + $html = ''; + break; + case self::STATUS_UNKNOWN: + $html = ''; + break; + default: + $html = ''; + break; + } + return $html; + } + + public function getBootstrapClass($uid) + { + $class = ''; + $status = isset($this->covidstatus[$uid]) ? $this->covidstatus[$uid] : self::STATUS_NOTSET; + switch ($status) + { + case self::STATUS_OK: + $class = 'success'; + break; + case self::STATUS_NOTOK: + $class = 'danger'; + break; + case self::STATUS_UNKNOWN: + $class = 'warning'; + break; + default: + $class = ''; + break; + } + return $class; + } + + public function getTitle($uid) + { + $title = ''; + $status = isset($this->covidstatus[$uid]) ? $this->covidstatus[$uid] : self::STATUS_NOTSET; + switch ($status) + { + case self::STATUS_OK: + $title = self::TITLE_OK; + break; + case self::STATUS_NOTOK: + $title = self::TITLE_NOTOK; + break; + case self::STATUS_UNKNOWN: + $title = self::TITLE_UNKNOWN; + break; + default: + $title = ''; + break; + } + return $title; + } + + public function getCovidStatus() + { + return $this->covidstatus; + } + + protected function fetchCovidValidStatus() + { + if( !($this->isUdfDefined && is_array($this->uids)) ) + { + return; + } + $sql = << 'udf_3gvalid')::text::date >= CURRENT_DATE::text::date THEN 1 + WHEN (p."udf_values" -> 'udf_3gvalid')::text::date < CURRENT_DATE::text::date THEN 0 + ELSE -1 + END AS covidvalid + FROM tbl_person p + JOIN tbl_benutzer b ON b.person_id = p.person_id AND b.uid IN ({$this->implode4SQL($this->uids)}) +EOSQL; + + $this->covidstatus = array(); + if( $this->db_query($sql) ) + { + while( false !== ($row = $this->db_fetch_object()) ) + { + $this->covidstatus[$row->uid] = $row->covidvalid; + } + } else { + $this->errormsg = "Fehler in der Abfrage des Covidstatus."; + } + } + + public function checkIfUdfValuesAreDefined() + { + $sql = 'SELECT count(name) AS "udfdefined" ' + . 'FROM "system"."tbl_udf", jsonb_to_recordset("jsons") AS items(name text) ' + . 'WHERE "schema" = \'' . self::DB_SCHEMA . '\' ' + . 'AND "table" = \'' . self::DB_TABLE . '\' ' + . 'AND "name" = \'' . self::DB_UDFNAME . '\''; + if ( $this->db_query($sql) ) + { + if ($row = $this->db_fetch_object()) + { + $this->isUdfDefined = ($row->udfdefined > 0) ? true : false; + } + else + { + $this->errormsg = "Fehler in der Abfrage beim Pruefen der UDFs. Kein Datensatz gefunden."; + $this->isUdfDefined = false; + } + } + else + { + $this->errormsg = "Fehler in der Abfrage beim Pruefen der UDFs."; + $this->isUdfDefined = false; + } + } +} From 8c100ba99313f87700cdb4972a42c335d875ebc1 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Mon, 1 Nov 2021 15:25:24 +0100 Subject: [PATCH 03/17] moved db logic to lehrelisthelper class --- cis/private/lehre/anwesenheitsliste.pdf.php | 187 +------------ cis/private/lehre/covidstatusliste.php | 215 ++------------ include/lehrelisthelper.class.php | 293 ++++++++++++++++++++ 3 files changed, 317 insertions(+), 378 deletions(-) create mode 100644 include/lehrelisthelper.class.php diff --git a/cis/private/lehre/anwesenheitsliste.pdf.php b/cis/private/lehre/anwesenheitsliste.pdf.php index 16ba8972b..6d33c351a 100644 --- a/cis/private/lehre/anwesenheitsliste.pdf.php +++ b/cis/private/lehre/anwesenheitsliste.pdf.php @@ -28,6 +28,7 @@ require_once('../../../include/studiensemester.class.php'); require_once('../../../include/functions.inc.php'); require_once('../../../include/erhalter.class.php'); require_once('../../../include/datum.class.php'); +require_once('../../../include/lehrelisthelper.class.php'); if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); @@ -68,188 +69,10 @@ isset($_GET['lehreinheit_id']) ? $lehreinheit = $_GET['lehreinheit_id'] : $lehre $doc = new dokument_export('Anwesenheitslist'); -// Teilnehmende Gruppen laden -$qry = "SELECT DISTINCT ON(kuerzel, semester, verband, gruppe, gruppe_kurzbz) - UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel, - semester, - verband, - gruppe, - gruppe_kurzbz - FROM campus.vw_lehreinheit - WHERE lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." - AND studiensemester_kurzbz=".$db->db_add_param($studiensemester); -if($lehreinheit!='') - $qry.=" AND lehreinheit_id=".$db->db_add_param($lehreinheit, FHC_INTEGER); - -$gruppen_string = ''; -if($result = $db->db_query($qry)) -{ - while($row = $db->db_fetch_object($result)) - { - if($gruppen_string!='') - $gruppen_string.=', '; - if($row->gruppe_kurzbz=='') - $gruppen_string.=trim($row->kuerzel.'-'.$row->semester.$row->verband.$row->gruppe); - else - $gruppen_string.=$row->gruppe_kurzbz; - } -} - - -// Verplante Räume laden -$qry = "SELECT distinct(ort_kurzbz) - FROM lehre.tbl_stundenplan - WHERE lehreinheit_id in - ( - SELECT lehreinheit_id - FROM campus.vw_lehreinheit - WHERE lehrveranstaltung_id = ".$db->db_add_param($lvid, FHC_INTEGER)." - AND studiensemester_kurzbz = ".$db->db_add_param($studiensemester)." - )"; -if($lehreinheit!='') - $qry.= " AND tbl_stundenplan.lehreinheit_id = ".$db->db_add_param($lehreinheit, FHC_INTEGER); - - -$raum_string = ''; -if($result = $db->db_query($qry)) -{ - while($row = $db->db_fetch_object($result)) - { - if($raum_string!='') - $raum_string.=', '; - if($row->ort_kurzbz!='') - $raum_string.=$row->ort_kurzbz; - } -} - - -$stg = new studiengang(); -$stg->load($lv->studiengang_kz); - -$studiengang_bezeichnung=$stg->bezeichnung; - -$stg->getAllTypes(); - -$data = array( - 'gruppen'=>$gruppen_string, - 'bezeichnung'=>$lv->bezeichnung, - 'lehrveranstaltung_id'=>$lv->lehrveranstaltung_id, - 'studiengang'=>$studiengang_bezeichnung, - 'studiengang_kz'=>$lv->studiengang_kz, - 'typ'=>$stg->studiengang_typ_arr[$stg->typ], - 'ects'=>$lv->ects, - 'sprache'=>$lv->sprache, - 'studiensemester'=>$studiensemester, - 'semester'=>$lv->semester, - 'orgform'=>$lv->orgform_kurzbz, - 'raum'=>$raum_string, -); - -//Lehrende der LV laden und in ein Array schreiben -$lehrende = new lehreinheitmitarbeiter(); -$lehrende->getMitarbeiterLV($lvid, $studiensemester, $lehreinheit); -$arr_lehrende = array(); -if (isset($lehrende->result)) -{ - foreach($lehrende->result AS $row) - { - $data[]=array('lehrende'=>array('uid'=>$row->uid,'name'=>$row->vorname.' '.$row->nachname)); - $arr_lehrende[]=mb_strtoupper($row->uid); - } -} - - -//Studierende der LV laden und in ein Array schreiben - -$qry = 'SELECT - distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, - tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, - (SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status, - tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, tbl_student.studiengang_kz AS stg_kz_student, - tbl_note.lkt_ueberschreibbar, tbl_note.anmerkung, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr, tbl_studiengang.kurzbzlang, tbl_mobilitaet.mobilitaetstyp_kurzbz - FROM - campus.vw_student_lehrveranstaltung - JOIN public.tbl_benutzer USING(uid) - JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_student ON(uid=student_uid) - LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) - LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz) - LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz) - LEFT JOIN lehre.tbl_note USING (note) - LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid) - LEFT JOIN public.tbl_studiengang ON(tbl_student.studiengang_kz=tbl_studiengang.studiengang_kz) - LEFT JOIN bis.tbl_mobilitaet USING(prestudent_id) - WHERE - vw_student_lehrveranstaltung.lehrveranstaltung_id='.$db->db_add_param($lvid, FHC_INTEGER).' AND - vw_student_lehrveranstaltung.studiensemester_kurzbz='.$db->db_add_param($studiensemester);';'; - - -if($lehreinheit!='') - $qry.=' AND vw_student_lehrveranstaltung.lehreinheit_id='.$db->db_add_param($lehreinheit, FHC_INTEGER); - -$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC'; - -$stsem_obj = new studiensemester(); -$stsem_obj->load($studiensemester); -$stsemdatumvon = $stsem_obj->start; -$stsemdatumbis = $stsem_obj->ende; - -$erhalter = new erhalter(); -$erhalter->getAll(); - -$a_o_kz = '9'.sprintf("%03s", $erhalter->result[0]->erhalter_kz); //Stg_Kz AO-Studierende auslesen (9005 fuer FHTW) -$anzahl_studierende = 0; -$datum = new datum(); -$zusatz = ''; - -if($result = $db->db_query($qry)) -{ - while($row = $db->db_fetch_object($result)) - { - if($row->status!='Abbrecher' && $row->status!='Unterbrecher') - { - $anzahl_studierende++; - - if($row->status=='Incoming') //Incoming - $zusatz='(i)'; - else - $zusatz=''; - - if($row->bisio_id!='' && $row->status!='Incoming' && ($row->bis > $stsemdatumvon || $row->bis=='') && $row->von < $stsemdatumbis) //Outgoing - $zusatz.='(o)(ab '.$datum->formatDatum($row->von,'d.m.Y').')'; - - if($row->lkt_ueberschreibbar == 'f') // angerechnet / intern angerechnet / nicht zugelassen - $zusatz.= '('. $row->anmerkung. ')'; - - if($row->mitarbeiter_uid!='') //mitarbeiter - $zusatz.='(ma)'; - - if($row->stg_kz_student==$a_o_kz) //Außerordentliche Studierende - $zusatz.='(a.o.)'; - - if($row->mobilitaetstyp_kurzbz !='') //Double Degree Student - $zusatz.='(d.d.)'; - - //$zusatz.='test'; - - $data[]=array('student'=>array( - 'vorname'=>$row->vorname, - 'nachname'=>$row->nachname, - 'personenkennzeichen'=>trim($row->matrikelnr), - 'matr_nr'=>$row->matr_nr, - 'semester'=>$row->semester, - 'verband'=>trim($row->verband), - 'gruppe'=>trim($row->gruppe), - 'zusatz'=>$zusatz, - 'studiengang_kurzbz'=>$row->kurzbzlang, - 'mobilitaetstyp_kurzbz'=>$row->mobilitaetstyp_kurzbz - )); - } - } - //Anzahl Studierende in Array $data (an erster Stelle) einfuegen - $data = array_reverse($data, true); - $data['anzahl_studierende'] = $anzahl_studierende; - $data = array_reverse($data, true); -} +$lehrelisthelper = new LehreListHelper($db, $studiensemester, $lvid, $lv, $lehreinheit); +$arr_lehrende = $lehrelisthelper->getArr_Lehrende(); +$data = $lehrelisthelper->getData(); +$studentuids = $lehrelisthelper->getStudentUids(); $doc->addDataArray($data,'anwesenheitsliste'); if($lehreinheit!='') diff --git a/cis/private/lehre/covidstatusliste.php b/cis/private/lehre/covidstatusliste.php index a29ab570d..a3e3898d7 100644 --- a/cis/private/lehre/covidstatusliste.php +++ b/cis/private/lehre/covidstatusliste.php @@ -18,7 +18,6 @@ * Authors: Manfred Kindl */ require_once('../../../config/cis.config.inc.php'); -require_once('../../../include/dokument_export.class.php'); require_once('../../../include/lehrveranstaltung.class.php'); require_once('../../../include/lehreinheitgruppe.class.php'); require_once('../../../include/lehreinheit.class.php'); @@ -28,6 +27,7 @@ require_once('../../../include/studiensemester.class.php'); require_once('../../../include/functions.inc.php'); require_once('../../../include/erhalter.class.php'); require_once('../../../include/datum.class.php'); +require_once('../../../include/lehrelisthelper.class.php'); require_once('../../../include/covid/covidhelper.class.php'); $debug = false; @@ -59,199 +59,13 @@ if( !$berechtigung->isBerechtigt('admin') && !check_lektor_lehrveranstaltung($user,$lvid,$studiensemester)) die('Sie muessen LektorIn der LV sein oder das Recht "ADMIN", "ASSISTENZ" oder "LEHRE" haben, um diese Seite aufrufen zu koennen'); -$output='pdf'; - -if(isset($_GET['output']) && ($output='odt' || $output='doc')) - $output=$_GET['output']; - isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL; isset($_GET['lehreinheit_id']) ? $lehreinheit = $_GET['lehreinheit_id'] : $lehreinheit = NULL; -// Teilnehmende Gruppen laden -$qry = "SELECT DISTINCT ON(kuerzel, semester, verband, gruppe, gruppe_kurzbz) - UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel, - semester, - verband, - gruppe, - gruppe_kurzbz - FROM campus.vw_lehreinheit - WHERE lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." - AND studiensemester_kurzbz=".$db->db_add_param($studiensemester); -if($lehreinheit!='') - $qry.=" AND lehreinheit_id=".$db->db_add_param($lehreinheit, FHC_INTEGER); - -$gruppen_string = ''; -if($result = $db->db_query($qry)) -{ - while($row = $db->db_fetch_object($result)) - { - if($gruppen_string!='') - $gruppen_string.=', '; - if($row->gruppe_kurzbz=='') - $gruppen_string.=trim($row->kuerzel.'-'.$row->semester.$row->verband.$row->gruppe); - else - $gruppen_string.=$row->gruppe_kurzbz; - } -} - - -// Verplante Räume laden -$qry = "SELECT distinct(ort_kurzbz) - FROM lehre.tbl_stundenplan - WHERE lehreinheit_id in - ( - SELECT lehreinheit_id - FROM campus.vw_lehreinheit - WHERE lehrveranstaltung_id = ".$db->db_add_param($lvid, FHC_INTEGER)." - AND studiensemester_kurzbz = ".$db->db_add_param($studiensemester)." - )"; -if($lehreinheit!='') - $qry.= " AND tbl_stundenplan.lehreinheit_id = ".$db->db_add_param($lehreinheit, FHC_INTEGER); - - -$raum_string = ''; -if($result = $db->db_query($qry)) -{ - while($row = $db->db_fetch_object($result)) - { - if($raum_string!='') - $raum_string.=', '; - if($row->ort_kurzbz!='') - $raum_string.=$row->ort_kurzbz; - } -} - - -$stg = new studiengang(); -$stg->load($lv->studiengang_kz); - -$studiengang_bezeichnung=$stg->bezeichnung; - -$stg->getAllTypes(); - -$data = array( - 'gruppen'=>$gruppen_string, - 'bezeichnung'=>$lv->bezeichnung, - 'lehrveranstaltung_id'=>$lv->lehrveranstaltung_id, - 'studiengang'=>$studiengang_bezeichnung, - 'studiengang_kz'=>$lv->studiengang_kz, - 'typ'=>$stg->studiengang_typ_arr[$stg->typ], - 'ects'=>$lv->ects, - 'sprache'=>$lv->sprache, - 'studiensemester'=>$studiensemester, - 'semester'=>$lv->semester, - 'orgform'=>$lv->orgform_kurzbz, - 'raum'=>$raum_string, -); - -//Lehrende der LV laden und in ein Array schreiben -$lehrende = new lehreinheitmitarbeiter(); -$lehrende->getMitarbeiterLV($lvid, $studiensemester, $lehreinheit); -$arr_lehrende = array(); -if (isset($lehrende->result)) -{ - foreach($lehrende->result AS $row) - { - $data[]=array('lehrende'=>array('uid'=>$row->uid,'name'=>$row->vorname.' '.$row->nachname)); - $arr_lehrende[]=mb_strtoupper($row->uid); - } -} - - -//Studierende der LV laden und in ein Array schreiben - -$qry = 'SELECT - distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, public.tbl_student.student_uid, - tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, - (SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status, - tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, tbl_student.studiengang_kz AS stg_kz_student, - tbl_note.lkt_ueberschreibbar, tbl_note.anmerkung, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr, tbl_studiengang.kurzbzlang, tbl_mobilitaet.mobilitaetstyp_kurzbz - FROM - campus.vw_student_lehrveranstaltung - JOIN public.tbl_benutzer USING(uid) - JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_student ON(uid=student_uid) - LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) - LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz) - LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz) - LEFT JOIN lehre.tbl_note USING (note) - LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid) - LEFT JOIN public.tbl_studiengang ON(tbl_student.studiengang_kz=tbl_studiengang.studiengang_kz) - LEFT JOIN bis.tbl_mobilitaet USING(prestudent_id) - WHERE - vw_student_lehrveranstaltung.lehrveranstaltung_id='.$db->db_add_param($lvid, FHC_INTEGER).' AND - vw_student_lehrveranstaltung.studiensemester_kurzbz='.$db->db_add_param($studiensemester);';'; - - -if($lehreinheit!='') - $qry.=' AND vw_student_lehrveranstaltung.lehreinheit_id='.$db->db_add_param($lehreinheit, FHC_INTEGER); - -$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC'; - -$stsem_obj = new studiensemester(); -$stsem_obj->load($studiensemester); -$stsemdatumvon = $stsem_obj->start; -$stsemdatumbis = $stsem_obj->ende; - -$erhalter = new erhalter(); -$erhalter->getAll(); - -$a_o_kz = '9'.sprintf("%03s", $erhalter->result[0]->erhalter_kz); //Stg_Kz AO-Studierende auslesen (9005 fuer FHTW) -$anzahl_studierende = 0; -$datum = new datum(); -$zusatz = ''; - -$studentuids = array(); -if($result = $db->db_query($qry)) -{ - while($row = $db->db_fetch_object($result)) - { - if($row->status!='Abbrecher' && $row->status!='Unterbrecher') - { - $anzahl_studierende++; - - if($row->status=='Incoming') //Incoming - $zusatz='(i)'; - else - $zusatz=''; - - if($row->bisio_id!='' && $row->status!='Incoming' && ($row->bis > $stsemdatumvon || $row->bis=='') && $row->von < $stsemdatumbis) //Outgoing - $zusatz.='(o)(ab '.$datum->formatDatum($row->von,'d.m.Y').')'; - - if($row->lkt_ueberschreibbar == 'f') // angerechnet / intern angerechnet / nicht zugelassen - $zusatz.= '('. $row->anmerkung. ')'; - - if($row->mitarbeiter_uid!='') //mitarbeiter - $zusatz.='(ma)'; - - if($row->stg_kz_student==$a_o_kz) //Außerordentliche Studierende - $zusatz.='(a.o.)'; - - if($row->mobilitaetstyp_kurzbz !='') //Double Degree Student - $zusatz.='(d.d.)'; - - //$zusatz.='test'; - - $studentuids[] = $row->student_uid; - $data[]=array('student'=>array( - 'uid' => $row->student_uid, - 'vorname'=>$row->vorname, - 'nachname'=>$row->nachname, - 'personenkennzeichen'=>trim($row->matrikelnr), - 'matr_nr'=>$row->matr_nr, - 'semester'=>$row->semester, - 'verband'=>trim($row->verband), - 'gruppe'=>trim($row->gruppe), - 'zusatz'=>$zusatz, - 'studiengang_kurzbz'=>$row->kurzbzlang, - 'mobilitaetstyp_kurzbz'=>$row->mobilitaetstyp_kurzbz - )); - } - } - //Anzahl Studierende in Array $data (an erster Stelle) einfuegen - $data = array_reverse($data, true); - $data['anzahl_studierende'] = $anzahl_studierende; - $data = array_reverse($data, true); -} +$lehrelisthelper = new LehreListHelper($db, $studiensemester, $lvid, $lv, $lehreinheit); +$arr_lehrende = $lehrelisthelper->getArr_Lehrende(); +$data = $lehrelisthelper->getData(); +$studentuids = $lehrelisthelper->getStudentUids(); $covidhelper = new CovidHelper(); $covidhelper->fetchCovidStatus($studentuids); @@ -273,15 +87,20 @@ header('Content-Type: text/html; charset=utf-8');
-

Covid-Status-Liste

-

Gruppen: Studiensemester:

-

Lehrende:

-

generiert: format('d.m.Y H:i'); ?>

+

Covid-Status-Liste ""

+
    +
  • Gruppen:
  • +
  • Studiensemester:
  • +
  • Lehrende: getLehrende_String(); ?>
  • +
  • generiert: format('d.m.Y H:i'); ?>
  • +
  • Anzahl der Studierenden:
  • +
- + + @@ -289,6 +108,8 @@ header('Content-Type: text/html; charset=utf-8'); + diff --git a/include/lehrelisthelper.class.php b/include/lehrelisthelper.class.php new file mode 100644 index 000000000..610a11f7b --- /dev/null +++ b/include/lehrelisthelper.class.php @@ -0,0 +1,293 @@ + + * Manfred Kindl + */ +require_once('../../../config/cis.config.inc.php'); +require_once('../../../include/lehrveranstaltung.class.php'); +require_once('../../../include/lehreinheitgruppe.class.php'); +require_once('../../../include/lehreinheit.class.php'); +require_once('../../../include/benutzerberechtigung.class.php'); +require_once('../../../include/lehreinheitmitarbeiter.class.php'); +require_once('../../../include/studiensemester.class.php'); +require_once('../../../include/functions.inc.php'); +require_once('../../../include/erhalter.class.php'); +require_once('../../../include/datum.class.php'); +/** + * Description of lehrelisthelper + * + * @author bambi + */ +class LehreListHelper +{ + protected $db; + protected $studiensemester; + protected $lvid; + protected $lv; + protected $lehreinheit; + + protected $arr_lehrende; + protected $studentuids; + protected $data; + + protected $gruppen_string; + protected $lehrende_string; + protected $raum_string; + + public function __construct(basis_db $db, $studiensemester, $lvid, + lehrveranstaltung $lv, $lehreinheit='') + { + $this->db = $db; + $this->studiensemester = $studiensemester; + $this->lvid = $lvid; + $this->lv = $lv; + $this->lehreinheit = $lehreinheit; + + $this->arr_lehrende = array(); + $this->studentuids = array(); + $this->data = array(); + + $this->gruppen_string = ''; + $this->lehrende_string = ''; + $this->raum_string = ''; + + $this->loadMemberGroups(); + $this->loadPlannedRooms(); + $this->initData(); + $this->loadLehrende(); + $this->loadStudierende(); + } + + public function getData() + { + return $this->data; + } + + public function getStudentUids() + { + return $this->studentuids; + } + + public function getArr_Lehrende() { + return $this->arr_lehrende; + } + + public function getLehrende_String() + { + return $this->lehrende_string; + } + + protected function loadMemberGroups() + { + // Teilnehmende Gruppen laden + $qry = "SELECT DISTINCT ON(kuerzel, semester, verband, gruppe, gruppe_kurzbz) + UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel, + semester, + verband, + gruppe, + gruppe_kurzbz + FROM campus.vw_lehreinheit + WHERE lehrveranstaltung_id=".$this->db->db_add_param($this->lvid, FHC_INTEGER)." + AND studiensemester_kurzbz=".$this->db->db_add_param($this->studiensemester); + if($this->lehreinheit!='') + $qry.=" AND lehreinheit_id=".$this->db->db_add_param($this->lehreinheit, FHC_INTEGER); + + $this->gruppen_string = ''; + if($result = $this->db->db_query($qry)) + { + while($row = $this->db->db_fetch_object($result)) + { + if($this->gruppen_string!='') + $this->gruppen_string.=', '; + if($row->gruppe_kurzbz=='') + $this->gruppen_string.=trim($row->kuerzel.'-'.$row->semester.$row->verband.$row->gruppe); + else + $this->gruppen_string.=$row->gruppe_kurzbz; + } + } + } + + protected function loadPlannedRooms() + { + // Verplante Räume laden + $qry = "SELECT distinct(ort_kurzbz) + FROM lehre.tbl_stundenplan + WHERE lehreinheit_id in + ( + SELECT lehreinheit_id + FROM campus.vw_lehreinheit + WHERE lehrveranstaltung_id = ".$this->db->db_add_param($this->lvid, FHC_INTEGER)." + AND studiensemester_kurzbz = ".$this->db->db_add_param($this->studiensemester)." + )"; + if($this->lehreinheit!='') + $qry.= " AND tbl_stundenplan.lehreinheit_id = ".$this->db->db_add_param($this->lehreinheit, FHC_INTEGER); + + + $this->raum_string = ''; + if($result = $this->db->db_query($qry)) + { + while($row = $this->db->db_fetch_object($result)) + { + if($this->raum_string!='') + $this->raum_string.=', '; + if($row->ort_kurzbz!='') + $this->raum_string.=$row->ort_kurzbz; + } + } + } + + protected function initData() + { + $stg = new studiengang(); + $stg->load($this->lv->studiengang_kz); + + $studiengang_bezeichnung=$stg->bezeichnung; + + $stg->getAllTypes(); + + $this->data = array( + 'gruppen'=>$this->gruppen_string, + 'bezeichnung'=>$this->lv->bezeichnung, + 'lehrveranstaltung_id'=>$this->lv->lehrveranstaltung_id, + 'studiengang'=>$studiengang_bezeichnung, + 'studiengang_kz'=>$this->lv->studiengang_kz, + 'typ'=>$stg->studiengang_typ_arr[$stg->typ], + 'ects'=>$this->lv->ects, + 'sprache'=>$this->lv->sprache, + 'studiensemester'=>$this->studiensemester, + 'semester'=>$this->lv->semester, + 'orgform'=>$this->lv->orgform_kurzbz, + 'raum'=>$this->raum_string, + ); + } + + protected function loadLehrende() { + //Lehrende der LV laden und in ein Array schreiben + $lehrende = new lehreinheitmitarbeiter(); + $lehrende->getMitarbeiterLV($this->lvid, $this->studiensemester, $this->lehreinheit); + $this->arr_lehrende = array(); + if (isset($lehrende->result)) + { + foreach($lehrende->result AS $row) + { + $this->data[]=array('lehrende'=>array('uid'=>$row->uid,'name'=>$row->vorname.' '.$row->nachname)); + $this->arr_lehrende[]=mb_strtoupper($row->uid); + $this->lehrende_string .= (strlen($this->lehrende_string) > 0) + ? ', ' . $row->vorname . ' ' . $row->nachname + : $row->vorname . ' ' . $row->nachname; + } + } + } + + protected function loadStudierende() { + //Studierende der LV laden und in ein Array schreiben + + $qry = 'SELECT + distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, public.tbl_student.student_uid, + tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, + (SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status, + tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, tbl_student.studiengang_kz AS stg_kz_student, + tbl_note.lkt_ueberschreibbar, tbl_note.anmerkung, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr, tbl_studiengang.kurzbzlang, tbl_mobilitaet.mobilitaetstyp_kurzbz + FROM + campus.vw_student_lehrveranstaltung + JOIN public.tbl_benutzer USING(uid) + JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_student ON(uid=student_uid) + LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) + LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz) + LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz) + LEFT JOIN lehre.tbl_note USING (note) + LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid) + LEFT JOIN public.tbl_studiengang ON(tbl_student.studiengang_kz=tbl_studiengang.studiengang_kz) + LEFT JOIN bis.tbl_mobilitaet USING(prestudent_id) + WHERE + vw_student_lehrveranstaltung.lehrveranstaltung_id='.$this->db->db_add_param($this->lvid, FHC_INTEGER).' AND + vw_student_lehrveranstaltung.studiensemester_kurzbz='.$this->db->db_add_param($this->studiensemester); + + + if($this->lehreinheit!='') + $qry.=' AND vw_student_lehrveranstaltung.lehreinheit_id='.$this->db->db_add_param($this->lehreinheit, FHC_INTEGER); + + $qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC'; + + $stsem_obj = new studiensemester(); + $stsem_obj->load($this->studiensemester); + $stsemdatumvon = $stsem_obj->start; + $stsemdatumbis = $stsem_obj->ende; + + $erhalter = new erhalter(); + $erhalter->getAll(); + + $a_o_kz = '9'.sprintf("%03s", $erhalter->result[0]->erhalter_kz); //Stg_Kz AO-Studierende auslesen (9005 fuer FHTW) + $anzahl_studierende = 0; + $datum = new datum(); + $zusatz = ''; + + $this->studentuids = array(); + if($result = $this->db->db_query($qry)) + { + while($row = $this->db->db_fetch_object($result)) + { + if($row->status!='Abbrecher' && $row->status!='Unterbrecher') + { + $anzahl_studierende++; + + if($row->status=='Incoming') //Incoming + $zusatz='(i)'; + else + $zusatz=''; + + if($row->bisio_id!='' && $row->status!='Incoming' && ($row->bis > $stsemdatumvon || $row->bis=='') && $row->von < $stsemdatumbis) //Outgoing + $zusatz.='(o)(ab '.$datum->formatDatum($row->von,'d.m.Y').')'; + + if($row->lkt_ueberschreibbar == 'f') // angerechnet / intern angerechnet / nicht zugelassen + $zusatz.= '('. $row->anmerkung. ')'; + + if($row->mitarbeiter_uid!='') //mitarbeiter + $zusatz.='(ma)'; + + if($row->stg_kz_student==$a_o_kz) //Außerordentliche Studierende + $zusatz.='(a.o.)'; + + if($row->mobilitaetstyp_kurzbz !='') //Double Degree Student + $zusatz.='(d.d.)'; + + //$zusatz.='test'; + + $this->studentuids[] = $row->student_uid; + $this->data[]=array('student'=>array( + 'uid' => $row->student_uid, + 'vorname'=>$row->vorname, + 'nachname'=>$row->nachname, + 'personenkennzeichen'=>trim($row->matrikelnr), + 'matr_nr'=>$row->matr_nr, + 'semester'=>$row->semester, + 'verband'=>trim($row->verband), + 'gruppe'=>trim($row->gruppe), + 'zusatz'=>$zusatz, + 'studiengang_kurzbz'=>$row->kurzbzlang, + 'mobilitaetstyp_kurzbz'=>$row->mobilitaetstyp_kurzbz + )); + } + } + //Anzahl Studierende in Array $data (an erster Stelle) einfuegen + $this->data = array_reverse($this->data, true); + $this->data['anzahl_studierende'] = $anzahl_studierende; + $this->data = array_reverse($this->data, true); + } + } +} From 487da82e330ee84a22c474e07b9d3fc608465f56 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Mon, 1 Nov 2021 15:51:20 +0100 Subject: [PATCH 04/17] pass studiengang to lehrelisthelper --- cis/private/lehre/anwesenheitsliste.pdf.php | 5 +++-- cis/private/lehre/covidstatusliste.php | 5 ++++- include/lehrelisthelper.class.php | 13 ++++++------- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/cis/private/lehre/anwesenheitsliste.pdf.php b/cis/private/lehre/anwesenheitsliste.pdf.php index 6d33c351a..6152b885d 100644 --- a/cis/private/lehre/anwesenheitsliste.pdf.php +++ b/cis/private/lehre/anwesenheitsliste.pdf.php @@ -65,11 +65,12 @@ if(isset($_GET['output']) && ($output='odt' || $output='doc')) isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL; isset($_GET['lehreinheit_id']) ? $lehreinheit = $_GET['lehreinheit_id'] : $lehreinheit = NULL; - +$stg = new studiengang(); +$stg->load($this->lv->studiengang_kz); $doc = new dokument_export('Anwesenheitslist'); -$lehrelisthelper = new LehreListHelper($db, $studiensemester, $lvid, $lv, $lehreinheit); +$lehrelisthelper = new LehreListHelper($db, $studiensemester, $lvid, $lv, $stg, $lehreinheit); $arr_lehrende = $lehrelisthelper->getArr_Lehrende(); $data = $lehrelisthelper->getData(); $studentuids = $lehrelisthelper->getStudentUids(); diff --git a/cis/private/lehre/covidstatusliste.php b/cis/private/lehre/covidstatusliste.php index a3e3898d7..ea8cfe7e8 100644 --- a/cis/private/lehre/covidstatusliste.php +++ b/cis/private/lehre/covidstatusliste.php @@ -62,7 +62,10 @@ if( !$berechtigung->isBerechtigt('admin') isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL; isset($_GET['lehreinheit_id']) ? $lehreinheit = $_GET['lehreinheit_id'] : $lehreinheit = NULL; -$lehrelisthelper = new LehreListHelper($db, $studiensemester, $lvid, $lv, $lehreinheit); +$stg = new studiengang(); +$stg->load($this->lv->studiengang_kz); + +$lehrelisthelper = new LehreListHelper($db, $studiensemester, $lvid, $lv, $stg, $lehreinheit); $arr_lehrende = $lehrelisthelper->getArr_Lehrende(); $data = $lehrelisthelper->getData(); $studentuids = $lehrelisthelper->getStudentUids(); diff --git a/include/lehrelisthelper.class.php b/include/lehrelisthelper.class.php index 610a11f7b..619b112f1 100644 --- a/include/lehrelisthelper.class.php +++ b/include/lehrelisthelper.class.php @@ -40,6 +40,7 @@ class LehreListHelper protected $lvid; protected $lv; protected $lehreinheit; + protected $stg; protected $arr_lehrende; protected $studentuids; @@ -50,13 +51,14 @@ class LehreListHelper protected $raum_string; public function __construct(basis_db $db, $studiensemester, $lvid, - lehrveranstaltung $lv, $lehreinheit='') + lehrveranstaltung $lv, studiengang $stg, $lehreinheit='') { $this->db = $db; $this->studiensemester = $studiensemester; $this->lvid = $lvid; $this->lv = $lv; $this->lehreinheit = $lehreinheit; + $this->stg = $stg; $this->arr_lehrende = array(); $this->studentuids = array(); @@ -153,12 +155,9 @@ class LehreListHelper protected function initData() { - $stg = new studiengang(); - $stg->load($this->lv->studiengang_kz); + $studiengang_bezeichnung=$this->stg->bezeichnung; - $studiengang_bezeichnung=$stg->bezeichnung; - - $stg->getAllTypes(); + $this->stg->getAllTypes(); $this->data = array( 'gruppen'=>$this->gruppen_string, @@ -166,7 +165,7 @@ class LehreListHelper 'lehrveranstaltung_id'=>$this->lv->lehrveranstaltung_id, 'studiengang'=>$studiengang_bezeichnung, 'studiengang_kz'=>$this->lv->studiengang_kz, - 'typ'=>$stg->studiengang_typ_arr[$stg->typ], + 'typ'=>$this->stg->studiengang_typ_arr[$this->stg->typ], 'ects'=>$this->lv->ects, 'sprache'=>$this->lv->sprache, 'studiensemester'=>$this->studiensemester, From 12f7f43e65407e5d8492873eaf2010471b5e9e66 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Mon, 1 Nov 2021 15:52:52 +0100 Subject: [PATCH 05/17] fix copy paste error --- cis/private/lehre/anwesenheitsliste.pdf.php | 2 +- cis/private/lehre/covidstatusliste.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cis/private/lehre/anwesenheitsliste.pdf.php b/cis/private/lehre/anwesenheitsliste.pdf.php index 6152b885d..065820c91 100644 --- a/cis/private/lehre/anwesenheitsliste.pdf.php +++ b/cis/private/lehre/anwesenheitsliste.pdf.php @@ -66,7 +66,7 @@ isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL; isset($_GET['lehreinheit_id']) ? $lehreinheit = $_GET['lehreinheit_id'] : $lehreinheit = NULL; $stg = new studiengang(); -$stg->load($this->lv->studiengang_kz); +$stg->load($lv->studiengang_kz); $doc = new dokument_export('Anwesenheitslist'); diff --git a/cis/private/lehre/covidstatusliste.php b/cis/private/lehre/covidstatusliste.php index ea8cfe7e8..8e9b07fa1 100644 --- a/cis/private/lehre/covidstatusliste.php +++ b/cis/private/lehre/covidstatusliste.php @@ -63,7 +63,7 @@ isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL; isset($_GET['lehreinheit_id']) ? $lehreinheit = $_GET['lehreinheit_id'] : $lehreinheit = NULL; $stg = new studiengang(); -$stg->load($this->lv->studiengang_kz); +$stg->load($lv->studiengang_kz); $lehrelisthelper = new LehreListHelper($db, $studiensemester, $lvid, $lv, $stg, $lehreinheit); $arr_lehrende = $lehrelisthelper->getArr_Lehrende(); From 776d448fbaece82548868086de5141130ca654e4 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Tue, 2 Nov 2021 10:41:41 +0100 Subject: [PATCH 06/17] Erweiterung Gesamtnotenliste um Double Degree Program --- .../benotungstool/lvgesamtnoteverwalten.php | 36 +++++++++++++++-- include/prestudent.class.php | 39 +++++++++++++++++++ 2 files changed, 71 insertions(+), 4 deletions(-) diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php index 407502178..beca444ec 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php @@ -45,6 +45,8 @@ require_once ('../../../../include/note.class.php'); require_once ('../../../../include/notenschluessel.class.php'); require_once ('../../../../include/studienplan.class.php'); require_once ('../../../../include/addon.class.php'); +require_once ('../../../../include/mobilitaet.class.php'); +require_once ('../../../../include/prestudent.class.php'); $summe_stud = 0; $summe_t2 = 0; @@ -80,6 +82,8 @@ if (! $lv_obj->load($lvid)) // Studiengang laden $stg_obj = new studiengang($lv_obj->studiengang_kz); +$stg_obj->studiengang_kz; + $datum_obj = new datum(); if (isset($_GET['stsem'])) @@ -901,7 +905,7 @@ if (isset($_REQUEST["freigabe"]) && ($_REQUEST["freigabe"] == 1)) if ($neuenoten > 0) { $lv = new lehrveranstaltung($lvid); - $sg = new studiengang($lv->studiengang_kz); + echo $sg = new studiengang($lv->studiengang_kz); $lektor_adresse = $user . "@" . DOMAIN; $adressen = $sg->email . ", " . $user . "@" . DOMAIN; @@ -1113,8 +1117,8 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG campus.vw_student_lehrveranstaltung JOIN campus.vw_student USING(uid) WHERE - studiensemester_kurzbz = " . $db->db_add_param($stsem) . " - AND lehrveranstaltung_id = " . $db->db_add_param($lvid) . " + studiensemester_kurzbz = ". $db->db_add_param($stsem). " + AND lehrveranstaltung_id = ". $db->db_add_param($lvid). " ORDER BY nachname, vorname "; if ($result_stud = $db->db_query($qry_stud)) @@ -1122,11 +1126,28 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG $i = 1; $errorshown = false; $summe_stud = $db->db_num_rows($result_stud); + + //Ergänzung um Mobility-Eintrag (d.d.) while ($row_stud = $db->db_fetch_object($result_stud)) { $grades[$row_stud->uid]['vorname'] = $row_stud->vorname; $grades[$row_stud->uid]['nachname'] = $row_stud->nachname; + $ps = new prestudent(); + $prestudent_id = $ps->getPrestudentFromBenutzer($row_stud->uid, $stg_obj->studiengang_kz, $stsem); + $mobility = new mobilitaet(); + $mobility->loadPrestudent($prestudent_id); + $output = $mobility->result; + $eintrag = ''; + + foreach ($output as $k) + { + if($k->mobilitaetstyp_kurzbz == 'GS') + $eintrag = ' (d.d.)'; + } + + $grades[$row_stud->uid]['mobility'] = $eintrag; + // Noten aus Uebungstool $le = new lehreinheit(); $le->load_lehreinheiten($lvid, $stsem); @@ -1167,12 +1188,13 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG $anzahlChanged = 0; foreach ($grades as $uid => $data) + //Ausgabe Array { $htmlstring .= ' - '; + '; // Bereits eingetragene Note ermitteln if ($lvgesamtnote = new lvgesamtnote($lvid, $uid, $stsem)) @@ -1619,5 +1641,11 @@ echo $htmlstring;
+
+
+

Legende

+

(d.d.)... Double Degree Program

+
+ diff --git a/include/prestudent.class.php b/include/prestudent.class.php index ab1e329dd..b5f9912d9 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -2463,4 +2463,43 @@ class prestudent extends person return false; } } + + /** + * Ermittelt den Prestudenten mithilfe der UID, des Studiengangs und des Semesters + * @param string $uid UID des Benutzers (zum Beispiel se15m007). + * @param int $stg_kz Kennzeichen Studiengang (zum Beispiel 299). + * @param string $stsem Semesterkurzbezeichnung (zum Beispiel WS2021). + * @return int prestudent_id + */ + public function getPrestudentFromBenutzer($uid, $stg_kz, $stsem) + { + $qry = "SELECT + prestudent_id + FROM public.tbl_benutzer + JOIN public.tbl_prestudent USING (person_id) + JOIN public.tbl_prestudentstatus USING (prestudent_id) + WHERE uid = ".$this->db_add_param($uid)." + AND studiengang_kz = ".$this->db_add_param($stg_kz, FHC_INTEGER)." + AND studiensemester_kurzbz = ".$this->db_add_param($stsem)." + AND status_kurzbz = 'Student';"; + + if ($this->db_query($qry)) + { + if ($row = $this->db_fetch_object()) + { + $prestudent_id = $row->prestudent_id; + return $prestudent_id; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } } From f37161dcc218b7cdeaded02736ab4c3c4fc24267 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Tue, 2 Nov 2021 14:49:13 +0100 Subject: [PATCH 07/17] Vereinfachung Funktion getPrestudentFromBenutzer --- include/prestudent.class.php | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/include/prestudent.class.php b/include/prestudent.class.php index b5f9912d9..1b009a18f 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -2468,20 +2468,15 @@ class prestudent extends person * Ermittelt den Prestudenten mithilfe der UID, des Studiengangs und des Semesters * @param string $uid UID des Benutzers (zum Beispiel se15m007). * @param int $stg_kz Kennzeichen Studiengang (zum Beispiel 299). - * @param string $stsem Semesterkurzbezeichnung (zum Beispiel WS2021). * @return int prestudent_id */ - public function getPrestudentFromBenutzer($uid, $stg_kz, $stsem) + public function getPrestudentFromBenutzer($uid, $stg_kz) { $qry = "SELECT prestudent_id - FROM public.tbl_benutzer - JOIN public.tbl_prestudent USING (person_id) - JOIN public.tbl_prestudentstatus USING (prestudent_id) - WHERE uid = ".$this->db_add_param($uid)." - AND studiengang_kz = ".$this->db_add_param($stg_kz, FHC_INTEGER)." - AND studiensemester_kurzbz = ".$this->db_add_param($stsem)." - AND status_kurzbz = 'Student';"; + FROM public.tbl_student + WHERE student_uid = ".$this->db_add_param($uid)." + AND studiengang_kz = ".$this->db_add_param($stg_kz, FHC_INTEGER).";"; if ($this->db_query($qry)) { From b549fc1edd8338affae81cd45a7c54f1c2ff88ac Mon Sep 17 00:00:00 2001 From: ma0068 Date: Tue, 2 Nov 2021 15:14:00 +0100 Subject: [PATCH 08/17] Update Funktion getPrestudentIdFromBenutzerId --- .../benotungstool/lvgesamtnoteverwalten.php | 6 ++-- include/prestudent.class.php | 34 ------------------ include/student.class.php | 36 ++++++++++++++++++- 3 files changed, 38 insertions(+), 38 deletions(-) diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php index beca444ec..fb4a7fe6d 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php @@ -46,7 +46,7 @@ require_once ('../../../../include/notenschluessel.class.php'); require_once ('../../../../include/studienplan.class.php'); require_once ('../../../../include/addon.class.php'); require_once ('../../../../include/mobilitaet.class.php'); -require_once ('../../../../include/prestudent.class.php'); +require_once ('../../../../include/student.class.php'); $summe_stud = 0; $summe_t2 = 0; @@ -1133,8 +1133,8 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG $grades[$row_stud->uid]['vorname'] = $row_stud->vorname; $grades[$row_stud->uid]['nachname'] = $row_stud->nachname; - $ps = new prestudent(); - $prestudent_id = $ps->getPrestudentFromBenutzer($row_stud->uid, $stg_obj->studiengang_kz, $stsem); + $ps = new student(); + $prestudent_id = $ps->getPrestudentIdFromBenutzerId($row_stud->uid, $stg_obj->studiengang_kz); $mobility = new mobilitaet(); $mobility->loadPrestudent($prestudent_id); $output = $mobility->result; diff --git a/include/prestudent.class.php b/include/prestudent.class.php index 1b009a18f..ab1e329dd 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -2463,38 +2463,4 @@ class prestudent extends person return false; } } - - /** - * Ermittelt den Prestudenten mithilfe der UID, des Studiengangs und des Semesters - * @param string $uid UID des Benutzers (zum Beispiel se15m007). - * @param int $stg_kz Kennzeichen Studiengang (zum Beispiel 299). - * @return int prestudent_id - */ - public function getPrestudentFromBenutzer($uid, $stg_kz) - { - $qry = "SELECT - prestudent_id - FROM public.tbl_student - WHERE student_uid = ".$this->db_add_param($uid)." - AND studiengang_kz = ".$this->db_add_param($stg_kz, FHC_INTEGER).";"; - - if ($this->db_query($qry)) - { - if ($row = $this->db_fetch_object()) - { - $prestudent_id = $row->prestudent_id; - return $prestudent_id; - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } } diff --git a/include/student.class.php b/include/student.class.php index 4618ddbcd..8480ce2d3 100644 --- a/include/student.class.php +++ b/include/student.class.php @@ -571,7 +571,7 @@ class student extends benutzer { $qry = "SELECT tbl_student.* FROM public.tbl_benutzer JOIN public.tbl_student ON(uid=student_uid) WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER); - + if($studiengang_kz != '') { $qry .= " AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER); @@ -896,4 +896,38 @@ class student extends benutzer return null; } } + + /** + * Ermittelt den Prestudenten mithilfe der UID, des Studiengangs und des Semesters + * @param string $uid UID des Benutzers (zum Beispiel se15m007). + * @param int $stg_kz Kennzeichen Studiengang (zum Beispiel 299). + * @return int prestudent_id + */ + public function getPrestudentIdFromBenutzerId($uid, $stg_kz) + { + $qry = "SELECT + prestudent_id + FROM public.tbl_student + WHERE student_uid = ".$this->db_add_param($uid)." + AND studiengang_kz = ".$this->db_add_param($stg_kz, FHC_INTEGER).";"; + + if ($this->db_query($qry)) + { + if ($row = $this->db_fetch_object()) + { + $prestudent_id = $row->prestudent_id; + return $prestudent_id; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } } From 4d1994ca63ca912c5e395ec7a5b17faf9c2eb31c Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Tue, 2 Nov 2021 17:50:20 +0100 Subject: [PATCH 09/17] menulayout, coding styles --- cis/private/lehre/anwesenheitsliste.php | 25 +++++++++++++++++-------- cis/private/lehre/covidstatusliste.php | 9 ++++++--- include/covid/covidhelper.class.php | 6 ++++-- include/lehrelisthelper.class.php | 9 ++++++--- locale/de-AT/anwesenheitsliste.php | 1 + locale/en-US/anwesenheitsliste.php | 1 + 6 files changed, 35 insertions(+), 16 deletions(-) diff --git a/cis/private/lehre/anwesenheitsliste.php b/cis/private/lehre/anwesenheitsliste.php index 6859c1a2e..0eda67a65 100644 --- a/cis/private/lehre/anwesenheitsliste.php +++ b/cis/private/lehre/anwesenheitsliste.php @@ -96,6 +96,7 @@ $covidhelper = new CovidHelper(); isUdfDefined()) ? 'Covid-Status' : ''; - $aw_content .= ""; + $covid_content .= ($covidhelper->isUdfDefined()) ? '' : ''; + $aw_content .= ""; $awbild_content .= ""; $nt_content .= ""; @@ -164,8 +165,8 @@ $covidhelper = new CovidHelper(); } } - $covid_content = ($covidhelper->isUdfDefined()) ? 'Covid-Status' : ''; - $aw_content .= ""; + $covid_content .= ($covidhelper->isUdfDefined()) ? '' : ''; + $aw_content .= ""; $awbild_content .= ""; $nt_content .= ""; @@ -200,8 +201,8 @@ $covidhelper = new CovidHelper(); } } - $covid_content = ($covidhelper->isUdfDefined()) ? 'Covid-Status' : ''; - $aw_content .= ""; + $covid_content .= ($covidhelper->isUdfDefined()) ? '' : ''; + $aw_content .= ""; $awbild_content .= ""; $nt_content .= ""; } @@ -213,6 +214,11 @@ $covidhelper = new CovidHelper(); } else { + if($covid_content!='') + $covid_content = "
Studentlfd.Nr.Name Kennzeichen Gruppe Covid-Status
getIconHtml($tmpstudent['uid']); ?>
' . $db->convert_html_chars($uid) . ' ' . $db->convert_html_chars($data['nachname']) . '' . $db->convert_html_chars($data['vorname']) . '' . $db->convert_html_chars($data['vorname']) . $db->convert_html_chars($data['mobility']) .'
".$p->t('anwesenheitsliste/gesamtliste')." $lv->bezeichnung" . $covid_content . "
' . $p->t('anwesenheitsliste/gesamtliste') . ' ' . $lv->bezeichnung . '
".$p->t('anwesenheitsliste/gesamtliste')." $lv->bezeichnung
".$p->t('anwesenheitsliste/gesamtliste')." $lv->bezeichnung
".$p->t('anwesenheitsliste/gesamtliste')." $lv->bezeichnung
   $kurzbz - $lehrform - $gruppen ($lektoren)" . $covid_content . "
   ' . $kurzbz . ' - ' . $lehrform . ' - ' . $gruppen . ' (' . $lektoren . ')
   $kurzbz - $lehrform - $gruppen ($lektoren)
   $kurzbz - $lehrform - $gruppen ($lektoren)
   $kurzbz - $lehrform - $gruppen ($lektoren)
   $kurzbz - $lehrform - $gruppen ($lektoren)" . $covid_content . "
   ' . $kurzbz . ' - ' . $lehrform . ' - ' . $gruppen . ' (' . $lektoren . ')
   $kurzbz - $lehrform - $gruppen ($lektoren)
   $kurzbz - $lehrform - $gruppen ($lektoren)
   $kurzbz - $lehrform - $gruppen ($lektoren)
".$covid_content."

".$p->t('anwesenheitsliste/covidstatuslisten')."

"; + else + $covid_content = $p->t('anwesenheitsliste/keineStudentenVorhanden'); + if($aw_content!='') $aw_content = "".$aw_content."

".$p->t('anwesenheitsliste/anwesenheitslisten')."

"; else @@ -236,17 +242,20 @@ $covidhelper = new CovidHelper(); $aw_content=''; if(defined('CIS_ANWESENHEITSLISTE_ANWESENHEITSLISTE_BILD_ANZEIGEN') && !CIS_ANWESENHEITSLISTE_ANWESENHEITSLISTE_BILD_ANZEIGEN) $awbild_content=''; - + echo " - + + + +
$aw_content$covid_content
$awbild_content
$nt_content
"; diff --git a/cis/private/lehre/covidstatusliste.php b/cis/private/lehre/covidstatusliste.php index 8e9b07fa1..85fbb643e 100644 --- a/cis/private/lehre/covidstatusliste.php +++ b/cis/private/lehre/covidstatusliste.php @@ -113,8 +113,10 @@ header('Content-Type: text/html; charset=utf-8');
diff --git a/include/covid/covidhelper.class.php b/include/covid/covidhelper.class.php index 3c9ef12da..0ac546689 100644 --- a/include/covid/covidhelper.class.php +++ b/include/covid/covidhelper.class.php @@ -52,11 +52,13 @@ class CovidHelper extends basis_db $this->checkIfUdfValuesAreDefined(); } - public function isUdfDefined() { + public function isUdfDefined() + { return $this->isUdfDefined; } - public function fetchCovidStatus(array $uids) { + public function fetchCovidStatus(array $uids) + { $this->uids = $uids; $this->covidstatus = array(); $this->fetchCovidValidStatus(); diff --git a/include/lehrelisthelper.class.php b/include/lehrelisthelper.class.php index 619b112f1..631d6fb86 100644 --- a/include/lehrelisthelper.class.php +++ b/include/lehrelisthelper.class.php @@ -85,7 +85,8 @@ class LehreListHelper return $this->studentuids; } - public function getArr_Lehrende() { + public function getArr_Lehrende() + { return $this->arr_lehrende; } @@ -175,7 +176,8 @@ class LehreListHelper ); } - protected function loadLehrende() { + protected function loadLehrende() + { //Lehrende der LV laden und in ein Array schreiben $lehrende = new lehreinheitmitarbeiter(); $lehrende->getMitarbeiterLV($this->lvid, $this->studiensemester, $this->lehreinheit); @@ -193,7 +195,8 @@ class LehreListHelper } } - protected function loadStudierende() { + protected function loadStudierende() + { //Studierende der LV laden und in ein Array schreiben $qry = 'SELECT diff --git a/locale/de-AT/anwesenheitsliste.php b/locale/de-AT/anwesenheitsliste.php index d6d98226d..977649a0a 100644 --- a/locale/de-AT/anwesenheitsliste.php +++ b/locale/de-AT/anwesenheitsliste.php @@ -1,6 +1,7 @@ phrasen['anwesenheitsliste/studiensemesterIstUngueltig']='Studiensemester ist ungueltig'; $this->phrasen['anwesenheitsliste/anwesenheitslisten']='Anwesenheitslisten'; +$this->phrasen['anwesenheitsliste/covidstatuslisten']='Covid-Statuslisten'; $this->phrasen['anwesenheitsliste/notenlisten']='Notenlisten'; $this->phrasen['anwesenheitsliste/notenliste']='Notenliste'; $this->phrasen['anwesenheitsliste/anwesenheitslistenMitBildern']='Fotolisten'; diff --git a/locale/en-US/anwesenheitsliste.php b/locale/en-US/anwesenheitsliste.php index 1fc5de993..b5205dfbe 100644 --- a/locale/en-US/anwesenheitsliste.php +++ b/locale/en-US/anwesenheitsliste.php @@ -1,6 +1,7 @@ phrasen['anwesenheitsliste/studiensemesterIstUngueltig']='No valid semester'; $this->phrasen['anwesenheitsliste/anwesenheitslisten']='Attendance lists'; +$this->phrasen['anwesenheitsliste/covidstatuslisten']='Covid status lists'; $this->phrasen['anwesenheitsliste/notenlisten']='Grade lists'; $this->phrasen['anwesenheitsliste/notenliste']='Grade list'; $this->phrasen['anwesenheitsliste/anwesenheitslistenMitBildern']='Picture lists'; From 811b59ef1b485171b755461878e4f3c2429e5284 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Tue, 2 Nov 2021 17:56:33 +0100 Subject: [PATCH 10/17] styling --- cis/private/lehre/anwesenheitsliste.php | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/cis/private/lehre/anwesenheitsliste.php b/cis/private/lehre/anwesenheitsliste.php index 0eda67a65..25942ebae 100644 --- a/cis/private/lehre/anwesenheitsliste.php +++ b/cis/private/lehre/anwesenheitsliste.php @@ -71,14 +71,9 @@ $covidhelper = new CovidHelper(); - @@ -247,7 +242,7 @@ $covidhelper = new CovidHelper(); $aw_content - $covid_content + $covid_content $awbild_content From 8d4a79f9b93b6bc7de320233a9b2b567b9594be5 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Tue, 2 Nov 2021 18:00:41 +0100 Subject: [PATCH 11/17] only show messages if covid udf is defined --- cis/private/lehre/anwesenheitsliste.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cis/private/lehre/anwesenheitsliste.php b/cis/private/lehre/anwesenheitsliste.php index 25942ebae..2cdf56d5f 100644 --- a/cis/private/lehre/anwesenheitsliste.php +++ b/cis/private/lehre/anwesenheitsliste.php @@ -212,7 +212,7 @@ $covidhelper = new CovidHelper(); if($covid_content!='') $covid_content = "".$covid_content."

".$p->t('anwesenheitsliste/covidstatuslisten')."

"; else - $covid_content = $p->t('anwesenheitsliste/keineStudentenVorhanden'); + $covid_content = ($covidhelper->isUdfDefined()) ? $p->t('anwesenheitsliste/keineStudentenVorhanden') : ''; if($aw_content!='') $aw_content = "".$aw_content."

".$p->t('anwesenheitsliste/anwesenheitslisten')."

"; From c0fd4f70b90f1b916a490ca25293d3047871016f Mon Sep 17 00:00:00 2001 From: ma0068 Date: Wed, 3 Nov 2021 09:26:48 +0100 Subject: [PATCH 12/17] Ermittlung Prestudent_id mit load() --- .../benotungstool/lvgesamtnoteverwalten.php | 11 +++--- include/student.class.php | 34 ------------------- 2 files changed, 6 insertions(+), 39 deletions(-) diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php index fb4a7fe6d..629d3241e 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php @@ -1133,19 +1133,20 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG $grades[$row_stud->uid]['vorname'] = $row_stud->vorname; $grades[$row_stud->uid]['nachname'] = $row_stud->nachname; - $ps = new student(); - $prestudent_id = $ps->getPrestudentIdFromBenutzerId($row_stud->uid, $stg_obj->studiengang_kz); + $student = new student(); + $student->load($row_stud->uid); + $student->result[]= $student; + $prestudent_id = $student->prestudent_id; + $mobility = new mobilitaet(); $mobility->loadPrestudent($prestudent_id); $output = $mobility->result; $eintrag = ''; - foreach ($output as $k) { if($k->mobilitaetstyp_kurzbz == 'GS') - $eintrag = ' (d.d.)'; + $eintrag = ' (d.d.)'; } - $grades[$row_stud->uid]['mobility'] = $eintrag; // Noten aus Uebungstool diff --git a/include/student.class.php b/include/student.class.php index 8480ce2d3..55733dd94 100644 --- a/include/student.class.php +++ b/include/student.class.php @@ -896,38 +896,4 @@ class student extends benutzer return null; } } - - /** - * Ermittelt den Prestudenten mithilfe der UID, des Studiengangs und des Semesters - * @param string $uid UID des Benutzers (zum Beispiel se15m007). - * @param int $stg_kz Kennzeichen Studiengang (zum Beispiel 299). - * @return int prestudent_id - */ - public function getPrestudentIdFromBenutzerId($uid, $stg_kz) - { - $qry = "SELECT - prestudent_id - FROM public.tbl_student - WHERE student_uid = ".$this->db_add_param($uid)." - AND studiengang_kz = ".$this->db_add_param($stg_kz, FHC_INTEGER).";"; - - if ($this->db_query($qry)) - { - if ($row = $this->db_fetch_object()) - { - $prestudent_id = $row->prestudent_id; - return $prestudent_id; - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } } From d6e063dd0c174346e5199030d945eebb9622174a Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Thu, 4 Nov 2021 11:14:17 +0100 Subject: [PATCH 13/17] check empty uids array --- include/covid/covidhelper.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/covid/covidhelper.class.php b/include/covid/covidhelper.class.php index 0ac546689..b04ff79cc 100644 --- a/include/covid/covidhelper.class.php +++ b/include/covid/covidhelper.class.php @@ -137,7 +137,7 @@ class CovidHelper extends basis_db protected function fetchCovidValidStatus() { - if( !($this->isUdfDefined && is_array($this->uids)) ) + if( !($this->isUdfDefined && is_array($this->uids) && (count($this->uids) > 0)) ) { return; } From 5107d0ddd56cfbb896ff130bb572911abdf284f4 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Mon, 8 Nov 2021 11:06:26 +0100 Subject: [PATCH 14/17] do not distinguish between unknown and invalid consider both invalid --- include/covid/covidhelper.class.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/covid/covidhelper.class.php b/include/covid/covidhelper.class.php index b04ff79cc..694651ea4 100644 --- a/include/covid/covidhelper.class.php +++ b/include/covid/covidhelper.class.php @@ -74,11 +74,14 @@ class CovidHelper extends basis_db $html = ''; break; case self::STATUS_NOTOK: + case self::STATUS_UNKNOWN: $html = ''; break; +/* case self::STATUS_UNKNOWN: $html = ''; break; + */ default: $html = ''; break; @@ -96,11 +99,14 @@ class CovidHelper extends basis_db $class = 'success'; break; case self::STATUS_NOTOK: + case self::STATUS_UNKNOWN: $class = 'danger'; break; +/* case self::STATUS_UNKNOWN: $class = 'warning'; break; + */ default: $class = ''; break; @@ -118,11 +124,14 @@ class CovidHelper extends basis_db $title = self::TITLE_OK; break; case self::STATUS_NOTOK: + case self::STATUS_UNKNOWN: $title = self::TITLE_NOTOK; break; +/* case self::STATUS_UNKNOWN: $title = self::TITLE_UNKNOWN; break; + */ default: $title = ''; break; From 20fb38ba8f2584ddebd79024351b92fc1b65d5ae Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Mon, 15 Nov 2021 16:34:42 +0100 Subject: [PATCH 15/17] change labels --- cis/private/lehre/covidstatusliste.php | 6 +++--- include/covid/covidhelper.class.php | 6 +++--- locale/de-AT/anwesenheitsliste.php | 2 +- locale/en-US/anwesenheitsliste.php | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/cis/private/lehre/covidstatusliste.php b/cis/private/lehre/covidstatusliste.php index 85fbb643e..affe2b929 100644 --- a/cis/private/lehre/covidstatusliste.php +++ b/cis/private/lehre/covidstatusliste.php @@ -80,7 +80,7 @@ header('Content-Type: text/html; charset=utf-8'); - FHC - Covidliste + FHC - Nachweisliste @@ -90,7 +90,7 @@ header('Content-Type: text/html; charset=utf-8');
-

Covid-Status-Liste ""

+

Nachweisliste ""

  • Gruppen:
  • Studiensemester:
  • @@ -106,7 +106,7 @@ header('Content-Type: text/html; charset=utf-8'); Name Kennzeichen Gruppe - Covid-Status + Nachweis diff --git a/include/covid/covidhelper.class.php b/include/covid/covidhelper.class.php index 694651ea4..a9307292f 100644 --- a/include/covid/covidhelper.class.php +++ b/include/covid/covidhelper.class.php @@ -30,9 +30,9 @@ class CovidHelper extends basis_db const STATUS_UNKNOWN = -1; const STATUS_NOTSET = -2; - const TITLE_OK = 'Covid Status gültig'; - const TITLE_NOTOK = 'Covid Status ungültig'; - const TITLE_UNKNOWN = 'Covid Status unbekannt'; + const TITLE_OK = 'Nachweis gültig'; + const TITLE_NOTOK = 'Nachweis ungültig'; + const TITLE_UNKNOWN = 'Nachweis unbekannt'; const DB_SCHEMA = 'public'; const DB_TABLE = 'tbl_person'; diff --git a/locale/de-AT/anwesenheitsliste.php b/locale/de-AT/anwesenheitsliste.php index 977649a0a..7b73c15e5 100644 --- a/locale/de-AT/anwesenheitsliste.php +++ b/locale/de-AT/anwesenheitsliste.php @@ -1,7 +1,7 @@ phrasen['anwesenheitsliste/studiensemesterIstUngueltig']='Studiensemester ist ungueltig'; $this->phrasen['anwesenheitsliste/anwesenheitslisten']='Anwesenheitslisten'; -$this->phrasen['anwesenheitsliste/covidstatuslisten']='Covid-Statuslisten'; +$this->phrasen['anwesenheitsliste/covidstatuslisten']='Nachweislisten'; $this->phrasen['anwesenheitsliste/notenlisten']='Notenlisten'; $this->phrasen['anwesenheitsliste/notenliste']='Notenliste'; $this->phrasen['anwesenheitsliste/anwesenheitslistenMitBildern']='Fotolisten'; diff --git a/locale/en-US/anwesenheitsliste.php b/locale/en-US/anwesenheitsliste.php index b5205dfbe..c1f42fe37 100644 --- a/locale/en-US/anwesenheitsliste.php +++ b/locale/en-US/anwesenheitsliste.php @@ -1,7 +1,7 @@ phrasen['anwesenheitsliste/studiensemesterIstUngueltig']='No valid semester'; $this->phrasen['anwesenheitsliste/anwesenheitslisten']='Attendance lists'; -$this->phrasen['anwesenheitsliste/covidstatuslisten']='Covid status lists'; +$this->phrasen['anwesenheitsliste/covidstatuslisten']='verification lists'; $this->phrasen['anwesenheitsliste/notenlisten']='Grade lists'; $this->phrasen['anwesenheitsliste/notenliste']='Grade list'; $this->phrasen['anwesenheitsliste/anwesenheitslistenMitBildern']='Picture lists'; From ced19ecb2d7c9a4cb4af6e1c01983f472f5950f1 Mon Sep 17 00:00:00 2001 From: Harald Bamberger Date: Wed, 17 Nov 2021 12:50:17 +0100 Subject: [PATCH 16/17] remove misplaced echo --- cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php index 629d3241e..70d15d801 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php @@ -905,7 +905,7 @@ if (isset($_REQUEST["freigabe"]) && ($_REQUEST["freigabe"] == 1)) if ($neuenoten > 0) { $lv = new lehrveranstaltung($lvid); - echo $sg = new studiengang($lv->studiengang_kz); + $sg = new studiengang($lv->studiengang_kz); $lektor_adresse = $user . "@" . DOMAIN; $adressen = $sg->email . ", " . $user . "@" . DOMAIN; From f3600a79ec147e041a07ac06742e29a758fa5364 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 18 Nov 2021 13:40:27 +0100 Subject: [PATCH 17/17] Disabled Output on Connection error --- include/pgsql.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/pgsql.class.php b/include/pgsql.class.php index 2daf2283a..92a6d0494 100644 --- a/include/pgsql.class.php +++ b/include/pgsql.class.php @@ -32,12 +32,12 @@ class basis_db extends db //Connection Herstellen if (DB_CONNECT_PERSISTENT) { - if(!basis_db::$db_conn = pg_pconnect($conn_str)) + if(!basis_db::$db_conn = @pg_pconnect($conn_str)) die('Fehler beim Oeffnen der Datenbankverbindung'); } else { - if(!basis_db::$db_conn = pg_connect($conn_str)) + if(!basis_db::$db_conn = @pg_connect($conn_str)) die('Fehler beim Oeffnen der Datenbankverbindung'); } }