removed one debug message; added timestamp update for game when playing a card
[e-DoKo.git] / db.php
diff --git a/db.php b/db.php
index 1b047d39ce104735bfe40658566928d5f5131d15..b3651bd4beffc7bf0e99be833f12f2efcee52643 100644 (file)
--- a/db.php
+++ b/db.php
@@ -303,18 +303,31 @@ function DB_get_hand($me)
   return $cards;
 }
 
+function DB_get_all_hand($me)
+{
+  $cards = array();
+
+  $handid = DB_get_handid_by_hash($me);
+
+  $result = mysql_query("SELECT card_id FROM Hand_Card WHERE hand_id=".DB_quote_smart($handid));
+  while($r = mysql_fetch_array($result,MYSQL_NUM))
+    $cards[]=$r[0];
+
+  return $cards;
+}
+
 function DB_get_cards_by_trick($id)
 {
   $cards = array();
   $i     = 1;
   
-  $result = mysql_query("SELECT card_id FROM Play LEFT JOIN Hand_Card ON Hand_Card.id=Play.hand_card_id ".
+  $result = mysql_query("SELECT card_id,position FROM Play LEFT JOIN Hand_Card ON Hand_Card.id=Play.hand_card_id ".
                        "LEFT JOIN Hand ON Hand.id=Hand_Card.hand_id ".
                        "WHERE trick_id=".
-                       DB_quote_smart($id)." ORDER BY position ASC");
+                       DB_quote_smart($id)." ORDER BY sequence ASC");
   while($r = mysql_fetch_array($result,MYSQL_NUM))
     {
-      $cards[$i]=$r[0];
+      $cards[$i]=array("card"=>$r[0],"pos"=>$r[1]);
       $i++;
     }
 
@@ -404,7 +417,7 @@ function DB_get_all_userid_by_gameid($id)
   $names = array();
   
   $result = mysql_query("SELECT user_id FROM Hand WHERE game_id=".
-                       DB_quote_smart($id));
+                       DB_quote_smart($id)." ORDER BY position ");
   while($r = mysql_fetch_array($result,MYSQL_NUM))
     $names[] = $r[0];
 
@@ -433,6 +446,13 @@ function DB_get_all_names()
   return $names;
 }
 
+function DB_update_game_timestamp($gameid)
+{
+  mysql_query("UPDATE Game SET mod_date = CURRENT_TIMESTAMP WHERE id=".DB_quote_smart($gameid));
+  return;
+}
+
+
 function DB_update_user_timestamp($userid)
 {
   mysql_query("UPDATE User SET last_login = CURRENT_TIMESTAMP WHERE id=".DB_quote_smart($userid));
@@ -512,4 +532,80 @@ function DB_set_startplayer_by_gameid($id,$p)
   return;
 }
 
+function DB_get_ruleset_by_gameid($id)
+{
+  $result = mysql_query("SELECT ruleset FROM Game WHERE id=".DB_quote_smart($id));
+  $r      = mysql_fetch_array($result,MYSQL_NUM);
+  
+  if($r)
+    return $r[0];
+  else
+    return NULL;
+}
+
+function DB_get_session_by_gameid($id)
+{
+  $result = mysql_query("SELECT session FROM Game WHERE id=".DB_quote_smart($id));
+  $r      = mysql_fetch_array($result,MYSQL_NUM);
+  
+  if($r)
+    return $r[0];
+  else
+    return NULL;
+}
+
+function DB_get_max_session()
+{
+  $result = mysql_query("SELECT MAX(session) FROM Game");
+  $r      = mysql_fetch_array($result,MYSQL_NUM);
+  
+  if($r)
+    return $r[0];
+  else
+    return 0;
+}
+
+function DB_get_ruleset($dullen,$schweinchen)
+{
+  $r = array();
+  
+  $result = mysql_query("SELECT id FROM Rulesets WHERE".
+                       " dullen=".DB_quote_smart($dullen)." AND ".
+                       " schweinchen=".DB_quote_smart($schweinchen));
+  if($result)
+    $r    = mysql_fetch_array($result,MYSQL_NUM);
+  
+  if($r)
+    return $r[0]; /* found ruleset */
+  else
+    {
+      /* create new one */
+      $result = mysql_query("INSERT INTO Rulesets VALUES (NULL, NULL, ".
+                           DB_quote_smart($dullen).",".
+                           DB_quote_smart($schweinchen).
+                           ", NULL)");
+      if($result)
+       return mysql_insert_id();
+    };
+
+  return -1; /* something went wrong */
+}
+
+function DB_get_party_by_hash($hash)
+{
+  $result = mysql_query("SELECT party FROM Hand WHERE hash=".DB_quote_smart($hash));
+  $r      = mysql_fetch_array($result,MYSQL_NUM);
+  
+  if($r)
+    return $r[0];
+  else
+    return NULL;
+}
+function DB_set_party_by_hash($hash,$party)
+{
+  mysql_query("UPDATE Hand SET party=".DB_quote_smart($party)." WHERE hash=".DB_quote_smart($hash));
+  return;
+}
+
+
 ?>
\ No newline at end of file