mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
c742fc1231
- Kollisionscheck ueberarbeitet - Kollisionsgrund wird nun im Tooltip angezeigt - Ressourcenzuordnung zu Stunden - Option hinzugefuegt um alle Einträge einer Stunde anzuzeigen (zB Incominggruppen) - Option zum Drop auf bestehende Stunden hinzugefügt (UNR wird automatisch gleichgesetzt) - Fehler behoben beim Anlegen von Gruppen mit Logins > 16 Zeichen - Es koennen jetzt mehrere Lektoren definiert werden die nicht kollidieren sollen Anwesenheitslisten mit Barcode koennen nur fuer alle Studiengaenge auf einmal erstellt werden
437 lines
12 KiB
PHP
437 lines
12 KiB
PHP
<?php
|
|
/* Copyright (C) 2006 Technikum-Wien
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
|
*
|
|
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
|
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
|
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
|
*/
|
|
|
|
// *********************************************
|
|
// * Datenbankschnittstelle fuer FAS und Tempus
|
|
// *********************************************
|
|
|
|
require_once('../config/vilesci.config.inc.php');
|
|
require_once('../include/functions.inc.php');
|
|
require_once('../include/benutzerberechtigung.class.php');
|
|
require_once('../include/log.class.php');
|
|
require_once('../include/benutzerfunktion.class.php');
|
|
require_once('../include/stundenplan.class.php');
|
|
require_once('../include/studiengang.class.php');
|
|
require_once('../include/reservierung.class.php');
|
|
require_once('../include/betriebsmittel.class.php');
|
|
|
|
$user = get_uid();
|
|
|
|
//error_reporting(0);
|
|
|
|
$return = false;
|
|
$errormsg = 'unknown';
|
|
$data = '';
|
|
$error = false;
|
|
|
|
//Berechtigungen laden
|
|
$rechte = new benutzerberechtigung();
|
|
$rechte->getBerechtigungen($user);
|
|
if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz') && !$rechte->isBerechtigt('lv-plan'))
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Keine Berechtigung';
|
|
$data = '';
|
|
$error = true;
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
if(isset($_POST['type']) && $_POST['type']=='undo')
|
|
{
|
|
//UNDO Befehl ausfuehren
|
|
|
|
if (!isset($_POST['log_id']))
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
$data = '';
|
|
$error = true;
|
|
}
|
|
|
|
if(!$error)
|
|
{
|
|
$log = new log();
|
|
|
|
if($log->undo($_POST['log_id']))
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehler bei UnDo:'.$log->errormsg;
|
|
}
|
|
}
|
|
}
|
|
elseif (isset($_POST['type']) && $_POST['type']=='addFunktionToMitarbeiter')
|
|
{
|
|
//Fuegt eine Lkt Funktion zu einem Studiengang/Mitarbeiter hinzu
|
|
if(isset($_POST['uid']) && isset($_POST['studiengang_kz']))
|
|
{
|
|
if(!$rechte->isBerechtigt('admin', $_POST['studiengang_kz'],'suid') &&
|
|
!$rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'],'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
$stg = new studiengang($_POST['studiengang_kz']);
|
|
$obj = new benutzerfunktion();
|
|
$obj->uid = $_POST['uid'];
|
|
$obj->oe_kurzbz = $stg->oe_kurzbz;
|
|
$obj->funktion_kurzbz = 'lkt';
|
|
$obj->updateamum = date('Y-m-d H:i:s');
|
|
$obj->updatevon = $user;
|
|
$obj->insertamum = date('Y-m-d H:i:s');
|
|
$obj->insertvon = $user;
|
|
|
|
if($obj->save(true))
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $obj->errormsg;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
|
}
|
|
}
|
|
elseif (isset($_POST['type']) && $_POST['type']=='delFunktionFromMitarbeiter')
|
|
{
|
|
//Loescht eine Lektorfunktion
|
|
if(isset($_POST['uid']) && isset($_POST['studiengang_kz']))
|
|
{
|
|
|
|
if(!$rechte->isBerechtigt('admin', $_POST['studiengang_kz'],'suid') &&
|
|
!$rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'],'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
$obj = new benutzerfunktion();
|
|
$stg_obj = new studiengang($_POST['studiengang_kz']);
|
|
//Benutzerfunktion suchen
|
|
if($obj->getBenutzerFunktion($_POST['uid'], 'lkt', $stg_obj->oe_kurzbz))
|
|
{
|
|
//Benutzerfunktion loeschen
|
|
if($obj->delete($obj->benutzerfunktion_id))
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $obj->errormsg;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = $obj->errormsg;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehler bei Parameteruebergabe';
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='deletestundenplaneintrag')
|
|
{
|
|
if(!$rechte->isBerechtigt('lv-plan', null, 'suid') && !$rechte->isBerechtigt('admin', null, 'suid') )
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
//Loescht einen Eintrag aus der Stundenplantabelle
|
|
loadVariables(get_uid());
|
|
if(isset($_POST['stundenplan_id']) && is_numeric($_POST['stundenplan_id']))
|
|
{
|
|
$stundenplan = new stundenplan($db_stpl_table);
|
|
if($stundenplan->delete($_POST['stundenplan_id']))
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$errormsg='Fehler beim Loeschen: '.$stundenplan->errormsg;
|
|
$return = false;
|
|
$data = '';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'ID ist ungueltig';
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='deletereservierung')
|
|
{
|
|
if(!$rechte->isBerechtigt('lv-plan', null, 'suid') && !$rechte->isBerechtigt('admin', null, 'suid') )
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
//Loescht eine Reservierung
|
|
if(isset($_POST['reservierung_id']) && is_numeric($_POST['reservierung_id']))
|
|
{
|
|
$reservierung = new reservierung();
|
|
if($reservierung->delete($_POST['reservierung_id']))
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$errormsg='Fehler beim Loeschen: '.$reservierung->errormsg;
|
|
$return = false;
|
|
$data = '';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'ID ist ungueltig';
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='savestundenplaneintrag')
|
|
{
|
|
if(!$rechte->isBerechtigt('lv-plan', null, 'suid') && !$rechte->isBerechtigt('admin', null, 'suid') )
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
loadVariables(get_uid());
|
|
$stundenplan = new stundenplan($db_stpl_table);
|
|
if($stundenplan->load($_POST['stundenplan_id']))
|
|
{
|
|
$stundenplan->unr = $_POST['unr'];
|
|
$stundenplan->verband = $_POST['verband'];
|
|
$stundenplan->gruppe = $_POST['gruppe'];
|
|
$stundenplan->gruppe_kurzbz = $_POST['gruppe_kurzbz'];
|
|
$stundenplan->ort_kurzbz = $_POST['ort_kurzbz'];
|
|
$stundenplan->datum = $_POST['datum'];
|
|
$stundenplan->stunde = $_POST['stunde'];
|
|
$stundenplan->titel = htmlspecialchars_decode($_POST['titel']);
|
|
$stundenplan->anmerkung = htmlspecialchars_decode($_POST['anmerkung']);
|
|
$stundenplan->fix = ($_POST['fix']=='true'?true:false);
|
|
$stundenplan->mitarbeiter_uid = $_POST['mitarbeiter_uid'];
|
|
$stundenplan->updateamum = date('Y-m-d H:i:s');
|
|
$stundenplan->updatevon = get_uid();
|
|
$stundenplan->semester = $_POST['semester'];
|
|
|
|
if($stundenplan->save(false))
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Fehler beim Speichern der Daten:'.$stundenplan->errormsg;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$errormsg = 'Fehler beim Laden: '.$stundenplan->errormsg;
|
|
$return = false;
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='deleteressource')
|
|
{
|
|
if(!$rechte->isBerechtigt('lehre/lvplan', null, 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
if(isset($_POST['stundenplan_betriebsmittel_id']) && is_array($_POST['stundenplan_betriebsmittel_id']))
|
|
{
|
|
$return = true;
|
|
foreach($_POST['stundenplan_betriebsmittel_id'] as $stundenplan_betriebsmittel_id)
|
|
{
|
|
$betriebsmittel = new betriebsmittel();
|
|
if(!$betriebsmittel->deleteStundenplanBetriebsmittel($stundenplan_betriebsmittel_id))
|
|
{
|
|
$errormsg='Fehler beim Loeschen: '.$betriebsmittel->errormsg;
|
|
$return = false;
|
|
$data = '';
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'ID ist ungueltig';
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='addressource')
|
|
{
|
|
if(!$rechte->isBerechtigt('lehre/lvplan', null, 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
$stunden = $_POST['stunden'];
|
|
$stpl_id = $_POST['stpl_id'];
|
|
$betriebsmittel_id = $_POST['betriebsmittel_id'];
|
|
|
|
$db = new basis_db();
|
|
|
|
if(isset($_POST['betriebsmittel_id']) && is_numeric($_POST['betriebsmittel_id']))
|
|
{
|
|
// Pro Stunde wird die Zuordnung nur auf eine der vorhandenen StundenplanIDs gehaengt
|
|
foreach($stunden as $stunde)
|
|
{
|
|
$qry = "SELECT stundenplandev_id FROM lehre.tbl_stundenplandev WHERE stunde=".$db->db_add_param($stunde)."
|
|
AND stundenplandev_id in (".$db->db_implode4SQL($stpl_id).") ORDER BY stundenplandev_id LIMIT 1";
|
|
|
|
if($result = $db->db_query($qry))
|
|
{
|
|
if($row = $db->db_fetch_object($result))
|
|
{
|
|
$id = $row->stundenplandev_id;
|
|
|
|
$betriebsmittel = new betriebsmittel();
|
|
$betriebsmittel->stundenplandev_id=$id;
|
|
$betriebsmittel->betriebsmittel_id = $betriebsmittel_id;
|
|
$betriebsmittel->insertvon = $user;
|
|
$betriebsmittel->insertamum = date('Y-m-d H:i:s');
|
|
$betriebsmittel->new=true;
|
|
if($betriebsmittel->saveStundenplanBetriebsmittel())
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$errormsg='Fehler beim Speichern: '.$betriebsmittel->errormsg;
|
|
$return = false;
|
|
$data = '';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'ID ist ungueltig';
|
|
}
|
|
}
|
|
}
|
|
elseif(isset($_POST['type']) && $_POST['type']=='saveressource')
|
|
{
|
|
if(!$rechte->isBerechtigt('lehre/lvplan', null, 'suid'))
|
|
{
|
|
$return = false;
|
|
$error = true;
|
|
$errormsg = 'keine Berechtigung';
|
|
}
|
|
else
|
|
{
|
|
if(isset($_POST['stundenplan_betriebsmittel_id']) && is_numeric($_POST['stundenplan_betriebsmittel_id']))
|
|
{
|
|
$stundenplan_betriebsmittel_id = $_POST['stundenplan_betriebsmittel_id'];
|
|
|
|
|
|
$betriebsmittel = new betriebsmittel();
|
|
|
|
if($betriebsmittel->loadBetriebsmittelStundenplan($stundenplan_betriebsmittel_id))
|
|
{
|
|
|
|
$betriebsmittel->anmerkung =$_POST['anmerkung'];
|
|
|
|
if($betriebsmittel->saveStundenplanBetriebsmittel())
|
|
{
|
|
$return = true;
|
|
}
|
|
else
|
|
{
|
|
$errormsg='Fehler beim Speichern: '.$betriebsmittel->errormsg;
|
|
$return = false;
|
|
$data = '';
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'ID ist ungueltig';
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$return = false;
|
|
$errormsg = 'Unkown 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:data><![CDATA['.$data.']]></DBDML:data>
|
|
</RDF:Description>
|
|
</RDF:li>
|
|
</RDF:Seq>
|
|
</RDF:RDF>
|
|
';
|
|
?>
|