summaryrefslogtreecommitdiff
path: root/includes/module.inc
diff options
context:
space:
mode:
Diffstat (limited to 'includes/module.inc')
-rw-r--r--includes/module.inc10
1 files changed, 6 insertions, 4 deletions
diff --git a/includes/module.inc b/includes/module.inc
index 4b6959c34..479dcde3f 100644
--- a/includes/module.inc
+++ b/includes/module.inc
@@ -53,19 +53,21 @@ function module_hook($name, $hook) {
// rehash module-exported blocks:
function module_rehash_blocks($name) {
db_query("UPDATE blocks SET remove = '1' WHERE module = '$name'");
+
if ($blocks = module_invoke($name, "block")) {
- foreach ($blocks as $offset=>$block) {
- foreach ($block as $item=>$data) {
+ foreach ($blocks as $delta => $block) {
+ foreach ($block as $item => $data) {
$block[$item] = addslashes($data);
}
if (!db_fetch_object(db_query("SELECT * FROM blocks WHERE module = '$name' AND name = '$block[info]'"))) {
- db_query("INSERT INTO blocks (name, module, delta) VALUES ('$block[info]', '$name', '$offset')");
+ db_query("INSERT INTO blocks (name, module, delta) VALUES ('$block[info]', '$name', '$delta')");
}
else {
- db_query("UPDATE blocks SET delta = '$offset', remove = '0' WHERE module = '$name' AND name = '$block[info]'");
+ db_query("UPDATE blocks SET delta = '$delta', remove = '0' WHERE module = '$name' AND name = '$block[info]'");
}
}
}
+
db_query("DELETE FROM blocks WHERE module = '$name' AND remove = '1'");
}