Merge branch 'MDL-49536-master' of git://github.com/ryanwyllie/moodle
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Mon, 31 Aug 2015 18:48:18 +0000 (20:48 +0200)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Mon, 31 Aug 2015 18:48:18 +0000 (20:48 +0200)
theme/clean/classes/core_renderer.php
theme/clean/lib.php

index b3534ad..4b27144 100644 (file)
@@ -38,9 +38,30 @@ class theme_clean_core_renderer extends theme_bootstrapbase_core_renderer {
      * @return string HTML for the header bar.
      */
     public function context_header($headerinfo = null, $headinglevel = 1) {
-        if ($headinglevel == 1 && !empty($this->page->theme->settings->logo)) {
+
+        if ($this->should_render_logo($headinglevel)) {
             return html_writer::tag('div', '', array('class' => 'logo'));
         }
         return parent::context_header($headerinfo, $headinglevel);
     }
+
+    /**
+     * Determines if we should render the logo.
+     *
+     * @param int $headinglevel What level the 'h' tag will be.
+     * @return bool Should the logo be rendered.
+     */
+    protected function should_render_logo($headinglevel = 1) {
+        global $PAGE;
+
+        // Only render the logo if we're on the front page or login page
+        // and the theme has a logo.
+        if ($headinglevel == 1 && !empty($this->page->theme->settings->logo)) {
+            if ($PAGE->pagelayout == 'frontpage' || $PAGE->pagelayout == 'login') {
+                return true;
+            }
+        }
+
+        return false;
+    }
 }
index 9310903..4a46bba 100644 (file)
@@ -139,7 +139,9 @@ function theme_clean_get_html_for_settings(renderer_base $output, moodle_page $p
         $return->navbarclass .= ' navbar-inverse';
     }
 
-    if (!empty($page->theme->settings->logo)) {
+    // Only display the logo on the front page and login page, if one is defined.
+    if (!empty($page->theme->settings->logo) &&
+            ($page->pagelayout == 'frontpage' || $page->pagelayout == 'login')) {
         $return->heading = html_writer::tag('div', '', array('class' => 'logo'));
     } else {
         $return->heading = $output->page_heading();