X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=include%2Fstats.php;h=d72b1efcc70ab6bb073b172b5b7cdb259d218b75;hp=8c83b6d87a6238b8ed7a42a0bcaa60df85981315;hb=106c90b95129be78b2763553c72e3aa131f5ee4b;hpb=dd22bb40f82d96ee744ee723c78852228d88df32 diff --git a/include/stats.php b/include/stats.php index 8c83b6d..d72b1ef 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); @@ -38,9 +63,7 @@ if( !$content = getCache("cache/stats.html",60*60*24) ) echo "

The contra party wins in "; $result = DB_query("SELECT COUNT(*) from Score". - " LEFT JOIN Game ON Game.id=game_id". - " WHERE score='againstqueens'". - " AND Game.status='gameover'"); + " WHERE score='againstqueens'"); while( $r = DB_fetch_array($result)) echo $r[0]; echo " games.

\n"; @@ -173,55 +196,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 games */ - $result = DB_query_array_all("SELECT fullname, COUNT(*) as c " . - " FROM Hand". - " LEFT JOIN User ON User.id=user_id". - " GROUP BY user_id". - " ORDER BY c DESC LIMIT 7" ); - array_unshift($result,array("Name","Number of games")); - echo output_table($result,"Most games","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 @@ -236,12 +210,13 @@ if( !$content = getCache("cache/stats.html",60*60*24) ) echo " games

\n"; */ $result = generate_global_score_table(); - array_unshift($result,array("Name","Average score per game")); - echo output_table($result,"Points per game","stats"); + 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 - */ + * how often is the last trick a non-trump trick + */ /* needs this so that all tables are within the div and don't float around */ echo "

 

\n";