This commit is contained in:
2026-01-30 11:10:47 +01:00
parent c00299abb9
commit 33111583a3
11 changed files with 2479 additions and 0 deletions

259
popup.php Executable file
View File

@@ -0,0 +1,259 @@
<?php
$datei = basename(__FILE__);
$inc_pfad_www = "/var/www/motion/";
$inc_cams = array( "cam1" , "cam2", "cam3" );
#$inc_cams = array( "cam1" , "cam2" );
$inc_default_i = 5;
$inc_default_z = 10;
$inc_default_b = 300;
$inc_default_h = 350;
$inc_default_q = 90;
$array_aktiv = array();
$array_bild = array();
$array_uhrzeit = array();
# gibt pfad+dateiname der letzten jpg in dem ordner
function last_jpg_in_folder($d) {
$files = glob($d."*.jpg");
#$files = array_combine($files, array_map("filemtime", $files));
#arsort($files);
#$latest_file = key($files);
return end(array_values($files));
}
# skalierte jpg in popup ordner
function scaleimg($bild,$c,$b,$q,$u) {
$bild_src = imagecreatefromjpeg($bild);
$height = imagesy($bild_src);
$width = imagesx($bild_src);
$h = round($b/$width*$height);
$bild_neu = imagecreatetruecolor($b, $h);
imagecopyresampled($bild_neu, $bild_src, 0, 0, 0, 0, $b, $h, $width, $height);
#$bild_neu = imagescale ( $bild_src , $b ,-1 ,IMG_BICUBIC_FIXED);
imagejpeg( $bild_neu, "./popup/".$c."_".$b."_".$u.".jpg", $q );
imagedestroy($bild_neu);
imagedestroy($bild_src);
return true;
}
#include('config.inc.php');
$z = isset($_GET['z']) ? $_GET['z'] : $inc_default_z;
$i = isset($_GET['i']) ? $_GET['i'] : $inc_default_i;
$b = isset($_GET['b']) ? $_GET['b'] : $inc_default_b;
$h = isset($_GET['h']) ? $_GET['h'] : $inc_default_h;
$t = isset($_GET['t']) ? $_GET['t'] : '';
$vorhaltezeit = $z * 1000;
$bild_breite = $b;
$bild_hoehe = $h;
$heute = date("Y-m-d");
$jetzt = date("His");
$jetzt_lang = date("YmdHis");
#$jetzt_minus = date("His",strtotime("-10000 seconds"));
#$jetzt_minus = date("His",strtotime("-".$i." seconds"));
$jetzt_minus = date("His",strtotime("-".$z." seconds"));
#$aktiv1 = false;
#$aktiv2 = false;
$counter = 0;
foreach ($inc_cams as $cam) {
$letzte_jpg_heute = explode($inc_pfad_www, last_jpg_in_folder($inc_pfad_www.$heute."/".$cam."/"));
$bild = $letzte_jpg_heute[1];
preg_match('/[0-9]{2,2}-[0-9]{2,2}-[0-9]{2,2}-[0-9]{1,4}/',$bild, $treffer);
$HH = substr($treffer[0], 0, 2);
$MM = substr($treffer[0], 3, 2);
$SS = substr($treffer[0], 6, 2);
$bild_uhrzeit = $HH.$MM.$SS;
array_push($array_uhrzeit, $bild_uhrzeit);
if( $bild_uhrzeit >= $jetzt_minus ) array_push($array_aktiv, true);
else array_push($array_aktiv, false);
array_push( $array_bild, $bild );
scaleimg($bild,$cam,$b,$inc_default_q,$bild_uhrzeit);
#echo $bild."<br>";
$counter++;
}
#print_r($array_bild);echo "<br>";
#print_r($inc_cams);echo "<br>";
#print_r($array_uhrzeit);echo "<br>";
#print_r($array_aktiv);echo "<br>";
#echo $array_bild[0];
echo "<!DOCTYPE HTML>\n";
echo "<html>\n";
echo "<head>\n";
echo "<title>".htmlentities("Webcam Popup", ENT_QUOTES)."</title>\n";
#echo "<link rel=\"stylesheet\" href=\"style.css\" type=\"text/css\">\n";
echo "<meta http-equiv=\"refresh\" content=\"$i;URL=./$datei?i=$i&z=$z&b=$b&h=$h\">\n";
echo "<script language=\"Javascript\">\n";
#echo "function moveWin() {\n";
#echo "myWindow.moveTo(500, 100);\n";
#echo "myWindow.focus();\n";
#echo "}\n";
#echo "function minimizeWin() {\n";
#echo "myWindow.moveTo(0, 0);\n";
#echo "myWindow.blur();\n";
#echo "}\n";
#echo "function closeWin() {\n";
#echo "var w = window.open('', 'myWindow');\n";
#echo "myWindow=window.open(\"\", \"myWindow\", \"width=800, height=400\");\n";
#echo "myWindow.document.close();\n";
#echo "myWindow.close();\n";
#echo "}\n";
echo "function openWin() {\n";
echo "myWindow=window.open(\"\", \"myWindow\", \"width=".($bild_breite+20).", height=".($bild_hoehe+20)."\");\n";
echo "myWindow.document.writeln(\"<!DOCTYPE HTML>\");\n";
echo "myWindow.document.writeln(\"<html>\");\n";
echo "myWindow.document.writeln(\"<head>\");\n";
echo "myWindow.document.writeln(\"<title>Kameras<\/title>\");\n";
echo "myWindow.document.writeln(\"<script language='Javascript'>\");\n";
echo "myWindow.document.writeln(\"setTimeout(function(){window.close()}, ".$vorhaltezeit.");\");\n";
echo "myWindow.document.writeln(\"<\/script>\");\n";
echo "myWindow.document.writeln(\"<\/head>\");\n";
echo "myWindow.document.writeln(\"<body>\");\n";
#echo "myWindow.document.writeln(\"".$jetzt."\");\n";
echo "myWindow.document.writeln(\"<table>\");\n";
for( $k=0 ; $k < count($inc_cams) ; $k++) {
#if($array_aktiv[$k]) echo "myWindow.document.writeln('<tr height=\"".round($bild_breite/4*3)."\"><td style=\"vertical-align:top\"><img src=\"".$array_bild[$k]."\" style=\"width:".$bild_breite."px;\"><\/td><\/tr>');\n";
if($array_aktiv[$k]) echo "myWindow.document.writeln('<tr height=\"".round($bild_breite/4*3)."\"><td style=\"vertical-align:top\"><img src=\"./popup/".$inc_cams[$k]."_".$b."_".$array_uhrzeit[$k].".jpg\" style=\"width:".$bild_breite."px;\"><\/td><\/tr>');\n";
else echo "myWindow.document.writeln('<tr height=\"".round($bild_breite/4*3)."\"><td>&nbsp;<\/td><\/tr>');\n";
}
echo "myWindow.document.writeln(\"<\/table>\");\n";
echo "myWindow.document.writeln(\"<\/body>\");\n";
echo "myWindow.document.writeln(\"<\/html>\");\n";
#echo "state = {'popupOpened' : true,'popupName' : 'myWindow'};";
echo "myWindow.document.close();\n";
echo "myWindow.moveTo(0, 0);\n";
#echo "myWindow.focus();\n";
echo "}\n";
#echo "function showValue1(newValue){\n";
#echo "document.getElementById(\"slide_refresh\").innerHTML=newValue;\n";
#echo "}\n";
#echo "function showValue2(newValue){\n";
#echo "document.getElementById(\"slide_vorhalte\").innerHTML=newValue;\n";
#echo "}\n";
#echo "function showValue1(newValue){\n";
#echo "document.getElementById(\"slide_refresh\").innerHTML=newValue;\n";
#echo "}\n";
#echo "function showValue2(newValue){\n";
#echo "document.getElementById(\"slide_vorhalte\").innerHTML=newValue;\n";
#echo "}\n";
echo "</script>\n";
echo "</head>\n";
# irgendwas aktiv?
if( in_array(true, $array_aktiv) ) echo "<body onload=\"openWin();\">\n";
else echo "<body>\n";
echo "<table border=\"0\" cellpadding=\"5\" cellspacing=\"5\">\n";
echo "<tr>\n";
echo "<td colspan=\"3\">\n";
echo "<span><b>Kamera Popup konfigurieren:</b></span>\n";
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td>\n";
echo "<span>Intervall:</span>\n";
echo "</td>\n";
echo "<td>\n";
echo "<input type=\"range\" min=\"1\" max=\"20\" value=\"$i\" step=\"1\" onchange=\"location.href='$datei?b=$b&h=$h&z=$z&i='+this.value\" style=\"width: 300px;\">\n";
echo "</td>\n";
echo "<td>\n";
echo "<span id=\"slide_refresh\">$i Sek.</span>\n";
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td>\n";
echo "<span>Vorhaltezeit:</span>\n";
echo "</td>\n";
echo "<td>\n";
echo "<input type=\"range\" min=\"1\" max=\"120\" value=\"$z\" step=\"1\" onchange=\"location.href='$datei?b=$b&h=$h&i=$i&z='+this.value\" style=\"width: 300px;\">\n";
echo "</td>\n";
echo "<td>\n";
echo "<span id=\"slide_vorhalte\">$z Sek.</span>\n";
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td>\n";
echo "<span>Fensterbreite:</span>\n";
echo "</td>\n";
echo "<td>\n";
echo "<input type=\"range\" min=\"200\" max=\"600\" value=\"$b\" step=\"50\" onchange=\"location.href='$datei?z=$z&i=$i&h=$h&b='+this.value\" style=\"width: 300px;\">\n";
echo "</td>\n";
echo "<td>\n";
echo "<span id=\"slide_breite\">$b Pixel</span>\n";
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td>\n";
echo "<span>Fensterh&ouml;he:</span>\n";
echo "</td>\n";
echo "<td>\n";
echo "<input type=\"range\" min=\"150\" max=\"1200\" value=\"$h\" step=\"50\" onchange=\"location.href='$datei?z=$z&i=$i&b=$b&h='+this.value\" style=\"width: 300px;\">\n";
echo "</td>\n";
echo "<td>\n";
echo "<span id=\"slide_hoehe\">$h Pixel</span>\n";
echo "</td>\n";
echo "</tr>\n";
#echo "<tr>\n";
#echo "<td>\n";
#echo "<button onclick=\"moveWin()\">Move</button>";
#echo "<button onclick=\"openWin()\">Open</button>";
#echo "<button onclick=\"minimizeWin()\">Minimize</button>";
#echo "<button onclick=\"closeWin()\">Close</button>";
echo "</table>\n";
echo "</body>\n";
echo "</html>\n";
?>