From e3cdf40ff5d49a60465b4857d97245bec6905519 Mon Sep 17 00:00:00 2001 From: David Mudrak Date: Sat, 3 Dec 2011 14:08:52 +0100 Subject: [PATCH] MDL-30340 Always generate pagetype patterns in the block settings form This is an alternative solution to MDL-27812. If the current block instance has page type set to site-index, we need to provide a way how that page type pattern can be reset back to other value. --- blocks/edit_form.php | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/blocks/edit_form.php b/blocks/edit_form.php index 80b361ea3bf..1e1cf8ca3e8 100644 --- a/blocks/edit_form.php +++ b/blocks/edit_form.php @@ -126,23 +126,19 @@ class block_edit_form extends moodleform { $mform->addElement('select', 'bui_contexts', get_string('contexts', 'block'), $contextoptions); } + // Generate pagetype patterns by callbacks $displaypagetypewarning = false; - if ($this->page->pagetype == 'site-index') { // No need for pagetype list on home page - $pagetypelist = array('*'=>get_string('page-x', 'pagetype')); - } else { - // Generate pagetype patterns by callbacks - $pagetypelist = generate_page_type_patterns($this->page->pagetype, $parentcontext, $this->page->context); - if (!array_key_exists($this->block->instance->pagetypepattern, $pagetypelist)) { - // Pushing block's existing page type pattern - $pagetypestringname = 'page-'.str_replace('*', 'x', $this->block->instance->pagetypepattern); - if (get_string_manager()->string_exists($pagetypestringname, 'pagetype')) { - $pagetypelist[$this->block->instance->pagetypepattern] = get_string($pagetypestringname, 'pagetype'); - } else { - //as a last resort we could put the page type pattern in the select box - //however this causes mod-data-view to be added if the only option available is mod-data-* - // so we are just showing a warning to users about their prev setting being reset - $displaypagetypewarning = true; - } + $pagetypelist = generate_page_type_patterns($this->page->pagetype, $parentcontext, $this->page->context); + if (!array_key_exists($this->block->instance->pagetypepattern, $pagetypelist)) { + // Pushing block's existing page type pattern + $pagetypestringname = 'page-'.str_replace('*', 'x', $this->block->instance->pagetypepattern); + if (get_string_manager()->string_exists($pagetypestringname, 'pagetype')) { + $pagetypelist[$this->block->instance->pagetypepattern] = get_string($pagetypestringname, 'pagetype'); + } else { + //as a last resort we could put the page type pattern in the select box + //however this causes mod-data-view to be added if the only option available is mod-data-* + // so we are just showing a warning to users about their prev setting being reset + $displaypagetypewarning = true; } } -- 2.43.0