<?php 
######DATENSCHUTZ-TOOL ##################
/*
::::    ::::  :::    :::   ::::::::::: ::::::::::: ::::::::  
+:+:+: :+:+:+ :+:    :+:       :+:         :+:    :+:    :+: 
+:+ +:+:+ +:+  +:+  +:+        +:+         +:+    +:+        
+#+  +:+  +#+   +#++:+         +#+         +#+    +#++:++#++ 
+#+       +#+  +#+  +#+        +#+         +#+           +#+ 
#+#       #+# #+#    #+#       #+#         #+#    #+#    #+# 
###       ### ###    ###   ###########     ###     ########  
*/
#		Autor: Max Schulte-Derne						#
#		Version: 1.0									#
#		Datum: Mai 2018									#
#########################################################

include ("config.php");
include ("mysql.inc.php");
?>
<!doctype html>
<html>
<?php include ('head.php');?>
<body>
  
<nav>
	<ul>
    <li><a style="border-right:solid 1px rgba(255,255,255,1.00)" href="vvt.php">VVTs [<?=cnt("`vvt_vorlagen`", "WHERE `id` != '0'")   ?>]</a></li>
    <li><a href="<?=$baseURL?>/vvt.php?action=anlegen">VVT anlegen</a></li>
    </ul>
</nav>


<?php

switch($_GET['action']){


//VVT bearbeiten

	  case 'edit';
	  if(empty($_POST)){
         
		 $get = fetch(qry("SELECT * FROM `vvt_vorlagen` WHERE `id` = '".intval($_GET['id'])."'"));

	    echo '<form action="vvt.php?action=edit&amp;id='.$get['id'].'" method="post" enctype="multipart/form-data" >
	   			<br>
				Verfahrensname anlegen: <input type="text" name="name" size="50" value="'.$get['name'].'"  required><br><br>
 				<fieldset>
				
				<legend>Zweck:</legend>
		   		   <textarea name="zweck" cols="150" rows="10" style="width: 751px; height: 180px;">'.$get['zweck'].'</textarea>
		  		</fieldset>
				<br><br>
				<fieldset>
					<legend>Beschreiben Sie, warum diese Datenverabeitung erfoderlich/erlaubt ist (Rechtsgundlage):</legend>
		   		   <textarea name="beschr_warum_erlaubt" cols="150" rows="10" style="width: 751px; height: 180px;">'.$get['beschr_warum_erlaubt'].'</textarea>
		  		</fieldset>
				<br><br>
				<fieldset>
				<legend>Beschreibung der Kategorien betroffener Personen: (Art. 30 Abs. 1 S. 2 lit. c):</legend>
		   		   <textarea name="betr_personen" cols="150" rows="10" style="width: 751px; height: 180px;">'.$get['betr_personen'].'</textarea>
		  		</fieldset>
				<br><br>
				<fieldset>
				<legend>Beschreibung der Kategorien von personenbezogenen Daten (Art. 30 Abs. 1 S. 2 lit. c):</legend>
		   		   <textarea name="betr_daten_der_pers" cols="150" rows="10" style="width: 751px; height: 180px;">'.$get['betr_daten_der_pers'].'</textarea>
		  		</fieldset>
				<br><br>
				<fieldset>
				<legend>Werden die Daten weitergegeben? Wenn ja, an wen? (Art. 30 Abs. 1 S. 2 lit. d):</legend>
		   		   <textarea name="weitergabe" cols="150" rows="10" style="width: 751px; height: 180px;">'.$get['weitergabe'].'</textarea>
		  		</fieldset>
				<br><br>
				<fieldset>
				<legend>Übermittlung in Drittländer oder an internationale Organisationen (Art. 30 Abs. 1 S. 2 lit. e):</legend>
		   		   <textarea name="uebermittlung_laender" cols="150" rows="10" style="width: 751px; height: 180px;">'.$get['uebermittlung_laender'].'</textarea>
		  		</fieldset>
				<br><br>
				<fieldset>
				<legend>Aufbewahrungsfristen / Wie lange müssen die Daten aufbewahrt werden? (Löschfristen):</legend>
		   		   <textarea name="aufbewahrungsfrist" cols="150" rows="10" style="width: 751px; height: 180px;">'.$get['aufbewahrungsfrist'].'</textarea>
		  		</fieldset>
				<br><br>
				<fieldset>
				<legend>TOM - Bitte beschreiben Sie, welche technischen und organisatorischen Maßnahmen zur Datensicherheit getroffen wurden:</legend>
		   		   <textarea name="tom" cols="150" rows="10" style="width: 751px; height: 180px;">'.$get['tom'].'</textarea>
		  		</fieldset>
				<br><br>
				<fieldset>
				<legend>Risiko-Quellen / Möglicher Schaden:</legend>
		   		   <textarea name="risiko_quellen_schaden" cols="150" rows="10" style="width: 751px; height: 180px;">'.$get['risiko_quellen_schaden'].'</textarea>
		  		</fieldset>
				<br><br>
				
				<input type="submit" value="Update Verfahren" style="padding: 10px">
			</form>';
			

		}else{
			if (!empty($_POST['name'])){
				qry("UPDATE `vvt_vorlagen`
					SET 
					`name`							= '".$_POST['name']."',
					`zweck`							= '".$_POST['zweck']."',
					`beschr_warum_erlaubt`			= '".$_POST['beschr_warum_erlaubt']."',
					`betr_personen`					= '".$_POST['betr_personen']."',
					`betr_daten_der_pers`			= '".$_POST['betr_daten_der_pers']."',
					`weitergabe`					= '".$_POST['weitergabe']."',
					`uebermittlung_laender`			= '".$_POST['uebermittlung_laender']."',
					`aufbewahrungsfrist`			= '".$_POST['aufbewahrungsfrist']."',
					`tom`							= '".$_POST['tom']."',
					`risiko_quellen_schaden`		= '".$_POST['risiko_quellen_schaden']."',
					`geaendert`						= '".time()."'
						WHERE `id` = '".intval($_GET['id'])."'");
						
						
						// VVT bei allen Kunden in der Datenbank anlegen vvt_kunden
						
							qry("UPDATE `vvt_kunden`
							SET 
								`name`							= '".$_POST['name']."',
								`zweck`							= '".$_POST['zweck']."',
								`beschr_warum_erlaubt`			= '".$_POST['beschr_warum_erlaubt']."',
								`betr_personen`					= '".$_POST['betr_personen']."',
								`betr_daten_der_pers`			= '".$_POST['betr_daten_der_pers']."',
								`weitergabe`					= '".$_POST['weitergabe']."',
								`uebermittlung_laender`			= '".$_POST['uebermittlung_laender']."',
								`aufbewahrungsfrist`			= '".$_POST['aufbewahrungsfrist']."',
								`tom`							= '".$_POST['tom']."',
								`risiko_quellen_schaden`		= '".$_POST['risiko_quellen_schaden']."',
								`geaendert`						= '".time()."'
							WHERE `vvt_id` = '".intval($_GET['id'])."' AND `status` = '6' ");

					
						
				
				header('Location: '.$baseURL.'/vvt.php');
			}
			
			
		}
	  
	  break;
	  
//VVT loeschen
		case 'delete';
				
			#unlink('uploads/vvt_vorlagen/'.$_GET['id'].'/'.$_GET['datei_name']);
				array_map('unlink', glob('uploads/vvt_vorlagen/'.$_GET['id'].'/*'));
				rmdir('uploads/vvt_vorlagen/'.$_GET['id']);
        	qry("DELETE FROM `vvt_vorlagen` WHERE `id` = '".$_GET['id']."'");
			qry("DELETE FROM `dokumente` WHERE `zuordnung` = '2' AND `zuordnung_vvt_id` = '".$_GET['id']."'");
			qry("DELETE FROM `vvt_kunden` WHERE `vvt_id` = '".$_GET['id']."' AND `status` = '6'");
			
        	
			header('Location: '.$baseURL.'/vvt.php');
		
		break;



	  case 'anlegen';
//VVT anlegen	  
	  	if(empty($_POST)){
				  
	   echo '<form action="vvt.php?action=anlegen" method="post" enctype="multipart/form-data" >
	   			<br>
				Verfahrensname anlegen: <input type="text" name="name" size="50" placeholder="NAME" required><br><br>
 				<fieldset>
				
				<legend>Zweck:</legend>
		   		   <textarea name="zweck" cols="150" rows="10" style="width: 751px; height: 180px;"></textarea>
		  		</fieldset>
				<br><br>
				<fieldset>
					<legend>Beschreiben Sie, warum diese Datenverabeitung erfoderlich/erlaubt ist (Rechtsgundlage):</legend>
		   		   <textarea name="beschr_warum_erlaubt" cols="150" rows="10" style="width: 751px; height: 180px;"></textarea>
		  		</fieldset>
				<br><br>
				<fieldset>
				<legend>Beschreibung der Kategorien betroffener Personen: (Art. 30 Abs. 1 S. 2 lit. c):</legend>
		   		   <textarea name="betr_personen" cols="150" rows="10" style="width: 751px; height: 180px;"></textarea>
		  		</fieldset>
				<br><br>
				<fieldset>
				<legend>Beschreibung der Kategorien von personenbezogenen Daten (Art. 30 Abs. 1 S. 2 lit. c):</legend>
		   		   <textarea name="betr_daten_der_pers" cols="150" rows="10" style="width: 751px; height: 180px;"></textarea>
		  		</fieldset>
				<br><br>
				<fieldset>
				<legend>Werden die Daten weitergegeben? Wenn ja, an wen? (Art. 30 Abs. 1 S. 2 lit. d):</legend>
		   		   <textarea name="weitergabe" cols="150" rows="10" style="width: 751px; height: 180px;"></textarea>
		  		</fieldset>
				<br><br>
				<fieldset>
				<legend>Übermittlung in Drittländer oder an internationale Organisationen (Art. 30 Abs. 1 S. 2 lit. e):</legend>
		   		   <textarea name="uebermittlung_laender" cols="150" rows="10" style="width: 751px; height: 180px;"></textarea>
		  		</fieldset>
				<br><br>
				<fieldset>
				<legend>Aufbewahrungsfristen / Wie lange müssen die Daten aufbewahrt werden? (Löschfristen):</legend>
		   		   <textarea name="aufbewahrungsfrist" cols="150" rows="10" style="width: 751px; height: 180px;"></textarea>
		  		</fieldset>
				<br><br>
				<fieldset>
				<legend>TOM - Bitte beschreiben Sie, welche technischen und organisatorischen Maßnahmen zur Datensicherheit getroffen wurden:</legend>
		   		   <textarea name="tom" cols="150" rows="10" style="width: 751px; height: 180px;"></textarea>
		  		</fieldset>
				<br><br>
				<fieldset>
				<legend>Risiko-Quellen / Möglicher Schaden:</legend>
		   		   <textarea name="risiko_quellen_schaden" cols="150" rows="10" style="width: 751px; height: 180px;"></textarea>
		  		</fieldset>
				<br><br>
				
				<input type="submit" value="Verfahren anlegen" style="padding: 10px">
			</form>';
  
			  
			
		}else{
			
			if (!empty($_POST['name'])){
				qry("INSERT INTO `vvt_vorlagen`
					SET 
					`name`							= '".$_POST['name']."',
					`zweck`							= '".$_POST['zweck']."',
					`beschr_warum_erlaubt`			= '".$_POST['beschr_warum_erlaubt']."',
					`betr_personen`					= '".$_POST['betr_personen']."',
					`betr_daten_der_pers`			= '".$_POST['betr_daten_der_pers']."',
					`weitergabe`					= '".$_POST['weitergabe']."',
					`uebermittlung_laender`			= '".$_POST['uebermittlung_laender']."',
					`aufbewahrungsfrist`			= '".$_POST['aufbewahrungsfrist']."',
					`tom`							= '".$_POST['tom']."',
					`risiko_quellen_schaden`		= '".$_POST['risiko_quellen_schaden']."',
					`angelegt`						= '".time()."'");
				
				
				
					$letzte_id_vorlagen = fetch(qry("SELECT MAX(id) FROM `vvt_vorlagen`"));
					
					
						// VVT bei allen Kunden in der Datenbank anlegen
						
						$qry_k = qry("SELECT * FROM `kunden`");
						
						while($get_kunden = fetch($qry_k)){
						
							qry("INSERT INTO `vvt_kunden`
								SET 
								`name`							= '".$_POST['name']."',
								`zweck`							= '".$_POST['zweck']."',
								`beschr_warum_erlaubt`			= '".$_POST['beschr_warum_erlaubt']."',
								`betr_personen`					= '".$_POST['betr_personen']."',
								`betr_daten_der_pers`			= '".$_POST['betr_daten_der_pers']."',
								`weitergabe`					= '".$_POST['weitergabe']."',
								`uebermittlung_laender`			= '".$_POST['uebermittlung_laender']."',
								`aufbewahrungsfrist`			= '".$_POST['aufbewahrungsfrist']."',
								`tom`							= '".$_POST['tom']."',
								`risiko_quellen_schaden`		= '".$_POST['risiko_quellen_schaden']."',
								`angelegt`						= '".time()."',
								`vvt_id`						= '".$letzte_id_vorlagen['MAX(id)']."',
								`status`						= '".'6'."',
								`kunden_id`						= '".$get_kunden['id']."'");
					
						}
				
				
				
				
				

			}else{
				echo "Keine Daten";
			}  echo $letzte;
			header('Location: '.$baseURL.'/vvt.php');
		}	  
	  break;
	  
//VVT Dokumente	  
	  	  case 'dokumente';
	  	  
		  if(empty($_POST)){
			  
			  	 if($_GET['dateiloeschen'] == 1){
		  
					  unlink('uploads/vvt_vorlagen/'.$_GET['id'].'/'.$_GET['datei_name']);
					  qry("DELETE FROM `dokumente` WHERE `id` = '".intval($_GET['datei_id'])."'");
					  
					  header('Location: '.$baseURL.'/vvt.php?action=dokumente&id='.$_GET['id'].'');
					  }
			
			
			if(empty($_GET['id'])){
			$qry = qry("SELECT * FROM vvt_vorlagen");
				if(!empty($qry)){
					while($get = fetch($qry)){
						$name_option .= '<option value="'.$get["id"].'">'.$get["name"].'</option>'."\n";
						
					}
				}
			}
			
			if(!empty($_GET['id'])){
				$get = fetch(qry("SELECT * FROM vvt_vorlagen WHERE id = '".intval($_GET['id'])."'"));
					
					$name_option .= '<option value="'.$_GET['id'].'">('.$_GET['id'].') - '.$get["name"].'</option>'."\n";
				}
			
			
			
			echo '<h1>Dateien für die VVT Nr.'.$_GET['id'].'  hinzufügen</h1><br><br>
			<form action="vvt.php?action=dokumente&id='.$_GET['id'].'" method="post" enctype="multipart/form-data" >
		   <label for="beschreibung">Beschreibung: </label><input type="text" name="beschreibung"><br><br>
		   <label for="dateiprefix">Deteiprefix: XXX_dateiname.endung </label><input type="text" name="dateiprefix" placeholder="XXX"><br><br>
		   <select name="zuordnung_vvt_id">'.$name_option.'</select><br><br>
		   <input name="datei" type="file" size="50" accept="*/*" required><br><br>
		   <input type="submit" value="Hochladen..">
		   
	   </form> Maximaler Upload: ';echo  ini_get('upload_max_filesize').'<br><br>'; 
	   
	   			
				#echo 'Einfacher Abruf der Dateinen aus dem Verzeichnis ohne Datenbankinfos<br><br>';
				
				#$pfad_uploads = "uploads/vvt_vorlagen/*/*";
				#$files = glob($pfad_uploads);
				#foreach($files as $f) {echo '<a href="'.$f.'">'.$f.'</a> -- <a href="'.$f.'"> löschen</a><br />';}
	   
	   			$maxEntrys = 10;
				$site = empty($_GET['seite']) ? 1 : intval($_GET['seite']);
				$sort = empty($_GET['sort']) ? 1 : ($_GET['sort']); 
				$maxEntrys = empty($_GET['maxEntrys']) ? 25 : intval($_GET['maxEntrys']);
	  
	    $entrys = cnt("`dokumente`", "WHERE `kunden_id` = '0'"); 
        $qry = qry("SELECT * FROM `dokumente` WHERE `kunden_id` = '0' AND `zuordnung_vvt_id` = ".$_GET['id']." ORDER BY ID DESC, ".$sort." ASC LIMIT ".($site-1)*$maxEntrys.",".$maxEntrys); 
		
        while($get = fetch($qry))
        {
          $class = ($color % 2) ? "first" : "second"; $color++;
   
          $delete = '<a href="'.$baseURL.'/vvt.php?action=dokumente&dateiloeschen=1&datei_id='.$get['id'].'&datei_name='.$get['dateiname'].'&id='.$get['zuordnung_vvt_id'].' "onclick="return(del(\'Soll die Datei wirklich gel&ouml;scht werden?\'))"> l&ouml;schen</a>';
          $dateiname_dl = '<a href="uploads/vvt_vorlagen/'.$get['zuordnung_vvt_id'].'/'.$get['dateiname'].'">'.$get['dateiname'].'</a>';
          $dokumente .= '
            <tr class="'.$class.' hover" '.($color>1000?' style="display:none"':'').'>
              <td class="nowrap">'.date("d.m.y H:i", $get['datum']).' Uhr</td>
              <td class="nowrap">'.$dateiname_dl.'</td>
			  <td class="nowrap">'.$get['beschreibung'].'</td>
              <td class="nowrap">'.$get['zuordnung_vvt_id'].'</a></td>
              <td class="tiny center">'.$delete.'</td>
            </tr>
          ';
		  
        }
?>
        <h1>Dokumente der VVT Nr: <?=$_GET['id']?>  [<?=cnt("`dokumente`", "WHERE `kunden_id` = '0' AND `zuordnung_vvt_id` = ".$_GET['id'])   ?>]  </h1> <br>
        <table class="hperc" cellspacing="1" id="users">
          <tr class="kat">
            <td>Angelgt am</a></td>
            <td>Name</a></td>
            <td>Beschreibung</a></td>
            <td>VVT</a></td>
            <td>Aktionen</td>
          </tr>
          <?=$dokumente?>
        </table>

          
        <div style="margin-top:5px;margin-left:-6px"><?=siteNavi($entrys,$maxEntrys, '', $site)?></div>
        
     <?
			}else{
			  //UPLOAD
			  		$id = intval($_POST['zuordnung_vvt_id']);
			  		$dateiprefix = ($_POST['dateiprefix'] == "") ? "" : $_POST['dateiprefix']."_";
			  
				  if(!empty($_FILES['datei'])){
					mkdir('uploads/vvt_vorlagen/'.$id, 0777, true);
					chmod('uploads/vvt_vorlagen/'.$id, 0777);
					$path = "uploads/vvt_vorlagen/".$id."/".$dateiprefix;
					$path = $path . basename( $_FILES['datei']['name']);
					if(move_uploaded_file($_FILES['datei']['tmp_name'], $path)) {
					  echo "Die Datei ".  basename( $_FILES['datei']['name']). " wurde hochgeladen";
					  			
								
						//zuordnung: TOM = 0, Tom Kunde = 1, VVT = 2, AVV = 3					
						qry("INSERT INTO `dokumente`
      	         SET   `kunden_id`				= '0',
				 	   `zuordnung`				= '2',
					   `beschreibung`			= '".$_POST['beschreibung']."',
					   `datum`					= '".time()."',
					   `zuordnung_vvt_id`	= '".$_POST['zuordnung_vvt_id']."',
					   `dateiname`				= '".$dateiprefix.basename( $_FILES['datei']['name'])."'");
					   
					   
					   
						
						header('Location: '.$baseURL.'/vvt.php?action=dokumente&id='.$_POST['zuordnung_vvt_id'].'');
						
					} else{
						echo "Keine Datei gewählt, oder ein anderer Fehler ist aufgetreten, versuches es nochmal;)";
						
					}
				}
			}  
	  
 
	
	
	
	
	
	
	
	
	
	
	
	
			  
	  break;
	  
//alles False, dann Tabelle anzeigen
 	  default;
	
	  
	   $maxEntrys = 20;
				$site = empty($_GET['seite']) ? 1 : intval($_GET['seite']);
				$sort = empty($_GET['sort']) ? 'name' : ($_GET['sort']); 
				$maxEntrys = empty($_GET['maxEntrys']) ? 150 : intval($_GET['maxEntrys']);
				
				$nur_thema = empty($_GET['name']) ? '' : ($_GET['name']) ;
	  
	  
	  
	  
	  
	    $entrys = cnt("`vvt_vorlagen`", "WHERE `id` != '0'"); 
		$qry = qry("SELECT * FROM vvt_vorlagen ORDER BY name ASC");
        while($get = fetch($qry))
        {
          $class = ($color % 2) ? "first" : "second"; $color++;
          
          $delete = '<a href="'.$baseURL.'/vvt.php?action=delete&amp;id='.$get['id'].'" onclick="return(del(\'Soll die Frage und alle Dateinen von '.$get['id'].' wirklich gel&ouml;scht werden?\'))"> X</a>';
          $namen .= '
            <tr class="'.$class.' hover" title="letzte Änderung '.(date("d.m.y", $get['geaendert']) == date("d.m.y") ? 'heute' : 'am '.date("d.m.y", $get['geaendert'])).' um '.date("H:i", $get['geaendert']).'h"'.($color>1000?' style="display:none"':'').'>
              <td class="nowrap">'.date("d.m.y H:i", $get['angelegt']).' Uhr</td>
              <!--<td class="nowrap"><a href="'.$baseURL.'/vvt.php?nur_thema='.$get['name'].'">'.$get['name'].'</a></td>-->
			  <td class="nowrap">'.$get['name'].'</td>
              <td class="tiny center"><a href="'.$baseURL.'/vvt.php?action=dokumente&amp;id='.$get['id'].'">Dokumente</a></td>
              <td class="tiny center"><a href="'.$baseURL.'/vvt.php?action=edit&amp;id='.$get['id'].'">'.$name.' editieren</a></td>
              <td class="tiny center">'.$delete.'</td>
            </tr>
          ';
        }
?>
        <br>
        <table class="hperc" cellspacing="1" id="users">
          <tr class="kat">
            <td class="tiny"><a href="<?=$baseURL?>/vvt.php?sort=angelegt">Angelgt am</a></td>
            <td><a href="<?=$baseURL?>/vvt.php?sort=name">Name</a></td>
            <td class="tiny" colspan="6">Aktionen</td>
          </tr>
          <?=$namen?>
        </table>
          
        <div style="margin-top:5px;margin-left:-6px"><?=siteNavi($entrys,$maxEntrys, '', $site)?></div>
<?
      break;
  }
  
  
  
?>

</body>
</html>
