first working version to add covid status to lvlists

This commit is contained in:
Harald Bamberger
2021-11-01 13:12:55 +01:00
parent 38cdcef38e
commit 98ffe525b3
3 changed files with 545 additions and 4 deletions
+19 -4
View File
@@ -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();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
@@ -69,6 +71,16 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../vendor/components/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"/>
<style type="text/css">
.covidstatus {
float: right;
padding-left: 2.5em;
}
.covidstatus i {
margin-right: .5em;
}
</style>
</head>
<body>
@@ -98,7 +110,8 @@
$lv = new lehrveranstaltung($lvid);
$aw_content .= "<tr><td><a class='Item' href='anwesenheitsliste.pdf.php?stg=$stg_kz&sem=$sem&lvid=$lvid&stsem=$stsem'>".$p->t('anwesenheitsliste/gesamtliste')." $lv->bezeichnung</a></td></tr>";
$covid_content = ($covidhelper->isUdfDefined()) ? '<a class="covidstatus" href="covidstatusliste.php?stg='.$stg_kz.'.&sem='.$sem.'&lvid='.$lvid.'&stsem='.$stsem.'"><i class="fa fa-qrcode" aria-hidden="true"></i>Covid-Status</a>' : '';
$aw_content .= "<tr><td><a class='Item' href='anwesenheitsliste.pdf.php?stg=$stg_kz&sem=$sem&lvid=$lvid&stsem=$stsem'>".$p->t('anwesenheitsliste/gesamtliste')." $lv->bezeichnung</a>" . $covid_content . "</td></tr>";
$awbild_content .= "<tr><td><a class='Item' href='fotoliste.pdf.php?stg=$stg_kz&sem=$sem&lvid=$lvid&stsem=$stsem'>".$p->t('anwesenheitsliste/gesamtliste')." $lv->bezeichnung</a></td></tr>";
$nt_content .= "<tr><td><a class='Item' href='notenliste.xls.php?stg=$stg_kz&sem=$sem&lvid=$lvid&stsem=$stsem'>".$p->t('anwesenheitsliste/gesamtliste')." $lv->bezeichnung</a></td></tr>";
@@ -151,7 +164,8 @@
}
}
$aw_content .= "<tr><td><a class='Item' href='anwesenheitsliste.pdf.php?stg=$stg_kz&sem=$sem&lvid=$lvid&lehreinheit_id=$lastlehreinheit&stsem=$stsem'>&nbsp;&nbsp;&nbsp;<img src='../../../skin/images/haken.gif' />$kurzbz - $lehrform - $gruppen ($lektoren)</a></td></tr>";
$covid_content = ($covidhelper->isUdfDefined()) ? '<a class="covidstatus" href="covidstatusliste.php?stg='.$stg_kz.'.&sem='.$sem.'&lvid='.$lvid.'&lehreinheit_id='.$lastlehreinheit.'&stsem='.$stsem.'"><i class="fa fa-qrcode" aria-hidden="true"></i>Covid-Status</a>' : '';
$aw_content .= "<tr><td><a class='Item' href='anwesenheitsliste.pdf.php?stg=$stg_kz&sem=$sem&lvid=$lvid&lehreinheit_id=$lastlehreinheit&stsem=$stsem'>&nbsp;&nbsp;&nbsp;<img src='../../../skin/images/haken.gif' />$kurzbz - $lehrform - $gruppen ($lektoren)</a>" . $covid_content . "</td></tr>";
$awbild_content .= "<tr><td><a class='Item' href='fotoliste.pdf.php?stg=$stg_kz&sem=$sem&lvid=$lvid&lehreinheit_id=$lastlehreinheit&stsem=$stsem'>&nbsp;&nbsp;&nbsp;<img src='../../../skin/images/haken.gif' />$kurzbz - $lehrform - $gruppen ($lektoren)</a></td></tr>";
$nt_content .= "<tr><td><a class='Item' href='notenliste.xls.php?stg=$stg_kz&sem=$sem&lvid=$lvid&lehreinheit_id=$lastlehreinheit&stsem=$stsem'>&nbsp;&nbsp;&nbsp;<img src='../../../skin/images/haken.gif' />$kurzbz - $lehrform - $gruppen ($lektoren)</a></td></tr>";
@@ -186,7 +200,8 @@
}
}
$aw_content .= "<tr><td><a class='Item' href='anwesenheitsliste.pdf.php?stg=$stg_kz&sem=$sem&lvid=$lvid&lehreinheit_id=$lastlehreinheit&stsem=$stsem'>&nbsp;&nbsp;&nbsp;<img src='../../../skin/images/haken.gif' />$kurzbz - $lehrform - $gruppen ($lektoren)</a></td></tr>";
$covid_content = ($covidhelper->isUdfDefined()) ? '<a class="covidstatus" href="covidstatusliste.php?stg='.$stg_kz.'.&sem='.$sem.'&lvid='.$lvid.'&lehreinheit_id='.$lastlehreinheit.'&stsem='.$stsem.'"><i class="fa fa-qrcode" aria-hidden="true"></i>Covid-Status</a>' : '';
$aw_content .= "<tr><td><a class='Item' href='anwesenheitsliste.pdf.php?stg=$stg_kz&sem=$sem&lvid=$lvid&lehreinheit_id=$lastlehreinheit&stsem=$stsem'>&nbsp;&nbsp;&nbsp;<img src='../../../skin/images/haken.gif' />$kurzbz - $lehrform - $gruppen ($lektoren)</a>" . $covid_content . "</td></tr>";
$awbild_content .= "<tr><td><a class='Item' href='fotoliste.pdf.php?stg=$stg_kz&sem=$sem&lvid=$lvid&lehreinheit_id=$lastlehreinheit&stsem=$stsem'>&nbsp;&nbsp;&nbsp;<img src='../../../skin/images/haken.gif' />$kurzbz - $lehrform - $gruppen ($lektoren)</a></td></tr>";
$nt_content .= "<tr><td><a class='Item' href='notenliste.xls.php?stg=$stg_kz&sem=$sem&lvid=$lvid&lehreinheit_id=$lastlehreinheit&stsem=$stsem'>&nbsp;&nbsp;&nbsp;<img src='../../../skin/images/haken.gif' />$kurzbz - $lehrform - $gruppen ($lektoren)</a></td></tr>";
}
+337
View File
@@ -0,0 +1,337 @@
<?php
/* Copyright (C) 2015 fhcomplete.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Manfred Kindl <manfred.kindl@technikum-wien.at>
*/
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');
?>
<!<!doctype html>
<html>
<head>
<title>FHC - Covidliste</title>
<link rel="stylesheet" type="text/css" href="../../../vendor/twbs/bootstrap/dist/css/bootstrap.min.css">
<link href="../../../vendor/components/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-lg-6">
<h1>Covid-Status-Liste <?php echo $data['bezeichnung']; ?></h1>
<h2>Gruppen: <?php echo $data['gruppen']; ?> Studiensemester: <?php echo $data['studiensemester']; ?></h2>
<h3>Lehrende: <?php echo implode(', ',array_unique($arr_lehrende)); ?></h3>
<h4>generiert: <?php echo $now->format('d.m.Y H:i'); ?></h4>
<table class="table table-striped table-hover table-condensed">
<thead>
<tr>
<th>Student</th>
<th>Kennzeichen</th>
<th>Gruppe</th>
<th>Covid-Status</th>
</tr>
</thead>
<tbody>
<?php
foreach ($data as $value) {
if( !(is_array($value) && isset($value['student'])) ) {
continue;
}
$tmpstudent =& $value['student'];
?>
<tr class="<?php echo $covidhelper->getBootstrapClass($tmpstudent['uid'])?>" title="<?php echo $covidhelper->getTitle($tmpstudent['uid'])?>">
<td><?php echo $tmpstudent['nachname'] . ' ' . $tmpstudent['vorname'] . ' ' . $tmpstudent['zusatz']; ?></td>
<td><?php echo $tmpstudent['personenkennzeichen']; ?></td>
<td><?php echo $tmpstudent['semester'] . $tmpstudent['verband'] . $tmpstudent['gruppe']; ?></td>
<td><?php echo $covidhelper->getIconHtml($tmpstudent['uid']); ?></td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</div>
<?php
if( $debug ) {
?>
<div class="row">
<div class="col-lg-6">
<div class="debug">
<pre>
<?php
print_r($data);
print_r($covidstatus);
?>
</pre>
</div>
</div>
</div>
<?php
}
?>
</div>
</body>
</html>
+189
View File
@@ -0,0 +1,189 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Harald Bamberger <harald.bamberger@technikum-wien.at>
*/
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 = '<i title="' . $this->getTitle($uid) . '" class="fa fa-check-circle" aria-hidden="true" style="color: green; margin-right: .5em;"></i>';
break;
case self::STATUS_NOTOK:
$html = '<i title="' . $this->getTitle($uid) . '" class="fa fa-times-circle" aria-hidden="true" style="color: red; margin-right: .5em;"></i>';
break;
case self::STATUS_UNKNOWN:
$html = '<i title="' . $this->getTitle($uid) . '" class="fa fa-question-circle" aria-hidden="true" style="color: grey; margin-right: .5em;"></i>';
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 = <<<EOSQL
SELECT b.uid, CASE
WHEN (p."udf_values" -> '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;
}
}
}