X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=include%2Fstats.php;h=23c8721c3c936e665a3bcb8fba0b6ed45dc6ca09;hp=1e6a033ea5986fca7bd4a11610cdb7b2118aef33;hb=HEAD;hpb=5edd63b115fe7712c6e220fc6a0b78dbace4f3cd
diff --git a/include/stats.php b/include/stats.php
index 1e6a033..23c8721 100644
--- a/include/stats.php
+++ b/include/stats.php
@@ -1,10 +1,32 @@
+ *
+ * This file is part of e-DoKo.
+ *
+ * e-DoKo is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * e-DoKo is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with e-DoKo. If not, see .
+ *
+ */
+
/* make sure that we are not called from outside the scripts,
* use a variable defined in config.php to check this
*/
if(!isset($HOST))
exit;
+/* turn warnings off (problem with two warnings in function.php */
+error_reporting(!E_ALL & ~E_NOTICE);
+
$name = $_SESSION["name"];
$email = DB_get_email('name',$name);
@@ -13,6 +35,9 @@ if(!$myid)
return;
$PREF = DB_get_PREF($myid);
+/* set language chosen in preferences*/
+$_SESSION['language'] = $PREF['language'];
+set_language($PREF['language']);
DB_update_user_timestamp($myid);
@@ -171,62 +196,24 @@ if( !$content = getCache("cache/stats.html",60*60*24) )
array_unshift($result,array("Position","Number of tricks"));
echo output_table($result,"Tricks at the table","stats");
- /* most solos */
- $result = DB_query_array_all("SELECT fullname as fname,".
- " COUNT(*), ".
- " COUNT(*)/(SELECT COUNT(*) FROM Hand LEFT JOIN User ON User.id=Hand.user_id WHERE fullname=fname) as c ".
- " FROM Game ".
- " LEFT JOIN Hand ON Hand.position=startplayer AND Game.id=Hand.game_id ".
- " LEFT JOIN User ON User.id=Hand.user_id ".
- " WHERE type='solo' AND Game.status='gameover' ".
- " GROUP BY user_id ".
- " ORDER BY c DESC;");
- array_unshift($result,array("Name","Number of solos","Solos/game"));
- echo output_table($result,"Most solos","stats");
-
-
- /* most active games */
- $result = DB_query_array_all("SELECT fullname, COUNT(*) as c " .
- " FROM Hand".
- " LEFT JOIN User ON User.id=user_id".
- " LEFT JOIN Game ON Game.id=game_id".
- " WHERE Game.status<>'gameover'".
- " GROUP BY user_id".
- " ORDER BY c DESC LIMIT 7" );
- array_unshift($result,array("Name","Number of active games"));
- echo output_table($result,"Active games","stats");
-
- /* response time of users*/
- $result = DB_query_array_all("SELECT User.fullname,".
- "IFNULL(AVG(if(P1.sequence in (2,3,4),".
- "-timestampdiff(MINUTE,mod_date,(select mod_date from Play P2 where P1.trick_id=P2.trick_id and P2.sequence=P1.sequence-1)),NULL )),1e9) as a, ".
- " COUNT(*) as na ".
- "FROM Play P1 ".
- "LEFT JOIN Hand_Card ON P1.hand_card_id=Hand_Card.id ".
- "LEFT JOIN Hand ON Hand.id=Hand_Card.hand_id ".
- "LEFT JOIN User ON Hand.user_id=User.id ".
- "GROUP BY user_id ".
- "HAVING na>8 ".
- "ORDER BY a " );
- array_unshift($result,array("Name","Average minutes before response","trick count"));
- echo output_table($result,"Response","stats");
-
/*
does the party win more often if they start
+ global $DB;
echo "
The party playing first wins in";
- $result = mysql_query("SELECT COUNT(*) from Score".
+ $result = $DB->query("SELECT COUNT(*) from Score".
" LEFT JOIN Game ON Game.id=game_id".
" WHERE score='againstqueens'".
" AND Game.status='gameover'".
" AND Game.type<>'solo'");
- while( $r = mysql_fetch_array($result,MYSQL_NUM))
+ while( $r = $result->fetch_array(MYSQLI_NUM))
echo $r[1]." (".$r[0].")
\n";
echo " games
\n";
*/
$result = generate_global_score_table();
- array_unshift($result,array("Name","Average score per game","Total Points","Number of games"));
- echo output_table($result,"Points per game (need more than 10 games)","stats","ScoreTable");
+ array_unshift($result,array('Name','Average score per game','Total Points','Number of games', 'Active games',
+ 'Response Time [min]','Number of solos','Solos/game'));
+ echo output_table($result,'Players (need more than 10 games)','stats','ScoreTable');
/*
* how often is the last trick a non-trump trick