BUGFIX: order games by session
[e-DoKo.git] / db.php
diff --git a/db.php b/db.php
index 03de7f449569b9d8411d442c41cb5f994ed3f3c4..a6b9c3b8acb1f80a60c9a3933faaf365ee1de792 100644 (file)
--- a/db.php
+++ b/db.php
@@ -161,6 +161,22 @@ function DB_get_userid_by_email_and_password($email,$password)
     return 0;
 }
 
     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));
 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)
 {
 
 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)
   
   $r = mysql_fetch_array($queryresult,MYSQL_NUM);
   if($r)
@@ -883,4 +902,18 @@ function DB_get_partner_hash_by_hash($hash)
   return NULL;
 }
 
   return NULL;
 }
 
+function DB_format_gameid($gameid)
+{
+  $session = DB_get_session_by_gameid($gameid);
+  
+  /* get number of game */
+  $result = mysql_query("SELECT COUNT(*),create_date FROM Game".
+                       " WHERE session='$session' ".
+                       " AND TIMEDIFF(create_date, (SELECT create_date FROM Game WHERE id='$gameid'))<=0 ".
+                       " GROUP by session");
+  $r = mysql_fetch_array($result,MYSQL_NUM);
+  
+  return $session.".".$r[0];
+}
+
 ?>
\ No newline at end of file
 ?>
\ No newline at end of file