Merge branch 'master' of /home/arun/nubati.net/git/e-DoKo
[e-DoKo.git] / include / stats.php
index 1e6a033ea5986fca7bd4a11610cdb7b2118aef33..61e7d880af99d216d2d176b21aea668eb9d3f3b8 100644 (file)
@@ -1,10 +1,32 @@
 <?php
+/* Copyright 2006, 2007, 2008, 2009, 2010 Arun Persaud <arun@nubati.net>
+ *
+ *   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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
 /* 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);
 
@@ -171,46 +193,6 @@ 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
 
@@ -225,8 +207,9 @@ if( !$content = getCache("cache/stats.html",60*60*24) )
  echo " games</p>\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