From 1c3e9fccf31c5371644f44a1a0000a007a01440a Mon Sep 17 00:00:00 2001 From: Paolo Date: Wed, 19 Nov 2025 12:29:02 +0100 Subject: [PATCH] PHP8 compatibility: adapted Vilesci permissions manager --- include/basis_db.class.php | 6 +++--- include/benutzer.class.php | 9 +++++++++ include/benutzerberechtigung.class.php | 4 ++-- include/mitarbeiter.class.php | 4 ++-- include/pgsql.class.php | 8 ++++---- vilesci/stammdaten/benutzerberechtigung_details.php | 6 +++--- 6 files changed, 23 insertions(+), 14 deletions(-) diff --git a/include/basis_db.class.php b/include/basis_db.class.php index d8d2ebaff..c2733036d 100644 --- a/include/basis_db.class.php +++ b/include/basis_db.class.php @@ -50,12 +50,12 @@ abstract class db extends basis abstract function db_fetch_array($result=null); abstract function db_fetch_row($result=null, $i=null); abstract function db_fetch_assoc($result=null, $i=null); - abstract function db_result($result = null, $i, $item); + abstract function db_result($result = null, $i=null, $item=null); abstract function db_num_rows($result=null); abstract function db_num_fields($result=null); - abstract function db_field_name($result=null, $i); + abstract function db_field_name($result=null, $i=null); abstract function db_affected_rows($result=null); - abstract function db_result_seek($result=null, $offset); + abstract function db_result_seek($result=null, $offset=null); abstract function db_last_error(); abstract function db_free_result($result=null); abstract function db_version(); diff --git a/include/benutzer.class.php b/include/benutzer.class.php index dc9c3ec12..bdfea3337 100644 --- a/include/benutzer.class.php +++ b/include/benutzer.class.php @@ -33,6 +33,15 @@ class benutzer extends person public $updateaktivam; public $updateaktivvon; + // PHP8 adaption + public $mitarbeiter_uid; + public $studiengang; + public $studiengang_kz; + public $telefonklappe; + public $raum; + public $lektor; + public $fixangestellt; + /** * Konstruktor - Uebergibt die Connection und laedt optional einen Benutzer * @param $uid Benutzer der geladen werden soll (default=null) diff --git a/include/benutzerberechtigung.class.php b/include/benutzerberechtigung.class.php index 69d4947bf..2542db9c6 100644 --- a/include/benutzerberechtigung.class.php +++ b/include/benutzerberechtigung.class.php @@ -134,12 +134,12 @@ class benutzerberechtigung extends basis_db return false; } - if(mb_strlen($this->berechtigung_kurzbz)>32) + if(mb_strlen($this->berechtigung_kurzbz ?? '')>32) { $this->errormsg = 'Berechtigung_kurzbz darf nicht laenger als 32 Zeichen sein'; return false; } - if(mb_strlen($this->uid)>32) + if(mb_strlen($this->uid ?? '')>32) { $this->errormsg = 'UID darf nicht laenger als 32 Zeichen sein'; return false; diff --git a/include/mitarbeiter.class.php b/include/mitarbeiter.class.php index 1517122c2..d4b3cbc0c 100644 --- a/include/mitarbeiter.class.php +++ b/include/mitarbeiter.class.php @@ -411,7 +411,7 @@ class mitarbeiter extends benutzer * @param $datum_bis * @return boolean */ - public function getMitarbeiterStg($lektor=true,$fixangestellt, $stge, $fkt_kurzbz, $order='studiengang_kz, nachname, vorname, kurzbz', $datum_von='', $datum_bis='') + public function getMitarbeiterStg($lektor=true,$fixangestellt=null, $stge=null, $fkt_kurzbz='', $order='studiengang_kz, nachname, vorname, kurzbz', $datum_von='', $datum_bis='') { $sql_query='SELECT DISTINCT campus.vw_mitarbeiter.*, studiengang_kz, tbl_studiengang.typ, tbl_studiengang.kurzbz AS stg_kurzbz FROM campus.vw_mitarbeiter JOIN public.tbl_benutzerfunktion USING (uid) JOIN public.tbl_studiengang USING(oe_kurzbz) @@ -1554,7 +1554,7 @@ class mitarbeiter extends benutzer * @param $studSemArray Array mit Studiensemestern in denen der externe Lektor zumindest in einem Unterrichtet haben soll oder NULL. Wenn NULL werden nur externe Mitarbeiter ohne Lehrauftrag ausgegeben. * @return boolean */ - public function getMitarbeiterForZutrittskarte($filter, $fixangestellt=true, $studSemArray) + public function getMitarbeiterForZutrittskarte($filter, $fixangestellt=true, $studSemArray=array()) { $qry = "SELECT vorname,nachname,gebdatum,uid,personalnummer,person_id diff --git a/include/pgsql.class.php b/include/pgsql.class.php index 92a6d0494..911633d2b 100644 --- a/include/pgsql.class.php +++ b/include/pgsql.class.php @@ -115,7 +115,7 @@ class basis_db extends db } } - public function db_result($result = null, $i,$item) + public function db_result($result = null, $i=null,$item=null) { if(is_null($result)) { @@ -164,7 +164,7 @@ class basis_db extends db return pg_affected_rows($result); } - public function db_result_seek($result=null, $offset) + public function db_result_seek($result=null, $offset=null) { if(is_null($result)) return pg_result_seek($this->db_result, $offset); @@ -191,7 +191,7 @@ class basis_db extends db /** * Liefert den Feldnamen mit index i */ - public function db_field_name($result=null, $i) + public function db_field_name($result=null, $i=null) { if(is_null($result)) return pg_field_name($this->db_result, $i); @@ -230,7 +230,7 @@ class basis_db extends db */ public function db_escape($var) { - return pg_escape_string($var); + return pg_escape_string(basis_db::$db_conn, $var); } /** diff --git a/vilesci/stammdaten/benutzerberechtigung_details.php b/vilesci/stammdaten/benutzerberechtigung_details.php index d1f88102d..e9c08ac4e 100644 --- a/vilesci/stammdaten/benutzerberechtigung_details.php +++ b/vilesci/stammdaten/benutzerberechtigung_details.php @@ -725,7 +725,7 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz'])) $htmlstr .= '

'; } } - if (count($bn) > 0) + if (count($bn->berechtigungen) > 0) { $htmlstr .= "

Rechte Detailaufschlüsselung

"; } @@ -928,7 +928,7 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz'])) $data = 'gruen'; } // Inaktive Elemente sowie WaWi-Rechte ausblenden - if ($b->ende!='' && strtotime($b->ende) < $heute || $b->rolle_kurzbz == 'wawi' || substr($b->berechtigung_kurzbz, 0, 4) == 'wawi') + if ($b->ende!='' && strtotime($b->ende) < $heute || $b->rolle_kurzbz == 'wawi' || substr($b->berechtigung_kurzbz ?? '', 0, 4) == 'wawi') { $htmlstr .= " "; $countInaktiveUndWawi++; @@ -1061,7 +1061,7 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz'])) name='dataset[$b->benutzerberechtigung_id][anmerkung]' class='input_anmerkung $inaktiv_class' value='".$b->anmerkung."' - title='".$db->convert_html_chars(mb_eregi_replace('\r'," ",$b->anmerkung))."' + title='".$db->convert_html_chars(mb_eregi_replace('\r'," ",$b->anmerkung ?? ''))."' data-toggle='tooltip' data-html='true' data-placement='auto'