10 if ( $DB = mysql_connect('mysql.nubati.net','doko', '$DoKo#.') )
11 mysql_select_db('dokodb') or die('Could not select database');
25 function DB_quote_smart($value)
28 if (get_magic_quotes_gpc()) {
29 $value = stripslashes($value);
31 /* Quote if not a number or a numeric string */
32 if (!is_numeric($value)) {
33 $value = "'" . mysql_real_escape_string($value) . "'";
41 $result = mysql_query("SELECT * FROM User");
42 while($r = mysql_fetch_array($result,MYSQL_NUM))
51 function DB_get_email_by_name($name)
53 echo "*looking for $name*";
54 $result = mysql_query("SELECT email FROM User WHERE fullname=".DB_quote_smart($name)."");
55 $r = mysql_fetch_array($result,MYSQL_NUM);
63 function DB_get_userid_by_name($name)
65 $result = mysql_query("SELECT id FROM User WHERE fullname=".DB_quote_smart($name));
66 $r = mysql_fetch_array($result,MYSQL_NUM);
73 function DB_get_userid_by_passwd($passwd)
75 $result = mysql_query("SELECT id FROM User WHERE password=".DB_quote_smart($passwd));
76 $r = mysql_fetch_array($result,MYSQL_NUM);
83 function DB_get_userid_by_email($email)
85 $result = mysql_query("SELECT id FROM User WHERE email=".DB_quote_smart($email));
86 $r = mysql_fetch_array($result,MYSQL_NUM);
94 function DB_get_handid_by_hash($hash)
96 $result = mysql_query("SELECT id FROM Hand WHERE hash=".DB_quote_smart($hash));
97 $r = mysql_fetch_array($result,MYSQL_NUM);
105 function DB_get_userid_by_hash($hash)
107 $result = mysql_query("SELECT user_id FROM Hand WHERE hash=".DB_quote_smart($hash));
108 $r = mysql_fetch_array($result,MYSQL_NUM);
116 function DB_get_pos_by_hash($hash)
118 $result = mysql_query("SELECT position FROM Hand WHERE hash=".DB_quote_smart($hash));
119 $r = mysql_fetch_array($result,MYSQL_NUM);
127 function DB_get_name_by_hash($hash)
129 $result = mysql_query("SELECT fullname FROM Hand LEFT JOIN User ON hand.user_id=user.id WHERE hash=".DB_quote_smart($hash));
130 $r = mysql_fetch_array($result,MYSQL_NUM);
138 function DB_get_status_by_hash($hash)
140 $result = mysql_query("SELECT status FROM Hand WHERE hash=".DB_quote_smart($hash));
141 $r = mysql_fetch_array($result,MYSQL_NUM);
149 function DB_set_hand_status_by_hash($hash,$status)
151 mysql_query("UPDATE Hand SET status='".$status."' WHERE hash=".DB_quote_smart($hash));
155 function DB_get_gameid_by_hash($hash)
157 $result = mysql_query("SELECT game_id FROM Hand WHERE hash=".DB_quote_smart($hash));
158 $r = mysql_fetch_array($result,MYSQL_NUM);
166 function DB_cancel_game($hash)
168 $gameid = DB_get_gameid_by_hash($me);
173 /* get the IDs of all players */
174 $result = mysql_query("SELECT id FROM Hand WHERE game_id=".DB_quote_smart($gameid));
175 while($r = mysql_fetch_array($result,MYSQL_NUM))
179 $tmp = mysql_query("SELECT id FROM Hand_Card WHERE hand_id=".DB_quote_smart($id));
180 $tmp = mysql_fetch_array($tmp,MYSQL_NUM);
181 mysql_query("DELETE FROM Play WHERE hand_card_id=".DB_quote_smart($tmp[0]));
184 mysql_query("DELETE FROM Hand_Card WHERE hand_id=".DB_quote_smart($id));
185 mysql_query("DELETE FROM Score WHERE hand_id=".DB_quote_smart($id));
186 mysql_query("DELETE FROM Hand WHERE id=".DB_quote_smart($id));
190 mysql_query("DELETE FROM User_Game_Prefs WHERE game_id=".DB_quote_smart($gameid));
191 mysql_query("DELETE FROM Trick WHERE game_id=".DB_quote_smart($gameid));
192 mysql_query("DELETE FROM Game WHERE id=".DB_quote_smart($gameid));
197 function DB_get_hand($me)
201 $handid = DB_get_handid_by_hash($me);
203 $result = mysql_query("SELECT card_id FROM Hand_Card WHERE hand_id=".DB_quote_smart($handid)." and played='false' ");
204 while($r = mysql_fetch_array($result,MYSQL_NUM))
210 function DB_set_solo_by_hash($me,$solo)
212 mysql_query("UPDATE Hand SET solo=".DB_quote_smart($solo)." WHERE hash=".DB_quote_smart($hash));
216 function DB_set_sickness_by_hash($me,$sickness)
218 mysql_query("UPDATE Hand SET sickness=".DB_quote_smart($sickness)." WHERE hash=".DB_quote_smart($hash));
222 function DB_get_current_trickid($gameid)
224 $result = mysql_query("SELECT trick.id,MAX(play.sequence) FROM Play ".
225 "LEFT JOIN Trick ON play.trick_id=trick.id ".
226 "WHERE trick.game_id=".DB_quote_smart($gameid)." ".
227 "GROUP BY trick.id");
228 while( $r = mysql_fetch_array($result,MYSQL_NUM) )
234 if(!$sequence || $sequence==4)
236 mysql_query("INSERT INTO Trick VALUES (NULL,NULL,NULL, ".DB_quote_smart($gameid).")");
237 $trickid = mysql_insert_id();
245 return array($trickid,$sequence);
248 function DB_get_max_trickid($gameid)
250 $result = mysql_query("SELECT MAX(id) FROM Trick WHERE game_id=".DB_quote_smart($gameid));
251 $r = mysql_fetch_array($result,MYSQL_NUM) ;
254 return ($r?$r[0]:NULL);
257 function DB_play_card($trickid,$handcardid,$sequence)
259 mysql_query("INSERT INTO Play VALUES(NULL,NULL,NULL,".DB_quote_smart($trickid).
260 ",".DB_quote_smart($handcardid).",".DB_quote_smart($sequence).")");