|
Moodle
2.2.1
http://www.collinsharper.com
|
00001 <?php 00002 00003 require('../../config.php'); 00004 00005 require_once($CFG->libdir.'/adminlib.php'); 00006 require_login(); 00007 $context = get_context_instance(CONTEXT_SYSTEM); 00008 $PAGE->set_context($context); 00009 $adminroot = admin_get_root(false, false); // settings not required - only pages 00010 00011 if ($section = optional_param('section', '', PARAM_SAFEDIR) and confirm_sesskey()) { 00012 00013 if (get_user_preferences('admin_bookmarks')) { 00014 $bookmarks = explode(',', get_user_preferences('admin_bookmarks')); 00015 00016 if (in_array($section, $bookmarks)) { 00017 print_error('bookmarkalreadyexists','admin'); 00018 die; 00019 } 00020 00021 } else { 00022 $bookmarks = array(); 00023 } 00024 00025 $temp = $adminroot->locate($section); 00026 00027 if ($temp instanceof admin_settingpage || $temp instanceof admin_externalpage) { 00028 $bookmarks[] = $section; 00029 $bookmarks = implode(',', $bookmarks); 00030 set_user_preference('admin_bookmarks', $bookmarks); 00031 00032 } else { 00033 print_error('invalidsection','admin'); 00034 die; 00035 } 00036 00037 if ($temp instanceof admin_settingpage) { 00038 redirect($CFG->wwwroot . '/' . $CFG->admin . '/settings.php?section=' . $section); 00039 00040 } elseif ($temp instanceof admin_externalpage) { 00041 redirect($temp->url); 00042 } 00043 00044 } else { 00045 print_error('invalidsection','admin'); 00046 die; 00047 } 00048 00049