Index: taxonews.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/taxonews/taxonews.module,v retrieving revision 1.10.6.6 diff -u -r1.10.6.6 taxonews.module --- taxonews.module 16 Oct 2007 06:37:51 -0000 1.10.6.6 +++ taxonews.module 18 Oct 2007 09:07:01 -0000 @@ -350,47 +350,40 @@ { case 1: // by total views $sq = 'SELECT n.nid, n.title, td.name, nc.totalcount AS views ' - . 'FROM {node} n ' - . ' INNER JOIN {term_node} tn ON n.nid = tn.nid ' - . ' INNER JOIN {term_data} td ON tn.tid = td.tid ' - . ' INNER JOIN {node_counter} nc on n.nid = nc.nid ' - . ' /* ignore current time: %d */ ' - . 'WHERE td.tid = %d ' - . ' AND (n.created > %d) ' - . ' AND (n.status = 1) ' - . ' ORDER BY n.created desc, n.changed desc '; + . 'FROM {node} n ' + . ' INNER JOIN {term_node} tn ON n.nid = tn.nid ' + . ' INNER JOIN {term_data} td ON tn.tid = td.tid ' + . ' INNER JOIN {node_counter} nc on n.nid = nc.nid ' + . ' /* ignore current time: %d */ '; break; case 2: // by daily views since creation. Multiply by 86400 to avoid 0-rounding $sq = 'SELECT n.nid, n.title, td.name, ' - . ' nc.totalcount*86400/(%d-n.created) AS views ' - . 'FROM {node} n ' - . ' INNER JOIN {term_node} tn ON n.nid = tn.nid ' - . ' INNER JOIN {term_data} td ON tn.tid = td.tid ' - . ' INNER JOIN {node_counter} nc on n.nid = nc.nid ' - . 'WHERE td.tid = %d ' - . ' AND (n.created > %d) ' - . ' AND (n.status = 1) ' - . ' ORDER BY n.created desc, n.changed desc '; + . ' nc.totalcount*86400/(%d-n.created) AS views ' + . 'FROM {node} n ' + . ' INNER JOIN {term_node} tn ON n.nid = tn.nid ' + . ' INNER JOIN {term_data} td ON tn.tid = td.tid ' + . ' INNER JOIN {node_counter} nc on n.nid = nc.nid '; break; case 0: // not ponderated default: // ignore invalid values $sq = 'SELECT n.nid, n.title, td.name, n.created AS views ' - . 'FROM {node} n ' - . ' INNER JOIN {term_node} tn ON n.nid = tn.nid ' - . ' INNER JOIN {term_data} td ON tn.tid = td.tid ' - . ' /* ignore current time: %d */ ' - . 'WHERE td.tid = %d ' - . ' AND (n.created > %d) ' - . ' AND (n.status = 1) ' - . ' ORDER BY n.created desc, n.changed desc '; + . 'FROM {node} n ' + . ' INNER JOIN {term_node} tn ON n.nid = tn.nid ' + . ' INNER JOIN {term_data} td ON tn.tid = td.tid ' + . ' /* ignore current time: %d */ ' ; break; } - $lifetime = 86400 * variable_get(self::VAR_LIFETIME, self::DEF_LIFETIME); + $sq .= 'WHERE td.tid = %d ' + . ' AND (n.created > %d) ' + . ' AND (n.status = 1) ' + . ' ORDER BY n.created desc, n.changed desc '; + + $creation = time() - 86400 * variable_get(self::VAR_LIFETIME, self::DEF_LIFETIME); $ret = array(); $items = array(); if ($q = db_query_range ($sq, - time(), $terms[$delta]->tid, $lifetime, // current time, tid, lifetime - 0, variable_get(self::VAR_MAX_ROWS, self::DEF_MAX_ROWS) // range + time(), $terms[$delta]->tid, $creation, // current time, tid, creation date + 0, variable_get(self::VAR_MAX_ROWS, self::DEF_MAX_ROWS) // query range )) { while ($o = db_fetch_object ($q))