From: defacer Date: Fri, 21 May 2004 11:06:49 +0000 (+0000) Subject: Now we can get a list of the blocks being on display in the course page. X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=0784eb7ef1aab7b1955d64e2f9a5be45334c91e1;p=moodle.git Now we can get a list of the blocks being on display in the course page. Could be used by one block to detect the existence of another, for example. --- diff --git a/course/view.php b/course/view.php index bf2bb97b14..dc85cc7790 100644 --- a/course/view.php +++ b/course/view.php @@ -109,6 +109,9 @@ $missingblocks = array(); $recblocks = get_records('blocks','visible','1'); + // Note down which blocks are going to get displayed + blocks_used($allblocks, $recblocks); + if($editing && $recblocks) { foreach($recblocks as $recblock) { // If it's not hidden or displayed right now... @@ -131,6 +134,11 @@ } } else { $USER->editing = false; + + // Note down which blocks are going to get displayed + $allblocks = array_merge($leftblocks, $rightblocks); + $recblocks = get_records('blocks','visible','1'); + blocks_used($allblocks, $recblocks); } $SESSION->fromdiscussion = "$CFG->wwwroot/course/view.php?id=$course->id"; diff --git a/lib/blocklib.php b/lib/blocklib.php index 87353413a6..aa5396d67d 100644 --- a/lib/blocklib.php +++ b/lib/blocklib.php @@ -889,4 +889,22 @@ function blocks_get_block_ids ($blockinfo) { //Just call this with the appropiate parammeters. return blocks_get_default_blocks(NULL,$blockinfo); } + +// This is used to register the blocks that are displayed in the course page. +// Set in course/view.php, and read from any other place. +function blocks_used($blocks = NULL, $records = NULL) { + static $used = NULL; + + if(!empty($blocks) && !empty($records)) { + $used = array(); + foreach($blocks as $val) { + if($val > 0 && isset($records[$val])) { + $used[] = $records[$val]->name; + } + } + } + + return $used; +} + ?>