X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=include%2Fdb.php;h=6568e75c5d7bc3b0298765e32243abf51f5d250e;hp=0523fea4b675e3093dcc8ce0c3ef264b523d8504;hb=7a6c422d36beb00e0b6719fec7d3675b37d69af2;hpb=1e258af4136567ab30ce9b54aee751077f80590e diff --git a/include/db.php b/include/db.php index 0523fea..6568e75 100644 --- a/include/db.php +++ b/include/db.php @@ -1,5 +1,5 @@ +/* Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Arun Persaud * * This file is part of e-DoKo. * @@ -30,17 +30,13 @@ if(!isset($HOST)) function DB_open() { - $version_needed = 3; + $version_needed = 5; global $DB,$DB_user,$DB_host,$DB_database,$DB_password; - $DB = @mysql_connect($DB_host,$DB_user, $DB_password); - if ( $DB ) + $DB = new mysqli($DB_host,$DB_user, $DB_password, $DB_database); + if ( $DB->connect_errno ) { - mysql_select_db($DB_database) or die('Error: Could not select database'); - } - else - { - echo mysql_errno() . ": " . mysql_error(). "\n"; + echo "Failed to connect to Mysql ".$DB->connect_error." (".$DB->connect_errno.")\n"; return -1; }; @@ -54,19 +50,21 @@ function DB_open() function DB_close() { global $DB; - mysql_close($DB); + $DB->close(); return; } function DB_quote_smart($value) { + global $DB; /* Stripslashes */ if (get_magic_quotes_gpc()) { $value = stripslashes($value); } /* Quote if not a number or a numeric string */ if (!is_numeric($value)) { - $value = "'" . mysql_real_escape_string($value) . "'"; + $value = "'" . $DB->real_escape_string($value) . "'"; + $value = addcslashes($value, '%_'); } return $value; } @@ -86,9 +84,10 @@ function DB_test() /* use Mysql in the background */ function DB_query($query) { + global $DB; /* debug/optimize the database $time = microtime(); - $return = mysql_query($query); + $return = $DB->query($query); $time = $time - microtime(); if($time > 0.05) // this way we can find only the long ones @@ -102,22 +101,18 @@ function DB_query($query) return $return; */ - return mysql_query($query); + return $DB->query($query); } function DB_fetch_array($result) { - return mysql_fetch_array($result,MYSQL_NUM); + return $result->fetch_array(MYSQLI_NUM); } function DB_insert_id() { - return mysql_insert_id(); -} - -function DB_num_rows($result) -{ - return mysql_num_rows($result); + global $DB; + return $DB->insert_id; } /* end Mysql functions */ @@ -146,16 +141,6 @@ function DB_get_version() return $version[0]; } -function DB_get_passwd_by_name($name) -{ - $r = DB_query_array("SELECT password FROM User WHERE fullname=".DB_quote_smart($name).""); - - if($r) - return $r[0]; - else - return ""; -} - function DB_get_passwd_by_userid($id) { $r = DB_query_array("SELECT password FROM User WHERE id=".DB_quote_smart($id).""); @@ -812,9 +797,6 @@ function DB_get_PREF($myid) switch($pref[0]) { case 'cardset': - /* licence only valid until then */ - if($pref[1]=='altenburg' && (time()-strtotime( '2012-12-31 23:59:59')<0) ) - $PREF['cardset']='altenburg'; break; case 'email': @@ -951,6 +933,12 @@ function DB_set_recovery_password($user,$newpw) return; } +function DB_delete_recovery_passwords($userid) +{ + DB_query("DELETE FROM Recovery WHERE user_id=".DB_quote_smart($userid)); + return; +} + function DB_get_card_name($card) { if($card==0) @@ -1242,9 +1230,12 @@ function DB_get_number_of_tricks($gameid,$position) return $r[0]; } -function DB_digest_insert_email($To,$message) +function DB_digest_insert_email($To,$message,$type,$gameid) { - DB_query("INSERT INTO digest_email VALUES (NULL,".DB_quote_smart($To).",NULL,".DB_quote_smart($message).")"); + if($type == GAME_YOUR_TURN) + DB_query("INSERT INTO digest_email VALUES (NULL,".DB_quote_smart($To).",NULL,'your_turn',$gameid,".DB_quote_smart($message).")"); + else + DB_query("INSERT INTO digest_email VALUES (NULL,".DB_quote_smart($To).",NULL,'misc',NULL,".DB_quote_smart($message).")"); return; } @@ -1263,7 +1254,7 @@ function DB_get_digest_message_by_email($email) { $messages = array(); - $result = DB_query("SELECT id,content FROM digest_email Where email='$email'"); + $result = DB_query("SELECT id,content,type,game_id FROM digest_email Where email='$email'"); while($r = DB_fetch_array($result)) $messages[]=$r;