mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 08:22:17 +00:00
Merged master into branch
Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
# FH-Complete
|
||||
|
||||
* [FH-Complete Homepage](https://www.fhcomplete.org)
|
||||
* [Wiki](https://wiki.fhcomplete.org/)
|
||||
* [Wiki](https://wiki.fhcomplete.info/)
|
||||
* [Changelog](CHANGELOG.md)
|
||||
|
||||
@@ -220,7 +220,7 @@ class Pruefungsprotokoll extends Auth_Controller
|
||||
$nullfields = array('uhrzeit', 'endezeit', 'abschlussbeurteilung_kurzbz', 'protokoll');
|
||||
foreach ($data as $idx => $item)
|
||||
{
|
||||
if (in_array($idx, $nullfields) & $item === '')
|
||||
if (in_array($idx, $nullfields) && $item === '')
|
||||
$data[$idx] = null;
|
||||
}
|
||||
|
||||
|
||||
@@ -167,7 +167,7 @@ class LDAPLib
|
||||
}
|
||||
|
||||
// LDAP connection
|
||||
$ldapConnection = @ldap_connect($ldapConfigs[self::SERVER], $ldapConfigs[self::PORT]);
|
||||
$ldapConnection = @ldap_connect($ldapConfigs[self::SERVER].':'.$ldapConfigs[self::PORT]);
|
||||
if ($ldapConnection) // if success
|
||||
{
|
||||
// Sets the LDAP protocol version
|
||||
|
||||
@@ -41,4 +41,23 @@ class Projektbetreuer_model extends DB_Model
|
||||
return error ('Incorrect parameter type');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Projektbetreuer data by authentification token
|
||||
* @param $zugangstoken
|
||||
* @return object
|
||||
*/
|
||||
public function getBetreuerByToken($zugangstoken)
|
||||
{
|
||||
$qry = '
|
||||
SELECT tbl_projektbetreuer.person_id, tbl_projektbetreuer.projektarbeit_id, student_uid
|
||||
FROM lehre.tbl_projektbetreuer
|
||||
JOIN lehre.tbl_projektarbeit USING (projektarbeit_id)
|
||||
WHERE zugangstoken = ? AND zugangstoken_gueltigbis >= NOW()
|
||||
ORDER BY tbl_projektbetreuer.insertamum DESC, projektarbeit_id DESC
|
||||
LIMIT 1
|
||||
';
|
||||
|
||||
return $this->execQuery($qry, array($zugangstoken));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,6 +13,11 @@ class Benutzer_model extends DB_Model
|
||||
$this->hasSequence = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets active Benutzer from person_id
|
||||
* @param $person_id
|
||||
* @return object
|
||||
*/
|
||||
public function getFromPersonId($person_id)
|
||||
{
|
||||
return $this->loadWhere(array('person_id' => $person_id, 'aktiv' => true));
|
||||
|
||||
@@ -35,6 +35,8 @@ require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/mail.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/projektarbeit.class.php');
|
||||
require_once('../../../include/projektbetreuer.class.php');
|
||||
require_once('../../../include/sancho.inc.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
$db=false;
|
||||
@@ -116,6 +118,68 @@ if($projektarbeit_id==-1)
|
||||
if(!$projektarbeit_obj->load($projektarbeit_id))
|
||||
die('Fehler beim Laden der Projektarbeit');
|
||||
$titel = $projektarbeit_obj->titel;
|
||||
$student_uid = $projektarbeit_obj->student_uid;
|
||||
|
||||
// paarbeit sollte nur ab SS2021 online bewertet werden
|
||||
$qry_sem="SELECT 1
|
||||
FROM lehre.tbl_projektarbeit
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE projektarbeit_id=".$db->db_add_param($projektarbeit_id, FHC_INTEGER)."
|
||||
AND tbl_studiensemester.start::date >= (SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz = 'SS2021')::date
|
||||
LIMIT 1";
|
||||
$result_sem=$db->db_query($qry_sem);
|
||||
$num_rows_sem = $db->db_num_rows($result_sem);
|
||||
if($num_rows_sem < 0)
|
||||
{
|
||||
echo "<font color=\"#FF0000\">".$p->t('abgabetool/fehlerAktualitaetProjektarbeit')."</font><br> ";
|
||||
}
|
||||
|
||||
// Zweitbegutachter holen
|
||||
if($betreuerart=="Erstbegutachter")
|
||||
{
|
||||
$projektbetreuer = new projektbetreuer();
|
||||
$alleBegutachter = $projektbetreuer->getProjektbetreuer($projektarbeit_id);
|
||||
|
||||
if ($alleBegutachter)
|
||||
{
|
||||
$alleBegutachterResults = $projektbetreuer->result;
|
||||
|
||||
foreach ($alleBegutachterResults as $begutachter)
|
||||
{
|
||||
if ($begutachter->betreuerart_kurzbz == "Erstbegutachter")
|
||||
{
|
||||
$erstbetreuer_id = $begutachter->person_id;
|
||||
$zweitbegutachter = $projektbetreuer->getZweitbegutachterWithToken($erstbetreuer_id, $projektarbeit_id, $student_uid);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Mail mit Token an Zweitbegutachter senden
|
||||
if ($zweitbegutachter && $num_rows_sem >= 1 && isset($_GET['zweitbegutachtertoken']))
|
||||
{
|
||||
$qry_std="SELECT * FROM campus.vw_benutzer where uid=".$db->db_add_param($uid);
|
||||
if(!$result_std=$db->db_query($qry_std))
|
||||
{
|
||||
echo "<font color=\"#FF0000\">Student konnte nicht gefunden werden!</font><br> ";
|
||||
}
|
||||
else
|
||||
{
|
||||
$row_std=@$db->db_fetch_object($result_std);
|
||||
$mailres = sendZweitbegutachterMail($zweitbegutachter, $erstbetreuer_id, $row_std);
|
||||
|
||||
if ($mailres)
|
||||
{
|
||||
echo "<br><span style='color: green; '>".$p->t('abgabetool/zweitbegutachterMailGesendet', $zweitbegutachter->email)."</span><br> ";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<font color=\"#FF0000\">".$p->t('abgabetool/fehlerMailZweitBegutachter')." Mail: ".$zweitbegutachter->email."</font><br> ";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo '
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
@@ -124,6 +188,39 @@ echo '
|
||||
<title>'.$p->t('abgabetool/abgabetool').'</title>
|
||||
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<style>
|
||||
#beurteilungheadertable td {
|
||||
height: 30px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#beurteilungheadertable form {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Bild statt submit button, styling entfernen*/
|
||||
button[name="zweitbegutachtertoken"] {
|
||||
background: none;
|
||||
color: inherit;
|
||||
border: none;
|
||||
font: inherit;
|
||||
cursor: pointer;
|
||||
outline: inherit;
|
||||
}
|
||||
#zweitbetrmailicon {
|
||||
top: 4px;
|
||||
height: 18px;
|
||||
width: 18px;
|
||||
position: relative;
|
||||
}
|
||||
#tokenmailicon {
|
||||
top: 2px;
|
||||
height: 15px;
|
||||
width: 15px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<script language="Javascript">
|
||||
function confdel()
|
||||
@@ -356,25 +453,73 @@ while ($result_nam && $row_nam=$db->db_fetch_object($result_nam))
|
||||
{
|
||||
$studentenname=$row_nam->studnam;
|
||||
}
|
||||
$htmlstr .= "<table width=100%>\n";
|
||||
|
||||
$htmlstr .= "<table id='beurteilungheadertable' width=100%>\n";
|
||||
$htmlstr .= "<tr><td style='font-size:16px'>".$p->t('abgabetool/student').": <b>".$db->convert_html_chars($studentenname)."</b></td>";
|
||||
$htmlstr .= "<td width=10% align=center><form action='../../../include/".EXT_FKT_PATH."/abgabe_lektor_benotung.php' title='Benotungsformular' target='_blank' method='GET'>";
|
||||
$htmlstr .= "<input type='hidden' name='projektarbeit_id' value='".$projektarbeit_id."'>\n";
|
||||
$htmlstr .= "<input type='hidden' name='uid' value='".$uid."'>\n";
|
||||
$htmlstr .= "<input type='submit' name='note' value='".$p->t('abgabetool/benoten')."'></form></td>";
|
||||
$htmlstr .= "<td width=10% align=center>";
|
||||
if ($num_rows_sem >= 1)
|
||||
{
|
||||
$htmlstr .= "<form action='../../../index.ci.php/extensions/FHC-Core-Projektarbeitsbeurteilung/Projektarbeitsbeurteilung' title='Benotungsformular' target='_blank' method='GET'>";
|
||||
$htmlstr .= "<input type='hidden' name='projektarbeit_id' value='".$projektarbeit_id."'>\n";
|
||||
$htmlstr .= "<input type='hidden' name='uid' value='".$uid."'>\n";
|
||||
$htmlstr .= "<input type='submit' name='note' value='".$p->t('abgabetool/benoten')."'></form>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$htmlstr .= "<form action='javascript:void(0);'>";
|
||||
$htmlstr .= "<input type='submit' value='".$p->t('abgabetool/benoten')."' title='".$p->t('abgabetool/aeltereParbeitBenoten')."'
|
||||
alt='".$p->t('abgabetool/aeltereParbeitBenoten')."' disabled>";
|
||||
$htmlstr .= "</form>";
|
||||
}
|
||||
$htmlstr .= "</td>";
|
||||
|
||||
if($betreuerart!="Zweitbegutachter")
|
||||
{
|
||||
$htmlstr .= "<td width=10% align=center><form action='https://www1.ephorus.com/' title='ephorus' target='_blank' method='GET'>";
|
||||
$htmlstr .= "<input type='submit' name='ephorus' value='".$p->t('abgabetool/plagiatspruefung')."'></form></td></tr>";
|
||||
$htmlstr .= "<input type='submit' name='ephorus' value='".$p->t('abgabetool/plagiatspruefung')."'></form></td>";
|
||||
$htmlstr .= "<td> </td>\n";
|
||||
$htmlstr .= "<td> </td></tr>\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$htmlstr .= "<td> </td></tr>";
|
||||
}
|
||||
$htmlstr .= "<tr><td style='font-size:16px'>Titel: <b>".$db->convert_html_chars($titel)."<b></td><td></td><td valign=\"right\"><a href='abgabe_student_frameset.php?uid=$uid' target='_blank'>".$p->t('abgabetool/studentenansicht')."</a></td>";
|
||||
$htmlstr .= "<tr><td style='font-size:16px'>" . $p->t('abgabetool/titel') . ": <b>".$db->convert_html_chars($titel)."<b></td><td></td><td valign=\"right\"><a href='abgabe_student_frameset.php?uid=$uid' target='_blank'>".$p->t('abgabetool/studentenansicht')."</a></td>";
|
||||
$htmlstr .= "</tr>\n";
|
||||
if (isset($zweitbegutachter) && $zweitbegutachter) // wenn es Zweitbegutachter gibt
|
||||
{
|
||||
// Zweitbegutachter anzeigen
|
||||
$htmlstr .= "<tr>\n";
|
||||
$htmlstr .= "<td style='font-size:16px'>" . $p->t('abgabetool/zweitBegutachter') . ": <b>" . $zweitbegutachter->voller_name . "</b>";
|
||||
|
||||
// keine Mail -> Fehler anzeigen
|
||||
if (!isset($zweitbegutachter->email))
|
||||
$htmlstr .= " <img src='../../../skin/images/exclamation.png' title='" . $p->t('abgabetool/zweitBegutachterEmailFehlt') . "' alt='" . $p->t('abgabetool/zweitBegutachterEmailFehlt') . "'/>";
|
||||
|
||||
// Token senden button wenn Projektarbeit abgegeben und Zweitbegutachter extern ist und Projektarbeit nicht für altes Semester ist
|
||||
if (isset($zweitbegutachter->abgabedatum) && isset($zweitbegutachter->email) && !isset($zweitbegutachter->uid) && $num_rows_sem >= 1)
|
||||
{
|
||||
$htmlstr .= "<form action='" . htmlspecialchars($_SERVER['PHP_SELF']) . "' method='GET' style='display: inline'>\n";
|
||||
$htmlstr .= "<input type='hidden' name='uid' value='" . $student_uid . "'>";
|
||||
$htmlstr .= "<input type='hidden' name='projektarbeit_id' value='" . $projektarbeit_id . "'>";
|
||||
$htmlstr .= "<input type='hidden' name='betreuerart' value='" . $betreuerart . "'>";
|
||||
$htmlstr .= " <a href='mailto:".$zweitbegutachter->email."'><img id='zweitbetrmailicon' src='../../../skin/images/email.png'
|
||||
title='" . $p->t('abgabetool/zweitbetreuerMailSenden', $zweitbegutachter->email) . "' alt='" . $p->t('abgabetool/zweitbetreuerMailSenden', $zweitbegutachter->email) . "'/></a>\n";
|
||||
$htmlstr .= " <button type='submit' name='zweitbegutachtertoken' title='" . $p->t('abgabetool/zweitbetreuerTokenMailSenden') . "'>
|
||||
<img id='tokenmailicon' src='../../../skin/images/repeat.png' alt='" . $p->t('abgabetool/zweitbetreuerTokenMailSenden') . "'/></button>\n";
|
||||
$htmlstr .= "</form>";
|
||||
}
|
||||
|
||||
$htmlstr .= "</td>\n";
|
||||
$htmlstr .= "<td></td>\n";
|
||||
$htmlstr .= "<td></td>\n";
|
||||
$htmlstr .= "</tr>\n";
|
||||
}
|
||||
$htmlstr .= "</table>\n";
|
||||
$htmlstr .= "<table style='width: 100%'><tr>";
|
||||
$htmlstr .= "<td><br><b>".$p->t('abgabetool/abgabetermine').":</b></td>\n";
|
||||
$htmlstr .= "</tr>\n";
|
||||
$htmlstr .= "</table>\n";
|
||||
$htmlstr .= "<br><b>".$p->t('abgabetool/abgabetermine').":</b>\n";
|
||||
$htmlstr .= "<table class='detail' style='padding-top:10px;' >\n";
|
||||
$htmlstr .= "<tr></tr>\n";
|
||||
$htmlstr .= "<tr>
|
||||
@@ -543,4 +688,57 @@ $htmlstr .= "</form>\n";
|
||||
$htmlstr .= "</table>\n";
|
||||
$htmlstr .= "</body></html>\n";
|
||||
echo $htmlstr;
|
||||
|
||||
/**
|
||||
* Mail zum Zweitbegutachter mit Info dass Projektarbeit zur Bewertung bereit ist, inklusive Zugangstoken wenn nötig.
|
||||
* @param object $zweitbegutachter
|
||||
* @param $int erstbegutachter_person_id
|
||||
* @param object $student
|
||||
* @return bool|projektbetreuer|void|null
|
||||
*/
|
||||
function sendZweitbegutachterMail($zweitbegutachter, $erstbegutachter_person_id, $student)
|
||||
{
|
||||
if (!isset($zweitbegutachter->email) || $zweitbegutachter->email == '')
|
||||
return false;
|
||||
|
||||
// send Mail to 2. Begutachter
|
||||
$projektbetreuer = new projektbetreuer();
|
||||
|
||||
$projektbetreuer->generateZweitbegutachterToken($zweitbegutachter->person_id, $zweitbegutachter->projektarbeit_id);
|
||||
|
||||
if (!$projektbetreuer)
|
||||
return $projektbetreuer;
|
||||
|
||||
$zweitbetr = $projektbetreuer->getZweitbegutachterWithToken($erstbegutachter_person_id, $zweitbegutachter->projektarbeit_id, $student->uid);
|
||||
|
||||
if ($zweitbetr)
|
||||
{
|
||||
$intern = isset($zweitbetr->uid);
|
||||
$mail_baselink = APP_ROOT."index.ci.php/extensions/FHC-Core-Projektarbeitsbeurteilung/Projektarbeitsbeurteilung";
|
||||
$mail_fulllink = "$mail_baselink?projektarbeit_id=".$zweitbegutachter->projektarbeit_id."&uid=".$student->uid;
|
||||
$mail_link = $intern ? $mail_fulllink : $mail_baselink;
|
||||
|
||||
$maildata = array();
|
||||
$maildata['geehrt'] = "geehrte".($zweitbegutachter->anrede=="Herr"?"r":"");
|
||||
$maildata['anrede'] = $zweitbegutachter->anrede;
|
||||
$maildata['betreuer_voller_name'] = $zweitbegutachter->voller_name;
|
||||
$maildata['student_anrede'] = $student->anrede;
|
||||
$maildata['student_voller_name'] = trim($student->titelpre." ".$student->vorname." ".$student->nachname." ".$student->titelpost);
|
||||
$maildata['parbeituebersichtlink'] = $intern ? "<p><a href='".APP_ROOT."cis/private/lehre/abgabe_lektor_frameset.html'>Zur Projektarbeitsübersicht</a></p>" : "";
|
||||
$maildata['bewertunglink'] = "<p><a href='$mail_link'>Zur Beurteilung der Arbeit</a></p>";
|
||||
$maildata['token'] = isset($zweitbetr->zugangstoken) && !$intern ? "<p>Zugangstoken: ".$zweitbetr->zugangstoken."</p>" : "";
|
||||
|
||||
return sendSanchoMail(
|
||||
'ParbeitsbeurteilungEndupload',
|
||||
$maildata,
|
||||
$zweitbetr->email,
|
||||
"Masterarbeitsbetreuung",
|
||||
'sancho_header_min_bw.jpg',
|
||||
'sancho_footer_min_bw.jpg'
|
||||
);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@@ -1,224 +1,248 @@
|
||||
<?php
|
||||
/* Copyright (C) 2009 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 >
|
||||
*/
|
||||
|
||||
require_once('../../../config/cis.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/student.class.php');
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
|
||||
|
||||
$getuid=get_uid();
|
||||
$uid=$getuid;
|
||||
|
||||
if(isset($_GET['uid']))
|
||||
{
|
||||
//Studentenansicht
|
||||
$uid = $_GET['uid'];
|
||||
//Rechte Pruefen
|
||||
$allowed=false;
|
||||
|
||||
$student = new student();
|
||||
if(!$student->load($uid))
|
||||
die($p->t('global/fehlerBeimErmittelnDerUID'));
|
||||
|
||||
$stg_obj = new studiengang();
|
||||
if(!$stg_obj->load($student->studiengang_kz))
|
||||
die($p->t('global/fehlerBeimLesenAusDatenbank'));
|
||||
|
||||
//Berechtigung ueber das Berechtigungssystem
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($getuid);
|
||||
if($rechte->isBerechtigt('lehre/abgabetool',$stg_obj->oe_kurzbz,'s'))
|
||||
$allowed=true;
|
||||
|
||||
//oder Lektor mit Betreuung dieses Studenten
|
||||
$qry = "SELECT 1
|
||||
FROM
|
||||
lehre.tbl_projektarbeit
|
||||
JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id)
|
||||
JOIN campus.vw_benutzer on(vw_benutzer.person_id=tbl_projektbetreuer.person_id)
|
||||
WHERE
|
||||
tbl_projektarbeit.student_uid=".$db->db_add_param($uid)." AND
|
||||
vw_benutzer.uid=".$db->db_add_param($getuid).";";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result)>0)
|
||||
{
|
||||
$allowed=true;
|
||||
}
|
||||
}
|
||||
|
||||
if(!$allowed)
|
||||
{
|
||||
die($p->t('abgabetool/keineBerechtigungStudentenansicht'));
|
||||
}
|
||||
}
|
||||
$htmlstr = '';
|
||||
$htmlstr1 = '';
|
||||
$vorname='';
|
||||
$nachname='';
|
||||
$zweitbetreuer = '';
|
||||
|
||||
$sql_query = "SELECT (SELECT nachname FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS bnachname,
|
||||
(SELECT vorname FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS bvorname,
|
||||
(SELECT titelpre FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS btitelpre,
|
||||
(SELECT titelpost FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS btitelpost,
|
||||
(SELECT person_id FROM lehre.tbl_projektbetreuer WHERE projektarbeit_id=tbl_projektarbeit.projektarbeit_id
|
||||
AND betreuerart_kurzbz IN ('Zweitbetreuer', 'Zweitbegutachter') LIMIT 1) AS zweitbetreuer_person_id,
|
||||
(SELECT betreuerart_kurzbz FROM lehre.tbl_projektbetreuer WHERE projektarbeit_id=tbl_projektarbeit.projektarbeit_id
|
||||
AND betreuerart_kurzbz IN ('Zweitbetreuer', 'Zweitbegutachter') LIMIT 1) AS zweitbetreuer_betreuerart_kurzbz,
|
||||
tbl_projektbetreuer.person_id AS betreuer_person_id,
|
||||
tbl_projekttyp.bezeichnung AS prjbez, *
|
||||
FROM lehre.tbl_projektarbeit
|
||||
LEFT JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id)
|
||||
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
|
||||
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
|
||||
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
|
||||
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
|
||||
AND (tbl_projektbetreuer.betreuerart_kurzbz='Betreuer'
|
||||
OR tbl_projektbetreuer.betreuerart_kurzbz='Begutachter'
|
||||
OR tbl_projektbetreuer.betreuerart_kurzbz='Erstbetreuer'
|
||||
OR tbl_projektbetreuer.betreuerart_kurzbz='Erstbegutachter')
|
||||
AND tbl_projektarbeit.student_uid=".$db->db_add_param($uid)."
|
||||
AND public.tbl_benutzer.aktiv
|
||||
AND lehre.tbl_projektarbeit.note IS NULL
|
||||
ORDER BY studiensemester_kurzbz desc, tbl_lehrveranstaltung.kurzbz";
|
||||
|
||||
//AND tbl_projektarbeit.student_uid='$getuid' 'ie07m102';
|
||||
if(!$erg=$db->db_query($sql_query))
|
||||
{
|
||||
$errormsg=$p->t('global/fehlerBeimLesenAusDatenbank');
|
||||
}
|
||||
else
|
||||
{
|
||||
$htmlstr .= "<form name='formular'><input type='hidden' name='check' value=''></form><table id='t1' class='tablesorter'>\n";
|
||||
$htmlstr .= "<thead><tr>\n";
|
||||
$htmlstr .= "
|
||||
<th>".$p->t('abgabetool/details')."</th>
|
||||
<th>".$p->t('lvplan/sem')."</th>
|
||||
<th>".$p->t('lvplan/stg')."</th>
|
||||
<th>".$p->t('global/mail')."</th>
|
||||
<th>".$p->t('abgabetool/betreuer')."</th>
|
||||
<th>".$p->t('abgabetool/typ')."</th>
|
||||
<th>".$p->t('abgabetool/titel')."</th>
|
||||
<!--<th>".$p->t('abgabetool/betreuerart')."</th>-->";
|
||||
$htmlstr .= "</tr></thead><tbody>\n";
|
||||
$i = 0;
|
||||
while($row=$db->db_fetch_object($erg))
|
||||
{
|
||||
$htmlstr1 = '';
|
||||
$zweitbetreuer_obj = new person();
|
||||
if ($zweitbetreuer_obj->load($row->zweitbetreuer_person_id))
|
||||
{
|
||||
$zweitbetreuer = ', <b>'.$db->convert_html_chars($row->zweitbetreuer_betreuerart_kurzbz).'</b>: '.$zweitbetreuer_obj->titelpre.' '.$zweitbetreuer_obj->vorname.' '.$zweitbetreuer_obj->nachname.' '.$zweitbetreuer_obj->titelpost;
|
||||
}
|
||||
$htmlstr1 = '<b>'.$db->convert_html_chars($row->betreuerart_kurzbz).'</b>: ';
|
||||
$vorname=$row->vorname;
|
||||
$nachname=$row->nachname;
|
||||
$uid=$row->uid;
|
||||
($row->btitelpre!=''?$htmlstr1 .= $row->btitelpre.' ':$htmlstr1 .= '');
|
||||
$htmlstr1 .= $row->bvorname.' '.$row->bnachname;
|
||||
($row->btitelpost!=''?$htmlstr1 .= ' '.$row->btitelpost:$htmlstr1 .= '');
|
||||
$htmlstr1 .= $zweitbetreuer;
|
||||
$htmlstr .= " <tr>\n"; //class='liste".($i%2)."'
|
||||
$htmlstr .= " <td><a href='abgabe_student_details.php?uid=".$row->uid."&projektarbeit_id=".$row->projektarbeit_id."&bid=".$row->betreuer_person_id."' target='as_detail' title='Details anzeigen'>".$p->t('abgabetool/upload')."</a></td>\n";
|
||||
$htmlstr .= " <td>".$row->studiensemester_kurzbz."</td>\n";
|
||||
$htmlstr .= " <td>".strtoupper($row->typ.$row->kurzbz)."</td>\n";
|
||||
$htmlstr .= " <td align= center>";
|
||||
|
||||
$qry_betr="SELECT mitarbeiter_uid FROM public.tbl_person
|
||||
JOIN public.tbl_benutzer USING(person_id)
|
||||
JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid)
|
||||
WHERE person_id=".$db->db_add_param($row->betreuer_person_id, FHC_INTEGER).";";
|
||||
if($result_betr=$db->db_query($qry_betr))
|
||||
{
|
||||
if($row_betr=$db->db_fetch_object($result_betr))
|
||||
{
|
||||
$htmlstr.="<a href='mailto:$row_betr->mitarbeiter_uid@".DOMAIN."?subject=Betreuung%20".$row->prjbez."%20von%20".$row->vorname."%20".$row->nachname."'><img src='../../../skin/images/email.png' alt='email' title='".$p->t('abgabetool/emailAnBetreuer')."'></a>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$htmlstr.="UID unknown!";
|
||||
}
|
||||
}
|
||||
$htmlstr .= " </td>";
|
||||
$htmlstr .= " <td>".$htmlstr1." </td>\n";
|
||||
$htmlstr .= " <td>".$db->convert_html_chars($row->prjbez)."</td>\n";
|
||||
$htmlstr .= " <td>".$db->convert_html_chars($row->titel)."</td>\n";
|
||||
// $htmlstr .= " <td>".$db->convert_html_chars($row->betreuerart_kurzbz)."</td>\n";
|
||||
$htmlstr .= " </tr>\n";
|
||||
$i++;
|
||||
}
|
||||
$htmlstr .= "</tbody></table>\n";
|
||||
}
|
||||
echo '
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>Abgabesystem_Studentensicht</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
|
||||
<?php
|
||||
/* Copyright (C) 2009 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 >
|
||||
*/
|
||||
|
||||
require_once('../../../config/cis.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/student.class.php');
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
|
||||
|
||||
$getuid=get_uid();
|
||||
$uid=$getuid;
|
||||
|
||||
if(isset($_GET['uid']))
|
||||
{
|
||||
//Studentenansicht
|
||||
$uid = $_GET['uid'];
|
||||
//Rechte Pruefen
|
||||
$allowed=false;
|
||||
|
||||
$student = new student();
|
||||
if(!$student->load($uid))
|
||||
die($p->t('global/fehlerBeimErmittelnDerUID'));
|
||||
|
||||
$stg_obj = new studiengang();
|
||||
if(!$stg_obj->load($student->studiengang_kz))
|
||||
die($p->t('global/fehlerBeimLesenAusDatenbank'));
|
||||
|
||||
//Berechtigung ueber das Berechtigungssystem
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($getuid);
|
||||
if($rechte->isBerechtigt('lehre/abgabetool',$stg_obj->oe_kurzbz,'s'))
|
||||
$allowed=true;
|
||||
|
||||
//oder Lektor mit Betreuung dieses Studenten
|
||||
$qry = "SELECT 1
|
||||
FROM
|
||||
lehre.tbl_projektarbeit
|
||||
JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id)
|
||||
JOIN campus.vw_benutzer on(vw_benutzer.person_id=tbl_projektbetreuer.person_id)
|
||||
WHERE
|
||||
tbl_projektarbeit.student_uid=".$db->db_add_param($uid)." AND
|
||||
vw_benutzer.uid=".$db->db_add_param($getuid).";";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result)>0)
|
||||
{
|
||||
$allowed=true;
|
||||
}
|
||||
}
|
||||
|
||||
if(!$allowed)
|
||||
{
|
||||
die($p->t('abgabetool/keineBerechtigungStudentenansicht'));
|
||||
}
|
||||
}
|
||||
$htmlstr = '';
|
||||
$htmlstr1 = '';
|
||||
$vorname='';
|
||||
$nachname='';
|
||||
$zweitbetreuer = '';
|
||||
|
||||
$sql_query = "SELECT (SELECT nachname FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS bnachname,
|
||||
(SELECT vorname FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS bvorname,
|
||||
(SELECT titelpre FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS btitelpre,
|
||||
(SELECT titelpost FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS btitelpost,
|
||||
(SELECT person_id FROM lehre.tbl_projektbetreuer WHERE projektarbeit_id=tbl_projektarbeit.projektarbeit_id
|
||||
AND betreuerart_kurzbz IN ('Zweitbetreuer', 'Zweitbegutachter') LIMIT 1) AS zweitbetreuer_person_id,
|
||||
(SELECT betreuerart_kurzbz FROM lehre.tbl_projektbetreuer WHERE projektarbeit_id=tbl_projektarbeit.projektarbeit_id
|
||||
AND betreuerart_kurzbz IN ('Zweitbetreuer', 'Zweitbegutachter') LIMIT 1) AS zweitbetreuer_betreuerart_kurzbz,
|
||||
tbl_projektbetreuer.person_id AS betreuer_person_id,
|
||||
tbl_projekttyp.bezeichnung AS prjbez, *,
|
||||
lehre.tbl_projektbetreuer.note as note,
|
||||
public.tbl_benutzer.aktiv as aktiv,
|
||||
(SELECT abgeschicktvon FROM extension.tbl_projektarbeitsbeurteilung WHERE projektarbeit_id = tbl_projektarbeit.projektarbeit_id AND betreuer_person_id = tbl_projektbetreuer.person_id) AS babgeschickt,
|
||||
(SELECT abgeschicktvon FROM extension.tbl_projektarbeitsbeurteilung WHERE projektarbeit_id = tbl_projektarbeit.projektarbeit_id AND betreuerart_kurzbz IN ('Zweitbetreuer', 'Zweitbegutachter') LIMIT 1) AS zweitbetreuer_abgeschickt
|
||||
FROM lehre.tbl_projektarbeit
|
||||
LEFT JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id)
|
||||
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
|
||||
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
|
||||
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
|
||||
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
|
||||
AND (tbl_projektbetreuer.betreuerart_kurzbz='Betreuer'
|
||||
OR tbl_projektbetreuer.betreuerart_kurzbz='Begutachter'
|
||||
OR tbl_projektbetreuer.betreuerart_kurzbz='Erstbetreuer'
|
||||
OR tbl_projektbetreuer.betreuerart_kurzbz='Erstbegutachter')
|
||||
AND tbl_projektarbeit.student_uid=".$db->db_add_param($uid)."
|
||||
ORDER BY studiensemester_kurzbz desc, tbl_lehrveranstaltung.kurzbz";
|
||||
|
||||
//AND tbl_projektarbeit.student_uid='$getuid' 'ie07m102';
|
||||
if(!$erg=$db->db_query($sql_query))
|
||||
{
|
||||
$errormsg=$p->t('global/fehlerBeimLesenAusDatenbank');
|
||||
}
|
||||
else
|
||||
{
|
||||
$htmlstr .= "<form name='formular'><input type='hidden' name='check' value=''></form><table id='t1' class='tablesorter'>\n";
|
||||
$htmlstr .= "<thead><tr>\n";
|
||||
$htmlstr .= "
|
||||
<th>".$p->t('abgabetool/details')."</th>
|
||||
<th>".$p->t('lvplan/sem')."</th>
|
||||
<th>".$p->t('lvplan/stg')."</th>
|
||||
<th>".$p->t('global/mail')."</th>
|
||||
<th>".$p->t('abgabetool/betreuer')."</th>
|
||||
<th>".$p->t('abgabetool/typ')."</th>
|
||||
<th>".$p->t('abgabetool/titel')."</th>
|
||||
<!--<th>".$p->t('abgabetool/betreuerart')."</th>-->";
|
||||
$htmlstr .= "</tr></thead><tbody>\n";
|
||||
$i = 0;
|
||||
while($row=$db->db_fetch_object($erg))
|
||||
{
|
||||
$htmlstr1 = '';
|
||||
$zweitbetreuer_obj = new person();
|
||||
if ($zweitbetreuer_obj->load($row->zweitbetreuer_person_id))
|
||||
{
|
||||
$zweitbetreuer = ', <b>'.$db->convert_html_chars($row->zweitbetreuer_betreuerart_kurzbz).'</b>: '.$zweitbetreuer_obj->titelpre.' '.$zweitbetreuer_obj->vorname.' '.$zweitbetreuer_obj->nachname.' '.$zweitbetreuer_obj->titelpost;
|
||||
}
|
||||
$htmlstr1 = '<b>'.$db->convert_html_chars($row->betreuerart_kurzbz).'</b>: ';
|
||||
$vorname=$row->vorname;
|
||||
$nachname=$row->nachname;
|
||||
$uid=$row->uid;
|
||||
($row->btitelpre!=''?$htmlstr1 .= $row->btitelpre.' ':$htmlstr1 .= '');
|
||||
$htmlstr1 .= $row->bvorname.' '.$row->bnachname;
|
||||
($row->btitelpost!=''?$htmlstr1 .= ' '.$row->btitelpost:$htmlstr1 .= '');
|
||||
$htmlstr1 .= $zweitbetreuer;
|
||||
$htmlstr .= " <tr>\n"; //class='liste".($i%2)."'
|
||||
|
||||
if (is_null($row->note) && $row->aktiv === 't')
|
||||
$htmlstr .= " <td><a href='abgabe_student_details.php?uid=".$row->uid."&projektarbeit_id=".$row->projektarbeit_id."&bid=".$row->betreuer_person_id."' target='as_detail' title='Details anzeigen'>".$p->t('abgabetool/upload')."</a></td>\n";
|
||||
elseif (!is_null($row->babgeschickt) || !is_null($row->zweitbetreuer_abgeschickt))
|
||||
{
|
||||
$htmlstr .= "<td>";
|
||||
|
||||
if (!is_null($row->babgeschickt))
|
||||
$htmlstr .= "<a href='../pdfExport.php?xml=projektarbeitsbeurteilung.xml.php&xsl=Projektbeurteilung&betreuerart_kurzbz=" . $row->betreuerart_kurzbz . "&projektarbeit_id=" . $row->projektarbeit_id . "&person_id=" . $row->betreuer_person_id ."' title='".$p->t('abgabetool/projektbeurteilungDownload')."'>".$p->t('abgabetool/projektbeurteilungErstDownload')."</a>";
|
||||
|
||||
if (!is_null($row->babgeschickt) && !is_null($row->zweitbetreuer_abgeschickt))
|
||||
$htmlstr .= "/";
|
||||
|
||||
if (!is_null($row->zweitbetreuer_abgeschickt))
|
||||
$htmlstr .= "<a href='../pdfExport.php?xml=projektarbeitsbeurteilung.xml.php&xsl=Projektbeurteilung&betreuerart_kurzbz=" . $row->zweitbetreuer_betreuerart_kurzbz . "&projektarbeit_id=" . $row->projektarbeit_id . "&person_id=" . $row->zweitbetreuer_person_id."' title='".$p->t('abgabetool/projektbeurteilungDownload')."'>".$p->t('abgabetool/projektbeurteilungZweitDownload')."</a>";
|
||||
|
||||
$htmlstr .= "</td>";
|
||||
} else
|
||||
{
|
||||
$htmlstr .= "<td></td>";
|
||||
}
|
||||
|
||||
|
||||
$htmlstr .= " <td>".$row->studiensemester_kurzbz."</td>\n";
|
||||
$htmlstr .= " <td>".strtoupper($row->typ.$row->kurzbz)."</td>\n";
|
||||
$htmlstr .= " <td align= center>";
|
||||
|
||||
$qry_betr="SELECT mitarbeiter_uid FROM public.tbl_person
|
||||
JOIN public.tbl_benutzer USING(person_id)
|
||||
JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid)
|
||||
WHERE person_id=".$db->db_add_param($row->betreuer_person_id, FHC_INTEGER).";";
|
||||
if($result_betr=$db->db_query($qry_betr))
|
||||
{
|
||||
if($row_betr=$db->db_fetch_object($result_betr))
|
||||
{
|
||||
$htmlstr.="<a href='mailto:$row_betr->mitarbeiter_uid@".DOMAIN."?subject=Betreuung%20".$row->prjbez."%20von%20".$row->vorname."%20".$row->nachname."'><img src='../../../skin/images/email.png' alt='email' title='".$p->t('abgabetool/emailAnBetreuer')."'></a>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$htmlstr.="UID unknown!";
|
||||
}
|
||||
}
|
||||
$htmlstr .= " </td>";
|
||||
$htmlstr .= " <td>".$htmlstr1." </td>\n";
|
||||
$htmlstr .= " <td>".$db->convert_html_chars($row->prjbez)."</td>\n";
|
||||
$htmlstr .= " <td>".$db->convert_html_chars($row->titel)."</td>\n";
|
||||
// $htmlstr .= " <td>".$db->convert_html_chars($row->betreuerart_kurzbz)."</td>\n";
|
||||
$htmlstr .= " </tr>\n";
|
||||
$i++;
|
||||
}
|
||||
$htmlstr .= "</tbody></table>\n";
|
||||
}
|
||||
echo '
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>Abgabesystem_Studentensicht</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
|
||||
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
|
||||
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
|
||||
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[4,0]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>';
|
||||
|
||||
echo '<h1><div style="float:left">'.$p->t('abgabetool/ueberschrift');
|
||||
if(trim($uid)!='')
|
||||
echo " ($uid $vorname $nachname)</div> <div style='text-align:right'><a href='".$p->t('dms_link/abgabetoolStudentHandbuch')."' target='_blank'><img src='../../../skin/images/information.png' alt='Anleitung' title='Anleitung Abgabetool' border=0> ".$p->t('global/handbuch')."</a></div>";
|
||||
echo '</h1>';
|
||||
echo $htmlstr;
|
||||
echo '</body>
|
||||
</html>';
|
||||
?>
|
||||
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
|
||||
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[4,0]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>';
|
||||
|
||||
echo '<h1><div style="float:left">'.$p->t('abgabetool/ueberschrift');
|
||||
if(trim($uid)!='')
|
||||
echo " ($uid $vorname $nachname)</div> <div style='text-align:right'><a href='".$p->t('dms_link/abgabetoolStudentHandbuch')."' target='_blank'><img src='../../../skin/images/information.png' alt='Anleitung' title='Anleitung Abgabetool' border=0> ".$p->t('global/handbuch')."</a></div>";
|
||||
echo '</h1>';
|
||||
echo $htmlstr;
|
||||
echo '</body>
|
||||
</html>';
|
||||
?>
|
||||
|
||||
@@ -34,6 +34,8 @@ require_once('../../../include/mail.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/projektarbeit.class.php');
|
||||
require_once('../../../include/projektbetreuer.class.php');
|
||||
require_once('../../../include/sancho.inc.php');
|
||||
|
||||
$anzeigesprache = getSprache();
|
||||
$p = new phrasen($anzeigesprache);
|
||||
@@ -324,7 +326,6 @@ if($command=="update" && $error!=true)
|
||||
{
|
||||
if($row_zd=@$db->db_fetch_object($result_zd))
|
||||
{
|
||||
|
||||
$htmlstr = "<div>".$p->t('abgabetool/betreuer').": <b>".$db->convert_html_chars($betreuer)."</b><br>".$p->t('abgabetool/titel').": <b>".$db->convert_html_chars($titel)."<b><br><br></div>\n";
|
||||
$htmlstr .= "<table class='detail' style='padding-top:10px;'>\n";
|
||||
$htmlstr .= "<tr></tr>\n";
|
||||
@@ -397,7 +398,7 @@ if($command=="update" && $error!=true)
|
||||
echo $p->t('global/dateiNichtErfolgreichHochgeladen');
|
||||
}
|
||||
}
|
||||
//E-Mail an 1.Begutachter
|
||||
//E-Mail an 1.Begutachter und 2.Begutachter
|
||||
if($bid!='' && $bid!=NULL)
|
||||
{
|
||||
$qry_betr="SELECT distinct trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as first,
|
||||
@@ -422,15 +423,98 @@ if($command=="update" && $error!=true)
|
||||
}
|
||||
else
|
||||
{
|
||||
// paarbeit sollte nur ab SS2021 online bewertet werden
|
||||
$qry_sem="SELECT 1
|
||||
FROM lehre.tbl_projektarbeit
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE projektarbeit_id=".$db->db_add_param($projektarbeit_id, FHC_INTEGER)."
|
||||
AND tbl_studiensemester.start::date >= (SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz = 'SS2021')::date
|
||||
LIMIT 1";
|
||||
|
||||
$result_sem=$db->db_query($qry_sem);
|
||||
$num_rows_sem = $db->db_num_rows($result_sem);
|
||||
if($num_rows_sem < 0)
|
||||
{
|
||||
echo "<font color=\"#FF0000\">".$p->t('abgabetool/fehlerAktualitaetProjektarbeit')."</font><br> ";
|
||||
}
|
||||
|
||||
$row_std=$db->db_fetch_object($result_std);
|
||||
|
||||
$mail = new mail($row_betr->mitarbeiter_uid."@".DOMAIN, "no-reply@".DOMAIN, "Bachelor-/Masterarbeitsbetreuung",
|
||||
"Sehr geehrte".($row_betr->anrede=="Herr"?"r":"")." ".$row_betr->anrede." ".$row_betr->first."!\n\n".($row_std->anrede)." ".trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost)." hat eine Abgabe vorgenommen.\n\n--------------------------------------------------------------------------\nDies ist ein vom Bachelor-/Masterarbeitsabgabesystem generiertes Info-Mail\nCis->Mein CIS->Projektarbeiten->Bachelor- und Masterarbeitsabgabe\n--------------------------------------------------------------------------");
|
||||
$mail->setReplyTo($user."@".DOMAIN);
|
||||
if(!$mail->send())
|
||||
// 1. Begutachter mail ohne Token
|
||||
$mail_baselink = APP_ROOT."index.ci.php/extensions/FHC-Core-Projektarbeitsbeurteilung/Projektarbeitsbeurteilung";
|
||||
$mail_fulllink = "$mail_baselink?projektarbeit_id=".$projektarbeit_id."&uid=".$row_std->uid;
|
||||
$maildata = array();
|
||||
$maildata['geehrt'] = "geehrte".($row_betr->anrede=="Herr"?"r":"");
|
||||
$maildata['anrede'] = $row_betr->anrede;
|
||||
$maildata['betreuer_voller_name'] = $row_betr->first;
|
||||
$maildata['student_anrede'] = $row_std->anrede;
|
||||
$maildata['student_voller_name'] = trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost);
|
||||
$maildata['parbeituebersichtlink'] = "<p><a href='".APP_ROOT."cis/private/lehre/abgabe_lektor_frameset.html'>Zur Projektarbeitsübersicht</a></p>";
|
||||
$maildata['bewertunglink'] = $num_rows_sem >= 1 ? "<p><a href='$mail_fulllink'>Zur Beurteilung der Arbeit</a></p>" : "";
|
||||
$maildata['token'] = "";
|
||||
|
||||
$mailres = sendSanchoMail(
|
||||
'ParbeitsbeurteilungEndupload',
|
||||
$maildata,
|
||||
$row_betr->mitarbeiter_uid."@".DOMAIN,
|
||||
"Bachelor-/Masterarbeitsbetreuung",
|
||||
'sancho_header_min_bw.jpg',
|
||||
'sancho_footer_min_bw.jpg',
|
||||
$user."@".DOMAIN);
|
||||
|
||||
if(!$mailres)
|
||||
{
|
||||
echo "<font color=\"#FF0000\">".$p->t('abgabetool/fehlerMailBegutachter')."</font><br> ";
|
||||
}
|
||||
|
||||
// 2. Begutachter mail, wenn Endabgabe, mit Token wenn extern
|
||||
if ($paabgabetyp_kurzbz == 'end')
|
||||
{
|
||||
$projektbetreuer = new projektbetreuer();
|
||||
$zweitbetr = $projektbetreuer->getZweitbegutachterWithToken($bid, $projektarbeit_id, $row_std->uid);
|
||||
|
||||
if ($zweitbetr)
|
||||
{
|
||||
$tokenGenRes = $projektbetreuer->generateZweitbegutachterToken($zweitbetr->person_id, $projektarbeit_id);
|
||||
|
||||
if (!$tokenGenRes)
|
||||
echo "<font color=\"#FF0000\">" . $p->t('abgabetool/fehlerMailZweitBegutachter') . "</font><br> ";
|
||||
|
||||
$zweitbetr = $projektbetreuer->getZweitbegutachterWithToken($bid, $projektarbeit_id, $row_std->uid);
|
||||
|
||||
if (!$zweitbetr)
|
||||
echo "<font color=\"#FF0000\">" . $p->t('abgabetool/fehlerMailZweitBegutachter') . "</font><br> ";
|
||||
|
||||
$intern = isset($zweitbetr->uid);
|
||||
$mail_link = $intern ? $mail_fulllink : $mail_baselink;
|
||||
|
||||
$zweitbetmaildata = array();
|
||||
$zweitbetmaildata['geehrt'] = "geehrte" . ($zweitbetr->anrede == "Herr" ? "r" : "");
|
||||
$zweitbetmaildata['anrede'] = $zweitbetr->anrede;
|
||||
$zweitbetmaildata['betreuer_voller_name'] = $zweitbetr->voller_name;
|
||||
$zweitbetmaildata['student_anrede'] = $maildata['student_anrede'];
|
||||
$zweitbetmaildata['student_voller_name'] = $maildata['student_voller_name'];
|
||||
$zweitbetmaildata['parbeituebersichtlink'] = $intern ? $maildata['parbeituebersichtlink'] : "";
|
||||
$zweitbetmaildata['bewertunglink'] = $num_rows_sem >= 1 ? "<p><a href='$mail_link'>Zur Beurteilung der Arbeit</a></p>" : "";
|
||||
$zweitbetmaildata['token'] = $num_rows_sem >= 1 && isset($zweitbetr->zugangstoken) && !$intern ? "<p>Zugangstoken: " . $zweitbetr->zugangstoken . "</p>" : "";
|
||||
|
||||
$mailres = sendSanchoMail(
|
||||
'ParbeitsbeurteilungEndupload',
|
||||
$zweitbetmaildata,
|
||||
$zweitbetr->email,
|
||||
"Masterarbeitsbetreuung",
|
||||
'sancho_header_min_bw.jpg',
|
||||
'sancho_footer_min_bw.jpg',
|
||||
$user . "@" . DOMAIN
|
||||
);
|
||||
|
||||
if (!$mailres)
|
||||
{
|
||||
echo "<font color=\"#FF0000\">" . $p->t('abgabetool/fehlerMailZweitBegutachter') . "</font><br> ";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -39,6 +39,7 @@ require_once('../../include/prestudent.class.php');
|
||||
require_once('../../include/dokument_export.class.php');
|
||||
require_once('../../include/person.class.php');
|
||||
require_once('../../include/webservicelog.class.php');
|
||||
require_once('../../include/projektarbeit.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
@@ -120,7 +121,7 @@ $params = 'xmlformat=xml';
|
||||
|
||||
//Admins duerfen Dokumente anderer Personen drucken
|
||||
if ($rechte->isBerechtigt('admin'))
|
||||
$user = $_GET['uid'];
|
||||
$user = isset($_GET['uid']) ? $_GET['uid'] : $user;
|
||||
|
||||
$params .= '&uid='.$user;
|
||||
if (isset($_GET['person_id']))
|
||||
@@ -139,6 +140,11 @@ if (isset($_GET['all']))
|
||||
$params .= '&all=1';
|
||||
if (isset($_GET['xsl_oe_kurzbz']))
|
||||
$params .= '&xsl_oe_kurzbz='. $_GET['xsl_oe_kurzbz'];
|
||||
if (isset($_GET['projektarbeit_id']))
|
||||
$params .= '&projektarbeit_id='. $_GET['projektarbeit_id'];
|
||||
if (isset($_GET['betreuerart_kurzbz']))
|
||||
$params .= '&betreuerart_kurzbz='. $_GET['betreuerart_kurzbz'];
|
||||
|
||||
|
||||
// Logeintrag bei Download von Zahlungsbestaetigungen
|
||||
if (isset($_GET['xsl']) && $_GET['xsl'] == 'Zahlung')
|
||||
@@ -150,7 +156,7 @@ if (isset($_GET['xsl']) && $_GET['xsl'] == 'Zahlung')
|
||||
$log->request_id = isset($_GET['buchungsnummern']) && !empty($_GET['buchungsnummern']) ? $_GET['buchungsnummern'] : NULL;
|
||||
$log->beschreibung = 'Zahlungsbestaetigungsdownload';
|
||||
$log->request_data = $requestdata;
|
||||
$log->execute_user = $user;
|
||||
$log->execute_user = get_uid();
|
||||
|
||||
$log->save(true);
|
||||
}
|
||||
@@ -183,9 +189,40 @@ if (isset($_GET['output']) && $_GET['output'] != 'pdf')
|
||||
else
|
||||
$output = 'pdf';
|
||||
|
||||
if (isset($_GET['xsl']) && ($_GET['xsl'] === 'Projektbeurteilung'))
|
||||
{
|
||||
if (!isset($_GET['betreuerart_kurzbz']) || !isset($_GET['person_id']) || !isset($_GET['projektarbeit_id']))
|
||||
die('Fehlerhafte Parameteruebergabe');
|
||||
|
||||
$projektarbeit = new projektarbeit();
|
||||
$projektarbeit->load($_GET['projektarbeit_id']);
|
||||
|
||||
$betreuer = new person();
|
||||
$betreuer->getPersonFromBenutzer($user);
|
||||
|
||||
//Überprüft ob es der Betreuer oder der Student ist
|
||||
if ($betreuer->person_id !== $_GET['person_id'] && $projektarbeit->student_uid !== $user && !$rechte->isBerechtigt('assistenz'))
|
||||
die("<html><body><h3>Sie haben keine Berechtigung für diese Aktion.</h3></body></html>");
|
||||
|
||||
switch ($_GET['betreuerart_kurzbz'])
|
||||
{
|
||||
case 'Begutachter' :
|
||||
$xsl = 'ProjektBeurteilungBA';
|
||||
break;
|
||||
case 'Erstbegutachter' :
|
||||
$xsl = 'ProjektBeurteilungMAErst';
|
||||
break;
|
||||
case 'Zweitbegutachter' :
|
||||
$xsl = 'ProjektBeurteilungMAZweit';
|
||||
break;
|
||||
}
|
||||
|
||||
$allowed = true;
|
||||
}
|
||||
|
||||
|
||||
$konto = new konto();
|
||||
if (((isset($_GET["uid"]) && $user == $_GET["uid"])) || $rechte->isBerechtigt('admin'))
|
||||
if ((((isset($_GET["uid"]) && $user == $_GET["uid"])) || $rechte->isBerechtigt('admin')) || (isset($allowed) && $allowed === true))
|
||||
{
|
||||
$buchungstypen = array();
|
||||
if (defined("CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN"))
|
||||
|
||||
+332
-331
@@ -1,333 +1,334 @@
|
||||
<?php
|
||||
/* Copyright (C) 2010 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 >
|
||||
*/
|
||||
/*******************************************************************************************************
|
||||
* projektabgabe
|
||||
* projektabgabe ermöglicht den Download aller Abgaben eines Stg.
|
||||
* fuer Diplom- und Bachelorarbeiten
|
||||
*******************************************************************************************************/
|
||||
|
||||
require_once('../../../config/cis.config.inc.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/mail.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
|
||||
|
||||
$aktion='';
|
||||
if(isset($_REQUEST['aktion']))
|
||||
{
|
||||
$aktion=$_REQUEST['aktion'];
|
||||
}
|
||||
$zipfile='';
|
||||
$stg_kz=(isset($_REQUEST['stg_kz'])?$_REQUEST['stg_kz']:'');
|
||||
if(!is_numeric($stg_kz) && $stg_kz!='')
|
||||
exit();
|
||||
|
||||
$abgabetyp=(isset($_REQUEST['abgabetyp'])?$_REQUEST['abgabetyp']:'');
|
||||
$termin=(isset($_REQUEST['termin'])?$_REQUEST['termin']:'');
|
||||
|
||||
$htmlstr='';
|
||||
$datum_obj = new datum();
|
||||
$user = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
$berechtigung_kurzbz = 'lehre/abgabetool:download';
|
||||
|
||||
if(isset($_GET['id']) && isset($_GET['uid']))
|
||||
{
|
||||
if($rechte->isBerechtigt($berechtigung_kurzbz))
|
||||
{
|
||||
if(!is_numeric($_GET['id']) || $_GET['id']=='')
|
||||
die($p->t('global/fehlerBeiDerParameteruebergabe'));
|
||||
|
||||
$file = $_GET['id'].'_'.$_GET['uid'].'.pdf';
|
||||
$filename = PAABGABE_PATH.$file;
|
||||
header('Content-Type: application/octet-stream');
|
||||
header('Content-disposition: attachment; filename="'.$file.'"');
|
||||
readfile($filename);
|
||||
}
|
||||
else
|
||||
{
|
||||
die($p->t('global/keineBerechtigungFuerDieseSeite'));
|
||||
}
|
||||
exit();
|
||||
}
|
||||
|
||||
|
||||
if($aktion!='zip')
|
||||
{
|
||||
echo '<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>'.$p->t('abgabetool/projektabgabeUebersicht').'</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
|
||||
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
|
||||
<?php
|
||||
/* Copyright (C) 2010 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 >
|
||||
*/
|
||||
/*******************************************************************************************************
|
||||
* projektabgabe
|
||||
* projektabgabe ermöglicht den Download aller Abgaben eines Stg.
|
||||
* fuer Diplom- und Bachelorarbeiten
|
||||
*******************************************************************************************************/
|
||||
|
||||
require_once('../../../config/cis.config.inc.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/mail.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
|
||||
include('../../../include/meta/jquery.php');
|
||||
include('../../../include/meta/jquery-tablesorter.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
|
||||
|
||||
$aktion='';
|
||||
if(isset($_REQUEST['aktion']))
|
||||
{
|
||||
$aktion=$_REQUEST['aktion'];
|
||||
}
|
||||
$zipfile='';
|
||||
$stg_kz=(isset($_REQUEST['stg_kz'])?$_REQUEST['stg_kz']:'');
|
||||
if(!is_numeric($stg_kz) && $stg_kz!='')
|
||||
exit();
|
||||
|
||||
$abgabetyp=(isset($_REQUEST['abgabetyp'])?$_REQUEST['abgabetyp']:'');
|
||||
$termin=(isset($_REQUEST['termin'])?$_REQUEST['termin']:'');
|
||||
|
||||
$htmlstr='';
|
||||
$datum_obj = new datum();
|
||||
$user = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
$berechtigung_kurzbz = 'lehre/abgabetool:download';
|
||||
|
||||
if(isset($_GET['id']) && isset($_GET['uid']))
|
||||
{
|
||||
if($rechte->isBerechtigt($berechtigung_kurzbz))
|
||||
{
|
||||
if(!is_numeric($_GET['id']) || $_GET['id']=='')
|
||||
die($p->t('global/fehlerBeiDerParameteruebergabe'));
|
||||
|
||||
$file = $_GET['id'].'_'.$_GET['uid'].'.pdf';
|
||||
$filename = PAABGABE_PATH.$file;
|
||||
header('Content-Type: application/octet-stream');
|
||||
header('Content-disposition: attachment; filename="'.$file.'"');
|
||||
readfile($filename);
|
||||
}
|
||||
else
|
||||
{
|
||||
die($p->t('global/keineBerechtigungFuerDieseSeite'));
|
||||
}
|
||||
exit();
|
||||
}
|
||||
|
||||
|
||||
if($aktion!='zip')
|
||||
{
|
||||
echo '<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>'.$p->t('abgabetool/projektabgabeUebersicht').'</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
|
||||
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
|
||||
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
|
||||
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
|
||||
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<link rel="stylesheet" href="../../../include/js/tablesort/table.css" type="text/css">
|
||||
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
|
||||
<script src="../../../vendor/components/jqueryui/jquery-ui.min.js" type="text/javascript"></script>
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[5,0]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<H1>'.$p->t('abgabetool/projektabgabeUebersicht').'</H1>';
|
||||
|
||||
$s = new studiengang();
|
||||
$s->loadArray($rechte->getStgKz($berechtigung_kurzbz),'typ,kurzbz');
|
||||
|
||||
echo'<form method="GET" action="'.$_SERVER['PHP_SELF'].'" name="abgabeFrm">';
|
||||
|
||||
echo $p->t('global/studiengang').": <SELECT onchange='set_termin();' id='stg_kz' name='stg_kz'>";
|
||||
echo '<option value="" '. (!isset($_REQUEST['stg_kz']) || empty($stg_kz)?' selected ':'') .'>-</option>';
|
||||
foreach ($s->result as $stg)
|
||||
{
|
||||
echo '<option value="'.$stg->studiengang_kz.'" '.(isset($_REQUEST['stg_kz']) && $stg->studiengang_kz==$stg_kz?' selected ':'').'>'.$stg->kuerzel.'</option>';
|
||||
}
|
||||
echo "</SELECT><input type=hidden name=aktion value=\"\">";
|
||||
|
||||
|
||||
echo $p->t('abgabetool/abgabetyp').": <SELECT onchange='set_termin();' id='abgabetyp' name='abgabetyp'>";
|
||||
$qry_atyp="SELECT * FROM campus.tbl_paabgabetyp";
|
||||
echo '<option value="" '.(!isset($_REQUEST['abgabetyp']) || empty($abgabetyp)?' selected ':'').'>-</option>';
|
||||
if($result_atyp=$db->db_query($qry_atyp))
|
||||
{
|
||||
while($row_atyp=$db->db_fetch_object($result_atyp))
|
||||
{
|
||||
echo '<option value="'.$row_atyp->paabgabetyp_kurzbz.'" '.($row_atyp->paabgabetyp_kurzbz==$abgabetyp?' selected ':'').'>'.$row_atyp->bezeichnung.'</option>';
|
||||
}
|
||||
}
|
||||
echo "</SELECT>";
|
||||
|
||||
$qry_termin=" SELECT distinct campus.tbl_paabgabe.datum as termin , to_char(campus.tbl_paabgabe.datum, 'DD.MM.YYYY') as termin_anzeige
|
||||
FROM lehre.tbl_projektarbeit
|
||||
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
|
||||
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
|
||||
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
|
||||
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
|
||||
";
|
||||
|
||||
if ($stg_kz!='')
|
||||
$qry_termin.=" AND public.tbl_studiengang.studiengang_kz=".$db->db_add_param($stg_kz, FHC_INTEGER);
|
||||
if ($abgabetyp!='')
|
||||
$qry_termin.=" AND campus.tbl_paabgabe.paabgabetyp_kurzbz=".$db->db_add_param($abgabetyp);
|
||||
$qry_termin.=" ORDER BY termin desc";
|
||||
|
||||
echo ' '.$p->t('abgabetool/termin').' <select name="termin" id="termin">
|
||||
<option value="" '. (!isset($_REQUEST['termin']) || empty($termin)?' selected ':'') .'>-'.$p->t('global/alle').'-</option> ';
|
||||
if($result_termin=$db->db_query($qry_termin))
|
||||
{
|
||||
while($row_termin=$db->db_fetch_object($result_termin))
|
||||
{
|
||||
echo '<option value="'.$row_termin->termin.'" '.($row_termin->termin==$termin?' selected ':'').'>'.$row_termin->termin_anzeige.'</option>';
|
||||
}
|
||||
}
|
||||
echo '</select>';
|
||||
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
function set_termin()
|
||||
{
|
||||
$('#termin').children().remove().end();
|
||||
$.ajax
|
||||
(
|
||||
{
|
||||
type: "POST",
|
||||
url: 'projektabgabe_autocomplete.php',
|
||||
dataType: 'json',
|
||||
data: "work=work_termin_select" + "&stg_kz=" + $('#stg_kz').val() + "&abgabetyp=" + $('#abgabetyp').val(),
|
||||
success: function(json)
|
||||
{
|
||||
var output = '';
|
||||
for (p in json)
|
||||
{
|
||||
output += '<option value=\"' + json[p].oTermin + '\">' + json[p].oTerminAnzeige + '<\/option>\n';
|
||||
}
|
||||
$('#termin').html(output);
|
||||
$('#termin').focus();
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
</script>
|
||||
<?php
|
||||
echo " <INPUT type='submit' name='ok' value='".$p->t('global/anzeigen')."' onclick=\"f=document.abgabeFrm;f.aktion.value='';\"> <INPUT type='button' value='ZIP' onclick=\"f=document.abgabeFrm;f.aktion.value='zip';f.submit();\"></FORM><br>";
|
||||
}
|
||||
|
||||
if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=='zip'))
|
||||
{
|
||||
|
||||
$s=new studiengang();
|
||||
if($stg_kz!='' && !$s->load($stg_kz))
|
||||
{
|
||||
die($p->t('global/studiengangKonnteNichtGefundenWerden'));
|
||||
}
|
||||
|
||||
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt($berechtigung_kurzbz, $s->oe_kurzbz))
|
||||
{
|
||||
$qry="";
|
||||
|
||||
$qry.=" SELECT public.tbl_studiengang.bezeichnung as stgbez, campus.tbl_paabgabe.datum as termin,*
|
||||
FROM lehre.tbl_projektarbeit
|
||||
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
|
||||
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
|
||||
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
|
||||
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
|
||||
|
||||
";
|
||||
|
||||
if ($stg_kz!='')
|
||||
$qry.=" AND public.tbl_studiengang.studiengang_kz=".$db->db_add_param($stg_kz);
|
||||
if ($abgabetyp!='')
|
||||
$qry.=" AND campus.tbl_paabgabe.paabgabetyp_kurzbz=".$db->db_add_param($abgabetyp);
|
||||
if ($termin!='')
|
||||
$qry.=" AND campus.tbl_paabgabe.datum=".$db->db_add_param($termin);
|
||||
$qry.=" ORDER BY nachname ";
|
||||
|
||||
if($stg_kz=='' && $abgabetyp=='' && $termin=='')
|
||||
{
|
||||
$qry.=" limit 100 ";
|
||||
}
|
||||
|
||||
if(!$erg=$db->db_query($qry))
|
||||
{
|
||||
die('Fehler beim Laden der Betreuungen!');
|
||||
}
|
||||
else
|
||||
{
|
||||
$htmlstr .= "<table id='t1' class='tablesorter'>\n";
|
||||
$htmlstr .= "<thead><tr>\n";
|
||||
$htmlstr .= "<th>".$p->t('global/download')."</th>
|
||||
<th>".$p->t('abgabetool/termin')."</th>
|
||||
<th>".$p->t('abgabetool/abgabetyp')."</th>
|
||||
<th>".$p->t('global/uid')."</th>
|
||||
<th>".$p->t('global/vorname')."</th>
|
||||
<th>".$p->t('global/nachname')."</th>";
|
||||
$htmlstr .= "<th>".$p->t('abgabetool/typ')."</th>
|
||||
<th>".$p->t('abgabetool/titel')."</th>";
|
||||
$htmlstr .= "</tr></thead><tbody>\n";
|
||||
$i = 0;
|
||||
while($row=$db->db_fetch_object($erg))
|
||||
{
|
||||
$htmlstr .= "<tr>";
|
||||
if(file_exists(PAABGABE_PATH.$row->paabgabe_id.'_'.$row->uid.'.pdf'))
|
||||
{
|
||||
$htmlstr .= " <td align=center><a href='".$_SERVER['PHP_SELF']."?id=".$row->paabgabe_id."&uid=$row->uid' target='_blank'><img src='../../../skin/images/pdf.ico' alt='PDF' title='abgegebene Datei' border=0></a></td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$htmlstr .= " <td> </td>";
|
||||
}
|
||||
//$htmlstr .= "<td>link</td>";
|
||||
$htmlstr .= "<td>".$datum_obj->formatDatum($row->termin,'d.m.Y')."</td>";
|
||||
$htmlstr .= "<td>".$abgabetyp." </td>";
|
||||
$htmlstr .= "<td>".$row->uid." </td>";
|
||||
$htmlstr .= "<td>".$row->vorname." </td>\n";
|
||||
$htmlstr .= "<td>".$row->nachname." </td>\n";
|
||||
$htmlstr .= "<td>".$row->projekttyp_kurzbz." </td>\n";
|
||||
$htmlstr .= "<td>".$row->titel." </td>\n";
|
||||
if($aktion=='zip')
|
||||
{
|
||||
if($zipfile=='')
|
||||
{
|
||||
$zipfile = $row->paabgabe_id.'_'.$row->uid.'.pdf';
|
||||
}
|
||||
else
|
||||
{
|
||||
$zipfile .= " ".$row->paabgabe_id.'_'.$row->uid.'.pdf';
|
||||
}
|
||||
}
|
||||
}
|
||||
$htmlstr .= "</tbody></table>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
die($p->t('global/keineBerechtigungFuerDieseSeite'));
|
||||
}
|
||||
}
|
||||
|
||||
if($zipfile=='')
|
||||
{
|
||||
echo $htmlstr;
|
||||
echo "</body></html>";
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!$rechte->isBerechtigt($berechtigung_kurzbz))
|
||||
{
|
||||
die($p->t('global/keineBerechtigungFuerDieseSeite'));
|
||||
}
|
||||
|
||||
//Zip File erstellen
|
||||
chdir(PAABGABE_PATH);
|
||||
$zipausgabe=tempnam("/tmp", "PAA").".zip";
|
||||
exec("zip ".$zipausgabe." ".$zipfile);
|
||||
|
||||
if(file_exists($zipausgabe))
|
||||
{
|
||||
header('Content-Type: application/octet-stream');
|
||||
header('Content-disposition: attachment; filename="Abgabe_'.$s->kuerzel.'.zip"');
|
||||
$handle = fopen($zipausgabe, "rb");
|
||||
|
||||
while (!feof($handle))
|
||||
{
|
||||
echo fread($handle, 1024);
|
||||
}
|
||||
|
||||
fclose($handle);
|
||||
|
||||
//echo file_get_contents($zipausgabe);
|
||||
unlink($zipausgabe);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $p->t('global/dateiExistiertNicht');
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[5,0]],
|
||||
widgets: ["zebra"],
|
||||
headers: {1: { sorter: "shortDate", dateFormat: "ddmmyyyy" }}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<H1>'.$p->t('abgabetool/projektabgabeUebersicht').'</H1>';
|
||||
|
||||
$s = new studiengang();
|
||||
$s->loadArray($rechte->getStgKz($berechtigung_kurzbz),'typ,kurzbz');
|
||||
|
||||
echo'<form method="GET" action="'.$_SERVER['PHP_SELF'].'" name="abgabeFrm">';
|
||||
|
||||
echo $p->t('global/studiengang').": <SELECT onchange='set_termin();' id='stg_kz' name='stg_kz'>";
|
||||
echo '<option value="" '. (!isset($_REQUEST['stg_kz']) || empty($stg_kz)?' selected ':'') .'>-</option>';
|
||||
foreach ($s->result as $stg)
|
||||
{
|
||||
echo '<option value="'.$stg->studiengang_kz.'" '.(isset($_REQUEST['stg_kz']) && $stg->studiengang_kz==$stg_kz?' selected ':'').'>'.$stg->kuerzel.'</option>';
|
||||
}
|
||||
echo "</SELECT><input type=hidden name=aktion value=\"\">";
|
||||
|
||||
|
||||
echo $p->t('abgabetool/abgabetyp').": <SELECT onchange='set_termin();' id='abgabetyp' name='abgabetyp'>";
|
||||
$qry_atyp="SELECT * FROM campus.tbl_paabgabetyp";
|
||||
echo '<option value="" '.(!isset($_REQUEST['abgabetyp']) || empty($abgabetyp)?' selected ':'').'>-</option>';
|
||||
if($result_atyp=$db->db_query($qry_atyp))
|
||||
{
|
||||
while($row_atyp=$db->db_fetch_object($result_atyp))
|
||||
{
|
||||
echo '<option value="'.$row_atyp->paabgabetyp_kurzbz.'" '.($row_atyp->paabgabetyp_kurzbz==$abgabetyp?' selected ':'').'>'.$row_atyp->bezeichnung.'</option>';
|
||||
}
|
||||
}
|
||||
echo "</SELECT>";
|
||||
|
||||
$qry_termin=" SELECT distinct campus.tbl_paabgabe.datum as termin , to_char(campus.tbl_paabgabe.datum, 'DD.MM.YYYY') as termin_anzeige
|
||||
FROM lehre.tbl_projektarbeit
|
||||
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
|
||||
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
|
||||
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
|
||||
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
|
||||
";
|
||||
|
||||
if ($stg_kz!='')
|
||||
$qry_termin.=" AND public.tbl_studiengang.studiengang_kz=".$db->db_add_param($stg_kz, FHC_INTEGER);
|
||||
if ($abgabetyp!='')
|
||||
$qry_termin.=" AND campus.tbl_paabgabe.paabgabetyp_kurzbz=".$db->db_add_param($abgabetyp);
|
||||
$qry_termin.=" ORDER BY termin desc";
|
||||
|
||||
echo ' '.$p->t('abgabetool/termin').' <select name="termin" id="termin">
|
||||
<option value="" '. (!isset($_REQUEST['termin']) || empty($termin)?' selected ':'') .'>-'.$p->t('global/alle').'-</option> ';
|
||||
if($result_termin=$db->db_query($qry_termin))
|
||||
{
|
||||
while($row_termin=$db->db_fetch_object($result_termin))
|
||||
{
|
||||
echo '<option value="'.$row_termin->termin.'" '.($row_termin->termin==$termin?' selected ':'').'>'.$row_termin->termin_anzeige.'</option>';
|
||||
}
|
||||
}
|
||||
echo '</select>';
|
||||
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
function set_termin()
|
||||
{
|
||||
$('#termin').children().remove().end();
|
||||
$.ajax
|
||||
(
|
||||
{
|
||||
type: "POST",
|
||||
url: 'projektabgabe_autocomplete.php',
|
||||
dataType: 'json',
|
||||
data: "work=work_termin_select" + "&stg_kz=" + $('#stg_kz').val() + "&abgabetyp=" + $('#abgabetyp').val(),
|
||||
success: function(json)
|
||||
{
|
||||
var output = '';
|
||||
for (p in json)
|
||||
{
|
||||
output += '<option value=\"' + json[p].oTermin + '\">' + json[p].oTerminAnzeige + '<\/option>\n';
|
||||
}
|
||||
$('#termin').html(output);
|
||||
$('#termin').focus();
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
</script>
|
||||
<?php
|
||||
echo " <INPUT type='submit' name='ok' value='".$p->t('global/anzeigen')."' onclick=\"f=document.abgabeFrm;f.aktion.value='';\"> <INPUT type='button' value='ZIP' onclick=\"f=document.abgabeFrm;f.aktion.value='zip';f.submit();\"></FORM><br>";
|
||||
}
|
||||
|
||||
if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=='zip'))
|
||||
{
|
||||
|
||||
$s=new studiengang();
|
||||
if($stg_kz!='' && !$s->load($stg_kz))
|
||||
{
|
||||
die($p->t('global/studiengangKonnteNichtGefundenWerden'));
|
||||
}
|
||||
|
||||
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt($berechtigung_kurzbz, $s->oe_kurzbz))
|
||||
{
|
||||
$qry="";
|
||||
|
||||
$qry.=" SELECT public.tbl_studiengang.bezeichnung as stgbez, campus.tbl_paabgabe.datum as termin,*
|
||||
FROM lehre.tbl_projektarbeit
|
||||
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
|
||||
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
|
||||
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
|
||||
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
|
||||
|
||||
";
|
||||
|
||||
if ($stg_kz!='')
|
||||
$qry.=" AND public.tbl_studiengang.studiengang_kz=".$db->db_add_param($stg_kz);
|
||||
if ($abgabetyp!='')
|
||||
$qry.=" AND campus.tbl_paabgabe.paabgabetyp_kurzbz=".$db->db_add_param($abgabetyp);
|
||||
if ($termin!='')
|
||||
$qry.=" AND campus.tbl_paabgabe.datum=".$db->db_add_param($termin);
|
||||
$qry.=" ORDER BY nachname ";
|
||||
|
||||
if($stg_kz=='' && $abgabetyp=='' && $termin=='')
|
||||
{
|
||||
$qry.=" limit 100 ";
|
||||
}
|
||||
|
||||
if(!$erg=$db->db_query($qry))
|
||||
{
|
||||
die('Fehler beim Laden der Betreuungen!');
|
||||
}
|
||||
else
|
||||
{
|
||||
$htmlstr .= "<table id='t1' class='tablesorter'>\n";
|
||||
$htmlstr .= "<thead><tr>\n";
|
||||
$htmlstr .= "<th>".$p->t('global/download')."</th>
|
||||
<th>".$p->t('abgabetool/termin')."</th>
|
||||
<th>".$p->t('abgabetool/abgabetyp')."</th>
|
||||
<th>".$p->t('global/uid')."</th>
|
||||
<th>".$p->t('global/vorname')."</th>
|
||||
<th>".$p->t('global/nachname')."</th>";
|
||||
$htmlstr .= "<th>".$p->t('abgabetool/typ')."</th>
|
||||
<th>".$p->t('abgabetool/titel')."</th>";
|
||||
$htmlstr .= "</tr></thead><tbody>\n";
|
||||
$i = 0;
|
||||
while($row=$db->db_fetch_object($erg))
|
||||
{
|
||||
$htmlstr .= "<tr>";
|
||||
if(file_exists(PAABGABE_PATH.$row->paabgabe_id.'_'.$row->uid.'.pdf'))
|
||||
{
|
||||
$htmlstr .= " <td align=center><a href='".$_SERVER['PHP_SELF']."?id=".$row->paabgabe_id."&uid=$row->uid' target='_blank'><img src='../../../skin/images/pdf.ico' alt='PDF' title='abgegebene Datei' border=0></a></td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$htmlstr .= " <td> </td>";
|
||||
}
|
||||
//$htmlstr .= "<td>link</td>";
|
||||
$htmlstr .= "<td>".$datum_obj->formatDatum($row->termin,'d.m.Y')."</td>";
|
||||
$htmlstr .= "<td>".$abgabetyp." </td>";
|
||||
$htmlstr .= "<td>".$row->uid." </td>";
|
||||
$htmlstr .= "<td>".$row->vorname." </td>\n";
|
||||
$htmlstr .= "<td>".$row->nachname." </td>\n";
|
||||
$htmlstr .= "<td>".$row->projekttyp_kurzbz." </td>\n";
|
||||
$htmlstr .= "<td>".$row->titel." </td>\n";
|
||||
if($aktion=='zip')
|
||||
{
|
||||
if($zipfile=='')
|
||||
{
|
||||
$zipfile = $row->paabgabe_id.'_'.$row->uid.'.pdf';
|
||||
}
|
||||
else
|
||||
{
|
||||
$zipfile .= " ".$row->paabgabe_id.'_'.$row->uid.'.pdf';
|
||||
}
|
||||
}
|
||||
}
|
||||
$htmlstr .= "</tbody></table>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
die($p->t('global/keineBerechtigungFuerDieseSeite'));
|
||||
}
|
||||
}
|
||||
|
||||
if($zipfile=='')
|
||||
{
|
||||
echo $htmlstr;
|
||||
echo "</body></html>";
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!$rechte->isBerechtigt($berechtigung_kurzbz))
|
||||
{
|
||||
die($p->t('global/keineBerechtigungFuerDieseSeite'));
|
||||
}
|
||||
|
||||
//Zip File erstellen
|
||||
chdir(PAABGABE_PATH);
|
||||
$zipausgabe=tempnam("/tmp", "PAA").".zip";
|
||||
exec("zip ".$zipausgabe." ".$zipfile);
|
||||
|
||||
if(file_exists($zipausgabe))
|
||||
{
|
||||
header('Content-Type: application/octet-stream');
|
||||
header('Content-disposition: attachment; filename="Abgabe_'.$s->kuerzel.'.zip"');
|
||||
$handle = fopen($zipausgabe, "rb");
|
||||
|
||||
while (!feof($handle))
|
||||
{
|
||||
echo fread($handle, 1024);
|
||||
}
|
||||
|
||||
fclose($handle);
|
||||
|
||||
//echo file_get_contents($zipausgabe);
|
||||
unlink($zipausgabe);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $p->t('global/dateiExistiertNicht');
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -252,7 +252,7 @@ else
|
||||
array('uid', 'stg_kz', 'person_id', 'id', 'prestudent_id', 'buchungsnummern', 'ss', 'abschlusspruefung_id',
|
||||
'typ', 'all', 'preoutgoing_id', 'lvid', 'projekt_kurzbz', 'von', 'bis', 'stundevon', 'stundebis',
|
||||
'sem', 'lehreinheit', 'mitarbeiter_uid', 'studienordnung_id', 'fixangestellt', 'standort',
|
||||
'abrechnungsmonat', 'form')
|
||||
'abrechnungsmonat', 'form', 'projektarbeit_id', 'betreuerart_kurzbz')
|
||||
)
|
||||
)
|
||||
{
|
||||
|
||||
@@ -2296,8 +2296,12 @@ if(!$error)
|
||||
{
|
||||
$dokumente = explode(';',$_POST['dokumente']);
|
||||
$errormsg = '';
|
||||
$sonst = 0;
|
||||
foreach ($dokumente as $dokument_kurzbz)
|
||||
{
|
||||
if ($dokument_kurzbz === 'Sonst' && $sonst !== 0)
|
||||
continue;
|
||||
|
||||
if($dokument_kurzbz!='')
|
||||
{
|
||||
$dok = new dokument();
|
||||
@@ -2308,6 +2312,8 @@ if(!$error)
|
||||
$dok->insertamum = date('Y-m-d H:i:s');
|
||||
$dok->insertvon = $user;
|
||||
$dok->new = true;
|
||||
if ($dokument_kurzbz === 'Sonst')
|
||||
$sonst++;
|
||||
|
||||
if(!$dok->save())
|
||||
{
|
||||
@@ -2501,8 +2507,13 @@ if(!$error)
|
||||
{
|
||||
$dokumente = explode(';',$_POST['dokumente']);
|
||||
$errormsg = '';
|
||||
$sonst = 0;
|
||||
|
||||
foreach ($dokumente as $dokument_kurzbz)
|
||||
{
|
||||
if ($dokument_kurzbz === 'Sonst' && $sonst !== 0)
|
||||
continue;
|
||||
|
||||
if($dokument_kurzbz!='')
|
||||
{
|
||||
$dok = new dokument();
|
||||
@@ -2514,6 +2525,11 @@ if(!$error)
|
||||
{
|
||||
$errormsg .= "Fehler bei $dokument_kurzbz: $dok->errormsg\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($dokument_kurzbz === 'Sonst')
|
||||
$sonst++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -892,7 +892,13 @@ function StudentProjektbetreuerAuswahl()
|
||||
document.getElementById('student-projektbetreuer-checkbox-neu').checked=false;
|
||||
|
||||
var gesamtkosten = StudentProjektbetreuerGesamtkosten();
|
||||
|
||||
|
||||
|
||||
if (document.getElementById('student-projektbetreuer-button-beurteilung'))
|
||||
{
|
||||
checkBeurteilung();
|
||||
}
|
||||
|
||||
// Wenn Vertragsdetails angezeigt werden
|
||||
if (projektarbeit_vertragsdetails_anzeigen) {
|
||||
//Reset attributes
|
||||
@@ -1122,6 +1128,12 @@ function StudentProjektbetreuerDetailDisableFields(val)
|
||||
document.getElementById('student-projektbetreuer-button-speichern').disabled=val;
|
||||
document.getElementById('student-projektbetreuer-button-neueperson').disabled=val;
|
||||
document.getElementById('student-projektbetreuer-button-kontaktdaten').disabled=val;
|
||||
|
||||
if (document.getElementById('student-projektbetreuer-button-beurteilung') && val === true)
|
||||
{
|
||||
document.getElementById('student-projektbetreuer-button-beurteilung').disabled=val;
|
||||
document.getElementById('student-projektbetreuer-span-beurteilung').setAttribute("value", '');
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
|
||||
@@ -520,7 +520,7 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN')
|
||||
</groupbox>
|
||||
|
||||
<!-- Vertragsdetails: Anzeige wird ueber config Eintrag bestimmt -->
|
||||
<vbox>
|
||||
<vbox id="student-projektbetreuer-vbox">
|
||||
<groupbox id="student-projektbetreuer-groupbox-vertragsdetails" hidden="<?php echo $is_hidden ?>">
|
||||
<caption label="Vertragsdetails" />
|
||||
<grid style="overflow:auto; padding:10px;" flex="1">
|
||||
@@ -529,7 +529,7 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN')
|
||||
<column flex="1"/>
|
||||
<column flex="1"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<rows >
|
||||
<label id="student-projektbetreuer-label-vertrag_id" hidden="true" value=""/>
|
||||
<row>
|
||||
<label value="Vertragsstatus:"/>
|
||||
|
||||
@@ -177,6 +177,24 @@ class bisverwendung extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Prueft das Datum
|
||||
* @param $date = string
|
||||
* @return true wenn ok, sonst false
|
||||
*/
|
||||
static public function verifyDate($date, $strict = true)
|
||||
{
|
||||
$dateTime = DateTime::createFromFormat('Y-m-d', $date);
|
||||
if ($strict) {
|
||||
$errors = DateTime::getLastErrors();
|
||||
if (!empty($errors['warning_count'])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return $dateTime !== false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Daten vor dem Speichern
|
||||
*
|
||||
@@ -189,6 +207,17 @@ class bisverwendung extends basis_db
|
||||
$this->errormsg = 'Vertragsstunden sind ungueltig';
|
||||
return false;
|
||||
}
|
||||
elseif(!$this->verifyDate($this->beginn) && !empty($this->beginn))
|
||||
{
|
||||
$this->errormsg = 'Start Datum ist kein Valides Datum: '.$this->beginn;
|
||||
return false;
|
||||
}
|
||||
elseif(!$this->verifyDate($this->ende) && !empty($this->ende))
|
||||
{
|
||||
$this->errormsg = 'End Datum ist kein Valides Datum: '.$this->ende;
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1121,4 +1121,57 @@ function setLeadingZero($number, $length = 2)
|
||||
return str_pad($number, $length, "0", STR_PAD_LEFT);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a new token for diffent use cases. Default token length is 64
|
||||
* - Reading messages
|
||||
* - Forgotten password
|
||||
* - etc
|
||||
* Returns null on failure
|
||||
*/
|
||||
function generateUniqueToken($length = 64)
|
||||
{
|
||||
$token = null;
|
||||
$firstGeneratedToken = null;
|
||||
|
||||
// For PHP 7 you can use random_bytes()
|
||||
if (function_exists('random_bytes'))
|
||||
{
|
||||
try
|
||||
{
|
||||
$firstGeneratedToken = random_bytes($length); // try to generates cryptographically secure pseudo-random bytes...
|
||||
}
|
||||
catch (Exception $e) { $firstGeneratedToken = null; } // if fails $firstGeneratedToken is set to null
|
||||
}
|
||||
// For PHP >= 5.3 and < 7 and openssl is available
|
||||
elseif (function_exists('openssl_random_pseudo_bytes'))
|
||||
{
|
||||
$firstGeneratedToken = openssl_random_pseudo_bytes($length, $strong);
|
||||
// If the token generation ended with errors OR the generated token is NOT strong enough
|
||||
if ($firstGeneratedToken == false || $strong == false) $firstGeneratedToken = null; // $firstGeneratedToken is set to null
|
||||
}
|
||||
|
||||
if ($firstGeneratedToken != null) // If everything was fine
|
||||
{
|
||||
// base64 is about 33% longer, so we need to truncate the result
|
||||
$token = strtr(substr(base64_encode($firstGeneratedToken), 0, $length), '+/=', '-_,');
|
||||
}
|
||||
|
||||
// Fallback to mt_rand if:
|
||||
// php < 5.3
|
||||
// OR no openssl is available
|
||||
// OR openssl_random_pseudo_bytes used an algorithm that is cryptographically NOT strong
|
||||
// OR one of the previous methods failed
|
||||
if ($token == null)
|
||||
{
|
||||
$token = ''; // set $token as an empty string
|
||||
$characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/+';
|
||||
$charactersLength = strlen($characters) - 1;
|
||||
|
||||
// Select some random characters
|
||||
for ($i = 0; $i < $length; $i++) $token .= $characters[mt_rand(0, $charactersLength)];
|
||||
}
|
||||
|
||||
return $token;
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -81,7 +81,9 @@ class organisationsform extends basis_db
|
||||
$this->errormsg ="Fehler bei der Abfrage aufgetreten";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
@@ -391,5 +391,130 @@ class projektbetreuer extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Holt Zweitbegutachter einer Projektarbeit mit Mail.
|
||||
* @param $erstbegutachter_person_id int person_id des Erstbegutachters
|
||||
* @param $projektarbeit_id int
|
||||
* @param $student_uid string uid des Studenten der Arbeit abgibt
|
||||
* @return object | bool
|
||||
*/
|
||||
public function getZweitbegutachterWithToken($erstbegutachter_person_id, $projektarbeit_id, $student_uid)
|
||||
{
|
||||
$qry_betr="SELECT betr.person_id, betr.projektarbeit_id, pers.anrede, betr.zugangstoken, betr.zugangstoken_gueltigbis, tbl_benutzer.uid, kontakt,
|
||||
trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as voller_name,
|
||||
CASE WHEN tbl_benutzer.uid IS NULL THEN kontakt ELSE tbl_benutzer.uid || '@".DOMAIN."' END AS email, abg.abgabedatum
|
||||
FROM lehre.tbl_projektbetreuer betr
|
||||
JOIN lehre.tbl_projektarbeit parb ON betr.projektarbeit_id = parb.projektarbeit_id
|
||||
JOIN public.tbl_person pers ON betr.person_id = pers.person_id
|
||||
LEFT JOIN public.tbl_kontakt ON pers.person_id = tbl_kontakt.person_id AND kontakttyp = 'email' AND zustellung = true
|
||||
LEFT JOIN public.tbl_benutzer ON pers.person_id = tbl_benutzer.person_id
|
||||
LEFT JOIN campus.tbl_paabgabe abg ON betr.projektarbeit_id = abg.projektarbeit_id AND abg.paabgabetyp_kurzbz = 'end'
|
||||
WHERE betr.betreuerart_kurzbz = 'Zweitbegutachter'
|
||||
AND betr.projektarbeit_id = ".$this->db_add_param($projektarbeit_id, FHC_INTEGER)."
|
||||
AND parb.student_uid = ".$this->db_add_param($student_uid)."
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM lehre.tbl_projektbetreuer
|
||||
WHERE person_id = ".$this->db_add_param($erstbegutachter_person_id, FHC_INTEGER)."
|
||||
AND betreuerart_kurzbz = 'Erstbegutachter'
|
||||
AND projektarbeit_id = betr.projektarbeit_id
|
||||
)
|
||||
AND (tbl_benutzer.aktiv OR tbl_benutzer.aktiv IS NULL)
|
||||
ORDER BY betr.insertamum DESC
|
||||
LIMIT 1";
|
||||
|
||||
if ($betr=$this->db_query($qry_betr))
|
||||
{
|
||||
$row_betr = $this->db_fetch_object($betr);
|
||||
|
||||
if ($row_betr)
|
||||
return $row_betr;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generiert Token für externen Zweitbetreuer wenn noch kein Token vorhanden ist.
|
||||
* @param int $zweitbegutachter_person_id
|
||||
* @param int $projektarbeit_id
|
||||
* @return bool true wenn erfolgreich (generiert oder bereits vorhanden), false wenn fehlgeschlagen
|
||||
*/
|
||||
public function generateZweitbegutachterToken($zweitbegutachter_person_id, $projektarbeit_id)
|
||||
{
|
||||
// if externer Betreuer and no valid token, generate
|
||||
$betreuerUidQry = "SELECT uid, zugangstoken, zugangstoken_gueltigbis, tbl_projektbetreuer.person_id
|
||||
FROM lehre.tbl_projektbetreuer
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
LEFT JOIN public.tbl_benutzer USING(person_id)
|
||||
WHERE projektarbeit_id = ".$this->db_add_param($projektarbeit_id, FHC_INTEGER)."
|
||||
AND tbl_projektbetreuer.person_id = ".$this->db_add_param($zweitbegutachter_person_id, FHC_INTEGER)."
|
||||
AND betreuerart_kurzbz = 'Zweitbegutachter'
|
||||
LIMIT 1";
|
||||
|
||||
if ($betreueruidres = $this->db_query($betreuerUidQry))
|
||||
{
|
||||
$row_betr = $this->db_fetch_object($betreueruidres);
|
||||
|
||||
if ($row_betr)
|
||||
{
|
||||
if (!isset($row_betr->uid)
|
||||
&& (!isset($row_betr->zugangstoken) || $row_betr->zugangstoken_gueltigbis < date('Y-m-d')))
|
||||
{
|
||||
$tokenanzahl = 1;
|
||||
|
||||
while ($tokenanzahl > 0)
|
||||
{
|
||||
//generate random string
|
||||
$token = generateUniqueToken(16);
|
||||
|
||||
if (!$token)
|
||||
return false;
|
||||
|
||||
$qry_tokencheck = "SELECT count(*) AS anzahl
|
||||
FROM lehre.tbl_projektbetreuer
|
||||
WHERE zugangstoken = " . $this->db_add_param($token);
|
||||
|
||||
if ($tokencount = $this->db_query($qry_tokencheck))
|
||||
{
|
||||
$row_tokencount = $this->db_fetch_object($tokencount);
|
||||
|
||||
$tokenanzahl = (int)$row_tokencount->anzahl;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$qry_upd = "UPDATE lehre.tbl_projektbetreuer SET
|
||||
zugangstoken = " . $this->db_add_param($token) . ",
|
||||
zugangstoken_gueltigbis = CURRENT_DATE + interval '1 year'
|
||||
WHERE projektarbeit_id = " . $this->db_add_param($projektarbeit_id, FHC_INTEGER) . "
|
||||
AND person_id = " . $this->db_add_param($row_betr->person_id, FHC_INTEGER) . "
|
||||
AND betreuerart_kurzbz = 'Zweitbegutachter'";
|
||||
|
||||
if ($this->db_query($qry_upd))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
return true; // not generated because intern or already exists
|
||||
}
|
||||
else
|
||||
return false;// not found
|
||||
}
|
||||
else
|
||||
return false; // query error
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
+11
-5
@@ -23,6 +23,7 @@ require_once(dirname(__FILE__).'/mail.class.php');
|
||||
require_once(dirname(__FILE__).'/vorlage.class.php');
|
||||
|
||||
const DEFAULT_SANCHO_HEADER_IMG = 'sancho_header_DEFAULT.jpg';
|
||||
const DEFAULT_SANCHO_FOOTER_IMG = 'sancho_footer_DEFAULT.jpg';
|
||||
|
||||
/**
|
||||
* Send single Mail with Sancho Design and Layout.
|
||||
@@ -31,14 +32,15 @@ const DEFAULT_SANCHO_HEADER_IMG = 'sancho_header_DEFAULT.jpg';
|
||||
* to be replaced in the content template.
|
||||
* @param string $to Email-adress.
|
||||
* @param string $subject Subject of mail.
|
||||
* @param string $headerImg Filename of the specific Sancho header image.
|
||||
* @return boolean True, if succeeded.
|
||||
* @param string $headerImg Filename of the specific Sancho header image.
|
||||
* @param string $replyTo default Email-adress for reply.
|
||||
* @return boolean True, if succeeded.
|
||||
*/
|
||||
function sendSanchoMail($vorlage_kurzbz, $vorlage_data, $to, $subject, $headerImg = DEFAULT_SANCHO_HEADER_IMG)
|
||||
function sendSanchoMail($vorlage_kurzbz, $vorlage_data, $to, $subject, $headerImg = DEFAULT_SANCHO_HEADER_IMG, $footerImg = DEFAULT_SANCHO_FOOTER_IMG, $replyTo = '')
|
||||
{
|
||||
$from = 'sancho@'. DOMAIN;
|
||||
$sanchoHeader_img = dirname(__FILE__). '/../skin/images/sancho/'. $headerImg;
|
||||
$sanchoFooter_img = dirname(__FILE__). '/../skin/images/sancho/sancho_footer.jpg';
|
||||
$sanchoFooter_img = dirname(__FILE__). '/../skin/images/sancho/'. $footerImg;
|
||||
|
||||
// Set unique content id for embedding header and footer image
|
||||
$cid_header = uniqid();
|
||||
@@ -63,7 +65,11 @@ function sendSanchoMail($vorlage_kurzbz, $vorlage_data, $to, $subject, $headerIm
|
||||
// * embed the images
|
||||
$mail->addEmbeddedImage($sanchoHeader_img, 'image/jpg', '', $cid_header);
|
||||
$mail->addEmbeddedImage($sanchoFooter_img, 'image/jpg', '', $cid_footer);
|
||||
|
||||
|
||||
// * Set reply-to
|
||||
if (isset($replyTo) && $replyTo != '')
|
||||
$mail->setReplyTo($replyTo);
|
||||
|
||||
// * embed the html content
|
||||
$mail->setHTMLContent($body);
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
$this->phrasen['abgabetool/abgabetool']='Abgabetool';
|
||||
$this->phrasen['abgabetool/aeltereParbeitBenoten']='Projektarbeit für älteres Semester, bitte Word-Formular zur Benotung verwenden!';
|
||||
$this->phrasen['abgabetool/typ']='Typ';
|
||||
$this->phrasen['abgabetool/titel']='Titel';
|
||||
$this->phrasen['abgabetool/betreuerart']='Betreuerart';
|
||||
@@ -61,8 +62,10 @@ $this->phrasen['abgabetool/fehlerTerminEintragen']='Die Termin konnte nicht eing
|
||||
$this->phrasen['abgabetool/fehlerTerminLoeschen']='Fehler beim Löschen des Termins!';
|
||||
$this->phrasen['abgabetool/keineBerechtigungStudentenansicht']='Sie haben keine Berechtigung zum Anzeigen der Studentenansicht';
|
||||
$this->phrasen['abgabetool/dateneingabeUnvollstaendig']='Die Dateneingabe ist unvollständig';
|
||||
$this->phrasen['abgabetool/fehlerMailBegutachter']='Fehler beim Versenden des Mails an den (Erst-)Begutachter!';
|
||||
$this->phrasen['abgabetool/fehlerMailBegutachter']='Fehler beim Versenden des Mails an den Erstbegutachter!';
|
||||
$this->phrasen['abgabetool/fehlerMailZweitBegutachter']='Fehler beim Versenden des Mails an den Zweitbegutachter!';
|
||||
$this->phrasen['abgabetool/fehlerBetreuerNichtGefundenKeinMail']='Betreuer nicht gefunden. Kein Mail verschickt!';
|
||||
$this->phrasen['abgabetool/fehlerAktualitaetProjektarbeit']='Fehler bei Ermittlung der Aktualität der Projektarbeit';
|
||||
$this->phrasen['abgabetool/keinPDF']='Upload ist keine pdf-Datei! Bitte wiederholen Sie den Fileupload.';
|
||||
$this->phrasen['abgabetool/dateiZuGross']='Die Datei ist zu groß! Maximale Dateigröße 15 MB';
|
||||
$this->phrasen['abgabetool/fehlerTerminVorbei']='Die Abgabefrist für diesen Termin ist bereits abgelaufen.';
|
||||
@@ -78,4 +81,12 @@ Sollten Sie trotzdem die `Eidesstattliche Erklärung´ samt Unterschrift hochlad
|
||||
$this->phrasen['abgabetool/gelesenUndAkzeptiert']='Gelesen und akzeptiert';
|
||||
$this->phrasen['abgabetool/erklaerungNichtAkzeptiert']='Erklärung nicht akzeptiert';
|
||||
$this->phrasen['abgabetool/downloadProjektarbeit']='Dokument herunterladen';
|
||||
$this->phrasen['abgabetool/zweitBegutachter']='ZweitbegutachterIn';
|
||||
$this->phrasen['abgabetool/zweitbetreuerTokenMailSenden']='Zugangstoken an ZweitbegutachterIn noch einmal senden';
|
||||
$this->phrasen['abgabetool/zweitbegutachterMailGesendet']='Mail an ZweitbegutachterIn (%s) gesendet';
|
||||
$this->phrasen['abgabetool/zweitbetreuerMailSenden']='Mail an ZweitbegutachterIn (%s) senden';
|
||||
$this->phrasen['abgabetool/zweitBegutachterEmailFehlt']='keine Zustellmail für Zweitbegutachter vorhanden!';
|
||||
$this->phrasen['abgabetool/projektbeurteilungDownload']='Projektbeurteilung herunterladen';
|
||||
$this->phrasen['abgabetool/projektbeurteilungErstDownload']='Erst-/Begutachter';
|
||||
$this->phrasen['abgabetool/projektbeurteilungZweitDownload']='Zweitbegutachter';
|
||||
?>
|
||||
|
||||
@@ -11,11 +11,11 @@ $this->phrasen['dms_link/iconPDF']='46'; //PDF Icon
|
||||
$this->phrasen['dms_link/bedienungsanleitungMailverteiler']='1474'; //Bedienungsanleitung Mailverteiler
|
||||
$this->phrasen['dms_link/berechtigungskonzeptMailverteiler']='1475'; //Berechtigungskonzept Mailverteiler
|
||||
$this->phrasen['dms_link/handbuchUrlaubsverwaltung']='759'; //Handbuch Urlaubsverwaltung -> Leer lassen, falls es keines gibt
|
||||
$this->phrasen['dms_link/handbuchZeitaufzeichnung']='1545'; //Handbuch Zeitaufzeichnung -> Leer lassen, falls es keines gibt
|
||||
$this->phrasen['dms_link/handbuchZeitaufzeichnung']='1545'; //Handbuch Zeitaufzeichnung -> Leer lassen, falls es keines gibt
|
||||
$this->phrasen['dms_link/fiktiveNormalarbeitszeit']='2512'; //fiktive Normalarbeitszeit -> Leer lassen, falls es keines gibt
|
||||
$this->phrasen['dms_link/learningAgreementErasmus']='85863'; //Learning Agreement Incomings Erasmus
|
||||
$this->phrasen['dms_link/learningAgreement']='38866'; //Learning Agreement Incomings NICHT Erasmus
|
||||
$this->phrasen['dms_link/passwortpolicy']='57972'; //Passwortpolicy
|
||||
$this->phrasen['dms_link/learningAgreement']='38866'; //Learning Agreement Incomings NICHT Erasmus
|
||||
$this->phrasen['dms_link/passwortpolicy']='57972'; //Passwortpolicy
|
||||
|
||||
// Content IDs (=Englisch)
|
||||
$this->phrasen['dms_link/lvPlanFAQ']='6887'; //Hilfe-Link aus dem LV-Plan in die LV-Plan FAQ auf der CIS (CMS-ID)
|
||||
@@ -32,8 +32,8 @@ $this->phrasen['dms_link/lvevaluierungStudierendeCMS']=''; //Beschreibung des Ab
|
||||
$this->phrasen['dms_link/lvevaluierungMitarbeiterCMS']=''; //Beschreibung des Ablaufs der LVEvaluierung für Mitarbeiter
|
||||
|
||||
//Links auf externe Seiten
|
||||
$this->phrasen['dms_link/dokuwikiGesamtnote']='https://wiki.fhcomplete.org/doku.php?id=cis:gesamtnote'; //Link ins Dokuwiki zur Anleitung Gesamtnote
|
||||
$this->phrasen['dms_link/abgabetoolLektorHandbuch']='https://wiki.fhcomplete.org/doku.php?id=cis:abgabetool_fuer_lektoren'; //Abgabetool Handbuch fuer LektorInnen
|
||||
$this->phrasen['dms_link/abgabetoolStudentHandbuch']='https://wiki.fhcomplete.org/doku.php?id=cis:abgabetool_fuer_studierende'; //Abgabetool Handbuch fuer Studierende
|
||||
$this->phrasen['dms_link/abgabetoolAssistenzHandbuch']='https://wiki.fhcomplete.org/doku.php?id=cis:abgabetool_fuer_lektoren'; //Abgabetool Handbuch fuer Assistenz
|
||||
$this->phrasen['dms_link/dokuwikiGesamtnote']='https://wiki.fhcomplete.info/doku.php?id=cis:gesamtnote'; //Link ins Dokuwiki zur Anleitung Gesamtnote
|
||||
$this->phrasen['dms_link/abgabetoolLektorHandbuch']='https://wiki.fhcomplete.info/doku.php?id=cis:abgabetool_fuer_lektoren'; //Abgabetool Handbuch fuer LektorInnen
|
||||
$this->phrasen['dms_link/abgabetoolStudentHandbuch']='https://wiki.fhcomplete.info/doku.php?id=cis:abgabetool_fuer_studierende'; //Abgabetool Handbuch fuer Studierende
|
||||
$this->phrasen['dms_link/abgabetoolAssistenzHandbuch']='https://wiki.fhcomplete.info/doku.php?id=cis:abgabetool_fuer_lektoren'; //Abgabetool Handbuch fuer Assistenz
|
||||
?>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
$this->phrasen['abgabetool/abgabetool']='Submission tool';
|
||||
$this->phrasen['abgabetool/aeltereParbeitBenoten']='Thesis handed in for older semester, please use word form for assessment!';
|
||||
$this->phrasen['abgabetool/typ']='Type';
|
||||
$this->phrasen['abgabetool/titel']='Title';
|
||||
$this->phrasen['abgabetool/betreuerart']='Supervisor type';
|
||||
@@ -60,8 +61,10 @@ $this->phrasen['abgabetool/fehlerTerminEintragen']='The deadline could not be en
|
||||
$this->phrasen['abgabetool/fehlerTerminLoeschen']='Error deleting the deadline!';
|
||||
$this->phrasen['abgabetool/keineBerechtigungStudentenansicht']='You are not allowed to view this Page';
|
||||
$this->phrasen['abgabetool/dateneingabeUnvollstaendig']='Incomplete Data input';
|
||||
$this->phrasen['abgabetool/fehlerMailBegutachter']='Error sending E-Mail to Assessor!';
|
||||
$this->phrasen['abgabetool/fehlerMailBegutachter']='Error sending E-Mail to first Assessor!';
|
||||
$this->phrasen['abgabetool/fehlerMailZweitBegutachter']='Error sending E-Mail to second Assessor!';
|
||||
$this->phrasen['abgabetool/fehlerBetreuerNichtGefundenKeinMail']='Assessor not found. No E-Mail sent!';
|
||||
$this->phrasen['abgabetool/fehlerAktualitaetProjektarbeit']='Error when checking if current thesis';
|
||||
$this->phrasen['abgabetool/keinPDF']='Upload-File ist not a PDF! Please retry the Fileupload.';
|
||||
$this->phrasen['abgabetool/dateiZuGross']='The File is too big! Maximum File size: 15 MB';
|
||||
$this->phrasen['abgabetool/fehlerTerminVorbei']='The deadline for this upload has already expired.';
|
||||
@@ -78,4 +81,12 @@ Sollten Sie trotzdem die `Eidesstattliche Erklärung´ samt Unterschrift hochlad
|
||||
$this->phrasen['abgabetool/gelesenUndAkzeptiert']='Read and accepted';
|
||||
$this->phrasen['abgabetool/erklaerungNichtAkzeptiert']='Declaration not accepted';
|
||||
$this->phrasen['abgabetool/downloadProjektarbeit']='Download File';
|
||||
$this->phrasen['abgabetool/zweitBegutachter']='Second assessor';
|
||||
$this->phrasen['abgabetool/zweitbetreuerTokenMailSenden']='Resend access token to second assessor';
|
||||
$this->phrasen['abgabetool/zweitbetreuerMailSenden']='Send mail to second assessor (%s)';
|
||||
$this->phrasen['abgabetool/zweitbegutachterMailGesendet']='Mail sent to second assessor (%s)';
|
||||
$this->phrasen['abgabetool/zweitBegutachterEmailFehlt']='Second assessor has no delivery mail adress!';
|
||||
$this->phrasen['abgabetool/projektbeurteilungDownload']='Thesis-Assessment download';
|
||||
$this->phrasen['abgabetool/projektbeurteilungErstDownload']='First-/Assessor';
|
||||
$this->phrasen['abgabetool/projektbeurteilungZweitDownload']='Second Assessor';
|
||||
?>
|
||||
|
||||
@@ -10,11 +10,11 @@ $this->phrasen['dms_link/moodleHandbuch24']='1426'; //Moodle Handbuch
|
||||
$this->phrasen['dms_link/iconPDF']='46'; //PDF Icon
|
||||
$this->phrasen['dms_link/bedienungsanleitungMailverteiler']='1474'; //Bedienungsanleitung Mailverteiler
|
||||
$this->phrasen['dms_link/berechtigungskonzeptMailverteiler']='1475'; //Berechtigungskonzept Mailverteiler
|
||||
$this->phrasen['dms_link/handbuchUrlaubsverwaltung']='759'; //Handbuch Urlaubsverwaltung
|
||||
$this->phrasen['dms_link/handbuchUrlaubsverwaltung']='759'; //Handbuch Urlaubsverwaltung
|
||||
$this->phrasen['dms_link/handbuchZeitaufzeichnung']='1545'; //Handbuch Zeitaufzeichnung -> Leer lassen, falls es keines gibt
|
||||
$this->phrasen['dms_link/fiktiveNormalarbeitszeit']='2512'; //fiktive Normalarbeitszeit -> Leer lassen, falls es keines gibt
|
||||
$this->phrasen['dms_link/learningAgreementErasmus']='85863'; //Learning Agreement Incomings Erasmus
|
||||
$this->phrasen['dms_link/learningAgreement']='38866'; //Learning Agreement Incomings NICHT Erasmus
|
||||
$this->phrasen['dms_link/learningAgreement']='38866'; //Learning Agreement Incomings NICHT Erasmus
|
||||
|
||||
// Content IDs (=Deutsch)
|
||||
$this->phrasen['dms_link/lvPlanFAQ']='6887'; //Hilfe-Link aus dem LV-Plan in die LV-Plan FAQ auf der CIS (CMS-ID)
|
||||
@@ -27,8 +27,8 @@ $this->phrasen['dms_link/profilhilfe']=''; //Hilfe-Link aus dem Profil
|
||||
$this->phrasen['dms_link/anleitungMailverteiler']='7578'; //Anleitung für die Benutzung der Mailverteiler und der Berechtigungsschlüssel
|
||||
|
||||
//Links auf externe Seiten
|
||||
$this->phrasen['dms_link/dokuwikiGesamtnote']='https://wiki.fhcomplete.org/doku.php?id=cis:gesamtnote'; //Link ins Dokuwiki zur Anleitung Gesamtnote
|
||||
$this->phrasen['dms_link/abgabetoolLektorHandbuch']='https://wiki.fhcomplete.org/doku.php?id=cis:abgabetool_fuer_lektoren'; //Abgabetool Handbuch fuer LektorInnen
|
||||
$this->phrasen['dms_link/abgabetoolStudentHandbuch']='https://wiki.fhcomplete.org/doku.php?id=cis:abgabetool_fuer_studierende'; //Abgabetool Handbuch fuer Studierende
|
||||
$this->phrasen['dms_link/abgabetoolAssistenzHandbuch']='https://wiki.fhcomplete.org/doku.php?id=cis:abgabetool_fuer_lektoren'; //Abgabetool Handbuch fuer Assistenz
|
||||
$this->phrasen['dms_link/dokuwikiGesamtnote']='https://wiki.fhcomplete.info/doku.php?id=cis:gesamtnote'; //Link ins Dokuwiki zur Anleitung Gesamtnote
|
||||
$this->phrasen['dms_link/abgabetoolLektorHandbuch']='https://wiki.fhcomplete.info/doku.php?id=cis:abgabetool_fuer_lektoren'; //Abgabetool Handbuch fuer LektorInnen
|
||||
$this->phrasen['dms_link/abgabetoolStudentHandbuch']='https://wiki.fhcomplete.info/doku.php?id=cis:abgabetool_fuer_studierende'; //Abgabetool Handbuch fuer Studierende
|
||||
$this->phrasen['dms_link/abgabetoolAssistenzHandbuch']='https://wiki.fhcomplete.info/doku.php?id=cis:abgabetool_fuer_lektoren'; //Abgabetool Handbuch fuer Assistenz
|
||||
?>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
$this->phrasen['abgabetool/abgabeLektorenbereich']='Consegna portale lettori';
|
||||
$this->phrasen['abgabetool/aeltereParbeitBenoten']='Thesis handed in for older semester, please use word form for assessment!';
|
||||
$this->phrasen['abgabetool/abgabeStudentenbereich']='consegna portale studente';
|
||||
$this->phrasen['abgabetool/abgabetermine']='scadenze consegna';
|
||||
$this->phrasen['abgabetool/abgabetool']='Strumenti di consegna';
|
||||
@@ -28,10 +29,12 @@ $this->phrasen['abgabetool/englischeSchlagwoerter']='parole chiave inglesi';
|
||||
$this->phrasen['abgabetool/erklaerungNichtAkzeptiert']='dichiarazione non accettata';
|
||||
$this->phrasen['abgabetool/fehlerBetreuerNichtGefundenKeinMail']='Impossibile trovare il relatore. Nessuna email spedita';
|
||||
$this->phrasen['abgabetool/fehlerMail']='errore di spedizione della email!';
|
||||
$this->phrasen['abgabetool/fehlerMailBegutachter']='Errore di trasmissione della mail al (primo) esaminatore';
|
||||
$this->phrasen['abgabetool/fehlerMailBegutachter']='Errore di trasmissione della mail al primo esaminatore';
|
||||
$this->phrasen['abgabetool/fehlerMailZweitBegutachter']='Errore di trasmissione della mail al secondo esaminatore';
|
||||
$this->phrasen['abgabetool/fehlerMailStudent']='errore di spedizione della mai agli studenti!';
|
||||
$this->phrasen['abgabetool/fehlerTerminEintragen']='scadenza non è stata registrata!';
|
||||
$this->phrasen['abgabetool/fehlerTerminLoeschen']='Errore in sede di cancellazione della scadenza!';
|
||||
$this->phrasen['abgabetool/fehlerAktualitaetProjektarbeit']='Error when checking if current thesis';
|
||||
$this->phrasen['abgabetool/fix']='fisso';
|
||||
$this->phrasen['abgabetool/fixerAbgabetermin']='scadenza consegna inderogabile';
|
||||
$this->phrasen['abgabetool/gelesenUndAkzeptiert']='Letto e accettato';
|
||||
@@ -68,4 +71,9 @@ $this->phrasen['abgabetool/ueberschrift']='tesi bachelor / master';
|
||||
$this->phrasen['abgabetool/upload']='Upload';
|
||||
$this->phrasen['abgabetool/variablerAbgabetermin']='scadenza consegna variabile';
|
||||
$this->phrasen['abgabetool/zweitbetreuerBei']='secondo relatore presso';
|
||||
$this->phrasen['abgabetool/zweitBegutachter']='Second assessor';
|
||||
$this->phrasen['abgabetool/zweitbetreuerTokenMailSenden']='Resend access token to second assessor';
|
||||
$this->phrasen['abgabetool/zweitbetreuerMailSenden']='Send mail to second assessor (%s)';
|
||||
$this->phrasen['abgabetool/zweitbegutachterMailGesendet']='Mail sent to second assessor (%s)';
|
||||
$this->phrasen['abgabetool/zweitBegutachterEmailFehlt']='Second assessor has no delivery mail adress!';
|
||||
?>
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
+54
-1
@@ -4465,6 +4465,59 @@ if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE
|
||||
}
|
||||
}
|
||||
|
||||
// Add column zugangstoken to tbl_projektbetreuer
|
||||
if(!$result = @$db->db_query("SELECT zugangstoken FROM lehre.tbl_projektbetreuer LIMIT 1"))
|
||||
{
|
||||
$qry = "ALTER TABLE lehre.tbl_projektbetreuer ADD COLUMN zugangstoken VARCHAR(32);
|
||||
COMMENT ON COLUMN lehre.tbl_projektbetreuer.zugangstoken IS 'Zugangstoken zur Projektarbeitsbewertung fuer externe Betreuer';
|
||||
ALTER TABLE lehre.tbl_projektbetreuer ADD CONSTRAINT uk_tbl_projektbetreuer_zugangstoken UNIQUE (zugangstoken);";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>lehre.tbl_projektbetreuer: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>lehre.tbl_projektbetreuer: Spalte zugangstoken hinzugefuegt';
|
||||
}
|
||||
|
||||
// Add column zugangstoken_gueltigbis to tbl_projektbetreuer
|
||||
if(!$result = @$db->db_query("SELECT zugangstoken_gueltigbis FROM lehre.tbl_projektbetreuer LIMIT 1"))
|
||||
{
|
||||
$qry = "ALTER table lehre.tbl_projektbetreuer ADD COLUMN zugangstoken_gueltigbis date;
|
||||
COMMENT ON COLUMN lehre.tbl_projektbetreuer.zugangstoken_gueltigbis IS 'Gueligkeitsdatum fuer Zugangstoken zur Projektarbeitsbewertung fuer externe Betreuer';";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>lehre.tbl_projektbetreuer: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>lehre.tbl_projektbetreuer: Spalte zugangstoken_gueltigbis hinzugefuegt';
|
||||
}
|
||||
|
||||
// App 'projektarbeitsbeurteilung' hinzufügen
|
||||
if($result = $db->db_query("SELECT 1 FROM system.tbl_app WHERE app='projektarbeitsbeurteilung'"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
$qry = "INSERT INTO system.tbl_app(app) VALUES('projektarbeitsbeurteilung');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>App: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Neue App projektarbeitsbeurteilung in system.tbl_app hinzugefügt';
|
||||
}
|
||||
}
|
||||
|
||||
// UPDATE Berechtigung für lehre.tbl_projektbetreuer für web user hinzufügen
|
||||
if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_projektbetreuer' AND table_schema='lehre' AND grantee='web' AND privilege_type='UPDATE'"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
$qry = "GRANT UPDATE ON lehre.tbl_projektbetreuer TO web;";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>Projektbetreuer Berechtigungen: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Web User: update fuer lehre.tbl_projektbetreuer berechtigt';
|
||||
}
|
||||
}
|
||||
|
||||
// Add column dms_id, studiensemester_kurzbz, anmerkung_student und empfehlung_anrechnung
|
||||
// Change genehmigt_von and begruendung_id to be NULLABLE
|
||||
if(!$result = @$db->db_query("SELECT dms_id FROM lehre.tbl_anrechnung"))
|
||||
@@ -4809,7 +4862,7 @@ $tabellen=array(
|
||||
"lehre.tbl_notenschluesselzuordnung" => array("notenschluesselzuordnung_id","notenschluessel_kurzbz","lehrveranstaltung_id","studienplan_id","oe_kurzbz","studiensemester_kurzbz"),
|
||||
"lehre.tbl_note" => array("note","bezeichnung","anmerkung","farbe","positiv","notenwert","aktiv","lehre","offiziell","bezeichnung_mehrsprachig","lkt_ueberschreibbar"),
|
||||
"lehre.tbl_projektarbeit" => array("projektarbeit_id","projekttyp_kurzbz","titel","lehreinheit_id","student_uid","firma_id","note","punkte","beginn","ende","faktor","freigegeben","gesperrtbis","stundensatz","gesamtstunden","themenbereich","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","titel_english","seitenanzahl","abgabedatum","kontrollschlagwoerter","schlagwoerter","schlagwoerter_en","abstract", "abstract_en", "sprache","final"),
|
||||
"lehre.tbl_projektbetreuer" => array("person_id","projektarbeit_id","betreuerart_kurzbz","note","faktor","name","punkte","stunden","stundensatz","updateamum","updatevon","insertamum","insertvon","ext_id","vertrag_id"),
|
||||
"lehre.tbl_projektbetreuer" => array("person_id","projektarbeit_id","betreuerart_kurzbz","note","faktor","name","punkte","stunden","stundensatz","updateamum","updatevon","insertamum","insertvon","ext_id","vertrag_id", "zugangstoken", "zugangstoken_gueltigbis"),
|
||||
"lehre.tbl_projekttyp" => array("projekttyp_kurzbz","bezeichnung","aktiv"),
|
||||
"lehre.tbl_pruefung" => array("pruefung_id","lehreinheit_id","student_uid","mitarbeiter_uid","note","pruefungstyp_kurzbz","datum","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id","pruefungsanmeldung_id","vertrag_id", "punkte"),
|
||||
"lehre.tbl_pruefungstyp" => array("pruefungstyp_kurzbz","beschreibung","abschluss","sort"),
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user