90 lines
1.6 KiB
PHP
90 lines
1.6 KiB
PHP
<?php
|
|
require_once("vendor/autoload.php");
|
|
|
|
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__ . "/..");
|
|
$dotenv->load();
|
|
|
|
//define("FIFO", "/tmp/mapid");
|
|
define("FIFO", $_ENV['FIFO']);
|
|
|
|
if (!file_exists(FIFO)) {
|
|
$ErrorDoc = <<<EOT
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
</head>
|
|
<body>
|
|
<h3 style="color:red;">Error: FIFO file “%FIFO%” does not exist!</h3>
|
|
<p>
|
|
Is <tt>fifo_bridge.py</tt> running?
|
|
</p>
|
|
<p>
|
|
<a href="./">
|
|
<button>
|
|
Return
|
|
</button>
|
|
</a>
|
|
</p>
|
|
</body>
|
|
</html>
|
|
EOT;
|
|
$ErrorDoc = str_replace("%FIFO%", FIFO, $ErrorDoc);
|
|
die($ErrorDoc);
|
|
}
|
|
|
|
|
|
$f = fopen(FIFO, "w+");
|
|
|
|
if (count($_POST) == 0) {
|
|
/**
|
|
* Support httpie like this:
|
|
* http --print=HBhb POST mcp.local:8080/~malte70/mapid-fifo-webui/command.php cmd=cls
|
|
*/
|
|
$_POST = json_decode(file_get_contents('php://input'), true);
|
|
}
|
|
|
|
switch (@$_POST["cmd"]) {
|
|
case "getty":
|
|
fwrite($f, "GETTY");
|
|
break;
|
|
case "cls":
|
|
fwrite($f, "CLS");
|
|
break;
|
|
case "on":
|
|
fwrite($f, "ON");
|
|
break;
|
|
case "off":
|
|
fwrite($f, "OFF");
|
|
break;
|
|
case "lcdon":
|
|
fwrite($f, "LCDON");
|
|
break;
|
|
case "lcdoff":
|
|
fwrite($f, "LCDOFF");
|
|
break;
|
|
case "line":
|
|
fwrite($f, "LINE ");
|
|
fwrite($f, $_POST["line"]);
|
|
break;
|
|
case "echo":
|
|
fwrite($f, "ECHO ");
|
|
fwrite($f, $_POST["text"]);
|
|
break;
|
|
case "echo2":
|
|
fwrite($f, "CLS\n");
|
|
fwrite($f, "LINE 1\n");
|
|
fwrite($f, "ECHO ");
|
|
fwrite($f, substr($_POST["line1"], 0, 16));
|
|
fwrite($f, "\n");
|
|
fwrite($f, "LINE 2\n");
|
|
fwrite($f, "ECHO ");
|
|
fwrite($f, substr($_POST["line2"], 0, 16));
|
|
break;
|
|
}
|
|
|
|
fwrite($f, "\n");
|
|
fclose($f);
|
|
|
|
//header("Refresh: 5; url=./");
|
|
header("Location: ./");
|