Merge branch 'master' into benutzerberechtigungGUIneu

This commit is contained in:
Manfred
2022-09-21 11:09:27 +02:00
46 changed files with 566 additions and 111 deletions
+3 -3
View File
@@ -306,7 +306,7 @@ class OLE extends PEAR
{
$rawname = '';
for ($i = 0; $i < strlen($ascii); $i++) {
$rawname .= $ascii{$i}."\x00";
$rawname .= $ascii[$i]."\x00";
}
return $rawname;
}
@@ -378,7 +378,7 @@ class OLE extends PEAR
$high_part = 0;
for ($i=0; $i<4; $i++)
{
$al = unpack('C', $string{(7 - $i)});
$al = unpack('C', $string[(7 - $i)]);
$high_part += $al[''];
if ($i < 3) {
$high_part *= 0x100;
@@ -387,7 +387,7 @@ class OLE extends PEAR
$low_part = 0;
for ($i=4; $i<8; $i++)
{
$al = unpack('C', $string{(7 - $i)});
$al = unpack('C', $string[(7 - $i)]);
$low_part += $al[''];
if ($i < 7) {
$low_part *= 0x100;
+7 -7
View File
@@ -1084,7 +1084,7 @@ class Spreadsheet_Excel_Writer_Parser extends PEAR
$col = 0;
$col_ref_length = strlen($col_ref);
for ($i = 0; $i < $col_ref_length; $i++) {
$col += (ord($col_ref{$i}) - ord('A') + 1) * pow(26, $expn);
$col += (ord($col_ref[$i]) - ord('A') + 1) * pow(26, $expn);
$expn--;
}
@@ -1106,20 +1106,20 @@ class Spreadsheet_Excel_Writer_Parser extends PEAR
$formula_length = strlen($this->_formula);
// eat up white spaces
if ($i < $formula_length) {
while ($this->_formula{$i} == " ") {
while ($this->_formula[$i] == " ") {
$i++;
}
if ($i < ($formula_length - 1)) {
$this->_lookahead = $this->_formula{$i+1};
$this->_lookahead = $this->_formula[$i+1];
}
$token = '';
}
while ($i < $formula_length) {
$token .= $this->_formula{$i};
$token .= $this->_formula[$i];
if ($i < ($formula_length - 1)) {
$this->_lookahead = $this->_formula{$i+1};
$this->_lookahead = $this->_formula[$i+1];
} else {
$this->_lookahead = '';
}
@@ -1134,7 +1134,7 @@ class Spreadsheet_Excel_Writer_Parser extends PEAR
}
if ($i < ($formula_length - 2)) {
$this->_lookahead = $this->_formula{$i+2};
$this->_lookahead = $this->_formula[$i+2];
} else { // if we run out of characters _lookahead becomes empty
$this->_lookahead = '';
}
@@ -1282,7 +1282,7 @@ class Spreadsheet_Excel_Writer_Parser extends PEAR
{
$this->_current_char = 0;
$this->_formula = $formula;
$this->_lookahead = $formula{1};
$this->_lookahead = $formula[1];
$this->_advance();
$this->_parse_tree = $this->_condition();
if (PEAR::isError($this->_parse_tree)) {
+4 -1
View File
@@ -315,7 +315,7 @@ class benutzer extends person
$qry = "SELECT * FROM (
SELECT
distinct on (uid) vorname, nachname, uid, mitarbeiter_uid, personalnummer, titelpre, titelpost, lektor, fixangestellt, alias, tbl_benutzer.aktiv, anrede,
distinct on (uid) vorname, nachname, wahlname, uid, mitarbeiter_uid, personalnummer, titelpre, titelpost, lektor, fixangestellt, alias, tbl_benutzer.aktiv, anrede,
(SELECT UPPER
(tbl_studiengang.typ || tbl_studiengang.kurzbz)
FROM public.tbl_student
@@ -356,6 +356,8 @@ class benutzer extends person
$qry.=" (lower(vorname || ' ' || nachname) ~* lower(".$this->db_add_param($searchItems_string).")";
$qry.=" OR lower(nachname || ' ' || vorname) ~* lower(".$this->db_add_param($searchItems_string).")";
$qry.=" OR lower(nachname || ' ' || wahlname) ~* lower(".$this->db_add_param($searchItems_string).")";
$qry.=" OR lower(wahlname || ' ' || nachname) ~* lower(".$this->db_add_param($searchItems_string).")";
$qry.=" OR lower(uid) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
$qry.=" OR lower(telefonklappe) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
@@ -376,6 +378,7 @@ class benutzer extends person
$obj->titelpre = $row->titelpre;
$obj->vorname = $row->vorname;
$obj->wahlname = $row->wahlname;
$obj->nachname = $row->nachname;
$obj->titelpost = $row->titelpost;
$obj->uid = $row->uid;
+1 -1
View File
@@ -109,7 +109,7 @@ class ical extends basis_db
$dtend='';
}
}
elseif($typ=='SoGo')
elseif($typ=='SoGo' || $typ=='Zeitsperren')
{
if(mb_strstr($row,'FREEBUSY'))
{
+16 -2
View File
@@ -200,7 +200,7 @@ class LehreListHelper
//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,
distinct on(nachname, vorname, person_id) vorname, nachname, wahlname, 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
@@ -276,10 +276,24 @@ class LehreListHelper
if(($row->mobilitaetstyp_kurzbz != '') && ($row->doubledegree == 1)) //Double Degree Student
$zusatz .= '(d.d.)';
if(($row->wahlname != ''))
{
//als Zusatz speichern
//$zusatz .= '(Wahlname: ' . $row->wahlname . ')';
//wenn vorhanden statt Vornamen anzeigen
$vorname = $row->wahlname;
}
else
{
$vorname = $row->vorname;
}
$this->studentuids[] = $row->student_uid;
$this->data[]=array('student'=>array(
'uid' => $row->student_uid,
'vorname'=>$row->vorname,
'vorname'=>$vorname,
'nachname'=>$row->nachname,
'personenkennzeichen'=>trim($row->matrikelnr),
'matr_nr'=>$row->matr_nr,
+22 -4
View File
@@ -319,7 +319,7 @@ class mitarbeiter extends benutzer
*/
public function getMitarbeiter($lektor=true,$fixangestellt=null,$stg_kz=null)
{
$sql_query='SELECT DISTINCT campus.vw_mitarbeiter.uid, titelpre, titelpost, vorname, vornamen, nachname, gebdatum, gebort, gebzeit, anmerkung, aktiv,
$sql_query='SELECT DISTINCT campus.vw_mitarbeiter.uid, titelpre, titelpost, vorname, vornamen, wahlname, nachname, gebdatum, gebort, gebzeit, anmerkung, aktiv,
homepage, campus.vw_mitarbeiter.updateamum, campus.vw_mitarbeiter.updatevon, personalnummer, kurzbz, lektor, fixangestellt, standort_id, telefonklappe FROM campus.vw_mitarbeiter
LEFT OUTER JOIN public.tbl_benutzerfunktion USING (uid)
WHERE TRUE';
@@ -364,6 +364,7 @@ class mitarbeiter extends benutzer
$l->titelpre=$row->titelpre;
$l->titelpost=$row->titelpost;
$l->vorname=$row->vorname;
$l->wahlname=$row->wahlname;
$l->vornamen=$row->vornamen;
$l->nachname=$row->nachname;
$l->gebdatum=$row->gebdatum;
@@ -475,6 +476,7 @@ class mitarbeiter extends benutzer
$l->titelpre=$row->titelpre;
$l->titelpost=$row->titelpost;
$l->vorname=$row->vorname;
$l->wahlname=$row->wahlname;
$l->vornamen=$row->vornamen;
$l->nachname=$row->nachname;
$l->gebdatum=$row->gebdatum;
@@ -601,7 +603,7 @@ class mitarbeiter extends benutzer
return false;
}
$qry = "SELECT uid, vorname, vornamen, nachname, titelpre, titelpost, kurzbz FROM lehre.tbl_lehreinheitmitarbeiter, campus.vw_mitarbeiter, lehre.tbl_lehreinheit
$qry = "SELECT uid, vorname, wahlname, vornamen, nachname, titelpre, titelpost, kurzbz FROM lehre.tbl_lehreinheitmitarbeiter, campus.vw_mitarbeiter, lehre.tbl_lehreinheit
WHERE lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)." AND mitarbeiter_uid=uid AND tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id;";
if($this->db_query($qry))
@@ -616,6 +618,7 @@ class mitarbeiter extends benutzer
$obj->titelpre = $row->titelpre;
$obj->titelpost = $row->titelpost;
$obj->kurzbz = $row->kurzbz;
$obj->wahlname = $row->wahlname;
$obj->vornamen = $row->vornamen;
$this->result[] = $obj;
@@ -752,6 +755,7 @@ class mitarbeiter extends benutzer
$obj->titelpre = $row->titelpre;
$obj->nachname = $row->nachname;
$obj->vorname = $row->vorname;
$obj->wahlname = $row->wahlname;
$obj->vornamen = $row->vornamen;
$obj->gebdatum = $row->gebdatum;
$obj->gebort = $row->gebort;
@@ -833,7 +837,12 @@ class mitarbeiter extends benutzer
*/
public function getMitarbeiterFilter($filter)
{
$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE lower(nachname) ~* lower(".$this->db_add_param($filter).") OR uid ~* ".$this->db_add_param($filter);
$qry = "SELECT * FROM campus.vw_mitarbeiter
WHERE lower(nachname) ~* lower(".$this->db_add_param($filter).")
OR lower(wahlname) ~* lower(".$this->db_add_param($filter).")
--OR lower(wahlname || ' ' || nachname) like lower(".$this->db_add_param($filter).")
--OR lower(nachname || ' ' || wahlname) like lower(".$this->db_add_param($filter).")
OR uid ~* ".$this->db_add_param($filter);
$qry .= " ORDER BY nachname, vorname, kurzbz;";
if($this->db_query($qry))
@@ -849,6 +858,7 @@ class mitarbeiter extends benutzer
$obj->titelpost = $row->titelpost;
$obj->kurzbz = $row->kurzbz;
$obj->vornamen = $row->vornamen;
$obj->wahlname = $row->wahlname;
$obj->aktiv =$this->db_parse_bool($row->aktiv);
$obj->fixangestellt = $this->db_parse_bool($row->fixangestellt);
@@ -871,14 +881,17 @@ class mitarbeiter extends benutzer
*/
public function search($filter, $limit=null, $aktiv=true, $positivePersonalnr=false)
{
$qry = "SELECT vorname, nachname, titelpre, titelpost, kurzbz, vornamen, uid
$qry = "SELECT vorname, nachname, titelpre, titelpost, kurzbz, vornamen, wahlname, uid
FROM campus.vw_mitarbeiter
WHERE
lower(nachname) like lower('%".$this->db_escape($filter)."%')
OR lower(uid) like lower('%".$this->db_escape($filter)."%')
OR lower(vorname) like lower('%".$this->db_escape($filter)."%')
OR lower(wahlname) like lower('%".$this->db_escape($filter)."%')
OR lower(vorname || ' ' || nachname) like lower('%".$this->db_escape($filter)."%')
OR lower(nachname || ' ' || vorname) like lower('%".$this->db_escape($filter)."%')
OR lower(wahlname || ' ' || nachname) like lower('%".$this->db_escape($filter)."%')
OR lower(nachname || ' ' || wahlname) like lower('%".$this->db_escape($filter)."%')
ORDER BY nachname, vorname";
if(!is_null($limit) && is_numeric($limit))
@@ -897,6 +910,7 @@ class mitarbeiter extends benutzer
$obj->titelpost = $row->titelpost;
$obj->kurzbz = $row->kurzbz;
$obj->vornamen = $row->vornamen;
$obj->wahlname = $row->wahlname;
$this->result[] = $obj;
}
@@ -931,6 +945,8 @@ class mitarbeiter extends benutzer
JOIN public.tbl_person USING(person_id)
WHERE lower(COALESCE(nachname,'') ||' '|| COALESCE(vorname,'')) ~* lower(".$this->db_add_param($searchItems_string).") OR
lower(COALESCE(vorname,'') ||' '|| COALESCE(nachname,'')) ~* lower(".$this->db_add_param($searchItems_string).") OR
lower(COALESCE(wahlname,'') ||' '|| COALESCE(nachname,'')) ~* lower(".$this->db_add_param($searchItems_string).") OR
lower(COALESCE(nachname,'') ||' '|| COALESCE(wahlname,'')) ~* lower(".$this->db_add_param($searchItems_string).") OR
uid ~* ".$this->db_add_param($filter)." ";
if(is_numeric($filter))
$qry.="OR personalnummer = ".$this->db_add_param($filter)." OR svnr = ".$this->db_add_param($filter).";";
@@ -950,6 +966,7 @@ class mitarbeiter extends benutzer
$obj->titelpre = $row->titelpre;
$obj->nachname = $row->nachname;
$obj->vorname = $row->vorname;
$obj->wahlname = $row->wahlname;
$obj->vornamen = $row->vornamen;
$obj->gebdatum = $row->gebdatum;
$obj->gebort = $row->gebort;
@@ -1509,6 +1526,7 @@ class mitarbeiter extends benutzer
$obj->titelpre = $row->titelpre;
$obj->nachname = $row->nachname;
$obj->vorname = $row->vorname;
$obj->wahlname = $row->wahlname;
$obj->vornamen = $row->vornamen;
$obj->gebdatum = $row->gebdatum;
$obj->gebort = $row->gebort;
+14 -4
View File
@@ -66,6 +66,7 @@ class person extends basis_db
public $matr_nr; //varchar(32)
public $bpk; //varchar(255)
public $udf_values; //json
public $wahlname;
/**
* Konstruktor - Uebergibt die Connection und laedt optional eine Person
@@ -95,7 +96,7 @@ class person extends basis_db
gebdatum, gebort, gebzeit, foto, anmerkung, homepage, svnr, ersatzkennzeichen,
familienstand, anzahlkinder, aktiv, insertamum, insertvon, updateamum, updatevon, ext_id,
geschlecht, staatsbuergerschaft, geburtsnation, kurzbeschreibung, zugangscode, foto_sperre,
matr_nr, bpk";
matr_nr, bpk, wahlname";
if ($hasUDF = $udf->personHasUDF())
$qry .= ", udf_values ";
@@ -142,6 +143,7 @@ class person extends basis_db
$this->foto_sperre = $this->db_parse_bool($row->foto_sperre);
$this->matr_nr = $row->matr_nr;
$this->bpk = $row->bpk;
$this->wahlname = $row->wahlname;
if ($hasUDF)
{
$this->udf_values = $row->udf_values;
@@ -441,7 +443,7 @@ class person extends basis_db
gebdatum, gebort, gebzeit, foto, anmerkung, homepage, svnr, ersatzkennzeichen,
familienstand, anzahlkinder, aktiv, insertamum, insertvon, updateamum, updatevon,
geschlecht, geburtsnation, staatsbuergerschaft, kurzbeschreibung, zugangscode,
foto_sperre, matr_nr, bpk)
foto_sperre, matr_nr, bpk, wahlname)
VALUES('.$this->db_add_param($this->sprache).','.
$this->db_add_param($this->anrede).','.
$this->db_add_param($this->titelpost).','.
@@ -471,7 +473,8 @@ class person extends basis_db
$this->db_add_param($this->zugangscode).','.
$this->db_add_param($this->foto_sperre, FHC_BOOLEAN).','.
$this->db_add_param($this->matr_nr).','.
$this->db_add_param($this->bpk).');';
$this->db_add_param($this->bpk).','.
$this->db_add_param($this->wahlname).');';
}
else
{
@@ -510,7 +513,8 @@ class person extends basis_db
' foto_sperre='.$this->db_add_param($this->foto_sperre, FHC_BOOLEAN).','.
' zugangscode='.$this->db_add_param($this->zugangscode).','.
' matr_nr ='.$this->db_add_param($this->matr_nr).','.
' bpk = '.$this->db_add_param($this->bpk).
' bpk = '.$this->db_add_param($this->bpk).','.
' wahlname = '.$this->db_add_param($this->wahlname).
' WHERE person_id='.$this->person_id.';';
}
@@ -568,6 +572,8 @@ class person extends basis_db
UPPER (vorname) ~* UPPER(".$this->db_add_param($filter).") OR
UPPER (nachname || ' ' || vorname) ~* UPPER(".$this->db_add_param($filter).") OR
UPPER (vorname || ' ' || nachname) ~* UPPER(".$this->db_add_param($filter).") OR
UPPER (nachname || ' ' || wahlname) ~* UPPER(".$this->db_add_param($filter).") OR
UPPER (wahlname || ' ' || nachname) ~* UPPER(".$this->db_add_param($filter).") OR
uid=".$this->db_add_param($filter);
}
@@ -611,6 +617,7 @@ class person extends basis_db
$l->foto_sperre = $this->db_parse_bool($row->foto_sperre);
$l->matr_nr = $row->matr_nr;
$l->bpk = $row->bpk;
$l->wahlname = $row->wahlname;
$this->personen[] = $l;
}
}
@@ -684,6 +691,7 @@ class person extends basis_db
$adrObj->nachname = $row->nachname;
$adrObj->vorname = $row->vorname;
$adrObj->vornamen = $row->vornamen;
$adrObj->wahlname = $row->wahlname;
$adrObj->gebdatum = $row->gebdatum;
$adrObj->gebort = $row->gebort;
$adrObj->gebzeit = $row->gebzeit;
@@ -868,6 +876,7 @@ class person extends basis_db
$this->foto_sperre = $this->db_parse_bool($row->foto_sperre);
$this->matr_nr = $row->matr_nr;
$this->bpk = $row->bpk;
$this->wahlname = $row->wahlname;
}
else
{
@@ -986,6 +995,7 @@ class person extends basis_db
$this->updateaktivam = $row->updateaktivam;
$this->aktivierungscode = $row->aktivierungscode;
$this->bpk = $row->bpk;
$this->wahlname = $row->wahlname;
return true;
}
else
+8 -1
View File
@@ -524,6 +524,14 @@ class statistik extends basis_db
}
foreach($_REQUEST as $name=>$value)
{
// Inputs, die in eckigen Klammern stehen, werden als Array interpretiert
if (substr($value, 0, 1) == '[' && substr($value, -1) == ']')
{
//Eckige Klammern entfernen und String aufsplitten
$value = substr($value, 1);
$value = substr($value, 0, -1);
$value = explode(',', $value);
}
if (is_array($value))
{
$in = $this->db_implode4SQL($value);
@@ -532,7 +540,6 @@ class statistik extends basis_db
else
$sql = str_replace('$'.$name,$this->db_add_param($value),$sql);
}
if($this->data = $this->db_query($sql))
{
$this->html.= '<thead><tr>';
+27
View File
@@ -531,6 +531,33 @@ class student extends benutzer
}
}
/**
* Check, ob inputparameter gültige studenten_id ist
* @param matrikelnummer oder student_uid
* @return ok, wenn gültige Id, sonst false
*/
public function checkIfValidStudentUID($uid)
{
$qry = "SELECT student_uid FROM public.tbl_student WHERE student_uid=".$this->db_add_param($uid);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
return true;
}
else
{
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt die UID anhand der Matrikelnummer
* @param matrikelnummer