NEW FEATURE: use gravatars as icons for players
[e-DoKo.git] / include / db.php
index e389db410d3e0f5ffc258534c1068a9d8ee59aeb..882a1adb35448224451f230aff4f6278fa373a80 100644 (file)
@@ -18,8 +18,10 @@ function DB_open()
       mysql_select_db($DB_database) or die('Could not select database');
     }
   else
-    return -1;
-
+    {
+      echo mysql_errno() . ": " . mysql_error(). "\n";
+      return -1;
+    }
   return 0;
 }
 
@@ -112,6 +114,12 @@ function DB_query_array_all($query)
   return $result;
 }
 
+function DB_get_version()
+{
+  $version = DB_query_array('SELECT version FROM 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)."");
@@ -462,6 +470,17 @@ function DB_get_names_of_last_logins($N)
   return $names;
 }
 
+function DB_get_emails_of_last_logins($N)
+{
+  $emails  = array();
+
+  $result = DB_query("SELECT email FROM User ORDER BY last_login DESC LIMIT $N");
+  while($r = DB_fetch_array($result))
+    $emails[] = $r[0];
+
+  return $emails;
+}
+
 function DB_get_names_of_new_logins($N)
 {
   $names  = array();
@@ -698,6 +717,7 @@ function DB_get_PREF($myid)
   /* set defaults */
   $PREF['cardset']             = 'english';
   $PREF['email']               = 'emailnonaddict';
+  $PREF['digest']               = 'digest-off';
   $PREF['autosetup']           = 'no';
   $PREF['sorting']             = 'high-low';
   $PREF['open_for_games']      = 'yes';
@@ -714,13 +734,18 @@ function DB_get_PREF($myid)
        {
        case 'cardset':
          /* licence only valid until then */
-         if($pref[1]=="altenburg" && (time()-strtotime( "2009-12-31 23:59:59")<0) )
-           $PREF["cardset"]="altenburg";
+         if($pref[1]=='altenburg' && (time()-strtotime( '2009-12-31 23:59:59')<0) )
+           $PREF['cardset']='altenburg';
          break;
 
        case 'email':
-         if($pref[1]=="emailaddict")
-           $PREF["email"]="emailaddict";
+         if($pref[1]=='emailaddict')
+           $PREF['email']='emailaddict';
+         break;
+
+       case 'digest':
+         if($pref[1])
+           $PREF['digest'] = $pref[1];
          break;
 
        case 'autosetup':
@@ -1036,7 +1061,7 @@ function DB_get_userid($type,$var1="",$var2="")
       /* test if a recovery password has been set */
       if(!$r)
        {
-         echo "testing alternative password";
+         /* testing alternative password */
          $result = DB_query("SELECT User.id FROM User".
                             " LEFT JOIN Recovery ON User.id=Recovery.user_id".
                             " WHERE email=".DB_quote_smart($var1).
@@ -1147,4 +1172,44 @@ function DB_played_by_others($gameid)
       $gameids[]=$r[0];
   return $gameids;
 }
+
+function DB_get_number_of_tricks($gameid,$position)
+{
+  $r = DB_query_array("SELECT COUNT(winner) FROM Trick Where game_id='$gameid' and winner='$position'");
+  return $r[0];
+}
+
+function DB_digest_insert_email($To,$message)
+{
+  DB_query("INSERT INTO digest_email VALUES (NULL,".DB_quote_smart($To).",NULL,".DB_quote_smart($message).")");
+  return;
+}
+
+function DB_get_digest_users()
+{
+  $users = array();
+
+  $result = DB_query("SELECT user_id FROM User_Prefs WHERE pref_key='digest' and value <> 'digest-off'");
+  while($r = DB_fetch_array($result))
+    $users[]=$r[0];
+
+  return $users;
+}
+
+function DB_get_digest_message_by_email($email)
+{
+  $messages = array();
+
+  $result = DB_query("SELECT id,content FROM digest_email Where email='$email'");
+  while($r = DB_fetch_array($result))
+    $messages[]=$r;
+
+  return $messages;
+}
+
+function DB_digest_delete_message($id)
+{
+  DB_query("Delete from digest_email where id='$id'");
+}
+
 ?>
\ No newline at end of file