From eeb08203dce0131d3988a3707fbbf8563cd4bd30 Mon Sep 17 00:00:00 2001 From: Sam Hemelryk Date: Tue, 24 Sep 2013 10:37:14 +1200 Subject: [PATCH] MDL-39871 output: improved block manipulation inheritance --- lib/outputlib.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/outputlib.php b/lib/outputlib.php index 1db20d0709d..315cb2f17ba 100644 --- a/lib/outputlib.php +++ b/lib/outputlib.php @@ -329,7 +329,7 @@ class theme_config { * This is used when displaying blocks for regions only. * @var array */ - public $blockrtlmanipulations = array(); + public $blockrtlmanipulations = null; /** * @var renderer_factory Instance of the renderer_factory implementation @@ -488,8 +488,15 @@ class theme_config { } // Use parent theme's "blockrtlmanipulations" if it was defined and if it was not defined on current theme. - if (empty($this->blockrtlmanipulations) and !empty($parent_config->blockrtlmanipulations)) { - $this->blockrtlmanipulations = $parent_config->blockrtlmanipulations; + if (!is_array($this->blockrtlmanipulations)) { + $blockrtlmanipulations = array(); + foreach ($this->parent_configs as $parentconfig) { + if (isset($parentconfig->blockrtlmanipulations)) { + $blockrtlmanipulations = $parentconfig->blockrtlmanipulations; + break; + } + } + $this->blockrtlmanipulations = $blockrtlmanipulations; } //fix arrows if needed -- 2.43.0