Files
FHC-Core/cis/private/profile/dokumente.php
T
2021-02-15 08:11:37 +01:00

379 lines
12 KiB
PHP

<?php
/* Copyright (C) 2007 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../../../config/cis.config.inc.php');
require_once('../../../include/basis_db.class.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/studiensemester.class.php');
require_once('../../../include/konto.class.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/prestudent.class.php');
require_once('../../../include/student.class.php');
require_once('../../../include/akte.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/webservicelog.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
if(isset($_GET['stsem']))
$stsem = $_GET['stsem'];
else
$stsem = '';
$uid=get_uid();
if(isset($_GET['uid']))
{
// Administratoren duerfen die UID als Parameter uebergeben um die Dokumente
// von anderen Personen anzuzeigen
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if($rechte->isBerechtigt('admin'))
{
$uid = $_GET['uid'];
$getParam = "&uid=" . $uid;
}
else
$getParam = "";
}
else
$getParam='';
$student_studiengang = new student();
$student_studiengang->load($uid);
$xsl_stg_kz = $student_studiengang->studiengang_kz;
$stg = '';
if(isset($_GET['action']) && $_GET['action']=='download')
{
if(isset($_GET['id']) && is_numeric($_GET['id']))
{
$id = $_GET['id'];
$akte = new akte();
$akte->load($id);
if ($akte->person_id == $student_studiengang->person_id
&& $akte->stud_selfservice)
{
if($akte->inhalt!='')
{
//Header fuer Datei schicken
header("Content-type: $akte->mimetype");
header('Content-Disposition: attachment; filename="'.$akte->titel.'"');
echo base64_decode($akte->inhalt);
//Log bei einem Download vom Becheid
if ((isset($akte->dokument_kurzbz) && !empty($akte->dokument_kurzbz)) && ($akte->dokument_kurzbz === 'Bescheid' || $akte->dokument_kurzbz === 'BescheidEng'))
{
$log = new Webservicelog();
$log->webservicetyp_kurzbz = 'content';
$log->request_id = (isset($akte->akte_id) && !empty($akte->akte_id)) ? $akte->akte_id : NULL;
$log->beschreibung = 'Bescheidbestaetigungsdownload';
$log->request_data = $_SERVER['QUERY_STRING'];
$log->execute_user = get_uid();
$log->save(true);
}
exit;
}
else
{
die('Akte hat keinen Inhalt.');
}
}
else
{
die('Nicht zum selbständigen Download bestimmt oder falsche PersonID.');
}
}
else
{
die('Id ist ungueltig');
}
}
echo '<!DOCTYPE HTML>
<html>
<head>
<title>'.$p->t('tools/bestaetigungenZeugnisse').'</title>
<meta charset="UTF-8">
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">';
include('../../../include/meta/jquery.php');
include('../../../include/meta/jquery-tablesorter.php');
echo '
<script language="JavaScript" type="text/javascript">
$(document).ready(function()
{
$(".tablesorter").tablesorter(
{
sortList: [[1,0]],
headers: { 0: { sorter: false }},
widgets: ["zebra"]
});
$(".tablesorter2").tablesorter(
{
headers: { 0: { sorter: false }},
widgets: ["zebra"]
});
});
function changeSemester(obj)
{
self.location = obj.options[obj.selectedIndex].value + "'.$getParam.'";
};
function createStudienerfolg(stsem, language, finanzamtCheckboxId)
{
var finanzamt = document.getElementById(finanzamtCheckboxId).checked;
var xsl = "";
if (language == "en")
xsl = "StudienerfolgEng";
else
xsl = "Studienerfolg";
if(finanzamt)
finanzamt = "&typ=finanzamt";
else
finanzamt = "";
if(stsem == "alle")
alle = "&all=1";
else
alle = "";
window.location.href= "../pdfExport.php?xml=studienerfolg.rdf.php&xsl="+xsl+"&ss="+stsem+"&uid='.$uid.'"+finanzamt+alle;
};
</script>
<style>
table.tablesorter tbody td
{
padding: 4px;
{
</style>
</head>
<body>
<h1>'.$p->t('tools/bestaetigungenZeugnisse').'</h1>';
$prestudent = new prestudent();
$prestudent->getPrestudentRolle($student_studiengang->prestudent_id);
$stsem_arr = array();
$laststsem = '';
foreach($prestudent->result as $row)
{
$stsem_arr[] = $row->studiensemester_kurzbz;
$laststsem = $row->studiensemester_kurzbz;
}
$stsem_arr = array_unique($stsem_arr);
if($stsem == '')
$stsem = $laststsem;
/*//Aktuelles Studiensemester oder gewaehltes Studiensemester
$stsem_obj = new studiensemester();
if($stsem == '')
$stsem = $stsem_obj->getaktorNext();
$stsem_obj->getAll();
*/
echo $p->t('global/studiensemester');
echo ' <SELECT name="stsem" id="stsem" onChange="changeSemester(this)">';
if (!in_array($stsem, $stsem_arr))
{
echo '<OPTION value="dokumente.php?stsem='.$stsem.'" selected>';
echo $stsem;
echo '</OPTION>';
}
foreach ($stsem_arr as $semrow)
{
if ($stsem == $semrow)
{
echo '<OPTION value="dokumente.php?stsem='.$semrow.'" selected>';
echo $semrow;
echo '</OPTION>';
}
else
{
echo '<OPTION value="dokumente.php?stsem='.$semrow.'">';
echo $semrow;
echo '</OPTION>';
}
}
echo '</SELECT><br /><br />';
// Wenn es für das übergebene Studiensemester keinen PreStudentStatus gibt, werden nur Abschlussdokumente angezeigt
if (in_array($stsem, $stsem_arr))
{
$konto = new konto();
$buchungstypen = array();
if (defined("CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN"))
{
$buchungstypen = unserialize (CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN);
}
echo '<h2>' . $p->t('tools/inskriptionsbestaetigung') . '</h2>';
$stsem_zahlung = $konto->getLastStSemBuchungstypen($uid, $buchungstypen, $stsem);
echo '<table class="tablesorter" style="width:auto;">
<thead>
<tr>
<th></th>
<th>'.$p->t('global/name').'</th>
</tr>
</thead>
<tbody><tr>';
if ($stsem_zahlung != FALSE && $stsem == $stsem_zahlung)
{
$path = "../pdfExport.php?xsl=Inskription&xml=student.rdf.php&ss=".$stsem."&uid=".$uid."&xsl_stg_kz=".$xsl_stg_kz;
echo '<td><img src="../../../skin/images/pdfpic.gif" /></td>';
echo '<td><a href="'.$path.'">'.$p->t('tools/inskriptionsbestaetigung').' '.$stsem.'</a></td>';
}
else
{
echo '<td colspan="2">'.$p->t('tools/studienbeitragFuerSSNochNichtBezahlt',array($stsem)).'</td>';
}
echo '</tr></tbody></table>';
if (defined('CIS_DOKUMENTE_STUDIENBUCHLBATT_DRUCKEN') && CIS_DOKUMENTE_STUDIENBUCHLBATT_DRUCKEN)
{
echo '<h2>' . $p->t('tools/studienbuchblatt') . '</h2>';
echo '<table class="tablesorter" style="width:auto;">
<thead>
<tr>
<th></th>
<th>'.$p->t('global/name').'</th>
</tr>
</thead>
<tbody><tr>';
if ($stsem_zahlung != FALSE && $stsem == $stsem_zahlung)
{
$pfad = "../pdfExport.php?xsl=Studienblatt&xml=studienblatt.xml.php&ss=".$stsem."&uid=".$uid;
echo '<td><img src="../../../skin/images/pdfpic.gif" /></td>';
echo '<td><a href="'.$pfad.'">'.$p->t('tools/studienbuchblatt').' '.$stsem.'</a></td>';
}
else
{
echo '<td colspan="2">'.$p->t('tools/studienbeitragFuerSSNochNichtBezahlt',array($stsem)).'</td>';
}
echo '</tr></tbody></table>';
}
if (defined('CIS_DOKUMENTE_STUDIENERFOLGSBESTAETIGUNG_DRUCKEN') && CIS_DOKUMENTE_STUDIENERFOLGSBESTAETIGUNG_DRUCKEN)
{
echo '<h2>' . $p->t('tools/studienerfolgsbestaetigung') . '</h2>';
echo '<table class="tablesorter" style="width:auto;">
<thead>
<tr>
<th></th>
<th>'.$p->t('global/name').'</th>
<th></th>
</tr>
</thead>
<tbody>';
echo '<tr><td><img src="../../../skin/images/pdfpic.gif" /></td>';
echo '<td><a href="#" onclick="createStudienerfolg(\''.$stsem.'\', \'de\', \'finanzamtDeutschStudiensemester\')">'.$p->t('tools/studienerfolgsbestaetigung').' '.$stsem.' '.$p->t('global/deutsch').'</a></td>';
echo '<td><input type="checkbox" id="finanzamtDeutschStudiensemester"> '.$p->t('tools/vorlageWohnsitzfinanzamt').'</td></tr>';
echo '<tr><td><img src="../../../skin/images/pdfpic.gif" /></td>';
echo '<td><a href="#" onclick="createStudienerfolg(\'alle\', \'de\', \'finanzamtDeutschAlle\')">'.$p->t('tools/studienerfolgsbestaetigung').' '.$p->t('tools/alleStudiensemester').' '.$p->t('global/deutsch').'</a></td>';
echo '<td><input type="checkbox" id="finanzamtDeutschAlle"> '.$p->t('tools/vorlageWohnsitzfinanzamt').'</td></tr>';
echo '<tr><td><img src="../../../skin/images/pdfpic.gif" /></td>';
echo '<td><a href="#" onclick="createStudienerfolg(\''.$stsem.'\', \'en\', \'finanzamtEnglishStudiensemester\')">'.$p->t('tools/studienerfolgsbestaetigung').' '.$stsem.' '.$p->t('global/englisch').'</a></td>';
echo '<td><input type="checkbox" id="finanzamtEnglishStudiensemester"> '.$p->t('tools/vorlageWohnsitzfinanzamt').'</td></tr>';
echo '<tr><td><img src="../../../skin/images/pdfpic.gif" /></td>';
echo '<td><a href="#" onclick="createStudienerfolg(\'alle\', \'en\', \'finanzamtEnglishAlle\')">'.$p->t('tools/studienerfolgsbestaetigung').' '.$p->t('tools/alleStudiensemester').' '.$p->t('global/englisch').'</a></td>';
echo '<td><input type="checkbox" id="finanzamtEnglishAlle"> '.$p->t('tools/vorlageWohnsitzfinanzamt').'</td></tr>';
echo '</tbody></table>';
}
}
else
echo '<p class="error">'.$p->t('tools/keinStatusImStudiensemester',array($stsem)).'</p>';
if (!defined('CIS_DOKUMENTE_SELFSERVICE') || CIS_DOKUMENTE_SELFSERVICE)
{
$akte = new akte();
echo '<h2>' . $p->t('tools/abschlussdokumente') . '</h2>';
echo '<table><tr>';
echo '<td style=" background-color: #fcf8e3;
color: #8a6d3b;
padding: .75rem 1.25rem;
margin-bottom: 1rem;
border: 1px solid #faf2cc;
border-radius: .25rem;">'.$p->t('tools/warnungDruckDigitaleSignatur').'</td>';
echo '</tr></table>';
if($akte->getArchiv($student_studiengang->person_id, null, true) && count($akte->result)>0)
{
echo '
<table class="tablesorter2" style="width:auto;">
<thead>
<tr>
<th></th>
<th>'.$p->t('tools/erstelldatum').'</th>
<th>'.$p->t('tools/dokument').'</th>
</tr>
</thead>
<tbody>
';
$datum_obj = new datum();
foreach($akte->result as $row)
{
$pfad = 'dokumente.php?action=download&id='.$row->akte_id.'&uid='.$uid;
echo '<tr>';
echo '<td><img src="../../../skin/images/pdfpic.gif" /></td>';
echo '<td>'.$datum_obj->formatDatum($row->erstelltam,'d.m.Y').'</td>';
echo '<td><a href="'.$pfad.'">'.$row->bezeichnung.'</a></td>';
echo '</tr>';
}
echo '</tbody></table>';
}
else
{
echo '
<table class="tablesorter2" style="width:auto;">
<thead>
<tr>
<th></th>
<th>'.$p->t('tools/erstelldatum').'</th>
<th>'.$p->t('tools/dokument').'</th>
</tr>
</thead>
<tbody>
';
echo '<td colspan="3">'.$p->t('tools/nochKeineAbschlussdokumenteVorhanden').'</td>';
echo '</tbody></table>';
}
}
echo '</body>
</html>
';
?>