changeset 318:008406f27395

Allow clearing of key id.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 27 Nov 2013 05:57:01 +0200
parents cacd5ceed4ab
children 623acd958944
files admajax.php
diffstat 1 files changed, 14 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/admajax.php	Wed Nov 27 05:50:41 2013 +0200
+++ b/admajax.php	Wed Nov 27 05:57:01 2013 +0200
@@ -718,22 +718,24 @@
         {
           case "assign":
             // Check if already assigned to someone ..
-            $sql = stPrepareSQL("SELECT * FROM votekeys WHERE id=%D", "key_id");
-            if (stFetchSQL($sql) === false)
-              stError("Invalid key ID #.");
-            else
+            $key_id = intval(stGetRequestItem("key_id", 0));
+            if ($key_id != 0)
             {
-              $sql = stPrepareSQL("SELECT * FROM attendees WHERE key_id=%D", "key_id");
+              $sql = stPrepareSQL("SELECT * FROM votekeys WHERE id=%d", $key_id);
+              if (stFetchSQL($sql) === false)
+                stError("Invalid key ID #.");
+
+              $sql = stPrepareSQL("SELECT * FROM attendees WHERE key_id=%D", $key_id);
               if (($attn = stFetchSQL($sql)) === false || $attn["id"] == $id)
-              {
-                // Assign ..
-                $sql = stPrepareSQL("UPDATE attendees SET key_id=%D WHERE id=%d",
-                  "key_id", $id);
-                stExecSQLCond($sql, "Assigned key updated.");
-              }
-              else
                 stError("That key has already been assigned to another attendee!");
             }
+            
+            if (!$errorSet)
+            {
+              // Assign ..
+              $sql = stPrepareSQL("UPDATE attendees SET key_id=%d WHERE id=%d", $key_id, $id);
+              stExecSQLCond($sql, "Assigned key updated.");
+            }
             break;
           
           case "active":