changeset 302:828fc30e3c94

Some work on vote backend stuff.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 26 Nov 2013 05:41:57 +0200
parents e13be68e73a7
children 734781881e47
files admajax.php vote.inc.php
diffstat 2 files changed, 19 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/admajax.php	Tue Nov 26 05:40:58 2013 +0200
+++ b/admajax.php	Tue Nov 26 05:41:57 2013 +0200
@@ -323,7 +323,7 @@
 
           case VOTE_ASSIGN:
             $sql = "SELECT * FROM votekeys ".
-              "LEFT JOIN attendees ON votekeys.voter_id=attendees.id ".
+              "LEFT JOIN attendees ON votekeys.id=attendees.key_id ".
               "ORDER BY votekeys.id ASC";
 
             echo
@@ -502,11 +502,23 @@
       if ($type == "attendees")
       {
         // Attendees require some more work
-        $sql = stPrepareSQL("DELETE FROM attendees WHERE id=%d", $id);
-        stExecSQLCond($sql, "OK, attendee ".$id." deleted.");
+        $sql = stPrepareSQL("SELECT * FROM attendees WHERE id=%d", $id);
+        if (($attn = stFetchSQL($sql)) !== false)
+        {
+          $sql = stPrepareSQL("DELETE FROM attendees WHERE id=%d", $id);
+          stExecSQLCond($sql, "OK, attendee ".$id." deleted.");
 
-        $sql = stPrepareSQL("DELETE FROM votes WHERE voter_id=%d", $id);
-        stExecSQLCond($sql, "OK, attendee ".$id." votes deleted.");
+          if ($attn["key_id"] != 0)
+          {
+            $sql = stPrepareSQL("DELETE FROM votekeys WHERE id=%d", $attn["key_id"]);
+            stExecSQLCond($sql, "OK, attendee ".$id." votekey deleted.");
+
+            $sql = stPrepareSQL("DELETE FROM votes WHERE key_id=%d", $attn["key_id"]);
+            stExecSQLCond($sql, "OK, attendee ".$id." votes deleted.");
+          }
+        }
+        else
+          stError("No such attendee ID #".$id);
       }
       else
       if ($type == "entries")
--- a/vote.inc.php	Tue Nov 26 05:40:58 2013 +0200
+++ b/vote.inc.php	Tue Nov 26 05:41:57 2013 +0200
@@ -58,8 +58,8 @@
 <?
   // Try fetching previously stored votes
   $sql = stPrepareSQL(
-    "SELECT entry_id,value FROM votes WHERE voter_id=%d",
-    stGetSessionItem("voter_id"));
+    "SELECT entry_id,value FROM votes WHERE key_id=%d",
+    stGetSessionItem("key_id"));
 
   $votes = array();
   if (($res = stExecSQL($sql)) !== false)