$ssid\n";
}
set('wifi_ssid', $wifi_ssid);
set('status', service_faststatus() == 0);
set('wifi_ssid_list', $wifi_ssid_list);
return render('settings.html.php');
});
dispatch_put('/settings', function() {
$status = isset($_POST['status']) ? 1 : 0;
$wifi_ssid = $_POST['wifi_ssid'];
moulinette_set('status', $status);
moulinette_set('wifi_ssid', $wifi_ssid);
if($status == 1) {
$retcode = restart_service();
} else {
$retcode = stop_service();
}
if($retcode == 0) {
flash('success', T_('Configuration updated and service successfully reloaded'));
} else {
flash('error', T_('Configuration updated but service reload failed'));
}
redirect:
redirect_to('/');
});
dispatch('/status', function() {
$status_lines = service_status();
$status_list = '';
foreach($status_lines AS $status_line) {
if(preg_match('/^\[INFO\]/', $status_line)) {
$status_list .= ''.htmlspecialchars($status_line).'';
}
elseif(preg_match('/^\[OK\]/', $status_line)) {
$status_list .= ''.htmlspecialchars($status_line).'';
}
elseif(preg_match('/^\[WARN\]/', $status_line)) {
$status_list .= ''.htmlspecialchars($status_line).'';
}
elseif(preg_match('/^\[ERR\]/', $status_line)) {
$status_list .= ''.htmlspecialchars($status_line).'';
}
}
echo $status_list;
});
dispatch('/lang/:locale', function($locale = 'en') {
switch ($locale) {
case 'fr':
$_SESSION['locale'] = 'fr';
break;
default:
$_SESSION['locale'] = 'en';
}
if(!empty($_GET['redirect_to'])) {
redirect_to($_GET['redirect_to']);
} else {
redirect_to('/');
}
});