erika/php/erika.php
2021-03-06 21:44:23 +01:00

117 lines
3.7 KiB
PHP

<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="refresh" content="915; url=index.php" />
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Schreib auf die Erika</title>
<meta name="description" content="Simple Webseite, um auf Erika zu tippen.">
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<div id="logo"><img src="logo.png">Erika-Tippmaschine</div>
<nav>
<ul>
<li><a href="./">Heim</a>
<!-- <li><a href="https://html-css-js.com/">HTML</a>
<li><a href="https://html-css-js.com/css/code/">CSS</a>
<li><a href="https://htmlcheatsheet.com/js/">JS</a> -->
</ul>
</nav>
</header>
<section>
<?php
include 'const.php';
// Letzten Timestamp lesen
$date = new DateTime();
$myfile=fopen(ZEITDATEI,'rt');
flock($myfile,LOCK_SH);
$letztesmal=file_get_contents(ZEITDATEI);
fclose($myfile);
$restzeit = intval($letztesmal)+(PAUSEZEIT_MS/1000) - $date->getTimestamp();
//echo "Letztesmal:".$letztesmal."----heute".($date->getTimestamp())."rest: ".$restzeit;
// timestamp vergleichen
if( $restzeit > 0)
{
?>
<strong>Leider ist die Zeit noch nicht reif für die nächste Aktion
mit der Schreibmaschine</strong> Versuche es später nochmal.
<?php
echo "Restzeit: ".$restzeit."s";
}
else
{
// Schreibe aktuellen Timestamp in eine Datei, die später ausgelesen wird
file_put_contents(ZEITDATEI, $date->getTimestamp(), LOCK_EX);
// textverarbeitung
$text = $_POST['texta'];
$len = strlen(utf8_decode($text));
if ( $len > TEXT_MAXLEN )
{
$meldung = "Text ist zu lang und wurde eingekürzt";
$text = substr($text, 0, TEXT_MAXLEN);
}
echo "Text: ".$len." von erlaubten ".TEXT_MAXLEN." Zeichen.";
$nlkorrekt = preg_replace('~\R~um', "\n", $text); // 2044 = /
$suchmuster = REGEX_FILTER;
$ersetzung = '?';
$neuertext = preg_replace($suchmuster, $ersetzung, $nlkorrekt);
//Ersetze vier+mehr \n durch \n---\n
$newlinebereinigt = preg_replace('/(\R){3,}/mu', "\n---\n", $neuertext );
$umgebrochen = wordwrap($newlinebereinigt, TEXT_MAXLINE);
// noch zeilen und Abstand hinzu
$umgebrochen = $umgebrochen."\n\n=====\n";
//echo "<pre>".$nlkorrekt."</pre>";
//echo "NT:<pre>".$neuertext."</pre>";
//echo "<br/>Der Text:<br/>";
//echo "<pre>".$newlinebereinigt."</pre>";
//echo "<br/>";
$arg = escapeshellarg($umgebrochen);
//echo "<br/> arg: ".$arg;
$res = system(ERIKA_CMD." ".$arg);
echo "<br/>";
echo "<strong>Befehl wurde ausgeführt: ".$res."</strong>. ";
?>
</section>
<section id="pageContent">
<main role="main">
<h1>Erika schreibt</h1>
<article>
<p>Wenn alles gut war, ist jetzt der Text zu sehen:
</p>
<br/>
<pre><?php echo $umgebrochen ?></pre>
</article>
<h2>Zurück</h2>
<article>
Hier geht's wieder <a href="./" >zurück</a>. Normalerweise aber automatisch.
</article>
</main>
</section>
<?php
}
?>
<footer>
<p>&copy; Robert Köpferl für Chaos Chemnitz und Klub Solitaer | Vorlage: <a href="https://html5-templates.com/" target="_blank" rel="nofollow">HTML5 Templates</a></p>
<address>
Kontakt: <a href="mailto:presse@klub-solitaer.de">E-Mail an Klub Solitaer</a>
</address>
</footer>
</body>
</html>