Merge branch 'master' into feature-4135/AnzeigeUrlaubstageVorFreigabe

This commit is contained in:
ma0068
2022-11-02 15:33:15 +01:00
358 changed files with 10464 additions and 2809 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;
+9 -3
View File
@@ -49,6 +49,7 @@ class bisio extends basis_db
public $lehreinheit_id; // integer
public $ects_erworben; // numeric(5,2)
public $ects_angerechnet; // numeric(5,2)
public $herkunftsland_code; // varchar(3)
public $aufenthaltfoerderung_code; // integer
public $bezeichnung; // varchar(64)
@@ -100,6 +101,7 @@ class bisio extends basis_db
$this->lehreinheit_id = $row->lehreinheit_id;
$this->ects_angerechnet = $row->ects_angerechnet;
$this->ects_erworben = $row->ects_erworben;
$this->herkunftsland_code = $row->herkunftsland_code;
return true;
}
@@ -202,7 +204,7 @@ class bisio extends basis_db
$qry='BEGIN;INSERT INTO bis.tbl_bisio (mobilitaetsprogramm_code, nation_code, von, bis,
student_uid, updateamum, updatevon, insertamum, insertvon, ort, universitaet, lehreinheit_id,
ects_angerechnet, ects_erworben) VALUES('.
ects_angerechnet, ects_erworben, herkunftsland_code) VALUES('.
$this->db_add_param($this->mobilitaetsprogramm_code, FHC_INTEGER).', '.
$this->db_add_param($this->nation_code).', '.
$this->db_add_param($this->von).', '.
@@ -216,7 +218,8 @@ class bisio extends basis_db
$this->db_add_param($this->universitaet).', '.
$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).','.
$this->db_add_param($this->ects_angerechnet).', '.
$this->db_add_param($this->ects_erworben).');';
$this->db_add_param($this->ects_erworben).', '.
$this->db_add_param($this->herkunftsland_code).');';
}
else
{
@@ -233,7 +236,8 @@ class bisio extends basis_db
' universitaet='.$this->db_add_param($this->universitaet).','.
' lehreinheit_id='.$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).', '.
' ects_angerechnet='.$this->db_add_param($this->ects_angerechnet).', '.
' ects_erworben='.$this->db_add_param($this->ects_erworben).
' ects_erworben='.$this->db_add_param($this->ects_erworben).', '.
' herkunftsland_code='.$this->db_add_param($this->herkunftsland_code).
" WHERE bisio_id=".$this->db_add_param($this->bisio_id, FHC_INTEGER).";";
}
@@ -337,6 +341,7 @@ class bisio extends basis_db
$io->lehreinheit_id = $row->lehreinheit_id;
$io->ects_angerechnet = $row->ects_angerechnet;
$io->ects_erworben = $row->ects_erworben;
$io->herkunftsland_code = $row->herkunftsland_code;
$this->result[] = $io;
}
@@ -395,6 +400,7 @@ class bisio extends basis_db
$io->lehreinheit_id = $row->lehreinheit_id;
$io->ects_angerechnet = $row->ects_angerechnet;
$io->ects_erworben = $row->ects_erworben;
$io->herkunftsland_code = $row->herkunftsland_code;
$this->result[] = $io;
}
+187
View File
@@ -0,0 +1,187 @@
<?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: Alexei Karpenko <karpenko@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class gruppemanager extends basis_db
{
public $new;
//Tabellenspalten
public $uid; // varchar(32)
public $gruppe_kurzbz; // varchar(32)
public $insertamum; // timestamp
public $insertvon; // varchar(32)
public $uids = array(); // array
/**
* Konstruktor - Laedt optional einen Gruppenmanager
* @param $uid
* @param $gruppe_kurzbz
*/
public function __construct($uid=null, $gruppe_kurzbz=null)
{
parent::__construct();
if(!is_null($gruppe_kurzbz) && !is_null($uid))
$this->load($uid, $gruppe_kurzbz);
}
/**
* Laedt die BenutzerGruppe
* @param uid, gruppe_kurzbz
* @return true wenn ok, false im Fehlerfall
*/
public function load($uid, $gruppe_kurzbz)
{
$qry = "SELECT * FROM public.tbl_gruppe_manager WHERE uid=".$this->db_add_param($uid)." AND gruppe_kurzbz=".$this->db_add_param($gruppe_kurzbz);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->uid = $row->uid;
$this->gruppe_kurzbz = $row->gruppe_kurzbz;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
return true;
}
else
{
$this->errormsg = 'Es wurde kein Datensatz gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
}
/**
* Laedt die Manager einer Benutzergruppe
* @param gruppe_kurzbz
* @return true wenn ok, false im Fehlerfall
*/
public function load_uids($gruppe_kurzbz)
{
$qry = "SELECT * FROM public.tbl_gruppe_manager
WHERE gruppe_kurzbz=".$this->db_add_param($gruppe_kurzbz);
if ($this->db_query($qry))
{
if ($this->db_num_rows() == 0)
return false;
else
{
while ($row = $this->db_fetch_object())
{
$gm_obj = new gruppemanager();
$gm_obj->uid = $row->uid;
$this->uids[] = $gm_obj;
}
return true;
}
}
else
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
}
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
if(mb_strlen($this->uid)>32)
{
$this->errormsg = 'UID darf nich laenger als 32 Zeichen sein';
return false;
}
if(mb_strlen($this->gruppe_kurzbz)>32)
{
$this->errormsg = 'Gruppe_kurzbz darf nicht laenger als 32 Zeichen sein';
return false;
}
if(mb_strlen($this->insertvon)>32)
{
$this->errormsg = 'Insertvon darf nicht laenger als 32 Zeichen sein';
return false;
}
return true;
}
/**
* Speichert GruppeManager in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function save()
{
//Variablen auf Gueltigkeit pruefen
if(!$this->validate())
return false;
$qry = 'INSERT INTO public.tbl_gruppe_manager (uid, gruppe_kurzbz, insertamum, insertvon)
VALUES('.$this->db_add_param($this->uid).','.
$this->db_add_param($this->gruppe_kurzbz).','.
$this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).');';
if($this->db_query($qry))
{
//Log schreiben
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern des GruppeManagers';
return false;
}
}
/**
* Loescht eine Gruppenmanagerzuordnung
*
* @param $uid
* @param $gruppe_kurzbz
* @return boolean
*/
public function delete($uid, $gruppe_kurzbz)
{
$qry = "DELETE FROM public.tbl_gruppe_manager WHERE uid=".$this->db_add_param($uid)." AND gruppe_kurzbz=".$this->db_add_param($gruppe_kurzbz);
if($this->db_query($qry))
return true;
else
{
$this->errormsg = 'Fehler beim Loeschen der Zuteilung';
return false;
}
}
}
?>
+40 -3
View File
@@ -34,6 +34,7 @@ class gsprogramm extends basis_db
public $programm_code;
public $bezeichnung;
public $gsprogrammtyp_kurzbz;
public $studienkennung_uni;
public function getAll()
{
@@ -57,6 +58,7 @@ class gsprogramm extends basis_db
$obj->gsprogrammtyp_kurzbz = $row->gsprogrammtyp_kurzbz;
$obj->gsprogrammtyp_bezeichnung = $row->gsprogrammtyp_bezeichnung;
$obj->studienkennung_uni = $row->studienkennung_uni;
$this->result[]=$obj;
}
@@ -86,6 +88,7 @@ class gsprogramm extends basis_db
$this->programm_code = $row->programm_code;
$this->bezeichnung = $row->bezeichnung;
$this->gsprogrammtyp_kurzbz = $row->gsprogrammtyp_kurzbz;
$this->studienkennung_uni = $row->studienkennung_uni;
$this->new = false;
}
return true;
@@ -126,22 +129,56 @@ class gsprogramm extends basis_db
}
}
/**
* Prueft die Daten vor dem Speichern
*
* @return true wenn ok, false wenn Fehler
*/
public function validate()
{
if(!is_numeric($this->programm_code))
{
$this->errormsg = 'Programm Code muss eine Zahl sein';
return false;
}
if($this->gsprogrammtyp_kurzbz=='')
{
$this->errormsg = 'Gsprogrammtyp Kurzbezeichnung muss eingegeben werden';
return false;
}
if($this->bezeichnung=='')
{
$this->errormsg = 'Bezeichnung muss eingetragen werden';
return false;
}
if($this->studienkennung_uni != '' && preg_match("/^[AFHLU][UPF][A-Z]([0-9]{3}){1,3}(0[1-6]|[UP][A-W]){0,1}$/", $this->studienkennung_uni) !== 1)
{
$this->errormsg = 'Ungültige Studienkennung Uni';
return false;
}
return true;
}
public function save()
{
if(!$this->validate())
return false;
if($this->new)
{
$qry = 'BEGIN;INSERT INTO bis.tbl_gsprogramm(programm_code,
bezeichnung, gsprogrammtyp_kurzbz) VALUES('.
bezeichnung, gsprogrammtyp_kurzbz, studienkennung_uni) VALUES('.
$this->db_add_param($this->programm_code).','.
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->gsprogrammtyp_kurzbz).');';
$this->db_add_param($this->gsprogrammtyp_kurzbz).','.
$this->db_add_param($this->studienkennung_uni).');';
}
else
{
$qry = 'UPDATE bis.tbl_gsprogramm SET
bezeichnung='.$this->db_add_param($this->bezeichnung).',
gsprogrammtyp_kurzbz='.$this->db_add_param($this->gsprogrammtyp_kurzbz).',
programm_code='.$this->db_add_param($this->programm_code, FHC_INTEGER).'
programm_code='.$this->db_add_param($this->programm_code, FHC_INTEGER).',
studienkennung_uni='.$this->db_add_param($this->studienkennung_uni).'
WHERE gsprogramm_id='.$this->db_add_param($this->gsprogramm_id, FHC_INTEGER, false);
}
+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,
+3 -10
View File
@@ -17,19 +17,12 @@
*
* Authors: Andreas Moik <moik@technikum-wien.at>
*/
//require_once(dirname(__FILE__).'/config/vilesci.config.inc.php'); Muss vor dieser Datei eingebunden werden!
$dr = DOC_ROOT;
$dr = str_replace($_SERVER["DOCUMENT_ROOT"], "", $dr);
if($dr=='')
$dr='/';
//Originaldateien des Herstellers
echo '<link rel="stylesheet" type="text/css" href="'.$dr.'FHC-vendor/angular-tablesort/tablesort.css">';
echo '<link rel="stylesheet" type="text/css" href="'.BASE_LOCATION.'FHC-vendor/angular-tablesort/tablesort.css">';
echo '<script src="'.$dr.'FHC-vendor/angular-tablesort/js/angular-tablesort.js"></script>';
echo '<script src="'.BASE_LOCATION.'FHC-vendor/angular-tablesort/js/angular-tablesort.js"></script>';
//Anpassungen
echo '<link rel="stylesheet" type="text/css" href="'.$dr.'include/vendor_custom/angular-tablesorter/tablesort.css">';
echo '<link rel="stylesheet" type="text/css" href="'.BASE_LOCATION.'include/vendor_custom/angular-tablesorter/tablesort.css">';
?>
+1 -9
View File
@@ -17,15 +17,7 @@
*
* Authors: Andreas Moik <moik@technikum-wien.at>
*/
//require_once(dirname(__FILE__).'/config/vilesci.config.inc.php'); Muss vor dieser Datei eingebunden werden!
$dr = DOC_ROOT;
$dr = str_replace($_SERVER["DOCUMENT_ROOT"], "", $dr);
if($dr=='')
$dr='/';
//Originaldateien des Herstellers
echo '<script src="'.$dr.'vendor/components/angular.js/angular.min.js"></script>';
echo '<script src="'.BASE_LOCATION.'vendor/components/angular.js/angular.min.js"></script>';
?>
+6 -13
View File
@@ -17,23 +17,16 @@
*
* Authors: Andreas Moik <moik@technikum-wien.at>
*/
//require_once(dirname(__FILE__).'/config/vilesci.config.inc.php'); Muss vor dieser Datei eingebunden werden!
$dr = DOC_ROOT;
$dr = str_replace($_SERVER["DOCUMENT_ROOT"], "", $dr);
if($dr=='')
$dr='/';
//Originaldateien des Herstellers
echo '<link rel="stylesheet" type="text/css" href="'.$dr.'FHC-vendor/easyui/themes/icon.css">';
echo '<link rel="stylesheet" type="text/css" href="'.$dr.'FHC-vendor/easyui/themes/gray/easyui.css">';
echo '<link rel="stylesheet" type="text/css" href="'.BASE_LOCATION.'FHC-vendor/easyui/themes/icon.css">';
echo '<link rel="stylesheet" type="text/css" href="'.BASE_LOCATION.'FHC-vendor/easyui/themes/gray/easyui.css">';
echo '<script src="'.$dr.'FHC-vendor/easyui/jquery.min.js"></script>';
echo '<script src="'.$dr.'FHC-vendor/easyui/jquery.easyui.min.js"></script>';
echo '<script src="'.BASE_LOCATION.'FHC-vendor/easyui/jquery.min.js"></script>';
echo '<script src="'.BASE_LOCATION.'FHC-vendor/easyui/jquery.easyui.min.js"></script>';
//Anpassungen
echo '<link rel="stylesheet" type="text/css" href="'.$dr.'include/vendor_custom/easyui/easyui.css">';
echo '<link rel="stylesheet" type="text/css" href="'.$dr.'include/vendor_custom/easyui/icon.css">';
echo '<link rel="stylesheet" type="text/css" href="'.BASE_LOCATION.'include/vendor_custom/easyui/easyui.css">';
echo '<link rel="stylesheet" type="text/css" href="'.BASE_LOCATION.'include/vendor_custom/easyui/icon.css">';
?>
+5 -25
View File
@@ -17,33 +17,13 @@
*
* Authors: Andreas Moik <moik@technikum-wien.at>
*/
/*
Meta Include für JQuery Tablesorter
require_once(dirname(__FILE__).'/config/vilesci.config.inc.php'); Muss vor dieser Datei eingebunden werden!
Usage:
<script language="Javascript">
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[0,0]],
widgets: ["zebra"],
headers: {1:{sorter: false}}
});
});
</script>
*/
$dr = DOC_ROOT;
$dr = str_replace($_SERVER["DOCUMENT_ROOT"], "", $dr);
if($dr=='')
$dr='/';
//Originaldateien des Herstellers
echo '<link rel="stylesheet" type="text/css" href="'.$dr.'FHC-vendor/jquery-tablesorter/css/theme.default.css">';
echo '<script src="'.$dr.'FHC-vendor/jquery-tablesorter/js/jquery.tablesorter.js"></script>';
echo '<script src="'.$dr.'FHC-vendor/jquery-tablesorter/js/jquery.tablesorter.widgets.js"></script>';
echo '<link rel="stylesheet" type="text/css" href="'.BASE_LOCATION.'FHC-vendor/jquery-tablesorter/css/theme.default.css">';
echo '<script src="'.BASE_LOCATION.'FHC-vendor/jquery-tablesorter/js/jquery.tablesorter.js"></script>';
echo '<script src="'.BASE_LOCATION.'FHC-vendor/jquery-tablesorter/js/jquery.tablesorter.widgets.js"></script>';
//Anpassungen
echo '<link rel="stylesheet" type="text/css" href="'.$dr.'include/vendor_custom/jquery-tablesorter/tablesort.css">';
echo '<link rel="stylesheet" type="text/css" href="'.BASE_LOCATION.'include/vendor_custom/jquery-tablesorter/tablesort.css">';
?>
+1 -9
View File
@@ -17,15 +17,7 @@
*
* Authors: Andreas Moik <moik@technikum-wien.at>
*/
//require_once(dirname(__FILE__).'/config/vilesci.config.inc.php'); Muss vor dieser Datei eingebunden werden!
$dr = DOC_ROOT;
$dr = str_replace($_SERVER["DOCUMENT_ROOT"], "", $dr);
if($dr=='')
$dr='/';
//Originaldateien des Herstellers
echo '<script src="'.$dr.'vendor/jquery/jqueryV2/jquery-2.2.4.min.js"></script>';
echo '<script src="'.BASE_LOCATION.'vendor/jquery/jquery2/jquery-2.2.4.min.js"></script>';
?>
+2 -10
View File
@@ -17,16 +17,8 @@
*
* Authors: Andreas Moik <moik@technikum-wien.at>
*/
//require_once(dirname(__FILE__).'/config/vilesci.config.inc.php'); Muss vor dieser Datei eingebunden werden!
$dr = DOC_ROOT;
$dr = str_replace($_SERVER["DOCUMENT_ROOT"], "", $dr);
if($dr=='')
$dr='/';
//Originaldateien des Herstellers
echo '<script src="'.$dr.'vendor/jsoneditor/dist/jsoneditor.js"></script>';
echo '<link href="'.$dr.'vendor/jsoneditor/dist/jsoneditor.css" rel="stylesheet" type="text/css">';
echo '<script src="'.BASE_LOCATION.'vendor/josdejong/jsoneditor/dist/jsoneditor.js"></script>';
echo '<link href="'.BASE_LOCATION.'vendor/josdejong/jsoneditor/dist/jsoneditor.css" rel="stylesheet" type="text/css">';
?>
+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
+76
View File
@@ -2542,4 +2542,80 @@ class prestudent extends person
return false;
}
}
/**
* Prueft, ob eine Person offene Bewerbungen besitzt
* @param int $person_id ID der zu überprüfenden Person.
* @return true wenn vorhanden, false wenn nicht vorhanden
*/
public function existsOffeneBewerbung($person_id)
{
if (!is_numeric($person_id))
{
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
return false;
}
$db = new basis_db();
$qry = "SELECT
prestudent_id
FROM
tbl_prestudent ps
WHERE
person_id = ".$this->db_add_param($person_id)."
And
get_rolle_prestudent(prestudent_id, null) in ('Interessent','Bewerber','Aufgenommener','Wartender');";
if ($db->db_query($qry))
{
$num_rows = $db->db_num_rows();
if ($num_rows > 0)
{
return true;
}
else
return false;
}
else
return false;
}
/**
* Prueft, ob es sich um einen Student / Unterbrecher handelt
* @param int $person_id ID der zu überprüfenden Person.
* @return true wenn zutreffend, false wenn nicht zutreffend
*/
public function isStudent($person_id)
{
if (!is_numeric($person_id))
{
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
return false;
}
$db = new basis_db();
$qry = "SELECT
prestudent_id
FROM
tbl_prestudent ps
WHERE
person_id = ".$this->db_add_param($person_id)."
And
get_rolle_prestudent(prestudent_id, null) in ('Student','Unterbrecher');";
if ($db->db_query($qry))
{
$num_rows = $db->db_num_rows();
if ($num_rows > 0)
{
return true;
}
else
return false;
}
else
return false;
}
}
+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
+23 -10
View File
@@ -952,21 +952,34 @@ class studienplan extends basis_db
/**
* Laedt die Studienplaene zu denen eine Lehrveranstaltung zugeordnet ist
*/
public function getStudienplanLehrveranstaltung($lehrveranstaltung_id, $studiensemester_kurzbz)
public function getStudienplanLehrveranstaltung($lehrveranstaltung_id, $studiensemester_kurzbz = null)
{
$qry= "
SELECT
distinct tbl_studienplan.*
DISTINCT tbl_studienplan.*
FROM
lehre.tbl_studienplan
JOIN lehre.tbl_studienplan_lehrveranstaltung USING(studienplan_id)
lehre.tbl_studienplan
JOIN lehre.tbl_studienplan_lehrveranstaltung
USING(studienplan_id)
WHERE
tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND EXISTS (
SELECT 1 FROM lehre.tbl_studienplan_semester
WHERE studienplan_id=tbl_studienplan.studienplan_id
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND semester = tbl_studienplan_lehrveranstaltung.semester)
tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id IN (
SELECT
lv.lehrveranstaltung_id
FROM
lehre.tbl_lehrveranstaltung AS lv
LEFT JOIN lehre.tbl_lehrveranstaltung AS t ON t.lehrveranstaltung_id=lv.lehrveranstaltung_template_id
WHERE
lv.lehrtyp_kurzbz<>'tpl'
AND (lv.lehrveranstaltung_id=" . $this->db_add_param($lehrveranstaltung_id, FHC_INTEGER) . " OR (lv.lehrveranstaltung_template_id=" . $this->db_add_param($lehrveranstaltung_id, FHC_INTEGER) . " AND t.lehrtyp_kurzbz='tpl'))
)
AND EXISTS (
SELECT 1
FROM
lehre.tbl_studienplan_semester
WHERE studienplan_id=tbl_studienplan.studienplan_id".
($studiensemester_kurzbz != null ? "
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz) : "")."
AND semester = tbl_studienplan_lehrveranstaltung.semester)
ORDER BY bezeichnung";
if($result = $this->db_query($qry))
+1 -1
View File
@@ -940,7 +940,7 @@ or not exists
$tagessaldo = $tagessaldo - $pausesumme;
//check if blocking error
if (($tagessaldo > 19800 && $pausesumme < 1800) || ($tagessaldo > 18000 && $tagessaldo < 19800 && $pausesumme < $tagessaldo - 18000))
if (($tagessaldo >= 19800 && $pausesumme < 1800) || ($tagessaldo > 18000 && $tagessaldo < 19800 && $pausesumme < $tagessaldo - 18000))
{
$blockingError = true;
}