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'