modify filemode for linux
This commit is contained in:
@@ -1,143 +1,143 @@
|
||||
<?php
|
||||
require_once("helper.php");
|
||||
|
||||
if (isset($_GET["addUser"])) {
|
||||
if (checkAdduser($_GET["addUser"])) {
|
||||
echo <<<ENDE
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Smarthome control</title>
|
||||
<link rel="icon" type="image/png" href="assets/img/favicon.png">
|
||||
<!--end::Accessibility Meta Tags-->
|
||||
|
||||
<!--begin::Primary Meta Tags-->
|
||||
<meta name="title" content="Smarthome control" />
|
||||
<meta name="author" content="ColorlibHQ" />
|
||||
<meta name="description" content="Smarthome control panel by m0." />
|
||||
<meta name="keywords" content="smarthome dashboard, admin panel" />
|
||||
<!--end::Primary Meta Tags-->
|
||||
|
||||
<!--begin::Fonts-->
|
||||
<link rel="stylesheet" href="assets/fonts/font_poppins.css" media="print" onload="this.media='all'" />
|
||||
<!--end::Fonts-->
|
||||
|
||||
<!--begin::Third Party Plugin(OverlayScrollbars)
|
||||
<link rel="stylesheet" href="css/overlayscrollbars.min.css" />-->
|
||||
<!--end::Third Party Plugin(OverlayScrollbars)-->
|
||||
|
||||
<!--begin::Third Party Plugin(Bootstrap Icons)-->
|
||||
<link rel="stylesheet" href="css/bootstrap-icons.min.css" />
|
||||
<!--end::Third Party Plugin(Bootstrap Icons)-->
|
||||
|
||||
<!--begin::Required Plugin(AdminLTE)-->
|
||||
<link rel="stylesheet" href="./css/adminlte.css?v=2" />
|
||||
<!--end::Required Plugin(AdminLTE)-->
|
||||
|
||||
|
||||
</head>
|
||||
<body onload="createRegistration()">
|
||||
</body>
|
||||
<script src="js/auth.js"></script>
|
||||
<script>
|
||||
async function createRegistration() {
|
||||
try {
|
||||
// check browser support
|
||||
if (!window.fetch || !navigator.credentials || !navigator.credentials.create) {
|
||||
throw new Error('Browser not supported.');
|
||||
}
|
||||
let keyName = encodeURIComponent(prompt('Bitte Hier den Namen des Schlüssels eingeben:'));
|
||||
// get create args
|
||||
let rep = await window.fetch('authServer.php?fn=getCreateArgs', {method:'GET', cache:'no-cache'});
|
||||
//alert(await rep.text());
|
||||
const createArgs = await rep.json();
|
||||
// error handling
|
||||
if (createArgs.success === false) {
|
||||
throw new Error(createArgs.msg || 'unknown error occured');
|
||||
}
|
||||
|
||||
// replace binary base64 data with ArrayBuffer. a other way to do this
|
||||
// is the reviver function of JSON.parse()
|
||||
recursiveBase64StrToArrayBuffer(createArgs);
|
||||
|
||||
// create credentials
|
||||
const cred = await navigator.credentials.create(createArgs);
|
||||
|
||||
// create object
|
||||
const authenticatorAttestationResponse = {
|
||||
transports: cred.response.getTransports ? cred.response.getTransports() : null,
|
||||
clientDataJSON: cred.response.clientDataJSON ? arrayBufferToBase64(cred.response.clientDataJSON) : null,
|
||||
attestationObject: cred.response.attestationObject ? arrayBufferToBase64(cred.response.attestationObject) : null
|
||||
};
|
||||
|
||||
// check auth on server side
|
||||
rep = await window.fetch('authServer.php?fn=processCreate&name='+keyName, {
|
||||
method : 'POST',
|
||||
body : JSON.stringify(authenticatorAttestationResponse),
|
||||
cache : 'no-cache'
|
||||
});
|
||||
authenticatorAttestationServerResponse = await rep.json();
|
||||
// prompt server response
|
||||
if (authenticatorAttestationServerResponse.success) {
|
||||
window.alert(authenticatorAttestationServerResponse.msg || 'registration success');
|
||||
if(!authenticatorAttestationServerResponse.msg){
|
||||
window.location.href = "https://nas.el-wa.org/smart";
|
||||
}
|
||||
|
||||
} else {
|
||||
throw new Error(authenticatorAttestationServerResponse.msg);
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
window.alert(err.message || 'unknown error occured');
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</html>
|
||||
ENDE;
|
||||
}
|
||||
} else if (checkLogin()) {
|
||||
|
||||
include "restricted/header.php";
|
||||
|
||||
if(!isset($_GET["action"])){
|
||||
$_GET["action"] = "solar";
|
||||
}
|
||||
$resource_content = "";
|
||||
switch($_GET["action"]){
|
||||
case "solar":
|
||||
$resource_content .= str_replace("%%INSERTSVG%%", file_get_contents('assets/img/realtime.svg'), file_get_contents('restricted/solar.html'));
|
||||
$resource_content .= file_get_contents('restricted/footer.html');
|
||||
$resource_content .= "<script src='js/solar/solarMQTT.js'></script>";
|
||||
break;
|
||||
case "home":
|
||||
include "restricted/home.php";
|
||||
$resource_content .= file_get_contents('restricted/footer.html');
|
||||
$resource_content .= "<script src='js/solar/autoActionFuncs.js'></script>";
|
||||
$resource_content .= "<script src='js/solar/homeMQTT.js'></script>";
|
||||
break;
|
||||
case "heat":
|
||||
$resource_content .= file_get_contents('restricted/heat.html');
|
||||
$resource_content .= file_get_contents('restricted/footer.html');
|
||||
$resource_content .= "<script src='js/solar/heatMQTT.js'></script>";
|
||||
break;
|
||||
case "history":
|
||||
$resource_content .= file_get_contents('restricted/history.html');
|
||||
$resource_content .= file_get_contents('restricted/footer.html');
|
||||
$resource_content .= "<script src='js/solar/historyMQTT.js'></script>";
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
echo $resource_content;
|
||||
} else {
|
||||
echo <<<ENDE
|
||||
<html>
|
||||
<head><link rel="icon" type="image/png" href="assets/img/favicon.png"></head>
|
||||
<body onload="checkRegistration()">
|
||||
<script src="js/auth.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
ENDE;
|
||||
}
|
||||
<?php
|
||||
require_once("helper.php");
|
||||
|
||||
if (isset($_GET["addUser"])) {
|
||||
if (checkAdduser($_GET["addUser"])) {
|
||||
echo <<<ENDE
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>Smarthome control</title>
|
||||
<link rel="icon" type="image/png" href="assets/img/favicon.png">
|
||||
<!--end::Accessibility Meta Tags-->
|
||||
|
||||
<!--begin::Primary Meta Tags-->
|
||||
<meta name="title" content="Smarthome control" />
|
||||
<meta name="author" content="ColorlibHQ" />
|
||||
<meta name="description" content="Smarthome control panel by m0." />
|
||||
<meta name="keywords" content="smarthome dashboard, admin panel" />
|
||||
<!--end::Primary Meta Tags-->
|
||||
|
||||
<!--begin::Fonts-->
|
||||
<link rel="stylesheet" href="assets/fonts/font_poppins.css" media="print" onload="this.media='all'" />
|
||||
<!--end::Fonts-->
|
||||
|
||||
<!--begin::Third Party Plugin(OverlayScrollbars)
|
||||
<link rel="stylesheet" href="css/overlayscrollbars.min.css" />-->
|
||||
<!--end::Third Party Plugin(OverlayScrollbars)-->
|
||||
|
||||
<!--begin::Third Party Plugin(Bootstrap Icons)-->
|
||||
<link rel="stylesheet" href="css/bootstrap-icons.min.css" />
|
||||
<!--end::Third Party Plugin(Bootstrap Icons)-->
|
||||
|
||||
<!--begin::Required Plugin(AdminLTE)-->
|
||||
<link rel="stylesheet" href="./css/adminlte.css?v=2" />
|
||||
<!--end::Required Plugin(AdminLTE)-->
|
||||
|
||||
|
||||
</head>
|
||||
<body onload="createRegistration()">
|
||||
</body>
|
||||
<script src="js/auth.js"></script>
|
||||
<script>
|
||||
async function createRegistration() {
|
||||
try {
|
||||
// check browser support
|
||||
if (!window.fetch || !navigator.credentials || !navigator.credentials.create) {
|
||||
throw new Error('Browser not supported.');
|
||||
}
|
||||
let keyName = encodeURIComponent(prompt('Bitte Hier den Namen des Schlüssels eingeben:'));
|
||||
// get create args
|
||||
let rep = await window.fetch('authServer.php?fn=getCreateArgs', {method:'GET', cache:'no-cache'});
|
||||
//alert(await rep.text());
|
||||
const createArgs = await rep.json();
|
||||
// error handling
|
||||
if (createArgs.success === false) {
|
||||
throw new Error(createArgs.msg || 'unknown error occured');
|
||||
}
|
||||
|
||||
// replace binary base64 data with ArrayBuffer. a other way to do this
|
||||
// is the reviver function of JSON.parse()
|
||||
recursiveBase64StrToArrayBuffer(createArgs);
|
||||
|
||||
// create credentials
|
||||
const cred = await navigator.credentials.create(createArgs);
|
||||
|
||||
// create object
|
||||
const authenticatorAttestationResponse = {
|
||||
transports: cred.response.getTransports ? cred.response.getTransports() : null,
|
||||
clientDataJSON: cred.response.clientDataJSON ? arrayBufferToBase64(cred.response.clientDataJSON) : null,
|
||||
attestationObject: cred.response.attestationObject ? arrayBufferToBase64(cred.response.attestationObject) : null
|
||||
};
|
||||
|
||||
// check auth on server side
|
||||
rep = await window.fetch('authServer.php?fn=processCreate&name='+keyName, {
|
||||
method : 'POST',
|
||||
body : JSON.stringify(authenticatorAttestationResponse),
|
||||
cache : 'no-cache'
|
||||
});
|
||||
authenticatorAttestationServerResponse = await rep.json();
|
||||
// prompt server response
|
||||
if (authenticatorAttestationServerResponse.success) {
|
||||
window.alert(authenticatorAttestationServerResponse.msg || 'registration success');
|
||||
if(!authenticatorAttestationServerResponse.msg){
|
||||
window.location.href = "https://nas.el-wa.org/smart";
|
||||
}
|
||||
|
||||
} else {
|
||||
throw new Error(authenticatorAttestationServerResponse.msg);
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
window.alert(err.message || 'unknown error occured');
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</html>
|
||||
ENDE;
|
||||
}
|
||||
} else if (checkLogin()) {
|
||||
|
||||
include "restricted/header.php";
|
||||
|
||||
if(!isset($_GET["action"])){
|
||||
$_GET["action"] = "solar";
|
||||
}
|
||||
$resource_content = "";
|
||||
switch($_GET["action"]){
|
||||
case "solar":
|
||||
$resource_content .= str_replace("%%INSERTSVG%%", file_get_contents('assets/img/realtime.svg'), file_get_contents('restricted/solar.html'));
|
||||
$resource_content .= file_get_contents('restricted/footer.html');
|
||||
$resource_content .= "<script src='js/solar/solarMQTT.js'></script>";
|
||||
break;
|
||||
case "home":
|
||||
include "restricted/home.php";
|
||||
$resource_content .= file_get_contents('restricted/footer.html');
|
||||
$resource_content .= "<script src='js/solar/autoActionFuncs.js'></script>";
|
||||
$resource_content .= "<script src='js/solar/homeMQTT.js'></script>";
|
||||
break;
|
||||
case "heat":
|
||||
$resource_content .= file_get_contents('restricted/heat.html');
|
||||
$resource_content .= file_get_contents('restricted/footer.html');
|
||||
$resource_content .= "<script src='js/solar/heatMQTT.js'></script>";
|
||||
break;
|
||||
case "history":
|
||||
$resource_content .= file_get_contents('restricted/history.html');
|
||||
$resource_content .= file_get_contents('restricted/footer.html');
|
||||
$resource_content .= "<script src='js/solar/historyMQTT.js'></script>";
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
echo $resource_content;
|
||||
} else {
|
||||
echo <<<ENDE
|
||||
<html>
|
||||
<head><link rel="icon" type="image/png" href="assets/img/favicon.png"></head>
|
||||
<body onload="checkRegistration()">
|
||||
<script src="js/auth.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
ENDE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user