[geeklog-cvs] geeklog: Month article counts now are acurate for articles belon...

geeklog-cvs at lists.geeklog.net geeklog-cvs at lists.geeklog.net
Mon Dec 5 11:46:59 EST 2011


changeset 8449:c4210524c6d2
url:  http://project.geeklog.net/cgi-bin/hgwebdir.cgi/geeklog/rev/c4210524c6d2
user: Tom <websitemaster at cogeco.net>
date: Mon Dec 05 11:22:42 2011 -0500
description:
Month article counts now are acurate for articles belonging to more than one topic

diffstat:

 public_html/directory.php |  32 ++++++++++++--------------------
 1 files changed, 12 insertions(+), 20 deletions(-)

diffs (82 lines):

diff -r 710f974f14ef -r c4210524c6d2 public_html/directory.php
--- a/public_html/directory.php	Thu Dec 01 13:02:28 2011 -0500
+++ b/public_html/directory.php	Mon Dec 05 11:22:42 2011 -0500
@@ -272,17 +272,13 @@
         $sql['mysql'] .= " AND ta.tid = '$topic'";
         $sql['mssql'] = $sql['mysql'];
         $sql['pgsql'] .= " AND ta.tid = '$topic'";
-    } else {
-        $sql['mysql'] .= " AND ta.tdefault = 1";
-        $sql['mssql'] = $sql['mysql'];
-        $sql['pgsql'] .= " AND ta.tdefault = 1";
     }
     $sql['mysql'] .= COM_getTopicSql ('AND', 0, 'ta') . COM_getPermSql ('AND')
-         . COM_getLangSQL ('sid', 'AND') . " ORDER BY date ASC";
+         . COM_getLangSQL ('sid', 'AND') . " GROUP BY sid ORDER BY date ASC";
     $sql['mssql'] .= COM_getTopicSql ('AND', 0, 'ta') . COM_getPermSql ('AND')
-         . COM_getLangSQL ('sid', 'AND') . " ORDER BY date ASC";    
+         . COM_getLangSQL ('sid', 'AND') . " GROUP BY sid ORDER BY date ASC";    
     $sql['pgsql'] .= COM_getTopicSql ('AND', 0, 'ta') . COM_getPermSql ('AND')
-         . COM_getLangSQL ('sid', 'AND') . " ORDER BY date ASC";
+         . COM_getLangSQL ('sid', 'AND') . " GROUP BY sid ORDER BY date ASC";
 
     $result = DB_query ($sql);
     $numrows = DB_numRows ($result);
@@ -354,17 +350,17 @@
     $end   = sprintf ('%04d-12-31 23:59:59', $year);
 
     $monthsql = array();
-    $monthsql['mysql'] = "SELECT DISTINCT MONTH(date) AS month,COUNT(*) AS count 
-        FROM {$_TABLES['stories']}, {$_TABLES['topic_assignments']} ta 
-        WHERE (date >= '$start') AND (date <= '$end') AND (draft_flag = 0) AND (date <= NOW()) 
-        AND ta.type = 'article' AND ta.id = sid ";
+    $monthsql['mysql'] = "SELECT DISTINCT MONTH(s.date) AS month, COUNT(DISTINCT s.sid) AS count 
+        FROM {$_TABLES['stories']} s, {$_TABLES['topic_assignments']} ta   
+        WHERE (s.date >= '$start') AND (s.date <= '$end') AND (s.draft_flag = 0) AND (s.date <= NOW()) 
+        AND ta.type = 'article' AND ta.id = s.sid ";
         
-    $monthsql['mssql'] = "SELECT MONTH(date) AS month,COUNT(sid) AS count 
+    $monthsql['mssql'] = "SELECT MONTH(date) AS month,COUNT(DISTINCT sid) AS count 
         FROM {$_TABLES['stories']}, {$_TABLES['topic_assignments']} ta  
         WHERE (date >= '$start') AND (date <= '$end') AND (draft_flag = 0) AND (date <= NOW()) 
         AND ta.type = 'article' AND ta.id = sid ";
         
-    $monthsql['pgsql'] = "SELECT EXTRACT(Month from date) AS month,COUNT(sid) AS count 
+    $monthsql['pgsql'] = "SELECT EXTRACT(Month from date) AS month,COUNT(DISTINCT sid) AS count 
         FROM {$_TABLES['stories']} , {$_TABLES['topic_assignments']} ta 
         WHERE (date >= '$start') AND (date <= '$end') AND (draft_flag = 0) AND (date <= NOW()) 
         AND ta.type = 'article' AND ta.id = sid ";
@@ -373,10 +369,6 @@
         $monthsql['mysql'] .= " AND ta.tid = '$topic'";
         $monthsql['mssql'] .= " AND ta.tid = '$topic'";
         $monthsql['pgsql'] .= " AND ta.tid = '$topic'";
-    } else {
-        $monthsql['mysql'] .= " AND ta.tdefault = 1";
-        $monthsql['mssql'] .= " AND ta.tdefault = 1";
-        $monthsql['pgsql'] .= " AND ta.tdefault = 1";
     }
     $monthsql['mysql'] .= COM_getTopicSql ('AND', 0, 'ta') . COM_getPermSql ('AND')
               . COM_getLangSQL ('sid', 'AND');
@@ -466,19 +458,19 @@
     $yearsql['mysql'] = "SELECT DISTINCT YEAR(date) AS year,date 
         FROM {$_TABLES['stories']}, {$_TABLES['topic_assignments']} ta 
         WHERE (draft_flag = 0) AND (date <= NOW())  
-        AND ta.type = 'article' AND ta.id = sid AND ta.tdefault = 1 
+        AND ta.type = 'article' AND ta.id = sid 
         " . COM_getTopicSql ('AND', 0, 'ta') . COM_getPermSql ('AND')  . COM_getLangSQL ('sid', 'AND');
     
     $yearsql['mssql'] = "SELECT YEAR(date) AS year 
         FROM {$_TABLES['stories']}, {$_TABLES['topic_assignments']} ta 
         WHERE (draft_flag = 0) AND (date <= NOW()) 
-        AND ta.type = 'article' AND ta.id = sid AND ta.tdefault = 1 
+        AND ta.type = 'article' AND ta.id = sid 
         " . COM_getTopicSql ('AND', 0, 'ta') . COM_getPermSql ('AND')  . COM_getLangSQL ('sid', 'AND');
     
     $yearsql['pgsql'] = "SELECT EXTRACT( YEAR from date) AS year 
         FROM {$_TABLES['stories']}, {$_TABLES['topic_assignments']} ta 
         WHERE (draft_flag = 0) AND (date <= NOW()) 
-        AND ta.type = 'article' AND ta.id = sid AND ta.tdefault = 1 
+        AND ta.type = 'article' AND ta.id = sid  
         " . COM_getTopicSql ('AND', 0, 'ta') . COM_getPermSql ('AND')  . COM_getLangSQL ('sid', 'AND');
     
     $ysql = array();



More information about the geeklog-cvs mailing list