X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=include%2Fstats.php;h=61e7d880af99d216d2d176b21aea668eb9d3f3b8;hp=f450880afde6ae302592b4b44b30330d413916a0;hb=fceb0d9bc48ae848461e728abaf5065a2578da61;hpb=ba97ac2dae0f582781e713ee9aa8dae0449417a5 diff --git a/include/stats.php b/include/stats.php index f450880..61e7d88 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); @@ -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 IN ('pre','play')". - " 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

\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