MDL-57614 core: Fetch blocks through a webservice in add block modal
This commit is contained in:
@@ -4065,8 +4065,7 @@ class flat_navigation extends navigation_node_collection {
|
||||
// Add-a-block in editing mode.
|
||||
if (isset($this->page->theme->addblockposition) &&
|
||||
$this->page->theme->addblockposition == BLOCK_ADDBLOCK_POSITION_FLATNAV &&
|
||||
$PAGE->user_is_editing() && $PAGE->user_can_edit_blocks() &&
|
||||
($addable = $PAGE->blocks->get_addable_blocks())) {
|
||||
$PAGE->user_is_editing() && $PAGE->user_can_edit_blocks()) {
|
||||
$url = new moodle_url($PAGE->url, ['bui_addblock' => '', 'sesskey' => sesskey()]);
|
||||
$addablock = navigation_node::create(get_string('addblock'), $url);
|
||||
$flat = new flat_navigation_node($addablock, 0);
|
||||
@@ -4074,12 +4073,11 @@ class flat_navigation extends navigation_node_collection {
|
||||
$flat->key = 'addblock';
|
||||
$flat->icon = new pix_icon('i/addblock', '');
|
||||
$this->add($flat);
|
||||
$blocks = [];
|
||||
foreach ($addable as $block) {
|
||||
$blocks[] = $block->name;
|
||||
}
|
||||
$params = array('blocks' => $blocks, 'url' => '?' . $url->get_query_string(false));
|
||||
$PAGE->requires->js_call_amd('core/addblockmodal', 'init', array($params));
|
||||
|
||||
$addblockurl = "?{$url->get_query_string(false)}";
|
||||
|
||||
$PAGE->requires->js_call_amd('core/addblockmodal', 'init',
|
||||
[$PAGE->pagetype, $PAGE->pagelayout, $addblockurl]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user