$value=db_fetch_object(db_query("SELECT COUNT(n.nid) AS count FROM {node} n INNER JOIN {forum} f ON n.nid = f.nid WHERE f.tid = %d AND n.nid = f.nid AND n.status = 1 AND n.type = 'forum'",$term));
return($value)?$value->count:0;
returndb_result(db_query("SELECT COUNT(*) FROM {forum} f INNER JOIN {node} n ON n.nid = f.nid WHERE f.tid = %d AND n.status = 1 AND f.shadow = 0",$term));
}
function_forum_num_replies($term){
$value=db_fetch_object(db_query("SELECT COUNT(*) AS count FROM {comments} c INNER JOIN {node} n ON n.nid = c.nid INNER JOIN {forum} f ON n.nid = f.nid WHERE f.tid = %d AND n.nid = f.nid AND n.nid = c.nid AND n.status = 1 AND c.status = 0 AND n.type = 'forum'",$term));
return($value)?$value->count:0;
returndb_result(db_query("SELECT COUNT(*) AS count FROM {comments} c INNER JOIN {node} n ON n.nid = c.nid INNER JOIN {forum} f ON n.nid = f.nid WHERE f.tid = %d AND n.nid = f.nid AND n.nid = c.nid AND n.status = 1 AND c.status = 0 AND n.type = 'forum'",$term));
}
function_forum_topics_read($uid){
$result=db_query("SELECT tid, count(*) AS c FROM {history} h INNER JOIN {node} n ON n.nid = h.nid INNER JOIN {forum} f ON n.nid = f.nid WHERE f.nid = n.nid AND n.nid = h.nid AND n.type = 'forum' AND n.status = 1 AND h.uid = %d GROUP BY tid",$uid);
while($obj=db_fetch_object($result)){
$topics_read[$obj->tid]=$obj->c;
}
function_forum_topics_read($term,$uid){
// Calculate the number of topics the user has read. Assume all entries older
// than NODE_NEW_LIMIT are read, and include the recent posts that user has
// read.
$ancient=db_result(db_query("SELECT COUNT(*) FROM {forum} f INNER JOIN {node} n ON f.nid = n.nid WHERE f.tid = %d AND n.status = 1 AND n.created <= %d AND f.shadow = 0",$term,NODE_NEW_LIMIT));
$recent=db_result(db_query("SELECT COUNT(*) FROM {forum} f INNER JOIN {node} n ON f.nid = n.nid INNER JOIN {history} h ON n.nid = h.nid WHERE n.status = 1 AND f.tid = %d AND h.uid = %d AND n.created > %d AND f.shadow = 0",$term,$uid,NODE_NEW_LIMIT));
return$topics_read?$topics_read:array();
return$ancient+$recent;
}
function_forum_last_post($term){
...
...
@@ -333,11 +324,11 @@ function forum_get_topics($tid, $sortby, $forum_per_page) {
@@ -371,28 +362,15 @@ function forum_get_topics($tid, $sortby, $forum_per_page) {
$topic->new=0;
}
else{
if(!$history&&$user->uid){
$topic->new_replies=0;
$topic->new=1;
}
else{
$comments=db_result(db_query("SELECT COUNT(c.nid) FROM {node} n INNER JOIN {comments} c ON n.nid = c.nid WHERE n.nid = '$topic->nid' AND n.status = 1 AND c.status = 0 AND timestamp > '$history' GROUP BY n.nid"));
$topic->new_replies=$comments?$comments:0;
if($topic->new_replies){
$topic->new=1;
}
else{
$topic->new=0;
}
}
$topic->new_replies=db_result(db_query("SELECT COUNT(c.nid) FROM {node} n INNER JOIN {comments} c ON n.nid = c.nid WHERE n.nid = %d AND n.status = 1 AND c.status = 0 AND c.timestamp > %d",$topic->nid,$history));
$value=db_fetch_object(db_query("SELECT COUNT(n.nid) AS count FROM {node} n INNER JOIN {forum} f ON n.nid = f.nid WHERE f.tid = %d AND n.nid = f.nid AND n.status = 1 AND n.type = 'forum'",$term));
return($value)?$value->count:0;
returndb_result(db_query("SELECT COUNT(*) FROM {forum} f INNER JOIN {node} n ON n.nid = f.nid WHERE f.tid = %d AND n.status = 1 AND f.shadow = 0",$term));
}
function_forum_num_replies($term){
$value=db_fetch_object(db_query("SELECT COUNT(*) AS count FROM {comments} c INNER JOIN {node} n ON n.nid = c.nid INNER JOIN {forum} f ON n.nid = f.nid WHERE f.tid = %d AND n.nid = f.nid AND n.nid = c.nid AND n.status = 1 AND c.status = 0 AND n.type = 'forum'",$term));
return($value)?$value->count:0;
returndb_result(db_query("SELECT COUNT(*) AS count FROM {comments} c INNER JOIN {node} n ON n.nid = c.nid INNER JOIN {forum} f ON n.nid = f.nid WHERE f.tid = %d AND n.nid = f.nid AND n.nid = c.nid AND n.status = 1 AND c.status = 0 AND n.type = 'forum'",$term));
}
function_forum_topics_read($uid){
$result=db_query("SELECT tid, count(*) AS c FROM {history} h INNER JOIN {node} n ON n.nid = h.nid INNER JOIN {forum} f ON n.nid = f.nid WHERE f.nid = n.nid AND n.nid = h.nid AND n.type = 'forum' AND n.status = 1 AND h.uid = %d GROUP BY tid",$uid);
while($obj=db_fetch_object($result)){
$topics_read[$obj->tid]=$obj->c;
}
function_forum_topics_read($term,$uid){
// Calculate the number of topics the user has read. Assume all entries older
// than NODE_NEW_LIMIT are read, and include the recent posts that user has
// read.
$ancient=db_result(db_query("SELECT COUNT(*) FROM {forum} f INNER JOIN {node} n ON f.nid = n.nid WHERE f.tid = %d AND n.status = 1 AND n.created <= %d AND f.shadow = 0",$term,NODE_NEW_LIMIT));
$recent=db_result(db_query("SELECT COUNT(*) FROM {forum} f INNER JOIN {node} n ON f.nid = n.nid INNER JOIN {history} h ON n.nid = h.nid WHERE n.status = 1 AND f.tid = %d AND h.uid = %d AND n.created > %d AND f.shadow = 0",$term,$uid,NODE_NEW_LIMIT));
return$topics_read?$topics_read:array();
return$ancient+$recent;
}
function_forum_last_post($term){
...
...
@@ -333,11 +324,11 @@ function forum_get_topics($tid, $sortby, $forum_per_page) {
@@ -371,28 +362,15 @@ function forum_get_topics($tid, $sortby, $forum_per_page) {
$topic->new=0;
}
else{
if(!$history&&$user->uid){
$topic->new_replies=0;
$topic->new=1;
}
else{
$comments=db_result(db_query("SELECT COUNT(c.nid) FROM {node} n INNER JOIN {comments} c ON n.nid = c.nid WHERE n.nid = '$topic->nid' AND n.status = 1 AND c.status = 0 AND timestamp > '$history' GROUP BY n.nid"));
$topic->new_replies=$comments?$comments:0;
if($topic->new_replies){
$topic->new=1;
}
else{
$topic->new=0;
}
}
$topic->new_replies=db_result(db_query("SELECT COUNT(c.nid) FROM {node} n INNER JOIN {comments} c ON n.nid = c.nid WHERE n.nid = %d AND n.status = 1 AND c.status = 0 AND c.timestamp > %d",$topic->nid,$history));