summaryrefslogtreecommitdiff
path: root/modules/taxonomy/taxonomy.module
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2003-07-10 17:46:44 +0000
committerDries Buytaert <dries@buytaert.net>2003-07-10 17:46:44 +0000
commit337b3c9de997f4fcb27467e3d80d0f43fda7783e (patch)
tree392e4a56fa1ac3d09e9cb78998f87ab438229926 /modules/taxonomy/taxonomy.module
parent1c2fc43b51455e4895455798919e4c77e2b1bf21 (diff)
downloadbrdo-337b3c9de997f4fcb27467e3d80d0f43fda7783e.tar.gz
brdo-337b3c9de997f4fcb27467e3d80d0f43fda7783e.tar.bz2
- Committed a slightly modified version of Slavica's table prefix patch.
Diffstat (limited to 'modules/taxonomy/taxonomy.module')
-rw-r--r--modules/taxonomy/taxonomy.module90
1 files changed, 45 insertions, 45 deletions
diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module
index ba6afc054..d0f79f505 100644
--- a/modules/taxonomy/taxonomy.module
+++ b/modules/taxonomy/taxonomy.module
@@ -99,7 +99,7 @@ function taxonomy_save_vocabulary($edit) {
$data = array("name" => $edit["name"], "nodes" => implode(",", $edit["nodes"]), "description" => $edit["description"], "multiple" => $edit["multiple"], "required" => $edit["required"], "hierarchy" => $edit["hierarchy"], "relations" => $edit["relations"], "weight" => $edit["weight"]);
if ($edit["vid"] && $edit["name"]) {
- db_query("UPDATE vocabulary SET ". _prepare_update($data) ." WHERE vid = %d", $edit["vid"]);
+ db_query("UPDATE {vocabulary} SET ". _prepare_update($data) ." WHERE vid = %d", $edit["vid"]);
module_invoke_all("taxonomy", "update", "vocabulary", $edit);
$message = t("updated vocabulary '%name'.", array("%name" => $edit["name"]));
}
@@ -108,7 +108,7 @@ function taxonomy_save_vocabulary($edit) {
}
else {
$data["vid"] = $edit["vid"] = db_next_id("vocabulary_vid");
- db_query("INSERT INTO vocabulary ". _prepare_insert($data, 1) ." VALUES ". _prepare_insert($data, 2));
+ db_query("INSERT INTO {vocabulary} ". _prepare_insert($data, 1) ." VALUES ". _prepare_insert($data, 2));
module_invoke_all("taxonomy", "insert", "vocabulary", $edit);
$message = t("created new vocabulary '%name'.", array("%name" => $edit["name"]));
}
@@ -121,8 +121,8 @@ function taxonomy_save_vocabulary($edit) {
function taxonomy_del_vocabulary($vid) {
$vocabulary = taxonomy_get_vocabulary($vid);
- db_query("DELETE FROM vocabulary WHERE vid = %d", $vid);
- $result = db_query("SELECT tid FROM term_data WHERE vid = %d", $vid);
+ db_query("DELETE FROM {vocabulary} WHERE vid = %d", $vid);
+ $result = db_query("SELECT tid FROM {term_data} WHERE vid = %d", $vid);
while ($term = db_fetch_object($result)) {
taxonomy_del_term($term->tid);
}
@@ -192,7 +192,7 @@ function taxonomy_save_term($edit) {
if ($edit["tid"] && $edit["name"]) {
$data = array("name" => $edit["name"], "description" => $edit["description"], "weight" => $edit["weight"]);
- db_query("UPDATE term_data SET ". _prepare_update($data) ." WHERE tid = %d", $edit["tid"]);
+ db_query("UPDATE {term_data} SET ". _prepare_update($data) ." WHERE tid = %d", $edit["tid"]);
module_invoke_all("taxonomy", "update", "term", $edit);
$message = t("the term '%a' has been updated.", array("%a" => $edit["name"]));
}
@@ -202,40 +202,40 @@ function taxonomy_save_term($edit) {
else {
$edit["tid"] = db_next_id("term_data_tid");
$data = array("tid" => $edit["tid"], "name" => $edit["name"], "description" => $edit["description"], "vid" => $edit["vid"], "weight" => $edit["weight"]);
- db_query("INSERT INTO term_data ". _prepare_insert($data, 1) ." VALUES ". _prepare_insert($data, 2));
+ db_query("INSERT INTO {term_data} ". _prepare_insert($data, 1) ." VALUES ". _prepare_insert($data, 2));
module_invoke_all("taxonomy", "insert", "term", $edit);
$message = t("created new term '%name'.", array("%name" => $edit["name"]));
}
// relations (seem very powerful, but I have to understand it completely)
- db_query("DELETE FROM term_relation WHERE tid1 = %d OR tid2 = %d", $edit["tid"], $edit["tid"]);
+ db_query("DELETE FROM {term_relation} WHERE tid1 = %d OR tid2 = %d", $edit["tid"], $edit["tid"]);
if ($edit["relations"]) {
foreach ($edit["relations"] as $related_id) {
if ($related_id != 0) {
- db_query("INSERT INTO term_relation (tid1, tid2) VALUES (%d, %d)", $edit["tid"], $related_id);
+ db_query("INSERT INTO {term_relation} (tid1, tid2) VALUES (%d, %d)", $edit["tid"], $related_id);
}
}
}
// hierarchy
- db_query("DELETE FROM term_hierarchy WHERE tid = %d", $edit["tid"]);
+ db_query("DELETE FROM {term_hierarchy} WHERE tid = %d", $edit["tid"]);
if (!isset($edit["parent"])) {
$edit["parent"] = 0;
}
if (is_array($edit["parent"])) {
foreach ($edit["parent"] as $parent) {
- db_query("INSERT INTO term_hierarchy (tid, parent) VALUES (%d, %d)", $edit["tid"], $parent);
+ db_query("INSERT INTO {term_hierarchy} (tid, parent) VALUES (%d, %d)", $edit["tid"], $parent);
}
}
else {
- db_query("INSERT INTO term_hierarchy (tid, parent) VALUES (%d, %d)", $edit["tid"], $edit["parent"][0]);
+ db_query("INSERT INTO {term_hierarchy} (tid, parent) VALUES (%d, %d)", $edit["tid"], $edit["parent"][0]);
}
- db_query("DELETE FROM term_synonym WHERE tid = %d", $edit["tid"]);
+ db_query("DELETE FROM {term_synonym} WHERE tid = %d", $edit["tid"]);
if ($edit["synonyms"]) {
foreach (explode ("\n", str_replace("\r", "", $edit["synonyms"])) as $synonym) {
if ($synonym) {
- db_query("INSERT INTO term_synonym (tid, name) VALUES (%d, '%s')", $edit["tid"], chop($synonym));
+ db_query("INSERT INTO {term_synonym} (tid, name) VALUES (%d, '%s')", $edit["tid"], chop($synonym));
}
}
}
@@ -248,11 +248,11 @@ function taxonomy_save_term($edit) {
function taxonomy_del_term($tid) {
$term = taxonomy_get_term($tid);
- db_query("DELETE FROM term_data WHERE tid = %d", $tid);
- db_query("DELETE FROM term_hierarchy WHERE tid = %d", $tid);
- db_query("DELETE FROM term_relation WHERE tid1 = %d OR tid2 = %d", $tid, $tid);
- db_query("DELETE FROM term_synonym WHERE tid = %d", $tid);
- db_query("DELETE FROM term_node WHERE tid = %d", $tid);
+ db_query("DELETE FROM {term_data} WHERE tid = %d", $tid);
+ db_query("DELETE FROM {term_hierarchy} WHERE tid = %d", $tid);
+ db_query("DELETE FROM {term_relation} WHERE tid1 = %d OR tid2 = %d", $tid, $tid);
+ db_query("DELETE FROM {term_synonym} WHERE tid = %d", $tid);
+ db_query("DELETE FROM {term_node} WHERE tid = %d", $tid);
module_invoke_all("taxonomy", "delete", "term", $term);
@@ -327,10 +327,10 @@ function taxonomy_form($vocabulary_id, $value = 0) {
// return array of vocabularies, as objects
function taxonomy_get_vocabularies($type = '', $key = "vid") {
if ($type) {
- $result = db_query("SELECT * FROM vocabulary WHERE nodes LIKE '%%%s%%' ORDER BY weight, name", $type);
+ $result = db_query("SELECT * FROM {vocabulary} WHERE nodes LIKE '%%%s%%' ORDER BY weight, name", $type);
}
else {
- $result = db_query("SELECT * FROM vocabulary ORDER BY weight, name");
+ $result = db_query("SELECT * FROM {vocabulary} ORDER BY weight, name");
}
$vocabularies = array();
while ($voc = db_fetch_object($result)) {
@@ -354,7 +354,7 @@ function taxonomy_node_form($type, $node = '') {
$terms = $node->taxonomy;
}
- $c = db_query("SELECT * FROM vocabulary WHERE nodes LIKE '%%%s%%' ORDER BY weight, name", $type);
+ $c = db_query("SELECT * FROM {vocabulary} WHERE nodes LIKE '%%%s%%' ORDER BY weight, name", $type);
while ($vocabulary = db_fetch_object($c)) {
$result[] .= taxonomy_form($vocabulary->vid, $terms);
}
@@ -363,14 +363,14 @@ function taxonomy_node_form($type, $node = '') {
// return 1 if node identified by $nid contains a taxonomy term identified by $tid in his body or title
function taxonomy_node_has_term($nid, $tid) {
- $term_name = db_result(db_query("SELECT name FROM term_data WHERE tid = %d", $tid));
+ $term_name = db_result(db_query("SELECT name FROM {term_data} WHERE tid = %d", $tid));
- return db_result(db_query("SELECT COUNT(n.nid) FROM node n WHERE n.nid = %d AND ((n.body LIKE '%%%s%%') OR (n.body LIKE '%%%s%%'))", $nid, $term_name, $term_name));
+ return db_result(db_query("SELECT COUNT(n.nid) FROM {node} n WHERE n.nid = %d AND ((n.body LIKE '%%%s%%') OR (n.body LIKE '%%%s%%'))", $nid, $term_name, $term_name));
}
// return array of terms of a node beloging to a particular vocabulary identified by $vid
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("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);
$terms = array();
while ($term = db_fetch_object($result)) {
$terms[$term->$key] = $term;
@@ -383,7 +383,7 @@ function taxonomy_node_get_terms($nid, $key = "tid") {
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("SELECT t.* FROM {term_data} t, {term_node} r WHERE r.tid = t.tid AND r.nid = %d ORDER BY weight, name", $nid);
$terms[$nid] = array();
while ($term = db_fetch_object($result)) {
$terms[$nid][$term->$key] = $term;
@@ -398,20 +398,20 @@ function taxonomy_node_save($nid, $terms) {
if ($terms) {
foreach ($terms as $term) {
- db_query("INSERT INTO term_node (nid, tid) VALUES (%d, %d)", $nid, $term);
+ db_query("INSERT INTO {term_node} (nid, tid) VALUES (%d, %d)", $nid, $term);
}
}
}
// clean up terms
function taxonomy_node_delete($nid) {
- db_query("DELETE FROM term_node WHERE nid = %d", $nid);
+ db_query("DELETE FROM {term_node} WHERE nid = %d", $nid);
}
// relations: return array of related terms
function taxonomy_get_related($tid, $key = "tid") {
if ($tid) {
- $result = db_query("SELECT t.*, tid1, tid2 FROM term_relation, term_data t WHERE (t.tid = tid1 OR t.tid = tid2) AND (tid1 = %d OR tid2 = %d) AND t.tid != %d ORDER BY weight, name", $tid, $tid, $tid);
+ $result = db_query("SELECT t.*, tid1, tid2 FROM {term_relation} , {term_data} t WHERE (t.tid = tid1 OR t.tid = tid2) AND (tid1 = %d OR tid2 = %d) AND t.tid != %d ORDER BY weight, name", $tid, $tid, $tid);
$related = array();
while ($term = db_fetch_object($result)) {
$related[$term->$key] = $term;
@@ -426,7 +426,7 @@ function taxonomy_get_related($tid, $key = "tid") {
// hierarchy: get parent terms
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("SELECT t.* FROM {term_hierarchy} h, {term_data} t WHERE h.parent = t.tid AND h.tid = %d ORDER BY weight, name", $tid);
$parents = array();
while ($parent = db_fetch_object($result)) {
$parents[$parent->$key] = $parent;
@@ -441,10 +441,10 @@ function taxonomy_get_parents($tid, $key = "tid") {
// hierarchy: get children
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("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);
}
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("SELECT t.* FROM {term_hierarchy} h, {term_data} t WHERE h.tid = t.tid AND parent = %d ORDER BY weight", $tid);
}
$children = array();
while ($term = db_fetch_object($result)) {
@@ -463,7 +463,7 @@ function taxonomy_get_tree($vocabulary_id, $parent = 0, $depth = -1, $key = "tid
if (!isset($children[$vocabulary_id])) {
$children[$vocabulary_id] = 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", $vocabulary_id);
+ $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", $vocabulary_id);
while ($term = db_fetch_object($result)) {
$children[$vocabulary_id][$term->parent][] = $term->tid;
$parents[$vocabulary_id][$term->tid][] = $term->parent;
@@ -488,7 +488,7 @@ function taxonomy_get_tree($vocabulary_id, $parent = 0, $depth = -1, $key = "tid
// synonyms: return array of synonyms
function taxonomy_get_synonyms($tid) {
if ($tid) {
- $result = db_query("SELECT name FROM term_synonym WHERE tid = %d", $tid);
+ $result = db_query("SELECT name FROM {term_synonym} WHERE tid = %d", $tid);
while ($synonym = db_fetch_array($result)) {
$synonyms[] = $synonym["name"];
}
@@ -501,7 +501,7 @@ function taxonomy_get_synonyms($tid) {
// synonyms: return original term
function taxonomy_get_synonym_root($term) {
- return db_fetch_object(db_query("SELECT * FROM term_synonym s, term_data t WHERE t.tid = s.tid AND s.name = '%s'", $term));
+ return db_fetch_object(db_query("SELECT * FROM {term_synonym} s, {term_data} t WHERE t.tid = s.tid AND s.name = '%s'", $term));
}
// given a term id, count number of published nodes in it
@@ -511,10 +511,10 @@ 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 LEFT 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);
+ $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);
}
while ($term = db_fetch_object($result)) {
$count[$type][$term->tid] = $term->c;
@@ -532,7 +532,7 @@ function _taxonomy_term_children($tid) {
static $children;
if (!isset($children)) {
- $result = db_query("SELECT tid, parent FROM term_hierarchy");
+ $result = db_query("SELECT tid, parent FROM {term_hierarchy} ");
while ($term = db_fetch_object($result)) {
$children[$term->parent][] = $term->tid;
}
@@ -550,7 +550,7 @@ function _taxonomy_term_children($tid) {
*/
function taxonomy_get_vocabulary_by_name($name) {
// LOWER is ANSI SQL-92
- $db_result = db_query("SELECT * FROM vocabulary WHERE LOWER('%s') LIKE LOWER(name)", trim($name));
+ $db_result = db_query("SELECT * FROM {vocabulary} WHERE LOWER('%s') LIKE LOWER(name)", trim($name));
$result = array();
while ($vocabulary = db_fetch_object($db_result)) {
$result[] = $vocabulary;
@@ -569,7 +569,7 @@ function taxonomy_get_vocabulary_by_name($name) {
*/
function taxonomy_get_term_by_name($name) {
// LOWER is ANSI SQL-92
- $db_result = db_query("SELECT * FROM term_data WHERE LOWER('%s') LIKE LOWER(name)", trim($name));
+ $db_result = db_query("SELECT * FROM {term_data} WHERE LOWER('%s') LIKE LOWER(name)", trim($name));
$result = array();
while ($term = db_fetch_object($db_result)) {
$result[] = $term;
@@ -580,12 +580,12 @@ function taxonomy_get_term_by_name($name) {
function taxonomy_get_vocabulary($vid) {
// simple cache using a static var?
- return db_fetch_object(db_query("SELECT * FROM vocabulary WHERE vid = %d", $vid));
+ return db_fetch_object(db_query("SELECT * FROM {vocabulary} WHERE vid = %d", $vid));
}
function taxonomy_get_term($tid) {
// simple cache using a static var?
- return db_fetch_object(db_query("SELECT * FROM term_data WHERE tid = %d", $tid));
+ return db_fetch_object(db_query("SELECT * FROM {term_data} WHERE tid = %d", $tid));
}
/*
@@ -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 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'";
}
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 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";
// 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 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)));
$sql_count = "SELECT $count";
}