erika/php/erika.php

117 lines
3.7 KiB
PHP
Raw Normal View History

2021-01-17 21:16:42 +01:00
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
2021-01-18 20:27:06 +01:00
<meta http-equiv="refresh" content="915; url=index.php" />
2021-01-17 21:16:42 +01:00
<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>
2021-01-18 20:27:06 +01:00
<nav>
2021-01-17 21:16:42 +01:00
<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>
2021-01-18 20:27:06 +01:00
<?php
2021-01-17 21:16:42 +01:00
include 'const.php';
2021-01-17 22:48:31 +01:00
// Letzten Timestamp lesen
$date = new DateTime();
$myfile=fopen(ZEITDATEI,'rt');
flock($myfile,LOCK_SH);
$letztesmal=file_get_contents(ZEITDATEI);
fclose($myfile);
2021-01-18 20:27:06 +01:00
2021-01-17 22:48:31 +01:00
$restzeit = intval($letztesmal)+(PAUSEZEIT_MS/1000) - $date->getTimestamp();
//echo "Letztesmal:".$letztesmal."----heute".($date->getTimestamp())."rest: ".$restzeit;
// timestamp vergleichen
if( $restzeit > 0)
2021-01-17 21:16:42 +01:00
{
2021-01-17 22:48:31 +01:00
?>
<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";
2021-01-17 21:16:42 +01:00
}
2021-01-17 22:48:31 +01:00
else
{
2021-01-17 21:16:42 +01:00
2021-01-17 22:48:31 +01:00
// Schreibe aktuellen Timestamp in eine Datei, die später ausgelesen wird
file_put_contents(ZEITDATEI, $date->getTimestamp(), LOCK_EX);
2021-01-17 21:16:42 +01:00
2021-01-17 22:48:31 +01:00
// textverarbeitung
$text = $_POST['texta'];
$len = strlen(utf8_decode($text));
2021-01-18 20:27:06 +01:00
if ( $len > TEXT_MAXLEN )
2021-01-17 22:48:31 +01:00
{
$meldung = "Text ist zu lang und wurde eingekürzt";
$text = substr($text, 0, TEXT_MAXLEN);
}
2021-01-17 21:16:42 +01:00
2021-01-17 22:48:31 +01:00
echo "Text: ".$len." von erlaubten ".TEXT_MAXLEN." Zeichen.";
2021-01-17 21:16:42 +01:00
2021-01-18 20:27:06 +01:00
$nlkorrekt = preg_replace('~\R~u', "\n", $text);
$suchmuster = '/[^-a-zA-Z0-9äüöÄÜÖß ,;\.:()°%&$§"!+*#\?\n\r\/]/m';
$suchmuster = REGEX_FILTER;
$ersetzung = '?';
2021-01-17 22:48:31 +01:00
$neuertext = preg_filter($suchmuster, $ersetzung, $nlkorrekt);
2021-01-17 21:16:42 +01:00
2021-01-17 22:48:31 +01:00
//Ersetze vier+mehr \n durch \n---\n
2021-01-18 20:27:06 +01:00
$newlinebereinigt = preg_replace('/(\R){3,}/m', "\n---\n", $neuertext );
2021-01-17 22:48:31 +01:00
$umgebrochen = wordwrap($newlinebereinigt, TEXT_MAXLINE);
2021-01-17 21:16:42 +01:00
2021-01-18 20:27:06 +01:00
//echo "<pre>".$nlkorrekt."</pre>";
//echo "NT:<pre>".$neuertext."</pre>";
2021-01-17 22:48:31 +01:00
//echo "<br/>Der Text:<br/>";
2021-01-18 20:27:06 +01:00
echo "<pre>".$newlinebereinigt."</pre>";
//echo "<br/>";
$arg = escapeshellarg($umgebrochen);
2021-01-17 22:48:31 +01:00
//echo "<br/> arg: ".$arg;
2021-01-18 20:27:06 +01:00
$res = system(ERIKA_CMD." ".$arg);
2021-01-17 22:48:31 +01:00
echo "<br/>";
echo "<strong>Befehl wurde ausgeführt: ".$res."</strong>. ";
?>
2021-01-17 21:16:42 +01:00
</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>
<h1>Zurück</h1>
<article>
Hier geht's wieder <a href="./" >zurück</a>. Normalerweise aber automatisch.
</article>
</main>
</section>
2021-01-17 22:48:31 +01:00
<?php
}
?>
2021-01-17 21:16:42 +01:00
<footer>
<p>&copy; Robert Köpferl für ChCh und Klub Solitär | 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 Solitär</a>
</address>
</footer>
</body>
2021-01-18 20:27:06 +01:00
</html>