From c48e098ef96f3aa345671820c18a0c6636acf44e Mon Sep 17 00:00:00 2001
From: Jan Vales <jan@jvales.net>
Date: Wed, 15 Jul 2015 06:08:01 +0200
Subject: [PATCH] neue requirements eingebaut.

---
 db_funcs.php | 12 ++++++++----
 funcs.php    | 27 ++++++++++++++-------------
 person.php   | 38 ++++++++++++++++++++------------------
 3 files changed, 42 insertions(+), 35 deletions(-)

diff --git a/db_funcs.php b/db_funcs.php
index 29ef2df..49f4069 100644
--- a/db_funcs.php
+++ b/db_funcs.php
@@ -57,8 +57,10 @@ function db_store_person($id, $pdata){
       if($pdata['videoerlaubnis'] == '')$pdata['videoerlaubnis'] = 0;
       if($pdata['vorwissen'] == '')$pdata['vorwissen'] = 0;
       if($pdata['gebdatum'] == '')$pdata['gebdatum'] = '1900-01-01';
-      $prep = $GLOBALS['dbc']->prepare('UPDATE anmeldungen SET nname=?, vname=?, gebdatum=?, nationaliaet=?, sprachen=?, analphabet=?, bemerkungen=?, vorwissen=?, fotoerlaubnis=?, videoerlaubnis=? WHERE id=?');
-      $prep->execute(array($pdata['nname'], $pdata['vname'], $pdata['gebdatum'], $pdata['nationaliaet'], $pdata['sprachen'], $pdata['analphabet'], $pdata['bemerkungen'], $pdata['vorwissen'], $pdata['fotoerlaubnis'], $pdata['videoerlaubnis'], $p['id']));
+      $prep = $GLOBALS['dbc']->prepare('UPDATE anmeldungen SET nname=?, vname=?, gebdatum=?, nationaliaet=?, sprachen=?, analphabet=?, '.
+	    'bemerkungen=?, vorwissen=?, fotoerlaubnis=?, videoerlaubnis=?, status=?,termin=? WHERE id=?');
+      $prep->execute(array($pdata['nname'], $pdata['vname'], $pdata['gebdatum'], $pdata['nationaliaet'], $pdata['sprachen'], $pdata['analphabet'],
+	    $pdata['bemerkungen'], $pdata['vorwissen'], $pdata['fotoerlaubnis'], $pdata['videoerlaubnis'], $pdata['status'], $pdata['termin'], $p['id']));
       return $prep->rowCount();
 	}
   }else{
@@ -68,8 +70,10 @@ function db_store_person($id, $pdata){
     if($pdata['videoerlaubnis'] == '')$pdata['videoerlaubnis'] = 0;
     if($pdata['vorwissen'] == '')$pdata['vorwissen'] = 0;
     if($pdata['gebdatum'] == '')$pdata['gebdatum'] = '1900-01-01';
-    $prep = $GLOBALS['dbc']->prepare('INSERT INTO anmeldungen(uname, nname, vname, gebdatum, nationaliaet, sprachen, analphabet, bemerkungen, vorwissen, fotoerlaubnis, videoerlaubnis) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) returning id;');
-    $prep->execute(array($GLOBALS['uname'], $pdata['nname'], $pdata['vname'], $pdata['gebdatum'], $pdata['nationaliaet'], $pdata['sprachen'], $pdata['analphabet'], $pdata['bemerkungen'], $pdata['vorwissen'], $pdata['fotoerlaubnis'], $pdata['videoerlaubnis']));
+    $prep = $GLOBALS['dbc']->prepare('INSERT INTO anmeldungen(uname, nname, vname, gebdatum, nationaliaet, sprachen, analphabet, bemerkungen, 
+	  vorwissen, fotoerlaubnis, videoerlaubnis, status, termin) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) returning id;');
+    $prep->execute(array($GLOBALS['uname'], $pdata['nname'], $pdata['vname'], $pdata['gebdatum'], $pdata['nationaliaet'], $pdata['sprachen'], 
+	  $pdata['analphabet'], $pdata['bemerkungen'], $pdata['vorwissen'], $pdata['fotoerlaubnis'], $pdata['videoerlaubnis'], $pdata['status'], $pdata['termin']));
     $r = $prep->fetchColumn(); 
 	return -$r;
   }
diff --git a/funcs.php b/funcs.php
index 875c408..ee6e456 100644
--- a/funcs.php
+++ b/funcs.php
@@ -28,20 +28,15 @@ function login(){
 
 function list_anmeldungen(){
   $liste = db_list_anmeldungen();
-  $ret = '<table border=1 class="sortable"><tr><th>Aktion</th><th>id</th><th>Anmeldung bei</th><th>Nachname(n)</th><th>Vorname(n)</th><th>Geboren</th><th>Nationalität</th><th>Sprachkenntnis</th>'.
-    '<th>Vorwissen</th><th>Analphabet</th><th>fotoerlaubnis</th><th>Videoerlaubnis</th><th>Bemerkung</th></tr>'."\n";
+  $ret = '<table border=1 class="sortable"><tr><th>Aktion</th><th>id</th><th>Anmeldung bei</th><th>Nachname(n)</th><th>Vorname(n)</th><th>Geboren</th>'.
+    '<th>Nationalität</th><th>Sprachkenntnis</th><th>Vorwissen</th><th>Analphabet</th><th>fotoerlaubnis</th><th>Videoerlaubnis</th>'.
+	'<th>Status</th><th>Bemerkung</th><th>Termin</th></tr>'."\n";
   foreach ($liste as &$person) {
-    $ret .='<tr id="pers_'.$person['id'].'"><td><a href="./person.php?id='.$person['id'].'">Bearbeiten</a></td><td>'.$person['id'].'</td><td>'.$person['uname'].'</td>'.
-	'<td>'.$person['nname'].'</td><td>'.$person['vname'].'</td><td>'.$person['gebdatum'].'</td><td>'.$person['nationaliaet'].'</td>'.
-	'<td>'.$person['sprachen'].'</td><td>'.$person['vorwissen'].'</td><td>'.$person['analphabet'].'</td><td>'.$person['fotoerlaubnis'].'</td>'.
-	'<td>'.$person['videoerlaubnis'].'</td><td>'.$person['bemerkungen'].'</td></tr>'."\n";
-/*    echo '<div class="person" id="pers_'.$person['id'].'" style="border:1px solid black;"><div id="pers_'.$person['id'].'_vname">'.$person['vname'].'</div>
-	<div id="pers_'.$person['id'].'_nname">'.$person['nname'].'</div> <div id="pers_'.$person['id'].'_gebdatum">'.$person['gebdatum'].'</div>
-	<div id="pers_'.$person['id'].'_nationaliaet">'.$person['nationaliaet'].'</div> <div id="pers_'.$person['id'].'_sprachen">'.$person['sprachen'].'</div>
-	<div id="pers_'.$person['id'].'_vorwissen">'.$person['vorwissen'].'</div> <div id="pers_'.$person['id'].'_analphabet">'.$person['analphabet'].'</div>
-	<div id="pers_'.$person['id'].'_fotoerlaubnis">'.$person['fotoerlaubnis'].'</div> <div id="pers_'.$person['id'].'_videoerlaubnis">'.$person['videoerlaubnis'].'</div>
-	<div class="bemerkung" id="pers_'.$person['id'].'_bemerkungen">'.$person['bemerkungen'].'</div>
-	</div>';*/
+    $ret .='<tr id="pers_'.$person['id'].'"><td><a href="./person.php?id='.$person['id'].'">Bearbeiten</a></td><td>'.$person['id'].'</td>';
+	$ret .='<td>'.$person['uname'].'</td><td>'.$person['nname'].'</td><td>'.$person['vname'].'</td><td><nobr>'.$person['gebdatum'].'</nobr></td>';
+	$ret .='<td>'.$person['nationaliaet'].'</td><td>'.$person['sprachen'].'</td><td>'.$person['vorwissen'].'</td><td>'.$person['analphabet'].'</td>';
+	$ret .='<td>'.$person['fotoerlaubnis'].'</td><td>'.$person['videoerlaubnis'].'</td><td>'.$person['status'].'</td><td>'.$person['bemerkungen'].'</td>';
+	$ret .='<td>'.$person['termin'].'</td></tr>'."\n";
   }
   return $ret.'</table>'."\n";
 }
@@ -84,6 +79,12 @@ function store_person(){
     if(!isset($_REQUEST['bemerkungen']))return '-bemerkungen- not set!';
     $pdata['bemerkungen']=$_REQUEST['bemerkungen'];
 
+    if(!isset($_REQUEST['termin']))return '-termin- not set!';
+    $pdata['termin']=$_REQUEST['termin'];
+
+    if(!isset($_REQUEST['status']))return '-status- not set!';
+    $pdata['status']=$_REQUEST['status'];
+
     return db_store_person($_REQUEST['id'], $pdata);
   }
 }
diff --git a/person.php b/person.php
index 02fa714..0874adb 100644
--- a/person.php
+++ b/person.php
@@ -24,16 +24,27 @@ echo html_top("Person bearbeiten");
 echo "<h1>Person bearbeiten</h1>";
 
 if($status == 1 && isset($_REQUEST['delete'])){
-  echo '<h2>Person gelöscht</h2>';
+  exit('<h2>Person gelöscht</h2><p><a href="list.php">Zurück zur Übersicht</a></p>'.html_bottom());
+
+}elseif(!isset($_REQUEST['id']) && isset($_REQUEST['delete'])){
+  exit('<h2>Nur existierende Personen können gelöscht werden</h2><p><a href="list.php">Zurück zur Übersicht</a></p>'.html_bottom());
+
+}elseif(isset($_REQUEST['id']) && $person == NULL){
+  exit('<h2>Person existiert nicht</h2><p>Oder die nötige Berechtigung zum einsehen dieser Person nicht vorhanden.<br>
+  <a href="list.php">Zurück zur Übersicht</a></p>'.html_bottom());
+
 }elseif($status == 1 && isset($_REQUEST['save'])){
   echo '<h2>Person aktualisiert</h2>';
 }elseif($status < 0){
-  echo '<h2>Person angelegt. ID:'.-$status.'</h2>';
+  exit('<h2>Person angelegt. ID:'.-$status.' (<a href="./person.php?id='.(-$status).'">Bearbeiten?</a>)</h2>'.
+  '<p><a href="./person.php">neue Person eintragen?</a> oder doch <a href="list.php">Zurück zur Übersicht</a></p>'.html_bottom());
 }
+
 ?>
 <p><a href="list.php">Zurück zur Übersicht</a></p>
 <form method="post" enctype="multipart/form-data">
-<input type="submit" name="save" value="Speichern"> <input type="submit" name="delete" value="Löschen">
+<input type="submit" name="save" value="Speichern">
+<input type="submit" name="delete" value="Löschen" onclick="return confirm('Wirklich löschen?');">
 
 <p>Vorname(n)<br>
 <input type="text" name="vname" value="<?php echo $person['vname'];?>"></p>
@@ -47,6 +58,8 @@ if($status == 1 && isset($_REQUEST['delete'])){
 <input type="text" name="sprachen" value="<?php echo $person['sprachen'];?>"></p>
 <p>Vorwissen<br>
 <input type="text" name="vorwissen" value="<?php echo $person['vorwissen'];?>"></p>
+<p>Status<br>
+<input type="text" name="status" value="<?php echo $person['status'];?>"></p>
 <p>Analphabet<br>
 <input type="text" name="analphabet" value="<?php echo $person['analphabet'];?>"></p>
 <p>Fotoerlaubnis<br>
@@ -55,24 +68,13 @@ if($status == 1 && isset($_REQUEST['delete'])){
 <input type="text" name="videoerlaubnis" value="<?php echo $person['videoerlaubnis'];?>"></p>
 <p>Besonderes/Bemerkungen<br>
 <textarea rows="6" cols="50" name="bemerkungen"><?php echo $person['bemerkungen'];?></textarea></p>
+<p>Termin<br>
+<input type="text" name="termin" value="<?php echo $person['termin'];?>"></p>
 
-<input type="submit" name="save" value="Speichern"> <input type="submit" name="delete" value="Löschen">
+<input type="submit" name="save" value="Speichern"> 
+<input type="submit" name="delete" value="Löschen" onclick="return confirm('Wirklich löschen?');">
 </form>
 <p><a href="list.php">Zurück zur Übersicht</a></p>
 
 <?php echo html_bottom(); ?>
-<?php
-
-/*
-
-<br>Comment or context:<br><textarea rows="3" cols="50" name="comment"></textarea><br>Hashtag, if needed:<br>
-<input type="text" name="web_suffix"><br>
-  Image upload<br><input type="file" name="img"><br>
-  Image position:<br>
-  <input type="radio" id="imgtop" name="image_pos" value="1" checked="yes"><label for="imgtop">Top</label><br>
-  <input type="radio" id="imgbot" name="image_pos" value="2"><label for="imgbot">Bottom</label><br><br>
-  Comment for Admins/Mods:<br><textarea rows="3" cols="50" name="comment_intern"></textarea><br><br><input type="submit" name="submit" value="Submit"></form>';
-<form>
-
-*/
 
-- 
2.43.0