|
Moodle
2.2.1
http://www.collinsharper.com
|
00001 <?php 00002 00003 require_once('../config.php'); 00004 require_once($CFG->libdir.'/adminlib.php'); 00005 00006 $section = required_param('section', PARAM_SAFEDIR); 00007 $return = optional_param('return','', PARAM_ALPHA); 00008 $adminediting = optional_param('adminedit', -1, PARAM_BOOL); 00009 00011 require_login(0, false); 00012 $PAGE->set_context(get_context_instance(CONTEXT_SYSTEM)); 00013 $PAGE->set_url('/admin/settings.php', array('section' => $section)); 00014 $PAGE->set_pagetype('admin-setting-' . $section); 00015 $PAGE->set_pagelayout('admin'); 00016 $PAGE->navigation->clear_cache(); 00017 00018 $adminroot = admin_get_root(); // need all settings 00019 $settingspage = $adminroot->locate($section, true); 00020 00021 if (empty($settingspage) or !($settingspage instanceof admin_settingpage)) { 00022 print_error('sectionerror', 'admin', "$CFG->wwwroot/$CFG->admin/"); 00023 die; 00024 } 00025 00026 if (!($settingspage->check_access())) { 00027 print_error('accessdenied', 'admin'); 00028 die; 00029 } 00030 00032 00033 $statusmsg = ''; 00034 $errormsg = ''; 00035 $focus = ''; 00036 00037 if ($data = data_submitted() and confirm_sesskey()) { 00038 if (admin_write_settings($data)) { 00039 $statusmsg = get_string('changessaved'); 00040 } 00041 00042 if (empty($adminroot->errors)) { 00043 switch ($return) { 00044 case 'site': redirect("$CFG->wwwroot/"); 00045 case 'admin': redirect("$CFG->wwwroot/$CFG->admin/"); 00046 } 00047 } else { 00048 $errormsg = get_string('errorwithsettings', 'admin'); 00049 $firsterror = reset($adminroot->errors); 00050 $focus = $firsterror->id; 00051 } 00052 $adminroot = admin_get_root(true); //reload tree 00053 $settingspage = $adminroot->locate($section, true); 00054 } 00055 00056 if ($PAGE->user_allowed_editing() && $adminediting != -1) { 00057 $USER->editing = $adminediting; 00058 } 00059 00061 if (empty($SITE->fullname)) { 00062 $PAGE->set_title($settingspage->visiblename); 00063 $PAGE->set_heading($settingspage->visiblename); 00064 00065 echo $OUTPUT->header(); 00066 echo $OUTPUT->box(get_string('configintrosite', 'admin')); 00067 00068 if ($errormsg !== '') { 00069 echo $OUTPUT->notification($errormsg); 00070 00071 } else if ($statusmsg !== '') { 00072 echo $OUTPUT->notification($statusmsg, 'notifysuccess'); 00073 } 00074 00075 // --------------------------------------------------------------------------------------------------------------- 00076 00077 echo '<form action="settings.php" method="post" id="adminsettings">'; 00078 echo '<div class="settingsform clearfix">'; 00079 echo html_writer::input_hidden_params($PAGE->url); 00080 echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />'; 00081 echo '<input type="hidden" name="return" value="'.$return.'" />'; 00082 00083 echo $settingspage->output_html(); 00084 00085 echo '<div class="form-buttons"><input class="form-submit" type="submit" value="'.get_string('savechanges','admin').'" /></div>'; 00086 00087 echo '</div>'; 00088 echo '</form>'; 00089 00090 } else { 00091 if ($PAGE->user_allowed_editing()) { 00092 $url = clone($PAGE->url); 00093 if ($PAGE->user_is_editing()) { 00094 $caption = get_string('blockseditoff'); 00095 $url->param('adminedit', 'off'); 00096 } else { 00097 $caption = get_string('blocksediton'); 00098 $url->param('adminedit', 'on'); 00099 } 00100 $buttons = $OUTPUT->single_button($url, $caption, 'get'); 00101 $PAGE->set_button($buttons); 00102 } 00103 00104 $visiblepathtosection = array_reverse($settingspage->visiblepath); 00105 00106 $PAGE->set_title("$SITE->shortname: " . implode(": ",$visiblepathtosection)); 00107 $PAGE->set_heading($SITE->fullname); 00108 echo $OUTPUT->header(); 00109 00110 if ($errormsg !== '') { 00111 echo $OUTPUT->notification($errormsg); 00112 00113 } else if ($statusmsg !== '') { 00114 echo $OUTPUT->notification($statusmsg, 'notifysuccess'); 00115 } 00116 00117 // --------------------------------------------------------------------------------------------------------------- 00118 00119 echo '<form action="settings.php" method="post" id="adminsettings">'; 00120 echo '<div class="settingsform clearfix">'; 00121 echo html_writer::input_hidden_params($PAGE->url); 00122 echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />'; 00123 echo '<input type="hidden" name="return" value="'.$return.'" />'; 00124 echo $OUTPUT->heading($settingspage->visiblename); 00125 00126 echo $settingspage->output_html(); 00127 00128 if ($settingspage->show_save()) { 00129 echo '<div class="form-buttons"><input class="form-submit" type="submit" value="'.get_string('savechanges','admin').'" /></div>'; 00130 } 00131 00132 echo '</div>'; 00133 echo '</form>'; 00134 } 00135 00136 echo $OUTPUT->footer(); 00137 00138