コード例 #1
0
$adminroot = admin_get_root();
// need all settings
$settingspage = $adminroot->locate($section, true);
if (empty($settingspage) or !$settingspage instanceof admin_settingpage) {
    print_error('sectionerror', 'admin', "{$CFG->wwwroot}/{$CFG->admin}/");
    die;
}
if (!$settingspage->check_access()) {
    print_error('accessdenied', 'admin');
    die;
}
/// WRITING SUBMITTED DATA (IF ANY) -------------------------------------------------------------------------------
$statusmsg = '';
$errormsg = '';
if ($data = data_submitted() and confirm_sesskey()) {
    if (admin_write_settings($data)) {
        $statusmsg = get_string('changessaved');
    }
    if (empty($adminroot->errors)) {
        switch ($return) {
            case 'site':
                redirect("{$CFG->wwwroot}/");
            case 'admin':
                redirect("{$CFG->wwwroot}/{$CFG->admin}/");
        }
    } else {
        $errormsg = get_string('errorwithsettings', 'admin');
        $firsterror = reset($adminroot->errors);
    }
    $adminroot = admin_get_root(true);
    //reload tree
コード例 #2
0
 function process_config($config)
 {
     if ($data = data_submitted() and confirm_sesskey()) {
         if (admin_write_settings($data)) {
             $statusmsg = get_string('changessaved');
         }
     }
     return true;
     // set to defaults if undefined
     if (!isset($config->hostname)) {
         $config->hostname = 'http://';
     } else {
         // remove trailing slash
         $config->hostname = rtrim($config->hostname, '/');
     }
     if (!isset($config->endpoint)) {
         $config->endpoint = '';
     } else {
         if (substr($config->endpoint, 0, 1) != '/') {
             //no preceding slash! Add one!
             $config->endpoint = '/' . $config->endpoint;
         }
         // remove trailing slash
         $config->endpoint = rtrim($config->endpoint, '/');
     }
     if (!isset($config->remote_user)) {
         $config->remote_user = '';
     }
     if (!isset($config->remote_pw)) {
         $config->remote_pw = '';
     }
     if (!isset($config->removeuser)) {
         $config->removeuser = AUTH_REMOVEUSER_KEEP;
     }
     if (!isset($config->cohorts)) {
         $config->cohorts = 0;
     }
     if (!isset($config->cohort_view)) {
         $config->cohort_view = '';
     }
     // Lock the idnumber as this is the drupal uid number
     // NOT WORKING!
     $config->field_lock_idnumber = 'locked';
     // save settings
     set_config('hostname', $config->hostname, 'auth_drupalservices');
     set_config('cookiedomain', $config->cookiedomain, 'auth_drupalservices');
     set_config('endpoint', $config->endpoint, 'auth_drupalservices');
     set_config('remote_user', $config->remote_user, 'auth_drupalservices');
     set_config('remote_pw', $config->remote_pw, 'auth_drupalservices');
     set_config('cohorts', $config->cohorts, 'auth_drupalservices');
     set_config('cohort_view', $config->cohort_view, 'auth_drupalservices');
     set_config('removeuser', $config->removeuser, 'auth_drupalservices');
     set_config('field_lock_idnumber', $config->field_lock_idnumber, 'auth_drupalservices');
     return true;
 }
コード例 #3
0
// $Id$
// detects settings that were added during an upgrade, displays a screen for the admin to
// modify them, and then processes modifications
require_once '../config.php';
require_once $CFG->libdir . '/adminlib.php';
$return = optional_param('return', '', PARAM_ALPHA);
/// no guest autologin
require_login(0, false);
$adminroot = admin_get_root();
// need all settings
admin_externalpage_setup('upgradesettings');
// now hidden page
// now we'll deal with the case that the admin has submitted the form with new settings
if ($data = data_submitted() and confirm_sesskey()) {
    $count = admin_write_settings($data);
    $adminroot = admin_get_root(true);
    //reload tree
}
$newsettings = admin_output_new_settings_by_page($adminroot);
if (isset($newsettings['frontpagesettings'])) {
    $frontpage = $newsettings['frontpagesettings'];
    unset($newsettings['frontpagesettings']);
    array_unshift($newsettings, $frontpage);
}
$newsettingshtml = implode($newsettings);
unset($newsettings);
$focus = '';
if (empty($adminroot->errors) and $newsettingshtml === '') {
    // there must be either redirect without message or continue button or else upgrade would be sometimes broken
    if ($return == 'site') {
コード例 #4
0
    $json_output["version"] = $server_files_version;
}
if (isset($_GET['admin'])) {
    //if(is_siteadmin($USER->id)) {
    require_once $CFG->libdir . '/adminlib.php';
    if (isset($_POST['s__lang'])) {
        admin_write_settings((object) array("s__lang" => $_POST['s__lang']));
    } else {
        if (isset($_POST['s__fullname'])) {
            admin_write_settings((object) array("s__fullname" => $_POST['s__fullname']));
        } else {
            if (isset($_POST['s__shortname'])) {
                admin_write_settings((object) array("s__shortname" => $_POST['s__shortname']));
            } else {
                if (isset($_POST['s__summary'])) {
                    admin_write_settings((object) array("s__summary" => $_POST['s__summary']));
                }
            }
        }
    }
    //}
}
if (isset($_GET['server_info']) || $update_all) {
    $register_users_enabled = TRUE;
    if ((int) $CFG->version < 2007092000) {
        if ($CFG->auth == "none") {
            $register_users_enabled = FALSE;
        } else {
            if ($CFG->auth != "email") {
                if (!function_exists('auth_user_login')) {
                    require_once "../auth/{$CFG->auth}/lib.php";