[ Index ] |
PHP Cross Reference of moodle-2.8 |
[Summary view] [Print] [Text view]
1 <?php 2 3 // detects settings that were added during an upgrade, displays a screen for the admin to 4 // modify them, and then processes modifications 5 6 require_once('../config.php'); 7 require_once($CFG->libdir.'/adminlib.php'); 8 9 $return = optional_param('return', '', PARAM_ALPHA); 10 11 /// no guest autologin 12 require_login(0, false); 13 if (isguestuser()) { 14 // Login as real user! 15 $SESSION->wantsurl = (string)new moodle_url('/admin/upgradesettings.php', array('return'=>$return)); 16 redirect(get_login_url()); 17 } 18 19 admin_externalpage_setup('upgradesettings'); // now hidden page 20 $PAGE->set_pagelayout('maintenance'); // do not print any blocks or other rubbish, we want to force saving 21 $PAGE->blocks->show_only_fake_blocks(); 22 $adminroot = admin_get_root(); // need all settings 23 24 // now we'll deal with the case that the admin has submitted the form with new settings 25 if ($data = data_submitted() and confirm_sesskey()) { 26 $count = admin_write_settings($data); 27 $adminroot = admin_get_root(true); //reload tree 28 } 29 30 $newsettings = admin_output_new_settings_by_page($adminroot); 31 if (isset($newsettings['frontpagesettings'])) { 32 $frontpage = $newsettings['frontpagesettings']; 33 unset($newsettings['frontpagesettings']); 34 array_unshift($newsettings, $frontpage); 35 } 36 $newsettingshtml = implode($newsettings); 37 unset($newsettings); 38 39 $focus = ''; 40 41 if (empty($adminroot->errors) and $newsettingshtml === '') { 42 // there must be either redirect without message or continue button or else upgrade would be sometimes broken 43 if ($return == 'site') { 44 redirect("$CFG->wwwroot/"); 45 } else { 46 redirect("$CFG->wwwroot/$CFG->admin/index.php"); 47 } 48 } 49 50 if (!empty($adminroot->errors)) { 51 $firsterror = reset($adminroot->errors); 52 $focus = $firsterror->id; 53 } 54 55 // and finally, if we get here, then there are new settings and we have to print a form 56 // to modify them 57 echo $OUTPUT->header($focus); 58 59 if (!empty($SITE->fullname) and !empty($SITE->shortname)) { 60 echo $OUTPUT->box(get_string('upgradesettingsintro','admin'), 'generalbox'); 61 } 62 63 echo '<form action="upgradesettings.php" method="post" id="adminsettings">'; 64 echo '<div>'; 65 echo '<input type="hidden" name="sesskey" value="'.sesskey().'" />'; 66 echo '<input type="hidden" name="return" value="'.$return.'" />'; 67 echo '<fieldset>'; 68 echo '<div class="clearer"><!-- --></div>'; 69 echo $newsettingshtml; 70 echo '</fieldset>'; 71 echo '<div class="form-buttons"><input class="form-submit" type="submit" value="'.get_string('savechanges','admin').'" /></div>'; 72 echo '</div>'; 73 echo '</form>'; 74 75 echo $OUTPUT->footer(); 76 77
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:29:05 2014 | Cross-referenced by PHPXref 0.7.1 |