MDL-31853 Fix pagelayout problem with admin_externalpage_setup
authorDavo Smith <git@davosmith.co.uk>
Fri, 2 Mar 2012 16:12:45 +0000 (16:12 +0000)
committerDavo Smith <git@davosmith.co.uk>
Fri, 2 Mar 2012 16:12:45 +0000 (16:12 +0000)
lib/adminlib.php

index 4025f91..e2f6789 100644 (file)
@@ -5811,6 +5811,15 @@ function admin_externalpage_setup($section, $extrabutton = '', array $extraurlpa
     $site = get_site();
     require_login();
 
+    if (!empty($options['pagelayout'])) {
+        // A specific page layout has been requested.
+        $PAGE->set_pagelayout($options['pagelayout']);
+    } else if ($section === 'upgradesettings') {
+        $PAGE->set_pagelayout('maintenance');
+    } else {
+        $PAGE->set_pagelayout('admin');
+    }
+
     $adminroot = admin_get_root(false, false); // settings not required for external pages
     $extpage = $adminroot->locate($section, true);
 
@@ -5825,15 +5834,6 @@ function admin_externalpage_setup($section, $extrabutton = '', array $extraurlpa
         die;
     }
 
-    if (!empty($options['pagelayout'])) {
-        // A specific page layout has been requested.
-        $PAGE->set_pagelayout($options['pagelayout']);
-    } else if ($section === 'upgradesettings') {
-        $PAGE->set_pagelayout('maintenance');
-    } else {
-        $PAGE->set_pagelayout('admin');
-    }
-
     // $PAGE->set_extra_button($extrabutton); TODO
 
     if (!$actualurl) {