Example #1
0
function service_control_restart($name, $extras)
{
    global $g;
    switch ($name) {
        case 'radvd':
            services_radvd_configure();
            break;
        case 'captiveportal':
            captiveportal_configure();
            break;
        case 'ntpd':
            system_ntp_configure();
            break;
        case 'apinger':
            killbypid("/var/run/apinger.pid");
            setup_gateways_monitor();
            break;
        case 'bsnmpd':
            services_snmpd_configure();
            break;
        case 'dhcrelay':
            services_dhcrelay_configure();
            break;
        case 'dhcrelay6':
            services_dhcrelay6_configure();
            break;
        case 'dnsmasq':
            services_dnsmasq_configure();
            break;
        case 'unbound':
            services_unbound_configure();
            break;
        case 'dhcpd':
            services_dhcpd_configure();
            break;
        case 'igmpproxy':
            services_igmpproxy_configure();
            break;
        case 'miniupnpd':
            upnp_action('restart');
            break;
        case 'ipsec':
            vpn_ipsec_force_reload();
            break;
        case 'sshd':
            configd_run("sshd restart");
            break;
        case 'openvpn':
            $vpnmode = htmlspecialchars($extras['vpnmode']);
            if ($vpnmode == "server" || $vpnmode == "client") {
                $id = htmlspecialchars($extras['id']);
                $configfile = "/var/etc/openvpn/{$vpnmode}{$id}.conf";
                if (file_exists($configfile)) {
                    openvpn_restart_by_vpnid($vpnmode, $id);
                }
            }
            break;
        case 'relayd':
            relayd_configure(true);
            break;
        case 'squid':
            configd_run("proxy restart");
            break;
        case 'suricata':
            configd_run("ids restart");
            break;
        default:
            log_error(sprintf(gettext("Could not restart unknown service `%s'"), $name));
            break;
    }
    return sprintf(gettext("%s has been restarted."), htmlspecialchars($name));
}
global $cpzoneid;
if (!is_array($config['captiveportal'])) {
    $config['captiveportal'] = array();
}
$a_cp =& $config['captiveportal'];
if ($_GET['act'] == "del" && !empty($_GET['zone'])) {
    $cpzone = $_GET['zone'];
    if ($a_cp[$cpzone]) {
        $cpzoneid = $a_cp[$cpzone]['zoneid'];
        unset($a_cp[$cpzone]['enable']);
        unset($a_cp[$cpzone]);
        if (isset($config['voucher'][$cpzone])) {
            unset($config['voucher'][$cpzone]);
        }
        write_config();
        captiveportal_configure();
        header("Location: services_captiveportal_zones.php");
        exit;
    }
}
$pgtitle = array(gettext("Captiveportal"), gettext("Zones"));
$shortcut_section = "captiveportal";
include "head.inc";
$main_buttons = array(array('href' => 'services_captiveportal_zones_edit.php', 'label' => gettext("add a new captiveportal instance")));
?>

<body>
<?php 
include "fbegin.inc";
?>
        $config['captiveportal']['radiusacctport'] = $_POST['radiusacctport'];
        $config['captiveportal']['radiuskey'] = $_POST['radiuskey'];
        $config['captiveportal']['radiuskey2'] = $_POST['radiuskey2'];
        $config['captiveportal']['radiusvendor'] = $_POST['radiusvendor'] ? $_POST['radiusvendor'] : false;
        //$config['captiveportal']['radiussession_timeout'] = $_POST['radiussession_timeout'] ? true : false;
        /* file upload? */
        if (is_uploaded_file($_FILES['htmlfile']['tmp_name'])) {
            $config['captiveportal']['page']['htmltext'] = base64_encode(file_get_contents($_FILES['htmlfile']['tmp_name']));
        }
        if (is_uploaded_file($_FILES['errfile']['tmp_name'])) {
            $config['captiveportal']['page']['errtext'] = base64_encode(file_get_contents($_FILES['errfile']['tmp_name']));
        }
        write_config();
        $retval = 0;
        config_lock();
        $retval = captiveportal_configure();
        config_unlock();
        $savemsg = get_std_save_message($retval);
    }
}
include "head.inc";
include "fbegin.inc";
?>
<script language="JavaScript">
<!--
function enable_change(enable_change) {
	var endis, radius_endis;
	endis = !(document.iform.enable.checked || enable_change);
	radius_endis = !((!endis && document.iform.auth_method[2].checked) || enable_change);

	document.iform.cinterface.disabled = endis;