Merge branch 'master' into feature-29144/Prestudent_status_nach_Bismeldung_sperren_2

This commit is contained in:
Andreas Österreicher
2023-12-20 14:06:18 +01:00
272 changed files with 22765 additions and 4617 deletions
+43 -5
View File
@@ -29,6 +29,10 @@ class berechtigung extends basis_db
public $rolle_kurzbz;
public $beschreibung;
public $berechtigung_kurzbz;
public $art;
public $anmerkung;
public $insertamum;
public $insertvon;
/**
* Konstruktor
@@ -79,7 +83,7 @@ class berechtigung extends basis_db
{
if(is_null($new))
$new = $this->new;
if($new)
{
$qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES(".
@@ -103,14 +107,38 @@ class berechtigung extends basis_db
return false;
}
}
/**
* Loescht ein Recht
*
* @param $berechtigung_kurzbz
*/
public function delete($berechtigung_kurzbz)
{
$qry = "DELETE FROM system.tbl_berechtigung WHERE berechtigung_kurzbz=".$this->db_add_param($berechtigung_kurzbz).";";
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Löschen des Rechts:'.$this->db_last_error();
return false;
}
}
/**
* Holt alle BerechtigungsRollen
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function getRollen()
public function getRollen($order = null)
{
$qry = 'SELECT * FROM system.tbl_rolle';
if ($order != '')
{
$qry .= " ORDER BY $order";
}
if($this->db_query($qry))
{
@@ -152,6 +180,9 @@ class berechtigung extends basis_db
$obj->rolle_kurzbz = $row->rolle_kurzbz;
$obj->art = $row->art;
$obj->beschreibung = $row->beschreibung;
$obj->anmerkung = $row->anmerkung;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$this->result[] = $obj;
}
@@ -252,15 +283,22 @@ class berechtigung extends basis_db
if($this->db_num_rows()>0)
{
//Update
$qry = "UPDATE system.tbl_rolleberechtigung SET art=".$this->db_add_param($this->art)." WHERE rolle_kurzbz=".$this->db_add_param($this->rolle_kurzbz)." AND berechtigung_kurzbz=".$this->db_add_param($this->berechtigung_kurzbz).";";
$qry = "UPDATE system.tbl_rolleberechtigung SET art=".$this->db_add_param($this->art).",
anmerkung=".$this->db_add_param($this->anmerkung).",
insertamum=".$this->db_add_param($this->insertamum).",
insertvon=".$this->db_add_param($this->insertvon)."
WHERE rolle_kurzbz=".$this->db_add_param($this->rolle_kurzbz)." AND berechtigung_kurzbz=".$this->db_add_param($this->berechtigung_kurzbz).";";
}
else
{
//Insert
$qry = "INSERT INTO system.tbl_rolleberechtigung (rolle_kurzbz, berechtigung_kurzbz, art) VALUES(".
$qry = "INSERT INTO system.tbl_rolleberechtigung (rolle_kurzbz, berechtigung_kurzbz, art, anmerkung, insertamum, insertvon) VALUES(".
$this->db_add_param($this->rolle_kurzbz).",".
$this->db_add_param($this->berechtigung_kurzbz).",".
$this->db_add_param($this->art).");";
$this->db_add_param($this->art).",".
$this->db_add_param($this->anmerkung).",".
$this->db_add_param($this->insertamum).",".
$this->db_add_param($this->insertvon).");";
}
if($this->db_query($qry))
+372 -350
View File
File diff suppressed because it is too large Load Diff
+4
View File
@@ -200,6 +200,10 @@ class dokument_export
chdir($this->temp_folder);
file_put_contents($this->temp_folder . '/content.xml', $contentbuffer);
if ($this->xml_data->firstChild->tagName == 'error') {
$this->errormsg = $this->xml_data->firstChild->textContent;
return false;
}
// styles.xml erstellen
if(!is_null($this->styles_xsl))
{
+6 -5
View File
@@ -39,9 +39,9 @@ class dvb extends basis_db
const DVB_URL_WEBSERVICE_NACHNAME = DVB_PORTAL.'/rws/0.2/simpleStudentByNachname.xml';
const DVB_URL_WEBSERVICE_NAME = DVB_PORTAL.'/rws/0.2/simpleStudentByName.xml';
const DVB_URL_WEBSERVICE_MATRIKELNUMMER = DVB_PORTAL.'/rws/0.2/simpleStudentByMatrikelnummer.xml';
const DVB_URL_WEBSERVICE_RESERVIERUNG = DVB_PORTAL.'/rws/0.5/matrikelreservierung.xml';
const DVB_URL_WEBSERVICE_MELDUNG = DVB_PORTAL.'/rws/0.5/matrikelmeldung.xml';
const DVB_URL_WEBSERVICE_BPK = DVB_PORTAL.'/rws/0.5/pruefebpk.xml';
const DVB_URL_WEBSERVICE_RESERVIERUNG = DVB_PORTAL.'/rws/0.6/matrikelreservierung.xml';
const DVB_URL_WEBSERVICE_MELDUNG = DVB_PORTAL.'/rws/0.6/matrikelmeldung.xml';
const DVB_URL_WEBSERVICE_BPK = DVB_PORTAL.'/rws/0.6/pruefebpk.xml';
public $authentication;
private $username;
@@ -829,7 +829,8 @@ class dvb extends basis_db
if (ErrorHandler::isError($result))
return ErrorHandler::error();
}
$gebdat = str_replace("-", "", $person->geburtsdatum);
//$gebdat = str_replace("-", "", $person->geburtsdatum);
$gebdat = $person->geburtsdatum;
$data = '<?xml version="1.0" encoding="UTF-8"?>
<matrikelnummernmeldung xmlns="http://www.brz.gv.at/datenverbund-unis">
@@ -1038,7 +1039,7 @@ class dvb extends basis_db
<ausstellland>'.$reisepass->ausstellland.'</ausstellland>
<dokumentnr>'.$reisepass->dokumentnr.'</dokumentnr>
<dokumenttyp>'.$reisepass->dokumenttyp.'</dokumenttyp>
</ernpmeldung>
</ernpmeldung>
';
$data .= '</matrikelnummernmeldung>';
+2 -3
View File
@@ -965,17 +965,16 @@ class konto extends basis_db
}
}
public function checkDoppelteBuchung($person_ids, $stsem, $typ)
public function checkDoppelteBuchung($person_ids, $stsem, $typen)
{
$qry = "SELECT person.vorname, person.nachname
FROM public.tbl_konto konto
JOIN public.tbl_person person USING(person_id)
WHERE konto.person_id IN (".$this->implode4SQL(array_filter($person_ids)).")
AND studiensemester_kurzbz = ".$this->db_add_param($stsem)."
AND buchungstyp_kurzbz = ".$this->db_add_param($typ)."
AND buchungstyp_kurzbz IN (".$this->implode4SQL($typen) .")
GROUP BY person.vorname, person.nachname
ORDER BY person.nachname, person.vorname";
if ($result = $this->db_query($qry))
{
$persons = array();
+4 -1
View File
@@ -650,11 +650,14 @@ class organisationseinheit extends basis_db
LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\')
OR
LOWER(organisationseinheittyp_kurzbz) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\')
OR
LOWER(organisationseinheittyp_kurzbz) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\')
)';
foreach($searchItem as $value)
{
$qry.=' OR (LOWER(oe_kurzbz)=LOWER('.$this->db_add_param($value).'))
OR (LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape($value).'%\'))';
OR (LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape($value).'%\'))
OR (LOWER(organisationseinheittyp_kurzbz||bezeichnung) LIKE LOWER(\'%'.$this->db_escape($value).'%\'))';
}
$qry.= ' ORDER BY organisationseinheittyp_kurzbz, bezeichnung;';
+75
View File
@@ -870,6 +870,81 @@ class prestudent extends person
AND tbl_reihungstest.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
)";
break;
case "bewerberrtnichtangemeldet":
$qry.=" AND a.rolle='Bewerber'
AND NOT EXISTS (
SELECT
1
FROM
public.tbl_rt_person
JOIN public.tbl_reihungstest ON (rt_id = reihungstest_id)
WHERE
person_id=a.person_id
AND studienplan_id IN (
SELECT studienplan_id FROM lehre.tbl_studienplan
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
WHERE tbl_studienordnung.studiengang_kz=a.studiengang_kz
)
AND tbl_reihungstest.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
)";
break;
case "bewerberrtangemeldet":
$qry.=" AND a.rolle='Bewerber'
AND EXISTS (
SELECT
1
FROM
public.tbl_rt_person
JOIN public.tbl_reihungstest ON (rt_id = reihungstest_id)
WHERE
person_id=a.person_id
AND studienplan_id IN (
SELECT studienplan_id FROM lehre.tbl_studienplan
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
WHERE tbl_studienordnung.studiengang_kz=a.studiengang_kz
)
AND tbl_reihungstest.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
)";
break;
case "bewerberrtangemeldetteilgenommen":
$qry.=" AND a.rolle='Bewerber'
AND EXISTS (
SELECT
1
FROM
public.tbl_rt_person
JOIN public.tbl_reihungstest ON (rt_id = reihungstest_id)
WHERE
person_id=a.person_id
AND studienplan_id IN (
SELECT studienplan_id FROM lehre.tbl_studienplan
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
WHERE tbl_studienordnung.studiengang_kz=a.studiengang_kz
)
AND tbl_reihungstest.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
)
AND reihungstestangetreten = true";
break;
case "bewerberrtangemeldetnichtteilgenommen":
$qry.=" AND a.rolle='Bewerber'
AND EXISTS (
SELECT
1
FROM
public.tbl_rt_person
JOIN public.tbl_reihungstest ON (rt_id = reihungstest_id)
WHERE
person_id=a.person_id
AND studienplan_id IN (
SELECT studienplan_id FROM lehre.tbl_studienplan
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
WHERE tbl_studienordnung.studiengang_kz=a.studiengang_kz
)
AND tbl_reihungstest.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
)
AND reihungstestangetreten = false
";
break;
case "zgv":
$stg_obj = new studiengang();
$stg_obj->load($studiengang_kz);
+43 -3
View File
@@ -108,12 +108,13 @@ class pruefling extends basis_db
if($this->new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE
{
$qry = 'BEGIN;INSERT INTO testtool.tbl_pruefling (studiengang_kz, idnachweis, registriert, prestudent_id, semester) VALUES('.
$qry = 'BEGIN;INSERT INTO testtool.tbl_pruefling (studiengang_kz, idnachweis, registriert, prestudent_id, semester, gesperrt) VALUES('.
$this->db_add_param($this->studiengang_kz).",".
$this->db_add_param($this->idnachweis).",".
$this->db_add_param($this->registriert).",".
$this->db_add_param($this->prestudent_id).",".
$this->db_add_param($this->semester).");";
$this->db_add_param($this->semester).",".
$this->db_add_param($this->gesperrt, FHC_BOOLEAN).");";
}
else
{
@@ -122,7 +123,8 @@ class pruefling extends basis_db
' idnachweis='.$this->db_add_param($this->idnachweis).','.
' registriert='.$this->db_add_param($this->registriert).','.
' semester='.$this->db_add_param($this->semester).','.
' prestudent_id='.$this->db_add_param($this->prestudent_id, FHC_INTEGER).
' prestudent_id='.$this->db_add_param($this->prestudent_id, FHC_INTEGER).','.
' gesperrt='.$this->db_add_param($this->gesperrt, FHC_BOOLEAN).
" WHERE pruefling_id=".$this->db_add_param($this->pruefling_id, FHC_INTEGER, false).";";
}
@@ -557,5 +559,43 @@ class pruefling extends basis_db
return false;
}
}
public function isGesperrt($pruefling_id = null, $prestudent_id = null)
{
if (is_null($pruefling_id) && is_null($prestudent_id))
{
$this->errormsg = 'Falsche Parameterübergabe';
return false;
}
$qry = "SELECT spruefling.gesperrt
FROM testtool.tbl_pruefling
RIGHT JOIN public.tbl_prestudent USING(prestudent_id)
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_prestudent pss ON pss.person_id = tbl_person.person_id
JOIN testtool.tbl_pruefling spruefling ON pss.prestudent_id = spruefling.prestudent_id
WHERE spruefling.gesperrt";
if (!is_null($pruefling_id))
$qry .= " AND tbl_pruefling.pruefling_id = ".$this->db_add_param($pruefling_id, FHC_INTEGER);
if (!is_null($prestudent_id))
$qry .= " AND tbl_prestudent.prestudent_id = ".$this->db_add_param($prestudent_id, FHC_INTEGER);
$qry .= " LIMIT 1";
if($result = $this->db_query($qry))
{
if ($this->db_num_rows($result) == 0)
return false;
else
return true;
}
else
{
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
}
}
}
?>
+13 -3
View File
@@ -694,11 +694,17 @@ class reihungstest extends basis_db
tbl_reihungstest.studiensemester_kurzbz,
tbl_reihungstest.stufe,
tbl_reihungstest.anmeldefrist,
tbl_reihungstest.aufnahmegruppe_kurzbz
tbl_reihungstest.aufnahmegruppe_kurzbz,
tbl_studiengang.typ,
UPPER(typ::varchar(1) || kurzbz) AS stg_kuerzel,
so.studiengangbezeichnung,
so.studiengangbezeichnung_englisch
FROM
public.tbl_rt_person
JOIN
public.tbl_reihungstest ON (rt_id=reihungstest_id)
JOIN public.tbl_reihungstest ON (rt_id=reihungstest_id)
JOIN public.tbl_studiengang ON tbl_reihungstest.studiengang_kz = tbl_studiengang.studiengang_kz
JOIN lehre.tbl_studienplan sp USING(studienplan_id)
JOIN lehre.tbl_studienordnung so USING(studienordnung_id)
WHERE
tbl_rt_person.person_id=".$this->db_add_param($person_id);
@@ -737,6 +743,10 @@ class reihungstest extends basis_db
$obj->stufe = $row->stufe;
$obj->anmeldefrist = $row->anmeldefrist;
$obj->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz;
$obj->typ = $row->typ;
$obj->stg_kuerzel = $row->stg_kuerzel;
$obj->studiengangbezeichnung = $row->studiengangbezeichnung;
$obj->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
$this->result[] = $obj;
}
+147
View File
@@ -0,0 +1,147 @@
<?php
/* Copyright (C) 2011 fhcomplete.org
*
* 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: Christopher Gerbrich <[email protected]> and Manuela Thamer <[email protected]
*/
/**
* Klasse Studierendenantrag
*
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class studierendenantrag extends basis_db
{
public $new;
public $result = array();
//Tabellenspalten
public $studierendenantrag_id; // bigint
public $prestudent_id; // bigint
public $studiensemester_kurzbz; // varchar(32)
public $datum; // timestamp
public $typ; // varchar(32)
public $insertamum; // timestamp
public $insertvon; // varchar(32)
public $datum_wiedereinstieg; // timestamp
public $grund; // text
public $dms_id; // bigint
/**
* Konstruktor - Laedt optional eine Ampel
* @param $amepl_id
*/
public function __construct($studierendenantrag_id=null)
{
parent::__construct();
if(!is_null($studierendenantrag_id))
$this->load($studierendenantrag_id);
}
/**
* Laedt einen Antrag mit der uebergebenen ID
*
* @param $studierendenantrag_id
* @return boolean
*/
public function load($studierendenantrag_id)
{
if(!is_numeric($studierendenantrag_id))
{
$this->errormsg = 'Studierendenantrag ID ist ungueltig';
return false;
}
$qry = "SELECT * FROM campus.tbl_studierendenantrag WHERE studierendenantrag_id=" . $this->db_add_param($studierendenantrag_id, FHC_INTEGER);
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$this->studierendenantrag_id = $row->studierendenantrag_id;
$this->prestudent_id = $row->prestudent_id;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->datum = $row->datum;
$this->typ = $row->typ;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->datum_wiedereinstieg = $row->datum_wiedereinstieg;
$this->grund = $row->grund;
$this->dms_id = $row->dms_id;
return true;
}
else
{
$this->errormsg = 'Studierendenantrag mit dieser ID exisitert nicht';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Studierendenantrag';
return false;
}
}
/**
* Laedt alle aktuellen Anträge eines Users
*
* @param integer $prestudent_id
* @param string $stsem
*
* @return boolean
*/
public function loadUserAntrag($prestudent_id, $stsem = null)
{
$qry = "SELECT * FROM campus.tbl_studierendenantrag WHERE typ IN ('Abmeldung','AbmeldungStgl','Unterbrechung') AND campus.get_status_studierendenantrag(studierendenantrag_id)='Genehmigt' AND prestudent_id=" . $this->db_add_param($prestudent_id, FHC_INTEGER);
if ($stsem)
{
$qry .= " AND studiensemester_kurzbz=" . $this->db_add_param($stsem, FHC_STRING);
}
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new studierendenantrag();
$obj->studierendenantrag_id = $row->studierendenantrag_id;
$obj->prestudent_id = $row->prestudent_id;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->datum = $row->datum;
$obj->typ = $row->typ;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->datum_wiedereinstieg = $row->datum_wiedereinstieg;
$obj->grund = $row->grund;
$obj->dms_id = $row->dms_id;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+8 -7
View File
@@ -33,7 +33,7 @@ $menu=array
'Lehrveranstaltung'=>array('name'=>'Lehrveranstaltung', 'link'=>'lehre/lehrveranstaltung_frameset.html', 'target'=>'main'),
/* Leerzeile */'emptyrow1'=>array('name'=>'', 'link'=>'#empty', 'target'=>'main'),
'Verplanungsuebersicht'=>array('name'=>'Verplanungsübersicht', 'link'=>'lehre/check/verplanungsuebersicht.php', 'target'=>'main'),
'Reihungstest'=>array('name'=>'Reihungstest', 'link'=>'stammdaten/reihungstestverwaltung.php', 'target'=>'main','permissions'=>array('reihungstest')),
'Reihungstest'=>array('name'=>'Reihungstest', 'link'=>'stammdaten/reihungstestverwaltung.php', 'target'=>'main','permissions'=>array('lehre/reihungstest')),
'LV-Planung'=>array
(
'name'=>'LV-Planung', 'permissions'=>array('admin','lv-plan','support'),
@@ -109,7 +109,7 @@ $menu=array
),
'Benutzer'=>array
(
'name'=>'Benutzer','permissions'=>array('admin','lv-plan','support'),
'name'=>'Benutzer','permissions'=>array('admin','lv-plan','support','mitarbeiter'),
'Funktionen'=>array('name'=>'Funktionen', 'link'=>'personen/funktion.php', 'target'=>'main', 'permissions'=>array('mitarbeiter')),
'Berechtigungen'=>array('name'=>'Berechtigungen', 'link'=>'stammdaten/benutzerberechtigung_frameset.html', 'target'=>'main','permissions'=>array('basis/berechtigung')),
'Rollen'=>array('name'=>'Rollen', 'link'=>'stammdaten/berechtigungrolle.php', 'target'=>'main','permissions'=>array('basis/berechtigung')),
@@ -132,14 +132,15 @@ $menu=array
'name'=>'Stammdaten', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support','basis/berechtigung','basis/variable','basis/studiengang','basis/ort','basis/firma','basis/fhausweis','basis/infoscreen','basis/organisationseinheit'), 'image'=>'vilesci_stammdaten.png',
'link'=>'left.php?categorie=Stammdaten', 'target'=>'nav',
'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('basis/betriebsmittel')),
'Reihungstest'=>array('name'=>'Reihungstest', 'link'=>'stammdaten/reihungstestverwaltung.php', 'target'=>'main','permissions'=>array('admin','assistenz')),
'Reihungstest'=>array('name'=>'Reihungstest', 'link'=>'stammdaten/reihungstestverwaltung.php', 'target'=>'main','permissions'=>array('lehre/reihungstest')),
'User'=>array
'Rechtemanagement'=>array
(
'name'=>'User', 'permissions'=>array('basis/variable','basis/berechtigung'),
'name'=>'Rechtemanagement', 'permissions'=>array('basis/berechtigung','mitarbeiter'),
'Berechtigungen'=>array('name'=>'Berechtigungen', 'link'=>'stammdaten/benutzerberechtigung_frameset.html', 'target'=>'main','permissions'=>array('basis/berechtigung')),
'Rechte'=>array('name'=>'Rechte', 'link'=>'stammdaten/berechtigungen.php', 'target'=>'main','permissions'=>array('basis/berechtigung')),
'Rollen'=>array('name'=>'Rollen', 'link'=>'stammdaten/berechtigungrolle.php', 'target'=>'main','permissions'=>array('basis/berechtigung')),
'Variablen'=>array('name'=>'Variablen', 'link'=>'stammdaten/variablen_frameset.html', 'target'=>'main', 'target'=>'main','permissions'=>array('basis/variable')),
'Funktionen'=>array('name'=>'Funktionen', 'link'=>'personen/funktion.php', 'target'=>'main', 'permissions'=>array('mitarbeiter')),
),
'Personal'=>array
(
@@ -155,7 +156,7 @@ $menu=array
'Statistik'=>array('name'=>'Statistik', 'link'=>'stammdaten/statistik_frameset.html', 'target'=>'main','permissions'=>array('basis/statistik')),
'Ampel'=>array('name'=>'Ampel', 'link'=>'stammdaten/ampel_frameset.html', 'target'=>'main','permissions'=>array('basis/ampel')),
'Infoscreen'=>array('name'=>'Infoscreen', 'link'=>'stammdaten/infoscreen_frameset.html', 'target'=>'main','permissions'=>array('basis/infoscreen')),
'Ferien'=>array('name'=>'Ferien', 'link'=>'lehre/ferienverwaltung.php', 'target'=>'main','permissions'=>array('admin')),
'Ferien'=>array('name'=>'Ferien', 'link'=>'lehre/ferienverwaltung.php', 'target'=>'main','permissions'=>array('basis/ferien')),
'Service'=>array('name'=>'Service', 'link'=>'stammdaten/service_frameset.html', 'target'=>'main','permissions'=>array('basis/service')),
'Dokumentvorlagen'=>array('name'=>'Dokumentvorlagen', 'link'=>'stammdaten/dokumentvorlagen_verwaltung.php', 'target'=>'main','permissions'=>array('basis/dokumente')),
'GSProgramm'=>array('name'=>'GSProgramm', 'link'=>'stammdaten/gsprogramm.php', 'target'=>'main','permissions'=>array('inout/uebersicht')),