Merge branch 'master' into benutzerberechtigungGUIneu

This commit is contained in:
Manfred
2022-12-12 10:07:03 +01:00
301 changed files with 7682 additions and 2282 deletions
+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;
}
+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);
}
+85
View File
@@ -2776,5 +2776,90 @@ class lehrveranstaltung extends basis_db
return null;
}
/**
* Prueft ob die Lehrveranstaltungen in dem Studiensemestern angeboten wird.
* Dazu wird geprueft ob die LVs einem aktuellen Studienplan zugeordnet ist und ob ein Lehrauftrag vorhanden ist.
*
* @param $lehrveranstaltung_id
* @param $studiensemester_kurzbz
* @return array
*/
public function getOfferedSemester($lehrveranstaltung_id, $studiensemester_kurzbz)
{
$qry = "SELECT
DISTINCT(studiensemester_kurzbz)
FROM
lehre.tbl_lehreinheit
WHERE lehrveranstaltung_id = ".$this->db_add_param($lehrveranstaltung_id)."
AND studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).")
AND EXISTS (
SELECT
*
FROM
lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan_semester USING(studienplan_id)
WHERE
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id)."
AND studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).")
)";
$studiensemester = [];
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$studiensemester[] = $row;
}
return $studiensemester;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Prueft ob die Lehrveranstaltungen in den gewaehlten Studiensemestern angeboten wird.
* Dazu wird geprueft ob die LVs einem aktuellen Studienplan zugeordnet ist, und ob ein Lehrauftrag vorhanden ist.
*
* @param $lehrveranstaltung_id
* @param $studiensemester_kurzbz
* @return array
*/
public function getOfferedLVs($lehrveranstaltung_id, $studiensemester_kurzbz)
{
$qry = "SELECT
DISTINCT(tbl_lehreinheit.lehrveranstaltung_id)
FROM
lehre.tbl_lehreinheit
WHERE tbl_lehreinheit.lehrveranstaltung_id IN (".$this->db_implode4SQL($lehrveranstaltung_id).")
AND tbl_lehreinheit.studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).")
AND EXISTS (
SELECT
*
FROM
lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan_semester USING(studienplan_id)
WHERE
tbl_lehreinheit.lehrveranstaltung_id IN (".$this->db_implode4SQL($lehrveranstaltung_id).")
AND tbl_lehreinheit.studiensemester_kurzbz IN (".$this->db_implode4SQL($studiensemester_kurzbz).")
)";
$lehrveranstaltungen = [];
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$lehrveranstaltungen[] = $row;
}
return $lehrveranstaltungen;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+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">';
?>
+42 -42
View File
@@ -588,7 +588,7 @@ class prestudent extends person
AND
status_kurzbz = 'Interessent'
AND
AND
NOT EXISTS (
SELECT 1 FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id AND status_kurzbz='Abgewiesener'
)";
@@ -2327,51 +2327,51 @@ class prestudent extends person
* false wenn nicht vorhanden
* false und errormsg wenn Fehler aufgetreten ist
*/
public function existsZGVIntern($person_id)
{
if (!is_numeric($person_id))
{
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
return false;
}
public function existsZGVIntern($person_id)
{
if (!is_numeric($person_id))
{
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_studiengang USING (studiengang_kz)
WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)."
AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student')
AND typ = 'b'
AND get_rolle_prestudent(prestudent_id, null) != 'Abbrecher';";
$qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_studiengang USING (studiengang_kz)
WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)."
AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student')
AND typ in ('b','m','d')";
if ($this->db_query($qry))
{
if ($row = $this->db_fetch_object())
{
if ($row->anzahl > 0)
{
$this->errormsg = '';
return true;
}
else
{
$this->errormsg = '';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
if ($this->db_query($qry))
{
if ($row = $this->db_fetch_object())
{
if ($row->anzahl > 0)
{
$this->errormsg = '';
return true;
}
else
{
$this->errormsg = '';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Befüllt MasterZGV-Felder: Nation mit Österreich und MasterZGV-code mit FH-Bachelor(I)
* @param int $person_id Personenkennzeichen.
+1 -1
View File
@@ -525,7 +525,7 @@ 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) == ']')
if (is_string($value) && substr($value, 0, 1) == '[' && substr($value, -1) == ']')
{
//Eckige Klammern entfernen und String aufsplitten
$value = substr($value, 1);