$value) db_query("UPDATE category SET $key = '". check_input($value) ."' WHERE cid = '$edit[cid]'"); } function category_del($id) { db_query("DELETE FROM category WHERE cid = '$id'"); } // ----- topic ----- function _topic_get($field, $value) { return db_query("SELECT * FROM topic WHERE $field = '$value'"); } // returns the topic object where $field = $value: function topic_get_object($field, $value) { return db_fetch_object(_topic_get($field, $value)); } // returns the topic array where $field = $value: function topic_get_array($field, $value) { return db_fetch_array(_topic_get($field, $value)); } // save a topic: function topic_save($edit) { if (!$edit[tid]) $edit[tid] = db_insert_id(db_query("INSERT INTO topic (name) VALUES ('". check_input($edit[name])."')")); foreach ($edit as $key=>$value) db_query("UPDATE topic SET $key = '". check_input($value) ."' WHERE tid = '$edit[tid]'"); } // returns a sorted tree-representation of all topics: function topic_tree($parent = 0, $name = "", $tree = array()) { $result = db_query("SELECT * FROM topic WHERE pid = '$parent' ORDER BY name"); while ($topic = db_fetch_object($result)) { $tree[$topic->tid] = ($name ? "$name - $topic->name" : $topic->name); $tree = topic_tree($topic->tid, $tree[$topic->tid], $tree); } return $tree; } // renders a form to select one or more topics: function topic_form_select($type, $topics = array(), $size = 1) { foreach (topic_tree() as $tid=>$name) { $options .= "\n"; } return "". t("Topic") .":

\n"; } function topic_del($id) { db_query("DELETE FROM topic WHERE tid = '$id'"); } ?>