BUGFIX: reusing old randomnumbers didn't work
[e-DoKo.git] / db.php
diff --git a/db.php b/db.php
index 03de7f449569b9d8411d442c41cb5f994ed3f3c4..41e4479840c474155a6bc9b71e9a87af03f647bb 100644 (file)
--- a/db.php
+++ b/db.php
@@ -161,6 +161,22 @@ function DB_get_userid_by_email_and_password($email,$password)
     return 0;
 }
 
+function DB_check_recovery_passwords($password,$email)
+{
+  $result = mysql_query("SELECT User.id FROM User".
+                       " LEFT JOIN Recovery ON User.id=Recovery.user_id".
+                       " WHERE email=".DB_quote_smart($email).
+                       " AND Recovery.password=".DB_quote_smart($password).
+                       " AND DATE_SUB(CURDATE(),INTERVAL 1 DAY) <= Recovery.create_date");
+  $r      = mysql_fetch_array($result,MYSQL_NUM);
+
+  if($r)
+    return 1;
+  else
+    return 0;
+  
+}
+
 function DB_get_handid_by_hash($hash)
 {
   $result = mysql_query("SELECT id FROM Hand WHERE hash=".DB_quote_smart($hash));
@@ -781,11 +797,14 @@ function DB_get_PREF($myid)
 
 function DB_get_unused_randomnumbers($userstr)
 {
-  $queryresult = mysql_query("SELECT randomnumbers,Game.id, COUNT(*) as num FROM Game ".
-                            "  LEFT JOIN Hand ON Hand.game_id=Game.id ".
-                            "                 AND user_id not in (".$userstr.")".
-                            "  GROUP BY  Game.id ".
-                            "  HAVING num=4");
+  $queryresult = mysql_query(" SELECT randomnumbers FROM Game".
+                            "   WHERE randomnumbers NOT IN".
+                            "           (SELECT randomnumbers FROM Game".
+                            "                LEFT JOIN Hand ON Game.id=Hand.game_id".
+                            "                WHERE user_id IN  (". $userstr .")".
+                            "                GROUP BY randomnumbers".
+                            "           )");
+
   
   $r = mysql_fetch_array($queryresult,MYSQL_NUM);
   if($r)