mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-05 12:59:28 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/* Copyright (C) 2016 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: Andreas Moik <moik@technikum-wien.at>
|
||||
*/
|
||||
//require_once(dirname(__FILE__).'/config/vilesci.config.inc.php'); Muss vor dieser Datei eingebunden werden!
|
||||
|
||||
$dr = DOC_ROOT;
|
||||
$dr = str_replace($_SERVER["DOCUMENT_ROOT"], "", $dr);
|
||||
if($dr=='')
|
||||
$dr='/';
|
||||
|
||||
//Originaldateien des Herstellers
|
||||
echo '<link rel="stylesheet" type="text/css" href="'.$dr.'vendor/FHC-vendor/angular-tablesort/tablesort.css">';
|
||||
|
||||
echo '<script src="'.$dr.'vendor/FHC-vendor/angular-tablesort/js/angular-tablesort.js"></script>';
|
||||
|
||||
//Anpassungen
|
||||
echo '<link rel="stylesheet" type="text/css" href="'.$dr.'include/vendor_custom/angular-tablesorter/tablesort.css">';
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
/* Copyright (C) 2015 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: Andreas Moik <moik@technikum-wien.at>
|
||||
*/
|
||||
//require_once(dirname(__FILE__).'/config/vilesci.config.inc.php'); Muss vor dieser Datei eingebunden werden!
|
||||
|
||||
$dr = DOC_ROOT;
|
||||
$dr = str_replace($_SERVER["DOCUMENT_ROOT"], "", $dr);
|
||||
if($dr=='')
|
||||
$dr='/';
|
||||
|
||||
//Originaldateien des Herstellers
|
||||
echo '<script src="'.$dr.'vendor/components/angular.js/angular.min.js"></script>';
|
||||
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,101 @@
|
||||
<?php
|
||||
/* Copyright (C) 2016 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: Andreas Moik <moik@technikum-wien.at>
|
||||
*/
|
||||
|
||||
require_once(dirname(__FILE__)."/jquery.php");
|
||||
echo '
|
||||
<script>
|
||||
var TARGET = "";
|
||||
function _GET()
|
||||
{
|
||||
var url = window.location.href;
|
||||
|
||||
if(url.slice(-1) === "#")
|
||||
url = url.slice(0,-1);
|
||||
|
||||
var vars = {};
|
||||
var parts = url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value)
|
||||
{
|
||||
vars[key] = value;
|
||||
});
|
||||
return vars;
|
||||
}
|
||||
|
||||
function AJAXCall(info, successfunction)
|
||||
{
|
||||
if(TARGET == "")
|
||||
die("Es wurde kein AJAX-Target angegeben");
|
||||
$.ajax(
|
||||
{
|
||||
url: TARGET,
|
||||
type: "POST",
|
||||
dataType: "html",
|
||||
data: info,
|
||||
timeout: 5000
|
||||
|
||||
}).done(function(result)
|
||||
{
|
||||
try
|
||||
{
|
||||
var res = JSON.parse(result);
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
die(result);
|
||||
return false;
|
||||
}
|
||||
if(res.erfolg)
|
||||
{
|
||||
try
|
||||
{
|
||||
var ret = JSON.parse(res.info);
|
||||
successfunction(ret);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
die(res.info);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
die(result);
|
||||
}
|
||||
|
||||
}).fail(function(jqXHR, status)
|
||||
{
|
||||
die(status);
|
||||
});
|
||||
}
|
||||
|
||||
function die(msg)
|
||||
{
|
||||
document.body.innerHTML = msg;
|
||||
throw new Error(msg);
|
||||
}
|
||||
|
||||
function isObject(val)
|
||||
{
|
||||
if (val === null) { return false;}
|
||||
return ( (typeof val === "function") || (typeof val === "object") );
|
||||
}
|
||||
</script>';
|
||||
|
||||
?>
|
||||
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
/* Copyright (C) 2015 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: Andreas Moik <moik@technikum-wien.at>
|
||||
*/
|
||||
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once('../../include/person.class.php');
|
||||
require_once('../../include/benutzer.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
|
||||
|
||||
function returnAJAX($success, $obj)
|
||||
{
|
||||
//if there is an error
|
||||
if(error_get_last())
|
||||
$ret = array(
|
||||
"erfolg" => false,
|
||||
);
|
||||
else if(!$success)
|
||||
{
|
||||
$ret = array(
|
||||
"erfolg" => false,
|
||||
"message" => $obj,
|
||||
);
|
||||
}
|
||||
//if we dont have a valid user
|
||||
else if (!$getuid = get_uid())
|
||||
{
|
||||
$ret = array(
|
||||
"erfolg" => false,
|
||||
);
|
||||
}
|
||||
//if everything worked fine
|
||||
else
|
||||
{
|
||||
$ret = array(
|
||||
"erfolg" => true,
|
||||
"user" => $getuid,
|
||||
"info" => $obj,
|
||||
);
|
||||
}
|
||||
echo json_encode($ret);
|
||||
if($ret["erfolg"] === false)
|
||||
die("");
|
||||
}
|
||||
?>
|
||||
@@ -251,7 +251,7 @@ class person extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
if(mb_strlen($this->svnr) != 16 && mb_strlen($this->svnr) != 10)
|
||||
if($this->svnr!='' && mb_strlen($this->svnr) != 16 && mb_strlen($this->svnr) != 10)
|
||||
{
|
||||
$this->errormsg = 'SVNR muss 10 oder 16 Zeichen lang sein';
|
||||
return false;
|
||||
|
||||
@@ -48,21 +48,21 @@ $menu=array
|
||||
'Incoming loeschen'=>array('name'=>'Incoming löschen', 'link'=>'lehre/incoming_delete.php', 'target'=>'main'),
|
||||
),
|
||||
'Raummitteilung'=>array('name'=>'Raummitteilung', 'link'=>'lehre/raummitteilung.php', 'target'=>'main'),
|
||||
|
||||
|
||||
'Mitarbeiter'=>array
|
||||
(
|
||||
'name'=>'Mitarbeiter','permissions'=>array('admin','lv-plan','support'),
|
||||
'Übersicht'=>array('name'=>'Zeitwünsche', 'link'=>'personen/lektor_uebersicht.php', 'target'=>'main'),
|
||||
'Zeitsperren'=>array('name'=>'Zeitsperren', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main'),
|
||||
'Übersicht'=>array('name'=>'Zeitwünsche', 'link'=>'personen/lektor_uebersicht.php', 'target'=>'main','permissions'=>array('mitarbeiter')),
|
||||
'Zeitsperren'=>array('name'=>'Zeitsperren', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre')),
|
||||
),
|
||||
|
||||
|
||||
'Vorrueckung'=> array
|
||||
(
|
||||
'name'=>'Vorrueckung', 'permissions'=>array('admin','lv-plan','support'),
|
||||
'Lehreinheiten'=>array('name'=>'Lehreinheiten', 'link'=>'lehre/lehreinheiten_vorrueckung.php', 'target'=>'main'),
|
||||
'Studenten'=>array('name'=>'Studenten', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main')
|
||||
'name'=>'Vorrueckung', 'permissions'=>array('lehre/vorrueckung','student/vorrueckung'),
|
||||
'Lehreinheiten'=>array('name'=>'Lehreinheiten', 'link'=>'lehre/lehreinheiten_vorrueckung.php', 'target'=>'main', 'permissions'=>array('lehre/vorrueckung'),),
|
||||
'Studenten'=>array('name'=>'Studenten', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main','permissions'=>array('student/vorrueckung'),)
|
||||
),
|
||||
|
||||
|
||||
),
|
||||
'Lehre'=> array
|
||||
(
|
||||
@@ -71,10 +71,10 @@ $menu=array
|
||||
'Gruppenverwaltung'=>array('name'=>'Gruppen', 'permissions'=>array('admin','lv-plan','support'), 'link'=>'stammdaten/lvbgruppenverwaltung.php', 'target'=>'main'),
|
||||
'Lehrveranstaltung'=>array('name'=>'Lehrveranstaltung', 'link'=>'lehre/lehrveranstaltung_frameset.html', 'target'=>'main'),
|
||||
'Studienordnung'=>array('name'=>'Studienordnung', 'link'=>'lehre/studienordnung.php', 'target'=>'_blank','permissions'=>array('lehre/studienordnung')),
|
||||
|
||||
|
||||
'Moodle'=>array
|
||||
(
|
||||
'name'=>'Moodle', 'permissions'=>array('admin','lv-plan','support','basis/moodle'),
|
||||
'name'=>'Moodle', 'permissions'=>array('basis/moodle'),
|
||||
'Account'=>array('name'=>'Accountverwaltung', 'link'=>'moodle/account_verwaltung24.php', 'target'=>'main'),
|
||||
'Kursverwaltung'=>array('name'=>'Kurs entfernen', 'link'=>'moodle/kurs_verwaltung24.php', 'target'=>'main'),
|
||||
'Rollenzuteilung'=>array('name'=>'Rollenzuteilung', 'link'=>'moodle/rollenzuteilung24.php', 'target'=>'main'),
|
||||
@@ -106,13 +106,13 @@ $menu=array
|
||||
'name'=>'Personen', 'opener'=>'true', 'hide'=>'true', 'image'=>'vilesci_personen.png', 'permissions'=>array('admin','lv-plan','support','mitarbeiter','basis/person'),
|
||||
'link'=>'left.php?categorie=Personen', 'target'=>'nav',
|
||||
'Suche'=>array('name'=>'Suche', 'link'=>'personen/suche.php', 'target'=>'main','permissions'=>array('admin','lv-plan','support','basis/person')),
|
||||
'Zusammenlegen'=>array('name'=>'Zusammenlegen', 'link'=>'stammdaten/personen_wartung.php', 'target'=>'main', 'permissions'=>array('admin','lv-plan','support')),
|
||||
'Zusammenlegen'=>array('name'=>'Zusammenlegen', 'link'=>'stammdaten/personen_wartung.php', 'target'=>'main', 'permissions'=>array('basis/person')),
|
||||
'Wiederholer'=>array('name'=>'Stg-Wiederholer', 'link'=>'personen/wiederholer.php', 'target'=>'main', 'permissions'=>array('basis/person')),
|
||||
'Gruppen'=>array
|
||||
(
|
||||
'name'=>'Gruppen', 'permissions'=>array('admin','lv-plan','support'),
|
||||
'Übersicht'=>array('name'=>'Übersicht', 'link'=>'lehre/einheit_menu.php', 'target'=>'main'),
|
||||
'Neu'=>array('name'=>'Neu', 'link'=>'lehre/einheit_menu.php?newFrm=true', 'target'=>'main')
|
||||
'name'=>'Gruppen', 'permissions'=>array('lehre/gruppe'),
|
||||
'Übersicht'=>array('name'=>'Übersicht', 'link'=>'lehre/einheit_menu.php', 'target'=>'main','permissions'=>array('lehre/gruppe')),
|
||||
'Neu'=>array('name'=>'Neu', 'link'=>'lehre/einheit_menu.php?newFrm=true', 'target'=>'main','permissions'=>array('lehre/gruppe'))
|
||||
),
|
||||
'Benutzer'=>array
|
||||
(
|
||||
@@ -126,12 +126,12 @@ $menu=array
|
||||
(
|
||||
'name'=>'Mitarbeiter','permissions'=>array('admin','mitarbeiter','support'),
|
||||
'Übersicht'=>array('name'=>'Übersicht', 'link'=>'personen/lektor_uebersicht.php', 'target'=>'main'),
|
||||
'Zeitsperren'=>array('name'=>'Zeitsperren', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main'),
|
||||
'Resturlaub'=>array('name'=>'Urlaub', 'link'=>'personen/resturlaub_frameset.html', 'target'=>'main')
|
||||
'Zeitsperren'=>array('name'=>'Zeitsperren', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre')),
|
||||
'Resturlaub'=>array('name'=>'Urlaub', 'link'=>'personen/resturlaub_frameset.html', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre'))
|
||||
),
|
||||
'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('admin','lv-plan','support','basis/betriebsmittel')),
|
||||
'AnwesenheitslistenBarcode'=>array('name'=>'Anwesenheitslisten mit Barcodes', 'link'=>'personen/anwesenheitslisten_barcode.php', 'target'=>'main','permissions'=>array('admin','lv-plan','support','preinteressent')),
|
||||
'Preinteressenten'=>array('name'=>'Preinteressenten', 'link'=>'personen/preinteressent_frameset.html', 'target'=>'_blank','permissions'=>array('admin','lv-plan','support','preinteressent')),
|
||||
'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('basis/betriebsmittel')),
|
||||
'AnwesenheitslistenBarcode'=>array('name'=>'Anwesenheitslisten mit Barcodes', 'link'=>'personen/anwesenheitslisten_barcode.php', 'target'=>'main','permissions'=>array('basis/person')),
|
||||
'Preinteressenten'=>array('name'=>'Preinteressenten', 'link'=>'personen/preinteressent_frameset.html', 'target'=>'_blank','permissions'=>array('admin','preinteressent')),
|
||||
'Incoming'=>array('name'=>'Incoming', 'link'=>'personen/incoming_frameset.php', 'target'=>'_blank','permissions'=>array('inout/incoming')),
|
||||
'Outgoing'=>array('name'=>'Outgoing', 'link'=>'personen/outgoing_frameset.php', 'target'=>'_blank','permissions'=>array('inout/outgoing'))
|
||||
),
|
||||
@@ -141,7 +141,7 @@ $menu=array
|
||||
'link'=>'left.php?categorie=Stammdaten', 'target'=>'nav',
|
||||
'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('basis/betriebsmittel')),
|
||||
'Reihungstest'=>array('name'=>'Reihungstest', 'link'=>'stammdaten/reihungstestverwaltung.php', 'target'=>'main','permissions'=>array('admin','assistenz')),
|
||||
|
||||
|
||||
'User'=>array
|
||||
(
|
||||
'name'=>'User', 'permissions'=>array('basis/variable','basis/berechtigung'),
|
||||
@@ -154,7 +154,7 @@ $menu=array
|
||||
'name'=>'Personal', 'permissions'=>array('buchung/typen','vertrag/typen'),
|
||||
'Buchungstypen'=>array('name'=>'Buchungstypen', 'link'=>'stammdaten/buchung_typ.php', 'target'=>'main','permissions'=>array('buchung/typen')),
|
||||
'Vertragstypen'=>array('name'=>'Vertragstypen', 'link'=>'stammdaten/vertrag_typ.php', 'target'=>'main','permissions'=>array('vertrag/typen'))
|
||||
),
|
||||
),
|
||||
'Studiengang'=>array('name'=>'Studiengang', 'link'=>'stammdaten/studiengang_frameset.html', 'target'=>'main','permissions'=>array('basis/studiengang')),
|
||||
'Ort'=>array('name'=>'Ort (Raum)', 'link'=>'stammdaten/raum_frameset.html', 'target'=>'main','permissions'=>array('basis/ort')),
|
||||
'Firmen'=>array('name'=>'Firmen', 'link'=>'stammdaten/firma_frameset.html', 'target'=>'main','permissions'=>array('basis/firma')),
|
||||
@@ -180,20 +180,19 @@ $menu=array
|
||||
),
|
||||
'Wartung'=> array
|
||||
(
|
||||
'name'=>'Wartung', 'opener'=>'true', 'hide'=>'true', 'image'=>'vilesci_wartung.png', 'link'=>'left.php?categorie=Wartung', 'target'=>'nav',
|
||||
'name'=>'Wartung', 'opener'=>'true', 'hide'=>'true', 'image'=>'vilesci_wartung.png', 'link'=>'left.php?categorie=Wartung', 'target'=>'nav',
|
||||
|
||||
'DokumenteZuteilung'=>array('name'=>'Dokumente Zuteilung', 'link'=>'stammdaten/studiengang_dokumente.php', 'target'=>'main', 'permissions'=>array('basis/studiengang')),
|
||||
'DokumenteZuteilung'=>array('name'=>'Dokumente Zuteilung', 'link'=>'stammdaten/studiengang_dokumente.php', 'target'=>'main', 'permissions'=>array('basis/studiengang')),
|
||||
'Vorrueckung'=> array
|
||||
(
|
||||
'name'=>'Vorrueckung', 'permissions'=>array('admin','lv-plan','support'),
|
||||
'Lehreinheiten'=>array('name'=>'Lehreinheiten', 'link'=>'lehre/lehreinheiten_vorrueckung.php', 'target'=>'main'),
|
||||
'Studenten'=>array('name'=>'Studenten', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main')
|
||||
'name'=>'Vorrueckung', 'permissions'=>array('lehre/vorrueckung','student/vorrueckung'),
|
||||
'Lehreinheiten'=>array('name'=>'Lehreinheiten', 'link'=>'lehre/lehreinheiten_vorrueckung.php', 'target'=>'main','permissions'=>array('lehre/vorrueckung'),),
|
||||
'Studenten'=>array('name'=>'Studenten', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main','permissions'=>array('student/vorrueckung'),)
|
||||
),
|
||||
'LVWartung'=>array('name'=>'LVwartung', 'link'=>'stammdaten/lv_wartung.php', 'target'=>'main'),
|
||||
'Kreuzerllistekopieren'=>array('name'=>'Kreuzerllisten kopieren', 'link'=>CIS_ROOT.'cis/private/lehre/benotungstool/copy_uebung.php', 'target'=>'_blank'),
|
||||
'Firmenwartung'=>array('name'=>'Firmenwartung', 'link'=>'stammdaten/firma_zusammen_uebersicht.php', 'target'=>'main'),
|
||||
'Kreuzerllistekopieren'=>array('name'=>'Kreuzerllisten kopieren', 'link'=>CIS_ROOT.'cis/private/lehre/benotungstool/copy_uebung.php', 'target'=>'_blank','permissions'=>array('admin')),
|
||||
'Firmenwartung'=>array('name'=>'Firmenwartung', 'link'=>'stammdaten/firma_zusammen_uebersicht.php', 'target'=>'main','permissions'=>array('basis/firma')),
|
||||
'checkStudenten'=>array('name'=>'CheckStudenten', 'link'=>'../system/checkStudenten.php', 'target'=>'main'),
|
||||
'StudienplanZuteilung'=>array('name'=>'Studienplan Zuteilung', 'link'=>'lehre/studienplan_zuteilung.php', 'target'=>'main'),
|
||||
'StudienplanZuteilung'=>array('name'=>'Studienplan Zuteilung', 'link'=>'lehre/studienplan_zuteilung.php', 'target'=>'main','permissions'=>array('assistenz')),
|
||||
),
|
||||
'Auswertung'=> array
|
||||
(
|
||||
@@ -212,17 +211,17 @@ $menu=array
|
||||
'link'=>'left.php?categorie=Inventar', 'target'=>'nav',
|
||||
'Inventar'=> array
|
||||
(
|
||||
'name'=>'Inventar', 'permissions'=>array('admin','wawi','support','wawi/inventar'),
|
||||
'name'=>'Inventar', 'permissions'=>array('admin','wawi','support','wawi/inventar'),
|
||||
'Neu'=>array('name'=>'Neu', 'link'=>'inventar/inventar_pflege.php?vorlage=false', 'target'=>'main'),
|
||||
'Suche'=>array('name'=>'Suche', 'link'=>'inventar/inventar.php', 'target'=>'main'),
|
||||
'AfA'=>array('name'=>'AfA', 'link'=>'inventar/inventar_afa.php', 'target'=>'main'),
|
||||
'Inventur'=>array('name'=>'Inventur', 'link'=>'inventar/inventar_inventur.php', 'target'=>'main'),
|
||||
'Etiketten'=>array('name'=>'Etiketten', 'link'=>'inventar/etiketten.php', 'target'=>'main'),
|
||||
)
|
||||
),
|
||||
),
|
||||
'Admin'=> array
|
||||
(
|
||||
'name'=>'Admin', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support'), 'image'=>'vilesci_admin.png',
|
||||
'name'=>'Admin', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('basis/cronjob'), 'image'=>'vilesci_admin.png',
|
||||
'link'=>'left.php?categorie=Admin', 'target'=>'nav',
|
||||
'Cronjobs'=>array('name'=>'Cronjobs', 'link'=>'stammdaten/cronjobverwaltung.php', 'target'=>'main','permissions'=>array('basis/cronjob')),
|
||||
),
|
||||
@@ -231,7 +230,7 @@ $menu=array
|
||||
'name'=>'SD-Tools', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('sdTools'), 'image'=>'vilesci_sdtools.png',
|
||||
'link'=>'https://sdtools.technikum-wien.at', 'target'=>'_blank',
|
||||
)
|
||||
|
||||
|
||||
);
|
||||
|
||||
require_once(dirname(__FILE__).'/../statistik.class.php');
|
||||
@@ -253,7 +252,7 @@ if($addon_obj->loadAddons())
|
||||
);
|
||||
|
||||
foreach($addon_obj->result as $row)
|
||||
{
|
||||
{
|
||||
$menu['Addons'][$row->kurzbz]=array('name'=>$row->addon_name, 'link'=>'../addons/'.$row->kurzbz.'/vilesci/index.php', 'target'=>'main');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
/* tables */
|
||||
table {
|
||||
background-color: #EFEFEF;
|
||||
margin:10px 0pt 15px;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
}
|
||||
table thead tr th, table tfoot tr th {
|
||||
border: 1px solid #FFF;
|
||||
padding: 4px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
th[ts-criteria]{
|
||||
background-color: #DCE4EF;
|
||||
cursor: pointer;
|
||||
}
|
||||
th.tablesort-asc,th.tablesort-desc{
|
||||
border-bottom: #000 2px solid;
|
||||
}
|
||||
|
||||
tbody tr:nth-child(2n){
|
||||
background-color: #D3D3D3;
|
||||
}
|
||||
@@ -134,8 +134,9 @@ class zeitaufzeichnung extends basis_db
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
// check ob identischer eintrag existiert
|
||||
$check_qry = 'SELECT count(*) from campus.tbl_zeitaufzeichnung where uid='.$this->db_add_param($this->uid).' and start = '.$this->db_add_param($this->start).' and ende = '.$this->db_add_param($this->ende);
|
||||
if($this->db_query($check_qry))
|
||||
if($this->db_query($check_qry) && $this->new)
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
@@ -147,6 +148,7 @@ class zeitaufzeichnung extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
.idea
|
||||
bower_components
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
The MIT License
|
||||
|
||||
Copyright (c) 2013 Mattias Holmlund, http://www.holmlund.se/mattias
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
AngularJS Tablesort
|
||||
===================
|
||||
|
||||
Allow tables to be sorted by clicking their headings.
|
||||
|
||||
Web site: [http://mattiash.github.io/angular-tablesort](http://mattiash.github.io/angular-tablesort)
|
||||
|
||||
Background
|
||||
----------
|
||||
|
||||
When you use jquery to build your web-pages, it is very easy to add sorting-functionality to your tables - include [tablesorter](http://tablesorter.com) and annotate your column headings slightly to tell it what type of data your table contains.
|
||||
|
||||
The goal with this module is to make it just as easy to add sorting to AngularJS tables, but with proper use of angular features and not jquery.
|
||||
|
||||
Click once on a heading to sort ascending, twice for descending. Use shift-click to sort on more than one column.
|
||||
|
||||
Additionally, these directives also makes it easy to add a default row that is shown in empty tables to make
|
||||
it explicit that the table is intentionally empty and not just broken.
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
bower install angular-tablesort
|
||||
|
||||
or
|
||||
|
||||
npm install angular-tablesort
|
||||
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
Include the script in your markup
|
||||
|
||||
```html
|
||||
<script src="bower_components/angular-tablesort/js/angular-tablesort.js"></script>
|
||||
```
|
||||
|
||||
Include the module in your app
|
||||
|
||||
```js
|
||||
angular.module('myApp', ['tableSort']);
|
||||
```
|
||||
|
||||
The following code generates a table that can be sorted by clicking on the table headings:
|
||||
|
||||
```html
|
||||
<table border="1" ts-wrapper>
|
||||
<thead>
|
||||
<tr>
|
||||
<th ts-criteria="Id">Id</th>
|
||||
<th ts-criteria="Name|lowercase" ts-default>Name</th>
|
||||
<th ts-criteria="Price|parseFloat">Price</th>
|
||||
<th ts-criteria="Quantity|parseInt">Quantity</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="item in items" ts-repeat>
|
||||
<td>{{item.Name}}</td>
|
||||
<td>{{item.Price | currency}}</td>
|
||||
<td>{{item.Quantity}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
```
|
||||
|
||||
The `ts-wrapper` attribute must be set on element that surrounds both the headings and the ng-repeat statement.
|
||||
|
||||
The `ts-criteria` attribute tells tablesort which expression it should sort on when that element is clicked. Normally, the ts-criteria is the same as the expression that is shown in the column, but it doesn't have to be. The ts-criteria can also be filtered using the normal AngularJS filter syntax. Tablesort includes two filters parseInt and parseFloat that use the javascript functions of the same name, but any filter can be used.
|
||||
|
||||
The `ts-default` attribute can be set on one or more columns to sort on them in ascending order by default.
|
||||
To sort in descending order, set ts-default to "descending"
|
||||
|
||||
The `ts-repeat` attribute must be set on the element with ng-repeat.
|
||||
|
||||
```html
|
||||
<tr ng-repeat="item in items" ts-repeat>
|
||||
```
|
||||
|
||||
Alternatively, `ts-repeat-start` and `ts-repeat-end` may be used to compliment the `ng-repeat-start` and `ng-repeat-end` directives.
|
||||
|
||||
```html
|
||||
<tr ng-repeat-start="item in items track by item.Id" ts-repeat-start>
|
||||
<td><input type="checkbox" ng-model="item.selected"></td>
|
||||
<td>{{ item.Name }}</td>
|
||||
</tr>
|
||||
<tr ng-repeat-end data-ts-repeat-end ng-show="item.selected">
|
||||
<td colspan="2">{{ item.Description }}</td>
|
||||
</tr>
|
||||
```
|
||||
|
||||
By default, the sorting will be done as the last operation in the ng-repeat expression. To override this behavior, use an explicit `tablesort` directive as part of your ng-repeat expression. E.g.
|
||||
|
||||
```html
|
||||
<tr ng-repeat="item in items | limitTo: 10" ts-repeat>
|
||||
```
|
||||
|
||||
This will first select the first 10 items in `items` and then sort them. Alternatively, you can insert an explicit tablesort in the pipe:
|
||||
|
||||
```html
|
||||
<tr ng-repeat="item in items | tablesort | limitTo: 10" ts-repeat>
|
||||
```
|
||||
|
||||
This will first sort the rows according to your specification and then only show the first 10 rows.
|
||||
|
||||
If the `ng-repeat` expression contains a `track by` statement (which is generally a good idea), that expression will
|
||||
be used to provide a [stable](http://en.wikipedia.org/wiki/Sorting_algorithm#Stability) sort result.
|
||||
|
||||
CSS
|
||||
---
|
||||
|
||||
All table headings that can be sorted on is styled with css-class `tablesort-sortable`. The table headings that the table is currently sorted on is styled with `tablesort-asc` or `tablesort-desc` classes depending on the sort-direction. A stylesheet is included to show that it works, but you probably want to build your own.
|
||||
|
||||
By default the content and look of the data for empty tables is controlled via css. It is inserted as one empty `<td>` spanning
|
||||
all columns and placed inside a `<tr>` with class `showIfLast` The `<tr>` is placed at the top of each table.
|
||||
To disable this feature add the attribute `ts-hide-no-data` to the `ts-repeat` row:
|
||||
```html
|
||||
<tr ng-repeat="item in items" ts-repeat ts-hide-no-data>
|
||||
```
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "angular-tablesort",
|
||||
"description": "Sort AngularJS tables easily",
|
||||
"version": "1.1.2",
|
||||
"main": ["./js/angular-tablesort.js"],
|
||||
"dependencies": {
|
||||
"angular": "*"
|
||||
},
|
||||
"ignore": []
|
||||
}
|
||||
+152
@@ -0,0 +1,152 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Angular Tablesort</title>
|
||||
<link rel="stylesheet" href="tablesort.css"/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div ng-app="myApp">
|
||||
<div ng-controller="tableTestCtrl">
|
||||
<h1>Angular Tablesort</h1>
|
||||
<table border="1" ts-wrapper>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Select</th>
|
||||
<th ts-criteria="Id">Id</th>
|
||||
<th ts-criteria="Name|lowercase" ts-default>Name</th>
|
||||
<th ts-criteria="Price|parseFloat">Price</th>
|
||||
<th ts-criteria="Quantity|parseInt">Quantity</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="item in items track by item.Id" ts-repeat>
|
||||
<td><input type="checkbox"></td>
|
||||
<td>{{item.Id}}</td>
|
||||
<td>{{item.Name}}</td>
|
||||
<td>{{item.Price | currency}}</td>
|
||||
<td>{{item.Quantity}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h1>Angular Tablesort with tablesort filter and max 5 entries</h1>
|
||||
<table border="1" ts-wrapper>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Select</th>
|
||||
<th ts-criteria="Id">Id</th>
|
||||
<th ts-criteria="Name|lowercase" ts-default>Name</th>
|
||||
<th ts-criteria="Price|parseFloat">Price</th>
|
||||
<th ts-criteria="Quantity|parseInt">Quantity</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="item in items | tablesort | limitTo: 5 track by item.Id" ts-repeat>
|
||||
<td><input type="checkbox"></td>
|
||||
<td>{{item.Id}}</td>
|
||||
<td>{{item.Name}}</td>
|
||||
<td>{{item.Price | currency}}</td>
|
||||
<td>{{item.Quantity}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h1>Angular Tablesort with Multi-Element ts-repeat-start & ts-repeat-end</h1>
|
||||
<h2><em>Click Select to reveal item details.</em></h2>
|
||||
<table border="1" data-ts-wrapper>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Select</th>
|
||||
<th data-ts-criteria="Id">Id</th>
|
||||
<th data-ts-criteria="Name|lowercase" data-ts-default>Name</th>
|
||||
<th data-ts-criteria="Price|parseFloat">Price</th>
|
||||
<th data-ts-criteria="Quantity|parseInt">Quantity</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr data-ng-repeat-start="item in items track by item.Id" data-ts-repeat-start>
|
||||
<td><input type="checkbox" data-ng-model="item.selected"></td>
|
||||
<td>{{item.Id}}</td>
|
||||
<td>{{item.Name}}</td>
|
||||
<td>{{item.Price | currency}}</td>
|
||||
<td>{{item.Quantity}}</td>
|
||||
</tr>
|
||||
<tr data-ng-repeat-end data-ts-repeat-end data-ng-show="item.selected">
|
||||
<td colspan="5">{{item.Description}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<h1>Empty table</h1>
|
||||
<table border="1" ts-wrapper>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Select</th>
|
||||
<th ts-criteria="Id">Id</th>
|
||||
<th ts-criteria="Name|lowercase" ts-default>Name</th>
|
||||
<th ts-criteria="Price|parseFloat">Price</th>
|
||||
<th ts-criteria="Quantity|parseInt">Quantity</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="item in noitems" ts-repeat ng-click="clickRow()">
|
||||
<td><input type="checkbox"></td>
|
||||
<td>{{item.Id}}</td>
|
||||
<td>{{item.Name}}</td>
|
||||
<td>{{item.Price | currency}}</td>
|
||||
<td>{{item.Quantity}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h1>Empty table without "No data" row</h1>
|
||||
<table border="1" ts-wrapper>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Select</th>
|
||||
<th ts-criteria="Id">Id</th>
|
||||
<th ts-criteria="Name|lowercase" ts-default>Name</th>
|
||||
<th ts-criteria="Price|parseFloat">Price</th>
|
||||
<th ts-criteria="Quantity|parseInt">Quantity</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="item in noitems" ts-repeat ts-hide-no-data ng-click="clickRow()">
|
||||
<td><input type="checkbox"></td>
|
||||
<td>{{item.Id}}</td>
|
||||
<td>{{item.Name}}</td>
|
||||
<td>{{item.Price | currency}}</td>
|
||||
<td>{{item.Quantity}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
|
||||
<script src="js/angular-tablesort.js"></script>
|
||||
<script>
|
||||
var myApp = angular.module( 'myApp', ['tableSort'] )
|
||||
.controller( "tableTestCtrl", function tableTestCtrl($scope) {
|
||||
$scope.items = [
|
||||
{Id: "01", Name: "A", Price: "1.00", Quantity: "1", Description: "This is the description for item A.", selected: false},
|
||||
{Id: "02", Name: "B", Price: "10.00", Quantity: "1", Description: "This is the description for item B.", selected: false},
|
||||
{Id: "04", Name: "C", Price: "9.50", Quantity: "10", Description: "This is the description for item C.", selected: false},
|
||||
{Id: "03", Name: "a", Price: "9.00", Quantity: "2", Description: "This is the description for item a.", selected: false},
|
||||
{Id: "06", Name: "b", Price: "100.00", Quantity: "2", Description: "This is the description for item b.", selected: false},
|
||||
{Id: "05", Name: "c", Price: "1.20", Quantity: "2", Description: "This is the description for item c.", selected: false}
|
||||
];
|
||||
$scope.noitems = [];
|
||||
$scope.clickRow = function () {
|
||||
alert('You clicked the row.');
|
||||
}
|
||||
}
|
||||
);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,2 @@
|
||||
require('./js/angular-tablesort');
|
||||
module.exports = 'tableSort';
|
||||
@@ -0,0 +1,226 @@
|
||||
/*
|
||||
angular-tablesort v1.1.2
|
||||
(c) 2013-2015 Mattias Holmlund, http://mattiash.github.io/angular-tablesort
|
||||
License: MIT
|
||||
*/
|
||||
|
||||
var tableSortModule = angular.module( 'tableSort', [] );
|
||||
|
||||
tableSortModule.directive('tsWrapper', ['$log', '$parse', function( $log, $parse ) {
|
||||
'use strict';
|
||||
return {
|
||||
scope: true,
|
||||
controller: ['$scope', function($scope) {
|
||||
$scope.sortExpression = [];
|
||||
$scope.headings = [];
|
||||
|
||||
var parse_sortexpr = function( expr ) {
|
||||
return [$parse( expr ), null, false];
|
||||
};
|
||||
|
||||
this.setSortField = function( sortexpr, element ) {
|
||||
var i;
|
||||
var expr = parse_sortexpr( sortexpr );
|
||||
if( $scope.sortExpression.length === 1
|
||||
&& $scope.sortExpression[0][0] === expr[0] ) {
|
||||
if( $scope.sortExpression[0][2] ) {
|
||||
element.removeClass( "tablesort-desc" );
|
||||
element.addClass( "tablesort-asc" );
|
||||
$scope.sortExpression[0][2] = false;
|
||||
}
|
||||
else {
|
||||
element.removeClass( "tablesort-asc" );
|
||||
element.addClass( "tablesort-desc" );
|
||||
$scope.sortExpression[0][2] = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
for( i=0; i<$scope.headings.length; i=i+1 ) {
|
||||
$scope.headings[i]
|
||||
.removeClass( "tablesort-desc" )
|
||||
.removeClass( "tablesort-asc" );
|
||||
}
|
||||
element.addClass( "tablesort-asc" );
|
||||
$scope.sortExpression = [expr];
|
||||
}
|
||||
};
|
||||
|
||||
this.addSortField = function( sortexpr, element ) {
|
||||
var i;
|
||||
var toggle_order = false;
|
||||
var expr = parse_sortexpr( sortexpr );
|
||||
for( i=0; i<$scope.sortExpression.length; i=i+1 ) {
|
||||
if( $scope.sortExpression[i][0] === expr[0] ) {
|
||||
if( $scope.sortExpression[i][2] ) {
|
||||
element.removeClass( "tablesort-desc" );
|
||||
element.addClass( "tablesort-asc" );
|
||||
$scope.sortExpression[i][2] = false;
|
||||
}
|
||||
else {
|
||||
element.removeClass( "tablesort-asc" );
|
||||
element.addClass( "tablesort-desc" );
|
||||
$scope.sortExpression[i][2] = true;
|
||||
}
|
||||
toggle_order = true;
|
||||
}
|
||||
}
|
||||
if( !toggle_order ) {
|
||||
element.addClass( "tablesort-asc" );
|
||||
$scope.sortExpression.push( expr );
|
||||
}
|
||||
};
|
||||
|
||||
this.setTrackBy = function( trackBy ) {
|
||||
$scope.trackBy = trackBy;
|
||||
};
|
||||
|
||||
this.registerHeading = function( headingelement ) {
|
||||
$scope.headings.push( headingelement );
|
||||
};
|
||||
|
||||
$scope.sortFun = function( a, b ) {
|
||||
var i, aval, bval, descending, filterFun;
|
||||
for( i=0; i<$scope.sortExpression.length; i=i+1 ){
|
||||
aval = $scope.sortExpression[i][0](a);
|
||||
bval = $scope.sortExpression[i][0](b);
|
||||
filterFun = b[$scope.sortExpression[i][1]];
|
||||
if( filterFun ) {
|
||||
aval = filterFun( aval );
|
||||
bval = filterFun( bval );
|
||||
}
|
||||
if( aval === undefined || aval === null ) {
|
||||
aval = "";
|
||||
}
|
||||
if( bval === undefined || bval === null ) {
|
||||
bval = "";
|
||||
}
|
||||
descending = $scope.sortExpression[i][2];
|
||||
if( aval > bval ) {
|
||||
return descending ? -1 : 1;
|
||||
}
|
||||
else if( aval < bval ) {
|
||||
return descending ? 1 : -1;
|
||||
}
|
||||
}
|
||||
|
||||
// All the sort fields were equal. If there is a "track by" expression,
|
||||
// use that as a tiebreaker to make the sort result stable.
|
||||
if( $scope.trackBy ) {
|
||||
aval = a[$scope.trackBy];
|
||||
bval = b[$scope.trackBy];
|
||||
if( aval === undefined || aval === null ) {
|
||||
aval = "";
|
||||
}
|
||||
if( bval === undefined || bval === null ) {
|
||||
bval = "";
|
||||
}
|
||||
if( aval > bval ) {
|
||||
return descending ? -1 : 1;
|
||||
}
|
||||
else if( aval < bval ) {
|
||||
return descending ? 1 : -1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
};
|
||||
}]
|
||||
};
|
||||
}]);
|
||||
|
||||
tableSortModule.directive('tsCriteria', function() {
|
||||
return {
|
||||
require: "^tsWrapper",
|
||||
link: function(scope, element, attrs, tsWrapperCtrl) {
|
||||
var clickingCallback = function(event) {
|
||||
scope.$apply( function() {
|
||||
if( event.shiftKey ) {
|
||||
tsWrapperCtrl.addSortField(attrs.tsCriteria, element);
|
||||
}
|
||||
else {
|
||||
tsWrapperCtrl.setSortField(attrs.tsCriteria, element);
|
||||
}
|
||||
} );
|
||||
};
|
||||
element.bind('click', clickingCallback);
|
||||
element.addClass('tablesort-sortable');
|
||||
if( "tsDefault" in attrs && attrs.tsDefault !== "0" ) {
|
||||
tsWrapperCtrl.addSortField( attrs.tsCriteria, element );
|
||||
if( attrs.tsDefault == "descending" ) {
|
||||
tsWrapperCtrl.addSortField( attrs.tsCriteria, element );
|
||||
}
|
||||
}
|
||||
tsWrapperCtrl.registerHeading( element );
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
tableSortModule.directive("tsRepeat", ['$compile', function($compile) {
|
||||
return {
|
||||
terminal: true,
|
||||
multiElement: true,
|
||||
require: "^tsWrapper",
|
||||
priority: 1000000,
|
||||
link: function(scope, element, attrs, tsWrapperCtrl) {
|
||||
var repeatAttrs = ["ng-repeat", "data-ng-repeat", "ng-repeat-start", "data-ng-repeat-start"];
|
||||
var ngRepeatDirective = repeatAttrs[0];
|
||||
var tsRepeatDirective = "ts-repeat";
|
||||
for (var i = 0; i < repeatAttrs.length; i++) {
|
||||
if (angular.isDefined(element.attr(repeatAttrs[i]))) {
|
||||
ngRepeatDirective = repeatAttrs[i];
|
||||
tsRepeatDirective = ngRepeatDirective.replace(/^(data-)?ng/, '$1ts');
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var repeatExpr = element.attr(ngRepeatDirective);
|
||||
var trackBy = null;
|
||||
var trackByMatch = repeatExpr.match(/\s+track\s+by\s+\S+?\.(\S+)/);
|
||||
if( trackByMatch ) {
|
||||
trackBy = trackByMatch[1];
|
||||
tsWrapperCtrl.setTrackBy(trackBy);
|
||||
}
|
||||
|
||||
if (repeatExpr.search(/tablesort/) != -1) {
|
||||
repeatExpr = repeatExpr.replace(/tablesort/,"tablesortOrderBy:sortFun");
|
||||
} else {
|
||||
repeatExpr = repeatExpr.replace(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(\s+track\s+by\s+[\s\S]+?)?\s*$/,
|
||||
"$1 in $2 | tablesortOrderBy:sortFun$3");
|
||||
}
|
||||
|
||||
if (angular.isUndefined(attrs.tsHideNoData)) {
|
||||
var noDataRow = angular.element(element[0]).clone();
|
||||
noDataRow.removeAttr(ngRepeatDirective);
|
||||
noDataRow.removeAttr(tsRepeatDirective);
|
||||
noDataRow.addClass("showIfLast");
|
||||
noDataRow.children().remove();
|
||||
noDataRow.append('<td colspan="' + element[0].childElementCount + '"></td>');
|
||||
noDataRow = $compile(noDataRow)(scope);
|
||||
element.parent().prepend(noDataRow);
|
||||
}
|
||||
|
||||
angular.element(element[0]).attr(ngRepeatDirective, repeatExpr);
|
||||
$compile(element, null, 1000000)(scope);
|
||||
}
|
||||
};
|
||||
}]);
|
||||
|
||||
tableSortModule.filter( 'tablesortOrderBy', function(){
|
||||
return function(array, sortfun ) {
|
||||
if(!array) return;
|
||||
var arrayCopy = [];
|
||||
for ( var i = 0; i < array.length; i++) { arrayCopy.push(array[i]); }
|
||||
return arrayCopy.sort( sortfun );
|
||||
};
|
||||
} );
|
||||
|
||||
tableSortModule.filter( 'parseInt', function(){
|
||||
return function(input) {
|
||||
return parseInt( input ) || null;
|
||||
};
|
||||
} );
|
||||
|
||||
tableSortModule.filter( 'parseFloat', function(){
|
||||
return function(input) {
|
||||
return parseFloat( input ) || null;
|
||||
};
|
||||
} );
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "angular-tablesort",
|
||||
"version": "1.1.2",
|
||||
"description": "Sort angularjs tables easily",
|
||||
"main": "index.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/mattiash/angular-tablesort.git"
|
||||
},
|
||||
"license": "MIT",
|
||||
"homepage": "https://github.com/mattiash/angular-tablesort"
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
th.tablesort-sortable {
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-o-user-select: none;
|
||||
user-select: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
table .tablesort-sortable:after{
|
||||
content:"";
|
||||
float:right;
|
||||
margin-top:7px;
|
||||
visibility:hidden;
|
||||
border-left:4px solid transparent;
|
||||
border-right:4px solid transparent;
|
||||
|
||||
border-top:none;
|
||||
border-bottom:4px solid #000;
|
||||
}
|
||||
|
||||
table .tablesort-desc:after{
|
||||
border-top:4px solid #000;
|
||||
border-bottom:none;
|
||||
}
|
||||
|
||||
table .tablesort-asc,table .tablesort-desc{
|
||||
background-color:rgba(141, 192, 219, 0.25);
|
||||
}
|
||||
|
||||
table .tablesort-sortable:hover:after, table .tablesort-asc:after, table .tablesort-desc:after {
|
||||
visibility:visible;
|
||||
}
|
||||
|
||||
/*
|
||||
* Styling for the table row shown in empty tables
|
||||
*/
|
||||
|
||||
/* The row is always added as the first row in a table
|
||||
Hide it by default */
|
||||
.showIfLast {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Only show it if it is also the last row of the table. */
|
||||
.showIfLast:last-child {
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
.showIfLast td {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.showIfLast td:after {
|
||||
content: "No data";
|
||||
}
|
||||
@@ -20,10 +20,10 @@
|
||||
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
||||
*/
|
||||
|
||||
|
||||
/*******************************************************************************************************
|
||||
* abgabe_assistenz
|
||||
* abgabe_assistenz ist die Assistenzoberfläche des Abgabesystems
|
||||
* abgabe_assistenz ist die Assistenzoberfläche des Abgabesystems
|
||||
* für Diplom- und Bachelorarbeiten
|
||||
*******************************************************************************************************/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
@@ -61,7 +61,7 @@ if(isset($_GET['id']) && isset($_GET['uid']) && isset($_GET['pdfread']))
|
||||
header('Content-Type: application/octet-stream');
|
||||
header('Content-disposition: attachment; filename="'.$file.'"');
|
||||
echo readfile($filename);
|
||||
exit();
|
||||
exit();
|
||||
}
|
||||
|
||||
if (!$db = new basis_db())
|
||||
@@ -85,8 +85,8 @@ if(!isset($_POST['uid']))
|
||||
$kurzbz = '';
|
||||
if($projektarbeit_id!='-1')
|
||||
{
|
||||
$qry_stg="SELECT tbl_studiengang.* FROM public.tbl_studiengang
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(studiengang_kz)
|
||||
$qry_stg="SELECT tbl_studiengang.* FROM public.tbl_studiengang
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(studiengang_kz)
|
||||
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_projektarbeit USING(lehreinheit_id)
|
||||
WHERE projektarbeit_id=".$db->db_add_param($projektarbeit_id, FHC_INTEGER);
|
||||
@@ -97,24 +97,24 @@ if(!isset($_POST['uid']))
|
||||
$stgbez=$row_stg->bezeichnung;
|
||||
$stg_kz=$row_stg->studiengang_kz;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Laden des Studiengangs!</font><br> ";
|
||||
exit;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Studiengang konnte nicht gefunden werden!</font><br> ";
|
||||
exit;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
exit;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$uid = (isset($_POST['uid'])?$_POST['uid']:'-1');
|
||||
$projektarbeit_id = (isset($_POST['projektarbeit_id'])?$_POST['projektarbeit_id']:'-1');
|
||||
@@ -201,8 +201,8 @@ if(isset($_POST["schick"]))
|
||||
$row_std=$db->db_fetch_object($result_std);
|
||||
if($command=='insert')
|
||||
{
|
||||
$qrychk="SELECT * FROM campus.tbl_paabgabe
|
||||
WHERE projektarbeit_id=".$db->db_add_param($projektarbeit_id, FHC_INTEGER)." AND paabgabetyp_kurzbz=".$db->db_add_param($paabgabetyp_kurzbz)."
|
||||
$qrychk="SELECT * FROM campus.tbl_paabgabe
|
||||
WHERE projektarbeit_id=".$db->db_add_param($projektarbeit_id, FHC_INTEGER)." AND paabgabetyp_kurzbz=".$db->db_add_param($paabgabetyp_kurzbz)."
|
||||
AND fixtermin=".($fixtermin==1?'true':'false')." AND datum=".$db->db_add_param($datum)." AND kurzbz=".$db->db_add_param($kurzbz);
|
||||
if($result=$db->db_query($qrychk))
|
||||
{
|
||||
@@ -210,32 +210,32 @@ if(isset($_POST["schick"]))
|
||||
{
|
||||
//Datensatz bereits vorhanden
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//neuer Termin
|
||||
$qry="INSERT INTO campus.tbl_paabgabe (projektarbeit_id, paabgabetyp_kurzbz,
|
||||
fixtermin, datum, kurzbz, abgabedatum, insertvon, insertamum, updatevon, updateamum)
|
||||
$qry="INSERT INTO campus.tbl_paabgabe (projektarbeit_id, paabgabetyp_kurzbz,
|
||||
fixtermin, datum, kurzbz, abgabedatum, insertvon, insertamum, updatevon, updateamum)
|
||||
VALUES (".$db->db_add_param($projektarbeit_id).", ".
|
||||
$db->db_add_param($paabgabetyp_kurzbz).", ".($fixtermin==1?'true':'false').", ".
|
||||
$db->db_add_param($datum).",".
|
||||
$db->db_add_param($kurzbz).", NULL, ".
|
||||
$db->db_add_param($user).", now(), NULL, NULL)";
|
||||
//echo $qry;
|
||||
//echo $qry;
|
||||
if(!$result=$db->db_query($qry))
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Termin konnte nicht eingetragen werden!</font><br>";
|
||||
echo "<font color=\"#FF0000\">Termin konnte nicht eingetragen werden!</font><br>";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$row=$db->db_fetch_object($result);
|
||||
$qry_typ="SELECT bezeichnung FROM campus.tbl_paabgabetyp
|
||||
$qry_typ="SELECT bezeichnung FROM campus.tbl_paabgabetyp
|
||||
WHERE paabgabetyp_kurzbz=".$db->db_add_param($paabgabetyp_kurzbz);
|
||||
|
||||
if($result_typ=$db->db_query($qry_typ))
|
||||
{
|
||||
$row_typ=$db->db_fetch_object($result_typ);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$row_typ->bezeichnung='';
|
||||
}
|
||||
@@ -247,20 +247,20 @@ if(isset($_POST["schick"]))
|
||||
$mail->setReplyTo($user."@".DOMAIN);
|
||||
if(!$mail->send())
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an den Studierenden!</font><br>";
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an den Studierenden!</font><br>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "Mail verschickt an: ".trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost)."<br>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Mail an Erstbegutachter
|
||||
$qry_betr="SELECT DISTINCT trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
|
||||
public.tbl_mitarbeiter.mitarbeiter_uid, anrede
|
||||
$qry_betr="SELECT DISTINCT trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
|
||||
public.tbl_mitarbeiter.mitarbeiter_uid, anrede
|
||||
FROM public.tbl_person JOIN lehre.tbl_projektbetreuer ON(lehre.tbl_projektbetreuer.person_id=public.tbl_person.person_id)
|
||||
LEFT JOIN public.tbl_benutzer ON(public.tbl_benutzer.person_id=public.tbl_person.person_id)
|
||||
LEFT JOIN public.tbl_mitarbeiter ON(public.tbl_benutzer.uid=public.tbl_mitarbeiter.mitarbeiter_uid)
|
||||
LEFT JOIN public.tbl_benutzer ON(public.tbl_benutzer.person_id=public.tbl_person.person_id)
|
||||
LEFT JOIN public.tbl_mitarbeiter ON(public.tbl_benutzer.uid=public.tbl_mitarbeiter.mitarbeiter_uid)
|
||||
WHERE mitarbeiter_uid=".$db->db_add_param($erst);
|
||||
if(!$betr=$db->db_query($qry_betr))
|
||||
{
|
||||
@@ -277,19 +277,19 @@ if(isset($_POST["schick"]))
|
||||
$mail->setReplyTo($user."@".DOMAIN);
|
||||
if(!$mail->send())
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an den (Erst-)Begutachter! ($row_betr->first)</font><br>";
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an den (Erst-)Begutachter! ($row_betr->first)</font><br>";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "Mail verschickt an Erstbegutachter: ".$row_betr->first."<br>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an den (Erst-)Begutachter(in)! ($row_betr->first ist kein Mitarbeiter)</font><br> <br>";
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an den (Erst-)Begutachter(in)! ($row_betr->first ist kein Mitarbeiter)</font><br> <br>";
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Erstbegutachter nicht gefunden. Kein Mail verschickt!</font><br>;";
|
||||
}
|
||||
@@ -297,10 +297,13 @@ if(isset($_POST["schick"]))
|
||||
//Mail an Zweitbegutachter
|
||||
if($p2id!='')
|
||||
{
|
||||
$qry_betr="SELECT DISTINCT trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
|
||||
anrede, kontakt
|
||||
FROM public.tbl_person JOIN public.tbl_kontakt USING(person_id)
|
||||
WHERE person_id=".$db->db_add_param($p2id, FHC_INTEGER)." AND kontakttyp='email' AND zustellung LIMIT 1";
|
||||
$qry_betr="SELECT DISTINCT trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
|
||||
anrede, kontakt, tbl_benutzer.uid
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_kontakt USING(person_id)
|
||||
LEFT JOIN public.tbl_benutzer USING(person_id)
|
||||
WHERE person_id=".$db->db_add_param($p2id, FHC_INTEGER)." AND kontakttyp='email' AND zustellung AND (tbl_benutzer.aktiv OR tbl_benutzer.aktiv is null) LIMIT 1";
|
||||
if(!$betr=$db->db_query($qry_betr))
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Laden des Zweitbegutachters!</font><br>";
|
||||
@@ -309,19 +312,23 @@ if(isset($_POST["schick"]))
|
||||
{
|
||||
if($row_betr=$db->db_fetch_object($betr))
|
||||
{
|
||||
$mail = new mail($row_betr->kontakt, "no-reply@".DOMAIN, "Neuer Termin Bachelor-/Masterarbeitsbetreuung bei Studiengang $stgbez",
|
||||
if($row_betr->uid!='')
|
||||
$to = $row_betr->uid.'@'.DOMAIN;
|
||||
else
|
||||
$to = $row_betr->kontakt;
|
||||
$mail = new mail($to, "no-reply@".DOMAIN, "Neuer Termin Bachelor-/Masterarbeitsbetreuung bei Studiengang $stgbez",
|
||||
"Sehr geehrte".($row_betr->anrede=="Herr"?"r":"")." ".$row_betr->anrede." ".$row_betr->first."!\n\nDer Studiengang $stgbez hat einen neuen Termin angelegt für Ihre Betreuung von ".($row_std->anrede=="Herr"?"Herrn":$row_std->anrede)." ".trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost).":\n".($fixtermin==1?'Fixer Termin':'Variabler Termin').", ".$datum_obj->formatDatum($datum,'d.m.Y').", ".$row_typ->bezeichnung.", ".$kurzbz."\n\nMfG\nDie Studiengangsassistenz\n\n--------------------------------------------------------------------------\nDies ist ein vom Bachelor-/Masterarbeitsabgabesystem generiertes Info-Mail\n--------------------------------------------------------------------------");
|
||||
$mail->setReplyTo($user."@".DOMAIN);
|
||||
if(!$mail->send())
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an (Zweit-)Begutachter(in)! ($erst)</font><br>";
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an (Zweit-)Begutachter(in)! ($erst)</font><br>";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "Mail verschickt an Zweitbegutachter(in): ".$row_betr->first."<br>";
|
||||
echo "Mail verschickt an Zweitbegutachter(in): ".$row_betr->first.' '.$to."<br>";
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Zweitbegutachter(in) nicht gefunden. Kein Mail verschickt! ($p2id)</font><br>";
|
||||
}
|
||||
@@ -331,7 +338,7 @@ if(isset($_POST["schick"]))
|
||||
$command='';
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "Datenbank-Zugriffsfehler!";
|
||||
}
|
||||
@@ -343,9 +350,9 @@ if(isset($_POST["schick"]))
|
||||
$qry_old="SELECT * FROM campus.tbl_paabgabe WHERE paabgabe_id=".$db->db_add_param($paabgabe_id, FHC_INTEGER);
|
||||
if(!$result_old=$db->db_query($qry_old))
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Termin konnte nicht gefunden werden!</font><br> ";
|
||||
echo "<font color=\"#FF0000\">Termin konnte nicht gefunden werden!</font><br> ";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$row_old=$db->db_fetch_object($result_old);
|
||||
//Abgabetyp
|
||||
@@ -355,26 +362,26 @@ if(isset($_POST["schick"]))
|
||||
$row_told=$db->db_fetch_object($result_told);
|
||||
$obezeichnung=$row_told->bezeichnung;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$obezeichnung='';
|
||||
}
|
||||
//Termin updaten
|
||||
$qry="UPDATE campus.tbl_paabgabe SET
|
||||
projektarbeit_id = ".$db->db_add_param($projektarbeit_id, FHC_INTEGER).",
|
||||
paabgabetyp_kurzbz = ".$db->db_add_param($paabgabetyp_kurzbz).",
|
||||
fixtermin = ".($fixtermin==1?'true':'false').",
|
||||
datum = ".$db->db_add_param($datum).",
|
||||
kurzbz = ".$db->db_add_param($kurzbz).",
|
||||
updatevon = ".$db->db_add_param($user).",
|
||||
updateamum = now()
|
||||
projektarbeit_id = ".$db->db_add_param($projektarbeit_id, FHC_INTEGER).",
|
||||
paabgabetyp_kurzbz = ".$db->db_add_param($paabgabetyp_kurzbz).",
|
||||
fixtermin = ".($fixtermin==1?'true':'false').",
|
||||
datum = ".$db->db_add_param($datum).",
|
||||
kurzbz = ".$db->db_add_param($kurzbz).",
|
||||
updatevon = ".$db->db_add_param($user).",
|
||||
updateamum = now()
|
||||
WHERE paabgabe_id=".$db->db_add_param($paabgabe_id, FHC_INTEGER);
|
||||
//echo $qry;
|
||||
//echo $qry;
|
||||
if(!$result=$db->db_query($qry))
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Terminänderung konnte nicht eingetragen werden!</font><br>";
|
||||
echo "<font color=\"#FF0000\">Terminänderung konnte nicht eingetragen werden!</font><br>";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//Abgabetyp
|
||||
$qry_told="SELECT bezeichnung FROM campus.tbl_paabgabetyp WHERE paabgabetyp_kurzbz=".$db->db_add_param($paabgabetyp_kurzbz);
|
||||
@@ -383,7 +390,7 @@ if(isset($_POST["schick"]))
|
||||
$row_typ=$db->db_fetch_object($result_told);
|
||||
$bezeichnung=$row_typ->bezeichnung;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$bezeichnung='';
|
||||
}
|
||||
@@ -395,20 +402,20 @@ if(isset($_POST["schick"]))
|
||||
$mail->setReplyTo($user."@".DOMAIN);
|
||||
if(!$mail->send())
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an den Studierenden!</font><br>";
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an den Studierenden!</font><br>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "Mail verschickt an: ".trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost)."<br>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Mail an Erstbegutachter
|
||||
$qry_betr="SELECT DISTINCT trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
|
||||
public.tbl_mitarbeiter.mitarbeiter_uid, anrede
|
||||
$qry_betr="SELECT DISTINCT trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
|
||||
public.tbl_mitarbeiter.mitarbeiter_uid, anrede
|
||||
FROM public.tbl_person JOIN lehre.tbl_projektbetreuer ON(lehre.tbl_projektbetreuer.person_id=public.tbl_person.person_id)
|
||||
LEFT JOIN public.tbl_benutzer ON(public.tbl_benutzer.person_id=public.tbl_person.person_id)
|
||||
LEFT JOIN public.tbl_mitarbeiter ON(public.tbl_benutzer.uid=public.tbl_mitarbeiter.mitarbeiter_uid)
|
||||
LEFT JOIN public.tbl_benutzer ON(public.tbl_benutzer.person_id=public.tbl_person.person_id)
|
||||
LEFT JOIN public.tbl_mitarbeiter ON(public.tbl_benutzer.uid=public.tbl_mitarbeiter.mitarbeiter_uid)
|
||||
WHERE mitarbeiter_uid=".$db->db_add_param($erst);
|
||||
if(!$betr=$db->db_query($qry_betr))
|
||||
{
|
||||
@@ -423,14 +430,14 @@ if(isset($_POST["schick"]))
|
||||
$mail->setReplyTo($user."@".DOMAIN);
|
||||
if(!$mail->send())
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an (Erst-)Begutachter(in)!</font><br>";
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an (Erst-)Begutachter(in)!</font><br>";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "Mail verschickt an Erstbegutachter(in): ".$row_betr->first."<br>";
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Erstbegutachter(in) nicht gefunden. Kein Mail verschickt!</font><br>";
|
||||
}
|
||||
@@ -438,10 +445,18 @@ if(isset($_POST["schick"]))
|
||||
//Mail an Zweitbegutachter
|
||||
if($p2id!='')
|
||||
{
|
||||
$qry_betr="SELECT DISTINCT trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
|
||||
anrede, kontakt
|
||||
FROM public.tbl_person JOIN public.tbl_kontakt USING(person_id)
|
||||
WHERE person_id=".$db->db_add_param($p2id, FHC_INTEGER)." AND kontakttyp='email' AND zustellung LIMIT 1";
|
||||
$qry_betr="SELECT DISTINCT trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
|
||||
anrede, kontakt, tbl_benutzer.uid
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_kontakt USING(person_id)
|
||||
LEFT JOIN public.tbl_benutzer USING(person_id)
|
||||
WHERE
|
||||
person_id=".$db->db_add_param($p2id, FHC_INTEGER)."
|
||||
AND kontakttyp='email'
|
||||
AND zustellung
|
||||
AND (tbl_benutzer.aktiv OR tbl_benutzer is null)
|
||||
LIMIT 1";
|
||||
if(!$betr=$db->db_query($qry_betr))
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Laden von Zweitbegutachter(in)!</font><br>";
|
||||
@@ -450,19 +465,23 @@ if(isset($_POST["schick"]))
|
||||
{
|
||||
if($row_betr=$db->db_fetch_object($betr))
|
||||
{
|
||||
$mail = new mail($row_betr->kontakt, "no-reply@".DOMAIN, "Terminänderung Bachelor-/Masterarbeitsbetreuung bei Studiengang $stgbez",
|
||||
if($row_betr->uid!='')
|
||||
$to = $row_betr->uid.'@'.DOMAIN;
|
||||
else
|
||||
$to = $row_betr->kontakt;
|
||||
$mail = new mail($to, "no-reply@".DOMAIN, "Terminänderung Bachelor-/Masterarbeitsbetreuung bei Studiengang $stgbez",
|
||||
"Sehr geehrte".($row_betr->anrede=="Herr"?"r":"")." ".$row_betr->anrede." ".$row_betr->first."!\n\nDer Studiengang $stgbez hat einen Termin geändert für Ihre Betreuung von ".($row_std->anrede=="Herr"?"Herrn":$row_std->anrede)." ".trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost)."\nVon: ".($row_old->fixtermin=='t'?'Fixer Termin':'Variabler Termin').", ".$datum_obj->formatDatum($row_old->datum,'d.m.Y').", ".$obezeichnung.", ".$row_old->kurzbz."\nAuf: ".($fixtermin==1?'Fixer Termin':'Variabler Termin').", ".$datum_obj->formatDatum($datum,'d.m.Y').", ".$bezeichnung." ".$kurzbz."\n\nMfG\nDie Studiengangsassistenz\n\n--------------------------------------------------------------------------\nDies ist ein vom Bachelor-/Masterarbeitsabgabesystem generiertes Info-Mail\ncis->Mein CIS->Bachelor- und Masterarbeitsabgabe\n--------------------------------------------------------------------------");
|
||||
$mail->setReplyTo($user."@".DOMAIN);
|
||||
if(!$mail->send())
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an (Zweit-)Begutachter(in)! ($erst)</font><br>";
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an (Zweit-)Begutachter(in)! ($erst)</font><br>";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "Mail verschickt an Zweitbegutachter(in): ".$row_betr->first."<br>";
|
||||
echo "Mail verschickt an Zweitbegutachter(in): ".$row_betr->first.' '.$to."<br>";
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Zweitbegutachter(in) nicht gefunden. Kein Mail verschickt! ($p2id)</font><br>";
|
||||
}
|
||||
@@ -474,7 +493,7 @@ if(isset($_POST["schick"]))
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Datumseingabe ungültig!</font><br> ";
|
||||
}
|
||||
@@ -489,9 +508,9 @@ if(isset($_POST["del"]))
|
||||
$qry_old="SELECT * FROM campus.tbl_paabgabe WHERE paabgabe_id=".$db->db_add_param($paabgabe_id);
|
||||
if(!$result_old=$db->db_query($qry_old))
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Termin konnte nicht gefunden werden!</font><br> ";
|
||||
echo "<font color=\"#FF0000\">Termin konnte nicht gefunden werden!</font><br> ";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$row_old=$db->db_fetch_object($result_old);
|
||||
$qry_std="SELECT * FROM campus.vw_benutzer where uid=".$db->db_add_param($uid);
|
||||
@@ -507,7 +526,7 @@ if(isset($_POST["del"]))
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Löschen des Termins!</font><br> ";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//Mail an Studierenden
|
||||
if($row_old->paabgabetyp_kurzbz !='note')
|
||||
@@ -517,20 +536,20 @@ if(isset($_POST["del"]))
|
||||
$mail->setReplyTo($user."@".DOMAIN);
|
||||
if(!$mail->send())
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails!</font><br> ";
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails!</font><br> ";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "Mail verschickt an: ".trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost)."<br>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Mail an Erstbegutachter
|
||||
$qry_betr="SELECT DISTINCT trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
|
||||
public.tbl_mitarbeiter.mitarbeiter_uid, anrede
|
||||
$qry_betr="SELECT DISTINCT trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
|
||||
public.tbl_mitarbeiter.mitarbeiter_uid, anrede
|
||||
FROM public.tbl_person JOIN lehre.tbl_projektbetreuer ON(lehre.tbl_projektbetreuer.person_id=public.tbl_person.person_id)
|
||||
LEFT JOIN public.tbl_benutzer ON(public.tbl_benutzer.person_id=public.tbl_person.person_id)
|
||||
LEFT JOIN public.tbl_mitarbeiter ON(public.tbl_benutzer.uid=public.tbl_mitarbeiter.mitarbeiter_uid)
|
||||
LEFT JOIN public.tbl_benutzer ON(public.tbl_benutzer.person_id=public.tbl_person.person_id)
|
||||
LEFT JOIN public.tbl_mitarbeiter ON(public.tbl_benutzer.uid=public.tbl_mitarbeiter.mitarbeiter_uid)
|
||||
WHERE mitarbeiter_uid=".$db->db_add_param($erst);
|
||||
if(!$betr=$db->db_query($qry_betr))
|
||||
{
|
||||
@@ -545,14 +564,14 @@ if(isset($_POST["del"]))
|
||||
$mail->setReplyTo($user."@".DOMAIN);
|
||||
if(!$mail->send())
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an den (Erst-)Begutachter(in)!</font><br> ";
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an den (Erst-)Begutachter(in)!</font><br> ";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "Mail verschickt an: ".$row_betr->first."<br>";
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Begutachter(in) nicht gefunden. Kein Mail verschickt!</font><br> ";
|
||||
}
|
||||
@@ -560,10 +579,18 @@ if(isset($_POST["del"]))
|
||||
//Mail an Zweitbegutachter
|
||||
if($p2id!='')
|
||||
{
|
||||
$qry_betr="SELECT DISTINCT trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
|
||||
anrede, kontakt
|
||||
FROM public.tbl_person JOIN public.tbl_kontakt USING(person_id)
|
||||
WHERE person_id=".$db->db_add_param($p2id, FHC_INTEGER)." AND kontakttyp='email' AND zustellung LIMIT 1";
|
||||
$qry_betr="SELECT DISTINCT trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
|
||||
anrede, kontakt, tbl_benutzer.uid
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_kontakt USING(person_id)
|
||||
LEFT JOIN public.tbl_benutzer USING(person_id)
|
||||
WHERE
|
||||
person_id=".$db->db_add_param($p2id, FHC_INTEGER)."
|
||||
AND kontakttyp='email'
|
||||
AND zustellung
|
||||
AND (tbl_benutzer.aktiv OR tbl_benutzer.aktiv is null)
|
||||
LIMIT 1";
|
||||
if(!$betr=$db->db_query($qry_betr))
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Laden von Zweitbegutachter(in)!</font><br> ";
|
||||
@@ -572,19 +599,23 @@ if(isset($_POST["del"]))
|
||||
{
|
||||
if($row_betr=$db->db_fetch_object($betr))
|
||||
{
|
||||
$mail = new mail($row_betr->kontakt, "no-reply@".DOMAIN, "Termin Bachelor-/Masterarbeitsbetreuung bei Studiengang $stgbez",
|
||||
if($row_betr->uid!='')
|
||||
$to = $row_betr->uid.'@'.DOMAIN;
|
||||
else
|
||||
$to = $row_betr->kontakt;
|
||||
$mail = new mail($to, "no-reply@".DOMAIN, "Termin Bachelor-/Masterarbeitsbetreuung bei Studiengang $stgbez",
|
||||
"Sehr geehrte".($row_betr->anrede=="Herr"?"r":"")." ".$row_betr->anrede." ".$row_betr->first."!\n\nDer Studiengang $stgbez hat einen Termin entfernt für Ihre Betreuung von ".($row_std->anrede=="Herr"?"Herrn":$row_std->anrede)." ".trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost)."\n".$datum_obj->formatDatum($row_old->datum,'d.m.Y').", ".$row_old->kurzbz."\n\nMfG\nDie Studiengangsassistenz\n\n--------------------------------------------------------------------------\nDies ist ein vom Bachelor-/Masterarbeitsabgabesystem generiertes Info-Mail\ncis->Mein CIS->Bachelor- und Masterarbeitsabgabe\n--------------------------------------------------------------------------");
|
||||
$mail->setReplyTo($user."@".DOMAIN);
|
||||
if(!$mail->send())
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an (Zweit-)Begutachter(in)! ($erst)</font><br> ";
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an (Zweit-)Begutachter(in)! ($erst)</font><br> ";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "Mail verschickt an Zweitbetreuer(in): ".$row_betr->first."<br>";
|
||||
echo "Mail verschickt an Zweitbetreuer(in): ".$row_betr->first.' '.$to."<br>";
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Zweitbegutachter(in) nicht gefunden. Kein Mail verschickt! ($p2id)</font><br> ";
|
||||
}
|
||||
@@ -594,7 +625,7 @@ if(isset($_POST["del"]))
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Datumseingabe ungültig!</font><br> ";
|
||||
}
|
||||
@@ -605,16 +636,16 @@ if(isset($_POST["enda"]))
|
||||
{
|
||||
//Abgabetermin mit akt. Datum speichern
|
||||
$qry="UPDATE campus.tbl_paabgabe SET
|
||||
abgabedatum = now(),
|
||||
updatevon = ".$db->db_add_param($user).",
|
||||
updateamum = now()
|
||||
abgabedatum = now(),
|
||||
updatevon = ".$db->db_add_param($user).",
|
||||
updateamum = now()
|
||||
WHERE paabgabe_id=".$db->db_add_param($paabgabe_id, FHC_INTEGER);
|
||||
//echo $qry;
|
||||
//echo $qry;
|
||||
if(!$result=$db->db_query($qry))
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Terminbestätigung konnte nicht eingetragen werden!</font><br> ";
|
||||
echo "<font color=\"#FF0000\">Terminbestätigung konnte nicht eingetragen werden!</font><br> ";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "Endabgabe-Bestätigungsdatum wurde eingetragen.";
|
||||
}
|
||||
@@ -624,16 +655,16 @@ if(isset($_POST["note"]))
|
||||
{
|
||||
//Abgabetermin mit akt. Datum speichern
|
||||
$qry="UPDATE campus.tbl_paabgabe SET
|
||||
abgabedatum = now(),
|
||||
updatevon = ".$db->db_add_param($user).",
|
||||
updateamum = now()
|
||||
abgabedatum = now(),
|
||||
updatevon = ".$db->db_add_param($user).",
|
||||
updateamum = now()
|
||||
WHERE paabgabe_id=".$db->db_add_param($paabgabe_id, FHC_INTEGER);
|
||||
//echo $qry;
|
||||
//echo $qry;
|
||||
if(!$result=$db->db_query($qry))
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Terminbestätigung konnte nicht eingetragen werden!</font><br> ";
|
||||
echo "<font color=\"#FF0000\">Terminbestätigung konnte nicht eingetragen werden!</font><br> ";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "Benotung-Bestätigungsdatum wurde eingetragen.";
|
||||
}
|
||||
@@ -685,14 +716,14 @@ $htmlstr .= "<tr><td>fix</td><td>Datum</td><td>Abgabetyp</td><td>Kurzbeschreibun
|
||||
$bgcol='#FFFF00';
|
||||
$fcol='#000000';
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//"normaler" Termin - schwarz auf weiß
|
||||
$bgcol='#FFFFFF';
|
||||
$fcol='#000000';
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if($row->abgabedatum>$row->datum)
|
||||
{
|
||||
@@ -700,7 +731,7 @@ $htmlstr .= "<tr><td>fix</td><td>Datum</td><td>Abgabetyp</td><td>Kurzbeschreibun
|
||||
$bgcol='#EA7B7B';
|
||||
$fcol='#FFFFFF';
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//Abgabe vor Termin - schwarz auf grün
|
||||
$bgcol='#00FF00';
|
||||
@@ -720,26 +751,26 @@ $htmlstr .= "<tr><td>fix</td><td>Datum</td><td>Abgabetyp</td><td>Kurzbeschreibun
|
||||
{
|
||||
$htmlstr .= " <option value='".$row_typ->paabgabetyp_kurzbz."' selected>$row_typ->bezeichnung</option>";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$htmlstr .= " <option value='".$row_typ->paabgabetyp_kurzbz."'>$row_typ->bezeichnung</option>";
|
||||
}
|
||||
}
|
||||
}
|
||||
$htmlstr .= " </select></td>\n";
|
||||
$htmlstr .= " <td><input type='text' name='kurzbz' value='".htmlspecialchars($row->kurzbz,ENT_QUOTES)."' size='60' maxlegth='256'></td>\n";
|
||||
$htmlstr .= " <td><input type='text' name='kurzbz' value='".htmlspecialchars($row->kurzbz,ENT_QUOTES)."' size='60' maxlegth='256'></td>\n";
|
||||
$htmlstr .= " <td>".($row->abgabedatum==''?' ':$datum_obj->formatDatum($row->abgabedatum,'d.m.Y'))."</td>\n";
|
||||
|
||||
|
||||
$htmlstr .= " <td><input type='submit' name='schick' value='speichern' title='Terminänderung speichern'></td>";
|
||||
|
||||
|
||||
if(!$row->abgabedatum)
|
||||
{
|
||||
$htmlstr .= " <td><input type='submit' name='del' value='löschen' onclick='return confdel()' title='Termin löschen'></td>";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$htmlstr .= " <td> </td>";
|
||||
}
|
||||
|
||||
|
||||
if($row->paabgabetyp_kurzbz=='enda' && $row->abgabedatum==NULL)
|
||||
{
|
||||
$htmlstr .= " <td width=50px><input type='submit' name='enda' value='bestätigen' title='Endabgabe bestätigen'></td>";
|
||||
@@ -748,13 +779,13 @@ $htmlstr .= "<tr><td>fix</td><td>Datum</td><td>Abgabetyp</td><td>Kurzbeschreibun
|
||||
{
|
||||
$htmlstr .= " <td width=50px><input type='submit' name='note' value='bestätigen' title='Notenabgabe bestätigen'></td>";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if(file_exists(PAABGABE_PATH.$row->paabgabe_id.'_'.$uid.'.pdf'))
|
||||
{
|
||||
$htmlstr .= " <td align=center><a href='".$_SERVER['PHP_SELF']."?id=".$row->paabgabe_id."&uid=$uid&pdfread=1' target='_blank'><img src='../../skin/images/pdf.ico' alt='PDF' title='abgegebene Datei' border=0></a></td>";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$htmlstr .= " <td> </td>";
|
||||
}
|
||||
@@ -762,15 +793,15 @@ $htmlstr .= "<tr><td>fix</td><td>Datum</td><td>Abgabetyp</td><td>Kurzbeschreibun
|
||||
{
|
||||
$htmlstr .= " <td align=center><a href='abgabe_assistenz_zusatz.php?paabgabe_id=".$row->paabgabe_id."&uid=$uid&projektarbeit_id=$projektarbeit_id' target='_blank'><img src='../../skin/images/folder.gif' alt='zusätzliche Daten' title='Kontrolle der Zusatzdaten' border=0></a></td>";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$htmlstr .= " <td> </td>";
|
||||
}
|
||||
}
|
||||
$htmlstr .= " </tr>\n";
|
||||
$htmlstr .= "</form>\n";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Eingabezeile für neuen Termin
|
||||
$htmlstr .= '<form action="'.htmlspecialchars($_SERVER['PHP_SELF']).'" method="POST" onsubmit="return checksubmit()" name="'.$db->convert_html_chars($projektarbeit_id).'">'."\n";
|
||||
$htmlstr .= '<input type="hidden" name="projektarbeit_id" value="'.$db->convert_html_chars($projektarbeit_id).'">'."\n";
|
||||
@@ -793,11 +824,11 @@ $result_typ=$db->db_query($qry_typ);
|
||||
while ($result_typ && $row_typ=$db->db_fetch_object($result_typ))
|
||||
{
|
||||
$htmlstr .= ' <option value="'.$db->convert_html_chars($row_typ->paabgabetyp_kurzbz).'">'.$db->convert_html_chars($row_typ->bezeichnung).'</option>';
|
||||
}
|
||||
}
|
||||
$htmlstr .= " </select></td>\n";
|
||||
|
||||
$htmlstr .= " <td><input type='text' name='kurzbz' size='60' maxlegth='256'></td>\n";
|
||||
$htmlstr .= " <td> </td>\n";
|
||||
$htmlstr .= " <td><input type='text' name='kurzbz' size='60' maxlegth='256'></td>\n";
|
||||
$htmlstr .= " <td> </td>\n";
|
||||
$htmlstr .= " <td><input type='submit' name='schick' value='speichern' title='neuen Termin speichern'></td>";
|
||||
|
||||
$htmlstr .= "</tr>\n";
|
||||
@@ -805,5 +836,5 @@ $htmlstr .= "</form>\n";
|
||||
$htmlstr .= "</table>\n";
|
||||
$htmlstr .= "</body></html>\n";
|
||||
|
||||
echo $htmlstr;
|
||||
echo $htmlstr;
|
||||
?>
|
||||
|
||||
@@ -20,15 +20,15 @@
|
||||
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
||||
*/
|
||||
|
||||
|
||||
/*******************************************************************************************************
|
||||
* abgabe_assistenz
|
||||
* abgabe_assistenz ist die Assistenzoberfläche des Abgabesystems
|
||||
* abgabe_assistenz ist die Assistenzoberfläche des Abgabesystems
|
||||
* für Diplom- und Bachelorarbeiten
|
||||
*******************************************************************************************************/
|
||||
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/basis_db.class.php');
|
||||
require_once('../../include/basis_db.class.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
@@ -37,7 +37,7 @@ require_once('../../include/mail.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
|
||||
$i=0;
|
||||
$zaehl=0;
|
||||
|
||||
@@ -49,7 +49,7 @@ foreach($_POST as $key=>$value)
|
||||
$irgendwas.=substr($key, 3).";";
|
||||
//echo $irgendwas."<br>";
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if($i==0 && !isset($_POST["schick"]) && !isset($_POST["plus"]))
|
||||
{
|
||||
@@ -79,13 +79,13 @@ if($result_stg=$db->db_query($qry_stg))
|
||||
{
|
||||
$stgbez=$row_stg->bezeichnung;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Laden des Studiengangs!</font><br> ";
|
||||
exit;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Studiengang konnte nicht gefunden werden!</font><br> ";
|
||||
exit;
|
||||
@@ -93,7 +93,7 @@ else
|
||||
|
||||
if (!$user = get_uid())
|
||||
die('Keine UID gefunden ! <a href="javascript:history.back()">Zurück</a>');
|
||||
|
||||
|
||||
|
||||
$datum_obj = new datum();
|
||||
$error='';
|
||||
@@ -122,15 +122,15 @@ for ($x=0;$x<count($paabgabetyp_kurzbz);$x++)
|
||||
$error.='Datum '.$datum[$x].' falsch! Kurzbeschreibung:'.$kurzbz[$x];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
else
|
||||
{
|
||||
$error.='Datum '.$datum[$x].' falsch! Kurzbeschreibung:'.$kurzbz[$x];
|
||||
$datum[$x]='';
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$datum[$x]='';
|
||||
$datum[$x]='';
|
||||
$error.='Datum fehlt! Kurzbeschreibung:'.$kurzbz[$x];
|
||||
}
|
||||
}
|
||||
@@ -149,24 +149,24 @@ if(isset($_POST["schick"]) && $error=='')
|
||||
for ($x=0;$x<count($paabgabetyp_kurzbz);$x++)
|
||||
{
|
||||
//schleife termine
|
||||
$qrychk="SELECT * FROM campus.tbl_paabgabe
|
||||
WHERE projektarbeit_id=".$db->db_add_param($termine[$j], FHC_INTEGER)."
|
||||
AND paabgabetyp_kurzbz=".$db->db_add_param($paabgabetyp_kurzbz[$x])."
|
||||
AND fixtermin=".($fixtermin[$x]==1?'true':'false')."
|
||||
AND datum=".$db->db_add_param($datum[$x])."
|
||||
$qrychk="SELECT * FROM campus.tbl_paabgabe
|
||||
WHERE projektarbeit_id=".$db->db_add_param($termine[$j], FHC_INTEGER)."
|
||||
AND paabgabetyp_kurzbz=".$db->db_add_param($paabgabetyp_kurzbz[$x])."
|
||||
AND fixtermin=".($fixtermin[$x]==1?'true':'false')."
|
||||
AND datum=".$db->db_add_param($datum[$x])."
|
||||
AND kurzbz=".$db->db_add_param($kurzbz[$x]);
|
||||
//echo $qrychk;
|
||||
|
||||
if($result=$db->db_query($qrychk))
|
||||
{
|
||||
if($db->db_num_rows($result)>0)
|
||||
{
|
||||
echo "Datensatz bereits vorhanden";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//echo "neuer Termin";
|
||||
$qry="INSERT INTO campus.tbl_paabgabe (projektarbeit_id, paabgabetyp_kurzbz, fixtermin,
|
||||
datum, kurzbz, abgabedatum, insertvon, insertamum, updatevon, updateamum)
|
||||
$qry="INSERT INTO campus.tbl_paabgabe (projektarbeit_id, paabgabetyp_kurzbz, fixtermin,
|
||||
datum, kurzbz, abgabedatum, insertvon, insertamum, updatevon, updateamum)
|
||||
VALUES (".$db->db_add_param($termine[$j]).", ".
|
||||
$db->db_add_param($paabgabetyp_kurzbz[$x]).", ".
|
||||
($fixtermin[$x]==1?'true':'false').", ".
|
||||
@@ -174,12 +174,12 @@ if(isset($_POST["schick"]) && $error=='')
|
||||
$db->db_add_param($kurzbz[$x]).", NULL, ".
|
||||
$db->db_add_param($user).", now(), NULL, NULL)";
|
||||
|
||||
//echo $qry;
|
||||
//echo $qry;
|
||||
if(!$result=$db->db_query($qry))
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Termin ($datum[$x], $kurzbz[$x]) konnte nicht eingetragen werden!</font><br> ";
|
||||
echo "<font color=\"#FF0000\">Termin ($datum[$x], $kurzbz[$x]) konnte nicht eingetragen werden!</font><br> ";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$row=@$db->db_fetch_object($result);
|
||||
$qry_typ="SELECT bezeichnung FROM campus.tbl_paabgabetyp WHERE paabgabetyp_kurzbz=".$db->db_add_param($paabgabetyp_kurzbz[$x]);
|
||||
@@ -187,7 +187,7 @@ if(isset($_POST["schick"]) && $error=='')
|
||||
{
|
||||
$row_typ=$db->db_fetch_object($result_typ);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$row_typ->bezeichnung='';
|
||||
}
|
||||
@@ -199,7 +199,7 @@ if(isset($_POST["schick"]) && $error=='')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//Student zu projektarbeit_id suchen
|
||||
$qry_std="SELECT * FROM campus.vw_student WHERE uid IN(SELECT student_uid FROM lehre.tbl_projektarbeit WHERE projektarbeit_id=".$db->db_add_param($termine[$j]).")";
|
||||
if($result_std=$db->db_query($qry_std))
|
||||
@@ -213,21 +213,21 @@ if(isset($_POST["schick"]) && $error=='')
|
||||
$mail->setReplyTo($user."@".DOMAIN);
|
||||
if(!$mail->send())
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an Studierende(n) ($row->nachname)!</font><br> <br>";
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an Studierende(n) ($row->nachname)!</font><br> <br>";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "Mail verschickt an Studierende(n): ".trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost)."<br>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Mail an EINEN Erstbegutachter oder Betreuer
|
||||
$qry_betr="SELECT trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
|
||||
public.tbl_mitarbeiter.mitarbeiter_uid, anrede
|
||||
$qry_betr="SELECT trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
|
||||
public.tbl_mitarbeiter.mitarbeiter_uid, anrede
|
||||
FROM public.tbl_person JOIN lehre.tbl_projektbetreuer ON(lehre.tbl_projektbetreuer.person_id=public.tbl_person.person_id)
|
||||
LEFT JOIN public.tbl_benutzer ON(public.tbl_benutzer.person_id=public.tbl_person.person_id)
|
||||
LEFT JOIN public.tbl_mitarbeiter ON(public.tbl_benutzer.uid=public.tbl_mitarbeiter.mitarbeiter_uid)
|
||||
WHERE projektarbeit_id=".$db->db_add_param($termine[$j])." AND (tbl_benutzer.aktiv OR tbl_benutzer.aktiv IS NULL)
|
||||
LEFT JOIN public.tbl_benutzer ON(public.tbl_benutzer.person_id=public.tbl_person.person_id)
|
||||
LEFT JOIN public.tbl_mitarbeiter ON(public.tbl_benutzer.uid=public.tbl_mitarbeiter.mitarbeiter_uid)
|
||||
WHERE projektarbeit_id=".$db->db_add_param($termine[$j])." AND (tbl_benutzer.aktiv OR tbl_benutzer.aktiv IS NULL)
|
||||
AND (tbl_projektbetreuer.betreuerart_kurzbz='Erstbegutachter' OR tbl_projektbetreuer.betreuerart_kurzbz='Betreuer')";
|
||||
if(!$betr=$db->db_query($qry_betr))
|
||||
{
|
||||
@@ -246,34 +246,34 @@ if(isset($_POST["schick"]) && $error=='')
|
||||
$mail->setReplyTo($user."@".DOMAIN);
|
||||
if(!$mail->send())
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an den (Erst-)Begutachter(in)! ($row_betr->first)</font><br> <br>";
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an den (Erst-)Begutachter(in)! ($row_betr->first)</font><br> <br>";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "Mail verschickt an Erstbegutachter(in): ".$row_betr->first."<br>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an den (Erst-)Begutachter(in)! ($row_betr->first ist kein Mitarbeiter)</font><br> <br>";
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an den (Erst-)Begutachter(in)! ($row_betr->first ist kein Mitarbeiter)</font><br> <br>";
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
echo "<font color=\"#FF0000\">Erstbegutachter(in) nicht gefunden. Kein Mail verschickt! (Diplomand: $row->nachname)</font><br> ";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "Erstbegutachter(in) nicht gefunden. Kein Mail verschickt!<br>";
|
||||
echo "Erstbegutachter(in) nicht gefunden. Kein Mail verschickt!<br>";
|
||||
}
|
||||
}
|
||||
//Mail an Zweitbegutachter
|
||||
$qry_betr="SELECT trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
|
||||
public.tbl_mitarbeiter.mitarbeiter_uid, anrede, kontakt
|
||||
$qry_betr="SELECT trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
|
||||
public.tbl_mitarbeiter.mitarbeiter_uid, anrede, kontakt
|
||||
FROM public.tbl_person JOIN lehre.tbl_projektbetreuer ON(lehre.tbl_projektbetreuer.person_id=public.tbl_person.person_id)
|
||||
JOIN public.tbl_kontakt ON(tbl_person.person_id=tbl_kontakt.person_id)
|
||||
LEFT JOIN public.tbl_benutzer ON(public.tbl_benutzer.person_id=public.tbl_person.person_id)
|
||||
LEFT JOIN public.tbl_mitarbeiter ON(public.tbl_benutzer.uid=public.tbl_mitarbeiter.mitarbeiter_uid)
|
||||
WHERE projektarbeit_id=".$db->db_add_param($termine[$j])." AND (tbl_benutzer.aktiv OR tbl_benutzer.aktiv IS NULL)
|
||||
LEFT JOIN public.tbl_benutzer ON(public.tbl_benutzer.person_id=public.tbl_person.person_id)
|
||||
LEFT JOIN public.tbl_mitarbeiter ON(public.tbl_benutzer.uid=public.tbl_mitarbeiter.mitarbeiter_uid)
|
||||
WHERE projektarbeit_id=".$db->db_add_param($termine[$j])." AND (tbl_benutzer.aktiv OR tbl_benutzer.aktiv IS NULL)
|
||||
AND (tbl_projektbetreuer.betreuerart_kurzbz='Zweitbegutachter') AND kontakttyp='email' AND zustellung LIMIT 1";
|
||||
if(!$betr=$db->db_query($qry_betr))
|
||||
{
|
||||
@@ -285,29 +285,31 @@ if(isset($_POST["schick"]) && $error=='')
|
||||
{
|
||||
if($row_betr=$db->db_fetch_object($betr))
|
||||
{
|
||||
|
||||
$mail = new mail($row_betr->kontakt, "no-reply@".DOMAIN, "Neuer Termin Bachelor-/Masterarbeitsbetreuung im Studiengang $stgbez",
|
||||
if($row_betr->mitarbeiter_uid!='')
|
||||
$to = $row_betr->mitarbeiter_uid.'@'.DOMAIN;
|
||||
else
|
||||
$to = $row_betr->kontakt;
|
||||
$mail = new mail($to, "no-reply@".DOMAIN, "Neuer Termin Bachelor-/Masterarbeitsbetreuung im Studiengang $stgbez",
|
||||
"Sehr geehrte".($row_betr->anrede=="Herr"?"r":"")." ".$row_betr->anrede." ".$row_betr->first."!\n\nDer Studiengang $stgbez hat (einen) neue(n) Termin(e) angelegt für Ihre Betreuung von ".($row_std->anrede=="Herr"?"Herrn":$row_std->anrede)." ".trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost).":".$mailtermine_lk."\n\nMfG\nDie Studiengangsassistenz\n\n--------------------------------------------------------------------------\nDies ist ein vom Bachelor-/Masterarbeitsabgabesystem generiertes Info-Mail\n--------------------------------------------------------------------------");
|
||||
$mail->setReplyTo($user."@".DOMAIN);
|
||||
if(!$mail->send())
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an den (Zweit-)Begutachter(in)! ($erst)</font><br>";
|
||||
echo "<font color=\"#FF0000\">Fehler beim Versenden des Mails an den (Zweit-)Begutachter(in)! ($erst)</font><br>";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "Mail verschickt an Zweitbetreuer(in): ".$row_betr->first."<br>";
|
||||
echo "Mail verschickt an Zweitbetreuer(in): ".$row_betr->first.' '.$to."<br>";
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
echo "<font color=\"#FF0000\">Zweitbegutachter(in) nicht gefunden. Kein Mail verschickt!</font><br>";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "Zweitbegutachter(in) nicht gefunden. Kein Mail verschickt!<br>";
|
||||
}
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
exit();
|
||||
@@ -348,13 +350,13 @@ $htmlstr='';
|
||||
if(!isset($datum[$x])||empty($datum[$x]))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
$htmlstr .= "<tr id='termin".$x."'>\n";
|
||||
if(isset($fixtermin[$x])&&!empty($fixtermin[$x]))
|
||||
{
|
||||
$htmlstr .= "<td><input type='checkbox' checked='checked' name='fixterminx' onclick='if (this.checked) {document.getElementById(\"fixtermin".($x+1)."\").value=1;}else{document.getElementById(\"fixtermin".($x+1)."\").value=0;}'>";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$htmlstr .= "<td><input type='checkbox' name='fixterminx' onclick='if (this.checked) {document.getElementById(\"fixtermin".($x+1)."\").value=1;}else{document.getElementById(\"fixtermin".($x+1)."\").value=0;}'>";
|
||||
}
|
||||
@@ -369,15 +371,15 @@ $htmlstr='';
|
||||
{
|
||||
$htmlstr .= " <option value='".$row_typ->paabgabetyp_kurzbz."' selected>".$row_typ->bezeichnung."</option>";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$htmlstr .= " <option value='".$row_typ->paabgabetyp_kurzbz."'>".$row_typ->bezeichnung."</option>";
|
||||
}
|
||||
}
|
||||
}
|
||||
$htmlstr .= " </select></td>\n";
|
||||
$htmlstr .= " <td><input type='text' name='kurzbz[]' size='100' maxlegth='256' value='".$kurzbz[$x]."'></td>\n";
|
||||
$htmlstr .= " <td> </td>\n";
|
||||
|
||||
$htmlstr .= " <td><input type='text' name='kurzbz[]' size='100' maxlegth='256' value='".$kurzbz[$x]."'></td>\n";
|
||||
$htmlstr .= " <td> </td>\n";
|
||||
|
||||
}
|
||||
//Eingabezeile für neuen Termin
|
||||
//$htmlstr .= "<b>Abgabetermin:</b>\n";
|
||||
@@ -386,7 +388,7 @@ $htmlstr='';
|
||||
$htmlstr .= '<input type="hidden" name="p2id" value="'.$db->convert_html_chars($p2id).'">';
|
||||
$htmlstr .= "<tr></tr>\n";
|
||||
$htmlstr .= '<tr id="termin'.($x+1).'">';
|
||||
$htmlstr .= '<td><input type="checkbox" name="fixterminx" onclick="if (this.checked) {document.getElementById(\"fixtermin".($x+1)."\").value=1;}else{document.getElementById(\"fixtermin".($x+1)."\").value=0;}">';
|
||||
$htmlstr .= '<td><input type="checkbox" name="fixterminx" onclick="if (this.checked) {document.getElementById(\'fixtermin'.($x+1).'\').value=1;}else{document.getElementById(\'fixtermin'.($x+1).'\').value=0;}">';
|
||||
$htmlstr .= "<input type='text' style='display:none;' id='fixtermin".($x+1)."' name='fixtermin[]' value='0'></td>";
|
||||
$htmlstr .= " <td><input type='text' name='datum[]' onchange='checkdatum(this.value)' size='10' maxlegth='10'></td>\n";
|
||||
$htmlstr .= " <td><select name='paabgabetyp_kurzbz[]'>\n";
|
||||
@@ -395,16 +397,16 @@ $htmlstr='';
|
||||
while ($result_typ && $row_typ=$db->db_fetch_object($result_typ))
|
||||
{
|
||||
$htmlstr .= " <option value='".$row_typ->paabgabetyp_kurzbz."'>".$row_typ->bezeichnung."</option>";
|
||||
}
|
||||
}
|
||||
$htmlstr .= " </select></td>\n";
|
||||
$htmlstr .= " <td><input type='text' name='kurzbz[]' size='100' maxlegth='256'></td>\n";
|
||||
$htmlstr .= " <td><input type='text' name='kurzbz[]' size='100' maxlegth='256'></td>\n";
|
||||
$htmlstr .= " <td><input type='submit' name='plus' value=' + ' title='weiterer Termin'></td>";
|
||||
$htmlstr .= "<tr><td> </td><td> </td><td> </td><td> </td><td><input type='submit' name='schick' value='speichern' title='neue(n) Termin(e) speichern'></td></tr>";
|
||||
$htmlstr .= "</tr>\n";
|
||||
$htmlstr .= "</form>\n";
|
||||
$htmlstr .= "</table>\n";
|
||||
$htmlstr .= "</body></html>\n";
|
||||
|
||||
|
||||
echo $htmlstr;
|
||||
echo '</body></html>';
|
||||
?>
|
||||
|
||||
@@ -17,13 +17,19 @@
|
||||
*
|
||||
* Authors: Nikolaus Krondraf <nikolaus.krondraf@technikum-wien.at>
|
||||
*/
|
||||
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/stunde.class.php');
|
||||
require_once('../../include/standort.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
|
||||
$uid = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
if(!$rechte->isBerechtigt('basis/person'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
$studiengang = new studiengang;
|
||||
$studiengang->getAll("typ, kurzbz");
|
||||
$standort = new standort;
|
||||
@@ -38,25 +44,25 @@ $standort->getAllStandorteWithOrt();
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../skin/jquery-ui-1.9.2.custom.min.css" type="text/css">
|
||||
<script type="text/javascript" src="../../include/js/jquery1.9.min.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../../include/js/jquery1.9.min.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$(document).ready(function()
|
||||
{
|
||||
$(".datepicker").datepicker($.datepicker.regional['de']).datepicker("setDate", new Date());
|
||||
|
||||
|
||||
// Dropdown der Lehrveranstaltungen befüllen
|
||||
$("#stg_kz, #sem").change(function()
|
||||
$("#stg_kz, #sem").change(function()
|
||||
{
|
||||
// alte Optionen entfernen
|
||||
$("#lvid")
|
||||
.empty()
|
||||
.append($('<option>', {value : ''})
|
||||
.text('-- Alle --'));
|
||||
|
||||
|
||||
var stg_kz = $("#stg_kz").val();
|
||||
var sem = $("#sem").val();
|
||||
|
||||
|
||||
if(stg_kz != '' && sem != '')
|
||||
{
|
||||
// LVs ergänzen
|
||||
@@ -64,17 +70,17 @@ $standort->getAllStandorteWithOrt();
|
||||
$.each(data, function(key, value) {
|
||||
$('#lvid')
|
||||
.append($('<option>', {value : key})
|
||||
.text(value));
|
||||
.text(value));
|
||||
});
|
||||
});
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
|
||||
function checkDates()
|
||||
{
|
||||
var result = true;
|
||||
|
||||
|
||||
if($("#von").val() == '' || $("#bis").val() == '')
|
||||
{
|
||||
result = false;
|
||||
@@ -98,7 +104,7 @@ $standort->getAllStandorteWithOrt();
|
||||
result = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
</script>
|
||||
@@ -111,7 +117,7 @@ $standort->getAllStandorteWithOrt();
|
||||
<input type="hidden" name="xsl" value="AnwListBarcode" />
|
||||
<input type="hidden" name="output" value="pdf" />
|
||||
<input type="hidden" name="xml" value="anwesenheitsliste.xml.php" />
|
||||
|
||||
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
@@ -170,7 +176,7 @@ $standort->getAllStandorteWithOrt();
|
||||
<td>
|
||||
<select name="lvid" id="lvid">
|
||||
<option value=''>-- Alle --</option>
|
||||
|
||||
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
File: funktion_det.php
|
||||
Descr: Hier werden Personen aufgelistet, die zur in funktion.php ausgewählten
|
||||
@@ -35,6 +35,7 @@ require_once('../../include/person.class.php');
|
||||
require_once('../../include/funktion.class.php');
|
||||
require_once('../../include/benutzerfunktion.class.php');
|
||||
require_once('../../include/fachbereich.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
@@ -42,51 +43,58 @@ if (!$db = new basis_db())
|
||||
// Datenbankverbindung herstellen
|
||||
|
||||
$user=get_uid();
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(!$rechte->isBerechtigt('mitarbeiter',null,'suid'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
$type='';
|
||||
if (isset($_POST['type']))
|
||||
$type=$_POST['type'];
|
||||
|
||||
if (isset($_GET['type']))
|
||||
$type=$_GET['type'];
|
||||
|
||||
|
||||
if(isset($_GET['kurzbz']))
|
||||
$funktion_kurzbz=$_GET['kurzbz'];
|
||||
|
||||
if(isset($_GET['datumvon']))
|
||||
$datumvon=$_GET['datumvon'];
|
||||
else
|
||||
else
|
||||
$datumvon='';
|
||||
|
||||
if(isset($_GET['datumbis']))
|
||||
$datumbis=$_GET['datumbis'];
|
||||
else
|
||||
else
|
||||
$datumbis='';
|
||||
|
||||
// Neue Funktionszuweisung speichern
|
||||
if ($type=='new' || $type=='editsave')
|
||||
{
|
||||
//Einfügen in die Datenbank
|
||||
|
||||
|
||||
$funktion=new benutzerfunktion();
|
||||
$funktion->uid=$_POST['uid'];
|
||||
$funktion->funktion_kurzbz=$_POST['kurzbz'];
|
||||
if (isset($_POST['oe_kurzbz']) && $_POST['oe_kurzbz']!=-1)
|
||||
{
|
||||
$funktion->oe_kurzbz=$_POST['oe_kurzbz'];
|
||||
|
||||
|
||||
if (isset($_POST['fb_kurzbz']) && $_POST['fb_kurzbz']!=-1)
|
||||
{
|
||||
$funktion->fachbereich_kurzbz=$_POST['fb_kurzbz'];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$funktion->fachbereich_kurzbz=null;
|
||||
}
|
||||
|
||||
|
||||
$funktion->semester = (isset($_POST['semester'])?$_POST['semester']:'');
|
||||
$funktion->datum_von = $_POST['datumvon'];
|
||||
$funktion->datum_bis = $_POST['datumbis'];
|
||||
|
||||
|
||||
if($type=='editsave')
|
||||
{
|
||||
$funktion->new=false;
|
||||
@@ -94,21 +102,21 @@ if ($type=='new' || $type=='editsave')
|
||||
$funktion->updateamum=date('Y-m-d H:i:s');
|
||||
$funktion->updatevon=$user;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$funktion->new=true;
|
||||
$funktion->updateamum=date('Y-m-d H:i:s');
|
||||
$funktion->updatevon=$user;
|
||||
$funktion->insertamum=date('Y-m-d H:i:s');
|
||||
$funktion->insertvon=$user;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (!$funktion->save())
|
||||
{
|
||||
echo "Fehler: ".$funktion->errormsg;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
echo "Studiengang muss angegeben werden";
|
||||
|
||||
}
|
||||
@@ -122,7 +130,7 @@ if ($type=='delete')
|
||||
{
|
||||
echo "Benutzer_funktion_id ist keine Zahl";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if (!$funktion->delete($bn_funktion_id))
|
||||
{
|
||||
@@ -171,23 +179,23 @@ if (!$funktion->load($kurzbz))
|
||||
if ($type!='edit')
|
||||
{
|
||||
// Personen holen
|
||||
$qry = "SELECT
|
||||
$qry = "SELECT
|
||||
tbl_organisationseinheit.bezeichnung as oebezeichnung,
|
||||
tbl_organisationseinheit.organisationseinheittyp_kurzbz as oetyp,
|
||||
tbl_benutzer.uid as uid, *
|
||||
FROM
|
||||
public.tbl_benutzerfunktion,
|
||||
public.tbl_person,
|
||||
public.tbl_benutzer,
|
||||
tbl_organisationseinheit.organisationseinheittyp_kurzbz as oetyp,
|
||||
tbl_benutzer.uid as uid, *
|
||||
FROM
|
||||
public.tbl_benutzerfunktion,
|
||||
public.tbl_person,
|
||||
public.tbl_benutzer,
|
||||
public.tbl_organisationseinheit
|
||||
WHERE
|
||||
WHERE
|
||||
funktion_kurzbz=".$db->db_add_param($kurzbz)." AND
|
||||
tbl_benutzerfunktion.uid=tbl_benutzer.uid AND
|
||||
tbl_benutzer.person_id=tbl_person.person_id AND
|
||||
tbl_benutzerfunktion.oe_kurzbz=tbl_organisationseinheit.oe_kurzbz";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
{
|
||||
echo "<thead>
|
||||
<tr class='liste'>
|
||||
<th class='table-sortable:default'>Name</th>
|
||||
@@ -200,10 +208,10 @@ if (!$funktion->load($kurzbz))
|
||||
<th colspan=\"2\">Aktion</th>
|
||||
</tr>
|
||||
</thead>";
|
||||
$j=0;
|
||||
$j=0;
|
||||
echo '<tbody>';
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
{
|
||||
$j++;
|
||||
echo "<tr>";
|
||||
echo "<td>".$row->nachname.", ".$row->vorname."</td>";
|
||||
@@ -219,21 +227,21 @@ if (!$funktion->load($kurzbz))
|
||||
|
||||
}
|
||||
echo '</tbody>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "Fehler: ". $db->db_last_error();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
echo '
|
||||
|
||||
|
||||
</table>
|
||||
<hr>
|
||||
<form action="funktion_det.php" method="post" name="persfunk_neu" id="persfunk_neu">
|
||||
<p>
|
||||
';
|
||||
|
||||
|
||||
if ($type=='edit')
|
||||
{
|
||||
echo '<INPUT type="hidden" name="type" value="editsave">';
|
||||
@@ -241,8 +249,8 @@ if (!$funktion->load($kurzbz))
|
||||
}
|
||||
else
|
||||
echo '<INPUT type="hidden" name="type" value="new">';
|
||||
|
||||
echo '
|
||||
|
||||
echo '
|
||||
<INPUT type="hidden" name="kurzbz" value="'.$kurzbz.'">
|
||||
<table>
|
||||
<tr>
|
||||
@@ -261,13 +269,13 @@ if (!$funktion->load($kurzbz))
|
||||
}
|
||||
|
||||
echo '</SELECT></td></tr>';
|
||||
|
||||
|
||||
echo '<tr>
|
||||
<td>Organisationseinheit: </td>
|
||||
<td>
|
||||
<SELECT name="oe_kurzbz">
|
||||
<option value="-1">- auswählen -</option>';
|
||||
|
||||
|
||||
// Auswahl der Organisationseinheit
|
||||
$num_rows=$db->db_num_rows($result_oe);
|
||||
while($row=$db->db_fetch_object($result_oe))
|
||||
@@ -278,11 +286,11 @@ if (!$funktion->load($kurzbz))
|
||||
echo ">$row->kurzbz $row->bezeichnung</option>";
|
||||
}
|
||||
echo '</SELECT></td></tr>';
|
||||
|
||||
|
||||
|
||||
|
||||
$funktion = new funktion();
|
||||
$funktion->load($funktion_kurzbz);
|
||||
|
||||
|
||||
if($funktion->fachbereich)
|
||||
{
|
||||
echo '
|
||||
@@ -291,10 +299,10 @@ if (!$funktion->load($kurzbz))
|
||||
<td>
|
||||
<SELECT name="fb_kurzbz">
|
||||
<option value="-1">- auswählen -</option>';
|
||||
|
||||
|
||||
// Auswahl Fachbereich
|
||||
$fachbereich=new fachbereich();
|
||||
if ($fachbereich->getAll())
|
||||
if ($fachbereich->getAll())
|
||||
{
|
||||
foreach($fachbereich->result as $fb)
|
||||
{
|
||||
@@ -308,10 +316,10 @@ if (!$funktion->load($kurzbz))
|
||||
{
|
||||
echo "Fehler: ".$fb->errormsg;
|
||||
}
|
||||
|
||||
|
||||
echo '</SELECT></td></tr>';
|
||||
}
|
||||
|
||||
|
||||
if($funktion->semester)
|
||||
{
|
||||
echo '
|
||||
@@ -320,7 +328,7 @@ if (!$funktion->load($kurzbz))
|
||||
<td>
|
||||
<SELECT name="semester">
|
||||
<option value="">- auswählen -</option>';
|
||||
|
||||
|
||||
for($i=1;$i<=8;$i++)
|
||||
{
|
||||
echo "<option value=\"$i\" ";
|
||||
@@ -328,16 +336,16 @@ if (!$funktion->load($kurzbz))
|
||||
echo 'selected ';
|
||||
echo ">$i</option>";
|
||||
}
|
||||
|
||||
|
||||
echo '</SELECT></td></tr>';
|
||||
}
|
||||
|
||||
|
||||
echo '<tr><td>Datum Von:</td><td><input type="text" name="datumvon" value="'.$datumvon.'"></td></tr>';
|
||||
echo '<tr><td>Datum Bis:</td><td><input type="text" name="datumbis" value="'.$datumbis.'"></td></tr>';
|
||||
echo '</table>';
|
||||
|
||||
|
||||
echo '<input type="submit" name="Submit" value="'.($type!='edit'?'Hinzufügen':'Speichern').'">';
|
||||
|
||||
|
||||
echo '</p></form>';
|
||||
?>
|
||||
</body>
|
||||
|
||||
@@ -20,30 +20,21 @@
|
||||
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
||||
*/
|
||||
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/basis_db.class.php');
|
||||
include('../../include/functions.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(!$rechte->isBerechtigt('mitarbeiter'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
|
||||
if(isset($_GET['fix']) && isset($_GET['uid']))
|
||||
{
|
||||
$sql_query = "UPDATE public.tbl_mitarbeiter SET fixangestellt=". ($_GET['fix']=='t'?'false':'true') ." WHERE mitarbeiter_uid='".addslashes($_GET['uid'])."'";
|
||||
//echo $sql_query;
|
||||
if(!($erg=$db->db_query($sql_query)))
|
||||
die($db->db_last_error());
|
||||
}
|
||||
if(isset($_GET['lek']) && isset($_GET['uid']))
|
||||
{
|
||||
$sql_query = "UPDATE public.tbl_mitarbeiter SET lektor=". ($_GET['lek']=='t'?'false':'true') ." WHERE mitarbeiter_uid='".addslashes($_GET['uid'])."'";
|
||||
//echo $sql_query;
|
||||
if(!($erg=$db->db_query($sql_query)))
|
||||
die($db->db_last_error());
|
||||
|
||||
}
|
||||
?>
|
||||
<html>
|
||||
<head>
|
||||
@@ -52,43 +43,30 @@ if(isset($_GET['lek']) && isset($_GET['uid']))
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
|
||||
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
function confdel()
|
||||
{
|
||||
if(confirm("Diesen Datensatz wirklick loeschen?"))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="background_main">
|
||||
<h2>Mitarbeiter Übersicht</h2><br>
|
||||
|
||||
<?php
|
||||
|
||||
|
||||
if(isset($_GET['searchstr']))
|
||||
$searchstr = $_GET['searchstr'];
|
||||
else
|
||||
else
|
||||
$searchstr = '';
|
||||
|
||||
|
||||
echo '
|
||||
<form accept-charset="UTF-8" name="search" method="GET">
|
||||
Bitte Suchbegriff eingeben:
|
||||
<input type="text" name="searchstr" size="30" value="'.$searchstr.'">
|
||||
Bitte Suchbegriff eingeben:
|
||||
<input type="text" name="searchstr" size="30" value="'.$db->convert_html_chars($searchstr).'">
|
||||
<input type="submit" value="Suchen">
|
||||
</form>';
|
||||
if(!isset($_GET['searchstr']))
|
||||
</form>';
|
||||
if(!isset($_GET['searchstr']))
|
||||
exit;
|
||||
|
||||
$qry = "SELECT vw_mitarbeiter.*, tbl_standort.kurzbz as standort_kurzbz FROM campus.vw_mitarbeiter LEFT JOIN public.tbl_standort USING(standort_id)";
|
||||
if(!empty($searchstr))
|
||||
$qry.=" where nachname||' '||vorname ~* '".addslashes($searchstr)."' OR vorname||' '||nachname ~* '".addslashes($searchstr)."' OR uid ~* '".addslashes($searchstr)."' ";
|
||||
if(isset($order))
|
||||
$qry .= " ORDER BY $order";
|
||||
else
|
||||
$qry .= " ORDER BY nachname, vorname";
|
||||
$qry.=" where nachname||' '||vorname ~* '".$db->db_escape($searchstr)."' OR vorname||' '||nachname ~* '".$db->db_escape($searchstr)."' OR uid ~* '".$db->db_escape($searchstr)."' ";
|
||||
$qry .= " ORDER BY nachname, vorname";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
@@ -120,13 +98,12 @@ if(!isset($_GET['searchstr']))
|
||||
echo "<td nowrap>".$row->titelpre."</td>";
|
||||
echo "<td nowrap>".$row->vorname."</td>";
|
||||
echo "<td nowrap>".$row->nachname."</td>";
|
||||
echo "<td valign='middle' align='center' nowrap><a href='lektor_uebersicht.php?uid=".$row->uid."&fix=".$row->fixangestellt . (isset($order)?'&order='.$order:'') ."&searchstr=".$searchstr."'><img src='../../skin/images/".($row->fixangestellt=='t'?'true':'false').".png' height='20'></a></td>";
|
||||
echo "<td valign='middle' align='center' nowrap><a href='lektor_uebersicht.php?uid=".$row->uid."&lek=".$row->lektor . (isset($order)?'&order='.$order:'') ."&searchstr=".$searchstr."'><img src='../../skin/images/".($row->lektor=='t'?'true':'false').".png' height='20'></a></td>";
|
||||
|
||||
echo "<td nowrap>".($row->fixangestellt=='t'?'Ja':'Nein')."</td>";
|
||||
echo "<td nowrap>".($row->lektor=='t'?'Ja':'Nein')."</td>";
|
||||
echo "<td nowrap>".$row->ort_kurzbz."</td>";
|
||||
echo "<td nowrap>".$row->standort_kurzbz."</td>";
|
||||
echo "<td nowrap>".$row->telefonklappe."</td>";
|
||||
|
||||
|
||||
$email=$row->uid.'@'.DOMAIN;
|
||||
echo "<td nowrap><a href='mailto:$email'>$email</a></td>";
|
||||
echo "<td nowrap class='button'><a href='personen_details.php?uid=".$row->uid."'>Edit</a></td>";
|
||||
@@ -142,11 +119,6 @@ if(!isset($_GET['searchstr']))
|
||||
}
|
||||
else
|
||||
echo "Fehler beim Laden der Mitarbeiter: ".$db->db_last_error();
|
||||
|
||||
if(isset($_GET['fix']) || isset($_GET['lek'])) //Zum Anker hüpfen
|
||||
{
|
||||
echo "<script language='JavaScript'>this.location.hash='#anker1'</script>";
|
||||
}
|
||||
?>
|
||||
|
||||
</body>
|
||||
|
||||
+34
-27
@@ -22,7 +22,7 @@
|
||||
*/
|
||||
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/basis_db.class.php');
|
||||
require_once('../../include/basis_db.class.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/person.class.php');
|
||||
@@ -31,15 +31,22 @@ require_once('../../include/student.class.php');
|
||||
require_once('../../include/prestudent.class.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once('../../include/authentication.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
$user=get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
if(!$rechte->isBerechtigt('basis/person') && !$rechte->isBerechtigt('student/stammdaten') && !$rechte->isBerechtigt('mitarbeiter/stammdaten'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
if(isset($_GET['searchstr']))
|
||||
$searchstr = $_GET['searchstr'];
|
||||
else
|
||||
else
|
||||
$searchstr = '';
|
||||
|
||||
|
||||
$datum_obj = new datum();
|
||||
|
||||
echo '
|
||||
@@ -52,7 +59,7 @@ echo '
|
||||
|
||||
<body class="background_main">
|
||||
<h2>Personensuche</h2>';
|
||||
|
||||
|
||||
$stg = new studiengang();
|
||||
$stg->getAll('typ, kurzbz', false);
|
||||
|
||||
@@ -61,7 +68,7 @@ foreach ($stg->result as $row)
|
||||
$stg_arr[$row->studiengang_kz]=$row->kuerzel;
|
||||
echo '
|
||||
<form accept-charset="UTF-8" name="search" method="GET">
|
||||
Bitte Suchbegriff eingeben:
|
||||
Bitte Suchbegriff eingeben:
|
||||
<input type="text" name="searchstr" size="30" value="'.$db->convert_html_chars($searchstr).'">
|
||||
<input type="submit" value="Suchen">
|
||||
</form>';
|
||||
@@ -70,18 +77,18 @@ if($searchstr!='')
|
||||
{
|
||||
$qry = "SELECT person_id FROM public.tbl_person WHERE person_id in(
|
||||
SELECT distinct person_id FROM public.tbl_person LEFT JOIN public.tbl_benutzer USING(person_id) WHERE
|
||||
nachname ~* '".$db->db_escape($searchstr)."' OR
|
||||
nachname ~* '".$db->db_escape($searchstr)."' OR
|
||||
vorname ~* '".$db->db_escape($searchstr)."' OR
|
||||
alias ~* '".$db->db_escape($searchstr)."' OR
|
||||
COALESCE(nachname,'') || ' ' || COALESCE(vorname,'') = '".$db->db_escape($searchstr)."' OR
|
||||
COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') = '".$db->db_escape($searchstr)."' OR
|
||||
COALESCE(nachname,'') || ' ' || COALESCE(vorname,'') = '".$db->db_escape($searchstr)."' OR
|
||||
COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') = '".$db->db_escape($searchstr)."' OR
|
||||
uid ~* '".$db->db_escape($searchstr)."'
|
||||
) ORDER BY nachname, vorname;";
|
||||
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
{
|
||||
$auth = new authentication();
|
||||
|
||||
|
||||
echo $db->db_num_rows($result).' Person(en) gefunden<br><br>';
|
||||
echo '<table>';
|
||||
echo '<tr class="liste" align="center">';
|
||||
@@ -109,7 +116,7 @@ if($searchstr!='')
|
||||
echo "<td><b>updateAmUm</b></td>";
|
||||
echo "<td><b>updateVon</b></td>";
|
||||
echo '</tr>';
|
||||
|
||||
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_person WHERE person_id='$row->person_id'";
|
||||
@@ -136,18 +143,18 @@ if($searchstr!='')
|
||||
echo "<td></td>";
|
||||
echo "<td></td>";
|
||||
echo '</tr>';
|
||||
|
||||
|
||||
$content = '';
|
||||
$qry = "SELECT
|
||||
$qry = "SELECT
|
||||
*, tbl_benutzer.updateamum as bnupdateamum, tbl_benutzer.updatevon as bnupdatevon,
|
||||
tbl_mitarbeiter.updateamum as mupdateamum, tbl_mitarbeiter.updatevon as mupdatevon
|
||||
FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer on(uid=mitarbeiter_uid)
|
||||
FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer on(uid=mitarbeiter_uid)
|
||||
WHERE person_id=".$db->db_add_param($row->person_id, FHC_INTEGER);
|
||||
if($result_mitarbeiter = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result_mitarbeiter)>0)
|
||||
{
|
||||
|
||||
|
||||
while($row_mitarbeiter = $db->db_fetch_object($result_mitarbeiter))
|
||||
{
|
||||
$content.= '<tr >';
|
||||
@@ -159,8 +166,8 @@ if($searchstr!='')
|
||||
$content.= "<td>Mitarbeiter</td>";
|
||||
$content.= "<td><a href='personen_details.php?uid=$row_mitarbeiter->uid'>$row_mitarbeiter->uid</a></td>";
|
||||
$content.= "<td>".($row_mitarbeiter->aktiv=='t'?'Ja':'Nein')."</td>";
|
||||
|
||||
$content.= "<td>";
|
||||
|
||||
$content.= "<td>";
|
||||
if($auth->UserExternalExists($row_mitarbeiter->uid))
|
||||
$content.="Ja";
|
||||
else
|
||||
@@ -168,7 +175,7 @@ if($searchstr!='')
|
||||
$content.= "</td>";
|
||||
//$content.= "<td>".($row_mitarbeiter->bnupdateamum!=''?date('d.m.Y H:i:s', $datum_obj->mktime_fromtimestamp($row_mitarbeiter->bnupdateamum)):'')."</td>";
|
||||
//$content.= "<td>$row_mitarbeiter->bnupdatevon</td>";
|
||||
|
||||
|
||||
$content.= "<td>$row_mitarbeiter->telefonklappe</td>";
|
||||
$content.= "<td>$row_mitarbeiter->ort_kurzbz</td>";
|
||||
$content.= "<td>".($row_mitarbeiter->mupdateamum!=''?date('d.m.Y H:i:s', $datum_obj->mktime_fromtimestamp($row_mitarbeiter->mupdateamum)):'')."</td>";
|
||||
@@ -179,21 +186,21 @@ if($searchstr!='')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$qry = "SELECT *, tbl_benutzer.updateamum as bnupdateamum, tbl_benutzer.updatevon as bnupdatevon,
|
||||
tbl_student.updateamum as supdateamum, tbl_student.updatevon as supdatevon
|
||||
FROM public.tbl_student JOIN public.tbl_benutzer ON(student_uid=uid)
|
||||
FROM public.tbl_student JOIN public.tbl_benutzer ON(student_uid=uid)
|
||||
WHERE person_id=".$db->db_add_param($row->person_id, FHC_INTEGER);
|
||||
if($result_student = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result_student))
|
||||
{
|
||||
|
||||
|
||||
while($row_student = $db->db_fetch_object($result_student))
|
||||
{
|
||||
$student = new prestudent();
|
||||
$student->getLastStatus($row_student->prestudent_id);
|
||||
|
||||
|
||||
$content.= '<tr>';
|
||||
$content.= '<td></td>';
|
||||
$content.= '<td></td>';
|
||||
@@ -203,7 +210,7 @@ if($searchstr!='')
|
||||
$content.= "<td>$student->status_kurzbz</td>";
|
||||
$content.= "<td><a href='personen_details.php?uid=$row_student->uid'>$row_student->uid</a></td>";
|
||||
$content.= "<td>".($row_student->aktiv=='t'?'Ja':'Nein')."</td>";
|
||||
|
||||
|
||||
$content.= "<td>";
|
||||
if($auth->UserExternalExists($row_student->uid))
|
||||
$content.="Ja";
|
||||
@@ -212,7 +219,7 @@ if($searchstr!='')
|
||||
$content.= "</td>";
|
||||
//$content.= "<td>".($row_student->bnupdateamum!=''?date('d.m.Y H:i:s', $datum_obj->mktime_fromtimestamp($row_student->bnupdateamum)):'')."</td>";
|
||||
//$content.= "<td>$row_student->bnupdatevon</td>";
|
||||
|
||||
|
||||
$content.= "<td></td>";
|
||||
$content.= "<td></td>";
|
||||
$content.= "<td></td>";
|
||||
@@ -225,14 +232,14 @@ if($searchstr!='')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
echo $content;
|
||||
}
|
||||
}
|
||||
}
|
||||
echo '</table>';
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
|
||||
@@ -26,21 +26,20 @@
|
||||
* POST statt GET - ist aber Geschmacksache
|
||||
*
|
||||
*/
|
||||
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/basis_db.class.php');
|
||||
include('../../include/functions.inc.php');
|
||||
include('../../include/globals.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/globals.inc.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
|
||||
if (isset($_GET['uid']))
|
||||
{
|
||||
$uid=$_GET['uid'];
|
||||
}
|
||||
}
|
||||
else if (isset($_POST['uid']))
|
||||
{
|
||||
$uid=$_POST['uid'];
|
||||
@@ -50,6 +49,12 @@ if (!isset($uid))
|
||||
die( "uid nicht gesetzt");
|
||||
}
|
||||
$uid_benutzer = get_uid();
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid_benutzer);
|
||||
if(!$rechte->isBerechtigt('mitarbeiter'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
$datum_obj = new datum();
|
||||
$updatevon = 0;
|
||||
|
||||
@@ -68,20 +73,19 @@ $updatevon = 0;
|
||||
//echo $$var;
|
||||
$gewicht=$_POST[$var];
|
||||
$stunde=$i+1;
|
||||
$query="SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid='".addslashes($uid)."' AND stunde='$stunde' AND tag='$t'";
|
||||
$query="SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid=".$db->db_add_param($uid)." AND stunde=".$db->db_add_param($stunde, FHC_INTEGER)." AND tag=".$db->db_add_param($t, FHC_INTEGER);
|
||||
if(! $erg_wunsch=$db->db_query($query))
|
||||
die($db->db_last_error());
|
||||
$num_rows_wunsch=$db->db_num_rows($erg_wunsch);
|
||||
if ($num_rows_wunsch==0)
|
||||
{
|
||||
$query="INSERT INTO campus.tbl_zeitwunsch (mitarbeiter_uid, stunde, tag, gewicht, updateamum, updatevon) VALUES ('$uid', '$stunde', '$t', '$gewicht', now(), '$uid_benutzer')";
|
||||
$query="INSERT INTO campus.tbl_zeitwunsch (mitarbeiter_uid, stunde, tag, gewicht, updateamum, updatevon) VALUES (".$db->db_add_param($uid).", ".$db->db_add_param($stunde).", ".$db->db_add_param($t).", ".$db->db_add_param($gewicht).", now(), ".$db->db_add_param($uid_benutzer).")";
|
||||
if(!($erg=$db->db_query($query)))
|
||||
die($db->db_last_error());
|
||||
}
|
||||
elseif ($num_rows_wunsch==1)
|
||||
{
|
||||
$query="UPDATE campus.tbl_zeitwunsch SET gewicht=$gewicht, updateamum=now(), updatevon='$uid_benutzer' WHERE mitarbeiter_uid='$uid' AND stunde='$stunde' AND tag='$t'";
|
||||
//echo $query;
|
||||
$query="UPDATE campus.tbl_zeitwunsch SET gewicht=".$db->db_add_param($gewicht).", updateamum=now(), updatevon=".$db->db_add_param($uid_benutzer)." WHERE mitarbeiter_uid=".$db->db_add_param($uid)." AND stunde=".$db->db_add_param($stunde)." AND tag=".$db->db_add_param($t);
|
||||
if(!($erg=$db->db_query($query)))
|
||||
die($db->db_last_error());
|
||||
}
|
||||
@@ -90,7 +94,7 @@ $updatevon = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(!($erg=$db->db_query("SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid='$uid'")))
|
||||
if(!($erg=$db->db_query("SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid=".$db->db_add_param($uid))))
|
||||
die($db->db_last_error());
|
||||
$num_rows=$db->db_num_rows($erg);
|
||||
for ($i=0;$i<$num_rows;$i++)
|
||||
@@ -116,7 +120,7 @@ $updatevon = 0;
|
||||
|
||||
|
||||
// Personendaten
|
||||
if(! $result=$db->db_query("SELECT * FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid='$uid'"))
|
||||
if(! $result=$db->db_query("SELECT * FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=".$db->db_add_param($uid)))
|
||||
die($db->db_last_error());
|
||||
if ($db->db_num_rows($result)==1)
|
||||
$person=$db->db_fetch_object($result);
|
||||
@@ -166,7 +170,7 @@ $updatevon = 0;
|
||||
?>
|
||||
</TABLE>
|
||||
<br/>
|
||||
<?php
|
||||
<?php
|
||||
if($updatevon!='')
|
||||
{
|
||||
echo 'Zeitwunsch zuletzt aktualisiert von ';
|
||||
@@ -230,7 +234,6 @@ $updatevon = 0;
|
||||
<LI>Es sollten für jede Stunde die tatsächlich unterrichtet wird, mindestens das 3-fache an positiven Zeitwünschen angegeben werden.<BR>
|
||||
Beispiel: Sie unterrichten 4 Stunden/Woche, dann sollten Sie mindestens 12 Stunden im Raster mit positiven Werten ausfüllen.</LI>
|
||||
</OL>
|
||||
<P>Bei Problemen wenden Sie sich bitte an die <A href="mailto:lvplan@technikum-wien.at">Lehrveranstaltungsplanung</A>.</P>
|
||||
<P> </P>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,291 +0,0 @@
|
||||
<?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 >
|
||||
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
||||
*/
|
||||
|
||||
// *****************************************
|
||||
// * Script zum Zusammenlegen Doppelter LVs
|
||||
// * Es werden zwei Listen mit LVs angezeigt
|
||||
// * Links wird die LV markiert mit dem rechts
|
||||
// * markierten zusammengelegt werden soll.
|
||||
// * Die linke LV wird danach entfernt.
|
||||
// ************************************
|
||||
//DB Verbindung herstellen
|
||||
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
|
||||
$msg='';
|
||||
$outp='';
|
||||
$smax=0;
|
||||
|
||||
$s=new studiengang();
|
||||
$s->getAll('erhalter_kz,typ,kurzbzlang',false);
|
||||
$studiengang=$s->result;
|
||||
$user = get_uid();
|
||||
|
||||
|
||||
if (isset($_GET['stg_kz']) || isset($_POST['stg_kz']))
|
||||
$stg_kz=(isset($_GET['stg_kz'])?$_GET['stg_kz']:$_POST['stg_kz']);
|
||||
else
|
||||
$stg_kz=0;
|
||||
if(!is_numeric($stg_kz))
|
||||
$stg_kz=0;
|
||||
|
||||
|
||||
if (isset($_GET['semester']) || isset($_POST['semester']))
|
||||
{
|
||||
$semester=(isset($_GET['semester'])?$_GET['semester']:$_POST['semester']);
|
||||
if($semester>(isset($_GET['max'])?$_GET['max']:$_POST['max']))
|
||||
$semester=(isset($_GET['max'])?$_GET['max']:$_POST['max']);
|
||||
}
|
||||
else
|
||||
$semester=0;
|
||||
if(!is_numeric($semester))
|
||||
$semester=0;
|
||||
|
||||
|
||||
if (isset($_GET['order_1']) || isset($_POST['order_1']))
|
||||
{
|
||||
$order_1=(isset($_GET['order_1'])?$_GET['order_1']:$_POST['order_1']);
|
||||
}
|
||||
else
|
||||
{
|
||||
$order_1='lehrveranstaltung_id';
|
||||
}
|
||||
if (isset($_GET['order_2']) || isset($_POST['order_2']))
|
||||
{
|
||||
$order_2=(isset($_GET['order_2'])?$_GET['order_2']:$_POST['order_2']);
|
||||
}
|
||||
else
|
||||
{
|
||||
$order_2='lehrveranstaltung_id';
|
||||
}
|
||||
if (isset($_GET['radio_1']) || isset($_POST['radio_1']))
|
||||
{
|
||||
$radio_1=(isset($_GET['radio_1'])?$_GET['radio_1']:$_POST['radio_1']);
|
||||
}
|
||||
else
|
||||
{
|
||||
$radio_1=-1;
|
||||
}
|
||||
if (isset($_GET['radio_2']) || isset($_POST['radio_2']))
|
||||
{
|
||||
$radio_2=(isset($_GET['radio_2'])?$_GET['radio_2']:$_POST['radio_2']);
|
||||
}
|
||||
else
|
||||
{
|
||||
$radio_2=-1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
$s=array();
|
||||
foreach ($studiengang as $stg)
|
||||
{
|
||||
@$s[$stg->studiengang_kz]->max_sem=$stg->max_semester;
|
||||
$s[$stg->studiengang_kz]->kurzbz=$stg->kurzbzlang;
|
||||
$outp.= '<A href="lv_wartung.php?stg_kz='.$stg->studiengang_kz.'&semester='.$semester.'&max='.$stg->max_semester.'">'.$stg->kurzbzlang.' ('.strtoupper($stg->typ.$stg->kurzbz).') </A> - ';
|
||||
|
||||
}
|
||||
$outp.= '<BR> -- ';
|
||||
for ($i=0;$i<=$s[$stg_kz]->max_sem;$i++)
|
||||
{
|
||||
$outp.= '<A href="lv_wartung.php?stg_kz='.$stg_kz.'&semester='.$i.'&max='.$s[$stg_kz]->max_sem.'">'.$i.'</A> -- ';
|
||||
}
|
||||
|
||||
//Initialisierung der Variablen
|
||||
|
||||
function kuerze($string)
|
||||
{
|
||||
if(strlen($string)>40)
|
||||
{
|
||||
return substr($string,0,35)."...";
|
||||
}
|
||||
else
|
||||
{
|
||||
return $string;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(isset($radio_1) && isset($radio_2) && $radio_1>=0 && $radio_2>=0)
|
||||
{
|
||||
if($radio_1==$radio_2)
|
||||
{
|
||||
$msg="Die Datensaetze duerfen nicht die gleiche ID haben";
|
||||
}
|
||||
else
|
||||
{
|
||||
$sql_query_upd1="BEGIN;";
|
||||
$sql_query_upd1.="UPDATE lehre.tbl_lehreinheit SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
|
||||
$sql_query_upd1.="UPDATE lehre.tbl_zeugnisnote SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
|
||||
$sql_query_upd1.="UPDATE campus.tbl_benutzerlvstudiensemester SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
|
||||
$sql_query_upd1.="UPDATE campus.tbl_feedback SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
|
||||
$sql_query_upd1.="UPDATE campus.tbl_lvgesamtnote SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
|
||||
//updateamum vergleichen - jüngeres Datum gewinnt
|
||||
$qry1="SELECT updateamum FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$radio_1';";
|
||||
$qry2="SELECT updateamum FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$radio_1';";
|
||||
if($result1=$db->db_query($qry1))
|
||||
{
|
||||
if($result2=$db->db_query($qry2))
|
||||
{
|
||||
if($row1 = $db->db_fetch_object($result1))
|
||||
{
|
||||
if($row2 = $db->db_fetch_object($result2))
|
||||
{
|
||||
if($row2->updateamum>$row1->updateamum)
|
||||
{
|
||||
//wenn lvinfo neuer als die bestehende, ersetzt sie diese
|
||||
$sql_query_upd1.="DELETE FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$radio_2';";
|
||||
$sql_query_upd1.="UPDATE campus.tbl_lvinfo SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
|
||||
}
|
||||
else
|
||||
{
|
||||
//wenn lvinfo älter als die bestehende, wird sie gelöscht
|
||||
$sql_query_upd1.="DELETE FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$radio_1';";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$sql_query_upd1.="UPDATE campus.tbl_lvinfo SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';";
|
||||
$sql_query_upd1.="UPDATE sync.tbl_synclehrveranstaltung SET lva_vilesci='$radio_2' WHERE lva_vilesci='$radio_1';";
|
||||
$sql_query_upd1.="DELETE FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id='$radio_1';";
|
||||
if($db->db_query($sql_query_upd1))
|
||||
{
|
||||
$msg = "Daten Erfolgreich gespeichert<br>";
|
||||
$db->db_query("COMMIT;");
|
||||
$msg .= "<br>".mb_eregi_replace(';',';<br>',$sql_query_upd1)."COMMIT";
|
||||
}
|
||||
else
|
||||
{
|
||||
$msg = "Die Änderung konnte nicht durchgeführt werden!";
|
||||
$db->db_query("ROLLBACK;");
|
||||
$msg .= "<br>".mb_eregi_replace(';',';<br><b>',$sql_query_upd1)."ROLLBACK</b>";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
if((isset($radio_1) && !isset($radio_2))||(!isset($radio_1) && isset($radio_2)) || ($radio_1<0 || $radio_2<0))
|
||||
{
|
||||
$msg="Es muß je ein Radio-Button pro Tabelle angeklickt werden";
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
|
||||
|
||||
<title>LV-Zusammenlegung</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<H1>Zusammenlegen von Lehrveranstaltungen (<?php echo $s[$stg_kz]->kurzbz.' - '.$semester; ?>)</H1>
|
||||
|
||||
<?php
|
||||
echo $outp;
|
||||
$smax=$s[$stg_kz]->max_sem;
|
||||
//aufruf
|
||||
?>
|
||||
<br>
|
||||
<center><h2><?php echo $msg; ?></h2></center>
|
||||
<br>
|
||||
<?php
|
||||
//Tabellen anzeigen
|
||||
echo "<form name='form_table' action='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=$order_1&order_2=$order_2' method='POST'>";
|
||||
echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
|
||||
echo "<tr>";
|
||||
echo "<td valign='top'>Das wird gelöscht:";
|
||||
|
||||
//Tabelle 1
|
||||
echo "<table class='liste'><tr class='liste'>";
|
||||
echo "<th><a href='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=lehrveranstaltung_id&order_2=$order_2'>ID</a></th>";
|
||||
echo "<th><a href='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=kurzbz&order_2=$order_2'>Kurzbz</a></th>";
|
||||
echo "<th><a href='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=bezeichnung&order_2=$order_2'>Bezeichnung</a></th>";
|
||||
echo "<th>ECTS</th>";
|
||||
echo "<th>SS</th>";
|
||||
echo "<th> </th></tr>";
|
||||
|
||||
$lf = new lehrveranstaltung();
|
||||
$lf->getTab($stg_kz,$semester, $order_1);
|
||||
$i=0;
|
||||
foreach($lf->lehrveranstaltungen as $l)
|
||||
{
|
||||
echo "<tr class='liste".($i%2)."'>";
|
||||
echo "<td>$l->lehrveranstaltung_id</td>";
|
||||
echo "<td>$l->kurzbz</td>";
|
||||
echo "<td title='$l->bezeichnung'>".kuerze($l->bezeichnung)."</td>";
|
||||
echo "<td>$l->ects</td>";
|
||||
echo "<td>$l->semesterstunden</td>";
|
||||
echo "<td><input type='radio' name='radio_1' value='$l->lehrveranstaltung_id' ".((isset($radio_1) && $radio_1==$l->lehrveranstaltung_id)?'checked':'')."></td>";
|
||||
echo "</tr>";
|
||||
$i++;
|
||||
}
|
||||
echo "</table>";
|
||||
echo "</td>";
|
||||
echo "<td valign='top'><input type='submit' value=' -> '></td>";
|
||||
echo "<td valign='top'>Das bleibt:";
|
||||
|
||||
//Tabelle 2
|
||||
echo "<table class='liste'><tr class='liste'>";
|
||||
echo "<th> </th>";
|
||||
echo "<th><a href='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=$order_1&order_2=lehrveranstaltung_id'>ID</a></th>";
|
||||
echo "<th><a href='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=$order_1&order_2=kurzbz'>Kurzbz</a></th>";
|
||||
echo "<th><a href='lv_wartung.php?stg_kz=$stg_kz&semester=$semester&max=$smax&order_1=$order_1&order_2=bezeichnung'>Bezeichnung</a></th>";
|
||||
echo "<th>ECTS</th>";
|
||||
echo "<th>SS</th></tr>";
|
||||
|
||||
$lf = new lehrveranstaltung();
|
||||
$lf->getTab($stg_kz,$semester, $order_2);
|
||||
$i=0;
|
||||
foreach($lf->lehrveranstaltungen as $l)
|
||||
{
|
||||
echo "<tr class='liste".($i%2)."'>";
|
||||
echo "<td><input type='radio' name='radio_2' value='$l->lehrveranstaltung_id' ".((isset($radio_2) && $radio_2==$l->lehrveranstaltung_id)?'checked':'')."></td>";
|
||||
echo "<td>$l->lehrveranstaltung_id</td>";
|
||||
echo "<td>$l->kurzbz</td>";
|
||||
echo "<td title='$l->bezeichnung'>".kuerze($l->bezeichnung)."</td>";
|
||||
echo "<td>$l->ects</td>";
|
||||
echo "<td>$l->semesterstunden</td>";
|
||||
echo "</tr>";
|
||||
$i++;
|
||||
}
|
||||
echo "</table>";
|
||||
echo "</td>";
|
||||
echo "</tr>";
|
||||
echo "</table>";
|
||||
echo "</form>";
|
||||
|
||||
?>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user