From c9096ce92355a4a01411b087dc2fd3325d3ec444 Mon Sep 17 00:00:00 2001 From: kindlm Date: Tue, 15 Mar 2016 20:34:15 +0100 Subject: [PATCH] DMS-Download aus Bewerbungstool MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bewerber dürfen Dokumente aus Bewerbungsttol herunterladen, wenn person_id aus Session und akte_id uebergeben wurde und person_id Besitzer des Dokuments ist (person_id aus tbl_akte) und das Dokument in der Onlinebewerbung hochgeladen werden kann --- cms/dms.php | 54 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 46 insertions(+), 8 deletions(-) diff --git a/cms/dms.php b/cms/dms.php index 320f5b455..20d738dbf 100644 --- a/cms/dms.php +++ b/cms/dms.php @@ -23,10 +23,25 @@ require_once('../config/cis.config.inc.php'); require_once('../include/dms.class.php'); require_once('../include/functions.inc.php'); require_once('../include/benutzerberechtigung.class.php'); +require_once('../include/akte.class.php'); +require_once('../include/dokument.class.php'); + +session_cache_limiter('none'); //muss gesetzt werden sonst funktioniert der Download mit IE8 nicht +session_start(); if(!isset($_GET['id'])) die('ID muss uebergeben werden'); +if(isset($_SESSION['bewerbung/personId'])) + $person_id = $_SESSION['bewerbung/personId']; +else + $person_id =''; + +if(isset($_GET['akte_id'])) + $akte_id = $_GET['akte_id']; +else + $akte_id =''; + //if(!isset($_GET['version'])) // die('Version muss uebergeben werden'); @@ -45,16 +60,39 @@ if(!$doc->load($id,$version)) if($doc->isLocked($id)) { - //Dokument erfordert Authentifizierung - $user = get_uid(); - if(!$doc->isBerechtigt($id, $user)) - { - //Globales DMS recht pruefen - $rechte = new benutzerberechtigung(); - $rechte->getBerechtigungen($user); - if(!$rechte->isBerechtigt('basis/dms')) + //Wenn person_id aus Session und akte_id uebergeben wurde + //und person_id Besitzer des Dokuments ist (person_id aus tbl_akte) + //und das Dokument in der Onlinebewerbung hochgeladen werden kann + //darf das Dokument heruntergeladen werden + if($person_id!='' && $akte_id!='') + { + $akte = new akte(); + $akte->load($akte_id); + $akte_person = $akte->person_id; + $akte_dokument_kurzbz = $akte->dokument_kurzbz; + + $dokumente_person = new dokument(); + $dokumente_person->getAllDokumenteForPerson($person_id, true); + $dokumente_arr = array(); + foreach ($dokumente_person->result AS $row) + $dokumente_arr[] .= $row->dokument_kurzbz; + + if ($person_id!=$akte_person || !in_array($akte_dokument_kurzbz, $dokumente_arr)) die('Sie haben keinen Zugriff auf dieses Dokument'); } + else + { + //Dokument erfordert Authentifizierung + $user = get_uid(); + if(!$doc->isBerechtigt($id, $user)) + { + //Globales DMS recht pruefen + $rechte = new benutzerberechtigung(); + $rechte->getBerechtigungen($user); + if(!$rechte->isBerechtigt('basis/dms')) + die('Sie haben keinen Zugriff auf dieses Dokument'); + } + } } if(!isset($_GET['notimeupdate']))