--- a/fhiiqm/laser_log_flist_ed.php Wed Aug 06 09:42:40 2014 +0200
+++ b/fhiiqm/laser_log_flist_ed.php Fri Feb 05 14:03:40 2016 +0100
@@ -1,380 +1,380 @@
-<?php
-
-/**
- * @author Bettina Schwarzer, Fritz-Haber-Institut
- * @copyright 01/2012
- *
- * Laser-Logbuch-Liste & Form
- */
-
- error_reporting(E_ALL ^ E_NOTICE);
-
- session_start();
- if (! isset($_SESSION["userid"]))
- {
- include_once ("inc/func_lib.inc.php");
- login($_SERVER["PHP_SELF"]);
- exit;
- }
-
- if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("lr",$_SESSION["recht"]) && !in_array("le",$_SESSION["recht"])))
- {
- header("Location: start.php");
- exit;
- }
-
- include_once($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/inc/dbconnect.inc.php");
- if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
- include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
-
-?>
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-
-<head>
- <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
- <link type="text/css" href="/fhiiqm/css/db.css" rel="Stylesheet" media="screen"/>
- <link type="text/css" href="/fhiiqm/css/db_print.css" rel="Stylesheet" media="print"/>
- <link type="text/css" href="/fhiiqm/css/jquery/ui-lightness-1.8.21/jquery-ui-1.8.21.custom.css" rel="Stylesheet" />
- <link type="text/css" href="/fhiiqm/css/jquery/jquery-ui-timepicker-addon.css" rel="Stylesheet" />
- <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-1.7.2.min.js"></script>
- <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-ui-1.8.21.custom.min.js"></script>
- <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-ui-timepicker-addon-1.0.1.js"></script>
- <title>Laser-Logbuch</title>
- </head>
-
- <body>
-
- <script>
- $(document).ready(function() {
- $("#lid").focus();
- $("#ldat").datetimepicker({
- dateFormat: 'yy-mm-dd',
- timeFormat: 'hh:mm:ss', //damit kann auch Uhrzeit angegeben werden
- yearRange: '2000:2020',
- changeMonth: true,
- changeYear: true,
- firstDay: 1,
- dayNamesMin: ['So','Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa' ],
- monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'],
- timeText: 'Uhrzeit',
- hourText: 'Stunde',
- currentText: 'Jetzt',
- closeText: 'OK'
- });
-// $("input[id='ldat']").addClass("long10");
- });
- </script>
-
-<?php
- // Eingabeformular
- $la = $_POST["la"];
- $laid = $_GET["i"];
- if (!$laid) $laid = $_POST["i"];
- if (!$laid) $laid=0;
- $sub = $_POST["eintragen"]; // submit Log-Form
- $ok = $_POST["ok"];
- if (!$la['okn']) $ok=false;
-
- $ldat = urldecode($_GET["ld"]); // Log-Datum aus edit
- if (!$ldat) $ldat = $_POST["ld"];
- if (!$ldat) $ldat = "0";
-// echo "ldat: $ldat, " . urlencode($ldat) . ", ". urldecode($ldat). "<br />";
-
- $start = $_GET["st"];
- $zeil = $_GET["z"];
- $sort = $_GET["s"]; // Sortierung nach Spalte
- $dir = $_GET["d"]; // Sortierrichtung
- $fnum = $_GET["f"]; // Spaltennummer, nach der aktuell gefiltert wird
- $filter = $_GET["b"]; // Filterbegriff
- // $_GET-Parameter zurück zur Laserliste mit den selben Einstellungen wie zuvor
- $getp = "?s=$sort&d=$dir&f=$fnum&b=$filter&st=$start&z=$zeil";
-
- // Felder, nach denen gefiltert werden kann
- $fields = array(2=>"Laser-ID",3=>"Laser",4=>"Log-Datum");
-
- // Anzahl der gezeigten Zeilen, Start ab Zeile
- $zeil = $_GET["z"];
- if (!$zeil) $zeil = $_POST["z"];
- if (!$zeil) $zeil = 10;
- $start = $_GET["st"];
- if (!$start) $start=0;
-
- $sort = $_GET["s"]; // Sortierung nach Spalte
- if (!isset($sort) && !$sort) $sort = $_POST["s"];
-
- $dir = $_GET["d"]; // Sortierrichtung
- if (!isset($dir) && !$dir) $dir = $_POST["d"];
-
- $fnum = $_GET["f"]; // Spaltennummer, nach der aktuell gefiltert wird
- if (!isset($fnum) && !$fnum) $fnum = $_POST["f"];
-
- $filter = $_POST["filter"];
- if (!isset($filter) && !$filter) $filter = $_GET["b"];
-
- $subf = $_POST["subf"]; // submit Filter
-
- if (!isset($fnum) || !$fnum) $fnum = 1;
- if (!isset($filter) || !$filter) $filter = "";
- if (!isset($sort) || !$sort) $sort = 2;
- if (!isset($dir) || !$dir) $dir = "";
-
-
- echo " ";
- echo "<div class=\"float-br smaller\" valign='top'>";
- echo " user: " . $_SESSION["userid"];
- echo " <a class='sc' href='/fhiiqm/logout.php' title='Session beenden'>logout</a></div>\n";
- echo "<div class=\"float-r\"><img src=\"img/laser.png\" border=\"0\" alt=\"Laser\" title=\"Laser\"/></div>\n";
-
- if ($ok && $sub) // Daten Laser-Logbuch speichern
- {
- if (!$ldat)
- {
- try
- {
- $logdate = new DateTime($la["ldat"]);
- $ok=1;
- }
- catch(Exception $e)
- {
- echo "<p class='red'>fehlerhaftes Datum-Zeit-Feld: ".$e->getMessage(). "</p>";
- $la["ldat"] = null;
- $ok=0;
- }
- }
- if ($ok)
- {
- $la["bem"] = substr($la["bem"],0,500);
- $stmt = $dbc -> stmtinit();
- if (is_object($stmt))
- {
- if (!$ldat)
- { // neuer Eintrag
- $stmt -> prepare("INSERT INTO fhiiqm.Laser_Logbuch (las_ID,log_date,log_bem) VALUES (?,?,?)");
- $stmt -> bind_param('iss',$la["lid"],$la["ldat"],$la["bem"]);
- $res = $stmt -> execute();
- // print_r($stmt); echo "<br /><br />";
- if ($stmt->error) echo "INSERT Laser-Logbuch, error: " . $stmt->errno . " - ". $stmt->error . "<br><br>\n";
- }
- else
- { // log-bem aendern
- $stmt -> prepare("UPDATE fhiiqm.Laser_Logbuch SET log_bem = ? WHERE las_ID=? AND log_date=?");
- $stmt -> bind_param('sis',$la["bem"],$laid,$ldat);
- $res = $stmt -> execute();
- if ($stmt->error) echo "UPDATE Laser-Logbuch, error: " . $stmt->errno . " - ". $stmt->error . "<br><br>\n";
- }
- $stmt -> free_result(); // wegen weiterer query
- if (!$la["lid"])
- {
- $la["lid"]=$laid;
- $savetxt = "UPDATE";
- $ldat = "0"; // neue Eingabe ermoeglichen
- }
- else $savetxt = "INSERT";
- $sql = "SELECT las_bez FROM fhiiqm.Laser WHERE las_ID = " . $la["lid"];
- $lbez = $dbc -> querySingleItem($sql);
- if ($res)
- {
- echo "<p class='green'><b>$savetxt: Daten zu '".$lbez."' wurden erfolgreich gespeichert.</b></p>\n";
- unset($la);
- $sub = 0;
- }
- else
- echo "<p class='red'><b>$savetxt: Daten zu '".$lbez."' konnten nicht gespeichert werden!</b></p>\n";
- }
- }
- }
-
- // Log-Eintraege holen
- $sql = "CALL laser_log_flist($sort,'" . $dir . "',$fnum, '" . $filter . "',$start,$zeil,$laid,@anz);";
- // Parameter: Nr. Sortfeld, Sortierrichtung, Nr. Filterfeld, Filterbegriff, Startsatz(0), Anzahl zu liefernde DS, Laser-ID, Anzahl gefundener Laser
- // liefert: las_ID, las_ID,las_bez, log_date,log_bem
-/* $sql = "SELECT b.las_ID,las_bez, log_date,log_bem
- FROM `fhiiqm`.`Laser_Logbuch` b INNER JOIN Laser l
- ON b.las_ID=l.las_ID";
-*/
- $result = $dbc ->queryObjectArray($sql);
- if ($dbc -> error)
- echo "error: " . $dbc -> error . "<br />\n";
-
- if (!$result)
- {
- echo "<p class='red'> Leider nichts gefunden für ". $fields["$fnum"] . " wie '$filter'!<br />";
- }
-
- $bg1 = "#F8F8F8";
- $bg2 = "#DEDFE1";
- $bg = "#FFFFFF";
-
- echo "<div align='center'>\n";
- echo "<p><b>Laser - Logbuch</b></p>\n";
- echo "<table border='0' cellspacing='0'>\n";
- echo "<tr><td class='bigger'>Mittels '<img src='/fhiiqm/img/auf.gif' border='0' width='11' hight='11' />' / '<img src='/fhiiqm/img/ab.gif' border='0' width='11' hight='11' />'
- können Sie nach relevanten Spalten auf- bzw. absteigend sortieren</td></tr>
- <tr><td class='bigger'>'<img src='/fhiiqm/img/filter.gif' border='0' width='14' hight='11' />' ermöglicht das Filtern nach ausgewählten Spalten der Liste</td></tr>\n";
- echo "</table>\n";
-
- if ($result) $anz = $dbc -> querySingleItem("SELECT @anz"); else $anz = 0;
- if ($dbc -> error) echo "error Anzahl: " . $dbc -> error . "<br />\n";
- if ($laid) $laser = " für Laser-ID=$laid"; else $laser = "";
- printf ("<p>Anzahl Logbucheinträge$laser: %s</p>", $anz);
-
- if (isset($fnum) && $fnum>1 && !$filter && !$subf)
- {
- // Formular anzeigen fuer Filterbegriff
- $text = $fields[$fnum];
- $azeil = array(10=>'10',20=>'20',25=>'25',50=>'50',100=>'100',9999=>'alle'); // Anzahl gezeigter rows
- if ($fnum == 4) $tip = "vollständiges Datum in der Form 'yyyy-mm-tt' angeben"; else $tip = "";
- echo "<form action=" . $_SERVER['PHP_SELF'] . " method='post' enctype='application/x-www-form-urlencoded' id='ffilter' name='ffilter' target='_self'>\n";
- echo "<input type='hidden' name='s' value='$sort'>";
- echo "<input type='hidden' name='d' value='$dir'>";
- echo "<input type='hidden' name='f' value='$fnum'>";
- echo "<input type='hidden' name='i' value='$laid'>"; // nur gewaehlte Laser-ID
- echo "<table width=\"30%\" border=\"0\">\n";
- echo "<tr><td>filtern nach $text: </td>";
- echo "<td><input id='filter' name='filter' type=\"text\" size=\"10\" maxlength=\"30\" value=\"$filter\"/>";
- echo "<td>Zeilen/Seite? <select name='z'>\n";
- foreach ($azeil as $key=>$val)
- {
- if ($key == $zeil) $select = "selected"; else $select = "";
- echo "<option $select value='$key'>$val</option>\n";
- }
- echo "</select></td>\n";
- echo "<td><input class=\"button\" type=\"submit\" value=\"finden\" name=\"subf\" title=\"subf\" /></td></tr>";
- echo "<tr><td colspan='3'>$tip</td></tr></table>\n";
- echo "</form>\n";
- echo "<p> </p>\n";
- }
-
- echo "<table width='60%'>\n";
-
- if ($filter>'!') echo "<tr><td class='bigger' colspan='5'>Filter: ". $fields["$fnum"] . " wie '$filter'</td><tr>\n";
-
- // Listenkopf generieren
- echo "<tr bgcolor='#68ACBF'>";
- tab_column(2,"Las-ID",$sort,$dir,2,$fnum,$filter,$start,$zeil,$laid);
- tab_column(3,"Laser",$sort,$dir,3,$fnum,$filter,$start,$zeil,$laid);
- tab_column(4,"Log-Datum",$sort,$dir,4,$fnum,$filter,$start,$zeil,$laid);
- echo "<th width='60%'>Eintrag</th>";
- echo "<th> </th></tr>\n";
-
- if ($result)
- {
- // Logdaten anzeigen
- foreach ($result as $row)
- {
- if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
- if ($laid == $row->las_ID && $ldat == $row->log_date) $bg = "#D6E6E6";
- echo "<tr bgcolor='" . $bg . "'><td class='right'>$row->las_ID </td>";
- echo "<td>$row->las_bez</td>";
- if ($row->log_date)
- {
- $ld = new DateTime($row->log_date);
- echo "<td>" . $ld->format('d.m.Y H:i:s')."</td>";
- }
- if ($laid == $row->las_ID && $ldat == $row->log_date)
- { //Aenderungsform, nur Log-Eintrag
- $okn = true;
- if (!$la['bem']) $la['bem'] = $row->log_bem;
- echo "<form action='". $_SERVER['PHP_SELF'] ."' method='post' enctype='application/x-www-form-urlencoded' name='flas'>\n";
- echo "<td class='red'><textarea name=\"la[bem]\" id=\"bem\" rows=\"5\" cols=\"100\">" . $la['bem'] ."</textarea><br />";
- echo "<input type=\"hidden\" name=\"la[okn]\" value=\"$okn\"/>\n";
- echo "<input type=\"hidden\" name=\"i\" value=\"$laid\"/>\n"; // nur gewaehlte Laser-ID
- echo "<input type=\"hidden\" name=\"ld\" value=\"$ldat\"/>";
- echo "<input type=\"hidden\" name=\"st\" value=\"$start\"/>";
- echo "<input type=\"hidden\" name=\"z\" value=\"$zeil\"/>";
- if ($sub)
- {
- $frage = "Alle Angaben ok?";
- echo "$frage<input type=\"checkbox\" name=\"ok\" value=\"1\"";
- if ($ok) echo "checked=\"checked\"";
- echo "/> ";
- }
- echo "<input class=\"button\" type=\"submit\" name=\"eintragen\" value=\"eintragen\" /></td>";
- echo "</form>\n";
- echo "<td> </td>";
- }
- else
- {
- echo "<td>".nl2br($row->log_bem)."</td>";
- if (!is_null($_SESSION["recht"]) && in_array("le",$_SESSION["recht"]))
- echo "<td><a href='" . $_SERVER["PHP_SELF"]."?i=$row->las_ID&s=$start&z=$zeil&ld=" . urlencode($row->log_date) . // &f=$fnum&b=$filter&s=$sort&d=$dir&st=$st&z=$zeil
- "'><img src=\"/fhiiqm/img/edit.gif\" alt='edit Log-Eintrag' title='edit Log-Eintrag' border='0'/></a></td>";
- else echo "<td> </td>";
- }
- echo "</tr>\n";
- }
-// $dbc->result->free();
- }
-
- if ((!$ok || !$sub) && !$ldat && !is_null($_SESSION["recht"]) && in_array("le",$_SESSION["recht"]))
- {
- // Eingabe neuer Logbuch-Eintrag
- $okn = true;
- echo "<form action='". $_SERVER['PHP_SELF'] ."' method='post' enctype='application/x-www-form-urlencoded' name='flas'>\n";
- echo "<tr bgcolor='#D6E6E6'><td> </td><td>";
- echo "<select name=\"la[lid]\" id='lid'>";
- if ($laid) $wher = " WHERE las_ID = $laid "; else $wher = "";
- $sql = "SELECT las_ID, las_bez FROM Laser $wher ORDER BY 2";
- if ($res = $dbc -> queryObjectArray($sql))
- {
- $select = "";
- foreach ($res as $row)
- {
- if ($row->las_ID == $la['lid']) $select="selected"; else $select="";
- echo "<option $select value='$row->las_ID'>$row->las_ID - $row->las_bez</option>\n";
- }
- }
- if ($dbc->error) echo "error Laserliste: ".$dbc -> error."</br>";
- echo "</td><td valign=\"top\"><input class=\"long10\" type=\"text\" name=\"la[ldat]\" id=\"ldat\" value=\"" . $la['ldat']. "\"/>";
- echo "<br />Uhrzeitangabe notwendig, falls für LaserID Eintrag am selben Tag vorhanden.";
- if (isset($la['ldat']) && $la['ldat']< "!")
- {
- echo "<br><span class=\"red\">Log-Datum ist erforderlich!</span>\n";
- $okn = false;
- }
- echo "</td><td class='red'><textarea name=\"la[bem]\" id=\"bem\" rows=\"5\" cols=\"100\">" . $la['bem'] ."</textarea><br />";
- echo "<input type=\"hidden\" name=\"la[okn]\" value=\"$okn\"/>\n";
- echo "<input type=\"hidden\" name=\"i\" value=\"$laid\"/>\n"; // nur gewaehlte Laser-ID
- if ($sub)
- {
- $frage = "Alle Angaben ok?";
- echo "$frage<input type=\"checkbox\" name=\"ok\" value=\"1\"";
- if ($ok) echo "checked=\"checked\"";
- echo "/> ";
- }
- echo "<input class=\"button\" type=\"submit\" name=\"eintragen\" value=\"eintragen\" /></td>";
- echo "<td> </td></tr>\n";
- echo "</form>\n";
- }
-
- echo "</table>\n";
- echo "</div>\n";
-
- echo "<br /> ";
-
- // Sortierung und Filter aus $_GET fuer weitere Seiten
- foreach ($_GET as $key=>$val)
- {
- if ($key != "st") $liste .= "&" . $key ."=".$val;
- }
- // Sortierung und Filter aus $_POST fuer weitere Seiten
- if ($subf)
- foreach ($_POST as $key=>$val)
- {
- if ($key != "st" && $key != "subf" && $key != "filter") $liste .= "&" . $key ."=".$val;
- if ($key == "filter") $liste .= "&b=" . $val;
- }
-
- // Links auf andere Seiten generieren
- liste_links($start,$zeil,$anz,$liste);
-
- $dbc -> close();
- echo "<p> <a href=\"".$_SERVER["PHP_SELF"]."\" target=\"_self\" title=\"Laser-Log\" class=\"sc\">Log-Buch alle Laser</a></p>\n";
- echo "<p> <a href=\"/fhiiqm/laser_flist.php$getp\" target=\"_self\" title=\"Laserliste\" class=\"sc\">Laserliste</a></p>\n";
-
-
-?>
-</body>
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 01/2012
+ *
+ * Laser-Logbuch-Liste & Form
+ */
+
+ error_reporting(E_ALL ^ E_NOTICE);
+
+ session_start();
+ if (! isset($_SESSION["userid"]))
+ {
+ include_once ("inc/func_lib.inc.php");
+ login($_SERVER["PHP_SELF"]);
+ exit;
+ }
+
+ if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("lr",$_SESSION["recht"]) && !in_array("le",$_SESSION["recht"])))
+ {
+ header("Location: start.php");
+ exit;
+ }
+
+ include_once($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/inc/dbconnect.inc.php");
+ if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
+ include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
+
+?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <link type="text/css" href="/fhiiqm/css/db.css" rel="Stylesheet" media="screen"/>
+ <link type="text/css" href="/fhiiqm/css/db_print.css" rel="Stylesheet" media="print"/>
+ <link type="text/css" href="/fhiiqm/css/jquery/ui-lightness-1.8.21/jquery-ui-1.8.21.custom.css" rel="Stylesheet" />
+ <link type="text/css" href="/fhiiqm/css/jquery/jquery-ui-timepicker-addon.css" rel="Stylesheet" />
+ <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-1.7.2.min.js"></script>
+ <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-ui-1.8.21.custom.min.js"></script>
+ <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-ui-timepicker-addon-1.0.1.js"></script>
+ <title>Laser-Logbuch</title>
+ </head>
+
+ <body>
+
+ <script>
+ $(document).ready(function() {
+ $("#lid").focus();
+ $("#ldat").datetimepicker({
+ dateFormat: 'yy-mm-dd',
+ timeFormat: 'hh:mm:ss', //damit kann auch Uhrzeit angegeben werden
+ yearRange: '2000:2020',
+ changeMonth: true,
+ changeYear: true,
+ firstDay: 1,
+ dayNamesMin: ['So','Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa' ],
+ monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'],
+ timeText: 'Uhrzeit',
+ hourText: 'Stunde',
+ currentText: 'Jetzt',
+ closeText: 'OK'
+ });
+// $("input[id='ldat']").addClass("long10");
+ });
+ </script>
+
+<?php
+ // Eingabeformular
+ $la = $_POST["la"];
+ $laid = $_GET["i"];
+ if (!$laid) $laid = $_POST["i"];
+ if (!$laid) $laid=0;
+ $sub = $_POST["eintragen"]; // submit Log-Form
+ $ok = $_POST["ok"];
+ if (!$la['okn']) $ok=false;
+
+ $ldat = urldecode($_GET["ld"]); // Log-Datum aus edit
+ if (!$ldat) $ldat = $_POST["ld"];
+ if (!$ldat) $ldat = "0";
+// echo "ldat: $ldat, " . urlencode($ldat) . ", ". urldecode($ldat). "<br />";
+
+ $start = $_GET["st"];
+ $zeil = $_GET["z"];
+ $sort = $_GET["s"]; // Sortierung nach Spalte
+ $dir = $_GET["d"]; // Sortierrichtung
+ $fnum = $_GET["f"]; // Spaltennummer, nach der aktuell gefiltert wird
+ $filter = $_GET["b"]; // Filterbegriff
+ // $_GET-Parameter zurück zur Laserliste mit den selben Einstellungen wie zuvor
+ $getp = "?s=$sort&d=$dir&f=$fnum&b=$filter&st=$start&z=$zeil";
+
+ // Felder, nach denen gefiltert werden kann
+ $fields = array(2=>"Laser-ID",3=>"Laser",4=>"Log-Datum");
+
+ // Anzahl der gezeigten Zeilen, Start ab Zeile
+ $zeil = $_GET["z"];
+ if (!$zeil) $zeil = $_POST["z"];
+ if (!$zeil) $zeil = 10;
+ $start = $_GET["st"];
+ if (!$start) $start=0;
+
+ $sort = $_GET["s"]; // Sortierung nach Spalte
+ if (!isset($sort) && !$sort) $sort = $_POST["s"];
+
+ $dir = $_GET["d"]; // Sortierrichtung
+ if (!isset($dir) && !$dir) $dir = $_POST["d"];
+
+ $fnum = $_GET["f"]; // Spaltennummer, nach der aktuell gefiltert wird
+ if (!isset($fnum) && !$fnum) $fnum = $_POST["f"];
+
+ $filter = $_POST["filter"];
+ if (!isset($filter) && !$filter) $filter = $_GET["b"];
+
+ $subf = $_POST["subf"]; // submit Filter
+
+ if (!isset($fnum) || !$fnum) $fnum = 1;
+ if (!isset($filter) || !$filter) $filter = "";
+ if (!isset($sort) || !$sort) $sort = 2;
+ if (!isset($dir) || !$dir) $dir = "";
+
+
+ echo " ";
+ echo "<div class=\"float-br smaller\" valign='top'>";
+ echo " user: " . $_SESSION["userid"];
+ echo " <a class='sc' href='/fhiiqm/logout.php' title='Session beenden'>logout</a></div>\n";
+ echo "<div class=\"float-r\"><img src=\"img/laser.png\" border=\"0\" alt=\"Laser\" title=\"Laser\"/></div>\n";
+
+ if ($ok && $sub) // Daten Laser-Logbuch speichern
+ {
+ if (!$ldat)
+ {
+ try
+ {
+ $logdate = new DateTime($la["ldat"]);
+ $ok=1;
+ }
+ catch(Exception $e)
+ {
+ echo "<p class='red'>fehlerhaftes Datum-Zeit-Feld: ".$e->getMessage(). "</p>";
+ $la["ldat"] = null;
+ $ok=0;
+ }
+ }
+ if ($ok)
+ {
+ $la["bem"] = substr($la["bem"],0,500);
+ $stmt = $dbc -> stmtinit();
+ if (is_object($stmt))
+ {
+ if (!$ldat)
+ { // neuer Eintrag
+ $stmt -> prepare("INSERT INTO fhiiqm.Laser_Logbuch (las_ID,log_date,log_bem) VALUES (?,?,?)");
+ $stmt -> bind_param('iss',$la["lid"],$la["ldat"],$la["bem"]);
+ $res = $stmt -> execute();
+ // print_r($stmt); echo "<br /><br />";
+ if ($stmt->error) echo "INSERT Laser-Logbuch, error: " . $stmt->errno . " - ". $stmt->error . "<br><br>\n";
+ }
+ else
+ { // log-bem aendern
+ $stmt -> prepare("UPDATE fhiiqm.Laser_Logbuch SET log_bem = ? WHERE las_ID=? AND log_date=?");
+ $stmt -> bind_param('sis',$la["bem"],$laid,$ldat);
+ $res = $stmt -> execute();
+ if ($stmt->error) echo "UPDATE Laser-Logbuch, error: " . $stmt->errno . " - ". $stmt->error . "<br><br>\n";
+ }
+ $stmt -> free_result(); // wegen weiterer query
+ if (!$la["lid"])
+ {
+ $la["lid"]=$laid;
+ $savetxt = "UPDATE";
+ $ldat = "0"; // neue Eingabe ermoeglichen
+ }
+ else $savetxt = "INSERT";
+ $sql = "SELECT las_bez FROM fhiiqm.Laser WHERE las_ID = " . $la["lid"];
+ $lbez = $dbc -> querySingleItem($sql);
+ if ($res)
+ {
+ echo "<p class='green'><b>$savetxt: Daten zu '".$lbez."' wurden erfolgreich gespeichert.</b></p>\n";
+ unset($la);
+ $sub = 0;
+ }
+ else
+ echo "<p class='red'><b>$savetxt: Daten zu '".$lbez."' konnten nicht gespeichert werden!</b></p>\n";
+ }
+ }
+ }
+
+ // Log-Eintraege holen
+ $sql = "CALL laser_log_flist($sort,'" . $dir . "',$fnum, '" . $filter . "',$start,$zeil,$laid,@anz);";
+ // Parameter: Nr. Sortfeld, Sortierrichtung, Nr. Filterfeld, Filterbegriff, Startsatz(0), Anzahl zu liefernde DS, Laser-ID, Anzahl gefundener Laser
+ // liefert: las_ID, las_ID,las_bez, log_date,log_bem
+/* $sql = "SELECT b.las_ID,las_bez, log_date,log_bem
+ FROM `fhiiqm`.`Laser_Logbuch` b INNER JOIN Laser l
+ ON b.las_ID=l.las_ID";
+*/
+ $result = $dbc ->queryObjectArray($sql);
+ if ($dbc -> error)
+ echo "error: " . $dbc -> error . "<br />\n";
+
+ if (!$result)
+ {
+ echo "<p class='red'> Leider nichts gefunden für ". $fields["$fnum"] . " wie '$filter'!<br />";
+ }
+
+ $bg1 = "#F8F8F8";
+ $bg2 = "#DEDFE1";
+ $bg = "#FFFFFF";
+
+ echo "<div align='center'>\n";
+ echo "<p><b>Laser - Logbuch</b></p>\n";
+ echo "<table border='0' cellspacing='0'>\n";
+ echo "<tr><td class='bigger'>Mittels '<img src='/fhiiqm/img/auf.gif' border='0' width='11' hight='11' />' / '<img src='/fhiiqm/img/ab.gif' border='0' width='11' hight='11' />'
+ können Sie nach relevanten Spalten auf- bzw. absteigend sortieren</td></tr>
+ <tr><td class='bigger'>'<img src='/fhiiqm/img/filter.gif' border='0' width='14' hight='11' />' ermöglicht das Filtern nach ausgewählten Spalten der Liste</td></tr>\n";
+ echo "</table>\n";
+
+ if ($result) $anz = $dbc -> querySingleItem("SELECT @anz"); else $anz = 0;
+ if ($dbc -> error) echo "error Anzahl: " . $dbc -> error . "<br />\n";
+ if ($laid) $laser = " für Laser-ID=$laid"; else $laser = "";
+ printf ("<p>Anzahl Logbucheinträge$laser: %s</p>", $anz);
+
+ if (isset($fnum) && $fnum>1 && !$filter && !$subf)
+ {
+ // Formular anzeigen fuer Filterbegriff
+ $text = $fields[$fnum];
+ $azeil = array(10=>'10',20=>'20',25=>'25',50=>'50',100=>'100',9999=>'alle'); // Anzahl gezeigter rows
+ if ($fnum == 4) $tip = "vollständiges Datum in der Form 'yyyy-mm-tt' angeben"; else $tip = "";
+ echo "<form action=" . $_SERVER['PHP_SELF'] . " method='post' enctype='application/x-www-form-urlencoded' id='ffilter' name='ffilter' target='_self'>\n";
+ echo "<input type='hidden' name='s' value='$sort'>";
+ echo "<input type='hidden' name='d' value='$dir'>";
+ echo "<input type='hidden' name='f' value='$fnum'>";
+ echo "<input type='hidden' name='i' value='$laid'>"; // nur gewaehlte Laser-ID
+ echo "<table width=\"30%\" border=\"0\">\n";
+ echo "<tr><td>filtern nach $text: </td>";
+ echo "<td><input id='filter' name='filter' type=\"text\" size=\"10\" maxlength=\"30\" value=\"$filter\"/>";
+ echo "<td>Zeilen/Seite? <select name='z'>\n";
+ foreach ($azeil as $key=>$val)
+ {
+ if ($key == $zeil) $select = "selected"; else $select = "";
+ echo "<option $select value='$key'>$val</option>\n";
+ }
+ echo "</select></td>\n";
+ echo "<td><input class=\"button\" type=\"submit\" value=\"finden\" name=\"subf\" title=\"subf\" /></td></tr>";
+ echo "<tr><td colspan='3'>$tip</td></tr></table>\n";
+ echo "</form>\n";
+ echo "<p> </p>\n";
+ }
+
+ echo "<table width='70%'>\n";
+
+ if ($filter>'!') echo "<tr><td class='bigger' colspan='5'>Filter: ". $fields["$fnum"] . " wie '$filter'</td><tr>\n";
+
+ // Listenkopf generieren
+ echo "<tr bgcolor='#68ACBF'>";
+ tab_column(2,"Las-ID",$sort,$dir,2,$fnum,$filter,$start,$zeil,$laid);
+ tab_column(3,"Laser",$sort,$dir,3,$fnum,$filter,$start,$zeil,$laid);
+ tab_column(4,"Log-Datum",$sort,$dir,4,$fnum,$filter,$start,$zeil,$laid);
+ echo "<th width='60%'>Eintrag</th>";
+ echo "<th> </th></tr>\n";
+
+ if ($result)
+ {
+ // Logdaten anzeigen
+ foreach ($result as $row)
+ {
+ if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
+ if ($laid == $row->las_ID && $ldat == $row->log_date) $bg = "#D6E6E6";
+ echo "<tr bgcolor='" . $bg . "'><td class='right'>$row->las_ID </td>";
+ echo "<td>$row->las_bez</td>";
+ if ($row->log_date)
+ {
+ $ld = new DateTime($row->log_date);
+ echo "<td>" . $ld->format('d.m.Y H:i:s')."</td>";
+ }
+ if ($laid == $row->las_ID && $ldat == $row->log_date)
+ { //Aenderungsform, nur Log-Eintrag
+ $okn = true;
+ if (!$la['bem']) $la['bem'] = $row->log_bem;
+ echo "<form action='". $_SERVER['PHP_SELF'] ."' method='post' enctype='application/x-www-form-urlencoded' name='flas'>\n";
+ echo "<td class='red'><textarea name=\"la[bem]\" id=\"bem\" rows=\"5\" cols=\"100\">" . $la['bem'] ."</textarea><br />";
+ echo "<input type=\"hidden\" name=\"la[okn]\" value=\"$okn\"/>\n";
+ echo "<input type=\"hidden\" name=\"i\" value=\"$laid\"/>\n"; // nur gewaehlte Laser-ID
+ echo "<input type=\"hidden\" name=\"ld\" value=\"$ldat\"/>";
+ echo "<input type=\"hidden\" name=\"st\" value=\"$start\"/>";
+ echo "<input type=\"hidden\" name=\"z\" value=\"$zeil\"/>";
+ if ($sub)
+ {
+ $frage = "Alle Angaben ok?";
+ echo "$frage<input type=\"checkbox\" name=\"ok\" value=\"1\"";
+ if ($ok) echo "checked=\"checked\"";
+ echo "/> ";
+ }
+ echo "<input class=\"button\" type=\"submit\" name=\"eintragen\" value=\"eintragen\" /></td>";
+ echo "</form>\n";
+ echo "<td> </td>";
+ }
+ else
+ {
+ echo "<td>".nl2br($row->log_bem)."</td>";
+ if (!is_null($_SESSION["recht"]) && in_array("le",$_SESSION["recht"]))
+ echo "<td><a href='" . $_SERVER["PHP_SELF"]."?i=$row->las_ID&s=$start&z=$zeil&ld=" . urlencode($row->log_date) . // &f=$fnum&b=$filter&s=$sort&d=$dir&st=$st&z=$zeil
+ "'><img src=\"/fhiiqm/img/edit.gif\" alt='edit Log-Eintrag' title='edit Log-Eintrag' border='0'/></a></td>";
+ else echo "<td> </td>";
+ }
+ echo "</tr>\n";
+ }
+// $dbc->result->free();
+ }
+
+ if ((!$ok || !$sub) && !$ldat && !is_null($_SESSION["recht"]) && in_array("le",$_SESSION["recht"]))
+ {
+ // Eingabe neuer Logbuch-Eintrag
+ $okn = true;
+ echo "<form action='". $_SERVER['PHP_SELF'] ."' method='post' enctype='application/x-www-form-urlencoded' name='flas'>\n";
+ echo "<tr bgcolor='#D6E6E6'><td> </td><td>";
+ echo "<select name=\"la[lid]\" id='lid'>";
+ if ($laid) $wher = " WHERE las_ID = $laid "; else $wher = "";
+ $sql = "SELECT las_ID, las_bez FROM Laser $wher ORDER BY 2";
+ if ($res = $dbc -> queryObjectArray($sql))
+ {
+ $select = "";
+ foreach ($res as $row)
+ {
+ if ($row->las_ID == $la['lid']) $select="selected"; else $select="";
+ echo "<option $select value='$row->las_ID'>$row->las_ID - $row->las_bez</option>\n";
+ }
+ }
+ if ($dbc->error) echo "error Laserliste: ".$dbc -> error."</br>";
+ echo "</td><td valign=\"top\"><input class=\"long10\" type=\"text\" name=\"la[ldat]\" id=\"ldat\" value=\"" . $la['ldat']. "\"/>";
+ echo "<br />Uhrzeitangabe notwendig, falls für LaserID Eintrag am selben Tag vorhanden.";
+ if (isset($la['ldat']) && $la['ldat']< "!")
+ {
+ echo "<br><span class=\"red\">Log-Datum ist erforderlich!</span>\n";
+ $okn = false;
+ }
+ echo "</td><td class='red'><textarea name=\"la[bem]\" id=\"bem\" rows=\"5\" cols=\"100\">" . $la['bem'] ."</textarea><br />";
+ echo "<input type=\"hidden\" name=\"la[okn]\" value=\"$okn\"/>\n";
+ echo "<input type=\"hidden\" name=\"i\" value=\"$laid\"/>\n"; // nur gewaehlte Laser-ID
+ if ($sub)
+ {
+ $frage = "Alle Angaben ok?";
+ echo "$frage<input type=\"checkbox\" name=\"ok\" value=\"1\"";
+ if ($ok) echo "checked=\"checked\"";
+ echo "/> ";
+ }
+ echo "<input class=\"button\" type=\"submit\" name=\"eintragen\" value=\"eintragen\" /></td>";
+ echo "<td> </td></tr>\n";
+ echo "</form>\n";
+ }
+
+ echo "</table>\n";
+ echo "</div>\n";
+
+ echo "<br /> ";
+
+ // Sortierung und Filter aus $_GET fuer weitere Seiten
+ foreach ($_GET as $key=>$val)
+ {
+ if ($key != "st") $liste .= "&" . $key ."=".$val;
+ }
+ // Sortierung und Filter aus $_POST fuer weitere Seiten
+ if ($subf)
+ foreach ($_POST as $key=>$val)
+ {
+ if ($key != "st" && $key != "subf" && $key != "filter") $liste .= "&" . $key ."=".$val;
+ if ($key == "filter") $liste .= "&b=" . $val;
+ }
+
+ // Links auf andere Seiten generieren
+ liste_links($start,$zeil,$anz,$liste);
+
+ $dbc -> close();
+ echo "<p> <a href=\"".$_SERVER["PHP_SELF"]."\" target=\"_self\" title=\"Laser-Log\" class=\"sc\">Log-Buch alle Laser</a></p>\n";
+ echo "<p> <a href=\"/fhiiqm/laser_flist.php$getp\" target=\"_self\" title=\"Laserliste\" class=\"sc\">Laserliste</a></p>\n";
+
+
+?>
+</body>
</html>
\ No newline at end of file