summaryrefslogtreecommitdiff
path: root/modules/block.module
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2001-05-05 13:57:29 +0000
committerDries Buytaert <dries@buytaert.net>2001-05-05 13:57:29 +0000
commitbe8e898d23a3f9ca515f59fbcc8d82e112ed7ee8 (patch)
treecf0d05f6b767f36e7feb09a3bc59cbc9a01e459b /modules/block.module
parent16818777616eadeb8a4670324e099b95c8d53e3b (diff)
downloadbrdo-be8e898d23a3f9ca515f59fbcc8d82e112ed7ee8.tar.gz
brdo-be8e898d23a3f9ca515f59fbcc8d82e112ed7ee8.tar.bz2
- Uhm. Rewrote the module system: less code clutter, less run-time
overhead, and a lot better (simpler) module API. I had to edit a LOT of files to get this refactored but I'm sure it was worth the effort. For module writers / maintainers: None of the hooks changed, so 95% of the old modules should still work. You can remove some code instead as "$module = array(...)" just became obsolete. Also - and let's thank God for this - the global variable "$repository" has been eliminated to avoid modules relying on, and poking in drupal's internal data structures. Take a look at include/module.inc to investigate the details/changes. - Improved design of the content modules "story", "book" and "node" (to aid smooth integration of permisions + moderate.module). I'm still working on the permissions but I got side tracked for which I "Oops!".
Diffstat (limited to 'modules/block.module')
-rw-r--r--modules/block.module10
1 files changed, 2 insertions, 8 deletions
diff --git a/modules/block.module b/modules/block.module
index c2b53240b..b37c8fb89 100644
--- a/modules/block.module
+++ b/modules/block.module
@@ -1,9 +1,5 @@
<?php
-$module = array("page" => "block_page",
- "help" => "block_help",
- "admin" => "block_admin");
-
function block_help() {
?>
<P>Blocks are the boxes visible in the side bars on the left- and right-hand side of the website. They are either exported by the engine or by any of the active modules. To really get your teeth into a drupal website, you are going to have to deal with blocks and administering blocks in a fairly sophisticated fashion. This means you will need to understand how the block placement strategy works.</P>
@@ -23,7 +19,7 @@ function block_page() {
while ($block = db_fetch_object($result)) {
if ($state % 3 == 0) print " <TR>\n";
print " <TD ALIGN=\"center\" VALIGN=\"top\" WIDTH=\"33%\">\n";
- $blocks = module_execute($block->module, "block");
+ $blocks = module_invoke($block->module, "block");
$theme->box($blocks[$block->offset]["subject"], $blocks[$block->offset]["content"]);
print " </TD>\n";
if ($state % 3 == 2) print " </TR>\n";
@@ -40,8 +36,6 @@ function block_admin_save($edit) {
}
function block_admin_display() {
- global $repository;
-
$result = db_query("SELECT * FROM blocks ORDER BY module");
// Generate output:
@@ -50,7 +44,7 @@ function block_admin_display() {
$output .= " <TR><TH>block</TH><TH>module</TH><TH>status</TH><TH>weight</TH><TH>region</TH></TR>\n";
while ($block = db_fetch_object($result)) {
- $module = ($repository[$block->module]["admin"]) ? "<A HREF=\"admin.php?mod=$block->module\">$block->module</A>" : $block->module;
+ $module = module_hook($block->module, "admin") ? "<A HREF=\"admin.php?mod=$block->module\">$block->module</A>" : $block->module;
$status .= "<SELECT NAME=\"edit[$block->name][status]\">\n";
$status .= " <OPTION VALUE=\"2\"". (($block->status == 2) ? " SELECTED" : "") .">enabled: always</OPTION>\n";