--- taxonomy.module.1 2005-01-30 18:09:59.000000000 +0100 +++ taxonomy.module 2005-01-30 23:41:52.000000000 +0100 @@ -103,7 +103,10 @@ function taxonomy_block($op = 'list', $d return $blocks; } else if ($op == 'view' && user_access('access content')) { - $result = db_query(db_rewrite_sql('SELECT d.tid, d.name, MAX(n.created) AS updated, COUNT(*) AS count FROM {term_data} d INNER JOIN {term_node} USING (tid) INNER JOIN {node} n USING (nid) WHERE n.status = 1 GROUP BY d.tid, d.name ORDER BY updated DESC, d.name')); + $sql = 'SELECT t.tid, n.nid, t.name, MAX(n.created) AS updated, COUNT(*) AS count FROM {term_data} t INNER JOIN {term_node} tn ON t.tid = tn.tid INNER JOIN {node} n ON tn.nid = n.nid WHERE n.status = 1 GROUP BY t.tid, t.name ORDER BY updated DESC, t.name'; + $sql = db_rewrite_sql($sql); + $sql = db_rewrite_sql($sql, 't', 'tid'); + $result = db_query($sql); $items = array(); while ($category = db_fetch_object($result)) { $items[] = l($category->name .' ('. $category->count .')', 'taxonomy/term/'. $category->tid) .'
'. t('%time ago', array('%time' => format_interval(time() - $category->updated))); @@ -409,10 +412,10 @@ function taxonomy_form($vid, $value = 0, function taxonomy_get_vocabularies($type = NULL) { if ($type) { - $result = db_query("SELECT v.*, n.type FROM {vocabulary_node_types} n INNER JOIN {vocabulary} v ON v.vid = n.vid WHERE n.type = '%s' ORDER BY v.weight, v.name", $type); + $result = db_query(db_rewrite_sql("SELECT v.vid, v.*, n.type FROM {vocabulary_node_types} n INNER JOIN {vocabulary} v ON v.vid = n.vid WHERE n.type = '%s' ORDER BY v.weight, v.name", 'v', 'vid'), $type); } else { - $result = db_query('SELECT v.*, n.type FROM {vocabulary_node_types} n INNER JOIN {vocabulary} v ON v.vid = n.vid ORDER BY v.weight, v.name'); + $result = db_query(db_rewrite_sql('SELECT v.vid, v.*, n.type FROM {vocabulary_node_types} n INNER JOIN {vocabulary} v ON v.vid = n.vid ORDER BY v.weight, v.name', 'v', 'vid')); } $vocabularies = array(); @@ -443,7 +446,7 @@ function taxonomy_node_form($type, $node $terms = $node->taxonomy; } - $c = db_query("SELECT v.*, n.type FROM {vocabulary} v INNER JOIN {vocabulary_node_types} n ON v.vid = n.vid WHERE n.type = '%s' ORDER BY v.weight, v.name", $type); + $c = db_query(db_rewrite_sql("SELECT v.vid, v.*, n.type FROM {vocabulary} v INNER JOIN {vocabulary_node_types} n ON v.vid = n.vid WHERE n.type = '%s' ORDER BY v.weight, v.name", 'v', 'vid'), $type); while ($vocabulary = db_fetch_object($c)) { $result[] = taxonomy_form($vocabulary->vid, $terms, $help, $name); } @@ -463,7 +466,7 @@ function taxonomy_node_has_term($nid, $t * Find all terms associated to the given node, within one vocabulary. */ function taxonomy_node_get_terms_by_vocabulary($nid, $vid, $key = 'tid') { - $result = db_query('SELECT t.* FROM {term_data} t, {term_node} r WHERE t.tid = r.tid AND t.vid = %d AND r.nid = %d ORDER BY weight', $vid, $nid); + $result = db_query(db_rewrite_sql('SELECT t.tid, t.* FROM {term_data} t, {term_node} r WHERE t.tid = r.tid AND t.vid = %d AND r.nid = %d ORDER BY weight', 't', 'tid'), $vid, $nid); $terms = array(); while ($term = db_fetch_object($result)) { $terms[$term->$key] = $term; @@ -478,7 +481,7 @@ function taxonomy_node_get_terms($nid, $ static $terms; if (!isset($terms[$nid])) { - $result = db_query('SELECT t.* FROM {term_data} t, {term_node} r WHERE r.tid = t.tid AND r.nid = %d ORDER BY weight, name', $nid); + $result = db_query(db_rewrite_sql('SELECT t.tid, t.* FROM {term_data} t, {term_node} r WHERE r.tid = t.tid AND r.nid = %d ORDER BY weight, name', 't', 'tid'), $nid); $terms[$nid] = array(); while ($term = db_fetch_object($result)) { $terms[$nid][$term->$key] = $term; @@ -531,7 +534,7 @@ function taxonomy_get_related($tid, $key */ function taxonomy_get_parents($tid, $key = 'tid') { if ($tid) { - $result = db_query('SELECT t.* FROM {term_hierarchy} h, {term_data} t WHERE h.parent = t.tid AND h.tid = %d ORDER BY weight, name', $tid); + $result = db_query(db_rewrite_sql('SELECT t.tid, t.* FROM {term_hierarchy} h, {term_data} t WHERE h.parent = t.tid AND h.tid = %d ORDER BY weight, name', 't', 'tid'), $tid); $parents = array(); while ($parent = db_fetch_object($result)) { $parents[$parent->$key] = $parent; @@ -564,10 +567,10 @@ function taxonomy_get_parents_all($tid) */ function taxonomy_get_children($tid, $vid = 0, $key = 'tid') { if ($vid) { - $result = db_query('SELECT t.* FROM {term_hierarchy} h, {term_data} t WHERE t.vid = %d AND h.tid = t.tid AND h.parent = %d ORDER BY weight, name', $vid, $tid); + $result = db_query(db_rewrite_sql('SELECT t.tid, t.* FROM {term_hierarchy} h, {term_data} t WHERE t.vid = %d AND h.tid = t.tid AND h.parent = %d ORDER BY weight, name','t','tid'), $vid, $tid); } else { - $result = db_query('SELECT t.* FROM {term_hierarchy} h, {term_data} t WHERE h.tid = t.tid AND parent = %d ORDER BY weight', $tid); + $result = db_query(db_rewrite_sql('SELECT t.tid, t.* FROM {term_hierarchy} h, {term_data} t WHERE h.tid = t.tid AND parent = %d ORDER BY weight','t','tid'), $tid); } $children = array(); while ($term = db_fetch_object($result)) { @@ -606,7 +609,7 @@ function taxonomy_get_tree($vid, $parent if (!isset($children[$vid])) { $children[$vid] = array(); - $result = db_query('SELECT t.*, parent FROM {term_data} t, {term_hierarchy} h WHERE t.tid = h.tid AND t.vid = %d ORDER BY weight, name', $vid); + $result = db_query(db_rewrite_sql('SELECT t.tid, t.*, parent FROM {term_data} t, {term_hierarchy} h WHERE t.tid = h.tid AND t.vid = %d ORDER BY weight, name', 't', 'tid'), $vid); while ($term = db_fetch_object($result)) { $children[$vid][$term->parent][] = $term->tid; $parents[$vid][$term->tid][] = $term->parent; @@ -708,7 +711,7 @@ function _taxonomy_term_children($tid) { * An array of matching term objects. */ function taxonomy_get_term_by_name($name) { - $db_result = db_query("SELECT * FROM {term_data} WHERE LOWER('%s') LIKE LOWER(name)", trim($name)); + $db_result = db_query(db_rewrite_sql("SELECT t.tid, t.* FROM {term_data} t WHERE LOWER('%s') LIKE LOWER(name)", 't', 'tid'), trim($name)); $result = array(); while ($term = db_fetch_object($db_result)) { $result[] = $term; @@ -907,7 +910,7 @@ function taxonomy_term_page($str_tids = if ($tids) { // Build title: - $result = db_query('SELECT name FROM {term_data} WHERE tid IN (%s)', implode(',', $tids)); + $result = db_query(db_rewrite_sql('SELECT t.tid, t.name FROM {term_data} t WHERE t.tid IN (%s)', 't', 'tid'), implode(',', $tids)); $names = array(); while ($term = db_fetch_object($result)) { $names[] = $term->name;