--- a/fhiiqm/vertrag_ed.php Wed Jul 31 15:10:48 2013 +0200
+++ b/fhiiqm/vertrag_ed.php Thu Sep 12 09:04:56 2013 +0200
@@ -1,466 +1,470 @@
-<?php
-
-/**
- * @author Bettina Schwarzer, Fritz-Haber-Institut
- * @copyright 03/2013
- *
- * INSERT/UPDATE/DELETE Vertragsdaten
- */
-
- 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("vr",$_SESSION["recht"]) && !in_array("ve",$_SESSION["recht"])))
- {
- header("Location: start.php");
- exit;
- }
-
-?>
-<!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 href="css/db.css" rel="STYLESHEET" type="TEXT/CSS" media="screen"/>
- <link href="css/db_print.css" rel="STYLESHEET" type="TEXT/CSS" media="print"/>
- <link type="text/css" href="/fhiiqm/css/jquery/ui-lightness-1.8.21/jquery-ui-1.8.21.custom.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>
-
- <title>Aktualisieren Vertragsdaten</title>
-
- <script type="text/javascript">
- //<!--
- var counter = 0;
- var limit = 99;
- function addInput(divId,anz){
- if (counter == limit) {
- alert("Das Limit von " + counter + " zusätzlichen inputs ist erreicht");
- }
- else
- {
- var cdiv = document.createElement('div');
- var idl = "cbl_" + anz;
- cdiv.innerHTML = "<span></span>Dok-Name <input name='vertrag[cfname][]' type='text' size='50' maxlength='50' value='' />";
- cdiv.innerHTML += " Schlagwort <input type='text' name='vertrag[swort][]' size='30' maxlength='50' value='' />";
- cdiv.innerHTML += "<img src='/fhiiqm/img/nixt.gif' border='0' height='100%' />";
- //cdiv.innerHTML += "<span id='cbl'> <input type='checkbox' id='del' name='vertrag[del][]' value='1'/></span>";
- cdiv.innerHTML += "<span id='cbl'> <input type='checkbox' id='del' name='vertrag[del][]' value='1'/>";
- cdiv.innerHTML += "<label id='lb' for='del'> löschen</label></span>";
- cdiv.innerHTML += "<br />Upload-Dokument <input type='file' name='vfile[]' size='50' maxlength='50' value='' />";
- document.getElementById(divId).appendChild(cdiv);
- var delcb = document.getElementById('del');
- delcb.id = "del_" + anz;
- delcb.style.display = 'none';
- var lcb = document.getElementById('lb');
- lcb.id = "lb_" + anz;
- lcb.setAttribute("for", delcb.id);
- lcb.style.display = 'none';
- counter++;
- }
- }
- function markdelInput(divId,anz){
- for (i=1; i<anz; i++)
- {
- var id = "del_" + i;
- var delcb = document.getElementById(id);
- delcb.style.display = 'inline';
- var idl = "lb_" + i;
- var lcb = document.getElementById(idl);
- lcb.style.display = 'inline';
- /*
- var newlabel = document.createElement("Label");
- var idl = "cbl_" + i;
- newlabel.setAttribute("for",id);
- newlabel.innerHTML = " löschen?";
- document.getElementById(idl).appendChild(newlabel);
- */
- }
- }
- function delInput(divId,anz){
-
- var kn = document.getElementById(divId);
- while (kn.childNodes.length>0 && kn.lastChild.nodeName != "SPAN" && kn.lastChild.nodeName != "A")
- {
- var knc = kn.lastChild;
- document.getElementById(divId).removeChild(knc);
- }
- if (kn.lastChild.nodeName == "SPAN") document.getElementById(divId).removeChild(kn.lastChild);
- }
- //-->
- </script>
-</head>
-
-<body>
-
- <script>
- $(document).ready(function() {
- $("#bez").focus();
- $("#bdat").datepicker({
- dateFormat: 'yy-mm-dd', //nur Datum
- yearRange: '1990:2030',
- 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']
- });
- $("#edat").datepicker({
- dateFormat: 'yy-mm-dd', //nur Datum
- yearRange: '1990:2030',
- 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']
- });
- });
- </script>
-<?php
- 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/document_mark_as_final.png\" border=\"0\" alt=\"Vertragsdaten bearbeiten\" title=\"Vertragsdaten bearbeiten\"/></div>\n";
-
- include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
- include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
- $dbc = new dbconnection();
-
- $cid = $_GET["uid"];
- $zeil = $_GET["z"];
- if (!$zeil) $zeil = 20; // Anzahl der gezeigten Zeilen
- $start = $_GET["st"]; // Start bei DS $start+1
- if (!$start) $start=0;
- $sort = $_GET["s"]; // Sortierung nach Spalte
- $dir = $_GET["d"]; // Sortierrichtung
- $fnum = $_GET["f"]; // Spaltennummer, nach der aktuell gefiltert wird
- $filter = $_GET["b"]; // Filterbegriff
- $teil = $_GET["t"]; // t = 2 zu Vertragsliste Teil 2 zurueck
- $mfile = $_GET["g"]; // Multifile = mehrere Vertragsdokumente moeglich
- if ($teil == 2) $tlist = "vertrag_flist12.php"; else $tlist = "vertrag_flist1.php";
- // $_GET-Parameter zurück zur Vertragliste mit den selben Einstellungen wie zuvor
- $getp = "s=$sort&d=$dir&f=$fnum&b=$filter&st=$start&z=$zeil&g=$mfile";
-
- $ok = $_POST["ok"];
- $sub = $_POST["edit"];
- $del = $_POST["del"];
- $vtr = $_POST["vertrag"];
- if (!$vtr['okn']) $ok=false;
-
-//print_r($vtr); echo "cid = $cid<br /><br />";
-//print_r($_FILES); echo "<br /><br />";
-
- if (!$ok && ((!$sub && !$del) || $sub || $del))
- {
- if (!$sub && !$del)
- {
- $sql = "SELECT contract_ID,contract_name,contract_s,contract_l,vtyp_ID,contract_begin,contract_end,
- contract_autoend,contract_mon_notice,contract_file,Bemerkung,email_send
- FROM fhiiqm.Vertrag WHERE contract_ID = $cid";
- if ($result = $dbc ->queryObjectArray($sql))
- {
- foreach ($result as $row)
- {
- $vtr['cname'] = $row->contract_name;
-// $vtr['cshort'] = $row->contract_s;
- $vtr['clong'] = $row->contract_l;
- $vtr['vtyp'] = $row->vtyp_ID;
- $vtr['bdat'] = $row->contract_begin;
- $vtr['edat'] = $row->contract_end;
- $vtr['cautoend']= $row->contract_autoend;
- $vtr['cnot'] = $row->contract_mon_notice;
-// $vtr['cfname'][0] = $row->contract_file;
- $vtr['cbem'] = $row->Bemerkung;
- $vtr['email'] = $row->email_send;
- }
- }
- // Bearbeiter
- $sql = "SELECT persknr FROM Vertrag_Bearbeiter WHERE contract_ID = $cid";
- if ($result = $dbc ->queryObjectArray($sql))
- {
- foreach ($result as $row)
- {
- $vtr['cpers'][] = $row->persknr;
- }
- }
- // Partner
- $sql = "SELECT part_ID FROM Vertrag_Partner WHERE contract_ID = $cid";
- if ($result = $dbc -> queryObjectArray($sql))
- {
- foreach ($result as $row)
- {
- $vtr['partid'] = $row->part_ID;
- }
- }
- // Produkt
- $sql = "SELECT produkt_ID FROM Produkt_Vertrag WHERE contract_ID = $cid";
- if ($result = $dbc -> queryObjectArray($sql))
- {
- foreach ($result as $row)
- {
- $vtr['prodid'] = $row->produkt_ID;
- }
- }
- // Kosten
- if ($vtr['edat'])
- {
- $jahr = new DateTime($vtr['edat']);
- $ejahr = $jahr->format('Y');
- }
- elseif ($vtr["cautoend"] && !$vtr['edat']) // automatische Vertragsverlaengerung und kein Endjahr angegeben
- $ejahr = date("Y");
- else
- {
- $jahr = new DateTime($vtr['bdat']); // Kosten nur im Startjahr
- $ejahr = $jahr->format('Y');
- }
- if ($vtr['bdat'])
- {
- $jahr = new DateTime($vtr['bdat']);
- $bjahr = $jahr->format('Y');
- }
- for ($i=(int)$bjahr; $i< (int)$ejahr +1; $i++)
- { $ayear[] = $i; }
- $sql = "SELECT k_year, kosten FROM Vertrag_Kosten WHERE contract_ID = $cid ORDER BY k_year ";
- if ($result = $dbc -> queryObjectArray($sql))
- {
- foreach ($result as $row)
- {
- $j = array_search($row->k_year,$ayear);
- if ( $j > -1 )
- $vtr['kost'][$j] = str_replace('.',',',$row->kosten);
- }
- }
- // Dokumente
- $sql = "SELECT cf_filename, cf_schlagwort FROM Vertrag_File WHERE contract_ID = $cid ORDER BY cf_ID";
- if ($result = $dbc -> queryObjectArray($sql))
- {
- foreach ($result as $row)
- {
- $vtr['cfname'][] = $row->cf_filename;
- $vtr['swort'][] = $row->cf_schlagwort;
- }
- }
- }
-
- include_once("form/vertragmf_form.inc.php");
-
- if ($sub || $del)
- {
- if ($sub)
- $frage = "Alle Angaben ok?<br>
- erst wenn Haken gesetzt, Upload-Files wählen!";
- elseif ($del)
- $frage = "Vertrag wirklich löschen?";
- echo "<tr>
- <td class=\"red\" valign=\"top\" align=\"left\">$frage</td>
- <td><input type=\"checkbox\" name=\"ok\" value=\"1\"";
- if ($ok) echo "checked";
- echo "></td>\n</tr>\n";
- }
-
- if (!is_null($_SESSION["recht"]) && in_array("ve",$_SESSION["recht"]))
- {
- echo "<tr>\n";
- echo "
- <td> </td>
- <td><input class=\"button\" type=\"submit\" value=\"eintragen\" name=\"edit\" title=\"eintragen\" />";
- if ($cid)
- echo " <input class=\"buttonr\" type=\"submit\" value=\"löschen\" name=\"del\" title=\"delete\" />";
- echo "</td>\n</tr>\n";
- }
- echo "</table>\n";
- echo "</div>\n";
-// if (!is_null($_SESSION["recht"]) && !in_array("ve",$_SESSION["recht"]))
- echo "<p class='sc'> <a href=\"$tlist?$getp\" target=\"_self\" title=\"Vertragsliste\">« zur Vertragsliste</a></p>\n";
- echo "</form>\n";
-
- }
- elseif ($ok && $sub)
- {
- echo "<div align='center'>\n";
- //daten speichern
-
- $vtr['cname'] = substr($vtr['cname'],0,50);
-// $vtr['cshort'] = substr($vtr['cshort'],0,50);
- $vtr['clong'] = substr($vtr['clong'],0,100);
- if ($vtr['vtyp']== -1 || !(is_numeric($vtr['vtyp']))) $vtr['vtyp'] = null;
- if ($vtr["bdat"] == "") $vtr["bdat"] = null;
- if ($vtr["edat"] == "") $vtr["edat"] = null;
- if (!is_numeric($vtr['cnot'])) $vtr['cnot'] = null;
- if ($vtr['cbem']) $vtr['cbem'] = substr($vtr['cbem'],0,500); else $vtr['cbem']=null;
-
- if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
- include_once ("inc/file_upload.inc.php");
-
- $stmt = $dbc -> stmtinit();
- if (is_object($stmt))
- {
- // contract_file = ?, $cfile
- if ($cid)
- {
- $stmt -> prepare("UPDATE fhiiqm.Vertrag SET
- contract_name = ?,
- contract_l = ?,
- vtyp_ID = ?,
- contract_begin = ?,
- contract_end = ?,
- contract_autoend = ?,
- contract_mon_notice = ?,
- Bemerkung = ?,
- email_send = ?
- WHERE contract_ID = $cid") ;
- $stmt -> bind_param('ssissiisi',$vtr["cname"],$vtr["clong"],$vtr['vtyp'],$vtr['bdat'],$vtr['edat'],$vtr['cautoend'],$vtr['cnot'],$vtr['cbem'],$vtr["email"]);
- $retv = $stmt -> execute();
- if (!$retv) echo "UPDATE Vertrag, error: " . $stmt->errno . " - ". $stmt->error ."<br />\n";
- }
- else
- {
- $stmt -> prepare("INSERT INTO Vertrag (contract_name, contract_l,vtyp_ID,contract_begin, contract_end, contract_autoend,
- contract_mon_notice, bemerkung,email_send)
- VALUES(?,?,?,?,?,?,?,?,?)");
- $stmt -> bind_param('ssissiisi',$vtr["cname"],$vtr["clong"],$vtr['vtyp'],$vtr['bdat'],$vtr['edat'],$vtr['cautoend'],$vtr['cnot'],$vtr['cbem'],$vtr["email"]);
- $retv = $stmt -> execute();
- if (!$retv || $stmt->error) echo "INSERT Vertrag, error: " . $stmt->errno . " - ". $stmt->error . "<br><br>\n";
- if ($retv)
- { // INSERT o.k.
- // contract_ID ermitteln
- $cid = $dbc -> insertId();
- }
- }
- }
- if ($cid)
- {
- $len = strlen($cid)+1;
- // alte Namen Vertragsdocument
- $sql = "SELECT cf_filename FROM Vertrag_File WHERE contract_ID = $cid ORDER BY cf_ID";
- if ($res = $dbc -> queryObjectArray($sql))
- foreach ($res as $row)
- $vfile_old[] = $row->cf_filename;
-
- // zu loeschende docs auf Server
- foreach ($vtr['cfname'] as $key => &$val)
- {
- if (isset($vtr['del'][$key]) && $vtr['del'][$key])
- {
- $retf = $retf && mod_file("/var/www/fhiiqm/documents",$cid,"","del",$val); // Loeschen altes File auf Server
- $val = null;
- }
- }
- // upload File, wenn vorhanden
- $retf = 1;
- if (isset($_FILES) && is_array($_FILES))
- {
- foreach ($vtr['cfname'] as $key => &$filena)
- {
- $filena = gen_filename($filena,$_FILES['vfile']['name'][$key],$cid,0);
- if ($_FILES["vfile"]["error"][$key] == UPLOAD_ERR_NO_FILE)
- {
- if ($filena > "!" && $cid."_".$filena != $vfile_old[$key])
- {
- if (substr($filena,0,$len) != "$cid_") $filenam = $cid . "_" . $filena; else $filenam = $filena;
- $retf = $retf && mod_file("/var/www/fhiiqm/documents",$cid,$filenam,"upd",$vfile_old[$key]); // Umbenennen alte Datei
- }
- elseif (!$filena || $filena == '')
- $retf = $retf && mod_file("/var/www/fhiiqm/documents",$cid,"","del",$vfile_old[$key]); // Loeschen alte Datei
- else //kein Upload, keine Dateinamenaenderung
- $retf = 1;
- }
- if ($_FILES["vfile"]["error"][$key] == UPLOAD_ERR_OK)
- {
- if (isset($vfile_old[$key]) && $filena > "!" && $cid."_".$filena != $vfile_old[$key])
- {
- $retf = $retf && mod_file("/var/www/fhiiqm/documents",$cid,"","del",$vfile_old[$key]); // Loeschen alte Datei
- }
- }
- }
- if (isset($_FILES['vfile']['error']) && is_array($_FILES['vfile']['error']) && in_array(0,$_FILES['vfile']['error']))
- {
- $ret = upload_multif("vfile", $vtr['cfname'], $cid, $dir="documents");
- if ($ret) echo "<p class='green'><b>Dateien zu ID '$cid' wurden erfolgreich hochgeladen.</b></p>\n";
- else echo "<p class='red'><b>Upload für einige Dateien zu ID '$cid' ist fehlgeschlagen.</b></p>\n";
- }
- else $ret = 1;
- }
-
- if ($retv && $ret && $retf)
- {
- // DELETE, INSERT n:m Tabellen
- include ("inc/vertragtab_ins.inc.php");
- }
-
- if ($retv && $retb && $retp && $retd && $retk && $retf && $retl)
- {//Eingabe Daten, Upload File erfolgreich
- echo "<p class='green'><b>Vertragsdaten zu ID '$cid' wurden erfolgreich gespeichert.</b></p>\n";
- echo "<br /><br />\n";
-
- // Anzeigen gespeicherte Vertragsdaten
- include ("inc/vertrag_dat_show.inc.php");
- }
- else echo "retv=$retv,
- retb=$retb,
- retp=$retp,
- retd=$retd,
- retk=$retk,
- retf=$retf,
- retl=$retl<br /><br />";
- }
- }
- elseif ($ok && $del)
- {
- // DELETE aus Tab Vertrag und abhaengigen Tabellen
- echo "<div align='center'>\n";
-
- // alte Namen Vertragsdocument
- $sql = "SELECT cf_filename FROM Vertrag_File WHERE contract_ID = $cid ORDER BY cf_ID";
- if ($res = $dbc -> queryObjectArray($sql))
- foreach ($res as $row)
- $vfile_old[] = $row->cf_filename;
- $sql = "DELETE FROM Vertrag WHERE contract_ID = $cid";
- $retvd = $dbc -> execute($sql);
- if ($retvd)
- {
- foreach ($vtr['cfname'] as $key => $filename)
- $retf = $retf && mod_file("/var/www/fhiiqm/documents",$cid,"","del",$vfile_old[$key]); // Loeschen alte Datei
- if ($retdf) echo "<p class='green'><b>Vertragsdokumente zu ID '$cid' wurde gelöscht.</b></p>\n";
- echo "<p class='green'><b>Vertragsdaten zu ID '$cid' wurden gelöscht.</b></p>\n";
- echo "<br /><br />\n";
-
- // Anzeigen geloeschter Vertragsdaten
- include ("inc/vertrag_dat_show.inc.php");
- }
- }
- if ($ok && ($sub || $del))
- {
-/*
- // nicht mehr notwendige Dateien auf Server löschen
- if (count($vtr['cfname']) != count($vfile_old))
- {
- foreach ($vfile_old as $key => $val)
- {
-print_r($vtr['cfname']); echo "$val in delete<br /><br />";
- $valk = substr($val,$len);
- if (!in_array($valk,$vtr['cfname']))
- $retf = $retf && mod_file("/var/www/fhiiqm/documents",$cid,"","del",$val); // Loeschen alte Datei
- }
- }
-print_r($vtr['cfname']); echo "nach delete?<br /><br />";
-*/
- echo "</div><br /><br />\n";
- echo "<p class='sc'> <a href=\"$tlist?$getp\" target=\"_self\" title=\"Vertragsliste\">Zurück zur Vertragsliste</a></p>\n";
- echo "<p class='sc'> <a href=\"vertrag_ed.php\" target=\"_self\" title=\"Vertrag erfassen\">Weiteren Vertrag erfassen</a></p>\n";
- }
-
-?>
-
-</body>
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 03/2013
+ *
+ * INSERT/UPDATE/DELETE Vertragsdaten
+ */
+
+ 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("vr",$_SESSION["recht"]) && !in_array("ve",$_SESSION["recht"])))
+ {
+ header("Location: start.php");
+ exit;
+ }
+
+?>
+<!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 href="css/db.css" rel="STYLESHEET" type="TEXT/CSS" media="screen"/>
+ <link href="css/db_print.css" rel="STYLESHEET" type="TEXT/CSS" media="print"/>
+ <link type="text/css" href="/fhiiqm/css/jquery/ui-lightness-1.8.21/jquery-ui-1.8.21.custom.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>
+
+ <title>Aktualisieren Vertragsdaten</title>
+
+ <script type="text/javascript">
+ //<!--
+ var counter = 0;
+ var limit = 99;
+ function addInput(divId,anz){
+ if (counter == limit) {
+ alert("Das Limit von " + counter + " zusätzlichen inputs ist erreicht");
+ }
+ else
+ {
+ var cdiv = document.createElement('div');
+ var idl = "cbl_" + anz;
+ cdiv.innerHTML = "<span></span>Dok-Name <input name='vertrag[cfname][]' type='text' size='50' maxlength='50' value='' />";
+ cdiv.innerHTML += " Schlagwort <input type='text' name='vertrag[swort][]' size='30' maxlength='50' value='' />";
+ cdiv.innerHTML += "<img src='/fhiiqm/img/nixt.gif' border='0' height='100%' />";
+ //cdiv.innerHTML += "<span id='cbl'> <input type='checkbox' id='del' name='vertrag[del][]' value='1'/></span>";
+ cdiv.innerHTML += "<span id='cbl'> <input type='checkbox' id='del' name='vertrag[del][]' value='1'/>";
+ cdiv.innerHTML += "<label id='lb' for='del'> löschen</label></span>";
+ cdiv.innerHTML += "<br />Upload-Dokument <input type='file' name='vfile[]' size='50' maxlength='50' value='' />";
+ document.getElementById(divId).appendChild(cdiv);
+ var delcb = document.getElementById('del');
+ delcb.id = "del_" + anz;
+ delcb.style.display = 'none';
+ var lcb = document.getElementById('lb');
+ lcb.id = "lb_" + anz;
+ lcb.setAttribute("for", delcb.id);
+ lcb.style.display = 'none';
+ counter++;
+ }
+ }
+ function markdelInput(divId,anz){
+ for (i=1; i<anz; i++)
+ {
+ var id = "del_" + i;
+ var delcb = document.getElementById(id);
+ delcb.style.display = 'inline';
+ var idl = "lb_" + i;
+ var lcb = document.getElementById(idl);
+ lcb.style.display = 'inline';
+ /*
+ var newlabel = document.createElement("Label");
+ var idl = "cbl_" + i;
+ newlabel.setAttribute("for",id);
+ newlabel.innerHTML = " löschen?";
+ document.getElementById(idl).appendChild(newlabel);
+ */
+ }
+ }
+ function delInput(divId,anz){
+
+ var kn = document.getElementById(divId);
+ while (kn.childNodes.length>0 && kn.lastChild.nodeName != "SPAN" && kn.lastChild.nodeName != "A")
+ {
+ var knc = kn.lastChild;
+ document.getElementById(divId).removeChild(knc);
+ }
+ if (kn.lastChild.nodeName == "SPAN") document.getElementById(divId).removeChild(kn.lastChild);
+ }
+ //-->
+ </script>
+</head>
+
+<body>
+
+ <script>
+ $(document).ready(function() {
+ $("#bez").focus();
+ $("#bdat").datepicker({
+ dateFormat: 'yy-mm-dd', //nur Datum
+ yearRange: '1990:2030',
+ 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']
+ });
+ $("#edat").datepicker({
+ dateFormat: 'yy-mm-dd', //nur Datum
+ yearRange: '1990:2030',
+ 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']
+ });
+ });
+ </script>
+<?php
+ 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/document_mark_as_final.png\" border=\"0\" alt=\"Vertragsdaten bearbeiten\" title=\"Vertragsdaten bearbeiten\"/></div>\n";
+
+ include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
+ include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
+ $dbc = new dbconnection();
+
+ $cid = $_GET["uid"];
+ $zeil = $_GET["z"];
+ if (!$zeil) $zeil = 20; // Anzahl der gezeigten Zeilen
+ $start = $_GET["st"]; // Start bei DS $start+1
+ if (!$start) $start=0;
+ $sort = $_GET["s"]; // Sortierung nach Spalte
+ $dir = $_GET["d"]; // Sortierrichtung
+ $fnum = $_GET["f"]; // Spaltennummer, nach der aktuell gefiltert wird
+ $filter = $_GET["b"]; // Filterbegriff
+ $teil = $_GET["t"]; // t = 2 zu Vertragsliste Teil 2 zurueck
+ $mfile = $_GET["g"]; // Multifile = mehrere Vertragsdokumente moeglich
+ if ($teil == 2) $tlist = "vertrag_flist12.php"; else $tlist = "vertrag_flist1.php";
+ // $_GET-Parameter zurück zur Vertragliste mit den selben Einstellungen wie zuvor
+ $getp = "s=$sort&d=$dir&f=$fnum&b=$filter&st=$start&z=$zeil&g=$mfile";
+
+ $ok = $_POST["ok"];
+ $sub = $_POST["edit"];
+ $del = $_POST["del"];
+ $vtr = $_POST["vertrag"];
+ if (!$vtr['okn']) $ok=false;
+
+//print_r($vtr); echo "cid = $cid<br /><br />";
+//print_r($_FILES); echo "<br /><br />";
+
+ if (!$ok && ((!$sub && !$del) || $sub || $del))
+ {
+ if (!$sub && !$del)
+ {
+ $sql = "SELECT contract_ID,contract_name,contract_s,contract_l,vtyp_ID,contract_begin,contract_end,
+ contract_autoend,contract_mon_notice,contract_file,Bemerkung,email_send,timestamp,userid
+ FROM fhiiqm.Vertrag WHERE contract_ID = $cid";
+ if ($result = $dbc ->queryObjectArray($sql))
+ {
+ foreach ($result as $row)
+ {
+ $vtr['cname'] = $row->contract_name;
+// $vtr['cshort'] = $row->contract_s;
+ $vtr['clong'] = $row->contract_l;
+ $vtr['vtyp'] = $row->vtyp_ID;
+ $vtr['bdat'] = $row->contract_begin;
+ $vtr['edat'] = $row->contract_end;
+ $vtr['cautoend']= $row->contract_autoend;
+ $vtr['cnot'] = $row->contract_mon_notice;
+// $vtr['cfname'][0] = $row->contract_file;
+ $vtr['cbem'] = $row->Bemerkung;
+ $vtr['email'] = $row->email_send;
+ $vtr['tstmp'] = $row->timestamp;
+ $vtr['uid'] = $row->userid;
+ }
+ }
+ // Bearbeiter
+ $sql = "SELECT persknr FROM Vertrag_Bearbeiter WHERE contract_ID = $cid";
+ if ($result = $dbc ->queryObjectArray($sql))
+ {
+ foreach ($result as $row)
+ {
+ $vtr['cpers'][] = $row->persknr;
+ }
+ }
+ // Partner
+ $sql = "SELECT part_ID FROM Vertrag_Partner WHERE contract_ID = $cid";
+ if ($result = $dbc -> queryObjectArray($sql))
+ {
+ foreach ($result as $row)
+ {
+ $vtr['partid'] = $row->part_ID;
+ }
+ }
+ // Produkt
+ $sql = "SELECT produkt_ID FROM Produkt_Vertrag WHERE contract_ID = $cid";
+ if ($result = $dbc -> queryObjectArray($sql))
+ {
+ foreach ($result as $row)
+ {
+ $vtr['prodid'] = $row->produkt_ID;
+ }
+ }
+ // Kosten
+ if ($vtr['edat'])
+ {
+ $jahr = new DateTime($vtr['edat']);
+ $ejahr = $jahr->format('Y');
+ }
+ elseif ($vtr["cautoend"] && !$vtr['edat']) // automatische Vertragsverlaengerung und kein Endjahr angegeben
+ $ejahr = date("Y");
+ else
+ {
+ $jahr = new DateTime($vtr['bdat']); // Kosten nur im Startjahr
+ $ejahr = $jahr->format('Y');
+ }
+ if ($vtr['bdat'])
+ {
+ $jahr = new DateTime($vtr['bdat']);
+ $bjahr = $jahr->format('Y');
+ }
+ for ($i=(int)$bjahr; $i< (int)$ejahr +1; $i++)
+ { $ayear[] = $i; }
+ $sql = "SELECT k_year, kosten FROM Vertrag_Kosten WHERE contract_ID = $cid ORDER BY k_year ";
+ if ($result = $dbc -> queryObjectArray($sql))
+ {
+ foreach ($result as $row)
+ {
+ $j = array_search($row->k_year,$ayear);
+ if ( $j > -1 )
+ $vtr['kost'][$j] = str_replace('.',',',$row->kosten);
+ }
+ }
+ // Dokumente
+ $sql = "SELECT cf_filename, cf_schlagwort FROM Vertrag_File WHERE contract_ID = $cid ORDER BY cf_ID";
+ if ($result = $dbc -> queryObjectArray($sql))
+ {
+ foreach ($result as $row)
+ {
+ $vtr['cfname'][] = $row->cf_filename;
+ $vtr['swort'][] = $row->cf_schlagwort;
+ }
+ }
+ }
+
+ include_once("form/vertragmf_form.inc.php");
+
+ if ($sub || $del)
+ {
+ if ($sub)
+ $frage = "Alle Angaben ok?<br>
+ erst wenn Haken gesetzt, Upload-Files wählen!";
+ elseif ($del)
+ $frage = "Vertrag wirklich löschen?";
+ echo "<tr>
+ <td class=\"red\" valign=\"top\" align=\"left\">$frage</td>
+ <td><input type=\"checkbox\" name=\"ok\" value=\"1\"";
+ if ($ok) echo "checked";
+ echo "></td>\n</tr>\n";
+ }
+
+ if (!is_null($_SESSION["recht"]) && in_array("ve",$_SESSION["recht"]))
+ {
+ echo "<tr>\n";
+ echo "
+ <td> </td>
+ <td><input class=\"button\" type=\"submit\" value=\"eintragen\" name=\"edit\" title=\"eintragen\" />";
+ if ($cid)
+ echo " <input class=\"buttonr\" type=\"submit\" value=\"löschen\" name=\"del\" title=\"delete\" />";
+ echo "</td>\n</tr>\n";
+ }
+ echo "</table>\n";
+ echo "</div>\n";
+// if (!is_null($_SESSION["recht"]) && !in_array("ve",$_SESSION["recht"]))
+ echo "<p class='sc'> <a href=\"$tlist?$getp\" target=\"_self\" title=\"Vertragsliste\">« zur Vertragsliste</a></p>\n";
+ echo "</form>\n";
+
+ }
+ elseif ($ok && $sub)
+ {
+ echo "<div align='center'>\n";
+ //daten speichern
+ $userid = $_SESSION["userid"];
+
+ $vtr['cname'] = substr($vtr['cname'],0,50);
+// $vtr['cshort'] = substr($vtr['cshort'],0,50);
+ $vtr['clong'] = substr($vtr['clong'],0,100);
+ if ($vtr['vtyp']== -1 || !(is_numeric($vtr['vtyp']))) $vtr['vtyp'] = null;
+ if ($vtr["bdat"] == "") $vtr["bdat"] = null;
+ if ($vtr["edat"] == "") $vtr["edat"] = null;
+ if (!is_numeric($vtr['cnot'])) $vtr['cnot'] = null;
+ if ($vtr['cbem']) $vtr['cbem'] = substr($vtr['cbem'],0,500); else $vtr['cbem']=null;
+
+ if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
+ include_once ("inc/file_upload.inc.php");
+
+ $stmt = $dbc -> stmtinit();
+ if (is_object($stmt))
+ {
+ // contract_file = ?, $cfile
+ if ($cid)
+ {
+ $stmt -> prepare("UPDATE fhiiqm.Vertrag SET
+ contract_name = ?,
+ contract_l = ?,
+ vtyp_ID = ?,
+ contract_begin = ?,
+ contract_end = ?,
+ contract_autoend = ?,
+ contract_mon_notice = ?,
+ Bemerkung = ?,
+ email_send = ?,
+ userid = ?
+ WHERE contract_ID = $cid") ;
+ $stmt -> bind_param('ssissiisis',$vtr["cname"],$vtr["clong"],$vtr['vtyp'],$vtr['bdat'],$vtr['edat'],$vtr['cautoend'],$vtr['cnot'],$vtr['cbem'],$vtr["email"],$userid);
+ $retv = $stmt -> execute();
+ if (!$retv) echo "UPDATE Vertrag, error: " . $stmt->errno . " - ". $stmt->error ."<br />\n";
+ }
+ else
+ {
+ $stmt -> prepare("INSERT INTO Vertrag (contract_name, contract_l,vtyp_ID,contract_begin, contract_end, contract_autoend,
+ contract_mon_notice, bemerkung,email_send,userid)
+ VALUES(?,?,?,?,?,?,?,?,?,?)");
+ $stmt -> bind_param('ssissiisis',$vtr["cname"],$vtr["clong"],$vtr['vtyp'],$vtr['bdat'],$vtr['edat'],$vtr['cautoend'],$vtr['cnot'],$vtr['cbem'],$vtr["email"],$userid);
+ $retv = $stmt -> execute();
+ if (!$retv || $stmt->error) echo "INSERT Vertrag, error: " . $stmt->errno . " - ". $stmt->error . "<br><br>\n";
+ if ($retv)
+ { // INSERT o.k.
+ // contract_ID ermitteln
+ $cid = $dbc -> insertId();
+ }
+ }
+ }
+ if ($cid)
+ {
+ $len = strlen($cid)+1;
+ // alte Namen Vertragsdocument
+ $sql = "SELECT cf_filename FROM Vertrag_File WHERE contract_ID = $cid ORDER BY cf_ID";
+ if ($res = $dbc -> queryObjectArray($sql))
+ foreach ($res as $row)
+ $vfile_old[] = $row->cf_filename;
+
+ // zu loeschende docs auf Server
+ foreach ($vtr['cfname'] as $key => &$val)
+ {
+ if (isset($vtr['del'][$key]) && $vtr['del'][$key])
+ {
+ $retf = $retf && mod_file("/var/www/fhiiqm/documents",$cid,"","del",$val); // Loeschen altes File auf Server
+ $val = null;
+ }
+ }
+ // upload File, wenn vorhanden
+ $retf = 1;
+ if (isset($_FILES) && is_array($_FILES))
+ {
+ foreach ($vtr['cfname'] as $key => &$filena)
+ {
+ $filena = gen_filename($filena,$_FILES['vfile']['name'][$key],$cid,0);
+ if ($_FILES["vfile"]["error"][$key] == UPLOAD_ERR_NO_FILE)
+ {
+ if ($filena > "!" && $cid."_".$filena != $vfile_old[$key])
+ {
+ if (substr($filena,0,$len) != "$cid_") $filenam = $cid . "_" . $filena; else $filenam = $filena;
+ $retf = $retf && mod_file("/var/www/fhiiqm/documents",$cid,$filenam,"upd",$vfile_old[$key]); // Umbenennen alte Datei
+ }
+ elseif (!$filena || $filena == '')
+ $retf = $retf && mod_file("/var/www/fhiiqm/documents",$cid,"","del",$vfile_old[$key]); // Loeschen alte Datei
+ else //kein Upload, keine Dateinamenaenderung
+ $retf = 1;
+ }
+ if ($_FILES["vfile"]["error"][$key] == UPLOAD_ERR_OK)
+ {
+ if (isset($vfile_old[$key]) && $filena > "!" && $cid."_".$filena != $vfile_old[$key])
+ {
+ $retf = $retf && mod_file("/var/www/fhiiqm/documents",$cid,"","del",$vfile_old[$key]); // Loeschen alte Datei
+ }
+ }
+ }
+ if (isset($_FILES['vfile']['error']) && is_array($_FILES['vfile']['error']) && in_array(0,$_FILES['vfile']['error']))
+ {
+ $ret = upload_multif("vfile", $vtr['cfname'], $cid, $dir="documents");
+ if ($ret) echo "<p class='green'><b>Dateien zu ID '$cid' wurden erfolgreich hochgeladen.</b></p>\n";
+ else echo "<p class='red'><b>Upload für einige Dateien zu ID '$cid' ist fehlgeschlagen.</b></p>\n";
+ }
+ else $ret = 1;
+ }
+
+ if ($retv && $ret && $retf)
+ {
+ // DELETE, INSERT n:m Tabellen
+ include ("inc/vertragtab_ins.inc.php");
+ }
+
+ if ($retv && $retb && $retp && $retd && $retk && $retf && $retl)
+ {//Eingabe Daten, Upload File erfolgreich
+ echo "<p class='green'><b>Vertragsdaten zu ID '$cid' wurden erfolgreich gespeichert.</b></p>\n";
+ echo "<br /><br />\n";
+
+ // Anzeigen gespeicherte Vertragsdaten
+ include ("inc/vertrag_dat_show.inc.php");
+ }
+ else echo "retv=$retv,
+ retb=$retb,
+ retp=$retp,
+ retd=$retd,
+ retk=$retk,
+ retf=$retf,
+ retl=$retl<br /><br />";
+ }
+ }
+ elseif ($ok && $del)
+ {
+ // DELETE aus Tab Vertrag und abhaengigen Tabellen
+ echo "<div align='center'>\n";
+
+ // alte Namen Vertragsdocument
+ $sql = "SELECT cf_filename FROM Vertrag_File WHERE contract_ID = $cid ORDER BY cf_ID";
+ if ($res = $dbc -> queryObjectArray($sql))
+ foreach ($res as $row)
+ $vfile_old[] = $row->cf_filename;
+ $sql = "DELETE FROM Vertrag WHERE contract_ID = $cid";
+ $retvd = $dbc -> execute($sql);
+ if ($retvd)
+ {
+ foreach ($vtr['cfname'] as $key => $filename)
+ $retf = $retf && mod_file("/var/www/fhiiqm/documents",$cid,"","del",$vfile_old[$key]); // Loeschen alte Datei
+ if ($retdf) echo "<p class='green'><b>Vertragsdokumente zu ID '$cid' wurde gelöscht.</b></p>\n";
+ echo "<p class='green'><b>Vertragsdaten zu ID '$cid' wurden gelöscht.</b></p>\n";
+ echo "<br /><br />\n";
+
+ // Anzeigen geloeschter Vertragsdaten
+ include ("inc/vertrag_dat_show.inc.php");
+ }
+ }
+ if ($ok && ($sub || $del))
+ {
+/*
+ // nicht mehr notwendige Dateien auf Server löschen
+ if (count($vtr['cfname']) != count($vfile_old))
+ {
+ foreach ($vfile_old as $key => $val)
+ {
+print_r($vtr['cfname']); echo "$val in delete<br /><br />";
+ $valk = substr($val,$len);
+ if (!in_array($valk,$vtr['cfname']))
+ $retf = $retf && mod_file("/var/www/fhiiqm/documents",$cid,"","del",$val); // Loeschen alte Datei
+ }
+ }
+print_r($vtr['cfname']); echo "nach delete?<br /><br />";
+*/
+ echo "</div><br /><br />\n";
+ echo "<p class='sc'> <a href=\"$tlist?$getp\" target=\"_self\" title=\"Vertragsliste\">Zurück zur Vertragsliste</a></p>\n";
+ echo "<p class='sc'> <a href=\"vertrag_ed.php\" target=\"_self\" title=\"Vertrag erfassen\">Weiteren Vertrag erfassen</a></p>\n";
+ }
+
+?>
+
+</body>
</html>
\ No newline at end of file