Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
    // Allows the admin to configure services for remote hosts
3
 
4
    require(__DIR__.'/../../config.php');
5
    require_once($CFG->libdir.'/adminlib.php');
6
    include_once($CFG->dirroot.'/mnet/lib.php');
7
 
8
    admin_externalpage_setup('trustedhosts');
9
 
10
 
11
    if (!extension_loaded('openssl')) {
12
        echo $OUTPUT->header();
13
        throw new \moodle_exception('requiresopenssl', 'mnet', '', null, true);
14
    }
15
 
16
    $site = get_site();
17
 
18
    $trusted_hosts = '';//array();
19
    $old_trusted_hosts = get_config('mnet', 'mnet_trusted_hosts');
20
    if (!empty($old_trusted_hosts)) {
21
        $old_trusted_hosts =  explode(',', $old_trusted_hosts);
22
    } else {
23
        $old_trusted_hosts = array();
24
    }
25
 
26
    $test_ip_address = optional_param('testipaddress', NULL, PARAM_HOST);
27
    $in_range = false;
28
    if (!empty($test_ip_address)) {
29
        foreach($old_trusted_hosts as $host) {
30
            if (address_in_subnet($test_ip_address, $host)) {
31
                $in_range = true;
32
                $validated_by = $host;
33
                break;
34
            }
35
        }
36
    }
37
 
38
    /// If data submitted, process and store
39
    if (($form = data_submitted()) && confirm_sesskey()) {
40
        $hostlist = preg_split("/[\s,]+/", $form->hostlist);
41
        foreach($hostlist as $host) {
42
            list($address, $mask) = explode('/', $host.'/');
43
            if (empty($address)) continue;
44
            if (strlen($mask) == 0) $mask = 32;
45
            $trusted_hosts .= trim($address).'/'.trim($mask)."\n";
46
            unset($address, $mask);
47
        }
48
        set_config('mnet_trusted_hosts', str_replace("\n", ',', $trusted_hosts), 'mnet');
49
    } elseif (!empty($old_trusted_hosts)) {
50
        foreach($old_trusted_hosts as $host) {
51
            list($address, $mask) = explode('/', $host.'/');
52
            if (empty($address)) continue;
53
            if (strlen($mask) == 0) $mask = 32;
54
            $trusted_hosts .= trim($address).'/'.trim($mask)."\n";
55
            unset($address, $mask);
56
        }
57
    }
58
 
59
    include('./trustedhosts.html');