From e56c107da8ff705b4425fa30f20bb991aca6aac4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20S=CC=8Ckoda?= Date: Fri, 11 Oct 2013 09:50:03 +0200 Subject: [PATCH] MDL-41811 tweak custom admin pages to force loading of admin tree --- admin/tool/customlang/edit.php | 10 +++++----- badges/action.php | 4 +++- badges/award.php | 4 +++- badges/criteria.php | 4 +++- badges/criteria_action.php | 4 +++- badges/criteria_settings.php | 4 +++- badges/edit.php | 4 +++- badges/overview.php | 4 +++- badges/recipients.php | 4 +++- course/delete.php | 2 +- course/editcategory.php | 2 +- 11 files changed, 31 insertions(+), 15 deletions(-) diff --git a/admin/tool/customlang/edit.php b/admin/tool/customlang/edit.php index 6aaec2fe73f..71c54fe26ce 100644 --- a/admin/tool/customlang/edit.php +++ b/admin/tool/customlang/edit.php @@ -24,6 +24,7 @@ require(dirname(dirname(dirname(dirname(__FILE__)))) . '/config.php'); require_once($CFG->dirroot.'/'.$CFG->admin.'/tool/customlang/locallib.php'); require_once($CFG->dirroot.'/'.$CFG->admin.'/tool/customlang/filter_form.php'); +require_once($CFG->libdir.'/adminlib.php'); require_login(SITEID, false); require_capability('tool/customlang:edit', context_system::instance()); @@ -32,11 +33,10 @@ $lng = required_param('lng', PARAM_LANG); $currentpage = optional_param('p', 0, PARAM_INT); $translatorsubmitted = optional_param('translatorsubmitted', 0, PARAM_BOOL); -$PAGE->set_pagelayout('report'); // Allows for wide page contents. -$PAGE->set_url('/admin/tool/customlang/edit.php', array('lng' => $lng)); -navigation_node::override_active_url(new moodle_url('/admin/tool/customlang/index.php')); -$PAGE->set_title(get_string('pluginname', 'tool_customlang')); -$PAGE->set_heading(get_string('pluginname', 'tool_customlang')); +admin_externalpage_setup('toolcustomlang', '', null, + new moodle_url('/admin/tool/customlang/edit.php', array('lng' => $lng)), + array('pagelayout' => 'report')); // Hack: allows for wide page contents. + $PAGE->requires->js_init_call('M.tool_customlang.init_editor', array(), true); if (empty($lng)) { diff --git a/badges/action.php b/badges/action.php index 66c2b3b8afe..08f69d7fbc2 100644 --- a/badges/action.php +++ b/badges/action.php @@ -44,11 +44,13 @@ $navurl = new moodle_url('/badges/index.php', array('type' => $badge->type)); if ($badge->type == BADGE_TYPE_COURSE) { require_login($badge->courseid); $navurl = new moodle_url('/badges/index.php', array('type' => $badge->type, 'id' => $badge->courseid)); + $PAGE->set_pagelayout('standard'); +} else { + $PAGE->set_pagelayout('admin'); } $PAGE->set_context($context); $PAGE->set_url('/badges/action.php', array('id' => $badge->id)); -$PAGE->set_pagelayout('standard'); navigation_node::override_active_url($navurl); if ($return !== 0) { diff --git a/badges/award.php b/badges/award.php index 834af0ce645..0b7afe348e0 100644 --- a/badges/award.php +++ b/badges/award.php @@ -50,6 +50,9 @@ if ($badge->type == BADGE_TYPE_COURSE) { } require_login($badge->courseid); $navurl = new moodle_url('/badges/index.php', array('type' => $badge->type, 'id' => $badge->courseid)); + $PAGE->set_pagelayout('standard'); +} else { + $PAGE->set_pagelayout('admin'); } require_capability('moodle/badges:awardbadge', $context); @@ -64,7 +67,6 @@ navigation_node::override_active_url($navurl); $PAGE->navbar->add($badge->name, new moodle_url('overview.php', array('id' => $badge->id)))->add($strrecipients); $PAGE->set_title($strrecipients); $PAGE->set_heading($badge->name); -$PAGE->set_pagelayout('standard'); if (!$badge->is_active()) { echo $OUTPUT->header(); diff --git a/badges/criteria.php b/badges/criteria.php index 20848d294c2..6d20314c65f 100644 --- a/badges/criteria.php +++ b/badges/criteria.php @@ -48,13 +48,15 @@ if ($badge->type == BADGE_TYPE_COURSE) { } require_login($badge->courseid); $navurl = new moodle_url('/badges/index.php', array('type' => $badge->type, 'id' => $badge->courseid)); + $PAGE->set_pagelayout('standard'); +} else { + $PAGE->set_pagelayout('admin'); } $currenturl = new moodle_url('/badges/criteria.php', array('id' => $badge->id)); $PAGE->set_context($context); $PAGE->set_url($currenturl); -$PAGE->set_pagelayout('standard'); $PAGE->set_heading($badge->name); $PAGE->set_title($badge->name); diff --git a/badges/criteria_action.php b/badges/criteria_action.php index 51b3e89780e..e690296acae 100644 --- a/badges/criteria_action.php +++ b/badges/criteria_action.php @@ -48,11 +48,13 @@ if ($badge->is_active() || $badge->is_locked()) { if ($badge->type == BADGE_TYPE_COURSE) { require_login($badge->courseid); $navurl = new moodle_url('/badges/index.php', array('type' => $badge->type, 'id' => $badge->courseid)); + $PAGE->set_pagelayout('standard'); +} else { + $PAGE->set_pagelayout('admin'); } $PAGE->set_context($context); $PAGE->set_url('/badges/criteria_action.php'); -$PAGE->set_pagelayout('standard'); $PAGE->set_heading($badge->name); $PAGE->set_title($badge->name); navigation_node::override_active_url($navurl); diff --git a/badges/criteria_settings.php b/badges/criteria_settings.php index 6f52fa050a6..a939a7268c7 100644 --- a/badges/criteria_settings.php +++ b/badges/criteria_settings.php @@ -58,11 +58,13 @@ if ($badge->is_active() || $badge->is_locked()) { if ($badge->type == BADGE_TYPE_COURSE) { require_login($badge->courseid); $navurl = new moodle_url('/badges/index.php', array('type' => $badge->type, 'id' => $badge->courseid)); + $PAGE->set_pagelayout('standard'); +} else { + $PAGE->set_pagelayout('admin'); } $PAGE->set_context($context); $PAGE->set_url('/badges/criteria_settings.php'); -$PAGE->set_pagelayout('standard'); $PAGE->set_heading($badge->name); $PAGE->set_title($badge->name); navigation_node::override_active_url($navurl); diff --git a/badges/edit.php b/badges/edit.php index b0a478359e9..fc66b66160a 100644 --- a/badges/edit.php +++ b/badges/edit.php @@ -53,13 +53,15 @@ if ($badge->type == BADGE_TYPE_COURSE) { } require_login($badge->courseid); $navurl = new moodle_url('/badges/index.php', array('type' => $badge->type, 'id' => $badge->courseid)); + $PAGE->set_pagelayout('standard'); +} else { + $PAGE->set_pagelayout('admin'); } $currenturl = new moodle_url('/badges/edit.php', array('id' => $badge->id, 'action' => $action)); $PAGE->set_context($context); $PAGE->set_url($currenturl); -$PAGE->set_pagelayout('standard'); $PAGE->set_heading($badge->name); $PAGE->set_title($badge->name); diff --git a/badges/overview.php b/badges/overview.php index e2dec7fccd5..cc3376845e7 100644 --- a/badges/overview.php +++ b/badges/overview.php @@ -46,13 +46,15 @@ if ($badge->type == BADGE_TYPE_COURSE) { } require_login($badge->courseid); $navurl = new moodle_url('/badges/index.php', array('type' => $badge->type, 'id' => $badge->courseid)); + $PAGE->set_pagelayout('standard'); +} else { + $PAGE->set_pagelayout('admin'); } $currenturl = new moodle_url('/badges/overview.php', array('id' => $badge->id)); $PAGE->set_context($context); $PAGE->set_url($currenturl); -$PAGE->set_pagelayout('standard'); $PAGE->set_heading($badge->name); $PAGE->set_title($badge->name); diff --git a/badges/recipients.php b/badges/recipients.php index d05a562f70c..83f83f609da 100644 --- a/badges/recipients.php +++ b/badges/recipients.php @@ -60,11 +60,13 @@ if ($badge->type == BADGE_TYPE_COURSE) { } require_login($badge->courseid); $navurl = new moodle_url('/badges/index.php', array('type' => $badge->type, 'id' => $badge->courseid)); + $PAGE->set_pagelayout('standard'); +} else { + $PAGE->set_pagelayout('admin'); } $PAGE->set_context($context); $PAGE->set_url('/badges/recipients.php', array('id' => $badgeid, 'sort' => $sortby, 'dir' => $sorthow)); -$PAGE->set_pagelayout('standard'); $PAGE->set_heading($badge->name); $PAGE->set_title($badge->name); $PAGE->navbar->add($badge->name); diff --git a/course/delete.php b/course/delete.php index 2f720f50685..4424bec3d7c 100644 --- a/course/delete.php +++ b/course/delete.php @@ -44,7 +44,7 @@ $courseshortname = format_string($course->shortname, true, array('context' => $c $coursefullname = format_string($course->fullname, true, array('context' => $coursecontext)); $categoryurl = new moodle_url('/course/management.php', array('categoryid' => $course->category)); -navigation_node::override_active_url(new moodle_url('/course/management.php')); +navigation_node::override_active_url(new moodle_url('/course/management.php', true)); // Check if we've got confirmation. if ($delete === md5($course->timemodified)) { diff --git a/course/editcategory.php b/course/editcategory.php index f2793a2d3e3..58139c20aaa 100644 --- a/course/editcategory.php +++ b/course/editcategory.php @@ -69,7 +69,7 @@ require_capability('moodle/category:manage', $context); // Page "Add new category" (with "Top" as a parent) does not exist in navigation. // We pretend we are on course management page. if ($id !== 0) { - navigation_node::override_active_url(new moodle_url('/course/management.php')); + navigation_node::override_active_url(new moodle_url('/course/management.php', true)); } $PAGE->set_context($context);