[geeklog-cvs] geeklog: Fixed statistics being displayed when dealing with stor...
geeklog-cvs at lists.geeklog.net
geeklog-cvs at lists.geeklog.net
Mon Jan 2 13:35:50 EST 2012
changeset 8466:90650c1f1d06
url: http://project.geeklog.net/cgi-bin/hgwebdir.cgi/geeklog/rev/90650c1f1d06
user: Tom <websitemaster at cogeco.net>
date: Mon Jan 02 13:28:45 2012 -0500
description:
Fixed statistics being displayed when dealing with stories with multiple topics and different permissions.
diffstat:
public_html/stats.php | 41 +++++++++++++++++++++++++++++++++++------
1 files changed, 35 insertions(+), 6 deletions(-)
diffs (84 lines):
diff -r 75297349ba75 -r 90650c1f1d06 public_html/stats.php
--- a/public_html/stats.php Fri Dec 30 10:03:20 2011 -0500
+++ b/public_html/stats.php Mon Jan 02 13:28:45 2012 -0500
@@ -81,11 +81,18 @@
}
$data_arr[] = array('title' => $LANG10[27], 'stats' => COM_NumberFormat ($active_users));
-$topicsql = COM_getTopicSql ('AND');
+$topicsql = COM_getTopicSql ('AND', 0, 'ta');
$id = array ('draft_flag', 'date');
$values = array ('0', 'NOW()');
-$result = DB_query ("SELECT COUNT(*) AS count,SUM(comments) AS ccount FROM {$_TABLES['stories']} WHERE (draft_flag = 0) AND (date <= NOW())" . COM_getPermSQL ('AND') . $topicsql);
+
+//$sql = "SELECT COUNT(*) AS count,SUM(comments) AS ccount FROM {$_TABLES['stories']} WHERE (draft_flag = 0) AND (date <= NOW())" . COM_getPermSQL ('AND') . $topicsql;
+$sql = "SELECT COUNT(DISTINCT sid) AS count, SUM(comments) AS ccount
+ FROM {$_TABLES['stories']}, {$_TABLES['topic_assignments']} ta
+ WHERE ta.type = 'article' AND ta.id = sid
+ AND (draft_flag = 0) AND (date <= NOW())" . COM_getPermSQL ('AND') . $topicsql;
+
+$result = DB_query ($sql);
$A = DB_fetchArray ($result);
if (empty ($A['ccount'])) {
$A['ccount'] = 0;
@@ -115,7 +122,13 @@
// Detailed story statistics
-$result = DB_query("SELECT sid,title,hits FROM {$_TABLES['stories']} WHERE (draft_flag = 0) AND (date <= NOW()) AND (Hits > 0)" . COM_getPermSQL ('AND') . $topicsql . " ORDER BY hits DESC LIMIT 10");
+//$sql = "SELECT sid,title,hits FROM {$_TABLES['stories']} WHERE (draft_flag = 0) AND (date <= NOW()) AND (Hits > 0)" . COM_getPermSQL ('AND') . $topicsql . " ORDER BY hits DESC LIMIT 10";
+$sql = "SELECT sid,title,hits
+ FROM {$_TABLES['stories']}, {$_TABLES['topic_assignments']} ta
+ WHERE ta.type = 'article' AND ta.id = sid
+ AND (draft_flag = 0) AND (date <= NOW()) AND (Hits > 0)" . COM_getPermSQL ('AND') . $topicsql . " GROUP BY sid ORDER BY hits DESC LIMIT 10";
+
+$result = DB_query($sql);
$nrows = DB_numRows($result);
if ($nrows > 0) {
@@ -145,8 +158,13 @@
}
// Top Ten Commented Stories
+// $sql = "SELECT sid,title,comments FROM {$_TABLES['stories']} WHERE (draft_flag = 0) AND (date <= NOW()) AND (comments > 0)" . COM_getPermSQL ('AND') . $topicsql . " ORDER BY comments DESC LIMIT 10";
+$sql = "SELECT sid,title,comments
+ FROM {$_TABLES['stories']}, {$_TABLES['topic_assignments']} ta
+ WHERE ta.type = 'article' AND ta.id = sid
+ AND (draft_flag = 0) AND (date <= NOW()) AND (comments > 0)" . COM_getPermSQL ('AND') . $topicsql . " ORDER BY comments DESC LIMIT 10";
-$result = DB_query("SELECT sid,title,comments FROM {$_TABLES['stories']} WHERE (draft_flag = 0) AND (date <= NOW()) AND (comments > 0)" . COM_getPermSQL ('AND') . $topicsql . " ORDER BY comments DESC LIMIT 10");
+$result = DB_query($sql);
$nrows = DB_numRows($result);
if ($nrows > 0) {
$header_arr = array(
@@ -176,7 +194,13 @@
// Top Ten Trackback Comments
if ($_CONF['trackback_enabled'] || $_CONF['pingback_enabled']) {
- $result = DB_query ("SELECT {$_TABLES['stories']}.sid,{$_TABLES['stories']}.title,COUNT(*) AS count FROM {$_TABLES['stories']},{$_TABLES['trackback']} AS t WHERE (draft_flag = 0) AND ({$_TABLES['stories']}.date <= NOW()) AND ({$_TABLES['stories']}.sid = t.sid) AND (t.type = 'article')" . COM_getPermSql ('AND') . $topicsql . " GROUP BY t.sid,{$_TABLES['stories']}.sid,{$_TABLES['stories']}.title ORDER BY count DESC LIMIT 10");
+ // $sql = "SELECT {$_TABLES['stories']}.sid,{$_TABLES['stories']}.title,COUNT(*) AS count FROM {$_TABLES['stories']},{$_TABLES['trackback']} AS t WHERE (draft_flag = 0) AND ({$_TABLES['stories']}.date <= NOW()) AND ({$_TABLES['stories']}.sid = t.sid) AND (t.type = 'article')" . COM_getPermSql ('AND') . $topicsql . " GROUP BY t.sid,{$_TABLES['stories']}.sid,{$_TABLES['stories']}.title ORDER BY count DESC LIMIT 10";
+ $sql = "SELECT s.sid, s.title, COUNT(*) AS count
+ FROM {$_TABLES['stories']} s,{$_TABLES['trackback']} AS t, {$_TABLES['topic_assignments']} ta
+ WHERE ta.type = 'article' AND ta.id = s.sid
+ AND (s.draft_flag = 0) AND (s.date <= NOW()) AND (s.sid = t.sid) AND (t.type = 'article')" . COM_getPermSql ('AND') . $topicsql . " GROUP BY t.sid, s.sid, s.title ORDER BY count DESC LIMIT 10";
+
+ $result = DB_query ($sql);
$nrows = DB_numRows ($result);
if ($nrows > 0) {
$header_arr = array(
@@ -205,8 +229,13 @@
}
// Top Ten Emailed Stories
+// $sql = "SELECT sid,title,numemails FROM {$_TABLES['stories']} WHERE (numemails > 0) AND (draft_flag = 0) AND (date <= NOW())" . COM_getPermSQL ('AND') . $topicsql . " ORDER BY numemails DESC LIMIT 10";
+$sql = "SELECT sid,title,numemails
+ FROM {$_TABLES['stories']}, {$_TABLES['topic_assignments']} ta
+ WHERE ta.type = 'article' AND ta.id = sid
+ AND (numemails > 0) AND (draft_flag = 0) AND (date <= NOW())" . COM_getPermSQL ('AND') . $topicsql . " ORDER BY numemails DESC LIMIT 10";
-$result = DB_query("SELECT sid,title,numemails FROM {$_TABLES['stories']} WHERE (numemails > 0) AND (draft_flag = 0) AND (date <= NOW())" . COM_getPermSQL ('AND') . $topicsql . " ORDER BY numemails DESC LIMIT 10");
+$result = DB_query($sql);
$nrows = DB_numRows($result);
if ($nrows > 0) {
More information about the geeklog-cvs
mailing list