mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-10 16:49:30 +00:00
5ddf21aaae
- Studentlehrverband Einträge beim manuellen hinzufügen von Statuseinträgen werden nicht mehr bei allen Statuseinträgen angelegt sondern nur noch bei Student, Diplomand, etc und nicht bei Interessent, Bewerber...
4274 lines
126 KiB
PHP
4274 lines
126 KiB
PHP
<?php
|
|
/* Copyright (C) 2006 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: Christian Paminger <christian.paminger@technikum-wien.at>,
|
|
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
|
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
|
*/
|
|
|
|
// ****************************************
|
|
// * Insert/Update/Delete
|
|
// * der Studenten
|
|
// *
|
|
// * Script sorgt fuer den Datenbanzugriff
|
|
// * fuer das XUL - Studenten-Modul
|
|
// *
|
|
// ****************************************
|
|
|
|
require_once('../../config/vilesci.config.inc.php');
|
|
require_once('../../config/global.config.inc.php');
|
|
require_once('../../include/'.EXT_FKT_PATH.'/generateuid.inc.php');
|
|
require_once('../../include/'.EXT_FKT_PATH.'/generatematrikelnr.inc.php');
|
|
require_once('../../include/functions.inc.php');
|
|
require_once('../../include/benutzerberechtigung.class.php');
|
|
require_once('../../include/benutzergruppe.class.php');
|
|
require_once('../../include/log.class.php');
|
|
require_once('../../include/person.class.php');
|
|
require_once('../../include/benutzer.class.php');
|
|
require_once('../../include/student.class.php');
|
|
require_once('../../include/prestudent.class.php');
|
|
require_once('../../include/studiengang.class.php');
|
|
require_once('../../include/akte.class.php');
|
|
require_once('../../include/konto.class.php');
|
|
require_once('../../include/dokument.class.php');
|
|
require_once('../../include/studiensemester.class.php');
|
|
require_once('../../include/betriebsmittel.class.php');
|
|
require_once('../../include/betriebsmittelperson.class.php');
|
|
require_once('../../include/bisio.class.php');
|
|
require_once('../../include/zeugnisnote.class.php');
|
|
require_once('../../include/lvgesamtnote.class.php');
|
|
require_once('../../include/pruefung.class.php');
|
|
require_once('../../include/abschlusspruefung.class.php');
|
|
require_once('../../include/projektarbeit.class.php');
|
|
require_once('../../include/projektbetreuer.class.php');
|
|
require_once('../../include/lehrverband.class.php');
|
|
require_once('../../include/gruppe.class.php');
|
|
require_once('../../include/datum.class.php');
|
|
require_once('../../include/pruefling.class.php');
|
|
require_once('../../include/mail.class.php');
|
|
require_once('../../include/kontakt.class.php');
|
|
require_once('../../include/dms.class.php');
|
|
require_once('../../include/notenschluessel.class.php');
|
|
require_once('../../include/anrechnung.class.php');
|
|
require_once('../../include/lehrveranstaltung.class.php');
|
|
require_once('../../include/anwesenheit.class.php');
|
|
require_once('../../include/benutzerfunktion.class.php');
|
|
require_once('../../include/note.class.php');
|
|
require_once('../../include/standort.class.php');
|
|
require_once('../../include/adresse.class.php');
|
|
require_once('../../include/reihungstest.class.php');
|
|
require_once('../../include/studienplan.class.php');
|
|
require_once('../../include/mobilitaet.class.php');
|
|
|
|
$user = get_uid();
|
|
$db = new basis_db();
|
|
|
|
$return = false;
|
|
$errormsg = 'unknown';
|
|
$warning = '';
|
|
$data = '';
|
|
$error = false;
|
|
|
|
loadVariables($user);
|
|
//Berechtigungen laden
|
|
$rechte = new benutzerberechtigung();
|
|
$rechte->getBerechtigungen($user);
|
|
if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz') && !$rechte->isBerechtigt('mitarbeiter'))
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Keine Berechtigung';
|
|
$data = '';
|
|
$error = true;
|
|
}
|
|
|
|
// *** FUNKTIONEN ***
|
|
|
|
// ****
|
|
// * Generiert die Matrikelnummer
|
|
// * FORMAT: 0710254001
|
|
// * 07 = Jahr
|
|
// * 1/2/0 = WS/SS/Incomming
|
|
// * 0254 = Studiengangskennzahl vierstellig
|
|
// * 001 = Laufende Nummer
|
|
// ****
|
|
function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz)
|
|
{
|
|
$db = new basis_db();
|
|
|
|
$jahr = substr($studiensemester_kurzbz, 4);
|
|
$art = substr($studiensemester_kurzbz, 0, 2);
|
|
|
|
if($studiengang_kz<0)
|
|
{
|
|
$studiengang_kz=abs($studiengang_kz);
|
|
//Lehrgang
|
|
switch($art)
|
|
{
|
|
case 'WS': $art = '3'; break;
|
|
case 'SS': $art = '4'; break;
|
|
default: $art = '0'; break;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Studiengang
|
|
switch($art)
|
|
{
|
|
case 'WS': $art = '1'; break;
|
|
case 'SS': $art = '2'; break;
|
|
default: $art = '0'; break;
|
|
}
|
|
}
|
|
if($art=='2' || $art=='4')
|
|
$jahr = $jahr-1;
|
|
$matrikelnummer = sprintf("%02d",$jahr).$art.sprintf("%04d",$studiengang_kz);
|
|
|
|
$qry = "SELECT matrikelnr FROM public.tbl_student WHERE matrikelnr LIKE '$matrikelnummer%' ORDER BY matrikelnr DESC LIMIT 1";
|
|
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
$max = substr($row->matrikelnr, (strlen(trim($row->matrikelnr))-3));
|
|
}
|
|
else
|
|
$max = 0;
|
|
|
|
$max += 1;
|
|
return $matrikelnummer.sprintf("%03d",$max);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Wenn die Anwesenheit und einen bestimmten Prozentsatz faellt, wird ein Pruefungstermin abgezogen
|
|
* @param $studiensemester_kurzbz
|
|
* @param $student_uid
|
|
* @param $lehrveranstaltung_id
|
|
* @param $note
|
|
* @return null, error wird direkt in globale Variable geschrieben
|
|
*/
|
|
function NotePruefungAnlegen($studiensemester_kurzbz, $student_uid, $lehrveranstaltung_id, $note)
|
|
{
|
|
global $return, $error, $errormsg;
|
|
|
|
$db = new basis_db();
|
|
$anwesenheit = new anwesenheit();
|
|
$anwesenheit->loadAnwesenheitStudiensemester($studiensemester_kurzbz, $student_uid, $lehrveranstaltung_id);
|
|
|
|
// Lehreinheit ermitteln
|
|
$error = false;
|
|
$qry = "SELECT lehreinheit_id FROM campus.vw_student_lehrveranstaltung "
|
|
. "WHERE uid=".$db->db_add_param($student_uid)." AND lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id)." "
|
|
. "ORDER BY lehreinheit_id ASC "
|
|
. "LIMIT 1";
|
|
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
$lehreinheit_id = $row->lehreinheit_id;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Fehler beim Ermitteln der Lehreinheit ID';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Fehler beim Ermitteln der Lehreinheit ID';
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
$pruefung = new pruefung;
|
|
$pruefung->new = true;
|
|
$pruefung->student_uid = $student_uid;
|
|
$pruefung->lehreinheit_id = $lehreinheit_id;
|
|
$pruefung->datum = date("Y-m-d");
|
|
|
|
$stsem_obj = new studiensemester();
|
|
$stsem_obj->load($studiensemester_kurzbz);
|
|
|
|
// In Benutzerfunktion nachsehen ob eine Anwesenheitsbefreiung eingetragen ist
|
|
$benutzerfunktion = new benutzerfunktion();
|
|
$benutzerfunktion->getBenutzerFunktionByUid($student_uid, 'awbefreit', $stsem_obj->start, $stsem_obj->ende);
|
|
|
|
$anwesenheitsbefreit=false;
|
|
if(count($benutzerfunktion->result)>0)
|
|
$anwesenheitsbefreit=true;
|
|
|
|
// Wenn nicht Anwesenheitsbefreit und Anwesenheit unter einem bestimmten Prozentsatz faellt dann wird ein
|
|
// Pruefungsantritt abgezogen
|
|
if(isset($anwesenheit->result[0]) && $anwesenheit->result[0]->prozent < FAS_ANWESENHEIT_ROT && !$anwesenheitsbefreit)
|
|
{
|
|
// 1. Termin mit "nicht beurteilt" erstellen
|
|
$pruefung->pruefungstyp_kurzbz = "Termin1";
|
|
$pruefung->note = 7;
|
|
if($pruefung->save())
|
|
{
|
|
// 2. Termin mit Note erstellen
|
|
$pruefung->pruefungstyp_kurzbz = "Termin2";
|
|
$pruefung->note = $note;
|
|
if($pruefung->save())
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$errormsg = $pruefung->errormsg;
|
|
$return = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$errormsg = $pruefung->errormsg;
|
|
$return = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// 1. Termin mit Note erstellen
|
|
$pruefung->pruefungstyp_kurzbz = "Termin1";
|
|
$pruefung->note = $note;
|
|
|
|
if($pruefung->save())
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$errormsg = $pruefung->errormsg;
|
|
$return = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
|
|
if(isset($_POST['type']) && $_POST['type']=='savestudent')
|
|
{
|
|
if(!$rechte->isBerechtigt('assistenz',$_POST['studiengang_kz'],'suid') &&
|
|
!$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang';
|
|
}
|
|
|
|
//Studentendaten speichern
|
|
if(!$error)
|
|
{
|
|
$student = new student();
|
|
|
|
if(!$student->load($_POST['uid']))
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehler beim Laden:'.$student->errormsg;
|
|
$error = true;
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
$student->uid = $_POST['uid'];
|
|
$student->anrede = $_POST['anrede'];
|
|
$student->titelpre = $_POST['titelpre'];
|
|
$student->titelpost = $_POST['titelpost'];
|
|
$student->vorname = $_POST['vorname'];
|
|
$student->vornamen = $_POST['vornamen'];
|
|
$student->nachname = $_POST['nachname'];
|
|
$student->gebdatum = $_POST['geburtsdatum'];
|
|
$student->gebort = $_POST['geburtsort'];
|
|
$student->gebzeit = $_POST['geburtszeit'];
|
|
$student->anmerkungen = $_POST['anmerkung'];
|
|
$student->homepage = $_POST['homepage'];
|
|
$student->matr_nr = $_POST['matr_nr'];
|
|
$student->svnr = $_POST['svnr'];
|
|
$student->ersatzkennzeichen = $_POST['ersatzkennzeichen'];
|
|
$student->familienstand = $_POST['familienstand'];
|
|
$student->geschlecht = $_POST['geschlecht'];
|
|
$student->bnaktiv = ($_POST['aktiv']=='true'?true:false);
|
|
$student->anzahlkinder = $_POST['anzahlderkinder'];
|
|
$student->staatsbuergerschaft = $_POST['staatsbuergerschaft'];
|
|
$student->geburtsnation = $_POST['geburtsnation'];
|
|
$student->sprache = $_POST['sprache'];
|
|
$student->matrikelnr = $_POST['matrikelnummer'];
|
|
$student->updateamum = date('Y-m-d H:i:s');
|
|
$student->updatevon = $user;
|
|
|
|
if($_POST['alias']!='')
|
|
{
|
|
if(checkalias($_POST['alias']))
|
|
{
|
|
$student->alias = $_POST['alias'];
|
|
}
|
|
else
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Alias ist ungueltig';
|
|
}
|
|
}
|
|
else
|
|
$student->alias = '';
|
|
|
|
if(!$error)
|
|
{
|
|
$stsem = new studiensemester();
|
|
$stsem_kurzbz = $stsem->getaktorNext();
|
|
//Wenn das ausgewaehlte Semester das aktuelle ist, dann wird auch in der
|
|
//Tabelle Student der Stg/Semester/Verband/Gruppe geaendert.
|
|
//Sonst nur in der Tabelle Studentlehrverband
|
|
if($semester_aktuell == $stsem_kurzbz)
|
|
{
|
|
$student->studiengang_kz = $_POST['studiengang_kz'];
|
|
$student->semester = $_POST['semester'];
|
|
$student->verband = ($_POST['verband']==''?' ':$_POST['verband']);
|
|
$student->gruppe = ($_POST['gruppe']==''?' ':$_POST['gruppe']);
|
|
}
|
|
|
|
$student->new=false;
|
|
|
|
$lehrverband = new lehrverband();
|
|
if(!$lehrverband->exists($_POST['studiengang_kz'],$_POST['semester'],$_POST['verband'], $_POST['gruppe']))
|
|
{
|
|
$errormsg = 'Die angegebene Lehrverbandsgruppe existiert nicht!';
|
|
$return = false;
|
|
$error = true;
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
if($student->save())
|
|
{
|
|
$student_lvb = new student();
|
|
|
|
// Studentlehrverband Eintrag nur Speichern, wenn der Student in diesem Studiensemester
|
|
// einen Status besitzt da es sonst beim Bearbeiten von alten Studenten immer in das
|
|
// entsprechende Studiensemester gewechselt werden muss.
|
|
$prestudentobj = new prestudent();
|
|
$prestudentobj->getPrestudentRolle($student->prestudent_id, null, $semester_aktuell);
|
|
|
|
if(count($prestudentobj->result)>0)
|
|
{
|
|
if($student_lvb->studentlehrverband_exists($_POST['uid'], $semester_aktuell))
|
|
$student_lvb->new = false;
|
|
else
|
|
$student_lvb->new = true;
|
|
|
|
$student_lvb->uid = $_POST['uid'];
|
|
$student_lvb->studiensemester_kurzbz = $semester_aktuell;
|
|
$student_lvb->studiengang_kz = $_POST['studiengang_kz'];
|
|
$student_lvb->semester = $_POST['semester'];
|
|
$student_lvb->verband = ($_POST['verband']==''?' ':$_POST['verband']);
|
|
$student_lvb->gruppe = ($_POST['gruppe']==''?' ':$_POST['gruppe']);
|
|
$student_lvb->updateamum = date('Y-m-d H:i:s');
|
|
$student_lvb->updatevon = $user;
|
|
|
|
if($student_lvb->save_studentlehrverband())
|
|
{
|
|
$return = true;
|
|
$error=false;
|
|
$data = $student->prestudent_id;
|
|
}
|
|
else
|
|
{
|
|
$error = true;
|
|
$errormsg = $student_lvb->errormsg;
|
|
$return = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$error = false;
|
|
$return = true;
|
|
$data = $student->prestudent_id;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $student->errormsg;
|
|
$error = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='saveperson')
|
|
{
|
|
|
|
if(!$rechte->isBerechtigt('assistenz',$_POST['studiengang_kz'],'suid') &&
|
|
!$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang';
|
|
}
|
|
//Personendaten Speichern
|
|
|
|
if(!$error)
|
|
{
|
|
$person = new person();
|
|
|
|
if(!$person->load($_POST['person_id']))
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehler beim Laden:'.$person->errormsg;
|
|
$error = true;
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
$person->person_id = $_POST['person_id'];
|
|
$person->anrede = $_POST['anrede'];
|
|
$person->titelpre = $_POST['titelpre'];
|
|
$person->titelpost = $_POST['titelpost'];
|
|
$person->vorname = $_POST['vorname'];
|
|
$person->vornamen = $_POST['vornamen'];
|
|
$person->nachname = $_POST['nachname'];
|
|
$person->gebdatum = $_POST['geburtsdatum'];
|
|
$person->gebort = $_POST['geburtsort'];
|
|
$person->gebzeit = $_POST['geburtszeit'];
|
|
$person->anmerkungen = $_POST['anmerkung'];
|
|
$person->homepage = $_POST['homepage'];
|
|
$person->svnr = $_POST['svnr'];
|
|
$person->ersatzkennzeichen = $_POST['ersatzkennzeichen'];
|
|
$person->familienstand = $_POST['familienstand'];
|
|
$person->geschlecht = $_POST['geschlecht'];
|
|
//$person->aktiv = ($_POST['aktiv']=='true'?true:false);
|
|
$person->anzahlkinder = $_POST['anzahlderkinder'];
|
|
$person->staatsbuergerschaft = $_POST['staatsbuergerschaft'];
|
|
$person->geburtsnation = $_POST['geburtsnation'];
|
|
$person->sprache = $_POST['sprache'];
|
|
$person->matr_nr = $_POST['matr_nr'];
|
|
$person->updateamum = date('Y-m-d H:i:s');
|
|
$person->updatevon = $user;
|
|
|
|
$person->new=false;
|
|
|
|
if(!$error)
|
|
{
|
|
if($person->save())
|
|
{
|
|
$return = true;
|
|
$error=false;
|
|
$data = $person->person_id;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $person->errormsg;
|
|
$error = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='saveprestudent')
|
|
{
|
|
//PreStudentdaten Speichern
|
|
if(!$rechte->isBerechtigt('assistenz',$_POST['studiengang_kz'],'suid') &&
|
|
!$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang';
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
$prestudent = new prestudent();
|
|
|
|
if(!$prestudent->load($_POST['prestudent_id']))
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehler beim Laden:'.$prestudent->errormsg;
|
|
$error = true;
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
$prestudent->prestudent_id = $_POST['prestudent_id'];
|
|
$prestudent->aufmerksamdurch_kurzbz = $_POST['aufmerksamdurch_kurzbz'];
|
|
$prestudent->person_id = $_POST['person_id'];
|
|
$prestudent->studiengang_kz = $_POST['studiengang_kz'];
|
|
$prestudent->berufstaetigkeit_code = $_POST['berufstaetigkeit_code'];
|
|
$prestudent->ausbildungcode = $_POST['ausbildungcode'];
|
|
$prestudent->zgv_code = $_POST['zgv_code'];
|
|
$prestudent->zgvort = $_POST['zgvort'];
|
|
$prestudent->zgvdatum = $_POST['zgvdatum'];
|
|
$prestudent->zgvnation = $_POST['zgvnation'];
|
|
$prestudent->zgvmas_code = $_POST['zgvmas_code'];
|
|
$prestudent->zgvmaort = $_POST['zgvmaort'];
|
|
$prestudent->zgvmadatum = $_POST['zgvmadatum'];
|
|
$prestudent->zgvmanation = $_POST['zgvmanation'];
|
|
$prestudent->aufnahmeschluessel = $_POST['aufnahmeschluessel'];
|
|
$prestudent->facheinschlberuf = ($_POST['facheinschlberuf']=='true'?true:false);
|
|
$prestudent->bismelden = ($_POST['bismelden']=='true'?true:false);
|
|
$prestudent->dual = ($_POST['dual']=='true'?true:false);
|
|
$prestudent->anmerkung = $_POST['anmerkung'];
|
|
$prestudent->mentor = $_POST['mentor'];
|
|
$prestudent->gsstudientyp_kurzbz = $_POST['gsstudientyp_kurzbz'];
|
|
//$prestudent->insertamum = date('Y-m-d H:i:s');
|
|
//$prestudent->insertvon = $user;
|
|
$prestudent->updateamum = date('Y-m-d H:i:s');
|
|
$prestudent->updatevon = $user;
|
|
$prestudent->new=false;
|
|
|
|
if(!$error)
|
|
{
|
|
if($prestudent->save())
|
|
{
|
|
$return = true;
|
|
$error=false;
|
|
$data = $prestudent->prestudent_id;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $prestudent->errormsg;
|
|
$error = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='addrolle')
|
|
{
|
|
//Prestudentrolle hinzufuegen
|
|
|
|
if(!$error)
|
|
{
|
|
$prestudent_ids = explode(';', $_POST['prestudent_id']);
|
|
$errormsg='';
|
|
$anzahl_fehler=0;
|
|
foreach($prestudent_ids as $prestudent_id)
|
|
{
|
|
$error = false;
|
|
if($prestudent_id!='')
|
|
{
|
|
$prestd = new prestudent();
|
|
if(!$prestd->load($prestudent_id))
|
|
{
|
|
$error = true;
|
|
$errormsg .= "\n$prestd->vorname $prestd->nachname: Fehler beim Laden des Prestudenten";
|
|
$anzahl_fehler++;
|
|
}
|
|
else
|
|
{
|
|
if(!$rechte->isBerechtigt('assistenz',$prestd->studiengang_kz,'suid') &&
|
|
!$rechte->isBerechtigt('admin',$prestd->studiengang_kz, 'suid'))
|
|
{
|
|
$error = true;
|
|
$errormsg .= "\n$prestd->vorname $prestd->nachname: Sie haben keine Schreibrechte fuer diesen Studiengang";
|
|
$anzahl_fehler++;
|
|
}
|
|
}
|
|
|
|
// Check ob Reihungstest berücksichtigt werden soll
|
|
// kann in Config abgestellt werden
|
|
if(REIHUNGSTEST_CHECK)
|
|
{
|
|
$reihungstestangetreten = $prestd->reihungstestangetreten;
|
|
|
|
if($_POST['status_kurzbz']=='Bewerber' && !$reihungstestangetreten)
|
|
{
|
|
$error = true;
|
|
$errormsg .= "\n $prestd->vorname $prestd->nachname: Um einen Interessenten zum Bewerber zu machen, muss die Person das Reihungstestverfahren abgeschlossen haben";
|
|
$anzahl_fehler++;
|
|
}
|
|
}
|
|
|
|
if(!defined("ZGV_CHECK") || ZGV_CHECK)
|
|
{
|
|
if($_POST['status_kurzbz']=='Bewerber' && $prestd->zgv_code=='')
|
|
{
|
|
$error = true;
|
|
$errormsg .= "\n $prestd->vorname $prestd->nachname: Um einen Interessenten zum Bewerber zu machen, muss die Zugangsvoraussetzung eingetragen sein.";
|
|
$anzahl_fehler++;
|
|
}
|
|
}
|
|
|
|
$stg_obj = new studiengang();
|
|
$stg_obj->load($prestd->studiengang_kz);
|
|
if(!defined("ZGV_CHECK") || ZGV_CHECK)
|
|
{
|
|
if($_POST['status_kurzbz']=='Bewerber' && $prestd->zgvmas_code=='' && $stg_obj->typ=='m')
|
|
{
|
|
$error = true;
|
|
$errormsg .= "\n $prestd->vorname $prestd->nachname: Um einen Interessenten zum Bewerber zu machen, muss die Zugangsvoraussetzung Master eingetragen sein.";
|
|
$anzahl_fehler++;
|
|
}
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
|
|
if($prestd->getLastStatus($prestudent_id))
|
|
{
|
|
if($_POST['status_kurzbz']=='Absolvent' || $_POST['status_kurzbz']=='Diplomand')
|
|
$studiensemester = $semester_aktuell;
|
|
else
|
|
$studiensemester = $prestd->studiensemester_kurzbz;
|
|
$hlp = new prestudent();
|
|
|
|
if($_POST['status_kurzbz']=='Student')
|
|
$sem=$_POST['semester'];
|
|
else
|
|
$sem=$prestd->ausbildungssemester;
|
|
|
|
$hlp->getPrestudentRolle($prestudent_id, $_POST['status_kurzbz'], $studiensemester, "datum, insertamum", $sem);
|
|
if(count($hlp->result)>0)
|
|
{
|
|
$errormsg .= "\n$prestd->vorname $prestd->nachname: Diese Rolle ist bereits vorhanden";
|
|
$anzahl_fehler++;
|
|
$return = false;
|
|
}
|
|
else
|
|
{
|
|
//Wenn der Status auf Aufgenommener oder Wartender geaendert wird,
|
|
//muss ein Bewerberstatus vorhanden sein
|
|
if($_POST['status_kurzbz']=='Aufgenommener' || $_POST['status_kurzbz']=='Wartender')
|
|
{
|
|
$qry = "SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($prestudent_id, FHC_INTEGER)." AND status_kurzbz='Bewerber'";
|
|
if($result_bw = $db->db_query($qry))
|
|
{
|
|
if($db->db_num_rows($result_bw)==0)
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg .= "\n$prestd->vorname $prestd->nachname: Person muss zuerst zum Bewerber gemacht werden!";
|
|
$anzahl_fehler++;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
$prestd_neu = new prestudent();
|
|
$prestd_neu->prestudent_id = $prestudent_id;
|
|
$prestd_neu->status_kurzbz = $_POST['status_kurzbz'];
|
|
$prestd_neu->studiensemester_kurzbz = $studiensemester;
|
|
$prestd_neu->datum = date('Y-m-d');
|
|
$prestd_neu->ausbildungssemester = $sem;
|
|
$prestd_neu->orgform_kurzbz = $prestd->orgform_kurzbz;
|
|
$prestd_neu->studienplan_id = $prestd->studienplan_id;
|
|
$prestd_neu->insertamum = date('Y-m-d H:i:s');
|
|
$prestd_neu->insertvon = $user;
|
|
$prestd_neu->bestaetigtam = date('Y-m-d');
|
|
$prestd_neu->bestaetigtvon = $user;
|
|
if(isset($_POST['statusgrund_id']))
|
|
$prestd_neu->statusgrund_id = $_POST['statusgrund_id'];
|
|
$prestd_neu->new = true;
|
|
|
|
if($prestd_neu->save_rolle())
|
|
{
|
|
// wenn kein fehler und status bewerber und "email senden an bewerber" eingestellt ist
|
|
if($_POST['status_kurzbz']=='Bewerber' && SEND_BEWERBER_INFOMAIL)
|
|
{
|
|
// hole Email Adresse
|
|
$kontakt = new kontakt();
|
|
$kontakt->load_persKontakttyp($prestd->person_id, 'email');
|
|
|
|
// Wenn zumindest eine Email Adresse gefunden wurde
|
|
if(count($kontakt->result)>0)
|
|
{
|
|
$email = "Sehr geehrter Frau/Herr ".$prestd->vorname." ".$prestd->nachname.",<br><br> ";
|
|
|
|
$email.= INFOMAIL_BEWERBER;
|
|
foreach($kontakt->result as $k)
|
|
{
|
|
$mail = new mail($k->kontakt, 'no-reply', 'Infomail', 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.');
|
|
|
|
$mail->setHTMLContent($email);
|
|
if(!$mail->send())
|
|
{
|
|
$errormsg= 'Fehler beim Senden des Mails!';
|
|
$anzahl_fehler++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Unterbrecher und Abbrecher werden ins 0. Semester verschoben
|
|
if($_POST['status_kurzbz']=='Unterbrecher' || $_POST['status_kurzbz']=='Abbrecher')
|
|
{
|
|
$student = new student();
|
|
$uid = $student->getUid($prestudent_id);
|
|
$student->load($uid);
|
|
$student->studiensemester_kurzbz=$studiensemester;
|
|
$student->semester = '0';
|
|
if($_POST['status_kurzbz']=='Abbrecher')
|
|
{
|
|
$student->verband='A';
|
|
$student->gruppe='';
|
|
}
|
|
if($_POST['status_kurzbz']=='Unterbrecher')
|
|
{
|
|
$student->verband='B';
|
|
$student->gruppe='';
|
|
}
|
|
|
|
// noch nicht eingetragene Noten ergänzen
|
|
$noten = new zeugnisnote();
|
|
$noten->getZeugnisnoten(null, $uid, $semester_aktuell);
|
|
foreach($noten->result as $obj)
|
|
{
|
|
if($obj->note == '')
|
|
{
|
|
$obj->note = 9;
|
|
$obj->save(true);
|
|
}
|
|
}
|
|
|
|
//Nachschauen ob dieser Lehrverband schon existiert, falls nicht dann anlegen
|
|
$lehrverband = new lehrverband();
|
|
if(!$lehrverband->exists($student->studiengang_kz, $student->semester, $student->verband, ''))
|
|
{
|
|
//Pruefen ob der uebergeordnete Lehrverband existiert, falls nicht dann anlegen
|
|
if(!$lehrverband->exists($student->studiengang_kz, $student->semester, '', ''))
|
|
{
|
|
$lehrverband->studiengang_kz = $student->studiengang_kz;
|
|
$lehrverband->semester = $student->semester;
|
|
$lehrverband->verband = '';
|
|
$lehrverband->gruppe = '';
|
|
$lehrverband->aktiv = true;
|
|
$lehrverband->bezeichnung = 'Ab-Unterbrecher';
|
|
|
|
$lehrverband->save(true);
|
|
}
|
|
|
|
$lehrverband->studiengang_kz = $student->studiengang_kz;
|
|
$lehrverband->semester = $student->semester;
|
|
$lehrverband->verband = $student->verband;
|
|
$lehrverband->gruppe = '';
|
|
$lehrverband->aktiv = true;
|
|
if($student->verband=='A')
|
|
$lehrverband->bezeichnung = 'Abbrecher';
|
|
else
|
|
$lehrverband->bezeichnung = 'Unterbrecher';
|
|
|
|
$lehrverband->save(true);
|
|
}
|
|
$student->updatevon = $user;
|
|
$student->updateamum = date('Y-m-d H:i:s');
|
|
//Student Speichern
|
|
$student->save(false, false);
|
|
//Studentlehrverband Eintrag Speichern
|
|
$student->save_studentlehrverband(false);
|
|
}
|
|
|
|
//Wenn Unterbrecher zu Studenten werden, dann wird das Semester mituebergeben
|
|
//Verband und Gruppe wird entfernt.
|
|
if($_POST['status_kurzbz']=='Student')
|
|
{
|
|
$student = new student();
|
|
$uid = $student->getUid($prestudent_id);
|
|
$student->load($uid);
|
|
$student->studiensemester_kurzbz=$semester_aktuell;
|
|
$student->semester = $_POST['semester'];
|
|
$student->verband = '';
|
|
$student->gruppe = '';
|
|
$student->save(false, false);
|
|
$student->save_studentlehrverband(false);
|
|
//Aktiv Status setzen
|
|
$benutzer = new benutzer();
|
|
if($benutzer->load($uid))
|
|
{
|
|
$benutzer->updateamum = date('Y-m-d H:i:s');
|
|
$benutzer->updatevon = $user;
|
|
$benutzer->bnaktiv=true;
|
|
$benutzer->save(false, false);
|
|
}
|
|
}
|
|
|
|
//bei Abbrechern und Absolventen wird der Aktiv Status auf false gesetzt
|
|
if($_POST['status_kurzbz']=='Abbrecher' || $_POST['status_kurzbz']=='Absolvent')
|
|
{
|
|
$student = new student();
|
|
$uid = $student->getUid($prestudent_id);
|
|
|
|
$benutzer = new benutzer();
|
|
if($benutzer->load($uid))
|
|
{
|
|
$benutzer->updateamum = date('Y-m-d H:i:s');
|
|
$benutzer->updatevon = $user;
|
|
$benutzer->bnaktiv=false;
|
|
$benutzer->save(false, false);
|
|
}
|
|
}
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = "\n$prestd->vorname $prestd->nachname: ".$prestd_neu->errormsg;
|
|
$anzahl_fehler++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg .= "\n$prestd->vorname $prestd->nachname: Es ist keine Rolle fuer diesen Prestudent vorhanden";
|
|
$anzahl_fehler++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if($anzahl_fehler>0)
|
|
{
|
|
$return = false;
|
|
$errormsg = "Es sind $anzahl_fehler Fehler aufgetreten: ".$errormsg;
|
|
}
|
|
else
|
|
{
|
|
$return = true;
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='deleterolle')
|
|
{
|
|
//Loescht eine Prestudentrolle
|
|
|
|
if(isset($_POST['studiensemester_kurzbz']) && isset($_POST['status_kurzbz']) &&
|
|
isset($_POST['prestudent_id']) && is_numeric($_POST['prestudent_id']) &&
|
|
isset($_POST['ausbildungssemester']) && is_numeric($_POST['ausbildungssemester']))
|
|
{
|
|
if($_POST['status_kurzbz']=='Student' && !$rechte->isBerechtigt('admin', null, 'suid'))
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Studentenrolle kann nur durch den Administrator geloescht werden';
|
|
}
|
|
else
|
|
{
|
|
$qry = "SELECT count(*) as anzahl FROM public.tbl_prestudentstatus WHERE prestudent_id=".$db->db_add_param($_POST['prestudent_id'], FHC_INTEGER);
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
if($row->anzahl<=1 && !$rechte->isBerechtigt('admin', null, 'suid'))
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Die letzte Rolle kann nur durch den Administrator geloescht werden';
|
|
$error = true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehler beim Ermitteln der Rollen';
|
|
$error = true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Fehler beim Ermitteln der Rollen';
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
$rolle = new prestudent();
|
|
if($rolle->load_rolle($_POST['prestudent_id'],$_POST['status_kurzbz'],$_POST['studiensemester_kurzbz'], $_POST['ausbildungssemester']))
|
|
{
|
|
if($rechte->isBerechtigt('admin', $_POST['studiengang_kz'], 'suid') || $rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
if($rolle->delete_rolle($_POST['prestudent_id'],$_POST['status_kurzbz'],$_POST['studiensemester_kurzbz'], $_POST['ausbildungssemester']))
|
|
{
|
|
$return = true;
|
|
// Wenn in diesem Semester kein Status mehr vorhanden ist,
|
|
// dann wird auch der Studentlehrverband eintrag entfernt
|
|
if($rolle->getLastStatus($_POST['prestudent_id'],$_POST['studiensemester_kurzbz'])===false)
|
|
{
|
|
if($return)
|
|
{
|
|
$student = new student();
|
|
$temp_uid = $student->getUid($rolle->prestudent_id);
|
|
if(!$student->delete_studentLehrverband($temp_uid, $_POST['studiengang_kz'], $rolle->studiensemester_kurzbz, $rolle->ausbildungssemester))
|
|
{
|
|
$return = false;
|
|
$errormsg = "Fehler beim Löschen der Lehrverbandszuordnung.";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $rolle->errormsg;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Sie haben keine Berechtigung zum Loeschen dieser Rolle';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $rolle->errormsg;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='bestaetigerolle')
|
|
{
|
|
//Bestaetigt eine Prestudentrolle
|
|
|
|
if(isset($_POST['studiensemester_kurzbz']) && isset($_POST['status_kurzbz']) &&
|
|
isset($_POST['prestudent_id']) && is_numeric($_POST['prestudent_id']) &&
|
|
isset($_POST['ausbildungssemester']) && is_numeric($_POST['ausbildungssemester']))
|
|
{
|
|
if(!$rechte->isBerechtigt('admin', $_POST['studiengang_kz'], 'suid') && !$rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$return = false;
|
|
$errormsg = 'keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
$rolle = new prestudent();
|
|
if($rolle->load_rolle($_POST['prestudent_id'],$_POST['status_kurzbz'],$_POST['studiensemester_kurzbz'], $_POST['ausbildungssemester']))
|
|
{
|
|
if($rolle->bestaetige_rolle($_POST['prestudent_id'],$_POST['status_kurzbz'],$_POST['studiensemester_kurzbz'], $_POST['ausbildungssemester'],$user))
|
|
{
|
|
// Message verschicken
|
|
$prestudent = new prestudent();
|
|
$prestudent->load($_POST['prestudent_id']);
|
|
|
|
$url =APP_ROOT.'index.ci.php/api/v1/system/Message/MessageVorlage';
|
|
$ch = curl_init();
|
|
curl_setopt($ch, CURLOPT_URL,$url);
|
|
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
|
|
|
|
$header=array();
|
|
$auth = base64_encode(FHC_REST_USER.':'.FHC_REST_PASSWORD);
|
|
$header[]="Authorization: Basic $auth";
|
|
$header[]='FHC-API-KEY:'.FHC_REST_API_KEY;
|
|
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
|
|
$studiengang = new studiengang();
|
|
$studiengang->load($prestudent->studiengang_kz);
|
|
$studiengang->getAllTypes();
|
|
|
|
$orgform='';
|
|
if($rolle->studienplan_id!='')
|
|
{
|
|
$studienplan = new studienplan();
|
|
$studienplan->loadStudienplan($rolle->studienplan_id);
|
|
$orgform = $studienplan->orgform_kurzbz;
|
|
}
|
|
else
|
|
$orgform = $rolle->orgform_kurzbz;
|
|
$curl_post_data = array(
|
|
"sender_id" => 1, // TODO
|
|
"receiver_id" => $prestudent->person_id,
|
|
"oe_kurzbz" => $studiengang->oe_kurzbz,
|
|
"vorlage_kurzbz" => 'MailStatConfirm'.$_POST['status_kurzbz'],
|
|
"data" => array(
|
|
'anrede'=>$prestudent->anrede,
|
|
'vorname'=>$prestudent->vorname,
|
|
'nachname'=>$prestudent->nachname,
|
|
'typ'=>$studiengang->studiengang_typ_arr[$studiengang->typ],
|
|
'studiengang'=>$studiengang->bezeichnung,
|
|
'orgform'=>$orgform,
|
|
'stgMail'=>$studiengang->email
|
|
)
|
|
);
|
|
|
|
curl_setopt($ch, CURLOPT_POST, true);
|
|
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($curl_post_data));
|
|
|
|
$result = curl_exec($ch);
|
|
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
|
curl_close($ch);
|
|
|
|
$jsonresult = json_decode($result);
|
|
if(isset($jsonresult->error) && $jsonresult->error==1)
|
|
{
|
|
$return = false;
|
|
$errormsg = $jsonresult->retval;
|
|
}
|
|
else
|
|
{
|
|
$return = true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $rolle->errormsg;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $rolle->errormsg;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='saverolle')
|
|
{
|
|
//Prestudentrolle speichern
|
|
if(!$error)
|
|
{
|
|
if(isset($_POST['prestudent_id']))
|
|
{
|
|
$rolle = new prestudent();
|
|
if(!$rolle->load($_POST['prestudent_id']))
|
|
{
|
|
$error = true;
|
|
$errormsg = 'Prestudent wurde nicht gefunden';
|
|
}
|
|
else
|
|
{
|
|
//Berechtigung pruefen
|
|
if(!$rechte->isBerechtigt('assistenz',$rolle->studiengang_kz,'suid') &&
|
|
!$rechte->isBerechtigt('admin',$rolle->studiengang_kz, 'suid'))
|
|
{
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang';
|
|
}
|
|
}
|
|
|
|
$rolle = new prestudent();
|
|
$rolle->prestudent_id = $_POST['prestudent_id'];
|
|
|
|
if(!$error)
|
|
{
|
|
if(($_POST['studiensemester_old']=='') || (!$rolle->load_rolle($_POST['prestudent_id'], $_POST['status_kurzbz'], $_POST['studiensemester_old'], $_POST['ausbildungssemester_old'])))
|
|
{
|
|
$rolle->new = true;
|
|
$rolle->insertamum = date('Y-m-d H:i:s');
|
|
$rolle->insertvon = $user;
|
|
$rolle->status_kurzbz = $_POST['status_kurzbz'];
|
|
$rolle->bestaetigtam = date('Y-m-d');
|
|
$rolle->bestaetigtvon = $user;
|
|
|
|
if($_POST['status_kurzbz']=='Student')
|
|
{
|
|
//Die Rolle Student darf nur eingefuegt werden, wenn schon eine Studentenrolle vorhanden ist
|
|
$qry = "SELECT count(*) as anzahl FROM public.tbl_student WHERE prestudent_id=".$db->db_add_param($_POST['prestudent_id'], FHC_INTEGER);
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
if($row->anzahl==0)
|
|
{
|
|
$error = true;
|
|
$errormsg = 'Ein Studentenstatus kann hier nur hinzugefuegt werden wenn die Person bereits Student ist. Um einen Bewerber zum Studenten zu machen waehlen Sie bitte unter "Status aendern" den Punkt "Student".';
|
|
$return = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$rolle->ausbildungssemester_old = $_POST['ausbildungssemester_old'];
|
|
$rolle->studiensemester_old = $_POST['studiensemester_old'];
|
|
$rolle->updateamum = date('Y-m-d H:i:s');
|
|
$rolle->updatevon = $user;
|
|
$rolle->new = false;
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
// Bei Studenten wird der Studentlehrverband Eintrag angelegt/korrigiert
|
|
$student = new student();
|
|
if($temp_uid = $student->getUid($rolle->prestudent_id))
|
|
{
|
|
if(in_array($rolle->status_kurzbz,array('Student','Diplomand','Absovlent','Incoming','Abbrecher','Unterbrecher')))
|
|
{
|
|
if($student->load($temp_uid))
|
|
{
|
|
$stdsem_new = filter_input(INPUT_POST, "studiensemester_kurzbz");
|
|
$semester = filter_input(INPUT_POST, "ausbildungssemester");
|
|
|
|
if($student->load_studentlehrverband($temp_uid, $stdsem_new))
|
|
$student->new=false;
|
|
else
|
|
$student->new=true;
|
|
|
|
$lehrverband = new lehrverband();
|
|
if(!$lehrverband->exists($student->studiengang_kz, $semester, $student->verband, $student->gruppe))
|
|
{
|
|
$student->studiensemester_kurzbz = $stdsem_new;
|
|
$return = false;
|
|
$errormsg = $student->errormsg;
|
|
}
|
|
else
|
|
{
|
|
$student->studiensemester_kurzbz = $stdsem_new;
|
|
$student->semester = $semester;
|
|
$student->updatevon = $user;
|
|
}
|
|
|
|
$student->save_studentlehrverband();
|
|
}
|
|
}
|
|
}
|
|
|
|
$rolle->ausbildungssemester = $_POST['ausbildungssemester'];
|
|
$rolle->studiensemester_kurzbz = $_POST['studiensemester_kurzbz'];
|
|
$rolle->datum = $_POST['datum'];
|
|
$rolle->bestaetigtam = $_POST['bestaetigtam'];
|
|
if($_POST['bestaetigtam']=='')
|
|
$rolle->bestaetigtvon = null;
|
|
|
|
$rolle->orgform_kurzbz = $_POST['orgform_kurzbz'];
|
|
$rolle->studienplan_id = $_POST['studienplan_id'];
|
|
$rolle->anmerkung_status = $_POST['anmerkung'];
|
|
$rolle->rt_stufe = $_POST['rt_stufe'];
|
|
$rolle->statusgrund_id = $_POST['statusgrund_id'];
|
|
|
|
if($rolle->save_rolle())
|
|
$return = true;
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $rolle->errormsg;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Prestudent_id muss angegeben werden';
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='rolleVorruecken')
|
|
{
|
|
$errormsg='';
|
|
//Prestudentrolle speichern
|
|
if(!$error)
|
|
{
|
|
if(isset($_POST['prestudent_id']))
|
|
{
|
|
$rolle = new prestudent();
|
|
if(!$rolle->load($_POST['prestudent_id']))
|
|
{
|
|
$error = true;
|
|
$errormsg = 'Prestudent wurde nicht gefunden';
|
|
}
|
|
else
|
|
{
|
|
//Berechtigung pruefen
|
|
if(!$rechte->isBerechtigt('assistenz',$rolle->studiengang_kz,'suid') &&
|
|
!$rechte->isBerechtigt('admin',$rolle->studiengang_kz, 'suid'))
|
|
{
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang';
|
|
}
|
|
}
|
|
|
|
$rolle = new prestudent();
|
|
$rolle->prestudent_id = $_POST['prestudent_id'];
|
|
|
|
if(!$error)
|
|
{
|
|
$studiensem = new studiensemester();
|
|
$stdsem = $studiensem->getNextFrom($_POST["studiensemester_kurzbz"]);
|
|
// $stdsem = ($stdesm==false ? $_POST["studiensemester_kurzbz"]:$stdsem);
|
|
$semester = $_POST["ausbildungssemester"];
|
|
$semester++;
|
|
if((!$rolle->load_rolle($_POST['prestudent_id'], $_POST['status_kurzbz'], $stdsem, $semester)))
|
|
{
|
|
$rolle->new = true;
|
|
$rolle->insertamum = date('Y-m-d H:i:s');
|
|
$rolle->insertvon = $user;
|
|
$rolle->status_kurzbz = $_POST['status_kurzbz'];
|
|
$rolle->bestaetigtam = date('Y-m-d');
|
|
$rolle->bestaetigtvon = $user;
|
|
|
|
if($_POST['status_kurzbz']=='Student')
|
|
{
|
|
//Die Rolle Student darf nur eingefuegt werden, wenn schon eine Studentenrolle vorhanden ist
|
|
$qry = "SELECT count(*) as anzahl FROM public.tbl_student WHERE prestudent_id=".$db->db_add_param($_POST['prestudent_id'], FHC_INTEGER);
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
if($row->anzahl==0)
|
|
{
|
|
$error = true;
|
|
$errormsg = 'Ein Studentenstatus kann hier nur hinzugefuegt werden wenn die Person bereits Student ist. Um einen Bewerber zum Studenten zu machen waehlen Sie bitte unter "Status aendern" den Punkt "Student".';
|
|
$return = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Rolle existiert bereits
|
|
$error = true;
|
|
$errormsg = "Rolle existiert bereits.";
|
|
$return = false;
|
|
}
|
|
|
|
$student = new student();
|
|
$temp_uid = $student->getUid($rolle->prestudent_id);
|
|
|
|
if(!$error)
|
|
{
|
|
$student->load_studentlehrverband($temp_uid, $_POST["studiensemester_kurzbz"]);
|
|
$lehrverband = new lehrverband();
|
|
if(!$lehrverband->exists($student->studiengang_kz, $semester, $student->verband, $student->gruppe))
|
|
{
|
|
$student->studiensemester_kurzbz = $stdsem;
|
|
$return = false;
|
|
$errormsg = $student->errormsg;
|
|
}
|
|
else
|
|
{
|
|
$student->studiensemester_kurzbz = $stdsem;
|
|
$student->semester = $semester;
|
|
}
|
|
|
|
$student->save_studentlehrverband(true);
|
|
$rolle->ausbildungssemester = $semester;
|
|
$rolle->studiensemester_kurzbz = $stdsem;
|
|
$rolle->datum = date("Y-m-d");
|
|
$rolle->orgform_kurzbz = $_POST['orgform_kurzbz'];
|
|
$rolle->studienplan_id = $_POST['studienplan_id'];
|
|
|
|
if($rolle->save_rolle())
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $rolle->errormsg;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Prestudent_id muss angegeben werden';
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='BewerberZuStudent')
|
|
{
|
|
// macht aus einem Bewerber einen Studenten
|
|
// Voraussetzungen:
|
|
// - ZGV muss ausgefuellt sein (bei Master beide)
|
|
// - Kaution muss bezahlt sein
|
|
// - Rolle Bewerber muss existieren
|
|
// Wenn die Voraussetzungen erfuellt sind, dann wird die Matrikelnr
|
|
// und UID generiert und der Studentendatensatz angelegt.
|
|
$errormsg='';
|
|
if(!$error)
|
|
{
|
|
if(isset($_POST['prestudent_id']))
|
|
{
|
|
$prestudent_ids = explode(';', $_POST['prestudent_id']);
|
|
$anzahl_fehler=0;
|
|
foreach ($prestudent_ids as $prestudent_id)
|
|
{
|
|
$error = false;
|
|
if($prestudent_id!='')
|
|
{
|
|
|
|
$prestd = new prestudent();
|
|
if($prestd->load($prestudent_id))
|
|
{
|
|
//Berechtigung pruefen
|
|
if(!$rechte->isBerechtigt('assistenz',$prestd->studiengang_kz,'suid') &&
|
|
!$rechte->isBerechtigt('admin',$prestd->studiengang_kz, 'suid'))
|
|
{
|
|
$error = true;
|
|
$errormsg .= "\n$prestd->vorname $prestd->nachname: Sie haben keine Schreibrechte fuer diesen Studiengang";
|
|
$anzahl_fehler++;
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
if((!defined("ZGV_CHECK") && $prestd->zgv_code!='') || (defined("ZGV_CHECK") && ZGV_CHECK == false) || (defined("ZGV_CHECK") && ZGV_CHECK == true && $prestd->zgv_code!=''))
|
|
{
|
|
$stg = new studiengang();
|
|
$stg->load($prestd->studiengang_kz);
|
|
|
|
if((defined("ZGV_CHECK") && ZGV_CHECK == true && $stg->typ=='m' && $prestd->zgvmas_code=='') || (!defined("ZGV_CHECK") && $stg->typ=='m' && $prestd->zgvmas_code==''))
|
|
{
|
|
$return = false;
|
|
$errormsg .= "\n$prestd->vorname $prestd->nachname: ZGV Master muss eingegeben werden";
|
|
$anzahl_fehler++;
|
|
}
|
|
else
|
|
{
|
|
//Pruefen ob die Rolle Bewerber existiert
|
|
$hlp = new prestudent();
|
|
$hlp->getPrestudentRolle($prestudent_id, 'Bewerber',null,'datum DESC, insertamum DESC');
|
|
|
|
if(count($hlp->result)>0)
|
|
{
|
|
$aufgenommener = new prestudent();
|
|
$aufgenommener ->getPrestudentRolle($prestudent_id, 'Aufgenommener', null,'datum DESC, insertamum DESC');
|
|
|
|
if(count($aufgenommener->result)>0)
|
|
{
|
|
if($hlp->result[0]->studiensemester_kurzbz==$aufgenommener->result[0]->studiensemester_kurzbz
|
|
&& $hlp->result[0]->ausbildungssemester==$aufgenommener->result[0]->ausbildungssemester)
|
|
{
|
|
//pruefen ob schon eine Studentenrolle Existiert
|
|
$hlp1 = new prestudent();
|
|
$hlp1->getPrestudentRolle($prestudent_id, 'Student', $aufgenommener->result[0]->studiensemester_kurzbz);
|
|
if(count($hlp1->result)>0)
|
|
{
|
|
$return = false;
|
|
$errormsg .= "\n$prestd->vorname $prestd->nachname: Diese Person ist bereits Student";
|
|
$anzahl_fehler++;
|
|
}
|
|
else
|
|
{
|
|
$db->db_query('BEGIN;');
|
|
|
|
//Matrikelnummer und UID generieren
|
|
$matrikelnr = generateMatrikelnummer($prestd->studiengang_kz, $aufgenommener->result[0]->studiensemester_kurzbz);
|
|
$jahr = substr($matrikelnr,0, 2);
|
|
$stg = $prestd->studiengang_kz;
|
|
$stg_obj = new studiengang();
|
|
$stg_obj->load(ltrim($stg,'0'));
|
|
$uid = generateUID($stg_obj->kurzbz,$jahr,$stg_obj->typ,$matrikelnr);
|
|
$matrikelnummer = generateMatrikelnr($stg_obj->oe_kurzbz);
|
|
|
|
if($matrikelnummer != null)
|
|
{
|
|
$qry = "UPDATE public.tbl_person SET matr_nr=".$db->db_add_param($matrikelnummer)." WHERE person_id=".$db->db_add_param($prestd->person_id, FHC_INTEGER).' AND matr_nr is null';
|
|
$db->db_query($qry);
|
|
}
|
|
|
|
if(defined('SET_UID_AS_PERSONENKENNZEICHEN') && SET_UID_AS_PERSONENKENNZEICHEN)
|
|
{
|
|
$matrikelnr = $uid;
|
|
}
|
|
|
|
if(defined('SET_UID_AS_MATRIKELNUMMER') && SET_UID_AS_MATRIKELNUMMER)
|
|
{
|
|
$qry = "UPDATE public.tbl_person SET matr_nr=".$db->db_add_param($uid)." WHERE person_id=".$db->db_add_param($prestd->person_id, FHC_INTEGER).' AND matr_nr is null';
|
|
$db->db_query($qry);
|
|
}
|
|
//Benutzerdatensatz anlegen
|
|
$benutzer = new benutzer();
|
|
$benutzer->uid = $uid;
|
|
$benutzer->person_id = $prestd->person_id;
|
|
$benutzer->aktiv = true;
|
|
$benutzer->aktivierungscode = generateActivationKey();
|
|
|
|
$nachname_clean = mb_strtolower(convertProblemChars($prestd->nachname));
|
|
$vorname_clean = mb_strtolower(convertProblemChars($prestd->vorname));
|
|
$nachname_clean = str_replace(' ','_', $nachname_clean);
|
|
$vorname_clean = str_replace(' ','_', $vorname_clean);
|
|
|
|
if(!defined('GENERATE_ALIAS_STUDENT') || GENERATE_ALIAS_STUDENT===true)
|
|
{
|
|
$qry_alias = "SELECT * FROM public.tbl_benutzer WHERE alias=LOWER(".$db->db_add_param($vorname_clean.".".$nachname_clean).")";
|
|
$result_alias = $db->db_query($qry_alias);
|
|
if($db->db_num_rows($result_alias)==0)
|
|
$benutzer->alias = $vorname_clean.'.'.$nachname_clean;
|
|
else
|
|
$benutzer->alias = '';
|
|
}
|
|
else
|
|
$benutzer->alias='';
|
|
|
|
$benutzer->insertamum = date('Y-m-d H:i:s');
|
|
$benutzer->insertvon = $user;
|
|
|
|
if($benutzer->save(true, false))
|
|
{
|
|
//Studentendatensatz anlegen
|
|
$student = new student();
|
|
$student->uid = $uid;
|
|
$student->matrikelnr = $matrikelnr;
|
|
$student->prestudent_id = $prestd->prestudent_id;
|
|
$student->studiengang_kz = $prestd->studiengang_kz;
|
|
$student->semester = $aufgenommener->result[0]->ausbildungssemester;
|
|
$student->verband = ' ';
|
|
$student->gruppe = ' ';
|
|
$student->insertamum = date('Y-m-d H:i:s');
|
|
$student->insertvon = $user;
|
|
|
|
//Pruefen ob der Lehrverband exisitert, falls nicht dann anlegen
|
|
$lehrverband = new lehrverband();
|
|
if(!$lehrverband->load($student->studiengang_kz, $student->semester, $student->verband, $student->gruppe))
|
|
{
|
|
$lehrverband->studiengang_kz = $student->studiengang_kz;
|
|
$lehrverband->semester = $student->semester;
|
|
$lehrverband->verband = $student->verband;
|
|
$lehrverband->gruppe = $student->gruppe;
|
|
$lehrverband->aktiv = true;
|
|
if(!$lehrverband->save(true))
|
|
{
|
|
$error = true;
|
|
$errormsg = 'Fehler beim Speichern des Lehrverbandes';
|
|
$return = false;
|
|
}
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
if($student->save(true, false))
|
|
{
|
|
//Prestudentrolle hinzugfuegen
|
|
$rolle = new prestudent();
|
|
$rolle->prestudent_id = $prestd->prestudent_id;
|
|
$rolle->status_kurzbz = 'Student';
|
|
$rolle->studiensemester_kurzbz = $aufgenommener->result[0]->studiensemester_kurzbz;
|
|
$rolle->ausbildungssemester = $aufgenommener->result[0]->ausbildungssemester;
|
|
$rolle->orgform_kurzbz = $aufgenommener->result[0]->orgform_kurzbz;
|
|
$rolle->studienplan_id = $aufgenommener->result[0]->studienplan_id;
|
|
$rolle->datum = date('Y-m-d');
|
|
$rolle->insertamum = date('Y-m-d H:i:s');
|
|
$rolle->insertvon = $user;
|
|
$rolle->bestaetigtam = date('Y-m-d');
|
|
$rolle->bestaetigtvon = $user;
|
|
if(isset($_POST['statusgrund_id']))
|
|
$rolle->statusgrund_id = $_POST['statusgrund_id'];
|
|
$rolle->new = true;
|
|
|
|
if($rolle->save_rolle())
|
|
{
|
|
//StudentLehrverband anlegen
|
|
$studentlehrverband = new student();
|
|
$studentlehrverband->uid = $uid;
|
|
$studentlehrverband->studiensemester_kurzbz = $aufgenommener->result[0]->studiensemester_kurzbz;
|
|
$studentlehrverband->studiengang_kz = $prestd->studiengang_kz;
|
|
$studentlehrverband->semester = $aufgenommener->result[0]->ausbildungssemester;
|
|
$studentlehrverband->verband = ' ';
|
|
$studentlehrverband->gruppe = ' ';
|
|
$studentlehrverband->insertamum = date('Y-m-d H:i:s');
|
|
$studentlehrverband->insertvon = $user;
|
|
|
|
if($studentlehrverband->save_studentlehrverband(true))
|
|
{
|
|
$return = true;
|
|
$db->db_query('COMMIT;');
|
|
}
|
|
else
|
|
{
|
|
$errormsg .= "\n$prestd->vorname $prestd->nachname: Fehler beim Speichern des Studentlehrverbandes: ".$studentlehrverband->errormsg;
|
|
$return = false;
|
|
$anzahl_fehler++;
|
|
$db->db_query('ROLLBACK;');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$errormsg .= "\n$prestd->vorname $prestd->nachname: Fehler beim Speichern des Rolle: ".$rolle->errormsg;
|
|
$return = false;
|
|
$anzahl_fehler++;
|
|
$db->db_query('ROLLBACK;');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$errormsg .= "\n$prestd->vorname $prestd->nachname: Fehler beim Speichern des Studenten: ".$student->errormsg;
|
|
$return = false;
|
|
$anzahl_fehler++;
|
|
$db->db_query('ROLLBACK;');
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$errormsg .= "\n$prestd->vorname $prestd->nachname $matrikelnr: Fehler beim Speichern des Benutzers: ".$benutzer->errormsg;
|
|
$return = false;
|
|
$anzahl_fehler++;
|
|
$db->db_query('ROLLBACK;');
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg .= "\n$prestd->vorname $prestd->nachname: Das Studiensemester oder Ausbildungsemester des Berwerberstatus und des Aufgenommenenstatus passen nicht überein";
|
|
$anzahl_fehler++;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg .= "\n$prestd->vorname $prestd->nachname: Die Person muss zuerst Aufgenommener sein bevor Sie zum Studenten gemacht werden kann";
|
|
$anzahl_fehler++;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg .= "\n$prestd->vorname $prestd->nachname: Die Person muss zuerst Bewerber sein bevor Sie zum Studenten gemacht werden kann";
|
|
$anzahl_fehler++;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg .= "\n$prestd->vorname $prestd->nachname: ZGV muss eingegeben werden";
|
|
$anzahl_fehler++;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg .= "\nPrestudent wurde nicht gefunden zu $prestudent_id";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Prestudent_id muss angegeben werden';
|
|
}
|
|
|
|
if($anzahl_fehler>0)
|
|
{
|
|
$return = false;
|
|
$errormsg = "Es sind $anzahl_fehler Fehler aufgetreten: ".$errormsg;
|
|
}
|
|
else
|
|
{
|
|
$return = true;
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='gruppenzuteilung')
|
|
{
|
|
if(isset($_POST['uid']) && isset($_POST['gruppe_kurzbz']))
|
|
{
|
|
$gruppe = new gruppe();
|
|
if(!$gruppe->load($_POST['gruppe_kurzbz']))
|
|
{
|
|
$error = true;
|
|
$errormsg='Gruppe wurde nicht gefunden';
|
|
}
|
|
else
|
|
{
|
|
//Berechtigung pruefen
|
|
if(!$rechte->isBerechtigt('assistenz',$gruppe->studiengang_kz,'suid') &&
|
|
!$rechte->isBerechtigt('admin',$gruppe->studiengang_kz, 'suid'))
|
|
{
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Schreibrechte fuer diese Gruppe';
|
|
}
|
|
}
|
|
$benutzergruppe = new benutzergruppe();
|
|
|
|
$uids = explode(';',$_POST['uid']);
|
|
$errormsg = '';
|
|
foreach ($uids as $uid)
|
|
{
|
|
if($uid!='')
|
|
{
|
|
if($_POST['gruppe_kurzbz']!='')
|
|
{
|
|
//Zuteilung zu einer Spezialgruppe
|
|
|
|
if(!$benutzergruppe->load($uid, $_POST['gruppe_kurzbz']))
|
|
{
|
|
$benutzergruppe->uid = $uid;
|
|
$benutzergruppe->gruppe_kurzbz = $_POST['gruppe_kurzbz'];
|
|
$benutzergruppe->studiensemester_kurzbz = $semester_aktuell;
|
|
$benutzergruppe->insertamum = date('Y-m-d H:i:s');
|
|
$benutzergruppe->insertvon = $user;
|
|
$benutzergruppe->new = true;
|
|
|
|
if(!$benutzergruppe->save())
|
|
{
|
|
$errormsg .= "$uid konnte nicht hinzugefuegt werden\n";
|
|
}
|
|
}
|
|
else
|
|
$errormsg .= "Der Student $uid ist bereits in dieser Gruppe\n";
|
|
}
|
|
else
|
|
{
|
|
//Zuteilung zu einer Lehrverbandsgruppe
|
|
$error = false;
|
|
$stsem = new studiensemester();
|
|
$stsem_kurzbz = $stsem->getaktorNext();
|
|
|
|
//Schauen ob die Lehrverbandsgruppe existiert
|
|
$lehrverband = new lehrverband();
|
|
if(!$lehrverband->exists($_POST['stg_kz'],$_POST['semester'],$_POST['verband'], $_POST['gruppe']))
|
|
{
|
|
$errormsg .= 'Die angegebene Lehrverbandsgruppe existiert nicht!';
|
|
$return = false;
|
|
$error = true;
|
|
}
|
|
|
|
//Wenn das ausgewaehlte Semester das aktuelle ist, dann wird auch in der
|
|
//Tabelle Student der Stg/Semester/Verband/Gruppe geaendert.
|
|
//Sonst nur in der Tabelle Studentlehrverband
|
|
if($semester_aktuell == $stsem_kurzbz)
|
|
{
|
|
//Eintrag in der Tabelle Student aendern
|
|
$student = new student();
|
|
|
|
if(!$student->load($uid))
|
|
{
|
|
$errormsg .= 'Fehler beim Laden des Studenten';
|
|
$error = true;
|
|
$return = false;
|
|
}
|
|
|
|
if($student->studiengang_kz!=$_POST['stg_kz'])
|
|
{
|
|
$errormsg.='Ein Student kann nicht in eine Lehrverbandsgruppe eines anderen Studienganges verschoben werden';
|
|
$return = false;
|
|
$error = true;
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
$student->studiengang_kz = $_POST['stg_kz'];
|
|
$student->semester = $_POST['semester'];
|
|
$student->verband = ($_POST['verband']==''?' ':$_POST['verband']);
|
|
$student->gruppe = ($_POST['gruppe']==''?' ':$_POST['gruppe']);
|
|
$student->new=false;
|
|
|
|
if(!$student->save())
|
|
{
|
|
$errormsg .= 'Fehler beim Speichern des Studenteneintrages';
|
|
$return = false;
|
|
$error = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
//Eintrag in der Tabelle Student aendern
|
|
$student = new student();
|
|
|
|
if(!$student->load($uid))
|
|
{
|
|
$errormsg .= 'Fehler beim Laden des Studenten';
|
|
$error = true;
|
|
$return = false;
|
|
}
|
|
|
|
if($student->studiengang_kz!=$_POST['stg_kz'])
|
|
{
|
|
$errormsg.='Ein Student kann nicht in eine Lehrverbandsgruppe eines anderen Studienganges verschoben werden';
|
|
$return = false;
|
|
$error = true;
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
//Eintrag in der Tabelle Studentlehrverband aendern
|
|
$student_lvb = new student();
|
|
|
|
if($student_lvb->studentlehrverband_exists($uid, $semester_aktuell))
|
|
$student_lvb->new = false;
|
|
else
|
|
$student_lvb->new = true;
|
|
|
|
$student_lvb->uid = $uid;
|
|
$student_lvb->studiensemester_kurzbz = $semester_aktuell;
|
|
$student_lvb->studiengang_kz = $_POST['stg_kz'];
|
|
$student_lvb->semester = $_POST['semester'];
|
|
$student_lvb->verband = ($_POST['verband']==''?' ':$_POST['verband']);
|
|
$student_lvb->gruppe = ($_POST['gruppe']==''?' ':$_POST['gruppe']);
|
|
$student_lvb->updateamum = date('Y-m-d H:i:s');
|
|
$student_lvb->updatevon = $user;
|
|
|
|
if($student_lvb->save_studentlehrverband())
|
|
{
|
|
$return = true;
|
|
$error=false;
|
|
}
|
|
else
|
|
{
|
|
$error = true;
|
|
$errormsg .= $student_lvb->errormsg;
|
|
$return = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if($errormsg=='')
|
|
$return = true;
|
|
else
|
|
$return = false;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='deleteGruppenzuteilung')
|
|
{
|
|
if(isset($_POST['uid']) && isset($_POST['gruppe_kurzbz']))
|
|
{
|
|
$gruppe = new gruppe();
|
|
if($gruppe->load($_POST['gruppe_kurzbz']))
|
|
{
|
|
$uids = explode(';',$_POST['uid']);
|
|
$errormsg = '';
|
|
foreach ($uids as $uid)
|
|
{
|
|
if($uid!='')
|
|
{
|
|
$qry = "SELECT studiengang_kz FROM public.tbl_student WHERE student_uid=".$db->db_add_param($uid);
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
//Berechtigung pruefen
|
|
if(!$rechte->isBerechtigt('assistenz',$gruppe->studiengang_kz,'suid') &&
|
|
!$rechte->isBerechtigt('admin',$gruppe->studiengang_kz, 'suid') &&
|
|
!$rechte->isBerechtigt('admin',$row->studiengang_kz, 'suid') &&
|
|
!$rechte->isBerechtigt('assistenz',$row->studiengang_kz, 'suid'))
|
|
{
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang';
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
$benutzergruppe = new benutzergruppe();
|
|
|
|
if(!$benutzergruppe->delete($uid, $_POST['gruppe_kurzbz']))
|
|
{
|
|
$errormsg .= "$uid konnte nicht aus der Gruppe geloescht werden\n";
|
|
}
|
|
}
|
|
}
|
|
else
|
|
$errormsg .= "Studiengang von $uid konnte nicht ermittelt werden\n";
|
|
}
|
|
else
|
|
$errormsg .= "Studiengang von $uid konnte nicht ermittelt werden\n";
|
|
}
|
|
}
|
|
if($errormsg=='')
|
|
$return = true;
|
|
else
|
|
$return = false;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = "Gruppe wurde nicht gefunden";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='deleteAkte')
|
|
{
|
|
if(isset($_POST['akte_id']) && is_numeric($_POST['akte_id']))
|
|
{
|
|
//Berechtigung pruefen
|
|
if(!$rechte->isBerechtigt('assistenz',$_POST['studiengang_kz'],'suid') &&
|
|
!$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang';
|
|
}
|
|
if(!$error)
|
|
{
|
|
$akte = new akte();
|
|
|
|
if($akte->delete($_POST['akte_id']))
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $akte->errormsg;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe'.$_POST['akte_id'];
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='savebuchung') // ***** KONTO *****
|
|
{
|
|
//Speichert eine Buchung
|
|
if(isset($_POST['buchungsnr']) && is_numeric($_POST['buchungsnr']))
|
|
{
|
|
$buchung = new konto();
|
|
|
|
if($buchung->load($_POST['buchungsnr']))
|
|
{
|
|
if(!$rechte->isBerechtigt('assistenz',$buchung->studiengang_kz,'suid') &&
|
|
!$rechte->isBerechtigt('admin',$buchung->studiengang_kz, 'suid'))
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang';
|
|
}
|
|
else
|
|
{
|
|
$buchung->betrag = $_POST['betrag'];
|
|
$buchung->buchungsdatum = $_POST['buchungsdatum'];
|
|
$buchung->buchungstext = $_POST['buchungstext'];
|
|
$buchung->mahnspanne = $_POST['mahnspanne'];
|
|
$buchung->buchungstyp_kurzbz = $_POST['buchungstyp_kurzbz'];
|
|
$buchung->studiensemester_kurzbz = $_POST['studiensemester_kurzbz'];
|
|
$buchung->studiengang_kz = $_POST['studiengang_kz'];
|
|
$buchung->credit_points = $_POST['credit_points'];
|
|
$buchung->new = false;
|
|
$buchung->updateamum = date('Y-m-d H:i:s');
|
|
$buchung->updatevon = $user;
|
|
$buchung->anmerkung = $_POST['anmerkung'];
|
|
|
|
if($buchung->save())
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehler beim Speichern:'.$buchung->errormsg;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$errormsg = 'Buchung wurde nicht gefunden:'.$_POST['buchungsnr'];
|
|
$return = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe'.$_POST['buchungsnr'];
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='savegegenbuchung')
|
|
{
|
|
//Speichert eine Buchung
|
|
if(isset($_POST['buchungsnr']))
|
|
{
|
|
$bnr_arr = explode(';',$_POST['buchungsnr']);
|
|
$gegenbuchungsdatum = filter_input(INPUT_POST, "gegenbuchungsdatum");
|
|
if(strlen($gegenbuchungsdatum) != 0)
|
|
{
|
|
$gegenbuchungsdatum = date("Y-m-d", strtotime($gegenbuchungsdatum));
|
|
}
|
|
else
|
|
{
|
|
$gegenbuchungsdatum = date('Y-m-d');
|
|
}
|
|
|
|
$errormsg='';
|
|
foreach ($bnr_arr as $buchungsnr)
|
|
{
|
|
if(is_numeric($buchungsnr))
|
|
{
|
|
$buchung = new konto();
|
|
|
|
if($buchung->load($buchungsnr))
|
|
{
|
|
//Berechtigung pruefen
|
|
if(!$rechte->isBerechtigt('assistenz',$buchung->studiengang_kz,'suid') &&
|
|
!$rechte->isBerechtigt('admin',$buchung->studiengang_kz, 'suid'))
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = "\nSie haben keine Schreibrechte fuer diese Buchung";
|
|
}
|
|
else
|
|
{
|
|
if($buchung->buchungsnr_verweis=='')
|
|
{
|
|
$kto = new konto();
|
|
//$buchung->betrag*(-1);
|
|
$buchung->betrag = $kto->getDifferenz($buchungsnr);
|
|
$buchung->buchungsdatum = $gegenbuchungsdatum;
|
|
$buchung->mahnspanne = '0';
|
|
$buchung->buchungsnr_verweis = $buchung->buchungsnr;
|
|
$buchung->new = true;
|
|
$buchung->insertamum = date('Y-m-d H:i:s');
|
|
$buchung->insertvon = $user;
|
|
$buchung->anmerkung = '';
|
|
|
|
if($buchung->save())
|
|
{
|
|
//$data = $buchung->buchungsnr;
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg .= "\n".'Fehler beim Speichern:'.$buchung->errormsg;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg .= "\n".'Gegenbuchungen koennen nur auf die obersten Buchungen getaetigt werden';
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$errormsg .= "\n".'Buchung wurde nicht gefunden';
|
|
$return = false;
|
|
}
|
|
}
|
|
if($errormsg!='')
|
|
{
|
|
$return = false;
|
|
}
|
|
else
|
|
{
|
|
$return = true;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='deletebuchung')
|
|
{
|
|
//Loescht eine Buchung
|
|
if(isset($_POST['buchungsnr']) && is_numeric($_POST['buchungsnr']))
|
|
{
|
|
$buchung = new konto();
|
|
|
|
if($buchung->load($_POST['buchungsnr']))
|
|
{
|
|
if(!$rechte->isBerechtigt('assistenz',$buchung->studiengang_kz,'suid') &&
|
|
!$rechte->isBerechtigt('admin',$buchung->studiengang_kz, 'suid'))
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang';
|
|
}
|
|
else
|
|
{
|
|
if($buchung->delete($_POST['buchungsnr']))
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$errormsg = $buchung->errormsg;
|
|
$return = false;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$errormsg = 'Buchung wurde nicht gefunden';
|
|
$return = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='neuebuchung')
|
|
{
|
|
//Speichert eine neue Buchung
|
|
//Gleichzeitiges speichern mehrerer Personen ist moeglich
|
|
//Personen werden durch ';' getrennt
|
|
$person_ids = explode(';',$_POST['person_ids']);
|
|
$errormsg = '';
|
|
if(!$rechte->isBerechtigt('assistenz',$_POST['studiengang_kz'],'suid') &&
|
|
!$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang';
|
|
}
|
|
else
|
|
{
|
|
foreach ($person_ids as $person_id)
|
|
{
|
|
if($person_id!='')
|
|
{
|
|
$buchung = new konto();
|
|
$buchung->person_id = $person_id;
|
|
$buchung->studiengang_kz = $_POST['studiengang_kz'];
|
|
$buchung->studiensemester_kurzbz = $_POST['studiensemester_kurzbz'];
|
|
$buchung->buchungsnr_verweis='';
|
|
$buchung->betrag = $_POST['betrag'];
|
|
$buchung->buchungsdatum = $_POST['buchungsdatum'];
|
|
$buchung->buchungstext = $_POST['buchungstext'];
|
|
$buchung->mahnspanne = $_POST['mahnspanne'];
|
|
$buchung->buchungstyp_kurzbz = $_POST['buchungstyp_kurzbz'];
|
|
$buchung->credit_points = $_POST["credit_points"];
|
|
$buchung->insertamum = date('Y-m-d H:i:s');
|
|
$buchung->insertvon = $user;
|
|
$buchung->anmerkung = $_POST['anmerkung'];
|
|
$buchung->new = true;
|
|
|
|
if($buchung->save())
|
|
{
|
|
$data = $buchung->buchungsnr;
|
|
}
|
|
else
|
|
{
|
|
$errormsg .= "Fehler beim Speichern: $buchung->errormsg\n";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if($errormsg=='')
|
|
$return = true;
|
|
else
|
|
$return = false;
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='dokumentprestudentadd')
|
|
{
|
|
//Speichert die Zuordnung von Dokumenten zu einem Prestudent
|
|
//Gleichzeitiges zuteilen mehrerer Dokumente auf einmal ist moeglich
|
|
//Dokumente werden durch ';' getrennt uebergeben
|
|
|
|
if(!$rechte->isBerechtigt('assistenz',$_POST['studiengang_kz'],'suid') &&
|
|
!$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang';
|
|
}
|
|
else
|
|
{
|
|
$dokumente = explode(';',$_POST['dokumente']);
|
|
$errormsg = '';
|
|
foreach ($dokumente as $dokument_kurzbz)
|
|
{
|
|
if($dokument_kurzbz!='')
|
|
{
|
|
$dok = new dokument();
|
|
$dok->dokument_kurzbz = $dokument_kurzbz;
|
|
$dok->prestudent_id = $_POST['prestudent_id'];
|
|
$dok->mitarbeiter_uid = $user;
|
|
$dok->datum = date('Y-m-d');
|
|
$dok->insertamum = date('Y-m-d H:i:s');
|
|
$dok->insertvon = $user;
|
|
$dok->new = true;
|
|
|
|
if(!$dok->save())
|
|
{
|
|
$errormsg .= "Fehler bei $dokument_kurzbz: $dok->errormsg\n";
|
|
}
|
|
}
|
|
}
|
|
if($errormsg=='')
|
|
$return = true;
|
|
else
|
|
$return = false;
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='dokumentprestudentDetailSave')
|
|
{
|
|
//Speichert die Zuordnung von Dokumenten zu einem Prestudent
|
|
//Gleichzeitiges zuteilen mehrerer Dokumente auf einmal ist moeglich
|
|
//Dokumente werden durch ';' getrennt uebergeben
|
|
|
|
if(!$rechte->isBerechtigt('assistenz',null,'suid') &&
|
|
!$rechte->isBerechtigt('admin',null, 'suid'))
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang';
|
|
}
|
|
else
|
|
{
|
|
$akte_id = $_POST['akte_id'];
|
|
$errormsg = '';
|
|
$akte = new akte();
|
|
if($akte->load($akte_id))
|
|
{
|
|
$akte->new=false;
|
|
$akte->anmerkung_intern = $_POST['anmerkung_intern'];
|
|
$akte->titel_intern = $_POST['titel_intern'];
|
|
$akte->dokument_kurzbz = $_POST['dokument_kurzbz'];
|
|
|
|
if(!$akte->save())
|
|
{
|
|
$errormsg='Speichern fehlgeschlagen:'.$akte->errormsg;
|
|
}
|
|
}
|
|
|
|
if($errormsg=='')
|
|
$return = true;
|
|
else
|
|
$return = false;
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='dokumentprestudentDeleteDokument')
|
|
{
|
|
$prestudent_id = $_POST['prestudent_id'];
|
|
$prestudent = new prestudent();
|
|
if($prestudent->load($prestudent_id))
|
|
{
|
|
$studiengang = new studiengang();
|
|
$studiengang->load($prestudent->studiengang_kz);
|
|
|
|
if(!$rechte->isBerechtigt('assistenz',$studiengang->oe_kurzbz,'suid') &&
|
|
!$rechte->isBerechtigt('admin',$studiengang->oe_kurzbz, 'suid'))
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang';
|
|
}
|
|
else
|
|
{
|
|
|
|
$akte_id = $_POST['akte_id'];
|
|
$errormsg = '';
|
|
$akte = new akte();
|
|
if($akte->load($akte_id))
|
|
{
|
|
if($akte->person_id==$prestudent->person_id)
|
|
{
|
|
if($akte->dms_id!='')
|
|
{
|
|
$dms = new dms();
|
|
if($dms->load($akte->dms_id))
|
|
{
|
|
if($akte->delete($akte_id))
|
|
{
|
|
// Eintrag im DMS loeschen
|
|
if(!$dms->deleteDms($akte->dms_id))
|
|
{
|
|
$error=true;
|
|
$errormsg='Fehler beim Loeschen des Dokuments';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$error=true;
|
|
$errormsg='Fehler beim Loeschen der Akte';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$error=true;
|
|
$errormsg='Fehler beim Laden des Dokuments';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$error=true;
|
|
$errormsg='Dieses Dokument darf hier nicht geloescht werden';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$error=true;
|
|
$errormsg='Akte und Prestudent passen nicht zusammen';
|
|
}
|
|
}
|
|
|
|
if($errormsg=='')
|
|
$return = true;
|
|
else
|
|
$return = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$errormsg='Prestudent konnte nicht geladen werden';
|
|
$error=true;
|
|
$return=false;
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='dokumentprestudentdel')
|
|
{
|
|
//Loescht die Zuordnung von Dokumenten zu einem Prestudent
|
|
//Gleichzeitiges loeschen mehrerer Dokumente auf einmal ist moeglich
|
|
//Dokumente werden durch ';' getrennt uebergeben
|
|
if(!$rechte->isBerechtigt('assistenz',$_POST['studiengang_kz'],'suid') &&
|
|
!$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang';
|
|
}
|
|
else
|
|
{
|
|
$dokumente = explode(';',$_POST['dokumente']);
|
|
$errormsg = '';
|
|
foreach ($dokumente as $dokument_kurzbz)
|
|
{
|
|
if($dokument_kurzbz!='')
|
|
{
|
|
$dok = new dokument();
|
|
if($dok->load($dokument_kurzbz, $_POST['prestudent_id']))
|
|
{
|
|
if($dok->mitarbeiter_uid==$user || $rechte->isBerechtigt('student/dokumente',$_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
if(!$dok->delete($dokument_kurzbz, $_POST['prestudent_id']))
|
|
{
|
|
$errormsg .= "Fehler bei $dokument_kurzbz: $dok->errormsg\n";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$errormsg.="Fehler bei $dokument_kurzbz: Loeschen nur durch $dok->mitarbeiter_uid moeglich\n";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$errormsg.="Dokumentenzuteilung existiert nicht: $dokument_kurzbz\n";
|
|
}
|
|
}
|
|
}
|
|
if($errormsg=='')
|
|
$return = true;
|
|
else
|
|
$return = false;
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='deletebetriebsmittel')
|
|
{
|
|
//Loescht ein Betriebsmittel
|
|
//Wenn studiengang_kz uebergeben wird, dann handelt es sich um die Betriebsmittel eines Studenten
|
|
//Wenn studiengang_kz='' dann werden Mitarbeiterrechte benoetigt
|
|
//ToDo: hier sollte nicht der Studiengang uebergeben werden sonder aus der DB ermittelt werden ob es
|
|
//ein Student oder Mitarbeiter ist
|
|
if(($_POST['studiengang_kz']!='' &&
|
|
!$rechte->isBerechtigt('assistenz',$_POST['studiengang_kz'],'suid') &&
|
|
!$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid') &&
|
|
!$rechte->isBerechtigt('basis/betriebsmittel',$_POST['studiengang_kz'], 'suid')
|
|
) ||
|
|
($_POST['studiengang_kz']=='' &&
|
|
!$rechte->isBerechtigt('admin', null, 'suid') &&
|
|
!$rechte->isBerechtigt('mitarbeiter', null, 'suid') &&
|
|
!$rechte->isBerechtigt('basis/betriebsmittel', null, 'suid')
|
|
))
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
if(isset($_POST['betriebsmittelperson_id']) && is_numeric($_POST['betriebsmittelperson_id']))
|
|
{
|
|
$btm = new betriebsmittelperson();
|
|
|
|
if($btm->delete($_POST['betriebsmittelperson_id']))
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$errormsg = $btm->errormsg;
|
|
$return = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='savebetriebsmittel')
|
|
{
|
|
//Speichert eine Betriebsmittelzuordnung
|
|
//Wenn studiengang_kz uebergeben wird, dann handelt es sich um die Betriebsmittel eines Studenten
|
|
//Wenn studiengang_kz='' dann werden Mitarbeiterrechte benoetigt
|
|
//ToDo: hier sollte nicht der Studiengang uebergeben werden sonder aus der DB ermittelt werden ob es
|
|
//ein Student oder Mitarbeiter ist
|
|
if(($_POST['studiengang_kz']!='' &&
|
|
!$rechte->isBerechtigt('assistenz',$_POST['studiengang_kz'],'suid') &&
|
|
!$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid') &&
|
|
!$rechte->isBerechtigt('basis/betriebsmittel',$_POST['studiengang_kz'], 'suid')
|
|
) ||
|
|
($_POST['studiengang_kz']=='' &&
|
|
!$rechte->isBerechtigt('admin', null, 'suid') &&
|
|
!$rechte->isBerechtigt('mitarbeiter', null, 'suid') &&
|
|
!$rechte->isBerechtigt('basis/betriebsmittel', null, 'suid')
|
|
))
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
$betriebsmittel_id = $_POST['betriebsmittel_id'];
|
|
$bm = new betriebsmittel();
|
|
|
|
// Wenn es kein vorhandenes Inventar ist, dann neu anlegen
|
|
if($_POST['betriebsmitteltyp']!='Inventar')
|
|
{
|
|
if($_POST['betriebsmitteltyp']=='Zutrittskarte')
|
|
$_POST['nummer']=$bm->transform_kartennummer($_POST['nummer']);
|
|
|
|
//Das speichern von Zutrittskarten ohne Nummern verhindern
|
|
if($_POST['betriebsmitteltyp']=='Zutrittskarte' && $_POST['nummer']=='')
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Eine Zutrittskarte muss eine Nummer haben. Um die Zuordnung zu dieser Karte zu loeschen entfernen Sie bitte den ganzen Datensatz';
|
|
}
|
|
else
|
|
{
|
|
//Nachschauen ob dieses Betriebsmittel schon existiert
|
|
if($bm->getBetriebsmittel($_POST['betriebsmitteltyp'],$_POST['nummer']))
|
|
{
|
|
if(count($bm->result)>0)
|
|
{
|
|
//Wenn die Nummer gleich bleibt dann die alte ID verwenden da es
|
|
//unterschiedliche Schluessel gibt die die gleiche nummer haben ?!?
|
|
if($_POST['nummer']==$_POST['nummerold'])
|
|
{
|
|
$betriebsmittel_id = $_POST['betriebsmittel_id'];
|
|
}
|
|
else
|
|
$betriebsmittel_id = $bm->result[0]->betriebsmittel_id;
|
|
//Wenn ein Eintrag gefunden wurde, dann wird die Beschreibung aktualisiert
|
|
if($bm->load($betriebsmittel_id))
|
|
{
|
|
$bm->beschreibung = $_POST['beschreibung'];
|
|
$bm->nummer = $_POST['nummer'];
|
|
$bm->nummer2 = $_POST['nummer2'];
|
|
if(!$bm->save(false))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Fehler beim Speichern des Betriebsmittels';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Gefundener Eintrag konnte nicht geladen werden!?!?';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Wenn kein Eintrag gefunden wurde, dann wird ein neuer Eintrag angelegt
|
|
$bm->betriebsmitteltyp = $_POST['betriebsmitteltyp'];
|
|
$bm->nummer = $_POST['nummer'];
|
|
$bm->nummer2 = $_POST['nummer2'];
|
|
$bm->beschreibung = $_POST['beschreibung'];
|
|
$bm->reservieren = false;
|
|
$bm->ort_kurzbz = null;
|
|
$bm->insertamum = date('Y-m-d H:i:s');
|
|
$bm->insertvon = $user;
|
|
|
|
if($bm->save(true))
|
|
{
|
|
$betriebsmittel_id = $bm->betriebsmittel_id;
|
|
}
|
|
else
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Fehler beim Anlegen des Betriebsmittels';
|
|
}
|
|
}
|
|
|
|
if($_POST['betriebsmitteltyp']=='Zutrittskarte')
|
|
{
|
|
//Bei Zutrittskarten schauen ob diese schon vergeben sind
|
|
$qry = "SELECT vorname, nachname, uid
|
|
FROM public.vw_betriebsmittelperson
|
|
WHERE betriebsmitteltyp='Zutrittskarte' AND
|
|
nummer='".$db->db_escape($_POST['nummer'])."'::varchar AND
|
|
person_id<>".$db->db_add_param($_POST['person_id'], FHC_INTEGER)." AND
|
|
retouram is null";
|
|
if($result_bmp = $db->db_query($qry))
|
|
{
|
|
if($db->db_num_rows($result_bmp)>0)
|
|
{
|
|
$row_bmp = $db->db_fetch_object($result_bmp);
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = "Diese Zutrittskarte ist bereits ausgegeben an: $row_bmp->vorname $row_bmp->nachname ($row_bmp->uid)";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Fehler beim Laden der Zutrittskarte';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
//Zuordnung Betriebsmittel-Person anlegen
|
|
$bmp = new betriebsmittelperson();
|
|
if($_POST['neu']!='true')
|
|
{
|
|
if($bmp->load($_POST['betriebsmittelperson_id']))
|
|
{
|
|
$bmp->updateamum = date('Y-m-d H:i:s');
|
|
$bmp->updatevon = $user;
|
|
$bmp->betriebsmittelperson_id = $_POST['betriebsmittelperson_id'];
|
|
$bmp->new = false;
|
|
}
|
|
else
|
|
{
|
|
$error = true;
|
|
$errormsg = "Zuordnung unbekannt:".$_POST['betriebsmittelperson_id'];
|
|
$return = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$bmp->insertamum = date('Y-m-d H:i:s');
|
|
$bmp->insertvon = $user;
|
|
$bmp->new = true;
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
$bmp->person_id = $_POST['person_id'];
|
|
$bmp->betriebsmittel_id=$betriebsmittel_id;
|
|
$bmp->anmerkung = $_POST['anmerkung'];
|
|
$bmp->kaution = trim(str_replace(',','.',$_POST['kaution']));
|
|
$bmp->ausgegebenam = $_POST['ausgegebenam'];
|
|
$bmp->retouram = $_POST['retouram'];
|
|
if($bmp->new)
|
|
$bmp->uid = $_POST['uid'];
|
|
|
|
if($bmp->save())
|
|
{
|
|
$return = true;
|
|
$data = $bmp->betriebsmittelperson_id;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $bmp->errormsg;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='deletebisio')
|
|
{
|
|
if(!$rechte->isBerechtigt('assistenz',$_POST['studiengang_kz'],'suid') &&
|
|
!$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
//Loescht einen BisIO Eintrag
|
|
if(isset($_POST['bisio_id']) && is_numeric($_POST['bisio_id']))
|
|
{
|
|
$bisio = new bisio();
|
|
|
|
if($bisio->delete($_POST['bisio_id']))
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$errormsg = $bisio->errormsg;
|
|
$return = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='savebisio')
|
|
{
|
|
//Speichert einen BisIO Eintrag
|
|
if(!$rechte->isBerechtigt('assistenz',$_POST['studiengang_kz'],'suid') &&
|
|
!$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
|
|
$bisio = new bisio();
|
|
|
|
if($_POST['neu']=='true')
|
|
{
|
|
$bisio->insertamum = date('Y-m-d H:i:s');
|
|
$bisio->insertvon = $user;
|
|
$bisio->new = true;
|
|
}
|
|
else
|
|
{
|
|
if($bisio->load($_POST['bisio_id']))
|
|
$bisio->new = false;
|
|
else
|
|
{
|
|
$error = true;
|
|
$errormsg = $bisio->errormsg;
|
|
$return = false;
|
|
}
|
|
}
|
|
|
|
$bisio->bisio_id = (isset($_POST['bisio_id'])?$_POST['bisio_id']:'');
|
|
$bisio->mobilitaetsprogramm_code = $_POST['mobilitaetsprogramm_code'];
|
|
$bisio->nation_code = $_POST['nation_code'];
|
|
$bisio->von = $_POST['von'];
|
|
$bisio->bis = $_POST['bis'];
|
|
$bisio->zweck_code = $_POST['zweck_code'];
|
|
$bisio->student_uid = $_POST['student_uid'];
|
|
$bisio->lehreinheit_id = $_POST['lehreinheit_id'];
|
|
$bisio->ort = $_POST['ort'];
|
|
$bisio->universitaet = $_POST['universitaet'];
|
|
$bisio->updateamum = date('Y-m-d H:i:s');
|
|
$bisio->updatevon = $user;
|
|
|
|
if(!$error)
|
|
{
|
|
if($bisio->save())
|
|
{
|
|
$return = true;
|
|
$data = $bisio->bisio_id;
|
|
}
|
|
else
|
|
{
|
|
$errormsg = $bisio->errormsg;
|
|
$return = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='getnotenotenschluessel')
|
|
{
|
|
if(!$rechte->isBerechtigt('admin', null, 's') && !$rechte->isBerechtigt('assistenz', null, 's') &&
|
|
!$rechte->isBerechtigt('student/noten', null, 's'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
|
|
$punkte=$_POST['punkte'];
|
|
$lehrveranstaltung_id=$_POST['lehrveranstaltung_id'];
|
|
$studiensemester_kurzbz=$semester_aktuell;
|
|
|
|
$notenschluessel = new notenschluessel();
|
|
if(($note = $notenschluessel->getNote($punkte, $lehrveranstaltung_id, $studiensemester_kurzbz))!==false)
|
|
{
|
|
$return = true;
|
|
$error = false;
|
|
$data = $note;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg=$notenschluessel->errormsg;
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='savenote')
|
|
{
|
|
//Speichert einen Noteneintrag
|
|
|
|
$noten = new zeugnisnote();
|
|
$lehrveranstaltung_id = filter_input(INPUT_POST, 'lehrveranstaltung_id');
|
|
$student_uid = filter_input(INPUT_POST, 'student_uid');
|
|
$studiensemester_kurzbz = filter_input(INPUT_POST, 'studiensemester_kurzbz');
|
|
|
|
if(!is_null($lehrveranstaltung_id) && !is_null($student_uid) && !is_null($studiensemester_kurzbz))
|
|
{
|
|
//Berechtigung pruefen
|
|
$qry = "SELECT studiengang_kz FROM public.tbl_student WHERE student_uid=".$db->db_add_param($student_uid);
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
$stg_std = $row->studiengang_kz;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Fehler beim Ermitteln des Studenten';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Fehler beim Ermitteln des Studenten';
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
$lva = new lehrveranstaltung($lehrveranstaltung_id);
|
|
|
|
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') && !$rechte->isBerechtigt('admin', $stg_std, 'suid') &&
|
|
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') && !$rechte->isBerechtigt('assistenz', $stg_std, 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
|
|
if($noten->load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz))
|
|
{
|
|
$noten->new = false;
|
|
$noten->updateamum = date('Y-m-d H:i:s');
|
|
$noten->updatevon = $user;
|
|
$log = new log();
|
|
$log->executetime = date('Y-m-d H:i:s');
|
|
$log->mitarbeiter_uid = $user;
|
|
$log->beschreibung = "Ändern der Note ".$noten->note." bei ".$noten->student_uid;
|
|
$log->sql = 'UPDATE lehre.tbl_zeugnisnote SET '.
|
|
'note='.$db->db_add_param($noten->note).', '.
|
|
'punkte='.$db->db_add_param($noten->punkte).','.
|
|
'uebernahmedatum='.$db->db_add_param($noten->uebernahmedatum).', '.
|
|
'benotungsdatum='.$db->db_add_param($noten->benotungsdatum).', '.
|
|
'bemerkung='.$db->db_add_param($noten->bemerkung).', '.
|
|
'updateamum= '.$db->db_add_param($noten->updateamum).', '.
|
|
'updatevon='.$db->db_add_param($noten->updatevon).' '.
|
|
'WHERE lehrveranstaltung_id='.$db->db_add_param($noten->lehrveranstaltung_id, FHC_INTEGER).' '.
|
|
'AND student_uid='.$db->db_add_param($noten->student_uid).' '.
|
|
'AND studiensemester_kurzbz='.$db->db_add_param($noten->studiensemester_kurzbz).';';
|
|
$log->sqlundo = $noten->getUndo('update');
|
|
$log->save(true);
|
|
}
|
|
else
|
|
{
|
|
$noten->new = true;
|
|
$noten->insertamum = date('Y-m-d H:i:s');
|
|
$noten->insertvon = $user;
|
|
}
|
|
|
|
$noten->lehrveranstaltung_id = $_POST['lehrveranstaltung_id'];
|
|
$noten->student_uid = $_POST['student_uid'];
|
|
$noten->studiensemester_kurzbz = $_POST['studiensemester_kurzbz'];
|
|
$noten->benotungsdatum = date('Y-m-d H:i:s');
|
|
$noten->note = $_POST['note'];
|
|
if(isset($_POST['punkte']))
|
|
$noten->punkte=$_POST['punkte'];
|
|
|
|
if($noten->save())
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$errormsg = $noten->errormsg;
|
|
$return = false;
|
|
}
|
|
|
|
if(defined('FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN') && FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN && $return == true && $noten->new == true)
|
|
{
|
|
NotePruefungAnlegen($studiensemester_kurzbz, $student_uid, $lehrveranstaltung_id, $noten->note);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='movenote')
|
|
{
|
|
//Speichert einen LVGesamtNoten Eintrag in die Tbl Zeugnisnote
|
|
//Die Daten werden per POST uebermittelt. Es wird ein Feld Anzahl mituebergeben
|
|
//mit der Anzahl der Felder. Die Felder sind durchnummeriert zB lehreinheit_id_0, lehreinheit_id_1, ...
|
|
$errormsg = '';
|
|
$angerechnet=false;
|
|
|
|
for($i=0;$i<$_POST['anzahl'];$i++)
|
|
{
|
|
$lvgesamtnote = new lvgesamtnote();
|
|
$zeugnisnote = new zeugnisnote();
|
|
|
|
//Berechtigung pruefen
|
|
$qry = "SELECT studiengang_kz FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=".$db->db_add_param($_POST['lehrveranstaltung_id_'.$i], FHC_INTEGER);
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
$stg_lva = $row->studiengang_kz;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Fehler beim Ermitteln der LVA';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Fehler beim Ermitteln der LVA';
|
|
}
|
|
|
|
$qry = "SELECT studiengang_kz FROM public.tbl_student WHERE student_uid=".$db->db_add_param($_POST['student_uid_'.$i]);
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
$stg_std = $row->studiengang_kz;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Fehler beim Ermitteln des Studenten';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Fehler beim Ermitteln des Studenten';
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
if(!$rechte->isBerechtigt('student/noten', $stg_lva, 'suid') && !$rechte->isBerechtigt('student/noten', $stg_std, 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg .= 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
if($lvgesamtnote->load($_POST['lehrveranstaltung_id_'.$i], $_POST['student_uid_'.$i], $_POST['studiensemester_kurzbz_'.$i]))
|
|
{
|
|
if($zeugnisnote->load($_POST['lehrveranstaltung_id_'.$i], $_POST['student_uid_'.$i], $_POST['studiensemester_kurzbz_'.$i]))
|
|
{
|
|
$zeugnisnote->new = false;
|
|
$zeugnisnote->updateamum = date('Y-m-d H:i:s');
|
|
$zeugnisnote->updatevon = $user;
|
|
//Angerechnete Noten werden nicht ueberschrieben
|
|
if($zeugnisnote->note=='6') //Angerechnet
|
|
{
|
|
$angerechnet=true;
|
|
continue;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$zeugnisnote->new = true;
|
|
$zeugnisnote->insertamum = date('Y-m-d H:i:s');
|
|
$zeugnisnote->insertvon = $user;
|
|
$zeugnisnote->lehrveranstaltung_id = $_POST['lehrveranstaltung_id_'.$i];
|
|
$zeugnisnote->student_uid = $_POST['student_uid_'.$i];
|
|
$zeugnisnote->studiensemester_kurzbz = $_POST['studiensemester_kurzbz_'.$i];
|
|
}
|
|
|
|
$zeugnisnote->note = $lvgesamtnote->note;
|
|
$zeugnisnote->punkte = $lvgesamtnote->punkte;
|
|
$zeugnisnote->uebernahmedatum = date('Y-m-d H:i:s');
|
|
$zeugnisnote->benotungsdatum = $lvgesamtnote->benotungsdatum;
|
|
$zeugnisnote->bemerkung = $lvgesamtnote->bemerkung;
|
|
|
|
if(!$zeugnisnote->save())
|
|
{
|
|
$errormsg .= "\n".$zeugnisnote->errormsg;
|
|
}
|
|
else
|
|
{
|
|
if(defined('FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN') && FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN && $zeugnisnote->new == true)
|
|
{
|
|
NotePruefungAnlegen($zeugnisnote->studiensemester_kurzbz, $zeugnisnote->student_uid, $zeugnisnote->lehrveranstaltung_id, $zeugnisnote->note);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$errormsg .= "\nLvGesamtNote wurde nicht gefunden";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if($angerechnet)
|
|
{
|
|
$errormsg.="\nAngerechnete Noten wurden nicht ueberschrieben";
|
|
}
|
|
|
|
if($errormsg=='')
|
|
$return = true;
|
|
else
|
|
$return = false;
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='importnoten')
|
|
{
|
|
//Importiert die Noten einer Lehrveranstaltung
|
|
//als Parameter wird die Matrikelnummer und die Note uebergeben
|
|
//Die Felder sind durchnummeriert zB matrikelnummer_0, matrikelnummer_1, ...
|
|
//Die Anzahl der Gesamten Daten wird auch als Parameter uebergeben
|
|
$errormsg = '';
|
|
$angerechnet=false;
|
|
|
|
$noten_anmerkung_arr=array();
|
|
$note_obj = new note();
|
|
$note_obj->getAll();
|
|
foreach($note_obj->result as $row)
|
|
$noten_anmerkung_arr[$row->anmerkung]=$row->note;
|
|
|
|
for($i=0;$i<$_POST['anzahl'];$i++)
|
|
{
|
|
if($_POST['matrikelnummer_'.$i]!='')
|
|
{
|
|
$zeugnisnote = new zeugnisnote();
|
|
$error = false;
|
|
if(!is_numeric(trim($_POST['matrikelnummer_'.$i])))
|
|
{
|
|
$error = true;
|
|
$errormsg = "\nMatrikelnummer ist ungueltig: ".$_POST['matrikelnummer_'.$i];
|
|
}
|
|
if((isset($_POST['note_'.$i]) && !is_numeric($_POST['note_'.$i]) && !isset($noten_anmerkung_arr[$_POST['note_'.$i]])))
|
|
{
|
|
$error = true;
|
|
$errormsg = "\nNote ist ungueltig: ".$_POST['note_'.$i];
|
|
}
|
|
if(!$error)
|
|
{
|
|
$qry = "SELECT student_uid, studiengang_kz FROM public.tbl_student WHERE trim(matrikelnr)=".$db->db_add_param(trim($_POST['matrikelnummer_'.$i]));
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
$uid = $row->student_uid;
|
|
$stg_std = $row->studiengang_kz;
|
|
}
|
|
else
|
|
{
|
|
$error = true;
|
|
$errormsg.="\nMatrikelnummer ".$_POST['matrikelnummer_'.$i]." wurde nicht gefunden";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$error = true;
|
|
$errormsg.="\nFehler beim Ermitteln der UID";
|
|
}
|
|
|
|
//Berechtigung pruefen
|
|
$qry = "SELECT studiengang_kz FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=".$db->db_add_param($_POST['lehrveranstaltung_id'], FHC_INTEGER);
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
$stg_lva = $row->studiengang_kz;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Fehler beim Ermitteln der LVA';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Fehler beim Ermitteln der LVA';
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
if(!$rechte->isBerechtigt('admin', $stg_lva, 'suid') && !$rechte->isBerechtigt('admin', $stg_std, 'suid') &&
|
|
!$rechte->isBerechtigt('assistenz', $stg_lva, 'suid') && !$rechte->isBerechtigt('assistenz', $stg_std, 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg .= 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
if($zeugnisnote->load($_POST['lehrveranstaltung_id'], $uid, $semester_aktuell))
|
|
{
|
|
$zeugnisnote->new = false;
|
|
$zeugnisnote->updateamum = date('Y-m-d H:i:s');
|
|
$zeugnisnote->updatevon = $user;
|
|
//Angerechnete Noten werden nicht ueberschrieben
|
|
if($zeugnisnote->note=='6') //Angerechnet
|
|
{
|
|
$angerechnet=true;
|
|
continue;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$zeugnisnote->new = true;
|
|
$zeugnisnote->insertamum = date('Y-m-d H:i:s');
|
|
$zeugnisnote->insertvon = $user;
|
|
$zeugnisnote->lehrveranstaltung_id = $_POST['lehrveranstaltung_id'];
|
|
$zeugnisnote->student_uid = $uid;
|
|
$zeugnisnote->studiensemester_kurzbz = $semester_aktuell;
|
|
}
|
|
|
|
if(isset($_POST['note_'.$i]))
|
|
{
|
|
$zeugnisnote->note = $_POST['note_'.$i];
|
|
$zeugnisnote->punkte = null;
|
|
// Wenn es nicht numerisch ist, dann nachsehen ob es eine anmerkung gibt die so heisst
|
|
// zB fuer met, nb, ar, etc
|
|
if(!is_numeric($zeugnisnote->note) && isset($noten_anmerkung_arr[$zeugnisnote->note]))
|
|
{
|
|
$zeugnisnote->note = $noten_anmerkung_arr[$zeugnisnote->note];
|
|
}
|
|
}
|
|
elseif(isset($_POST['punkte_'.$i]))
|
|
{
|
|
$zeugnisnote->punkte=$_POST['punkte_'.$i];
|
|
$zeugnisnote->punkte = str_replace(',','.', $zeugnisnote->punkte);
|
|
$notenschluessel = new notenschluessel();
|
|
$note = $notenschluessel->getNote($zeugnisnote->punkte, $_POST['lehrveranstaltung_id'], $semester_aktuell);
|
|
$zeugnisnote->note = $note;
|
|
}
|
|
$zeugnisnote->uebernahmedatum = date('Y-m-d H:i:s');
|
|
$zeugnisnote->benotungsdatum = date('Y-m-d H:i:s');
|
|
|
|
if(!$zeugnisnote->save())
|
|
{
|
|
$errormsg .= "\n".$zeugnisnote->errormsg;
|
|
}
|
|
else
|
|
{
|
|
if(defined('FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN') && FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN && $zeugnisnote->new == true)
|
|
{
|
|
NotePruefungAnlegen($semester_aktuell, $uid, $_POST['lehrveranstaltung_id'], $zeugnisnote->note);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if($angerechnet)
|
|
{
|
|
$errormsg.="\nAngerechnete Noten wurden nicht ueberschrieben";
|
|
}
|
|
|
|
if($errormsg=='')
|
|
$return = true;
|
|
else
|
|
$return = false;
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='deletenote')
|
|
{
|
|
//Loescht einen Noteneintrag
|
|
|
|
$noten = new zeugnisnote();
|
|
$lehrveranstaltung_id = filter_input(INPUT_POST, 'lehrveranstaltung_id');
|
|
$student_uid = filter_input(INPUT_POST, 'student_uid');
|
|
$studiensemester_kurzbz = filter_input(INPUT_POST, 'studiensemester_kurzbz');
|
|
|
|
if(!is_null($lehrveranstaltung_id) && !is_null($student_uid) && !is_null($studiensemester_kurzbz))
|
|
{
|
|
//Berechtigung pruefen
|
|
$qry = "SELECT studiengang_kz FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER);
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
$stg_lva = $row->studiengang_kz;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Fehler beim Ermitteln der LVA';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Fehler beim Ermitteln der LVA';
|
|
}
|
|
|
|
$qry = "SELECT studiengang_kz FROM public.tbl_student WHERE student_uid=".$db->db_add_param($student_uid);
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
$stg_std = $row->studiengang_kz;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Fehler beim Ermitteln des Studenten';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Fehler beim Ermitteln des Studenten';
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
if(!$rechte->isBerechtigt('admin', $stg_lva, 'suid') && !$rechte->isBerechtigt('admin', $stg_std, 'suid') &&
|
|
!$rechte->isBerechtigt('assistenz', $stg_lva, 'suid') && !$rechte->isBerechtigt('assistenz', $stg_std, 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
$noten->load($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz);
|
|
if($noten->delete($lehrveranstaltung_id, $student_uid, $studiensemester_kurzbz))
|
|
{
|
|
$log = new log();
|
|
$log->executetime = date('Y-m-d H:i:s');
|
|
$log->mitarbeiter_uid = $user;
|
|
$log->beschreibung = "Löschen der Note ".$noten->note." bei ".$noten->student_uid;
|
|
$log->sql = "DELETE FROM lehre.tbl_zeugnisnote WHERE
|
|
lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER, false)." AND
|
|
student_uid=".$db->db_add_param($student_uid)." AND
|
|
studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz).";";
|
|
$log->sqlundo = $noten->getUndo('insert');
|
|
$log->save(true);
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $noten->errormsg;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='deletepruefung') // **** PRUEFUNGEN **** //
|
|
{
|
|
//Loescht einen Pruefungs Eintrag
|
|
if(isset($_POST['pruefung_id']) && is_numeric($_POST['pruefung_id']))
|
|
{
|
|
if(!$rechte->isBerechtigt('admin', $_POST['studiengang_kz'], 'suid') && !$rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
$pruefung = new pruefung();
|
|
|
|
if($pruefung->delete($_POST['pruefung_id']))
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$errormsg = $pruefung->errormsg;
|
|
$return = false;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='savepruefung') // **** PRUEFUNGEN **** //
|
|
{
|
|
$datum_obj = new datum();
|
|
if(!$rechte->isBerechtigt('admin', $_POST['studiengang_kz'], 'suid') && !$rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
$pruefung = new pruefung();
|
|
|
|
if($_POST['neu']=='false')
|
|
{
|
|
if($pruefung->load($_POST['pruefung_id']))
|
|
{
|
|
$pruefung->new = false;
|
|
}
|
|
else
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = $pruefung->errormsg;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$pruefung->new = true;
|
|
$pruefung->insertamum = date('Y-m-d H:i:s');
|
|
$pruefung->insertvon = $user;
|
|
}
|
|
|
|
$db->db_query('BEGIN');
|
|
|
|
if($_POST['pruefungstyp_kurzbz']=='Termin2')
|
|
{
|
|
//Wenn ein 2. Termin angelegt wird, und kein 1. Termin vorhanden ist,
|
|
//dann wird auch ein 1. Termin angelegt mit der derzeitigen Zeugnisnote
|
|
$qry = "SELECT * FROM lehre.tbl_pruefung WHERE
|
|
student_uid=".$db->db_add_param($_POST['student_uid'])." AND
|
|
lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER)." AND
|
|
pruefungstyp_kurzbz='Termin1'";
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($db->db_num_rows($result)==0)
|
|
{
|
|
$qry = "SELECT note,punkte, benotungsdatum FROM lehre.tbl_zeugnisnote JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id) WHERE
|
|
student_uid=".$db->db_add_param($_POST['student_uid'])." AND
|
|
tbl_lehreinheit.lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER)." AND
|
|
tbl_lehreinheit.studiensemester_kurzbz = tbl_zeugnisnote.studiensemester_kurzbz";
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
//Wenn kein Ersttermin existiert, dann wird einer angelegt
|
|
$ersttermin = new pruefung();
|
|
$ersttermin->new=true;
|
|
$ersttermin->insertamum = date('Y-m-d H:i:s');
|
|
$ersttermin->insertvon = $user;
|
|
$ersttermin->lehreinheit_id = $_POST['lehreinheit_id'];
|
|
$ersttermin->student_uid = $_POST['student_uid'];
|
|
$ersttermin->mitarbeiter_uid = $_POST['mitarbeiter_uid'];
|
|
$ersttermin->note = $row->note;
|
|
$ersttermin->punkte = $row->punkte;
|
|
$ersttermin->pruefungstyp_kurzbz = 'Termin1';
|
|
$ersttermin->datum = $row->benotungsdatum;
|
|
$ersttermin->anmerkung = '';
|
|
|
|
if(!$ersttermin->save())
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Fehler beim Anlegen des 1.Termin:'.$ersttermin->errormsg;
|
|
}
|
|
}
|
|
}
|
|
//Wenn keine Zeugnisnote vorhanden ist, dann wird kein
|
|
//1.Termin angelegt
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Fehler beim Ermitteln des Ersttermines';
|
|
}
|
|
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
$pruefung->lehreinheit_id = $_POST['lehreinheit_id'];
|
|
$pruefung->student_uid = $_POST['student_uid'];
|
|
$pruefung->mitarbeiter_uid = $_POST['mitarbeiter_uid'];
|
|
$pruefung->note = $_POST['note'];
|
|
if(isset($_POST['punkte']))
|
|
$pruefung->punkte = $_POST['punkte'];
|
|
$pruefung->pruefungstyp_kurzbz = $_POST['pruefungstyp_kurzbz'];
|
|
$pruefung->datum = $_POST['datum'];
|
|
$pruefung->anmerkung = $_POST['anmerkung'];
|
|
$pruefung->updateamum = date('Y-m-d H:i:s');
|
|
$pruefung->updatevon = $user;
|
|
|
|
|
|
if($pruefung->save())
|
|
{
|
|
$return = true;
|
|
$data = $pruefung->pruefung_id;
|
|
//Zeugnisnote aktualisieren
|
|
$qry = "SELECT lehrveranstaltung_id, studiensemester_kurzbz FROM lehre.tbl_lehreinheit
|
|
WHERE lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER);
|
|
if($result_le = $db->db_query($qry))
|
|
{
|
|
if($row_le = $db->db_fetch_object($result_le))
|
|
{
|
|
$lehrveranstaltung_id = $row_le->lehrveranstaltung_id;
|
|
$studiensemester_kurzbz = $row_le->studiensemester_kurzbz;
|
|
}
|
|
else
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Fehler beim Ermitteln der Lehrveranstaltung';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Fehler beim Ermitteln der Lehrveranstaltung';
|
|
}
|
|
|
|
|
|
if(!$error)
|
|
{
|
|
$zeugnisnote = new zeugnisnote();
|
|
if($zeugnisnote->load($lehrveranstaltung_id, $_POST['student_uid'], $studiensemester_kurzbz))
|
|
{
|
|
if($zeugnisnote->uebernahmedatum=='' ||
|
|
($datum_obj->mktime_fromtimestamp($zeugnisnote->benotungsdatum) >
|
|
$datum_obj->mktime_fromtimestamp($zeugnisnote->uebernahmedatum)))
|
|
$checkdatum = $zeugnisnote->benotungsdatum;
|
|
else
|
|
$checkdatum = $zeugnisnote->uebernahmedatum;
|
|
|
|
if($datum_obj->mktime_fromtimestamp($checkdatum)>$datum_obj->mktime_fromdate($_POST['datum']))
|
|
{
|
|
if($zeugnisnote->note!=$_POST['note'])
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'ACHTUNG! Diese Pruefungsnote wurde nicht ins Zeugnis uebernommen da die Zeugnisnote nach dem Pruefungsdatum veraendert wurde';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$zeugnisnote->new = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$zeugnisnote->new = true;
|
|
$zeugnisnote->insertamum = date('Y-m-d H:i:s');
|
|
$zeugnisnote->insertvon = $user;
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
$zeugnisnote->student_uid = $_POST['student_uid'];
|
|
$zeugnisnote->lehrveranstaltung_id = $lehrveranstaltung_id;
|
|
$zeugnisnote->studiensemester_kurzbz = $studiensemester_kurzbz;
|
|
$zeugnisnote->note = $_POST['note'];
|
|
if(isset($_POST['punkte']))
|
|
$zeugnisnote->punkte = $_POST['punkte'];
|
|
else
|
|
$zeugnisnote->punkte='';
|
|
$zeugnisnote->uebernahmedatum = date('Y-m-d H:i:s');
|
|
$zeugnisnote->benotungsdatum = date('Y-m-d',$datum_obj->mktime_fromdate($_POST['datum']));
|
|
$zeugnisnote->updateamum = date('Y-m-d H:i:s');
|
|
$zeugnisnote->updatevon = $user;
|
|
|
|
if(!$zeugnisnote->save())
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Fehler beim Speichern der Zeungisnote:'.$zeugnisnote->errormsg;
|
|
$db->db_query('ROLLBACK');
|
|
}
|
|
else
|
|
{
|
|
$db->db_query('COMMIT');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Kein Rollback damit die Pruefung gespeichert wird
|
|
//returnwert ist aber false damit die Meldung angezeigt wird,
|
|
//dass die Note nicht ins Zeugnis uebernommen wird
|
|
$db->db_query('COMMIT');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$db->db_query('ROLLBACK');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $pruefung->errormsg;
|
|
$db->db_query('ROLLBACK');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$db->db_query('ROLLBACK');
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='saveabschlusspruefung') // **** ABSCHLUSSPRUEFUNGEN **** //
|
|
{
|
|
if(!$rechte->isBerechtigt('admin', $_POST['studiengang_kz'], 'suid') && !$rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
$pruefung = new abschlusspruefung();
|
|
|
|
if($_POST['neu']=='false')
|
|
{
|
|
if($pruefung->load($_POST['abschlusspruefung_id']))
|
|
{
|
|
$pruefung->new = false;
|
|
}
|
|
else
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = $pruefung->errormsg;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$pruefung->new = true;
|
|
$pruefung->insertamum = date('Y-m-d H:i:s');
|
|
$pruefung->insertvon = $user;
|
|
}
|
|
|
|
$pruefung->student_uid = $_POST['student_uid'];
|
|
$pruefung->vorsitz = $_POST['vorsitz'];
|
|
$pruefung->pruefer1 = $_POST['pruefer1'];
|
|
$pruefung->pruefer2 = $_POST['pruefer2'];
|
|
$pruefung->pruefer3 = $_POST['pruefer3'];
|
|
$pruefung->abschlussbeurteilung_kurzbz = $_POST['abschlussbeurteilung_kurzbz'];
|
|
$pruefung->note = $_POST['notekommpruef'];
|
|
$pruefung->akadgrad_id = $_POST['akadgrad_id'];
|
|
$pruefung->pruefungstyp_kurzbz = $_POST['pruefungstyp_kurzbz'];
|
|
$pruefung->datum = $_POST['datum'];
|
|
$pruefung->uhrzeit = $_POST['uhrzeit'];
|
|
$pruefung->sponsion = $_POST['sponsion'];
|
|
$pruefung->anmerkung = $_POST['anmerkung'];
|
|
$pruefung->updateamum = date('Y-m-d H:i:s');
|
|
$pruefung->updatevon = $user;
|
|
|
|
if(!$error)
|
|
{
|
|
if($pruefung->save())
|
|
{
|
|
$return = true;
|
|
$data = $pruefung->abschlusspruefung_id;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $pruefung->errormsg;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='deleteabschlusspruefung')
|
|
{
|
|
//Loescht einen Pruefungs Eintrag
|
|
if(!$rechte->isBerechtigt('admin', $_POST['studiengang_kz'], 'suid') && !$rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
if(isset($_POST['abschlusspruefung_id']) && is_numeric($_POST['abschlusspruefung_id']))
|
|
{
|
|
$pruefung = new abschlusspruefung();
|
|
|
|
if($pruefung->delete($_POST['abschlusspruefung_id']))
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$errormsg = $pruefung->errormsg;
|
|
$return = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='saveprojektarbeit') // **** Projektarbeit **** //
|
|
{
|
|
if(!$rechte->isBerechtigt('admin', $_POST['studiengang_kz'], 'suid') && !$rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
$projektarbeit = new projektarbeit();
|
|
|
|
if($_POST['neu']=='false')
|
|
{
|
|
if($projektarbeit->load($_POST['projektarbeit_id']))
|
|
{
|
|
$projektarbeit->new = false;
|
|
}
|
|
else
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = $projektarbeit->errormsg;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$projektarbeit->new = true;
|
|
$projektarbeit->insertamum = date('Y-m-d H:i:s');
|
|
$projektarbeit->insertvon = $user;
|
|
}
|
|
|
|
$projektarbeit->projekttyp_kurzbz = $_POST['projekttyp_kurzbz'];
|
|
$projektarbeit->titel = $_POST['titel'];
|
|
$projektarbeit->titel_english = $_POST['titel_english'];
|
|
$projektarbeit->lehreinheit_id = $_POST['lehreinheit_id'];
|
|
$projektarbeit->student_uid = $_POST['student_uid'];
|
|
$projektarbeit->firma_id = $_POST['firma_id'];
|
|
$projektarbeit->note = $_POST['note'];
|
|
$projektarbeit->punkte = str_replace(',','.',$_POST['punkte']);
|
|
$projektarbeit->beginn = $_POST['beginn'];
|
|
$projektarbeit->ende = $_POST['ende'];
|
|
$projektarbeit->faktor = str_replace(',','.',$_POST['faktor']);
|
|
$projektarbeit->freigegeben = ($_POST['freigegeben']=='true'?true:false);
|
|
$projektarbeit->gesperrtbis = $_POST['gesperrtbis'];
|
|
$projektarbeit->stundensatz = str_replace(',','.',$_POST['stundensatz']);
|
|
$projektarbeit->gesamtstunden = $_POST['gesamtstunden'];
|
|
$projektarbeit->themenbereich = $_POST['themenbereich'];
|
|
$projektarbeit->anmerkung = $_POST['anmerkung'];
|
|
$projektarbeit->updateamum = date('Y-m-d H:i:s');
|
|
$projektarbeit->updatevon = $user;
|
|
|
|
if(!$error)
|
|
{
|
|
if($projektarbeit->save())
|
|
{
|
|
$return = true;
|
|
$data = $projektarbeit->projektarbeit_id;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $projektarbeit->errormsg;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='deleteprojektarbeit')
|
|
{
|
|
if(!$rechte->isBerechtigt('admin', $_POST['studiengang_kz'], 'suid') && !$rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
//Loescht einen Projektarbeit Eintrag
|
|
if(isset($_POST['projektarbeit_id']) && is_numeric($_POST['projektarbeit_id']))
|
|
{
|
|
$projektarbeit = new projektarbeit();
|
|
|
|
$qry = "SELECT count(*) as anzahl FROM lehre.tbl_projektbetreuer
|
|
WHERE projektarbeit_id=".$db->db_add_param($_POST['projektarbeit_id'], FHC_INTEGER);
|
|
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
if($row->anzahl>0)
|
|
{
|
|
$errormsg = 'Bitte zuerst alle Betreuer loeschen';
|
|
$return = false;
|
|
}
|
|
else
|
|
{
|
|
$qry = "SELECT count(*) as anzahl FROM campus.tbl_paabgabe
|
|
WHERE projektarbeit_id=".$db->db_add_param($_POST['projektarbeit_id'], FHC_INTEGER).";";
|
|
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
if($row->anzahl>0)
|
|
{
|
|
$errormsg = 'Diese Projektarbeit kann nicht gelöscht werden, da bereits AbgabeTermine bzw Abgaben vorhanden sind';
|
|
$return = false;
|
|
}
|
|
else
|
|
{
|
|
if($projektarbeit->delete($_POST['projektarbeit_id']))
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$errormsg = $projektarbeit->errormsg;
|
|
$return = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$errormsg = 'Fehler beim Loeschen';
|
|
$return = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$errormsg = 'Fehler beim Loeschen';
|
|
$return = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='saveprojektbetreuer') // **** Projektbetreuer **** //
|
|
{
|
|
if(!$rechte->isBerechtigt('admin', $_POST['studiengang_kz'], 'suid') && !$rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
$projektbetreuer = new projektbetreuer();
|
|
|
|
if($_POST['neu']=='false')
|
|
{
|
|
if($projektbetreuer->load($_POST['person_id_old'], $_POST['projektarbeit_id'], $_POST['betreuerart_kurzbz_old']))
|
|
{
|
|
$projektbetreuer->new = false;
|
|
}
|
|
else
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = $projektbetreuer->errormsg;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if($projektbetreuer->load($_POST['person_id'], $_POST['projektarbeit_id'], $_POST['betreuerart_kurzbz']))
|
|
{
|
|
$error = true;
|
|
$errormsg = 'Dieser Betreuer ist bereits zugeteilt';
|
|
}
|
|
$projektbetreuer->new = true;
|
|
$projektbetreuer->insertamum = date('Y-m-d H:i:s');
|
|
$projektbetreuer->insertvon = $user;
|
|
}
|
|
|
|
$projektbetreuer->person_id = $_POST['person_id'];
|
|
$projektbetreuer->person_id_old = $_POST['person_id_old'];
|
|
$projektbetreuer->projektarbeit_id = $_POST['projektarbeit_id'];
|
|
$projektbetreuer->note = $_POST['note'];
|
|
$projektbetreuer->faktor = str_replace(',','.', $_POST['faktor']);
|
|
$projektbetreuer->name = $_POST['name'];
|
|
$projektbetreuer->punkte = str_replace(',','.', $_POST['punkte']);
|
|
$projektbetreuer->stunden = str_replace(',','.', $_POST['stunden']);
|
|
$projektbetreuer->stundensatz = str_replace(',','.', $_POST['stundensatz']);
|
|
$projektbetreuer->betreuerart_kurzbz = $_POST['betreuerart_kurzbz'];
|
|
$projektbetreuer->betreuerart_kurzbz_old = $_POST['betreuerart_kurzbz_old'];
|
|
$projektbetreuer->updateamum = date('Y-m-d H:i:s');
|
|
$projektbetreuer->updatevon = $user;
|
|
|
|
if(!$error)
|
|
{
|
|
if($projektbetreuer->save())
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $projektbetreuer->errormsg;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='deleteprojektbetreuer')
|
|
{
|
|
if(!$rechte->isBerechtigt('admin', $_POST['studiengang_kz'], 'suid') && !$rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
//Loescht einen Projektbetreuer Eintrag
|
|
if(isset($_POST['person_id']) && is_numeric($_POST['person_id']))
|
|
{
|
|
$projektbetreuer = new projektbetreuer();
|
|
|
|
if($projektbetreuer->delete($_POST['person_id'], $_POST['projektarbeit_id'], $_POST['betreuerart_kurzbz']))
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$errormsg = $projektbetreuer->errormsg;
|
|
$return = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='getprivatemailadress')
|
|
{
|
|
if(isset($_POST['person_ids']))
|
|
{
|
|
$pers_arr = explode(';',$_POST['person_ids']);
|
|
$data='';
|
|
$anz_error=0;
|
|
|
|
foreach ($pers_arr as $person_id)
|
|
{
|
|
if(is_numeric($person_id))
|
|
{
|
|
$qry = "SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp='email'
|
|
AND person_id=".$db->db_add_param($person_id, FHC_INTEGER)." AND zustellung=true LIMIT 1";
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
if($data!='')
|
|
$data.=$emailadressentrennzeichen.$row->kontakt;
|
|
else
|
|
$data = $row->kontakt;
|
|
}
|
|
else
|
|
{
|
|
$anz_error++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if($data!='')
|
|
{
|
|
if($anz_error==0)
|
|
$return = true;
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = "Bei $anz_error Personen wurde keine Emailadresse gefunden!";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Es wurde keine Privatadresse gefunden';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='getReihungstestPunkte')
|
|
{
|
|
//Liefert die Reihungstestpunkte eines Prestudenten
|
|
if(isset($_POST['person_id']) && isset($_POST['reihungstest_id']))
|
|
{
|
|
$pruefling = new pruefling();
|
|
if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE)
|
|
$data = $pruefling->getReihungstestErgebnisPerson($_POST['person_id'], true, $_POST['reihungstest_id']);
|
|
else
|
|
$data = $pruefling->getReihungstestErgebnisPerson($_POST['person_id'], false, $_POST['reihungstest_id']);
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='getstundensatz')
|
|
{
|
|
if(isset($_POST['person_id']))
|
|
{
|
|
$qry = "SELECT stundensatz FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid)
|
|
WHERE person_id=".$db->db_add_param($_POST['person_id'], FHC_INTEGER);
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
$data = $row->stundensatz;
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$data = '80.00';
|
|
$return = true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Unbekannter Fehler';
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='saveanrechnung')
|
|
{
|
|
$anrechnung = new anrechnung();
|
|
|
|
$anrechnung->new = $_POST['neu'];
|
|
$anrechnung->anrechnung_id = $_POST['anrechnung_id'];
|
|
$anrechnung->prestudent_id = $_POST['prestudent_id'];
|
|
$anrechnung->lehrveranstaltung_id = $_POST['lehrveranstaltung_id'];
|
|
$anrechnung->begruendung_id = $_POST['begruendung_id'];
|
|
isset($_POST['lehrveranstaltung_id_kompatibel']) ? $anrechnung->lehrveranstaltung_id_kompatibel = $_POST['lehrveranstaltung_id_kompatibel'] : $anrechnung->lehrveranstaltung_id_kompatibel = null;
|
|
isset($_POST['notiz_id']) ? $anrechnung->notiz_id = $_POST['notiz_id'] : $anrechnung->notiz_id = null;
|
|
$anrechnung->genehmigt_von = $_POST['genehmigt_von'];
|
|
$anrechnung->insertvon = $user;
|
|
$anrechnung->updatevon = $user;
|
|
|
|
if($anrechnung->save())
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $anrechnung->errormsg;
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='deleteanrechnung')
|
|
{
|
|
//Loescht eine Anrechunng
|
|
if(isset($_POST['anrechnung_id']) && is_numeric($_POST['anrechnung_id']))
|
|
{
|
|
if(!$rechte->isBerechtigt('admin', $_POST['studiengang_kz'], 'suid') && !$rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'], 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
$anrechnung = new anrechnung();
|
|
|
|
if($anrechnung->delete($_POST['anrechnung_id']))
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$errormsg = $anrechnung->errormsg;
|
|
$return = false;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='AufnahmeTermineSave') // **** AufnahmeTermine **** //
|
|
{
|
|
//Speichert einen Aufnahmetermin einer Person
|
|
if(isset($_POST['prestudent_id']) && is_numeric($_POST['prestudent_id']))
|
|
{
|
|
$prestudent = new prestudent();
|
|
if(!$prestudent->load($_POST['prestudent_id']))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = $prestudent->errormsg;
|
|
}
|
|
else
|
|
{
|
|
if(!$rechte->isBerechtigt('admin', $prestudent->studiengang_kz, 'suid') && !$rechte->isBerechtigt('assistenz', $prestudent->studiengang_kz, 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
$rt_person_id = $_POST['rt_person_id'];
|
|
$rt_id = $_POST['rt_id'];
|
|
$person_id = $_POST['person_id'];
|
|
if($person_id=='')
|
|
$person_id=$prestudent->person_id;
|
|
$punkte = $_POST['punkte'];
|
|
$teilgenommen = ($_POST['teilgenommen']=='true'?true:false);
|
|
$anmeldedatum = $_POST['anmeldedatum'];
|
|
$studienplan_id = $_POST['studienplan_id'];
|
|
|
|
$reihungstest = new reihungstest();
|
|
if($rt_person_id!='')
|
|
{
|
|
$reihungstest->loadReihungstestPerson($rt_person_id);
|
|
}
|
|
else
|
|
{
|
|
$reihungstest->new=true;
|
|
}
|
|
|
|
$warnung_zu_viele_teilnehmer = false;
|
|
if($reihungstest->reihungstest_id != $rt_id)
|
|
{
|
|
// Wenn ein neuer Reihungstesttermin ausgewählt wird, dann wird geprueft ob
|
|
// noch genuegend Platz vorhanden ist.
|
|
$rt_help = new reihungstest();
|
|
$aktuelle_anzahl = $rt_help->getTeilnehmerAnzahl($rt_id);
|
|
$rt_help->load($rt_id);
|
|
$max_teilnehmer = $rt_help->max_teilnehmer;
|
|
if($max_teilnehmer == '')
|
|
{
|
|
// Wenn keine Teilnehmer eingetragen sind, dann schauen welche Raeume zugeteilt
|
|
// sind und wie viel Platz dort ist
|
|
$max_teilnehmer = $rt_help->getPlatzAnzahlRaum($rt_id);
|
|
}
|
|
if($max_teilnehmer!='' && $aktuelle_anzahl >= $max_teilnehmer)
|
|
$warnung_zu_viele_teilnehmer = true;
|
|
}
|
|
$reihungstest->reihungstest_id = $rt_id;
|
|
$reihungstest->person_id = $person_id;
|
|
$reihungstest->punkte = $punkte;
|
|
$reihungstest->teilgenommen = $teilgenommen;
|
|
$reihungstest->anmeldedatum = $anmeldedatum;
|
|
$reihungstest->studienplan_id = $studienplan_id;
|
|
|
|
if($reihungstest->savePersonReihungstest())
|
|
{
|
|
$return = true;
|
|
$error = false;
|
|
$errormsg = 'Erfolgreich gespeichert';
|
|
$data = $reihungstest->rt_person_id;
|
|
if($warnung_zu_viele_teilnehmer)
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Achtung - die Maximalanzahl der Teilnehmer wurde überschritten;'.
|
|
' Prüfen Sie ob genug Platz zur Verfügung steht - Zuteilung wurde erfolgreich gespeichert';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = $reihungstest->errormsg;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='AufnahmeTermineDelete')
|
|
{
|
|
//Loescht einen Aufnahmetermin einer Person
|
|
if(isset($_POST['rt_person_id']) && is_numeric($_POST['rt_person_id']))
|
|
{
|
|
$rt_person_id = $_POST['rt_person_id'];
|
|
$reihungstest = new reihungstest();
|
|
if(!$reihungstest->loadReihungstestPerson($rt_person_id))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = $reihungstest->errormsg;
|
|
}
|
|
else
|
|
{
|
|
$prestudent = new prestudent();
|
|
if(!$prestudent->getPrestudenten($reihungstest->person_id))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = $prestudent->errormsg;
|
|
}
|
|
else
|
|
{
|
|
$berechtigt = false;
|
|
foreach($prestudent->result as $row_prest)
|
|
{
|
|
if($rechte->isBerechtigt('admin', $row_prest->studiengang_kz, 'suid') || $rechte->isBerechtigt('assistenz', $row_prest->studiengang_kz, 'suid'))
|
|
{
|
|
$berechtigt = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(!$berechtigt)
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
$reihungstest = new reihungstest();
|
|
|
|
if($reihungstest->deletePersonReihungstest($rt_person_id))
|
|
{
|
|
$return = true;
|
|
$error = false;
|
|
$errormsg = 'Erfolgreich geloescht';
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = $reihungstest->errormsg;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='AufnahmeTermineSaveGesamtpunkte')
|
|
{
|
|
//Speichert einen Aufnahmetermin einer Person
|
|
if(isset($_POST['prestudent_id']) && is_numeric($_POST['prestudent_id']))
|
|
{
|
|
$prestudent = new prestudent();
|
|
if(!$prestudent->load($_POST['prestudent_id']))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = $prestudent->errormsg;
|
|
}
|
|
else
|
|
{
|
|
if(!$rechte->isBerechtigt('admin', $prestudent->studiengang_kz, 'suid') && !$rechte->isBerechtigt('assistenz', $prestudent->studiengang_kz, 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
$punkte = $_POST['punkte'];
|
|
$reihungstestangetreten = ($_POST['reihungstestangetreten']=='true'?true:false);
|
|
$prestudent->punkte = $punkte;
|
|
$prestudent->reihungstestangetreten = $reihungstestangetreten;
|
|
$prestudent->aufnahmegruppe_kurzbz = $_POST['aufnahmegruppe_kurzbz'];
|
|
$prestudent->new=false;
|
|
|
|
if($prestudent->save())
|
|
{
|
|
$return = true;
|
|
$error = false;
|
|
$errormsg = 'Erfolgreich gespeichert';
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = $reihungstest->errormsg;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='AufnahmeTermineBerechneGesamtpunkte')
|
|
{
|
|
//Speichert einen Aufnahmetermin einer Person
|
|
if(isset($_POST['prestudent_id']) && is_numeric($_POST['prestudent_id']))
|
|
{
|
|
$prestudent = new prestudent();
|
|
if(!$prestudent->load($_POST['prestudent_id']))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = $prestudent->errormsg;
|
|
}
|
|
else
|
|
{
|
|
if(!$rechte->isBerechtigt('admin', $prestudent->studiengang_kz, 'suid') && !$rechte->isBerechtigt('assistenz', $prestudent->studiengang_kz, 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
}
|
|
else
|
|
{
|
|
$gesamtpunkte=0;
|
|
$reihungstest = new reihungstest();
|
|
if($reihungstest->getReihungstestPerson($prestudent->person_id))
|
|
{
|
|
foreach($reihungstest->result as $row)
|
|
$gesamtpunkte += $row->punkte;
|
|
|
|
$return = true;
|
|
$error = false;
|
|
$data = $gesamtpunkte;
|
|
$errormsg = 'Erfolgreich gespeichert';
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = $reihungstest->errormsg;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Falsche Parameteruebergabe';
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='savemobilitaet')
|
|
{
|
|
// Speichert Mobilitaet/Gemeinsames Studium
|
|
$prestudent_id = $_POST['prestudent_id'];
|
|
$prestudent_obj = new prestudent();
|
|
$prestudent_obj->load($prestudent_id);
|
|
|
|
if(!$rechte->isBerechtigt('student/stammdaten', $prestudent_obj->studiengang_kz, 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
$mob = new mobilitaet();
|
|
|
|
$error = false;
|
|
if(isset($_POST['mobilitaet_id']))
|
|
{
|
|
$mobilitaet_id = $_POST['mobilitaet_id'];
|
|
if(!$mob->load($mobilitaet_id))
|
|
{
|
|
$error=true;
|
|
$errormsg = $mob->errormsg;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$mob->new = true;
|
|
$mob->inservon = $user;
|
|
}
|
|
|
|
if(isset($_POST['studiensemester_kurzbz'])
|
|
&& isset($_POST['mobilitaetsprogramm_code'])
|
|
&& isset($_POST['gsprogramm_id'])
|
|
&& isset($_POST['mobilitaetstyp_kurzbz'])
|
|
&& isset($_POST['firma_id'])
|
|
&& isset($_POST['status_kurzbz'])
|
|
&& isset($_POST['ausbildungssemester']))
|
|
{
|
|
$studiensemester_kurzbz = $_POST['studiensemester_kurzbz'];
|
|
$mobilitaetsprogramm_code = $_POST['mobilitaetsprogramm_code'];
|
|
$gsprogramm_id = $_POST['gsprogramm_id'];
|
|
$mobilitaetstyp_kurzbz = $_POST['mobilitaetstyp_kurzbz'];
|
|
$firma_id = $_POST['firma_id'];
|
|
$status_kurzbz = $_POST['status_kurzbz'];
|
|
$ausbildungssemester = $_POST['ausbildungssemester'];
|
|
}
|
|
else
|
|
{
|
|
$error = true;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
$return = false;
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
$mob->prestudent_id = $prestudent_id;
|
|
$mob->studiensemester_kurzbz = $studiensemester_kurzbz;
|
|
$mob->mobilitaetsprogramm_code = $mobilitaetsprogramm_code;
|
|
$mob->gsprogramm_id = $gsprogramm_id;
|
|
$mob->mobilitaetstyp_kurzbz = $mobilitaetstyp_kurzbz;
|
|
$mob->firma_id = $firma_id;
|
|
$mob->status_kurzbz = $status_kurzbz;
|
|
$mob->ausbildungssemester = $ausbildungssemester;
|
|
$mob->updatevon = $user;
|
|
|
|
if($mob->save())
|
|
{
|
|
$return = true;
|
|
$data = $mob->mobilitaet_id;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = $mob->errormsg;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='deletemobilitaet')
|
|
{
|
|
$mobilitaet_id = $_POST['mobilitaet_id'];
|
|
$mob = new mobilitaet();
|
|
if($mob->load($mobilitaet_id))
|
|
{
|
|
$prestudent = new prestudent();
|
|
if($prestudent->load($mob->prestudent_id))
|
|
{
|
|
if(!$rechte->isBerechtigt('student/stammdaten',$prestudent->studiengang_kz,'suid'))
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = 'Sie haben keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
if($mob->delete($mobilitaet_id))
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$errormsg = $mob->errormsg;
|
|
$return = false;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$error = true;
|
|
$return = false;
|
|
$errormsg = $prestudent->errormsg;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
$errormsg = $mob->errormsg;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Unkown type: "'.$db->convert_html_chars($_POST['type']).'"';
|
|
$data = '';
|
|
}
|
|
}
|
|
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<RDF:RDF
|
|
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
xmlns:NC="http://home.netscape.com/NC-rdf#"
|
|
xmlns:DBDML="http://www.technikum-wien.at/dbdml/rdf#"
|
|
>
|
|
<RDF:Seq RDF:about="http://www.technikum-wien.at/dbdml/msg">
|
|
<RDF:li>
|
|
<RDF:Description RDF:about="http://www.technikum-wien.at/dbdml/0" >
|
|
<DBDML:return>'.($return?'true':'false').'</DBDML:return>
|
|
<DBDML:errormsg><![CDATA['.$errormsg.']]></DBDML:errormsg>
|
|
<DBDML:warning><![CDATA['.$warning.']]></DBDML:warning>
|
|
<DBDML:data><![CDATA['.$data.']]></DBDML:data>
|
|
</RDF:Description>
|
|
</RDF:li>
|
|
</RDF:Seq>
|
|
</RDF:RDF>';
|
|
?>
|