From 48db83748c0ba8ecb733984ce11a4e59fd8ae9bd Mon Sep 17 00:00:00 2001 From: rootcoma Date: Thu, 21 Nov 2013 19:50:19 -0800 Subject: [PATCH 1/2] adding profile.php, changing user search --- php/profile.php | 266 ++++++++++++++++++++++++++++++++++++++++++++++++ php/stats.php | 4 +- php/user.php | 61 +++-------- 3 files changed, 280 insertions(+), 51 deletions(-) create mode 100644 php/profile.php diff --git a/php/profile.php b/php/profile.php new file mode 100644 index 0000000..b399067 --- /dev/null +++ b/php/profile.php @@ -0,0 +1,266 @@ + + +"|", "["=>"{", "]"=>"}", "~"=>"^"); + $usernameCanonical = strtr($username, $ircLowerSymbols); + $usernameCanonical = strtolower($usernameCanonical); + } else { + $username = ''; + $usernameCanonical = ''; + } +?> + + + Players · TriviaTime + + + + + + + + + + + + + +
+ +
+

TriviaTime

+ +
+ +prepare('select + tl.username as usrname, + sum(tl2.t * (tl2.n / + (select sum(num_answered) + from triviauserlog + where username_canonical=:username)) + ) as count, + sum(tl2.p * (tl2.n / + (select sum(num_answered) + from triviauserlog + where username_canonical=:username)) + ) as score, + (select sum(points_made) from triviauserlog t3 where username_canonical=:username) as points, + (select sum(num_answered) from triviauserlog t4 where username_canonical=:username) as q_asked, + (select num_editted from triviausers where username_canonical=:username) as num_e, + (select num_editted_accepted from triviausers where username_canonical=:username) as num_e_accepted, + (select num_questions_added from triviausers where username_canonical=:username) as num_q, + (select num_questions_accepted from triviausers where username_canonical=:username) as num_q_accepted, + (select num_reported from triviausers where username_canonical=:username) as num_r + from (select + tl3.id as id2, + tl3.average_time * 1.0 as t, + tl3.average_score * 1.0 as p, + tl3.num_answered * 1.0 as n + from triviauserlog tl3 + ) tl2 + inner join triviauserlog tl + on tl.username_canonical=:username + and tl.id=tl2.id2 + '); + $q->execute(array(':username'=>$usernameCanonical)); + if ($q === false) { + die("Error: database error: table does not exist\n"); + } else { + $result = $q->fetchAll(); + if(sizeOf($result) > 0) { + $result = $result[0]; + } + + if(is_null($result['usrname'])) { + $result['usrname'] = "Not found"; + $result['count'] = 0; + $result['score'] = 0; + $result['points'] = 0; + $result['q_asked'] = 0; + $result['num_e'] = 0; + $result['num_e_accepted'] = 0; + $result['num_q'] = 0; + $result['num_q_accepted'] = 0; + $result['num_r'] = 0; + + } + } + } else { + if(isset($err)) { + die($err); + } + } +?> +
+

+

Profile and user summary.

+

+

+
+ + +
+
+

Averages

+ + + + + + + + +'; + echo ''; + echo ''; + echo ''; + } + } +?> + +
Average Time/Question*Average Points/Question*
' . number_format($result['count'],2) . '' . number_format($result['score'],2) . '
+
+
+
+
+

Totals

+ + + + + + + + +'; + echo ''; + echo ''; + echo ''; + } + } +?> + +
Total PointsNumber Answered*
' . number_format($result['points'],0) . '' . number_format($result['q_asked'],0) . '
+
+
+
+
+

Contributions

+ + + + + + + + + + + +'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + } + } +?> + +
Number EditedEdits AcceptedQuestions AddedQuestions AcceptedReports Made
' . number_format($result['num_e'],0) . '' . number_format($result['num_e_accepted'],0) . '' . number_format($result['num_q'],0) . '' . number_format($result['num_q_accepted'],0) . '' . number_format($result['num_r'],0) . '
+
+
+ +
+
+

* These stats do not include KAOS

+
+
+ + +
+ + + + + + + + diff --git a/php/stats.php b/php/stats.php index fc929ee..e5324a5 100644 --- a/php/stats.php +++ b/php/stats.php @@ -171,7 +171,7 @@ foreach($result as $key=>$res) { echo ''; echo '' . ($key+1) . ''; - echo '' . $res['username'] . ''; + echo '' . $res['username'] . ''; echo '' . number_format($res['points'],0) . ''; echo ''; } @@ -282,5 +282,3 @@ - - diff --git a/php/user.php b/php/user.php index f38a9ce..7003306 100644 --- a/php/user.php +++ b/php/user.php @@ -105,44 +105,23 @@ prepare('select - tl.username as usrname, - sum(tl2.t * (tl2.n / - (select sum(num_answered) - from triviauserlog - where username_canonical=:username)) - ) as count, - sum(tl2.p * (tl2.n / - (select sum(num_answered) - from triviauserlog - where username_canonical=:username)) - ) as score, - (select sum(points_made) from triviauserlog t3 where username_canonical=:username) as points, - (select sum(num_answered) from triviauserlog t4 where username_canonical=:username) as q_asked, - (select num_editted from triviausers where username_canonical=:username) as num_e, - (select num_editted_accepted from triviausers where username_canonical=:username) as num_e_accepted, - (select num_questions_added from triviausers where username_canonical=:username) as num_q, - (select num_questions_accepted from triviausers where username_canonical=:username) as num_q_accepted, - (select num_reported from triviausers where username_canonical=:username) as num_r - from (select - tl3.id as id2, - tl3.average_time * 1.0 as t, - tl3.average_score * 1.0 as p, - tl3.num_answered * 1.0 as n - from triviauserlog tl3 - ) tl2 - inner join triviauserlog tl - on tl.username_canonical=:username - and tl.id=tl2.id2 + tl.username, + sum(tl.points_made) as points, + sum(tl.num_answered) as total + from triviauserlog tl + where tl.username_canonical like :username + group by tl.username_canonical + limit 20 '); - $q->execute(array(':username'=>$usernameCanonical)); + $q->execute(array(':username'=>'%'.$usernameCanonical.'%')); if ($q === false) { die("Error: database error: table does not exist\n"); } else { $result = $q->fetchAll(); foreach($result as $res) { - if(is_null($res['usrname'])) { + if(is_null($res['username'])) { echo "
User not found.
"; } } @@ -168,15 +147,8 @@ Username - Average Time/Question* - Average Points/Question* Total Points Question Answered* - Edits Made - Edits Accepted - Questions Made - Questions Accepted - Reports Made @@ -184,18 +156,11 @@ if(isset($result)) { foreach($result as $res) { - if(!is_null($res['usrname'])) { + if(!is_null($res['username'])) { echo ''; - echo '' . $res['usrname'] . ''; - echo '' . number_format($res['count'],2) . ''; - echo '' . number_format($res['score'],2) . ''; + echo '' . $res['username'] . ''; echo '' . number_format($res['points'],0) . ''; - echo '' . number_format($res['q_asked'],0) . ''; - echo '' . number_format($res['num_e'],0) . ''; - echo '' . number_format($res['num_e_accepted'],0) . ''; - echo '' . number_format($res['num_q'],0) . ''; - echo '' . number_format($res['num_q_accepted'],0) . ''; - echo '' . number_format($res['num_r'],0) . ''; + echo '' . number_format($res['total'],0) . ''; echo ''; } } From 58e91c11b1dd9cd8367cf8f07ecb4a3a0a595c46 Mon Sep 17 00:00:00 2001 From: rootcoma Date: Thu, 21 Nov 2013 19:52:28 -0800 Subject: [PATCH 2/2] stats.php -> link to profile --- php/stats.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/php/stats.php b/php/stats.php index e5324a5..139ad87 100644 --- a/php/stats.php +++ b/php/stats.php @@ -212,7 +212,7 @@ foreach($result as $key=>$res) { echo ''; echo '' . ($key+1) . ''; - echo '' . $res['username'] . ''; + echo '' . $res['username'] . ''; echo '' . number_format($res['points'],0) . ''; echo ''; } @@ -253,7 +253,7 @@ foreach($result as $key=>$res) { echo ''; echo '' . ($key+1) . ''; - echo '' . $res['username'] . ''; + echo '' . $res['username'] . ''; echo '' . number_format($res['points'],0) . ''; echo ''; }