Adding num reported/accepted stats, shown on user.php
This commit is contained in:
parent
534380d904
commit
35f4d7ea5a
14
php/user.php
14
php/user.php
|
|
@ -115,12 +115,14 @@
|
|||
<th>Average Points/Question*</th>
|
||||
<th>Total Points</th>
|
||||
<th>Question Answered*</th>
|
||||
<th>Edits Made</th>
|
||||
<th>Edits Accepted</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
if ($db) {
|
||||
$q = $db->prepare('select
|
||||
$q = $db->prepare('select
|
||||
sum(tl2.t * (tl2.n /
|
||||
(select sum(num_answered)
|
||||
from triviauserlog
|
||||
|
|
@ -132,7 +134,9 @@
|
|||
where username=:username))
|
||||
) as score,
|
||||
(select sum(points_made) from triviauserlog t3 where lower(username)=:username) as points,
|
||||
(select sum(num_answered) from triviauserlog t4 where lower(username)=:username) as q_asked
|
||||
(select sum(num_answered) from triviauserlog t4 where lower(username)=:username) as q_asked,
|
||||
(select num_reported from triviausers where lower(username)=:username) as num_r,
|
||||
(select num_accepted from triviausers where lower(username)=:username) as num_a
|
||||
from (select
|
||||
tl3.id as id2,
|
||||
tl3.average_time * 1.0 as t,
|
||||
|
|
@ -140,8 +144,8 @@
|
|||
tl3.num_answered * 1.0 as n
|
||||
from triviauserlog tl3
|
||||
) tl2
|
||||
inner join triviauserlog tl
|
||||
on tl.username=:username
|
||||
inner join triviauserlog tl
|
||||
on tl.username=:username
|
||||
and id=tl2.id2
|
||||
');
|
||||
$q->execute(array('username'=>$username));
|
||||
|
|
@ -156,6 +160,8 @@
|
|||
echo '<td>' . $res['score'] . '</td>';
|
||||
echo '<td>' . $res['points'] . '</td>';
|
||||
echo '<td>' . $res['q_asked'] . '</td>';
|
||||
echo '<td>' . $res['num_r'] . '</td>';
|
||||
echo '<td>' . $res['num_a'] . '</td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
}
|
||||
|
|
|
|||
42
plugin.py
42
plugin.py
|
|
@ -244,10 +244,17 @@ class TriviaTime(callbacks.Plugin):
|
|||
"""<question number> <corrected text>
|
||||
Correct a question by providing the question number and the corrected text.
|
||||
"""
|
||||
username = str.lower(msg.nick)
|
||||
try:
|
||||
user = ircdb.users.getUser(msg.prefix) # rootcoma!~rootcomaa@unaffiliated/rootcoma
|
||||
username = str.lower(user.name)
|
||||
except KeyError:
|
||||
pass
|
||||
q = self.storage.getQuestion(num)
|
||||
if len(question) > 0:
|
||||
q = q[0]
|
||||
self.storage.insertEdit(num, question, msg.nick, msg.args[0])
|
||||
self.storage.insertEdit(num, question, username, msg.args[0])
|
||||
self.storage.updateUser(username, 1, 0)
|
||||
irc.reply("Success! Submitted edit for further review.")
|
||||
irc.sendMsg(ircmsgs.notice(msg.nick, 'NEW: %s' % (question)))
|
||||
irc.sendMsg(ircmsgs.notice(msg.nick, 'OLD: %s' % (q[2])))
|
||||
|
|
@ -266,12 +273,13 @@ class TriviaTime(callbacks.Plugin):
|
|||
edit = edit[0]
|
||||
question = self.storage.getQuestion(edit[1])
|
||||
self.storage.updateQuestion(edit[1], edit[2])
|
||||
self.storage.updateUser(edit[4], 0, 1)
|
||||
self.storage.removeEdit(edit[0])
|
||||
irc.reply('Question #%d updated!' % edit[1])
|
||||
irc.reply('NEW:%s' %(edit[2]))
|
||||
irc.sendMsg(ircmsgs.notice(msg.nick, 'NEW: %s' % (edit[2])))
|
||||
if len(question) > 0:
|
||||
question = question[0]
|
||||
irc.reply('OLD:%s' % (question[2]))
|
||||
irc.sendMsg(ircmsgs.notice(msg.nick, 'OLD: %s' % (question[2])))
|
||||
else:
|
||||
irc.error('Question could not be found for this edit')
|
||||
acceptedit = wrap(acceptedit, ['int'])
|
||||
|
|
@ -347,8 +355,13 @@ class TriviaTime(callbacks.Plugin):
|
|||
"""<report id> <report text>
|
||||
Provide a report for a bad question. Be sure to include the round number and any problems.
|
||||
"""
|
||||
channel = str.lower(msg.args[0])
|
||||
username = str.lower(msg.nick)
|
||||
try:
|
||||
user = ircdb.users.getUser(msg.prefix) # rootcoma!~rootcomaa@unaffiliated/rootcoma
|
||||
username = str.lower(user.name)
|
||||
except KeyError:
|
||||
pass
|
||||
channel = str.lower(msg.args[0])
|
||||
if channel in self.games:
|
||||
if self.games[channel].numAsked == roundNum and self.games[channel].questionOver == False:
|
||||
irc.reply("Sorry you must wait until the current question is over to report it.")
|
||||
|
|
@ -357,6 +370,7 @@ class TriviaTime(callbacks.Plugin):
|
|||
if len(question) > 0:
|
||||
question = question[0]
|
||||
inp = text.strip()
|
||||
self.storage.updateUser(username, 1, 0)
|
||||
if inp[:2] == 's/':
|
||||
regex = inp[2:].split('/')
|
||||
if len(regex) > 1:
|
||||
|
|
@ -1130,12 +1144,12 @@ class TriviaTime(callbacks.Plugin):
|
|||
self.conn.commit()
|
||||
c.close()
|
||||
|
||||
def insertUser(self, username):
|
||||
def insertUser(self, username, numReported=0, numAccepted=0):
|
||||
username = str.lower(username)
|
||||
if self.userExists(username):
|
||||
return self.updateUser(username)
|
||||
c = self.conn.cursor()
|
||||
c.execute('insert into triviausers values (NULL, ?)', (username,))
|
||||
c.execute('insert into triviausers values (NULL, ?, ?, ?)', (username,numReported,numAccepted))
|
||||
self.conn.commit()
|
||||
c.close()
|
||||
|
||||
|
|
@ -1220,7 +1234,7 @@ class TriviaTime(callbacks.Plugin):
|
|||
def userExists(self, username):
|
||||
c = self.conn.cursor()
|
||||
usr = (str.lower(username),)
|
||||
result = c.execute('select count(id) from triviausers where username=?', usr)
|
||||
result = c.execute('select count(id) from triviausers where lower(username)=?', usr)
|
||||
rows = result.fetchone()[0]
|
||||
c.close()
|
||||
if rows > 0:
|
||||
|
|
@ -1285,13 +1299,15 @@ class TriviaTime(callbacks.Plugin):
|
|||
self.conn.commit()
|
||||
c.close()
|
||||
|
||||
def updateUser(self, username):
|
||||
def updateUser(self, username, numReported=0, numAccepted=0):
|
||||
username = str.lower(username)
|
||||
if not self.userExists(username):
|
||||
return self.insertUser(username)
|
||||
return self.insertUser(username, numReported, numAccepted)
|
||||
c = self.conn.cursor()
|
||||
test = c.execute('''update triviausers set
|
||||
where username=?''', (username))
|
||||
c.execute('''update triviausers set
|
||||
num_reported=num_reported+?,
|
||||
num_accepted=num_accepted+?
|
||||
where username=?''', (numReported, numAccepted, username))
|
||||
self.conn.commit()
|
||||
c.close()
|
||||
|
||||
|
|
@ -1386,7 +1402,9 @@ class TriviaTime(callbacks.Plugin):
|
|||
try:
|
||||
c.execute('''create table triviausers (
|
||||
id integer primary key autoincrement,
|
||||
username text not null unique
|
||||
username text not null unique,
|
||||
num_reported integer,
|
||||
num_accepted integer
|
||||
)''')
|
||||
except:
|
||||
pass
|
||||
|
|
|
|||
Loading…
Reference in New Issue