diff options
author | Dries Buytaert <dries@buytaert.net> | 2001-02-04 22:09:38 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2001-02-04 22:09:38 +0000 |
commit | de2e393933bb7163148c5010a7c14be9004117bf (patch) | |
tree | fa1e6a2984bb5de5ed5f22c599397faca979b34c /includes/module.inc | |
parent | b1d395d52d160c203edff69c323c031f833a8219 (diff) | |
download | brdo-de2e393933bb7163148c5010a7c14be9004117bf.tar.gz brdo-de2e393933bb7163148c5010a7c14be9004117bf.tar.bz2 |
- various updates, bugfixes and improvements
Diffstat (limited to 'includes/module.inc')
-rw-r--r-- | includes/module.inc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/includes/module.inc b/includes/module.inc index 6c11a358d..c339ee8f7 100644 --- a/includes/module.inc +++ b/includes/module.inc @@ -24,12 +24,18 @@ function module_rehash_crons($name, $module) { } function module_rehash_blocks($name, $module) { - db_query("DELETE FROM blocks WHERE module = '$name'"); + db_query("UPDATE blocks SET remove = '1' WHERE module = '$name'"); if ($module["block"] && $blocks = $module["block"]()) { foreach ($blocks as $offset=>$block) { - db_query("INSERT INTO blocks (name, module, offset) VALUES ('". check_input($block["info"]) ."', '". check_input($name) ."', '". check_input($offset) ."')"); + if (!db_fetch_object(db_query("SELECT * FROM blocks WHERE module = '$name' AND name = '". check_input($block["info"]) ."'"))) { + db_query("INSERT INTO blocks (name, module, offset) VALUES ('". check_input($block["info"]) ."', '". check_input($name) ."', '". check_input($offset) ."')"); + } + else { + db_query("UPDATE blocks SET offset = '". check_input($offset) ."', remove = '0' WHERE module = '$name' AND name = '". check_input($block["info"]) ."'"); + } } } + db_query("DELETE FROM blocks WHERE module = '$name' AND remove = '1'"); } function module_rehash($name) { |