diff options
author | Dries Buytaert <dries@buytaert.net> | 2001-05-05 13:57:29 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2001-05-05 13:57:29 +0000 |
commit | be8e898d23a3f9ca515f59fbcc8d82e112ed7ee8 (patch) | |
tree | cf0d05f6b767f36e7feb09a3bc59cbc9a01e459b /modules/block.module | |
parent | 16818777616eadeb8a4670324e099b95c8d53e3b (diff) | |
download | brdo-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.module | 10 |
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"; |