- Performance improvement: changed a fair amount of "left joins" to "inner
joins". Patch by Gerhard.4.3.x
parent
d5cdbcd644
commit
22b6d2f30c
|
@ -3,6 +3,8 @@ Drupal x.x.x, xxxx-xx-xx (to be released)
|
|||
|
||||
- database backend:
|
||||
* added support for database table prefxing.
|
||||
- performance improvements:
|
||||
* optimized SQL queries.
|
||||
|
||||
Drupal 4.2.0, xxxx-xx-xx (to be released)
|
||||
------------------------
|
||||
|
|
|
@ -499,7 +499,7 @@ function import_get_bundle($bid) {
|
|||
}
|
||||
|
||||
function import_view() {
|
||||
$result = db_query("SELECT f.*, COUNT(i.iid) AS items FROM {feed} f LEFT JOIN {item} i ON f.fid = i.fid GROUP BY f.fid, f.title, f.url, f.refresh, f.timestamp, f.attributes, f.link, f.description ORDER BY f.title");
|
||||
$result = db_query("SELECT f.*, COUNT(i.iid) AS items FROM {feed} f INNER JOIN {item} i ON f.fid = i.fid GROUP BY f.fid, f.title, f.url, f.refresh, f.timestamp, f.attributes, f.link, f.description ORDER BY f.title");
|
||||
|
||||
$output .= "<h3>Feed overview</h3>";
|
||||
|
||||
|
@ -526,7 +526,7 @@ function import_view() {
|
|||
|
||||
function import_tag() {
|
||||
|
||||
$result = db_query_range("SELECT i.*, f.title AS feed FROM {item} i LEFT JOIN {feed} f ON i.fid = f.fid ORDER BY i.iid DESC", 0, 50);
|
||||
$result = db_query_range("SELECT i.*, f.title AS feed FROM {item} i INNER JOIN {feed} f ON i.fid = f.fid ORDER BY i.iid DESC", 0, 50);
|
||||
|
||||
$header = array(t("date"), t("feed"), t("news item"));
|
||||
while ($item = db_fetch_object($result)) {
|
||||
|
@ -619,7 +619,7 @@ function import_page_info() {
|
|||
function import_page_last() {
|
||||
|
||||
|
||||
$result = db_query_range("SELECT i.*, f.title AS ftitle, f.link AS flink FROM {item} i LEFT JOIN {feed} f ON i.fid = f.fid ORDER BY i.iid DESC", 0, variable_get("import_page_limit", 75));
|
||||
$result = db_query_range("SELECT i.*, f.title AS ftitle, f.link AS flink FROM {item} i INNER JOIN {feed} f ON i.fid = f.fid ORDER BY i.iid DESC", 0, variable_get("import_page_limit", 75));
|
||||
|
||||
$output .= "<table border=\"0\" cellpadding=\"4\" cellspacing=\"2\">";
|
||||
while ($item = db_fetch_object($result)) {
|
||||
|
|
|
@ -499,7 +499,7 @@ function import_get_bundle($bid) {
|
|||
}
|
||||
|
||||
function import_view() {
|
||||
$result = db_query("SELECT f.*, COUNT(i.iid) AS items FROM {feed} f LEFT JOIN {item} i ON f.fid = i.fid GROUP BY f.fid, f.title, f.url, f.refresh, f.timestamp, f.attributes, f.link, f.description ORDER BY f.title");
|
||||
$result = db_query("SELECT f.*, COUNT(i.iid) AS items FROM {feed} f INNER JOIN {item} i ON f.fid = i.fid GROUP BY f.fid, f.title, f.url, f.refresh, f.timestamp, f.attributes, f.link, f.description ORDER BY f.title");
|
||||
|
||||
$output .= "<h3>Feed overview</h3>";
|
||||
|
||||
|
@ -526,7 +526,7 @@ function import_view() {
|
|||
|
||||
function import_tag() {
|
||||
|
||||
$result = db_query_range("SELECT i.*, f.title AS feed FROM {item} i LEFT JOIN {feed} f ON i.fid = f.fid ORDER BY i.iid DESC", 0, 50);
|
||||
$result = db_query_range("SELECT i.*, f.title AS feed FROM {item} i INNER JOIN {feed} f ON i.fid = f.fid ORDER BY i.iid DESC", 0, 50);
|
||||
|
||||
$header = array(t("date"), t("feed"), t("news item"));
|
||||
while ($item = db_fetch_object($result)) {
|
||||
|
@ -619,7 +619,7 @@ function import_page_info() {
|
|||
function import_page_last() {
|
||||
|
||||
|
||||
$result = db_query_range("SELECT i.*, f.title AS ftitle, f.link AS flink FROM {item} i LEFT JOIN {feed} f ON i.fid = f.fid ORDER BY i.iid DESC", 0, variable_get("import_page_limit", 75));
|
||||
$result = db_query_range("SELECT i.*, f.title AS ftitle, f.link AS flink FROM {item} i INNER JOIN {feed} f ON i.fid = f.fid ORDER BY i.iid DESC", 0, variable_get("import_page_limit", 75));
|
||||
|
||||
$output .= "<table border=\"0\" cellpadding=\"4\" cellspacing=\"2\">";
|
||||
while ($item = db_fetch_object($result)) {
|
||||
|
|
|
@ -91,7 +91,7 @@ function blog_feed_user($uid = 0) {
|
|||
$account = $user;
|
||||
}
|
||||
|
||||
$result = db_query_range("SELECT n.nid, n.title, n.teaser, n.created, u.name, u.uid FROM {node} n LEFT JOIN {users} u ON n.uid = u.uid WHERE n.type = 'blog' AND u.uid = %d AND n.status = 1 ORDER BY n.nid DESC", $uid, 0, 15);
|
||||
$result = db_query_range("SELECT n.nid, n.title, n.teaser, n.created, u.name, u.uid FROM {node} n INNER JOIN {users} u ON n.uid = u.uid WHERE n.type = 'blog' AND u.uid = %d AND n.status = 1 ORDER BY n.nid DESC", $uid, 0, 15);
|
||||
$channel["title"] = $account->name. "'s blog";
|
||||
$channel["link"] = url("blog/view/$uid");
|
||||
$channel["description"] = $term->description;
|
||||
|
@ -99,7 +99,7 @@ function blog_feed_user($uid = 0) {
|
|||
}
|
||||
|
||||
function blog_feed_last() {
|
||||
$result = db_query_range("SELECT n.nid, n.title, n.teaser, n.created, u.name, u.uid FROM {node} n LEFT JOIN {users} u ON n.uid = u.uid WHERE n.type = 'blog' AND n.status = 1 ORDER BY n.nid DESC", 0, 15);
|
||||
$result = db_query_range("SELECT n.nid, n.title, n.teaser, n.created, u.name, u.uid FROM {node} n INNER JOIN {users} u ON n.uid = u.uid WHERE n.type = 'blog' AND n.status = 1 ORDER BY n.nid DESC", 0, 15);
|
||||
$channel["title"] = variable_get("site_name", "drupal") ." blogs";
|
||||
$channel["link"] = url("blog");
|
||||
$channel["description"] = $term->description;
|
||||
|
|
|
@ -91,7 +91,7 @@ function blog_feed_user($uid = 0) {
|
|||
$account = $user;
|
||||
}
|
||||
|
||||
$result = db_query_range("SELECT n.nid, n.title, n.teaser, n.created, u.name, u.uid FROM {node} n LEFT JOIN {users} u ON n.uid = u.uid WHERE n.type = 'blog' AND u.uid = %d AND n.status = 1 ORDER BY n.nid DESC", $uid, 0, 15);
|
||||
$result = db_query_range("SELECT n.nid, n.title, n.teaser, n.created, u.name, u.uid FROM {node} n INNER JOIN {users} u ON n.uid = u.uid WHERE n.type = 'blog' AND u.uid = %d AND n.status = 1 ORDER BY n.nid DESC", $uid, 0, 15);
|
||||
$channel["title"] = $account->name. "'s blog";
|
||||
$channel["link"] = url("blog/view/$uid");
|
||||
$channel["description"] = $term->description;
|
||||
|
@ -99,7 +99,7 @@ function blog_feed_user($uid = 0) {
|
|||
}
|
||||
|
||||
function blog_feed_last() {
|
||||
$result = db_query_range("SELECT n.nid, n.title, n.teaser, n.created, u.name, u.uid FROM {node} n LEFT JOIN {users} u ON n.uid = u.uid WHERE n.type = 'blog' AND n.status = 1 ORDER BY n.nid DESC", 0, 15);
|
||||
$result = db_query_range("SELECT n.nid, n.title, n.teaser, n.created, u.name, u.uid FROM {node} n INNER JOIN {users} u ON n.uid = u.uid WHERE n.type = 'blog' AND n.status = 1 ORDER BY n.nid DESC", 0, 15);
|
||||
$channel["title"] = variable_get("site_name", "drupal") ." blogs";
|
||||
$channel["link"] = url("blog");
|
||||
$channel["description"] = $term->description;
|
||||
|
|
|
@ -267,7 +267,7 @@ function bloggerapi_node_recent($num) {
|
|||
global $user;
|
||||
|
||||
if (($num == 0) or ($num > 100)) $num = 50;
|
||||
$result = db_query_range("SELECT n.*, u.name FROM {node} n LEFT JOIN {users} u ON n.uid = u.uid WHERE n.uid = %d ORDER BY n.nid DESC", $user->uid, 0, $num);
|
||||
$result = db_query_range("SELECT n.*, u.name FROM {node} n INNER JOIN {users} u ON n.uid = u.uid WHERE n.uid = %d ORDER BY n.nid DESC", $user->uid, 0, $num);
|
||||
if ($result) {
|
||||
while ($blog = db_fetch_object($result)) {
|
||||
$body = "<title>$blog->title</title>\n". $blog->body;
|
||||
|
|
|
@ -170,7 +170,7 @@ function comment_form($edit) {
|
|||
function comment_edit($cid) {
|
||||
global $user;
|
||||
|
||||
$comment = db_fetch_object(db_query("SELECT c.*, u.uid, u.name, u.data FROM {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status != 2", $cid));
|
||||
$comment = db_fetch_object(db_query("SELECT c.*, u.uid, u.name, u.data FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status != 2", $cid));
|
||||
|
||||
if (comment_access("edit", $comment)) {
|
||||
comment_preview(object2array($comment));
|
||||
|
@ -187,7 +187,7 @@ function comment_reply($pid, $nid) {
|
|||
*/
|
||||
|
||||
if ($pid) {
|
||||
$comment = db_fetch_object(db_query("SELECT c.*, u.uid, u.name, u.data FROM {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status = 0", $pid));
|
||||
$comment = db_fetch_object(db_query("SELECT c.*, u.uid, u.name, u.data FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status = 0", $pid));
|
||||
comment_view($comment);
|
||||
}
|
||||
else {
|
||||
|
@ -238,7 +238,7 @@ function comment_preview($edit) {
|
|||
theme("box", t("Reply"), comment_form($edit));
|
||||
|
||||
if ($edit["pid"]) {
|
||||
$comment = db_fetch_object(db_query("SELECT c.*, u.uid, u.name, u.data FROM {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status = 0", $edit["pid"]));
|
||||
$comment = db_fetch_object(db_query("SELECT c.*, u.uid, u.name, u.data FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status = 0", $edit["pid"]));
|
||||
comment_view($comment);
|
||||
}
|
||||
else {
|
||||
|
@ -481,7 +481,7 @@ function comment_render($node, $cid = 0) {
|
|||
print "<form method=\"post\" action=\"". url("comment") ."\"><div>\n";
|
||||
print form_hidden("nid", $nid);
|
||||
|
||||
$result = db_query("SELECT c.cid, c.pid, c.nid, c.subject, c.comment, c.timestamp, u.uid, u.name, u.data, c.score, c.users FROM {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status = 0 GROUP BY c.cid, c.pid, c.nid, c.subject, c.comment, c.timestamp, u.uid, u.name, u.data, c.score, c.users", $cid);
|
||||
$result = db_query("SELECT c.cid, c.pid, c.nid, c.subject, c.comment, c.timestamp, u.uid, u.name, u.data, c.score, c.users FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status = 0 GROUP BY c.cid, c.pid, c.nid, c.subject, c.comment, c.timestamp, u.uid, u.name, u.data, c.score, c.users", $cid);
|
||||
|
||||
if ($comment = db_fetch_object($result)) {
|
||||
comment_view($comment, comment_links($comment));
|
||||
|
@ -498,7 +498,7 @@ function comment_render($node, $cid = 0) {
|
|||
** Multiple comments view
|
||||
*/
|
||||
|
||||
$query .= "SELECT c.cid as cid, c.pid, c.nid, c.subject, c.comment, c.timestamp, u.uid, u.name, u.data, c.score, c.users FROM {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE c.nid = '". check_query($nid) ."' AND c.status = 0";
|
||||
$query .= "SELECT c.cid as cid, c.pid, c.nid, c.subject, c.comment, c.timestamp, u.uid, u.name, u.data, c.score, c.users FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.nid = '". check_query($nid) ."' AND c.status = 0";
|
||||
|
||||
$query .= " GROUP BY c.cid, c.pid, c.nid, c.subject, c.comment, c.timestamp, u.uid, u.name, u.data, c.score, c.users";
|
||||
|
||||
|
@ -809,7 +809,7 @@ function comment_node_link($node) {
|
|||
** Edit comments:
|
||||
*/
|
||||
|
||||
$result = db_query("SELECT c.cid, c.subject, u.uid, u.name FROM {comments} c LEFT JOIN {users} u ON u.uid = c.uid WHERE nid = %d AND c.status = 0 ORDER BY c.timestamp", $node->nid);
|
||||
$result = db_query("SELECT c.cid, c.subject, u.uid, u.name FROM {comments} c INNER JOIN {users} u ON u.uid = c.uid WHERE nid = %d AND c.status = 0 ORDER BY c.timestamp", $node->nid);
|
||||
|
||||
|
||||
$header = array(t("title"), t("author"), array("data" => t("operations"), "colspan" => 3));
|
||||
|
@ -829,7 +829,7 @@ function comment_node_link($node) {
|
|||
|
||||
function comment_admin_edit($id) {
|
||||
|
||||
$result = db_query("SELECT c.*, u.name, u.uid FROM {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status != 2", $id);
|
||||
$result = db_query("SELECT c.*, u.name, u.uid FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status != 2", $id);
|
||||
$comment = db_fetch_object($result);
|
||||
|
||||
// if a comment is "deleted", it's deleted
|
||||
|
@ -872,7 +872,7 @@ function comment_save($id, $edit) {
|
|||
|
||||
function comment_admin_overview($status = 0) {
|
||||
|
||||
$result = pager_query("SELECT c.*, u.name, u.uid FROM {comments} c LEFT JOIN {users} u ON u.uid = c.uid WHERE c.status = '". check_query($status). "' ORDER BY c.timestamp DESC", 50);
|
||||
$result = pager_query("SELECT c.*, u.name, u.uid FROM {comments} c INNER JOIN {users} u ON u.uid = c.uid WHERE c.status = '". check_query($status). "' ORDER BY c.timestamp DESC", 50);
|
||||
|
||||
$header = array(t("subject"), t("author"), t("status"), array("data" => t("operations"), "colspan" => 2));
|
||||
while ($comment = db_fetch_object($result)) {
|
||||
|
@ -1391,7 +1391,7 @@ function comment_num_all($nid) {
|
|||
static $cache;
|
||||
|
||||
if (!isset($cache[$nid])) {
|
||||
$comment = db_fetch_object(db_query("SELECT COUNT(c.nid) AS number FROM {node} n LEFT JOIN {comments} c ON n.nid = c.nid WHERE n.nid = %d AND c.status = 0 GROUP BY n.nid", $nid));
|
||||
$comment = db_fetch_object(db_query("SELECT COUNT(c.nid) AS number FROM {node} n INNER JOIN {comments} c ON n.nid = c.nid WHERE n.nid = %d AND c.status = 0 GROUP BY n.nid", $nid));
|
||||
$cache[$nid] = $comment->number ? $comment->number : 0;
|
||||
}
|
||||
return $cache[$nid];
|
||||
|
@ -1431,7 +1431,7 @@ function comment_num_new($nid, $timestamp = 0) {
|
|||
** Use the timestamp to retrieve the number of new comments
|
||||
*/
|
||||
|
||||
$result = db_result(db_query("SELECT COUNT(c.cid) FROM {node} n LEFT JOIN {comments} c ON n.nid = c.nid WHERE n.nid = %d AND timestamp > %d AND c.status = 0", $nid, $timestamp));
|
||||
$result = db_result(db_query("SELECT COUNT(c.cid) FROM {node} n INNER JOIN {comments} c ON n.nid = c.nid WHERE n.nid = %d AND timestamp > %d AND c.status = 0", $nid, $timestamp));
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
@ -1493,7 +1493,7 @@ function comment_search($keys) {
|
|||
** identifier which is currently used byt the comment module.
|
||||
*/
|
||||
|
||||
$find = do_search(array("keys" => $keys, "type" => "comment", "select" => "select s.lno as lno, c.nid as nid, c.subject as title, c.timestamp as created, u.uid as uid, u.name as name, s.count as count FROM {search_index} s, {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE s.lno = c.cid AND s.type = 'comment' AND c.status = 0 AND s.word like '%'"));
|
||||
$find = do_search(array("keys" => $keys, "type" => "comment", "select" => "select s.lno as lno, c.nid as nid, c.subject as title, c.timestamp as created, u.uid as uid, u.name as name, s.count as count FROM {search_index} s, {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE s.lno = c.cid AND s.type = 'comment' AND c.status = 0 AND s.word like '%'"));
|
||||
|
||||
return $find;
|
||||
}
|
||||
|
|
|
@ -170,7 +170,7 @@ function comment_form($edit) {
|
|||
function comment_edit($cid) {
|
||||
global $user;
|
||||
|
||||
$comment = db_fetch_object(db_query("SELECT c.*, u.uid, u.name, u.data FROM {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status != 2", $cid));
|
||||
$comment = db_fetch_object(db_query("SELECT c.*, u.uid, u.name, u.data FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status != 2", $cid));
|
||||
|
||||
if (comment_access("edit", $comment)) {
|
||||
comment_preview(object2array($comment));
|
||||
|
@ -187,7 +187,7 @@ function comment_reply($pid, $nid) {
|
|||
*/
|
||||
|
||||
if ($pid) {
|
||||
$comment = db_fetch_object(db_query("SELECT c.*, u.uid, u.name, u.data FROM {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status = 0", $pid));
|
||||
$comment = db_fetch_object(db_query("SELECT c.*, u.uid, u.name, u.data FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status = 0", $pid));
|
||||
comment_view($comment);
|
||||
}
|
||||
else {
|
||||
|
@ -238,7 +238,7 @@ function comment_preview($edit) {
|
|||
theme("box", t("Reply"), comment_form($edit));
|
||||
|
||||
if ($edit["pid"]) {
|
||||
$comment = db_fetch_object(db_query("SELECT c.*, u.uid, u.name, u.data FROM {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status = 0", $edit["pid"]));
|
||||
$comment = db_fetch_object(db_query("SELECT c.*, u.uid, u.name, u.data FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status = 0", $edit["pid"]));
|
||||
comment_view($comment);
|
||||
}
|
||||
else {
|
||||
|
@ -481,7 +481,7 @@ function comment_render($node, $cid = 0) {
|
|||
print "<form method=\"post\" action=\"". url("comment") ."\"><div>\n";
|
||||
print form_hidden("nid", $nid);
|
||||
|
||||
$result = db_query("SELECT c.cid, c.pid, c.nid, c.subject, c.comment, c.timestamp, u.uid, u.name, u.data, c.score, c.users FROM {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status = 0 GROUP BY c.cid, c.pid, c.nid, c.subject, c.comment, c.timestamp, u.uid, u.name, u.data, c.score, c.users", $cid);
|
||||
$result = db_query("SELECT c.cid, c.pid, c.nid, c.subject, c.comment, c.timestamp, u.uid, u.name, u.data, c.score, c.users FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status = 0 GROUP BY c.cid, c.pid, c.nid, c.subject, c.comment, c.timestamp, u.uid, u.name, u.data, c.score, c.users", $cid);
|
||||
|
||||
if ($comment = db_fetch_object($result)) {
|
||||
comment_view($comment, comment_links($comment));
|
||||
|
@ -498,7 +498,7 @@ function comment_render($node, $cid = 0) {
|
|||
** Multiple comments view
|
||||
*/
|
||||
|
||||
$query .= "SELECT c.cid as cid, c.pid, c.nid, c.subject, c.comment, c.timestamp, u.uid, u.name, u.data, c.score, c.users FROM {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE c.nid = '". check_query($nid) ."' AND c.status = 0";
|
||||
$query .= "SELECT c.cid as cid, c.pid, c.nid, c.subject, c.comment, c.timestamp, u.uid, u.name, u.data, c.score, c.users FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.nid = '". check_query($nid) ."' AND c.status = 0";
|
||||
|
||||
$query .= " GROUP BY c.cid, c.pid, c.nid, c.subject, c.comment, c.timestamp, u.uid, u.name, u.data, c.score, c.users";
|
||||
|
||||
|
@ -809,7 +809,7 @@ function comment_node_link($node) {
|
|||
** Edit comments:
|
||||
*/
|
||||
|
||||
$result = db_query("SELECT c.cid, c.subject, u.uid, u.name FROM {comments} c LEFT JOIN {users} u ON u.uid = c.uid WHERE nid = %d AND c.status = 0 ORDER BY c.timestamp", $node->nid);
|
||||
$result = db_query("SELECT c.cid, c.subject, u.uid, u.name FROM {comments} c INNER JOIN {users} u ON u.uid = c.uid WHERE nid = %d AND c.status = 0 ORDER BY c.timestamp", $node->nid);
|
||||
|
||||
|
||||
$header = array(t("title"), t("author"), array("data" => t("operations"), "colspan" => 3));
|
||||
|
@ -829,7 +829,7 @@ function comment_node_link($node) {
|
|||
|
||||
function comment_admin_edit($id) {
|
||||
|
||||
$result = db_query("SELECT c.*, u.name, u.uid FROM {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status != 2", $id);
|
||||
$result = db_query("SELECT c.*, u.name, u.uid FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status != 2", $id);
|
||||
$comment = db_fetch_object($result);
|
||||
|
||||
// if a comment is "deleted", it's deleted
|
||||
|
@ -872,7 +872,7 @@ function comment_save($id, $edit) {
|
|||
|
||||
function comment_admin_overview($status = 0) {
|
||||
|
||||
$result = pager_query("SELECT c.*, u.name, u.uid FROM {comments} c LEFT JOIN {users} u ON u.uid = c.uid WHERE c.status = '". check_query($status). "' ORDER BY c.timestamp DESC", 50);
|
||||
$result = pager_query("SELECT c.*, u.name, u.uid FROM {comments} c INNER JOIN {users} u ON u.uid = c.uid WHERE c.status = '". check_query($status). "' ORDER BY c.timestamp DESC", 50);
|
||||
|
||||
$header = array(t("subject"), t("author"), t("status"), array("data" => t("operations"), "colspan" => 2));
|
||||
while ($comment = db_fetch_object($result)) {
|
||||
|
@ -1391,7 +1391,7 @@ function comment_num_all($nid) {
|
|||
static $cache;
|
||||
|
||||
if (!isset($cache[$nid])) {
|
||||
$comment = db_fetch_object(db_query("SELECT COUNT(c.nid) AS number FROM {node} n LEFT JOIN {comments} c ON n.nid = c.nid WHERE n.nid = %d AND c.status = 0 GROUP BY n.nid", $nid));
|
||||
$comment = db_fetch_object(db_query("SELECT COUNT(c.nid) AS number FROM {node} n INNER JOIN {comments} c ON n.nid = c.nid WHERE n.nid = %d AND c.status = 0 GROUP BY n.nid", $nid));
|
||||
$cache[$nid] = $comment->number ? $comment->number : 0;
|
||||
}
|
||||
return $cache[$nid];
|
||||
|
@ -1431,7 +1431,7 @@ function comment_num_new($nid, $timestamp = 0) {
|
|||
** Use the timestamp to retrieve the number of new comments
|
||||
*/
|
||||
|
||||
$result = db_result(db_query("SELECT COUNT(c.cid) FROM {node} n LEFT JOIN {comments} c ON n.nid = c.nid WHERE n.nid = %d AND timestamp > %d AND c.status = 0", $nid, $timestamp));
|
||||
$result = db_result(db_query("SELECT COUNT(c.cid) FROM {node} n INNER JOIN {comments} c ON n.nid = c.nid WHERE n.nid = %d AND timestamp > %d AND c.status = 0", $nid, $timestamp));
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
@ -1493,7 +1493,7 @@ function comment_search($keys) {
|
|||
** identifier which is currently used byt the comment module.
|
||||
*/
|
||||
|
||||
$find = do_search(array("keys" => $keys, "type" => "comment", "select" => "select s.lno as lno, c.nid as nid, c.subject as title, c.timestamp as created, u.uid as uid, u.name as name, s.count as count FROM {search_index} s, {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE s.lno = c.cid AND s.type = 'comment' AND c.status = 0 AND s.word like '%'"));
|
||||
$find = do_search(array("keys" => $keys, "type" => "comment", "select" => "select s.lno as lno, c.nid as nid, c.subject as title, c.timestamp as created, u.uid as uid, u.name as name, s.count as count FROM {search_index} s, {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE s.lno = c.cid AND s.type = 'comment' AND c.status = 0 AND s.word like '%'"));
|
||||
|
||||
return $find;
|
||||
}
|
||||
|
|
|
@ -86,10 +86,10 @@ function forum_block($op = "list", $delta = 0) {
|
|||
|
||||
if (empty($cache)) {
|
||||
unset($items);
|
||||
$content = node_title_list(db_query_range("SELECT n.nid, n.title, u.uid, u.name, GREATEST(n.created, MAX(c.timestamp)) AS sort FROM {node} n LEFT JOIN {forum} f ON n.nid = f.nid LEFT JOIN {comments} c ON n.nid = c.nid LEFT JOIN {users} u ON n.uid = u.uid WHERE n.type = 'forum' AND n.nid = f.nid AND n.status = 1 GROUP BY n.nid, n.title, n.created, u.uid, u.name ORDER BY sort DESC", 0, variable_get("forum_block_num", "5")), t("Active forum topics:"));
|
||||
$content = node_title_list(db_query_range("SELECT n.nid, n.title, u.uid, u.name, GREATEST(n.created, MAX(c.timestamp)) AS sort FROM {node} n INNER JOIN {forum} f ON n.nid = f.nid INNER JOIN {comments} c ON n.nid = c.nid INNER JOIN {users} u ON n.uid = u.uid WHERE n.type = 'forum' AND n.nid = f.nid AND n.status = 1 GROUP BY n.nid, n.title, n.created, u.uid, u.name ORDER BY sort DESC", 0, variable_get("forum_block_num", "5")), t("Active forum topics:"));
|
||||
|
||||
unset ($items);
|
||||
$content .= node_title_list(db_query_range("SELECT n.nid, n.title, u.uid, u.name FROM {node} n LEFT JOIN {forum} f ON n.nid = f.nid LEFT JOIN {users} u ON n.uid = u.uid WHERE n.type = 'forum' ORDER BY n.nid DESC", 0, variable_get("forum_block_num", "5")), t("New forum topics:"));
|
||||
$content .= node_title_list(db_query_range("SELECT n.nid, n.title, u.uid, u.name FROM {node} n INNER JOIN {forum} f ON n.nid = f.nid INNER JOIN {users} u ON n.uid = u.uid WHERE n.type = 'forum' ORDER BY n.nid DESC", 0, variable_get("forum_block_num", "5")), t("New forum topics:"));
|
||||
|
||||
if ($content) {
|
||||
$content .= "<div id=\"forum_more\" style=\"text-align: right;\">". l(t("more"), "forum", array("title" => t("Read the latest forum topics."))) ."</div>";
|
||||
|
@ -121,7 +121,7 @@ function forum_link($type, $node = 0, $main = 0) {
|
|||
if (!$main && $type == "node" && $node->type == "forum") {
|
||||
// get previous and next topic
|
||||
|
||||
$result = db_query("SELECT n.nid, n.title, n.body, GREATEST(n.created, MAX(c.timestamp)) AS date_sort, COUNT(c.nid) AS num_comments FROM {node} n LEFT JOIN {forum} f ON n.nid = f.nid LEFT JOIN {comments} c ON n.nid = c.nid WHERE n.nid = f.nid AND f.tid = %d AND n.status = 1 GROUP BY n.nid, n.title, n.body, n.created ORDER BY ". _forum_get_topic_order(isset($user->sortby) ? $user->sortby : variable_get("forum_order",1)), $node->tid);
|
||||
$result = db_query("SELECT n.nid, n.title, n.body, GREATEST(n.created, MAX(c.timestamp)) AS date_sort, COUNT(c.nid) AS num_comments FROM {node} n INNER JOIN {forum} f ON n.nid = f.nid INNER JOIN {comments} c ON n.nid = c.nid WHERE n.nid = f.nid AND f.tid = %d AND n.status = 1 GROUP BY n.nid, n.title, n.body, n.created ORDER BY ". _forum_get_topic_order(isset($user->sortby) ? $user->sortby : variable_get("forum_order",1)), $node->tid);
|
||||
|
||||
while ($topic = db_fetch_object($result)) {
|
||||
if ($stop == 1) {
|
||||
|
@ -280,7 +280,7 @@ function _forum_last_comment($nid) {
|
|||
}
|
||||
|
||||
function _forum_last_reply($nid) {
|
||||
$value = db_fetch_object(db_query_range("SELECT c.timestamp, u.name, u.uid FROM {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE c.nid = %d AND c.status = 0 ORDER BY c.timestamp DESC", $nid, 0, 1));
|
||||
$value = db_fetch_object(db_query_range("SELECT c.timestamp, u.name, u.uid FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.nid = %d AND c.status = 0 ORDER BY c.timestamp DESC", $nid, 0, 1));
|
||||
return $value;
|
||||
}
|
||||
|
||||
|
@ -349,17 +349,17 @@ function forum_get_parents($tid) {
|
|||
}
|
||||
|
||||
function _forum_num_topics($term) {
|
||||
$value = db_fetch_object(db_query("SELECT COUNT(n.nid) AS count FROM {node} n LEFT 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));
|
||||
$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;
|
||||
}
|
||||
|
||||
function _forum_num_replies($term) {
|
||||
$value = db_fetch_object(db_query("SELECT COUNT(*) AS count FROM {comments} c LEFT JOIN {node} n ON n.nid = c.nid LEFT 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));
|
||||
$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;
|
||||
}
|
||||
|
||||
function _forum_topics_read($uid) {
|
||||
$result = db_query("SELECT tid, count(*) AS c FROM {history} h LEFT JOIN {node} n ON n.nid = h.nid LEFT 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);
|
||||
$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;
|
||||
|
@ -369,9 +369,9 @@ function _forum_topics_read($uid) {
|
|||
}
|
||||
|
||||
function _forum_last_post($term) {
|
||||
$topic = db_fetch_object(db_query_range("SELECT n.nid, n.created AS timestamp, u.name AS name, u.uid AS uid FROM {forum} f LEFT JOIN {node} n ON n.nid = f.nid LEFT JOIN {users} u ON n.uid = u.uid WHERE f.tid = %d AND n.nid = f.nid AND n.type = 'forum' AND n.status = 1 ORDER BY timestamp DESC", $term, 0, 1));
|
||||
$topic = db_fetch_object(db_query_range("SELECT n.nid, n.created AS timestamp, u.name AS name, u.uid AS uid FROM {forum} f INNER JOIN {node} n ON n.nid = f.nid INNER JOIN {users} u ON n.uid = u.uid WHERE f.tid = %d AND n.nid = f.nid AND n.type = 'forum' AND n.status = 1 ORDER BY timestamp DESC", $term, 0, 1));
|
||||
|
||||
$reply = db_fetch_object(db_query_range("SELECT n.nid, c.timestamp, u.name AS name, u.uid AS uid FROM {forum} f LEFT JOIN {node} n ON n.nid = f.nid LEFT JOIN {comments} c ON n.nid = c.nid LEFT JOIN {users} u ON c.uid = u.uid WHERE f.tid = %d AND n.nid = f.nid AND n.type = 'forum' AND n.status = 1 AND c.status = 0 ORDER BY c.timestamp DESC", $term, 0, 1));
|
||||
$reply = db_fetch_object(db_query_range("SELECT n.nid, c.timestamp, u.name AS name, u.uid AS uid FROM {forum} f INNER JOIN {node} n ON n.nid = f.nid INNER JOIN {comments} c ON n.nid = c.nid INNER JOIN {users} u ON c.uid = u.uid WHERE f.tid = %d AND n.nid = f.nid AND n.type = 'forum' AND n.status = 1 AND c.status = 0 ORDER BY c.timestamp DESC", $term, 0, 1));
|
||||
|
||||
$value = ($topic->timestamp > $reply->timestamp) ? $topic : $reply;
|
||||
|
||||
|
@ -387,9 +387,9 @@ function forum_get_topics($tid, $sortby, $forum_per_page) {
|
|||
$sql_sortby = _forum_get_topic_order($sortby);
|
||||
|
||||
// show topics with the correct tid, or in the forum but with shadow = 1
|
||||
$sql = "SELECT n.nid, n.title, u.name AS name, u.uid AS uid, n.created AS timestamp, GREATEST(n.created, MAX(c.timestamp)) AS date_sort, COUNT(c.nid) AS num_comments, f.icon, n.comment AS comment_mode, f.tid FROM {node} n LEFT JOIN {term_node} r ON n.nid = r.nid LEFT JOIN {users} u ON n.uid = u.uid LEFT JOIN {comments} c ON n.nid = c.nid LEFT JOIN {forum} f ON n.nid = f.nid WHERE n.nid = r.nid AND ((r.tid = '".check_query($tid)."' AND f.shadow = 1) OR f.tid = '".check_query($tid)."') AND n.status = 1 AND n.type = 'forum' GROUP BY n.nid, n.title, u.name, u.uid, n.created, n.comment, f.tid, f.icon ORDER BY $sql_sortby";
|
||||
$sql = "SELECT n.nid, n.title, u.name AS name, u.uid AS uid, n.created AS timestamp, GREATEST(n.created, MAX(c.timestamp)) AS date_sort, COUNT(c.nid) AS num_comments, f.icon, n.comment AS comment_mode, f.tid FROM {node} n INNER JOIN {term_node} r ON n.nid = r.nid INNER JOIN {users} u ON n.uid = u.uid INNER JOIN {comments} c ON n.nid = c.nid INNER JOIN {forum} f ON n.nid = f.nid WHERE n.nid = r.nid AND ((r.tid = '".check_query($tid)."' AND f.shadow = 1) OR f.tid = '".check_query($tid)."') AND n.status = 1 AND n.type = 'forum' GROUP BY n.nid, n.title, u.name, u.uid, n.created, n.comment, f.tid, f.icon ORDER BY $sql_sortby";
|
||||
|
||||
$sql_count = "SELECT COUNT(DISTINCT(n.nid)) FROM {node} n LEFT JOIN {forum} f ON n.nid = f.nid LEFT JOIN {term_node} r ON n.nid = r.nid WHERE n.nid = r.nid AND ( (r.tid = '".check_query($tid)."' AND f.shadow = 1) OR f.tid = '".check_query($tid)."') AND n.status = 1 AND n.type = 'forum'";
|
||||
$sql_count = "SELECT COUNT(DISTINCT(n.nid)) FROM {node} n INNER JOIN {forum} f ON n.nid = f.nid INNER JOIN {term_node} r ON n.nid = r.nid WHERE n.nid = r.nid AND ( (r.tid = '".check_query($tid)."' AND f.shadow = 1) OR f.tid = '".check_query($tid)."') AND n.status = 1 AND n.type = 'forum'";
|
||||
|
||||
$result = pager_query($sql, $forum_per_page, 0, $sql_count);
|
||||
$topic_num = db_num_rows($result);
|
||||
|
@ -408,7 +408,7 @@ function forum_get_topics($tid, $sortby, $forum_per_page) {
|
|||
$topic->new = 1;
|
||||
}
|
||||
else {
|
||||
$comments = db_result(db_query("SELECT COUNT(c.nid) FROM {node} n LEFT 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"));
|
||||
$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) {
|
||||
|
@ -440,7 +440,7 @@ function _forum_new($tid) {
|
|||
$read[] = $r->nid;
|
||||
}
|
||||
|
||||
$nid = db_result(db_query_range("SELECT n.nid FROM {node} n LEFT JOIN {forum} f ON n.nid = f.nid WHERE n.type = 'forum' AND f.nid = n.nid AND n.status = 1 AND f.tid = %d ".($read ? "AND NOT (n.nid IN (".implode(",", $read).")) " : "") ."ORDER BY created", $tid, 0, 1));
|
||||
$nid = db_result(db_query_range("SELECT n.nid FROM {node} n INNER JOIN {forum} f ON n.nid = f.nid WHERE n.type = 'forum' AND f.nid = n.nid AND n.status = 1 AND f.tid = %d ".($read ? "AND NOT (n.nid IN (".implode(",", $read).")) " : "") ."ORDER BY created", $tid, 0, 1));
|
||||
|
||||
return $nid ? $nid : 0;
|
||||
}
|
||||
|
|
|
@ -86,10 +86,10 @@ function forum_block($op = "list", $delta = 0) {
|
|||
|
||||
if (empty($cache)) {
|
||||
unset($items);
|
||||
$content = node_title_list(db_query_range("SELECT n.nid, n.title, u.uid, u.name, GREATEST(n.created, MAX(c.timestamp)) AS sort FROM {node} n LEFT JOIN {forum} f ON n.nid = f.nid LEFT JOIN {comments} c ON n.nid = c.nid LEFT JOIN {users} u ON n.uid = u.uid WHERE n.type = 'forum' AND n.nid = f.nid AND n.status = 1 GROUP BY n.nid, n.title, n.created, u.uid, u.name ORDER BY sort DESC", 0, variable_get("forum_block_num", "5")), t("Active forum topics:"));
|
||||
$content = node_title_list(db_query_range("SELECT n.nid, n.title, u.uid, u.name, GREATEST(n.created, MAX(c.timestamp)) AS sort FROM {node} n INNER JOIN {forum} f ON n.nid = f.nid INNER JOIN {comments} c ON n.nid = c.nid INNER JOIN {users} u ON n.uid = u.uid WHERE n.type = 'forum' AND n.nid = f.nid AND n.status = 1 GROUP BY n.nid, n.title, n.created, u.uid, u.name ORDER BY sort DESC", 0, variable_get("forum_block_num", "5")), t("Active forum topics:"));
|
||||
|
||||
unset ($items);
|
||||
$content .= node_title_list(db_query_range("SELECT n.nid, n.title, u.uid, u.name FROM {node} n LEFT JOIN {forum} f ON n.nid = f.nid LEFT JOIN {users} u ON n.uid = u.uid WHERE n.type = 'forum' ORDER BY n.nid DESC", 0, variable_get("forum_block_num", "5")), t("New forum topics:"));
|
||||
$content .= node_title_list(db_query_range("SELECT n.nid, n.title, u.uid, u.name FROM {node} n INNER JOIN {forum} f ON n.nid = f.nid INNER JOIN {users} u ON n.uid = u.uid WHERE n.type = 'forum' ORDER BY n.nid DESC", 0, variable_get("forum_block_num", "5")), t("New forum topics:"));
|
||||
|
||||
if ($content) {
|
||||
$content .= "<div id=\"forum_more\" style=\"text-align: right;\">". l(t("more"), "forum", array("title" => t("Read the latest forum topics."))) ."</div>";
|
||||
|
@ -121,7 +121,7 @@ function forum_link($type, $node = 0, $main = 0) {
|
|||
if (!$main && $type == "node" && $node->type == "forum") {
|
||||
// get previous and next topic
|
||||
|
||||
$result = db_query("SELECT n.nid, n.title, n.body, GREATEST(n.created, MAX(c.timestamp)) AS date_sort, COUNT(c.nid) AS num_comments FROM {node} n LEFT JOIN {forum} f ON n.nid = f.nid LEFT JOIN {comments} c ON n.nid = c.nid WHERE n.nid = f.nid AND f.tid = %d AND n.status = 1 GROUP BY n.nid, n.title, n.body, n.created ORDER BY ". _forum_get_topic_order(isset($user->sortby) ? $user->sortby : variable_get("forum_order",1)), $node->tid);
|
||||
$result = db_query("SELECT n.nid, n.title, n.body, GREATEST(n.created, MAX(c.timestamp)) AS date_sort, COUNT(c.nid) AS num_comments FROM {node} n INNER JOIN {forum} f ON n.nid = f.nid INNER JOIN {comments} c ON n.nid = c.nid WHERE n.nid = f.nid AND f.tid = %d AND n.status = 1 GROUP BY n.nid, n.title, n.body, n.created ORDER BY ". _forum_get_topic_order(isset($user->sortby) ? $user->sortby : variable_get("forum_order",1)), $node->tid);
|
||||
|
||||
while ($topic = db_fetch_object($result)) {
|
||||
if ($stop == 1) {
|
||||
|
@ -280,7 +280,7 @@ function _forum_last_comment($nid) {
|
|||
}
|
||||
|
||||
function _forum_last_reply($nid) {
|
||||
$value = db_fetch_object(db_query_range("SELECT c.timestamp, u.name, u.uid FROM {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE c.nid = %d AND c.status = 0 ORDER BY c.timestamp DESC", $nid, 0, 1));
|
||||
$value = db_fetch_object(db_query_range("SELECT c.timestamp, u.name, u.uid FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.nid = %d AND c.status = 0 ORDER BY c.timestamp DESC", $nid, 0, 1));
|
||||
return $value;
|
||||
}
|
||||
|
||||
|
@ -349,17 +349,17 @@ function forum_get_parents($tid) {
|
|||
}
|
||||
|
||||
function _forum_num_topics($term) {
|
||||
$value = db_fetch_object(db_query("SELECT COUNT(n.nid) AS count FROM {node} n LEFT 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));
|
||||
$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;
|
||||
}
|
||||
|
||||
function _forum_num_replies($term) {
|
||||
$value = db_fetch_object(db_query("SELECT COUNT(*) AS count FROM {comments} c LEFT JOIN {node} n ON n.nid = c.nid LEFT 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));
|
||||
$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;
|
||||
}
|
||||
|
||||
function _forum_topics_read($uid) {
|
||||
$result = db_query("SELECT tid, count(*) AS c FROM {history} h LEFT JOIN {node} n ON n.nid = h.nid LEFT 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);
|
||||
$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;
|
||||
|
@ -369,9 +369,9 @@ function _forum_topics_read($uid) {
|
|||
}
|
||||
|
||||
function _forum_last_post($term) {
|
||||
$topic = db_fetch_object(db_query_range("SELECT n.nid, n.created AS timestamp, u.name AS name, u.uid AS uid FROM {forum} f LEFT JOIN {node} n ON n.nid = f.nid LEFT JOIN {users} u ON n.uid = u.uid WHERE f.tid = %d AND n.nid = f.nid AND n.type = 'forum' AND n.status = 1 ORDER BY timestamp DESC", $term, 0, 1));
|
||||
$topic = db_fetch_object(db_query_range("SELECT n.nid, n.created AS timestamp, u.name AS name, u.uid AS uid FROM {forum} f INNER JOIN {node} n ON n.nid = f.nid INNER JOIN {users} u ON n.uid = u.uid WHERE f.tid = %d AND n.nid = f.nid AND n.type = 'forum' AND n.status = 1 ORDER BY timestamp DESC", $term, 0, 1));
|
||||
|
||||
$reply = db_fetch_object(db_query_range("SELECT n.nid, c.timestamp, u.name AS name, u.uid AS uid FROM {forum} f LEFT JOIN {node} n ON n.nid = f.nid LEFT JOIN {comments} c ON n.nid = c.nid LEFT JOIN {users} u ON c.uid = u.uid WHERE f.tid = %d AND n.nid = f.nid AND n.type = 'forum' AND n.status = 1 AND c.status = 0 ORDER BY c.timestamp DESC", $term, 0, 1));
|
||||
$reply = db_fetch_object(db_query_range("SELECT n.nid, c.timestamp, u.name AS name, u.uid AS uid FROM {forum} f INNER JOIN {node} n ON n.nid = f.nid INNER JOIN {comments} c ON n.nid = c.nid INNER JOIN {users} u ON c.uid = u.uid WHERE f.tid = %d AND n.nid = f.nid AND n.type = 'forum' AND n.status = 1 AND c.status = 0 ORDER BY c.timestamp DESC", $term, 0, 1));
|
||||
|
||||
$value = ($topic->timestamp > $reply->timestamp) ? $topic : $reply;
|
||||
|
||||
|
@ -387,9 +387,9 @@ function forum_get_topics($tid, $sortby, $forum_per_page) {
|
|||
$sql_sortby = _forum_get_topic_order($sortby);
|
||||
|
||||
// show topics with the correct tid, or in the forum but with shadow = 1
|
||||
$sql = "SELECT n.nid, n.title, u.name AS name, u.uid AS uid, n.created AS timestamp, GREATEST(n.created, MAX(c.timestamp)) AS date_sort, COUNT(c.nid) AS num_comments, f.icon, n.comment AS comment_mode, f.tid FROM {node} n LEFT JOIN {term_node} r ON n.nid = r.nid LEFT JOIN {users} u ON n.uid = u.uid LEFT JOIN {comments} c ON n.nid = c.nid LEFT JOIN {forum} f ON n.nid = f.nid WHERE n.nid = r.nid AND ((r.tid = '".check_query($tid)."' AND f.shadow = 1) OR f.tid = '".check_query($tid)."') AND n.status = 1 AND n.type = 'forum' GROUP BY n.nid, n.title, u.name, u.uid, n.created, n.comment, f.tid, f.icon ORDER BY $sql_sortby";
|
||||
$sql = "SELECT n.nid, n.title, u.name AS name, u.uid AS uid, n.created AS timestamp, GREATEST(n.created, MAX(c.timestamp)) AS date_sort, COUNT(c.nid) AS num_comments, f.icon, n.comment AS comment_mode, f.tid FROM {node} n INNER JOIN {term_node} r ON n.nid = r.nid INNER JOIN {users} u ON n.uid = u.uid INNER JOIN {comments} c ON n.nid = c.nid INNER JOIN {forum} f ON n.nid = f.nid WHERE n.nid = r.nid AND ((r.tid = '".check_query($tid)."' AND f.shadow = 1) OR f.tid = '".check_query($tid)."') AND n.status = 1 AND n.type = 'forum' GROUP BY n.nid, n.title, u.name, u.uid, n.created, n.comment, f.tid, f.icon ORDER BY $sql_sortby";
|
||||
|
||||
$sql_count = "SELECT COUNT(DISTINCT(n.nid)) FROM {node} n LEFT JOIN {forum} f ON n.nid = f.nid LEFT JOIN {term_node} r ON n.nid = r.nid WHERE n.nid = r.nid AND ( (r.tid = '".check_query($tid)."' AND f.shadow = 1) OR f.tid = '".check_query($tid)."') AND n.status = 1 AND n.type = 'forum'";
|
||||
$sql_count = "SELECT COUNT(DISTINCT(n.nid)) FROM {node} n INNER JOIN {forum} f ON n.nid = f.nid INNER JOIN {term_node} r ON n.nid = r.nid WHERE n.nid = r.nid AND ( (r.tid = '".check_query($tid)."' AND f.shadow = 1) OR f.tid = '".check_query($tid)."') AND n.status = 1 AND n.type = 'forum'";
|
||||
|
||||
$result = pager_query($sql, $forum_per_page, 0, $sql_count);
|
||||
$topic_num = db_num_rows($result);
|
||||
|
@ -408,7 +408,7 @@ function forum_get_topics($tid, $sortby, $forum_per_page) {
|
|||
$topic->new = 1;
|
||||
}
|
||||
else {
|
||||
$comments = db_result(db_query("SELECT COUNT(c.nid) FROM {node} n LEFT 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"));
|
||||
$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) {
|
||||
|
@ -440,7 +440,7 @@ function _forum_new($tid) {
|
|||
$read[] = $r->nid;
|
||||
}
|
||||
|
||||
$nid = db_result(db_query_range("SELECT n.nid FROM {node} n LEFT JOIN {forum} f ON n.nid = f.nid WHERE n.type = 'forum' AND f.nid = n.nid AND n.status = 1 AND f.tid = %d ".($read ? "AND NOT (n.nid IN (".implode(",", $read).")) " : "") ."ORDER BY created", $tid, 0, 1));
|
||||
$nid = db_result(db_query_range("SELECT n.nid FROM {node} n INNER JOIN {forum} f ON n.nid = f.nid WHERE n.type = 'forum' AND f.nid = n.nid AND n.status = 1 AND f.tid = %d ".($read ? "AND NOT (n.nid IN (".implode(",", $read).")) " : "") ."ORDER BY created", $tid, 0, 1));
|
||||
|
||||
return $nid ? $nid : 0;
|
||||
}
|
||||
|
|
|
@ -499,7 +499,7 @@ function import_get_bundle($bid) {
|
|||
}
|
||||
|
||||
function import_view() {
|
||||
$result = db_query("SELECT f.*, COUNT(i.iid) AS items FROM {feed} f LEFT JOIN {item} i ON f.fid = i.fid GROUP BY f.fid, f.title, f.url, f.refresh, f.timestamp, f.attributes, f.link, f.description ORDER BY f.title");
|
||||
$result = db_query("SELECT f.*, COUNT(i.iid) AS items FROM {feed} f INNER JOIN {item} i ON f.fid = i.fid GROUP BY f.fid, f.title, f.url, f.refresh, f.timestamp, f.attributes, f.link, f.description ORDER BY f.title");
|
||||
|
||||
$output .= "<h3>Feed overview</h3>";
|
||||
|
||||
|
@ -526,7 +526,7 @@ function import_view() {
|
|||
|
||||
function import_tag() {
|
||||
|
||||
$result = db_query_range("SELECT i.*, f.title AS feed FROM {item} i LEFT JOIN {feed} f ON i.fid = f.fid ORDER BY i.iid DESC", 0, 50);
|
||||
$result = db_query_range("SELECT i.*, f.title AS feed FROM {item} i INNER JOIN {feed} f ON i.fid = f.fid ORDER BY i.iid DESC", 0, 50);
|
||||
|
||||
$header = array(t("date"), t("feed"), t("news item"));
|
||||
while ($item = db_fetch_object($result)) {
|
||||
|
@ -619,7 +619,7 @@ function import_page_info() {
|
|||
function import_page_last() {
|
||||
|
||||
|
||||
$result = db_query_range("SELECT i.*, f.title AS ftitle, f.link AS flink FROM {item} i LEFT JOIN {feed} f ON i.fid = f.fid ORDER BY i.iid DESC", 0, variable_get("import_page_limit", 75));
|
||||
$result = db_query_range("SELECT i.*, f.title AS ftitle, f.link AS flink FROM {item} i INNER JOIN {feed} f ON i.fid = f.fid ORDER BY i.iid DESC", 0, variable_get("import_page_limit", 75));
|
||||
|
||||
$output .= "<table border=\"0\" cellpadding=\"4\" cellspacing=\"2\">";
|
||||
while ($item = db_fetch_object($result)) {
|
||||
|
|
|
@ -235,7 +235,7 @@ function node_load($conditions, $revision = -1) {
|
|||
** Retrieve the node:
|
||||
*/
|
||||
|
||||
$node = db_fetch_object(db_query("SELECT n.*, u.uid, u.name FROM {node} n LEFT JOIN {users} u ON u.uid = n.uid WHERE ". implode(" AND ", $cond)));
|
||||
$node = db_fetch_object(db_query("SELECT n.*, u.uid, u.name FROM {node} n INNER JOIN {users} u ON u.uid = n.uid WHERE ". implode(" AND ", $cond)));
|
||||
|
||||
/*
|
||||
** Unserialize the revisions field:
|
||||
|
@ -460,7 +460,7 @@ function node_search($keys) {
|
|||
// The select must always provide the following fields - lno, title,
|
||||
// created, uid, name, count
|
||||
//
|
||||
$find = do_search(array("keys" => $keys, "type" => "node", "select" => "select s.lno as lno, n.title as title, n.created as created, u.uid as uid, u.name as name, s.count as count FROM {search_index} s, {node} n LEFT JOIN {users} u ON n.uid = u.uid WHERE s.lno = n.nid AND s.type = 'node' AND s.word like '%' AND n.status = 1"));
|
||||
$find = do_search(array("keys" => $keys, "type" => "node", "select" => "select s.lno as lno, n.title as title, n.created as created, u.uid as uid, u.name as name, s.count as count FROM {search_index} s, {node} n INNER JOIN {users} u ON n.uid = u.uid WHERE s.lno = n.nid AND s.type = 'node' AND s.word like '%' AND n.status = 1"));
|
||||
|
||||
return $find;
|
||||
}
|
||||
|
@ -598,7 +598,7 @@ function node_admin_nodes() {
|
|||
$query = arg(3);
|
||||
$queries = array("ORDER BY n.changed DESC", "WHERE n.status = 0 OR n.moderate = 1 ORDER BY n.changed DESC");
|
||||
|
||||
$result = pager_query("SELECT n.*, u.name, u.uid FROM {node} n LEFT JOIN {users} u ON n.uid = u.uid ". $queries[$query ? $query : 0], 50);
|
||||
$result = pager_query("SELECT n.*, u.name, u.uid FROM {node} n INNER JOIN {users} u ON n.uid = u.uid ". $queries[$query ? $query : 0], 50);
|
||||
|
||||
$header = array(t("title"), t("type"), t("author"), t("status"), array("data" => t("operations"), "colspan" => 2));
|
||||
|
||||
|
|
|
@ -235,7 +235,7 @@ function node_load($conditions, $revision = -1) {
|
|||
** Retrieve the node:
|
||||
*/
|
||||
|
||||
$node = db_fetch_object(db_query("SELECT n.*, u.uid, u.name FROM {node} n LEFT JOIN {users} u ON u.uid = n.uid WHERE ". implode(" AND ", $cond)));
|
||||
$node = db_fetch_object(db_query("SELECT n.*, u.uid, u.name FROM {node} n INNER JOIN {users} u ON u.uid = n.uid WHERE ". implode(" AND ", $cond)));
|
||||
|
||||
/*
|
||||
** Unserialize the revisions field:
|
||||
|
@ -460,7 +460,7 @@ function node_search($keys) {
|
|||
// The select must always provide the following fields - lno, title,
|
||||
// created, uid, name, count
|
||||
//
|
||||
$find = do_search(array("keys" => $keys, "type" => "node", "select" => "select s.lno as lno, n.title as title, n.created as created, u.uid as uid, u.name as name, s.count as count FROM {search_index} s, {node} n LEFT JOIN {users} u ON n.uid = u.uid WHERE s.lno = n.nid AND s.type = 'node' AND s.word like '%' AND n.status = 1"));
|
||||
$find = do_search(array("keys" => $keys, "type" => "node", "select" => "select s.lno as lno, n.title as title, n.created as created, u.uid as uid, u.name as name, s.count as count FROM {search_index} s, {node} n INNER JOIN {users} u ON n.uid = u.uid WHERE s.lno = n.nid AND s.type = 'node' AND s.word like '%' AND n.status = 1"));
|
||||
|
||||
return $find;
|
||||
}
|
||||
|
@ -598,7 +598,7 @@ function node_admin_nodes() {
|
|||
$query = arg(3);
|
||||
$queries = array("ORDER BY n.changed DESC", "WHERE n.status = 0 OR n.moderate = 1 ORDER BY n.changed DESC");
|
||||
|
||||
$result = pager_query("SELECT n.*, u.name, u.uid FROM {node} n LEFT JOIN {users} u ON n.uid = u.uid ". $queries[$query ? $query : 0], 50);
|
||||
$result = pager_query("SELECT n.*, u.name, u.uid FROM {node} n INNER JOIN {users} u ON n.uid = u.uid ". $queries[$query ? $query : 0], 50);
|
||||
|
||||
$header = array(t("title"), t("type"), t("author"), t("status"), array("data" => t("operations"), "colspan" => 2));
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@ function page_link($type) {
|
|||
$links = array();
|
||||
|
||||
if ($type == "page" && user_access("access content")) {
|
||||
$result = db_query("SELECT n.nid, n.title, p.link, p.description FROM {page} p LEFT JOIN {node} n ON p.nid = n.nid WHERE n.status = '1' AND p.link != '' ORDER BY p.link");
|
||||
$result = db_query("SELECT n.nid, n.title, p.link, p.description FROM {page} p INNER JOIN {node} n ON p.nid = n.nid WHERE n.status = '1' AND p.link != '' ORDER BY p.link");
|
||||
while ($page = db_fetch_object($result)) {
|
||||
$links[] = l($page->link, "node/view/$page->nid", array("title" => $page->description));
|
||||
}
|
||||
|
|
|
@ -75,7 +75,7 @@ function page_link($type) {
|
|||
$links = array();
|
||||
|
||||
if ($type == "page" && user_access("access content")) {
|
||||
$result = db_query("SELECT n.nid, n.title, p.link, p.description FROM {page} p LEFT JOIN {node} n ON p.nid = n.nid WHERE n.status = '1' AND p.link != '' ORDER BY p.link");
|
||||
$result = db_query("SELECT n.nid, n.title, p.link, p.description FROM {page} p INNER JOIN {node} n ON p.nid = n.nid WHERE n.status = '1' AND p.link != '' ORDER BY p.link");
|
||||
while ($page = db_fetch_object($result)) {
|
||||
$links[] = l($page->link, "node/view/$page->nid", array("title" => $page->description));
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@ function poll_block($op = "list", $delta = 0) {
|
|||
|
||||
function poll_cron() {
|
||||
// Close polls that have exceeded their allowed runtime
|
||||
$result = db_query("SELECT p.nid FROM {poll} p LEFT JOIN {node} n ON p.nid=n.nid WHERE (n.created + p.runtime) < '". time() ."' AND p.active = '1' AND p.runtime != '0'");
|
||||
$result = db_query("SELECT p.nid FROM {poll} p INNER JOIN {node} n ON p.nid=n.nid WHERE (n.created + p.runtime) < '". time() ."' AND p.active = '1' AND p.runtime != '0'");
|
||||
while ($poll = db_fetch_object($result)) {
|
||||
db_query("UPDATE {poll} SET active='0' WHERE nid = %d", $poll->nid);
|
||||
}
|
||||
|
@ -221,7 +221,7 @@ function poll_node($field) {
|
|||
function poll_page() {
|
||||
|
||||
theme("header");
|
||||
$result = db_query("SELECT n.nid, n.title, p.active, SUM(c.chvotes) AS votes FROM {node} n LEFT JOIN {poll} p ON n.nid=p.nid LEFT JOIN {poll_choices} c ON n.nid=c.nid WHERE type = 'poll' AND status = '1' AND moderate = '0' GROUP BY n.nid, n.title, p.active, n.created ORDER BY n.created DESC");
|
||||
$result = db_query("SELECT n.nid, n.title, p.active, SUM(c.chvotes) AS votes FROM {node} n INNER JOIN {poll} p ON n.nid=p.nid INNER JOIN {poll_choices} c ON n.nid=c.nid WHERE type = 'poll' AND status = '1' AND moderate = '0' GROUP BY n.nid, n.title, p.active, n.created ORDER BY n.created DESC");
|
||||
$output = "<ul>";
|
||||
while ($node = db_fetch_object($result)) {
|
||||
$output .= "<li>".l($node->title, "node/view/$node->nid") ." - ". format_plural($node->votes, "1 vote", "%count votes") ." - ". ($node->active ? t("open") : t("closed")) ."</li>";
|
||||
|
|
|
@ -66,7 +66,7 @@ function poll_block($op = "list", $delta = 0) {
|
|||
|
||||
function poll_cron() {
|
||||
// Close polls that have exceeded their allowed runtime
|
||||
$result = db_query("SELECT p.nid FROM {poll} p LEFT JOIN {node} n ON p.nid=n.nid WHERE (n.created + p.runtime) < '". time() ."' AND p.active = '1' AND p.runtime != '0'");
|
||||
$result = db_query("SELECT p.nid FROM {poll} p INNER JOIN {node} n ON p.nid=n.nid WHERE (n.created + p.runtime) < '". time() ."' AND p.active = '1' AND p.runtime != '0'");
|
||||
while ($poll = db_fetch_object($result)) {
|
||||
db_query("UPDATE {poll} SET active='0' WHERE nid = %d", $poll->nid);
|
||||
}
|
||||
|
@ -221,7 +221,7 @@ function poll_node($field) {
|
|||
function poll_page() {
|
||||
|
||||
theme("header");
|
||||
$result = db_query("SELECT n.nid, n.title, p.active, SUM(c.chvotes) AS votes FROM {node} n LEFT JOIN {poll} p ON n.nid=p.nid LEFT JOIN {poll_choices} c ON n.nid=c.nid WHERE type = 'poll' AND status = '1' AND moderate = '0' GROUP BY n.nid, n.title, p.active, n.created ORDER BY n.created DESC");
|
||||
$result = db_query("SELECT n.nid, n.title, p.active, SUM(c.chvotes) AS votes FROM {node} n INNER JOIN {poll} p ON n.nid=p.nid INNER JOIN {poll_choices} c ON n.nid=c.nid WHERE type = 'poll' AND status = '1' AND moderate = '0' GROUP BY n.nid, n.title, p.active, n.created ORDER BY n.created DESC");
|
||||
$output = "<ul>";
|
||||
while ($node = db_fetch_object($result)) {
|
||||
$output .= "<li>".l($node->title, "node/view/$node->nid") ." - ". format_plural($node->votes, "1 vote", "%count votes") ." - ". ($node->active ? t("open") : t("closed")) ."</li>";
|
||||
|
|
|
@ -88,7 +88,7 @@ function queue_vote($node, $vote) {
|
|||
function queue_overview() {
|
||||
global $user;
|
||||
|
||||
$result = db_query("SELECT n.*, u.name, u.uid FROM {node} n LEFT JOIN {users} u ON n.uid = u.uid WHERE n.moderate = 1");
|
||||
$result = db_query("SELECT n.*, u.name, u.uid FROM {node} n INNER JOIN {users} u ON n.uid = u.uid WHERE n.moderate = 1");
|
||||
|
||||
$output .= "<table border=\"0\" cellspacing=\"4\" cellpadding=\"4\">";
|
||||
$output .= " <tr><th>". t("Subject") ."</th><th>". t("Author") ."</th><th>". t("Type") ."</th><th>". t("Score") ."</th></tr>";
|
||||
|
|
|
@ -261,7 +261,7 @@ function statistics_admin() {
|
|||
|
||||
/* Displays the various admin tables */
|
||||
function statistics_admin_count_table($dbfield, $dbrows) {
|
||||
$result = db_query_range("SELECT s.nid, s.daycount, s.totalcount, s.timestamp, n.title FROM {statistics} s LEFT JOIN {node} n USING (nid) WHERE s.%s <> '0' ORDER BY s.%s DESC", $dbfield, $dbfield, 0, $dbrows);
|
||||
$result = db_query_range("SELECT s.nid, s.daycount, s.totalcount, s.timestamp, n.title FROM {statistics} s INNER JOIN {node} n USING (nid) WHERE s.%s <> '0' ORDER BY s.%s DESC", $dbfield, $dbfield, 0, $dbrows);
|
||||
|
||||
$header = array(t("title"), t("today"), t("all time"), t("last hit"), t("operations"));
|
||||
|
||||
|
@ -682,7 +682,7 @@ function statistics_display_online_block() {
|
|||
/* Display linked title based on field name */
|
||||
function statistics_title_list($dbfield, $dbrows) {
|
||||
/* valid dbfields: totalcount, daycount, timestamp */
|
||||
return db_query_range("SELECT s.nid, n.title, u.uid, u.name FROM {statistics} s LEFT JOIN {node} n ON s.nid = n.nid LEFT JOIN {users} u ON n.uid = u.uid WHERE %s <> '0' AND n.status = 1 ORDER BY %s DESC", "s.". $dbfield, "s.". $dbfield, 0, $dbrows);
|
||||
return db_query_range("SELECT s.nid, n.title, u.uid, u.name FROM {statistics} s INNER JOIN {node} n ON s.nid = n.nid INNER JOIN {users} u ON n.uid = u.uid WHERE %s <> '0' AND n.status = 1 ORDER BY %s DESC", "s.". $dbfield, "s.". $dbfield, 0, $dbrows);
|
||||
}
|
||||
|
||||
|
||||
|
@ -782,7 +782,7 @@ function statistics_summary($dbfield, $dbrows) {
|
|||
/* valid dbfields: totalcount, daycount, timestamp */
|
||||
|
||||
$output = "";
|
||||
$result = db_query_range("SELECT n.nid, n.title FROM {statistics} s LEFT JOIN {node} n ON s.nid = n.nid ORDER BY %s DESC", $dbfield, 0, $dbrows);
|
||||
$result = db_query_range("SELECT n.nid, n.title FROM {statistics} s INNER JOIN {node} n ON s.nid = n.nid ORDER BY %s DESC", $dbfield, 0, $dbrows);
|
||||
while ($nid = db_fetch_array($result)) {
|
||||
$content = node_load(array("nid" => $nid["nid"]));
|
||||
$links = link_node($content, 1);
|
||||
|
|
|
@ -261,7 +261,7 @@ function statistics_admin() {
|
|||
|
||||
/* Displays the various admin tables */
|
||||
function statistics_admin_count_table($dbfield, $dbrows) {
|
||||
$result = db_query_range("SELECT s.nid, s.daycount, s.totalcount, s.timestamp, n.title FROM {statistics} s LEFT JOIN {node} n USING (nid) WHERE s.%s <> '0' ORDER BY s.%s DESC", $dbfield, $dbfield, 0, $dbrows);
|
||||
$result = db_query_range("SELECT s.nid, s.daycount, s.totalcount, s.timestamp, n.title FROM {statistics} s INNER JOIN {node} n USING (nid) WHERE s.%s <> '0' ORDER BY s.%s DESC", $dbfield, $dbfield, 0, $dbrows);
|
||||
|
||||
$header = array(t("title"), t("today"), t("all time"), t("last hit"), t("operations"));
|
||||
|
||||
|
@ -682,7 +682,7 @@ function statistics_display_online_block() {
|
|||
/* Display linked title based on field name */
|
||||
function statistics_title_list($dbfield, $dbrows) {
|
||||
/* valid dbfields: totalcount, daycount, timestamp */
|
||||
return db_query_range("SELECT s.nid, n.title, u.uid, u.name FROM {statistics} s LEFT JOIN {node} n ON s.nid = n.nid LEFT JOIN {users} u ON n.uid = u.uid WHERE %s <> '0' AND n.status = 1 ORDER BY %s DESC", "s.". $dbfield, "s.". $dbfield, 0, $dbrows);
|
||||
return db_query_range("SELECT s.nid, n.title, u.uid, u.name FROM {statistics} s INNER JOIN {node} n ON s.nid = n.nid INNER JOIN {users} u ON n.uid = u.uid WHERE %s <> '0' AND n.status = 1 ORDER BY %s DESC", "s.". $dbfield, "s.". $dbfield, 0, $dbrows);
|
||||
}
|
||||
|
||||
|
||||
|
@ -782,7 +782,7 @@ function statistics_summary($dbfield, $dbrows) {
|
|||
/* valid dbfields: totalcount, daycount, timestamp */
|
||||
|
||||
$output = "";
|
||||
$result = db_query_range("SELECT n.nid, n.title FROM {statistics} s LEFT JOIN {node} n ON s.nid = n.nid ORDER BY %s DESC", $dbfield, 0, $dbrows);
|
||||
$result = db_query_range("SELECT n.nid, n.title FROM {statistics} s INNER JOIN {node} n ON s.nid = n.nid ORDER BY %s DESC", $dbfield, 0, $dbrows);
|
||||
while ($nid = db_fetch_array($result)) {
|
||||
$content = node_load(array("nid" => $nid["nid"]));
|
||||
$links = link_node($content, 1);
|
||||
|
|
|
@ -511,7 +511,7 @@ function taxonomy_term_count_nodes($tid, $type = 0) {
|
|||
if (!isset($count[$type])) {
|
||||
// $type == 0 always evaluates true is $type is a string
|
||||
if (is_numeric($type)) {
|
||||
$result = db_query("SELECT t.tid, COUNT(*) AS c FROM {term_node} t LEFT JOIN {node} n ON t.nid = n.nid WHERE n.status = 1 GROUP BY t.tid");
|
||||
$result = db_query("SELECT t.tid, COUNT(*) AS c FROM {term_node} t INNER JOIN {node} n ON t.nid = n.nid WHERE n.status = 1 GROUP BY t.tid");
|
||||
}
|
||||
else {
|
||||
$result = db_query("SELECT t.tid, COUNT(*) AS c FROM {term_node} t, {node} n WHERE t.nid = n.nid AND n.status = 1 AND n.type = '%s' GROUP BY t.tid", $type);
|
||||
|
@ -660,14 +660,14 @@ function taxonomy_select_nodes($taxonomy, $pager = 1) {
|
|||
|
||||
if ($taxonomy->str_tids) {
|
||||
if ($taxonomy->operator == "or") {
|
||||
$sql = "SELECT DISTINCT(n.nid), n.title, n.type, n.created, n.changed, n.uid, n.static, n.created, u.name FROM {node} n LEFT JOIN {term_node} r ON n.nid = r.nid LEFT JOIN {users} u ON n.uid = u.uid WHERE r.tid IN ($taxonomy->str_tids) AND n.status = '1' ORDER BY static DESC, created DESC";
|
||||
$sql_count = "SELECT COUNT(DISTINCT(n.nid)) FROM {node} n LEFT JOIN {term_node} r ON n.nid = r.nid LEFT JOIN {users} u ON n.uid = u.uid WHERE r.tid IN ($taxonomy->str_tids) AND n.status = '1'";
|
||||
$sql = "SELECT DISTINCT(n.nid), n.title, n.type, n.created, n.changed, n.uid, n.static, n.created, u.name FROM {node} n INNER JOIN {term_node} r ON n.nid = r.nid INNER JOIN {users} u ON n.uid = u.uid WHERE r.tid IN ($taxonomy->str_tids) AND n.status = '1' ORDER BY static DESC, created DESC";
|
||||
$sql_count = "SELECT COUNT(DISTINCT(n.nid)) FROM {node} n INNER JOIN {term_node} r ON n.nid = r.nid INNER JOIN {users} u ON n.uid = u.uid WHERE r.tid IN ($taxonomy->str_tids) AND n.status = '1'";
|
||||
}
|
||||
else {
|
||||
$sql = "SELECT n.nid, n.title, n.type, n.created, n.changed, n.uid, u.name FROM {node} n LEFT JOIN {term_node} r ON n.nid = r.nid LEFT JOIN {users} u ON n.uid = u.uid WHERE r.tid IN ($taxonomy->str_tids) AND n.status = '1' GROUP BY n.nid, n.title, n.type, n.created, n.changed, n.uid, u.name HAVING COUNT(n.nid) = ".count($taxonomy->tids)." ORDER BY static DESC, created DESC";
|
||||
$sql = "SELECT n.nid, n.title, n.type, n.created, n.changed, n.uid, u.name FROM {node} n INNER JOIN {term_node} r ON n.nid = r.nid INNER JOIN {users} u ON n.uid = u.uid WHERE r.tid IN ($taxonomy->str_tids) AND n.status = '1' GROUP BY n.nid, n.title, n.type, n.created, n.changed, n.uid, u.name HAVING COUNT(n.nid) = ".count($taxonomy->tids)." ORDER BY static DESC, created DESC";
|
||||
|
||||
// Special trick as we could not find anything better:
|
||||
$count = db_num_rows(db_query("SELECT n.nid FROM {node} n LEFT JOIN {term_node} r ON n.nid = r.nid WHERE r.tid IN ($taxonomy->str_tids) AND n.status = '1' GROUP BY n.nid HAVING COUNT(n.nid) = ". count($taxonomy->tids)));
|
||||
$count = db_num_rows(db_query("SELECT n.nid FROM {node} n INNER JOIN {term_node} r ON n.nid = r.nid WHERE r.tid IN ($taxonomy->str_tids) AND n.status = '1' GROUP BY n.nid HAVING COUNT(n.nid) = ". count($taxonomy->tids)));
|
||||
$sql_count = "SELECT $count";
|
||||
}
|
||||
|
||||
|
|
|
@ -511,7 +511,7 @@ function taxonomy_term_count_nodes($tid, $type = 0) {
|
|||
if (!isset($count[$type])) {
|
||||
// $type == 0 always evaluates true is $type is a string
|
||||
if (is_numeric($type)) {
|
||||
$result = db_query("SELECT t.tid, COUNT(*) AS c FROM {term_node} t LEFT JOIN {node} n ON t.nid = n.nid WHERE n.status = 1 GROUP BY t.tid");
|
||||
$result = db_query("SELECT t.tid, COUNT(*) AS c FROM {term_node} t INNER JOIN {node} n ON t.nid = n.nid WHERE n.status = 1 GROUP BY t.tid");
|
||||
}
|
||||
else {
|
||||
$result = db_query("SELECT t.tid, COUNT(*) AS c FROM {term_node} t, {node} n WHERE t.nid = n.nid AND n.status = 1 AND n.type = '%s' GROUP BY t.tid", $type);
|
||||
|
@ -660,14 +660,14 @@ function taxonomy_select_nodes($taxonomy, $pager = 1) {
|
|||
|
||||
if ($taxonomy->str_tids) {
|
||||
if ($taxonomy->operator == "or") {
|
||||
$sql = "SELECT DISTINCT(n.nid), n.title, n.type, n.created, n.changed, n.uid, n.static, n.created, u.name FROM {node} n LEFT JOIN {term_node} r ON n.nid = r.nid LEFT JOIN {users} u ON n.uid = u.uid WHERE r.tid IN ($taxonomy->str_tids) AND n.status = '1' ORDER BY static DESC, created DESC";
|
||||
$sql_count = "SELECT COUNT(DISTINCT(n.nid)) FROM {node} n LEFT JOIN {term_node} r ON n.nid = r.nid LEFT JOIN {users} u ON n.uid = u.uid WHERE r.tid IN ($taxonomy->str_tids) AND n.status = '1'";
|
||||
$sql = "SELECT DISTINCT(n.nid), n.title, n.type, n.created, n.changed, n.uid, n.static, n.created, u.name FROM {node} n INNER JOIN {term_node} r ON n.nid = r.nid INNER JOIN {users} u ON n.uid = u.uid WHERE r.tid IN ($taxonomy->str_tids) AND n.status = '1' ORDER BY static DESC, created DESC";
|
||||
$sql_count = "SELECT COUNT(DISTINCT(n.nid)) FROM {node} n INNER JOIN {term_node} r ON n.nid = r.nid INNER JOIN {users} u ON n.uid = u.uid WHERE r.tid IN ($taxonomy->str_tids) AND n.status = '1'";
|
||||
}
|
||||
else {
|
||||
$sql = "SELECT n.nid, n.title, n.type, n.created, n.changed, n.uid, u.name FROM {node} n LEFT JOIN {term_node} r ON n.nid = r.nid LEFT JOIN {users} u ON n.uid = u.uid WHERE r.tid IN ($taxonomy->str_tids) AND n.status = '1' GROUP BY n.nid, n.title, n.type, n.created, n.changed, n.uid, u.name HAVING COUNT(n.nid) = ".count($taxonomy->tids)." ORDER BY static DESC, created DESC";
|
||||
$sql = "SELECT n.nid, n.title, n.type, n.created, n.changed, n.uid, u.name FROM {node} n INNER JOIN {term_node} r ON n.nid = r.nid INNER JOIN {users} u ON n.uid = u.uid WHERE r.tid IN ($taxonomy->str_tids) AND n.status = '1' GROUP BY n.nid, n.title, n.type, n.created, n.changed, n.uid, u.name HAVING COUNT(n.nid) = ".count($taxonomy->tids)." ORDER BY static DESC, created DESC";
|
||||
|
||||
// Special trick as we could not find anything better:
|
||||
$count = db_num_rows(db_query("SELECT n.nid FROM {node} n LEFT JOIN {term_node} r ON n.nid = r.nid WHERE r.tid IN ($taxonomy->str_tids) AND n.status = '1' GROUP BY n.nid HAVING COUNT(n.nid) = ". count($taxonomy->tids)));
|
||||
$count = db_num_rows(db_query("SELECT n.nid FROM {node} n INNER JOIN {term_node} r ON n.nid = r.nid WHERE r.tid IN ($taxonomy->str_tids) AND n.status = '1' GROUP BY n.nid HAVING COUNT(n.nid) = ". count($taxonomy->tids)));
|
||||
$sql_count = "SELECT $count";
|
||||
}
|
||||
|
||||
|
|
|
@ -10,11 +10,11 @@ function title_page() {
|
|||
if (user_access("access content")) {
|
||||
|
||||
$title = urldecode(arg(1));
|
||||
$result = db_query("SELECT n.*, u.name, u.uid FROM {node} n LEFT JOIN {users} u ON n.uid = u.uid WHERE n.title = '%s' AND n.status = 1 ORDER BY created DESC", $title);
|
||||
$result = db_query("SELECT n.*, u.name, u.uid FROM {node} n INNER JOIN {users} u ON n.uid = u.uid WHERE n.title = '%s' AND n.status = 1 ORDER BY n.created DESC", $title);
|
||||
|
||||
if (db_num_rows($result) == 0) {
|
||||
// No node with exact title found, try substring.
|
||||
$result = db_query("SELECT n.*, u.name, u.uid FROM {node} n LEFT JOIN {users} u ON n.uid = u.uid WHERE n.title LIKE '%". check_query($title). "%' AND n.status = 1 ORDER BY created DESC");
|
||||
$result = db_query("SELECT n.*, u.name, u.uid FROM {node} n INNER JOIN {users} u ON n.uid = u.uid WHERE n.title LIKE '%". check_query($title). "%' AND n.status = 1 ORDER BY n.created DESC");
|
||||
}
|
||||
|
||||
if (db_num_rows($result) == 0 && module_exist("search")) {
|
||||
|
|
|
@ -25,20 +25,20 @@ function tracker_link($type) {
|
|||
function tracker_posts($id = 0) {
|
||||
|
||||
if ($id) {
|
||||
$sresult = pager_query("SELECT n.nid, n.title, n.type, n.changed, n.uid, u.name, MAX(GREATEST(n.changed, c.timestamp)) AS last_activity FROM {node} n LEFT JOIN {comments} c ON n.nid = c.nid LEFT JOIN {users} u ON n.uid = u.uid WHERE n.uid = '". check_query($id) ."' AND n.status = 1 GROUP BY n.nid, n.title, n.type, n.changed, n.uid, u.name ORDER BY last_activity DESC", 10, 0, "SELECT COUNT(nid) FROM {node} WHERE status = 1 AND uid = '". check_query($id) ."'");
|
||||
$sresult = pager_query("SELECT n.nid, n.title, n.type, n.changed, n.uid, u.name, MAX(GREATEST(n.changed, c.timestamp)) AS last_activity FROM {node} n INNER JOIN {comments} c ON n.nid = c.nid INNER JOIN {users} u ON n.uid = u.uid WHERE n.uid = '". check_query($id) ."' AND n.status = 1 GROUP BY n.nid, n.title, n.type, n.changed, n.uid, u.name ORDER BY last_activity DESC", 10, 0, "SELECT COUNT(nid) FROM {node} WHERE status = 1 AND uid = '". check_query($id) ."'");
|
||||
}
|
||||
else {
|
||||
$sresult = pager_query("SELECT n.nid, n.title, n.type, n.changed, n.uid, u.name, MAX(GREATEST(n.changed, c.timestamp)) AS last_activity FROM {node} n LEFT JOIN {comments} c ON n.nid = c.nid LEFT JOIN {users} u ON n.uid = u.uid WHERE n.status = 1 GROUP BY n.nid, n.title, n.type, n.changed, n.uid, u.name ORDER BY last_activity DESC", 10, 0, "SELECT COUNT(nid) FROM {node} WHERE status = 1");
|
||||
$sresult = pager_query("SELECT n.nid, n.title, n.type, n.changed, n.uid, u.name, MAX(GREATEST(n.changed, c.timestamp)) AS last_activity FROM {node} n INNER JOIN {comments} c ON n.nid = c.nid INNER JOIN {users} u ON n.uid = u.uid WHERE n.status = 1 GROUP BY n.nid, n.title, n.type, n.changed, n.uid, u.name ORDER BY last_activity DESC", 10, 0, "SELECT COUNT(nid) FROM {node} WHERE status = 1");
|
||||
}
|
||||
|
||||
$header = array(t("Type"), t("Title"), t("Author"));
|
||||
|
||||
while ($node = db_fetch_object($sresult)) {
|
||||
if ($id) {
|
||||
$cresult = db_query("SELECT c.*, u.name FROM {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE c.uid = %d AND c.nid = %d AND c.status = 0 ORDER BY cid DESC", $id, $node->nid);
|
||||
$cresult = db_query("SELECT c.*, u.name FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.uid = %d AND c.nid = %d AND c.status = 0 ORDER BY c.cid DESC", $id, $node->nid);
|
||||
}
|
||||
else {
|
||||
$cresult = db_query("SELECT c.*, u.name FROM {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE c.nid = %d AND c.status = 0 ORDER BY cid DESC", $node->nid);
|
||||
$cresult = db_query("SELECT c.*, u.name FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.nid = %d AND c.status = 0 ORDER BY c.cid DESC", $node->nid);
|
||||
}
|
||||
|
||||
$type = ucfirst(module_invoke($node->type, "node", "name"));
|
||||
|
|
|
@ -25,20 +25,20 @@ function tracker_link($type) {
|
|||
function tracker_posts($id = 0) {
|
||||
|
||||
if ($id) {
|
||||
$sresult = pager_query("SELECT n.nid, n.title, n.type, n.changed, n.uid, u.name, MAX(GREATEST(n.changed, c.timestamp)) AS last_activity FROM {node} n LEFT JOIN {comments} c ON n.nid = c.nid LEFT JOIN {users} u ON n.uid = u.uid WHERE n.uid = '". check_query($id) ."' AND n.status = 1 GROUP BY n.nid, n.title, n.type, n.changed, n.uid, u.name ORDER BY last_activity DESC", 10, 0, "SELECT COUNT(nid) FROM {node} WHERE status = 1 AND uid = '". check_query($id) ."'");
|
||||
$sresult = pager_query("SELECT n.nid, n.title, n.type, n.changed, n.uid, u.name, MAX(GREATEST(n.changed, c.timestamp)) AS last_activity FROM {node} n INNER JOIN {comments} c ON n.nid = c.nid INNER JOIN {users} u ON n.uid = u.uid WHERE n.uid = '". check_query($id) ."' AND n.status = 1 GROUP BY n.nid, n.title, n.type, n.changed, n.uid, u.name ORDER BY last_activity DESC", 10, 0, "SELECT COUNT(nid) FROM {node} WHERE status = 1 AND uid = '". check_query($id) ."'");
|
||||
}
|
||||
else {
|
||||
$sresult = pager_query("SELECT n.nid, n.title, n.type, n.changed, n.uid, u.name, MAX(GREATEST(n.changed, c.timestamp)) AS last_activity FROM {node} n LEFT JOIN {comments} c ON n.nid = c.nid LEFT JOIN {users} u ON n.uid = u.uid WHERE n.status = 1 GROUP BY n.nid, n.title, n.type, n.changed, n.uid, u.name ORDER BY last_activity DESC", 10, 0, "SELECT COUNT(nid) FROM {node} WHERE status = 1");
|
||||
$sresult = pager_query("SELECT n.nid, n.title, n.type, n.changed, n.uid, u.name, MAX(GREATEST(n.changed, c.timestamp)) AS last_activity FROM {node} n INNER JOIN {comments} c ON n.nid = c.nid INNER JOIN {users} u ON n.uid = u.uid WHERE n.status = 1 GROUP BY n.nid, n.title, n.type, n.changed, n.uid, u.name ORDER BY last_activity DESC", 10, 0, "SELECT COUNT(nid) FROM {node} WHERE status = 1");
|
||||
}
|
||||
|
||||
$header = array(t("Type"), t("Title"), t("Author"));
|
||||
|
||||
while ($node = db_fetch_object($sresult)) {
|
||||
if ($id) {
|
||||
$cresult = db_query("SELECT c.*, u.name FROM {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE c.uid = %d AND c.nid = %d AND c.status = 0 ORDER BY cid DESC", $id, $node->nid);
|
||||
$cresult = db_query("SELECT c.*, u.name FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.uid = %d AND c.nid = %d AND c.status = 0 ORDER BY c.cid DESC", $id, $node->nid);
|
||||
}
|
||||
else {
|
||||
$cresult = db_query("SELECT c.*, u.name FROM {comments} c LEFT JOIN {users} u ON c.uid = u.uid WHERE c.nid = %d AND c.status = 0 ORDER BY cid DESC", $node->nid);
|
||||
$cresult = db_query("SELECT c.*, u.name FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.nid = %d AND c.status = 0 ORDER BY c.cid DESC", $node->nid);
|
||||
}
|
||||
|
||||
$type = ucfirst(module_invoke($node->type, "node", "name"));
|
||||
|
|
|
@ -53,7 +53,7 @@ function watchdog_overview($type) {
|
|||
$color = array("user" => "#FFEEAA", "message" => "#FFFFFF", "special" => "#A49FFF", "warning" => "#FFAA22", "httpd" => "#99DD99", "error" => "#EE4C4C");
|
||||
$query = array("user" => "WHERE type = 'user'", "regular" => "WHERE type = 'message'", "special" => "WHERE type = 'special'", "warning" => "WHERE type = 'warning'", "error" => "WHERE type = 'error'", "httpd" => "WHERE type = 'httpd'", "actions" => "WHERE link != ''");
|
||||
|
||||
$result = pager_query("SELECT w.*, u.name, u.uid FROM {watchdog} w LEFT JOIN {users} u ON w.uid = u.uid ". ($type ? $query[$type] : "") ." ORDER BY w.timestamp DESC", 50);
|
||||
$result = pager_query("SELECT w.*, u.name, u.uid FROM {watchdog} w INNER JOIN {users} u ON w.uid = u.uid ". ($type ? $query[$type] : "") ." ORDER BY w.timestamp DESC", 50);
|
||||
|
||||
while ($watchdog = db_fetch_object($result)) {
|
||||
if ($background = $color[$watchdog->type]) {
|
||||
|
@ -72,7 +72,7 @@ function watchdog_overview($type) {
|
|||
|
||||
function watchdog_view($id) {
|
||||
|
||||
$result = db_query("SELECT w.*, u.name, u.uid FROM {watchdog} w LEFT JOIN {users} u ON w.uid = u.uid WHERE w.wid = %d", $id);
|
||||
$result = db_query("SELECT w.*, u.name, u.uid FROM {watchdog} w INNER JOIN {users} u ON w.uid = u.uid WHERE w.wid = %d", $id);
|
||||
|
||||
if ($watchdog = db_fetch_object($result)) {
|
||||
$output .= "<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">";
|
||||
|
|
|
@ -53,7 +53,7 @@ function watchdog_overview($type) {
|
|||
$color = array("user" => "#FFEEAA", "message" => "#FFFFFF", "special" => "#A49FFF", "warning" => "#FFAA22", "httpd" => "#99DD99", "error" => "#EE4C4C");
|
||||
$query = array("user" => "WHERE type = 'user'", "regular" => "WHERE type = 'message'", "special" => "WHERE type = 'special'", "warning" => "WHERE type = 'warning'", "error" => "WHERE type = 'error'", "httpd" => "WHERE type = 'httpd'", "actions" => "WHERE link != ''");
|
||||
|
||||
$result = pager_query("SELECT w.*, u.name, u.uid FROM {watchdog} w LEFT JOIN {users} u ON w.uid = u.uid ". ($type ? $query[$type] : "") ." ORDER BY w.timestamp DESC", 50);
|
||||
$result = pager_query("SELECT w.*, u.name, u.uid FROM {watchdog} w INNER JOIN {users} u ON w.uid = u.uid ". ($type ? $query[$type] : "") ." ORDER BY w.timestamp DESC", 50);
|
||||
|
||||
while ($watchdog = db_fetch_object($result)) {
|
||||
if ($background = $color[$watchdog->type]) {
|
||||
|
@ -72,7 +72,7 @@ function watchdog_overview($type) {
|
|||
|
||||
function watchdog_view($id) {
|
||||
|
||||
$result = db_query("SELECT w.*, u.name, u.uid FROM {watchdog} w LEFT JOIN {users} u ON w.uid = u.uid WHERE w.wid = %d", $id);
|
||||
$result = db_query("SELECT w.*, u.name, u.uid FROM {watchdog} w INNER JOIN {users} u ON w.uid = u.uid WHERE w.wid = %d", $id);
|
||||
|
||||
if ($watchdog = db_fetch_object($result)) {
|
||||
$output .= "<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">";
|
||||
|
|
Loading…
Reference in New Issue