--- a/fhiiqm/css/db.css Wed Feb 27 09:43:08 2013 +0100
+++ b/fhiiqm/css/db.css Tue Mar 26 15:41:01 2013 +0100
@@ -128,6 +128,10 @@
text-decoration: none;
background-color: #DAFAFA}
+.dispil
+{
+ display: inline;
+}
.red
{
color: #FF0000;
@@ -274,3 +278,10 @@
font-style: normal;
color: #000066;
}
+
+h6{
+ font-family: Verdana, Arial, Helvetica, Geneva, sans-serif;
+ font-size: 1px;
+ font-style: normal;
+ color: #000066;
+ }
--- a/fhiiqm/form/prozess_form.inc.php Wed Feb 27 09:43:08 2013 +0100
+++ b/fhiiqm/form/prozess_form.inc.php Tue Mar 26 15:41:01 2013 +0100
@@ -28,12 +28,12 @@
<?php
if (isset($pz['bez']) && $pz['bez']<'!')
{
- echo "<br><span class=\"red\">Prozessbezeichnung ist erforderlich!</span>\n";
+ echo "<br><span class=\"red\">Projektbezeichnung ist erforderlich!</span>\n";
$okn = false;
}
if ($pzid)
{
- echo " Prozess-ID";
+ echo " Projekt-ID";
echo " <input class='read right' name='pz[pzid]' type='text' size='5' value='" .$pz['pzid']."' readonly='readonly' />";
}
?>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fhiiqm/form/vertragmf_form.inc.php Tue Mar 26 15:41:01 2013 +0100
@@ -0,0 +1,349 @@
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 03/2013
+ *
+ * Form Vertrag Multifile
+ */
+
+ include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
+ if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
+ $okn = true;
+
+?>
+<div align="center">
+<?php
+ if (!is_null($_SESSION["recht"]) && !in_array("ve",$_SESSION["recht"]))
+ $text = "";
+ else
+ if (!$cid) $text = "Eingabe"; else $text="Ändern / Löschen";
+?>
+<h3><font face="Verdana, Arial, Helvetica, sans-serif"><?php echo $text;?> Vertragsdaten</font></h3>
+<h5>* - Felder sind erforderlich!</h5>
+</div>
+<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" name="form_vertrag" target="_self">
+<div align="center">
+<table width="70%" border="0" cellspacing="3" cellpadding="3">
+<!-- <tr>
+ <td>Vertrag-ID *</td>
+ <td><input name="vertrag[cid]" type="text" size="10" maxlength="6" value="<?php echo $vtr['cid']; ?>"/>
+ <?php
+ /* if (isset($vtr['cid']) && $vtr['cid']<'!')
+ {
+ echo "<br><span class=\"red\">ID ist erforderlich!</span>\n";
+ $okn = false;
+ }
+ else
+ $okn = true; */
+ ?>
+ </td>
+ </tr>
+-->
+ <tr>
+ <td>Vertragsbezeichnung *</td>
+ <td><input name="vertrag[cname]" id="bez" type="text" size="50" maxlength="50" value="<?php echo $vtr['cname']; ?>"/>
+ <?php
+ if (isset($vtr['cname']) && $vtr['cname']<'!')
+ {
+ echo "<br><span class=\"red\">Bezeichnung ist erforderlich!</span>\n";
+ $okn = false;
+ }
+ else
+ if ($okn) $okn = true; else $okn=false;
+ ?>
+ </td>
+ </tr>
+<!-- <tr>
+ <td>Vertrag Titel</td>
+ <td><input name="vertrag[cshort]" type="text" size="30" maxlength="50" value="<?php echo $vtr['cshort']; ?>"/></td>
+ </tr>
+-->
+ <tr>
+ <td>Vertrag Beschreibung</td>
+ <td><textarea name="vertrag[clong]" cols="50" rows="2"><?php echo $vtr['clong']; ?></textarea>
+ <div>max. 100 Zeichen sind möglich</div></td>
+ </tr>
+ <tr>
+ <td>Vertrag-Typ</td>
+ <td><select name="vertrag[vtyp]">
+ <?php
+ if ($vtr['vtyp'] == -1) $select = " selected "; else $select = "";
+ echo "<option $select value=\"-1\"></option>\n";
+ $sql = "SELECT vtyp_ID, vtyp_bezeichnung FROM Vertrag_Typ ORDER BY 2";
+ if ($result = $dbc->queryObjectArray($sql))
+ {
+ foreach ($result as $row)
+ {
+ if ($row->vtyp_ID == $vtr['vtyp'])
+ echo "<option selected value=\"$row->vtyp_ID\">$row->vtyp_bezeichnung</option>\n";
+ else
+ echo "<option value=\"$row->vtyp_ID\">$row->vtyp_bezeichnung</option>\n";
+ }
+ }
+ ?>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>Datum Vertragbeginn</td>
+ <td><input class="long10" name="vertrag[bdat]" id="bdat" value="<?php echo $vtr['bdat']; ?>" />
+ </tr>
+ <tr>
+ <td>Datum Vertragende</td>
+ <td><input class="long10" name="vertrag[edat]" id="edat" value="<?php echo $vtr['edat']; ?>" />
+ <?php
+ if ($vtr['bdat'] && $vtr['edat'])
+ {
+ $dat = $vtr['edat'];
+ $edate = new DateTime("$dat");
+ $edate = $edate->add(new DateInterval('P1D'));
+ $dat = $vtr['bdat'];
+ $bdate = new DateTime("$dat");
+ $diff = $edate->diff($bdate);
+ echo "<br />Vertragsdauer: ".$diff->format('%y Jahr(e), %m Monat(e), %d Tag(e)');
+ }
+ ?>
+ </td>
+ </tr>
+ <tr>
+ <td>automatische Verlängerung</td>
+ <td><input name="vertrag[cautoend]" type="checkbox" value="1" <?php if ($vtr["cautoend"]) echo "checked";?>/></td>
+ </tr>
+ <tr>
+ <td>Kündigungsfrist<br />(Monate vor Ablauf)</td>
+ <td><input name="vertrag[cnot]" type="text" size="10" maxlength="3" value="<?php echo $vtr['cnot']; ?>"/></td>
+ </tr>
+ <tr>
+ <td>autom. E-Mail vor Vertr.-Ende</td>
+ <td><input name="vertrag[email]" type="checkbox" value="1" <?php if ($vtr["email"]) echo "checked";?>/></td>
+ </tr>
+ <tr>
+ <td>Partner (Firma)</td>
+ <td>
+ <select name="vertrag[partid]">
+ <?php
+ if ($vtr['partid'] == -1) $select = " selected "; else $select = "";
+ echo "<option $select value=\"-1\"></option>\n";
+ $sql = "SELECT part_ID, part_firma FROM Partner ORDER BY 2";
+ if ($result = $dbc->queryObjectArray($sql))
+ {
+ foreach ($result as $row)
+ {
+ if ($row->part_ID == $vtr['partid'])
+ echo "<option selected value=\"$row->part_ID\">$row->part_firma</option>\n";
+ else
+ echo "<option value=\"$row->part_ID\">$row->part_firma</option>\n";
+ }
+ //$result->free();
+ }
+ ?>
+ </select> oder neu
+ <input name="vertrag[partner]" type="text" size="30" maxlength="50" value="<?php echo $vtr['partner']; ?>"/>
+ </td>
+ </tr>
+ <tr>
+ <td>Ansprechpartner FHI <br /><br />
+ Mehrfachauswahl möglich:<br />
+ [Strg]-Taste + Anklicken der<br />
+ gewünschten Listeneinträge
+ </td>
+ <td>
+ <select name="vertrag[cpers][]" size="7" multiple="multiple">
+ <?php
+ $select = null;
+ if (is_array($vtr['cpers'])) $select = in_array( "-1", $vtr['cpers'] ) ? ' selected' : null;
+ echo "<option $select value=\"-1\"></option>\n";
+ $sql = "SELECT persknr, CONCAT (nachname, ', ',vorname,' (',CASE aktiv WHEN 1 THEN 'aktiv' ELSE 'inaktiv' END, ')') as pname FROM fhiiqm.Mitarbeiter WHERE aktiv < 2 ORDER BY 2";
+ if ($result = $dbc->queryObjectArray($sql))
+ {
+ foreach ($result as $row)
+ {
+ if (is_array($vtr['cpers'])) $select = in_array( $row->persknr, $vtr['cpers'] ) ? ' selected' : null;
+ echo "<option $select value=\"$row->persknr\">$row->pname</option>\n";
+ }
+ }
+ ?>
+ </select>
+ </td>
+ </tr>
+ <?php
+ if ($vtr['bdat'])
+ {
+ echo "<tr>
+ <td>jährliche Teilbrutto-Kosten (€)</td><br />
+ <td>";
+ $j=0;
+ if ($vtr['edat'])
+ {
+ $dat = $vtr['edat'];
+ $edate = new DateTime("$dat");
+ $ejahr = $edate->format("Y");
+ }
+ elseif ($vtr["cautoend"]) // automatische Vertragsverlaengerung und kein Endjahr angegeben
+ $ejahr = date("Y");
+ else
+ $ejahr = null;
+ if ($ejahr)
+ {
+ $dat = $vtr['bdat'];
+ $bdate = new DateTime("$dat");
+ $bjahr = $bdate->format("Y");
+ for ($i=(int)$bjahr; $i<(int)$ejahr+1; $i++ )
+ {
+ echo "<input name=\"vertrag[kjahr][$j]\" type=\"text\" size=\"4\" value=\"$i\"/> ";
+ echo "<input class='right' name=\"vertrag[kost][$j]\" type=\"text\" value=\"" . $vtr['kost'][$j] . "\"/><br />\n";
+ $j++;
+ }
+ }
+ else
+ {
+ echo "<input name=\"vertrag[kjahr][$j]\" type=\"text\" size=\"4\" value=\"" . $vtr['bjahr'] . "\"/> ";
+ echo "<input class='right' name=\"vertrag[kost][$j]\" type=\"text\" value=\"" . $vtr['kost'][$j] . "\"/>";
+ }
+
+ echo "</td>
+ </tr>";
+ }
+ ?>
+ <tr>
+ <td>zugeordnet zu </td>
+ <td>
+ <select name="vertrag[prodid]">
+ <?php
+ if ($vtr['prodid'] == -1) $select = " selected "; else $select = "";
+ echo "<option $select value=\"-1\"></option>\n";
+// $sql = "SELECT produkt_ID, LEFT(prod_name,70) AS prod, LENGTH(prod_name) AS lenp FROM Produkt ORDER BY 2";
+/* if ($result = $dbc->queryObjectArray($sql))
+ {
+ foreach ($result as $row)
+ {
+ if ($row->lenp > 70) $prod=$row->prod ."..."; else $prod=$row->prod;
+ if ($row->produkt_ID == $vtr['prodid'])
+ echo "<option selected value=\"$row->produkt_ID\">$prod</option>\n";
+ else
+ echo "<option value=\"$row->produkt_ID\">$prod</option>\n";
+ }
+ }
+*/
+ // Recht Produktgruppe beruecksichtigen
+ if (is_array($_SESSION["prodg"]))
+ {
+ foreach ($_SESSION["prodg"] as $val)
+ $listg .= "," .$val;
+ $listg = substr($listg,1);
+ $sql = "CALL fhiiqm.hier_prodgroup('$listg')";
+ }
+ else
+ $sql = "CALL fhiiqm.prod_hiera_all(0,0)";
+ if ($result = $dbc->queryObjectArray($sql))
+ {
+ foreach ($result as $row)
+ {
+ if (strlen($row->bez) > 70)
+ $prod=str_replace(" "," ",htmlentities(substr($row->bez,0,70))) ."...";
+ else
+ $prod=str_replace(" "," ",htmlentities($row->bez));
+ if ($row->prid >0) $color=" class='green'"; else $color="";
+ if ($row->prid == $vtr['prodid'])
+ echo "<option $color selected value=\"$row->prid\">$prod</option>\n";
+ else
+ echo "<option $color value=\"$row->prid\">$prod</option>\n";
+ }
+ }
+ unset($row);
+ unset($result);
+ $sql=null;
+ ?>
+ </select>
+ <br />bitte nur die <font color="green">grünen</font> Einträge wählen
+ </td>
+ </tr>
+ <tr>
+ <td>Bemerkung</td>
+ <td><textarea name="vertrag[cbem]" cols="50" rows="5"><?php echo $vtr['cbem']; ?></textarea>
+ <div>max. 500 Zeichen sind möglich</div></td>
+ </tr>
+ <?php
+ if (isset($vtr['cfname'])) $anzdoc = count($vtr['cfname']); else $anzdoc = 1;
+ echo
+ "<tr>
+ <td>Vertragsdokumente
+ <br /> bitte <u>keine</u> Umlaute<br /> in gewählten Dateinamen angeben!</td>
+ <td><div id='adddoc'>
+ <span></span>\nDok-Name <input name=\"vertrag[cfname][]\" type=\"text\" size=\"50\" maxlength=\"50\" value=\"". $vtr['cfname'][0] ."\" />
+
+ Schlagwort <input type='text' name=vertrag[swort][] size=\"30\" maxlength=\"50\" value='".$vtr['swort'][0]."' />";
+ echo "<input class='pr' type='checkbox' id='del_0' name='vertrag[del][0]' value='1'/>";
+ echo " <a href=\"javascript:addInput('adddoc',$anzdoc)\" title=\"weiteres Dokument\"><img src=\"/fhiiqm/img/add.png\" /></a>
+ <a href=\"javascript:markdelInput('adddoc',$anzdoc)\" title=\"löschen markiertes Dokument\"><img src=\"/fhiiqm/img/delete.png\" /></a>";
+ if (isset($vtr['cfname'][0]) && $vtr['cfname'][0]<'!')
+ {
+ echo "<br /><span class=\"red\">Dateiname ist erforderlich!</span>\n";
+ $okn = false;
+ }
+ else
+ if ($vtr['cfname'][0]>='!' && $okn) $okn = true; else $okn = false;
+ if ($sub)
+ {
+ echo "<br />Upload-Dokument
+ <input type=\"file\" name=\"vfile[]\" size=\"50\" maxlength=\"50\" value=\"" .$_FILES["vfile"]["name"][0] . "\"/>";
+ }
+ if ($sub || (isset($vtr) && !$ok))
+ {
+ if (count($vtr['cfname'])>1)
+ {
+ $i=0;
+ foreach ($vtr['cfname'] as $akt)
+ {
+ if ($i>0)
+ {
+ echo "<span></span><br />\nDok-Name
+ <input name=\"vertrag[cfname][]\" type=\"text\" size=\"50\" maxlength=\"50\" value=\"". $vtr['cfname'][$i] ."\" />
+
+ Schlagwort <input type='text' name=vertrag[swort][] size=\"30\" maxlength=\"50\" value='".$vtr['swort'][$i]."' />";
+ if (isset($vtr['del'])) $cls = "dispil"; else $cls = "pr";
+ if (isset($vtr['del'][$i])) $chk = "checked = ' checked'"; else $chk ="";
+ echo "<span id='cbl_$i'> <input class='$cls' type='checkbox' id='del_$i' name='vertrag[del][$i]' value='1'$chk /></span>
+ <span id='lb_$i'class=$cls> löschen?</span>";
+ if (isset($vtr['cfname'][$i]) && $vtr['cfname'][$i]<'!')
+ {
+ echo "<br><span class=\"red\">Dateiname ist erforderlich!</span>\n";
+ $okn = false;
+ }
+ else
+ if ($vtr['cfname'][$i]>='!' && $okn) $okn = true; else $okn = false;
+ echo "<img src='/fhiiqm/img/nixt.gif' border='0' height='100%' />\n";
+ if ($sub)
+ {
+ echo "<br />Upload-Dokument
+ <input type=\"file\" name=\"vfile[]\" size=\"50\" maxlength=\"50\" value=\"" .$_FILES["vfile"]["name"][$i] . "\"/>";
+ }
+ }
+ $i++;
+ }
+ }
+ }
+ echo "
+ </div>";
+ if (count($vtr['cfname'])>0)
+ {
+ $i=0;
+ foreach ($vtr['cfname'] as $akt)
+ {
+ if ($vtr['cfname'][$i]>='!' && file_exists("documents/".$vtr['cfname'][$i]))
+ echo "<br />Dokument anschauen: <a href='/fhiiqm/documents/" . $vtr['cfname'][$i] ."'>" . $vtr['cfname'][$i] . "</a>";
+ $i++;
+ }
+ }
+
+ echo "</td>
+ </tr>\n";
+ ?>
+
+ <input type="hidden" name="MAX_FILE_SIZE" value="10000000"/>
+ <input type="hidden" name="vertrag[okn]" value="<?php echo $okn; ?>"/>
+
+<!-- </table>
+ </div>
+</form> -->
\ No newline at end of file
Binary file fhiiqm/img/linelightblue.gif has changed
--- a/fhiiqm/inc/file_upload.inc.php Wed Feb 27 09:43:08 2013 +0100
+++ b/fhiiqm/inc/file_upload.inc.php Tue Mar 26 15:41:01 2013 +0100
@@ -60,11 +60,80 @@
else
{
echo "<p class=\"red\">Upload von '" . $_FILES[$ufile]["name"]."' nicht möglich!<br>$errupl1<br>$errupl2<br>$errupl3</p>\n";
- echo "<p><br><a href=\"sc_desc_update.php\">Upload bitte wiederholen</a><br></p>\n";
+ echo "<p>Upload bitte wiederholen</p>\n";
return false;
}
}
+function upload_multif($ufile, $fname, $id, $dir="documents")
+{
+ /**
+ * prueft Uploadfile und verschiebt es in gewaehltes Verzeichnis
+ * Parameter
+ * $ufile = upload-File-Array: name <input>-Felder
+ * $fname = gewaehltes filenamen-Array
+ * $id = ID
+ * $dir = Verzeichnisname der Upload-Files
+ */
+
+ $errupl1 = null;
+ $errupl2 = null;
+ $errupl3 = null;
+ $ret = true;
+ // Test filesize, filetyp
+ foreach ($_FILES[$ufile]['error'] as $key => $error)
+ {
+ if ($error == UPLOAD_ERR_OK)
+ {
+ if ($_FILES[$ufile]['size'][$key] < 1) $errupl1 .= $_FILES[$ufile]['name'][$key].": File ist leer! ";
+ if ($_FILES[$ufile]['size'][$key] > 32000000) $errupl1 .= $_FILES[$ufile]['name'][$key].": File > 32MByte! ";
+ // list($first,$rest) = explode(".",$_FILES[$ufile]["name"]);
+ $filep = explode(".",$_FILES[$ufile]['name'][$key]);
+ $anz = count($filep);
+ $typ = $filep[$anz-1];
+ if (substr($typ,0,2)=="ph" || substr($typ,0,2)=="pl" || substr($typ,0,2)=="cg" || substr($typ,0,2)=="ex") $errupl2 .="$ufile: falscher Filetyp! ";
+ //echo "filesize=" . $_FILES[$ufile]["size"] . "<br>\n";
+ if (!$errupl1 && !$errupl2)
+ {
+ // File laden
+ $filename = basename(addslashes($_FILES[$ufile]['name'][$key]));
+ $tempname = $_FILES[$ufile]['tmp_name'][$key];
+//echo "key = $key, fname = ".$fname[$key].", filename = $filename, uploadname = " . $_FILES[$ufile]['name'][$key] ."<br />";
+ if ($fname[$key])
+ {
+ $ret = move_uploaded_file ( $tempname, $dir."/".$id."_".$fname[$key]);
+ }
+ else
+ $ret = move_uploaded_file ( $tempname, $dir."/".$id."_".$filename);
+
+ if ($ret)
+ {
+ if ($fname[$key]) $fnam=$id."_".$fname[$key]; else $fnam = $id."_".$filename;
+ echo "<p class=\"green\">Upload von '$filename' erfolgreich.<br>
+ gespeicherter Dateiname: '". $fnam ."'</p>\n";
+ $ret = $ret && true;
+ }
+ else
+ {
+ echo "<p class=\"red\">Upload von '" . $_FILES[$ufile]["name"][$key]."' fehlgeschlagen.</p>\n";
+ $ret = $ret && false;
+ }
+ }
+ else
+ {
+ $errupl3 = "Fehler upload: ".$_FILES[$ufile]["error"][$key];
+ echo "<p class=\"red\">Upload von '" . $_FILES[$ufile]["name"][$key]."' nicht möglich!<br>$errupl1<br>$errupl2<br>$errupl3</p>\n";
+ echo "<p>Upload bitte wiederholen</p>\n";
+ $ret = $ret && false;
+ }
+ }
+ $errupl1 = null;
+ $errupl2 = null;
+ $errupl3 = null;
+ }
+ return $ret;
+}
+
function gen_filename($nfile, $ufile, $id, $upload=1)
{
/** generiert Filenamen aus Eingabefilenamen und Uploadfilenamen
@@ -75,6 +144,8 @@
* $id - ID
*/
+ if ($nfile > '!')
+ {
$su = array("ä","ö","ü","ß","Ä","Ö","Ü");
$er = array("ae","oe","ue","ss","Ae","Oe","Ue");
@@ -105,7 +176,7 @@
else // File-Typ aus Uploadfile
{
if ($upload)
- $filep = explode(".",$_FILES[$ufile]["name"]);
+ $filep = explode(".",$_FILES[$ufile]['name']);
else
$filep = explode(".",$ufile);
$anz = count($filep);
@@ -121,11 +192,12 @@
else
$fname = substr($fname,0,50-(4+$len)) . "." .$typ;
if (substr($fname,0,$len) == "$id" . "_") $fname = substr($fname,$len,50);
-
- return $fname;
+ }
+ else $fname = "";
+ return $fname;
}
-function mod_file($path,$id,$fname_new,$mod)
+function mod_file($path,$id,$fname_new,$mod,$fname_old="")
{
/** Loeschen, Aendern des Namens von Vetragsdokumenten
* Parameter
@@ -134,9 +206,11 @@
* $fname_new - neuer Filename
* $mod - del = Loeschen
* upd = Umbenennen
+ * $fname_old - alter Filename
*/
- if ($fname_old = exec("ls ".$path." | grep '". $id . "_'"))
+ if ($fname_old == "") $fname_old = exec("ls ".$path." | grep '". $id . "_'");
+ if ($fname_old)
{
if (file_exists($path."/".$fname_old))
{
@@ -150,7 +224,9 @@
return rename($path."/".$fname_old, $path."/".$fname_new);
}
}
- }
+ else return true;
+ }
+ else return false;
}
// Test Aufruf
/*
--- a/fhiiqm/inc/func_lib.inc.php Wed Feb 27 09:43:08 2013 +0100
+++ b/fhiiqm/inc/func_lib.inc.php Tue Mar 26 15:41:01 2013 +0100
@@ -302,7 +302,7 @@
else
{
$aw = explode('.',$wert);
- if (strlen($aw[count($aw)-1]) == 2)
+ if (count($aw) > 1 && strlen($aw[count($aw)-1]) == 2)
{ // Dezimalpunkt mit 2 Stellen danach (= .nn)
for ($i=0; $i<count($aw)-1; $i++)
{
--- a/fhiiqm/inc/menu.inc.php Wed Feb 27 09:43:08 2013 +0100
+++ b/fhiiqm/inc/menu.inc.php Tue Mar 26 15:41:01 2013 +0100
@@ -40,10 +40,11 @@
echo "<li>Vertragscontrolling\n
<ul>\n";
if (in_array("vr",$_SESSION["recht"]) || in_array("ve",$_SESSION["recht"]))
- echo "<li><a href=\"/fhiiqm/vertrag_flist1.php\" target=\"_blank\" title=\"Vertragsliste\">Verträge sortieren, filtern, bearbeiten</a></li>\n
+ echo "<li><a href=\"/fhiiqm/vertrag_flist1.php?g=1\" target=\"_blank\" title=\"Vertragsliste\">Verträge sortieren, filtern, bearbeiten</a></li>\n
<li><a href=\"/fhiiqm/vertrag_search.php\" target=\"_blank\" title=\"Vertrag suchen\">Vertrag suchen, bearbeiten</a></li>\n";
if (in_array("ve",$_SESSION["recht"]))
- echo "<li><a href=\"/fhiiqm/vertrag_ins.php\" target=\"_blank\" title=\"Vertrag erfassen\">Vertrag erfassen</a></li>\n";
+// echo "<li><a href=\"/fhiiqm/vertrag_ins.php\" target=\"_blank\" title=\"Vertrag erfassen\">Vertrag erfassen</a></li>\n";
+ echo "<li><a href=\"/fhiiqm/vertrag_ed.php?g=1\" target=\"_blank\" title=\"Vertrag erfassen\">Vertrag erfassen</a></li>\n";
if (in_array("vpr",$_SESSION["recht"]) || in_array("vpe",$_SESSION["recht"]))
echo "<li><a href=\"/fhiiqm/partner_flist.php\" target=\"_blank\" title=\"Partnerliste\">Vertragspartner sortieren, filtern, bearbeiten</a></li>\n";
if (in_array("vpe",$_SESSION["recht"]))
@@ -84,6 +85,8 @@
echo "<li><a href=\"/fhiiqm/prozess_flist.php\" target=\"_blank\" title=\"Projektliste\">Projekte sortieren, filtern, bearbeiten</a></li>\n";
if (in_array("pze",$_SESSION["recht"]))
echo "<li><a href=\"/fhiiqm/prozess_ed.php\" target=\"_blank\" title=\"Projekt erfassen\">Projekt erfassen</a></li>\n";
+ if (in_array("pzr",$_SESSION["recht"]) || in_array("pze",$_SESSION["recht"]))
+ echo "<li><a href=\"/fhiiqm/pz_report.php\" target=\"_blank\" title=\"ReportProjekt\">Berichte Projekte</a></li>\n";
echo " </ul>\n
</li>\n";
}
--- a/fhiiqm/inc/vertrag_dat_show.inc.php Wed Feb 27 09:43:08 2013 +0100
+++ b/fhiiqm/inc/vertrag_dat_show.inc.php Tue Mar 26 15:41:01 2013 +0100
@@ -23,6 +23,18 @@
// if (!is_null($vend)) $ved = $vtr['etag'] . "." . $vtr['emon'] . "." . $vtr['ejahr']; else $vdb=null;
if (is_object($vbegin)) $vbd = $vbegin->format('d.m.Y'); else $vbd = " ";
if (is_object($vend)) $ved = $vend->format('d.m.Y'); else $ved = " ";
+ if ($vtr['bdat'])
+ {
+ $vdat = new DateTime($vtr['bdat']);
+ $vbd = $vdat->format('d.m.Y');
+ }
+ else $vbd = " ";
+ if ($vtr['edat'])
+ {
+ $vdat = new DateTime($vtr['edat']);
+ $ved = $vdat->format('d.m.Y');
+ }
+ else $ved = " ";
echo "<tr><td>Vertrag-Beginn: </td><td>" . $vbd. "</td></tr>\n";
echo "<tr><td>Vertrag-Ende: </td><td>" . $ved. "</td></tr>\n";
@@ -58,16 +70,29 @@
// Kosten
echo "<tr><td>jährliche Kosten: </td><td>";
$j=0;
- if ($vtr['ejahr'])
- $ejahr = $vtr['ejahr'];
- elseif ($vtr["cautoend"] && !$vtr['ejahr']) // automatische Vertragsverlaengerung und kein Endjahr angegeben
+ if ($vtr['ejahr'] || $vtr['edat'])
+ {
+ if ($vtr['ejahr']) $ejahr = $vtr['ejahr'];
+ else
+ {
+ $jahr = new DateTime($vtr['edat']);
+ $ejahr = $jahr->format('Y');
+ }
+ }
+ elseif ($vtr["cautoend"] && !$vtr['ejahr'] && !$vtr['edat']) // automatische Vertragsverlaengerung und kein Endjahr angegeben
$ejahr = date("Y");
else
$ejahr = null;
// if ($vtr['ejahr']) // Endjahr angegeben
+ if ($vtr['bdat'])
+ {
+ $jahr = new DateTime($vtr['bdat']);
+ $bjahr = $jahr->format('Y');
+ }
+ else $bjahr = $vtr['bjahr'];
if ($ejahr) // Endjahr angegeben
{
- for ($i=(int)$vtr['bjahr']; $i< (int)$ejahr +1; $i++)
+ for ($i=(int)$bjahr; $i< (int)$ejahr +1; $i++)
{
if ($vtr['kost'][$j])
{
@@ -77,7 +102,8 @@
}
}
else // nur fuer Startjahr
- echo $vtr['bjahr'].": ". $vtr['kost'][$j] ." € ";
+ echo "$bjahr: ". $vtr['kost'][$j] ." € ";
+
// Produkt
$sql = "SELECT prod_name FROM Produkt WHERE produkt_ID = " . $vtr['prodid'];
if ($result = $dbc -> queryObjectArray($sql))
@@ -87,12 +113,32 @@
}
echo "</td></tr>\n";
- if (file_exists("documents/$cfile"))
- echo "<tr><td>Dateibezeichnung Dokument: </td><td><a href='documents/$cfile'>" . $cfile. "</a></td></tr>\n";
- else
- echo "<tr><td>Dateibezeichnung Dokument: </td><td>$cfile</td></tr>\n";
+ if ($cfile)
+ {
+ if (file_exists("documents/$cfile"))
+ echo "<tr><td>Dateibezeichnung Dokument: </td><td><a href='documents/$cfile'>" . $cfile. "</a></td></tr>\n";
+ else
+ echo "<tr><td>Dateibezeichnung Dokument: </td><td>$cfile</td></tr>\n";
+ }
+ // Vertragsdokumente
+ if (is_array($vtr['cfname']) && count($vtr['cfname']) > 0)
+ {
+ echo "<tr><td>Dokumente, <em>Schlagworte</em>:</td><td>";
+ foreach ($vtr['cfname'] as $key => $value)
+ {
+ if ($value)
+ {
+ if (substr($value,0,$len) != $cid . "_") $file = $cid . "_".$value; else $file = $value;
+ if (file_exists("documents/$file"))
+ echo "<a href='documents/$file'>" . $value. "</a>, <em>". $vtr['swort'][$key]. "</em><br />";
+ else
+ echo "$value, <em>".$vtr['swort'][$key]. "</em><br />";
+ }
+ }
+ echo "</td></tr>\n";
+ }
echo "<tr><td>Bemerkung: </td><td>" . nl2br($vtr['cbem']). "</td></tr>\n";
- echo "</table>\n";
+ echo "</table>\n";
?>
\ No newline at end of file
--- a/fhiiqm/inc/vertragtab_ins.inc.php Wed Feb 27 09:43:08 2013 +0100
+++ b/fhiiqm/inc/vertragtab_ins.inc.php Tue Mar 26 15:41:01 2013 +0100
@@ -93,24 +93,38 @@
// Kosten
$retk = true;
- if ($vtr['kost'] && $vtr['bjahr']) // Kosten fuer mindestens Startjahr
+ if ($vtr['kost'] && ($vtr['bjahr'] || $vtr['bdat'])) // Kosten fuer mindestens Startjahr
{
+ if ($vtr['bdat'])
+ {
+ $jahr = new DateTime($vtr['bdat']);
+ $bjahr = $jahr->format('Y');
+ }
+ else $bjahr = $vtr['bjahr'];
+
// alle bisherigen Angaben loeschen
$sql = "DELETE FROM Vertrag_Kosten WHERE contract_ID = $cid";
$retdk = $dbc -> execute($sql);
if ($retdk)
{
$j=0;
- if ($vtr['ejahr'])
- $ejahr = $vtr['ejahr'];
- elseif ($vtr["cautoend"] && !$vtr['ejahr']) // automatische Vertragsverlaengerung und kein Endjahr angegeben
+ if ($vtr['ejahr'] || $vtr['edat'])
+ {
+ if ($vtr['ejahr']) $ejahr = $vtr['ejahr'];
+ else
+ {
+ $jahr = new DateTime($vtr['edat']);
+ $ejahr = $jahr->format('Y');
+ }
+ }
+ elseif ($vtr["cautoend"] && !$vtr['ejahr'] && !$vtr['edat']) // automatische Vertragsverlaengerung und kein Endjahr angegeben
$ejahr = date("Y");
else
$ejahr = null;
// if ($vtr['ejahr']) // Endjahr angegeben
if ($ejahr) // Endjahr angegeben
{
- for ($i=(int)$vtr['bjahr']; $i< (int)$ejahr +1; $i++)
+ for ($i=(int)$bjahr; $i< (int)$ejahr +1; $i++)
{
if ($vtr['kost'][$j])
{
@@ -128,7 +142,7 @@
{
// $kost = str_replace(',','.',$vtr['kost'][0]);
$kost = dbformat_wert($vtr['kost'][0]);
- $sql = "INSERT INTO Vertrag_Kosten (contract_ID,k_year,kosten) VALUES($cid,".(int)$vtr['bjahr'].",$kost)";
+ $sql = "INSERT INTO Vertrag_Kosten (contract_ID,k_year,kosten) VALUES($cid,".(int)$bjahr.",$kost)";
$retk = $dbc -> execute($sql);
}
}
@@ -136,5 +150,26 @@
}
}
-
+ // Vertragfile und Schlagwort
+ $retl = true;
+ if (is_array($vtr['cfname']) && count($vtr['cfname']) > 0)
+ {
+ // alle bisherigen Dokumente loeschen
+ $sql = "DELETE FROM Vertrag_File WHERE contract_ID = $cid";
+ $retdl = $dbc -> execute($sql);
+ if ($retdl)
+ {
+ foreach ($vtr['cfname'] as $key => $value)
+ {
+ if ($value)
+ {
+ if (!$vtr['swort'][$key] || $vtr['swort'][$key]<"!") $sw = null; else $sw = $vtr['swort'][$key];
+ if (substr($value,0,$len) != $cid . "_") $file = $cid . "_".$value; else $file = $value;
+ $sql = "INSERT INTO Vertrag_File (contract_ID,cf_filename,cf_schlagwort) VALUES ($cid,'$file','$sw')";
+ $retl = $retl && $dbc -> execute($sql);
+ }
+ }
+ if (!$retl) echo "error INSERT Vertrag_File: " . $dbc -> error . "<br />$sql<br />\n";
+ }
+ }
?>
\ No newline at end of file
--- a/fhiiqm/prozess_ed.php Wed Feb 27 09:43:08 2013 +0100
+++ b/fhiiqm/prozess_ed.php Tue Mar 26 15:41:01 2013 +0100
@@ -53,7 +53,7 @@
{
$pzid_new=$ret;
// duplizieren Schritte
- $sql = "INSERT INTO Proz_Step SELECT NULL, $pzid_new, proz_step FROM Proz_Step WHERE proz_ID=$pzid ORDER BY proz_step_ID";
+ $sql = "INSERT INTO Proz_Step SELECT NULL, $pzid_new, proz_step,step_stat_ID,step_bem FROM Proz_Step WHERE proz_ID=$pzid ORDER BY proz_step_ID";
$rets = $dbc -> execute($sql);
if ($ret && $rets)
{
@@ -369,12 +369,13 @@
$pzid = $dbc -> insertId();
}
}
- if ($result && is_array($pz["step"]))
+ if ($result && is_array($pz["step"]) && count($pz["step"])>0)
{ // INSERT Prozessschritte
$sql = "DELETE FROM Proz_Step WHERE proz_ID = $pzid";
$retd = $dbc -> execute($sql);
if ($retd)
{
+ $rets = 1;
$stmt -> prepare("INSERT INTO Proz_Step (proz_ID,proz_step,step_stat_ID,step_bem) VALUES(?,?,?,?)");
for ($k=0; $k<count($pz["step"]); $k++)
{
@@ -383,14 +384,14 @@
if ($pz["ststat"][$k] == -1) $pz["ststat"][$k] = null;
if ($pz["stbem"][$k] < "!") $pz["stbem"][$k] = null;
$stmt -> bind_param('isis',$pzid, $pz["step"][$k], $pz["ststat"][$k], $pz["stbem"][$k]);
- $rets = $stmt -> execute();
- if (!$rets) $rets = false;
+ $rets = $rets && $stmt -> execute();
}
}
if (!$rets) echo "error INSERT Projekt-Schritt: $stmt->error<br />\n";
}
else echo "error INSERT Projekt-Schritt: $dbc->error<br />\n";
- }
+ }
+ else $rets = 1;
}
if ($result && $rets)
--- a/fhiiqm/prozess_flist.php Wed Feb 27 09:43:08 2013 +0100
+++ b/fhiiqm/prozess_flist.php Tue Mar 26 15:41:01 2013 +0100
@@ -46,7 +46,7 @@
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/sheduled_task.png\" border=\"0\" alt=\"Projektliste\" title=\"Projektlisze\"/></div>\n";
+ echo "<div class=\"float-r\"><img src=\"img/sheduled_task.png\" border=\"0\" alt=\"Projektliste\" title=\"Projektliste\"/></div>\n";
// Felder, nach denen gefiltert werden kann
$fields = array(1=>"ID",2=>"Bezeichnung",4=>"Produkt",5=>"'bezieht sich auf ID'",6=>"Anforderer",7=>"Verantwortlicher",8=>"'Plan Start'",9=>"'Plan Ende'",
@@ -224,7 +224,7 @@
echo "<td>$row->stat_bez</td>";
echo "<td>".nl2br($row->bem)."</td>";
echo "<td><a href='/fhiiqm/prozess_ed.php?i=$row->proz_ID'><img src=\"/fhiiqm/img/edit.gif\" alt='edit' title='edit' border='0'/></a></td>";
- if (!is_null($_SESSION["recht"]) && in_array("le",$_SESSION["recht"]))
+ if (!is_null($_SESSION["recht"]) && in_array("pze",$_SESSION["recht"]))
echo "<td><a href='/fhiiqm/prozess_ed.php?i=$row->proz_ID&d=1'><img src=\"/fhiiqm/img/duplicate.gif\" alt='duplizieren' title='duplizieren' border='0'/></a></td>";
}
echo "</table></div>\n";
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fhiiqm/pz_report.php Tue Mar 26 15:41:01 2013 +0100
@@ -0,0 +1,72 @@
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 02/2013
+ *
+ * Reportauswahl Projekte
+ *
+ */
+
+
+
+ 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("pzr",$_SESSION["recht"]) && !in_array("pze",$_SESSION["recht"]) &&
+ !in_array("ddr",$_SESSION["recht"]) && !in_array("dde",$_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" />
+ <link href="css/navio.css" rel="STYLESHEET" type="TEXT/CSS" />
+ <meta name="author" content="Bettina Schwarzer,FHI" />
+
+ <title>Reports Projekte</title>
+</head>
+
+<body>
+<?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 sc\"><img src=\"/fhiiqm/img/sheduled_task.png\" border=\"0\" alt=\"Berichte Projekte\" title=\"Berichte Projekte\"/></div>\n";
+?>
+ <h3> Berichte Projekte</h3>
+ <div align="center">
+ <table width="94%" cellspacing="4" cellpadding="4">
+ <tr>
+ <td class="bigger">
+ <a href="/fhiiqm/report/proz_short_report.php" title="Projekte">Projekte - Übersicht</a>
+ <br /> Auswahl: Status, Produktgruppe
+ <br /> Ansicht: Projekt, Beschreibung, Produkt, Verantwortlicher, Status
+ </td>
+ </tr>
+ <tr>
+ <td class="bigger">
+ <a href="/fhiiqm/report/prozess_report.php" title="Projekte">Projekte - Details</a>
+ <br /> Auswahl: Status, Produktgruppe
+ <br /> Ansicht: Projekt, Verantwortlicher, Auftraggeber, Plan-Datum, -Kosten, Ist-Datum, -Kosten, Status, Schritte
+ </td>
+ </tr>
+ </table>
+ </div>
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fhiiqm/report/proz_htweb_report.php Tue Mar 26 15:41:01 2013 +0100
@@ -0,0 +1,328 @@
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 03/2013
+ *
+ * Report Projekte für HT-Website
+ * z.Zt. nicht genutzt (26.03.2013)
+ *
+ */
+
+ error_reporting(E_ALL ^ E_NOTICE);
+
+ if (!isset($_GET['s']) || $_GET['s'] != 2 )
+ {
+ session_start();
+ if (! isset($_SESSION["userid"]))
+ {
+ include_once ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
+ login($_SERVER["PHP_SELF"]);
+ exit;
+ }
+
+ if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("pzr",$_SESSION["recht"]) && !in_array("pze",$_SESSION["recht"])))
+ {
+ header("Location: start.php");
+ exit;
+ }
+ }
+ include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
+ if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
+
+?>
+<!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="/fhiiqm/css/db.css" rel="STYLESHEET" type="TEXT/CSS" media="screen"/>
+ <link href="/fhiiqm/css/db_print.css" rel="STYLESHEET" type="TEXT/CSS" media="print"/>
+ <title>Report Projekte</title>
+</head>
+
+<body>
+
+<?php
+ echo " ";
+ if (!isset($_GET['s']) || $_GET['s'] != 2 )
+ {
+ 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=\"/fhiiqm/img/sheduled_task.png\" border=\"0\" alt=\"AG,Raum-Gefahr\" title=\"Projekt\"/></div>\n";
+
+ $pz = $_POST["pz"]; // Parameter aus Form
+ $search = $_POST["search"];
+ if (!$search) $search = $_GET["s"];
+
+ $zeil = $pz["z"];
+ if (!$zeil) $zeil = $_GET["z"];
+ if (!$zeil) $zeil = 9999; // Anzahl der gezeigten Zeilen
+ $start = $_GET["st"]; // Start bei DS $start+1
+ if (!$start) $start=0;
+ $pak = $_GET["a"]; // 1 Projekt je Druckseite
+ if (!$psep) $psep = $pz["ak"];
+
+ if (!is_array($pz))
+ {
+ $pz["stat"] = $_GET["su"];
+ $pz["va"] = $_GET["v"];
+ $pz["bind"] = $_GET["b"];
+ $pz["sort1"] = $_GET["s1"];
+ $pz["sort2"] = $_GET["s2"];
+ $pz["sep"] = $_GET["sp"];
+ }
+ $_GET["su"] = $pz["stat"];
+ $_GET["v"] = $pz["va"];
+ $_GET["b"] = $pz["bind"];
+ $_GET["sp"] = $pz["sep"];
+ $_GET["s1"] = $pz["sort1"];
+ $_GET["s2"] = $pz["sort2"];
+ $_GET["z"] = $zeil;
+
+ if ($search && $_GET['s'] != 2)
+ {
+ echo "<span class='sc'>";
+ echo "<br /> <a href=\"/fhiiqm/pz_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>« zur Berichtsübersicht</a>";
+ echo " | <a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"RAG GMV\" class=\"sc\">neuer Bericht Projekte</a>\n";
+ echo "</span>";
+ }
+ echo "<div align='center'>\n";
+ echo "<p><b>Bericht Projekte</b></p>\n";
+ echo "</div>\n";
+
+ if (!$search)
+ {
+ ?>
+ <div align="center">
+ <p>Bitte Kriterien für die Suche wählen</p>
+ <form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="application/x-www-form-urlencoded" name="form_proj" target="_self">
+ <table width="50%" border="0" cellspacing="3" cellpadding="3">
+ <tr>
+ <td>Status</td>
+ <td>
+ <select name="pz[stat]" size="1">
+ <?php
+ if ($pz["stat"] == -1) $select = " selected = 'selected'"; else $select = "";
+ echo "<option $select value=\"-1\"></option>\n";
+ $sql = "SELECT proz_stat_ID, proz_stat_bez FROM Proz_Status ORDER BY 1";
+ if ($result = $dbc->queryObjectArray($sql))
+ {
+ foreach ($result as $row)
+ {
+ $select = ($row->proz_stat_ID == $pz['stat'])? " selected = 'selected'" : "";
+ echo "<option$select value=\"$row->proz_stat_ID\">$row->proz_stat_bez</option>\n";
+ }
+ }
+ ?>
+ </select>
+ </td>
+ </tr>
+ <tr><td>Verantwortlicher</td><td><input type="text" name="pz[va]" value="<?php echo $pz['va']; ?>" /></td></tr>
+ <tr><td>nur aktuelle Projekte?</td><td><input type="checkbox" name="pz[ak]" value="1" <?php if ($pak) echo "checked='checked'"; ?>/></td></tr>
+ <tr>
+ <td>Verknüpfung</td>
+ <td>UND
+ <input type="radio" name="pz[bind]" value="AND" <?php if (isset($pz["bind"]) && $pz["bind"]=="AND") echo "checked='checked'"; else echo "checked='checked'";?>>
+ ODER
+ <input type="radio" name="pz[bind]" value="OR" <?php if (isset($pz["bind"]) && $pz["bind"]=="OR") echo "checked='checked'"; ?>></td>
+ </tr>
+ <tr>
+ <td>Sortierung nach<br />(in dieser Reihenfolge)</td><td>
+ <?php
+ $sort = array("-1"=>"","proz_bez"=>"Bezeichnung","verantw"=>"Verantwortlicher","proz_stat"=>"Status","prod_name"=>"Produkt");
+ for ($i=1; $i<3; $i++)
+ {
+ echo "$i. <select name='pz[sort$i]'>\n";
+ foreach ($sort as $key=>$val)
+ {
+ $rsort = "sort" . $i;
+ if ($pz[$rsort] == $val) $select= " selected"; else $select = "";
+ echo "<option$select value='$key'>$val</option>\n";
+ }
+ echo "</select> \n";
+ }
+ echo "</td></tr>\n";
+ echo "</td></tr>\n";
+
+ $azeil = array(10=>'10',20=>'20',25=>'25',50=>'50',100=>'100',9999=>'alle'); // Anzahl gezeigter rows
+ echo "<tr><td>Zeilen/Seite?</td><td><select name='pz[z]'>\n";
+ if (!$pz['z']) $pz['z'] = 9999;
+ foreach ($azeil as $key=>$val)
+ {
+ if ($key == $pz['z']) $select = "selected"; else $select = "";
+ echo "<option $select value='$key'>$val</option>\n";
+ }
+ echo "</select></td></tr>\n";
+
+ ?>
+ <tr>
+ <td> </td>
+ <td><input class="button" type="submit" name="search" value="Bericht erstellen"/></td>
+ </tr>
+ </table>
+ </div>
+ </form>
+<?php
+ }
+ else
+ {
+ include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
+ include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
+
+ if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
+
+ $sql = "SELECT proz_ID,proz_bez,proz_bez_l,proz_start_pl,proz_end_pl,proz_kost_pl,proz_start,proz_end,proz_kosten,
+ proz_ref_ID,proz_bem,persknr,verantw,persknr_a,auftragg,proz_stat_ID,proz_stat,proz_urg_ID,proz_urg_bez,
+ produkt_ID,prod_name,proz_step_ID,proz_step,step_stat_ID,step_stat,step_bem
+ FROM fhiiqm.v_projekt_report ";
+
+ $lim = " LIMIT $start,$zeil";
+ $where = "";
+ $krit = "";
+ $bind = $pz["bind"];
+ $heute =date('Y-m-d');
+ if ($pz["stat"] > "-1")
+ {
+ $where .= " proz_stat_ID = ".$pz["stat"];
+ $stat = $dbc->querySingleItem("SELECT proz_stat_bez FROM Proz_Status WHERE proz_stat_ID =".$pz["stat"]);
+ $krit = " [Projektstatus = '$stat'] ";
+ }
+ if ($pz["va"])
+ {
+ if ($where) $bd = $bind; else $bd = "";
+ $where .= " $bd verantw LIKE '".$pz["va"] . "%' ";
+ $krit .= $bd . " [Verantwortlicher wie '".$pz["va"]."*'] ";
+ }
+ if ($pz["ak"])
+ {
+ if ($where) $bd = $bind; else $bd = "";
+ $where .= " $bd ('$heute' BETWEEN proz_start_pl AND proz_end_pl) OR ('$heute' BETWEEN proz_start AND proz_end) ";
+ $heuted = date('d.m.Y');
+ $krit .= $bd . " [$heuted innerhalb Start-/Endedatum ] ";
+ }
+ if ($pz["sort1"]>"-1" || $pz["sort2"]>"-1")
+ {
+ if ($pz["sort1"]>"-1") $ord = " ORDER BY " . $pz["sort1"];
+ if ($pz["sort2"]>"-1") $ord .= ",".$pz["sort2"];
+ $ord .= ",proz_step_ID ";
+ }
+ else $ord = " ORDER BY proz_bez,proz_step_ID";
+ if ($where) $where = " WHERE $where";
+
+ $sql .= $where . $ord .$lim;
+//echo "sql = $sql<br />\n";
+ $result = $dbc -> queryObjectArray($sql);
+
+ echo "<div align='center'>\n";
+
+ if ($krit) echo "<p>Projekte für $krit</p>"; else echo "<p> </p>";
+
+ if ($result)
+ {
+ $sql = "SELECT COUNT(*) FROM v_projekt_report $where";
+ $ianz = $dbc -> querySingleItem($sql);
+ $bg1 = "#F8F8F8";
+ $bg2 = "#DEDFE1";
+ $bg = "#FFFFFF";
+
+ echo "<table border='0' cellspacing='0' cellpadding='2' width='99%'>\n";
+ // Listenkopf
+ foreach ($result as $row)
+ {
+ foreach ($row as &$val) if (is_null($val) || $val <=' ') $val = " ";
+ if ($vproz != $row->proz_ID)
+ {
+ if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
+ echo "<tr bgcolor='" . $bg . "' background='../img/linelightblue.gif'>";
+ echo "<td width='15%'><b>$row->proz_bez</b></td>";
+ echo "<td>$row->proz_bez_l</td>";
+ echo "<td width='15%'>Verantwortlich: $row->verantw</td>";
+ echo "<td width='10%'>Status: $row->proz_stat</td>";
+ echo "<td>$row->proz_bem</td></tr>\n";
+ echo "<tr bgcolor='" . $bg . "'>";
+ if ($row->proz_start_pl>" ")
+ {
+ $dat = new DateTime($row->proz_start_pl);
+ echo "<td class=\"left\">Planstart: " . $dat->format('d.m.Y')."</td>";
+ }
+ else echo "<td>Planstart:</td>";
+ if ($row->proz_end_pl>" ")
+ {
+ $dat = new DateTime($row->proz_end_pl);
+ echo "<td class=\"left\">Planende: " . $dat->format('d.m.Y')."</td>";
+ }
+ else echo "<td>Planende:</td>";
+// if ($row->proz_kost_pl>" ") echo "<td>".number_format($row->proz_kost_pl,2,",","."); else echo "<td> </td>";
+ if ($row->proz_start>" ")
+ {
+ $dat = new DateTime($row->proz_start);
+ echo "<td class=\"left\">Start: " . $dat->format('d.m.Y')."</td>";
+ }
+ else echo "<td>Start:</td>";
+ if ($row->proz_end>" ")
+ {
+ $dat = new DateTime($row->proz_end);
+ echo "<td class=\"left\" colspan='2'>Ende: " . $dat->format('d.m.Y')."</td>";
+ }
+ else echo "<td colspan='2'>Ende:</td></tr>\n";
+// if ($row->proz_kosten>" ") echo "<td>".number_format($row->proz_kosten,2,",","."); else echo "<td> </td>";
+ echo "<tr bgcolor='" . $bg . "'>";
+ echo "<td colspan='3'> $row->proz_step</td>";
+ echo "<td>Status: $row->step_stat</td>";
+ echo "<td>$row->step_bem</td></tr>\n";
+
+ }
+ if ($vproz == $row->proz_ID && $vstep != $row->proz_step_ID)
+ {
+ echo "<tr bgcolor='" . $bg . "'>";
+ echo "<td colspan='3'> $row->proz_step</td>";
+ echo "<td>Status: $row->step_stat</td>";
+ echo "<td>$row->step_bem</td></tr>\n";
+ }
+ $vproz = $row->proz_ID;
+ $vstep = $row->proz_step_ID;
+ $begin = 1;
+ }
+ echo "</table>\n";
+ echo "<p></p><table width=90%><tr><td class='right'><a href=\"javascript:window.print()\" class='sc'>
+ <img src=\"/fhiiqm/img/printer.png\" alt=\"Bericht drucken\" border=\"0\" align=\"right\" title=\"Bericht drucken\"></a></td></tr></table>";
+ echo "</div>\n";
+ echo "<br /> ";
+
+ if ($search != 2) // Aufruf aus fhiiqm
+ {
+ // Parameter aus $_GET fuer weitere Seiten
+ $_GET["s"] = 1; // bewirkt weitere Suche
+ foreach ($_GET as $key=>$val)
+ {
+ if ($key != "st") $liste .= "&" . $key ."=".$val;
+ }
+ // Links auf andere Seiten generieren
+ liste_links($start,$zeil,$ianz,$liste);
+ echo "<br /> ";
+ }
+ }
+ else
+ {
+ echo "<p class='red'> Leider gibt es kein Ergebnis für die von Ihnen gewählten Kriterien!</p>";
+ echo "</div>\n";
+ echo "<br /> ";
+ }
+
+ if ($search != 2)
+ {
+ echo "<span class='sc'>";
+ echo "<br /> <a href=\"/fhiiqm/pz_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>« zur Berichtsübersicht</a>";
+ echo " | <a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"Projekt\" class=\"sc\">neuer Bericht Projekte</a>\n";
+ echo "</span>";
+ }
+ else
+ echo "<a href='javascript:history.back();' onMouseOver=\"{window.status='Zurück'; return true;}\">« Zurück</a>";
+ }
+?>
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fhiiqm/report/proz_short_report.php Tue Mar 26 15:41:01 2013 +0100
@@ -0,0 +1,339 @@
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 03/2013
+ *
+ * Report Projekt fuer Website Haustechnik
+ */
+
+ error_reporting(E_ALL ^ E_NOTICE);
+
+ if (!isset($_GET['s']) || $_GET['s'] != 2 )
+ {
+ session_start();
+ if (! isset($_SESSION["userid"]))
+ {
+ include_once ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
+ login($_SERVER["PHP_SELF"]);
+ exit;
+ }
+
+ if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("pzr",$_SESSION["recht"]) && !in_array("pze",$_SESSION["recht"])))
+ {
+ header("Location: start.php");
+ exit;
+ }
+ }
+ include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
+ if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
+
+?>
+<!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="/fhiiqm/css/db.css" rel="STYLESHEET" type="TEXT/CSS" media="screen"/>
+ <link href="/fhiiqm/css/db_print.css" rel="STYLESHEET" type="TEXT/CSS" media="print"/>
+ <title>Report Projekte, Übersicht</title>
+</head>
+
+<body>
+
+<?php
+ echo " ";
+ if (!isset($_GET['s']) || $_GET['s'] != 2 )
+ {
+ 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=\"/fhiiqm/img/sheduled_task.png\" border=\"0\" alt=\"Projekt\" title=\"Projekt\"/></div>\n";
+
+ $pz = $_POST["pz"]; // Parameter aus Form
+ $search = $_POST["search"];
+ if (!$search) $search = $_GET["s"];
+
+ $zeil = $pz["z"];
+ if (!$zeil) $zeil = $_GET["z"];
+ if (!$zeil) $zeil = 9999; // Anzahl der gezeigten Zeilen
+ $start = $_GET["st"]; // Start bei DS $start+1
+ if (!$start) $start=0;
+ $psep = $_GET["sp"]; // 1 Projekt je Druckseite
+ if (!$psep) $psep = $pz["sep"];
+ $pid = $_GET['i'];
+
+ if (!is_array($pz))
+ {
+ $pz["stat"] = $_GET["su"];
+// $pz["va"] = $_GET["v"];
+ $pz["pgid"] = $_GET["p"];
+ $pz["bind"] = $_GET["b"];
+ if (!$pz["bind"]) $pz["bind"] = 'AND';
+ $pz["sort1"] = $_GET["s1"];
+ $pz["sort2"] = $_GET["s2"];
+ $pz["sep"] = $_GET["sp"];
+ }
+ $_GET["su"] = $pz["stat"];
+// $_GET["v"] = $pz["va"];
+ $_GET["p"] = $pz["pgid"];
+ $_GET["b"] = $pz["bind"];
+ $_GET["sp"] = $pz["sep"];
+ $_GET["s1"] = $pz["sort1"];
+ $_GET["s2"] = $pz["sort2"];
+ $_GET["z"] = $zeil;
+ $_GET['i'] = $pid;
+
+ if ($search && $_GET['s'] != 2)
+ {
+ echo "<span class='sc'>";
+ echo "<br /> <a href=\"/fhiiqm/pz_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>« zur Berichtsübersicht</a>";
+ echo " | <a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"RAG GMV\" class=\"sc\">neuer Bericht Projekte</a>\n";
+ echo "</span>";
+ }
+ echo "<div align='center'>\n";
+ echo "<p><b>Bericht Projekte - Übersicht</b></p>\n";
+ echo "</div>\n";
+
+ if (!$search)
+ {
+ ?>
+ <div align="center">
+ <p>Bitte Kriterien für die Suche wählen</p>
+ <form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="application/x-www-form-urlencoded" name="form_proj" target="_self">
+ <table width="50%" border="0" cellspacing="3" cellpadding="3">
+ <tr>
+ <td>Status</td>
+ <td>
+ <select name="pz[stat]" size="1">
+ <?php
+ if ($pz["stat"] == -1) $select = " selected = 'selected'"; else $select = "";
+ echo "<option $select value=\"-1\"></option>\n";
+ $sql = "SELECT proz_stat_ID, proz_stat_bez FROM Proz_Status ORDER BY 1";
+ if ($result = $dbc->queryObjectArray($sql))
+ {
+ foreach ($result as $row)
+ {
+ $select = ($row->proz_stat_ID == $pz['stat'])? " selected = 'selected'" : "";
+ echo "<option$select value=\"$row->proz_stat_ID\">$row->proz_stat_bez</option>\n";
+ }
+ }
+ ?>
+ </select>
+ </td>
+ </tr>
+<!-- <tr><td>Verantwortlicher</td><td><input type="text" name="pz[va]" value="<?php echo $pz['va']; ?>" /></td></tr> -->
+ <tr>
+ <td>Produktgruppe</td>
+ <td>
+ <select name="pz[pgid]" size="1">
+ <?php
+ // Recht Produktgruppe beruecksichtigen
+ if (is_array($_SESSION["prodg"]))
+ {
+ foreach ($_SESSION["prodg"] as $val)
+ $listg .= ",'" .$val . "'";
+ $listg = substr($listg,1);
+ echo "prodg = $listg<br />";
+ $sql = "SELECT prod_group_ID, prod_group_name FROM fhiiqm.Produkt_Gruppe WHERE prod_group_ID IN('$listg')";
+ }
+ else
+ $sql = "SELECT prod_group_ID, prod_group_name FROM fhiiqm.Produkt_Gruppe";
+ if ($pz['pgid'] == -1) $select = " selected "; else $select = "";
+ echo "<option $select value=\"-1\"></option>\n";
+ if ($result = $dbc->queryObjectArray($sql))
+ {
+ foreach ($result as $row)
+ {
+ if (strlen($row->prod_group_name) > 70)
+ $prod=str_replace(" "," ",htmlentities(substr($row->prod_group_name,0,70))) ."...";
+ else
+ $prod=str_replace(" "," ",htmlentities($row->prod_group_name));
+ if ($row->prod_group_ID == $pz['pgid'])
+ echo "<option $color selected value=\"$row->prod_group_ID\">$row->prod_group_ID - $prod</option>\n";
+ else
+ echo "<option $color value=\"$row->prod_group_ID\">$row->prod_group_ID - $prod</option>\n";
+ }
+ }
+ echo "
+ </select>\n";
+ ?>
+ </td>
+ </tr>
+ <tr>
+ <td>Verknüpfung</td>
+ <td>UND
+ <input type="radio" name="pz[bind]" value="AND" <?php if (isset($pz["bind"]) && $pz["bind"]=="AND") echo "checked='checked'"; else echo "checked='checked'";?>>
+ ODER
+ <input type="radio" name="pz[bind]" value="OR" <?php if (isset($pz["bind"]) && $pz["bind"]=="OR") echo "checked='checked'"; ?>></td>
+ </tr>
+ <tr>
+ <td>Sortierung nach<br />(in dieser Reihenfolge)</td><td>
+ <?php
+ $sort = array("-1"=>"","proz_bez"=>"Bezeichnung","verantw"=>"Verantwortlicher","proz_stat"=>"Status","prod_name"=>"Produkt");
+ for ($i=1; $i<3; $i++)
+ {
+ echo "$i. <select name='pz[sort$i]'>\n";
+ foreach ($sort as $key=>$val)
+ {
+ $rsort = "sort" . $i;
+ if ($pz[$rsort] == $val) $select= " selected"; else $select = "";
+ echo "<option$select value='$key'>$val</option>\n";
+ }
+ echo "</select> \n";
+ }
+ echo "</td></tr>\n";
+ echo "</td></tr>\n";
+
+ $azeil = array(10=>'10',20=>'20',25=>'25',50=>'50',100=>'100',9999=>'alle'); // Anzahl gezeigter rows
+ echo "<tr><td>Zeilen/Seite?</td><td><select name='pz[z]'>\n";
+ if (!$pz['z']) $pz['z'] = 9999;
+ foreach ($azeil as $key=>$val)
+ {
+ if ($key == $pz['z']) $select = "selected"; else $select = "";
+ echo "<option $select value='$key'>$val</option>\n";
+ }
+ echo "</select></td></tr>\n";
+
+ ?>
+ <tr>
+ <td> </td>
+ <td><input class="button" type="submit" name="search" value="Bericht erstellen"/></td>
+ </tr>
+ </table>
+ </div>
+ </form>
+<?php
+ }
+ else
+ {
+ include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
+ include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
+
+ if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
+
+ $sql = "SELECT proz_ID,proz_bez,proz_bez_l,proz_start_pl,proz_end_pl,proz_kost_pl,proz_start,proz_end,proz_kosten,
+ proz_ref_ID,proz_bem,persknr,verantw,persknr_a,auftragg,proz_stat_ID,proz_stat,proz_urg_ID,proz_urg_bez,
+ produkt_ID,prod_name,prod_group_ID,proz_step_ID,proz_step,step_stat_ID,step_stat,step_bem
+ FROM fhiiqm.v_projekt_report ";
+
+ $lim = " LIMIT $start,$zeil";
+ $where = "";
+ $krit = "";
+ $bind = $pz["bind"];
+ if ($pz["stat"] > "-1")
+ {
+ $where .= " proz_stat_ID = ".$pz["stat"];
+ $stat = $dbc->querySingleItem("SELECT proz_stat_bez FROM Proz_Status WHERE proz_stat_ID =".$pz["stat"]);
+ $krit = " [Projektstatus = '$stat'] ";
+ }
+ if ($pz["pgid"] > "-1")
+ {
+ if ($where) $bd = $bind; else $bd = "";
+ $where .= " $bd prod_group_ID = ".$pz["pgid"];
+ $prodg = $dbc->querySingleItem("SELECT prod_group_name FROM fhiiqm.Produkt_Gruppe WHERE prod_group_ID =".$pz["pgid"]);
+ $krit = " [Produktgruppe = '$prodg'] ";
+ }
+/* if ($pz["va"])
+ {
+ if ($where) $bd = $bind; else $bd = "";
+ $where .= " $bd verantw LIKE '".$pz["va"] . "%' ";
+ $krit .= $bd . " [Verantwortlicher wie '".$pz["va"]."*'] ";
+ } */
+ if ($pid)
+ {
+ if ($where) $bd = $bind; else $bd = "";
+ $where .= " $bd proz_ID = $pid";
+ }
+ if ($pz["sort1"]>"-1" || $pz["sort2"]>"-1")
+ {
+ if ($pz["sort1"]>"-1") $ord = " ORDER BY " . $pz["sort1"];
+ if ($pz["sort2"]>"-1") $ord .= ",".$pz["sort2"];
+ $ord .= ",proz_step_ID ";
+ }
+ else $ord = " ORDER BY proz_bez,proz_step_ID";
+ if ($where) $where = " WHERE $where";
+
+ $sql .= $where . $ord .$lim;
+//echo "sql = $sql<br />\n";
+ $result = $dbc -> queryObjectArray($sql);
+
+ echo "<div align='center'>\n";
+
+ echo "<p>Klick auf '<img src=\"/fhiiqm/img/details.gif\" alt='Details' title='Details' border='0'/>' -> Details zum Projekt</p>";
+ if ($krit) echo "<p>Projekte für $krit</p>"; else echo "<p> </p>";
+
+ if ($result)
+ {
+ $sql = "SELECT COUNT(*) FROM v_projekt_report $where";
+ $ianz = $dbc -> querySingleItem($sql);
+ $bg1 = "#F8F8F8";
+ $bg2 = "#DEDFE1";
+ $bg = "#FFFFFF";
+
+ echo "<table border='1' cellspacing='0' cellpadding='2' width='80%'>\n";
+ // Listenkopf
+ echo "<tr bgcolor='#68ACBF'>";
+ echo "<th>Projekt</th>";
+ echo "<th>Beschreibung</th>";
+ echo "<th>zu Produkt</th>";
+ echo "<th>Verantwortlicher</th>";
+ echo "<th>Status</th>";
+ echo "<th> </th></tr>\n";
+ foreach ($result as $row)
+ {
+ foreach ($row as &$val) if (is_null($val) || $val <=' ') $val = " ";
+ if ($vproz != $row->proz_ID)
+ {
+ if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
+ echo "<tr bgcolor='" . $bg . "' background='../img/linelightblue.gif'>";
+ echo "<td>$row->proz_bez</td>";
+ echo "<td>$row->proz_bez_l</td>";
+ echo "<td>$row->prod_name</td>";
+ echo "<td>$row->verantw</td>";
+ echo "<td>$row->proz_stat</td>";
+ echo "<td><a href='/fhiiqm/report/prozess_report.php?i=$row->proz_ID&s=2'><img src=\"/fhiiqm/img/details.gif\" alt='Details' title='Details' border='0'/></a></td>";
+ }
+ $vproz = $row->proz_ID;
+ }
+ echo "</table>\n";
+ echo "<p></p><table width=90%><tr><td class='right'><a href=\"javascript:window.print()\" class='sc'>
+ <img src=\"/fhiiqm/img/printer.png\" alt=\"Bericht drucken\" border=\"0\" align=\"right\" title=\"Bericht drucken\"></a></td></tr></table>";
+ echo "</div>\n";
+ echo "<br /> ";
+
+ if ($search != 2) // Aufruf aus fhiiqm
+ {
+ // Parameter aus $_GET fuer weitere Seiten
+ $_GET["s"] = 1; // bewirkt weitere Suche
+ foreach ($_GET as $key=>$val)
+ {
+ if ($key != "st") $liste .= "&" . $key ."=".$val;
+ }
+ // Links auf andere Seiten generieren
+ liste_links($start,$zeil,$ianz,$liste);
+ echo "<br /> ";
+ }
+ }
+ else
+ {
+ echo "<p class='red'> Leider gibt es kein Ergebnis für die von Ihnen gewählten Kriterien!</p>";
+ echo "</div>\n";
+ echo "<br /> ";
+ }
+
+ if ($search != 2)
+ {
+ echo "<span class='sc'>";
+ echo "<br /> <a href=\"/fhiiqm/pz_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>« zur Berichtsübersicht</a>";
+ echo " | <a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"Projekt\" class=\"sc\">neuer Bericht Projekte</a>\n";
+ echo "</span>";
+ }
+ else
+ echo "<a href='javascript:history.back();' onMouseOver=\"{window.status='Zurück'; return true;}\">« Zurück</a>";
+ }
+?>
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fhiiqm/report/prozess_report.php Tue Mar 26 15:41:01 2013 +0100
@@ -0,0 +1,430 @@
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 02/2013
+ *
+ * Report Projekte
+ *
+ */
+
+ error_reporting(E_ALL ^ E_NOTICE);
+
+ if (!isset($_GET['s']) || $_GET['s'] != 2 )
+ {
+ session_start();
+ if (! isset($_SESSION["userid"]))
+ {
+ include_once ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
+ login($_SERVER["PHP_SELF"]);
+ exit;
+ }
+
+ if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("pzr",$_SESSION["recht"]) && !in_array("pze",$_SESSION["recht"])))
+ {
+ header("Location: start.php");
+ exit;
+ }
+ }
+ include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
+ if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
+
+?>
+<!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="/fhiiqm/css/db.css" rel="STYLESHEET" type="TEXT/CSS" media="screen"/>
+ <link href="/fhiiqm/css/db_print.css" rel="STYLESHEET" type="TEXT/CSS" media="print"/>
+ <title>Report Projekte, Details</title>
+</head>
+
+<body>
+
+<?php
+ echo " ";
+ if (!isset($_GET['s']) || $_GET['s'] != 2 )
+ {
+ 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=\"/fhiiqm/img/sheduled_task.png\" border=\"0\" alt=\"Projekt\" title=\"Projekt\"/></div>\n";
+
+ $pz = $_POST["pz"]; // Parameter aus Form
+ $search = $_POST["search"];
+ if (!$search) $search = $_GET["s"];
+
+ $zeil = $pz["z"];
+ if (!$zeil) $zeil = $_GET["z"];
+ if (!$zeil) $zeil = 9999; // Anzahl der gezeigten Zeilen
+ $start = $_GET["st"]; // Start bei DS $start+1
+ if (!$start) $start=0;
+ $psep = $_GET["sp"]; // 1 Projekt je Druckseite
+ if (!$psep) $psep = $pz["sep"];
+ $pid = $_GET['i'];
+
+ if (!is_array($pz))
+ {
+ $pz["stat"] = $_GET["su"];
+// $pz["va"] = $_GET["v"];
+ $pz["pgid"] = $_GET["p"];
+ $pz["bind"] = $_GET["b"];
+ if (!$pz["bind"]) $pz["bind"] = 'AND';
+ $pz["sort1"] = $_GET["s1"];
+ $pz["sort2"] = $_GET["s2"];
+ $pz["sep"] = $_GET["sp"];
+ }
+ $_GET["su"] = $pz["stat"];
+// $_GET["v"] = $pz["va"];
+ $_GET["p"] = $pz["pgid"];
+ $_GET["b"] = $pz["bind"];
+ $_GET["sp"] = $pz["sep"];
+ $_GET["s1"] = $pz["sort1"];
+ $_GET["s2"] = $pz["sort2"];
+ $_GET["z"] = $zeil;
+ $_GET['i'] = $pid;
+
+ if ($search && $_GET['s'] != 2)
+ {
+ echo "<span class='sc'>";
+ echo "<br /> <a href=\"/fhiiqm/pz_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>« zur Berichtsübersicht</a>";
+ echo " | <a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"RAG GMV\" class=\"sc\">neuer Bericht Projekte</a>\n";
+ echo "</span>";
+ }
+ echo "<div align='center'>\n";
+ echo "<p><b>Bericht Projekte - Details</b></p>\n";
+ echo "</div>\n";
+
+ if (!$search)
+ {
+ ?>
+ <div align="center">
+ <p>Bitte Kriterien für die Suche wählen</p>
+ <form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="application/x-www-form-urlencoded" name="form_proj" target="_self">
+ <table width="50%" border="0" cellspacing="3" cellpadding="3">
+ <tr>
+ <td>Status</td>
+ <td>
+ <select name="pz[stat]" size="1">
+ <?php
+ if ($pz["stat"] == -1) $select = " selected = 'selected'"; else $select = "";
+ echo "<option $select value=\"-1\"></option>\n";
+ $sql = "SELECT proz_stat_ID, proz_stat_bez FROM Proz_Status ORDER BY 1";
+ if ($result = $dbc->queryObjectArray($sql))
+ {
+ foreach ($result as $row)
+ {
+ $select = ($row->proz_stat_ID == $pz['stat'])? " selected = 'selected'" : "";
+ echo "<option$select value=\"$row->proz_stat_ID\">$row->proz_stat_bez</option>\n";
+ }
+ }
+ ?>
+ </select>
+ </td>
+ </tr>
+<!-- <tr><td>Verantwortlicher</td><td><input type="text" name="pz[va]" value="<?php echo $pz['va']; ?>" /></td></tr> -->
+ <tr>
+ <td>Produktgruppe</td>
+ <td>
+ <select name="pz[pgid]" size="1">
+ <?php
+ // Recht Produktgruppe beruecksichtigen
+ if (is_array($_SESSION["prodg"]))
+ {
+ foreach ($_SESSION["prodg"] as $val)
+ $listg .= ",'" .$val . "'";
+ $listg = substr($listg,1);
+ echo "prodg = $listg<br />";
+ $sql = "SELECT prod_group_ID, prod_group_name FROM fhiiqm.Produkt_Gruppe WHERE prod_group_ID IN('$listg')";
+ }
+ else
+ $sql = "SELECT prod_group_ID, prod_group_name FROM fhiiqm.Produkt_Gruppe";
+ if ($pz['pgid'] == -1) $select = " selected "; else $select = "";
+ echo "<option $select value=\"-1\"></option>\n";
+ if ($result = $dbc->queryObjectArray($sql))
+ {
+ foreach ($result as $row)
+ {
+ if (strlen($row->prod_group_name) > 70)
+ $prod=str_replace(" "," ",htmlentities(substr($row->prod_group_name,0,70))) ."...";
+ else
+ $prod=str_replace(" "," ",htmlentities($row->prod_group_name));
+ if ($row->prod_group_ID == $pz['pgid'])
+ echo "<option $color selected value=\"$row->prod_group_ID\">$row->prod_group_ID - $prod</option>\n";
+ else
+ echo "<option $color value=\"$row->prod_group_ID\">$row->prod_group_ID - $prod</option>\n";
+ }
+ }
+ echo "
+ </select>\n";
+ ?>
+ </td>
+ </tr>
+ <tr><td>Projekte separat?</td><td><input type="checkbox" name="pz[sep]" value="1" <?php if ($psep) echo "checked='checked'"; ?>/></td></tr>
+ <tr>
+ <td>Verknüpfung</td>
+ <td>UND
+ <input type="radio" name="pz[bind]" value="AND" <?php if (isset($pz["bind"]) && $pz["bind"]=="AND") echo "checked='checked'"; else echo "checked='checked'";?>>
+ ODER
+ <input type="radio" name="pz[bind]" value="OR" <?php if (isset($pz["bind"]) && $pz["bind"]=="OR") echo "checked='checked'"; ?>></td>
+ </tr>
+ <tr>
+ <td>Sortierung nach<br />(in dieser Reihenfolge)</td><td>
+ <?php
+ $sort = array("-1"=>"","proz_bez"=>"Bezeichnung","verantw"=>"Verantwortlicher","proz_stat"=>"Status","prod_name"=>"Produkt");
+ for ($i=1; $i<3; $i++)
+ {
+ echo "$i. <select name='pz[sort$i]'>\n";
+ foreach ($sort as $key=>$val)
+ {
+ $rsort = "sort" . $i;
+ if ($pz[$rsort] == $val) $select= " selected"; else $select = "";
+ echo "<option$select value='$key'>$val</option>\n";
+ }
+ echo "</select> \n";
+ }
+ echo "</td></tr>\n";
+ echo "</td></tr>\n";
+
+ $azeil = array(10=>'10',20=>'20',25=>'25',50=>'50',100=>'100',9999=>'alle'); // Anzahl gezeigter rows
+ echo "<tr><td>Zeilen/Seite?</td><td><select name='pz[z]'>\n";
+ if (!$pz['z']) $pz['z'] = 9999;
+ foreach ($azeil as $key=>$val)
+ {
+ if ($key == $pz['z']) $select = "selected"; else $select = "";
+ echo "<option $select value='$key'>$val</option>\n";
+ }
+ echo "</select></td></tr>\n";
+
+ ?>
+ <tr>
+ <td> </td>
+ <td><input class="button" type="submit" name="search" value="Bericht erstellen"/></td>
+ </tr>
+ </table>
+ </div>
+ </form>
+<?php
+ }
+ else
+ {
+ include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
+ include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
+
+ if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
+
+ $sql = "SELECT proz_ID,proz_bez,proz_bez_l,proz_start_pl,proz_end_pl,proz_kost_pl,proz_start,proz_end,proz_kosten,
+ proz_ref_ID,proz_bem,persknr,verantw,persknr_a,auftragg,proz_stat_ID,proz_stat,proz_urg_ID,proz_urg_bez,
+ produkt_ID,prod_name,prod_group_ID,proz_step_ID,proz_step,step_stat_ID,step_stat,step_bem
+ FROM fhiiqm.v_projekt_report ";
+
+ $lim = " LIMIT $start,$zeil";
+ $where = "";
+ $krit = "";
+ $bind = $pz["bind"];
+ if ($pz["stat"] > "-1")
+ {
+ $where .= " proz_stat_ID = ".$pz["stat"];
+ $stat = $dbc->querySingleItem("SELECT proz_stat_bez FROM Proz_Status WHERE proz_stat_ID =".$pz["stat"]);
+ $krit = " [Projektstatus = '$stat'] ";
+ }
+ if ($pz["pgid"] > "-1")
+ {
+ if ($where) $bd = $bind; else $bd = "";
+ $where .= " $bd prod_group_ID = ".$pz["pgid"];
+ $prodg = $dbc->querySingleItem("SELECT prod_group_name FROM fhiiqm.Produkt_Gruppe WHERE prod_group_ID =".$pz["pgid"]);
+ $krit = " [Produktgruppe = '$prodg'] ";
+ }
+/* if ($pz["va"])
+ {
+ if ($where) $bd = $bind; else $bd = "";
+ $where .= " $bd verantw LIKE '".$pz["va"] . "%' ";
+ $krit .= $bd . " [Verantwortlicher wie '".$pz["va"]."*'] ";
+ } */
+ if ($pid)
+ {
+ if ($where) $bd = $bind; else $bd = "";
+ $where .= " $bd proz_ID = $pid";
+ }
+ if ($pz["sort1"]>"-1" || $pz["sort2"]>"-1")
+ {
+ if ($pz["sort1"]>"-1") $ord = " ORDER BY " . $pz["sort1"];
+ if ($pz["sort2"]>"-1") $ord .= ",".$pz["sort2"];
+ $ord .= ",proz_step_ID ";
+ }
+ else $ord = " ORDER BY proz_bez,proz_step_ID";
+ if ($where) $where = " WHERE $where";
+
+ $sql .= $where . $ord .$lim;
+//echo "sql = $sql<br />\n";
+ $result = $dbc -> queryObjectArray($sql);
+
+ echo "<div align='center'>\n";
+
+ if ($krit) echo "<p>Projekte für $krit</p>"; else echo "<p> </p>";
+
+ if ($result)
+ {
+ $sql = "SELECT COUNT(*) FROM v_projekt_report $where";
+ $ianz = $dbc -> querySingleItem($sql);
+ $bg1 = "#F8F8F8";
+ $bg2 = "#DEDFE1";
+ $bg = "#FFFFFF";
+
+ echo "<table border='1' cellspacing='0' cellpadding='2' width='99%'>\n";
+ // Listenkopf
+ echo "<tr bgcolor='#68ACBF'>";
+ echo "<th width='11%'>Projekt</th>";
+ echo "<th width='11%'>Beschreibung</th>";
+ echo "<th width='7%'>zu Produkt</th>";
+ echo "<th width='7%'>Verantwortlicher</th>";
+ echo "<th width='7%'>Auftraggeber</th>";
+ echo "<th width='7%'>Status</th>";
+ echo "<th width='5%'>Wichtigkeit</th>";
+ echo "<th width='5%'>Plan Start</th>";
+ echo "<th width='5%'>Plan Ende</th>";
+ echo "<th width='6%'>Plan Kosten(€)</th>";
+ echo "<th width='5%'>Ist Start</th>";
+ echo "<th width='5%'>Ist Ende</th>";
+ echo "<th width='6%'>Ist Kosten(€)</th>";
+ echo "<th>Bemerkung</th></tr>\n";
+ echo "<tr bgcolor='#68ACBF'>";
+ echo "<th colspan='2'> </th>";
+ echo "<th colspan='3'><i>Schritt</i></th>";
+ echo "<th><i>Status</i></th>";
+ echo "<th colspan='8'><i>Bemerkung</i></th></tr>\n";
+ foreach ($result as $row)
+ {
+ foreach ($row as &$val) if (is_null($val) || $val <=' ') $val = " ";
+ if ($vproz != $row->proz_ID)
+ {
+ if ($psep)
+ {
+ if ($begin)
+ {
+ echo "</table>\n";
+ echo "<p style=\"page-break-after:always\"> </p>\n";
+ echo "<p><b>Bericht Projekte</b></p>\n";
+ if ($krit)echo "<p>Projekte für $krit</p>"; else echo "<p> </p>";
+ echo "<table border='1' cellspacing='0' cellpadding='2' width='99%'>\n";
+ // Listenkopf
+ echo "<tr bgcolor='#68ACBF'>";
+ echo "<th width='11%'>Projekt</th>";
+ echo "<th width='11%'>Beschreibung</th>";
+ echo "<th width='7%'>zu Produkt</th>";
+ echo "<th width='7%'>Verantwortlicher</th>";
+ echo "<th width='7%'>Auftraggeber</th>";
+ echo "<th width='7%'>Status</th>";
+ echo "<th width='5%'>Wichtigkeit</th>";
+ echo "<th width='5%'>Plan Start</th>";
+ echo "<th width='5%'>Plan Ende</th>";
+ echo "<th width='6%'>Plan Kosten(€)</th>";
+ echo "<th width='5%'>Ist Start</th>";
+ echo "<th width='5%'>Ist Ende</th>";
+ echo "<th width='6%'>Ist Kosten(€)</th>";
+ echo "<th>Bemerkung</th></tr>\n";
+ echo "<tr bgcolor='#68ACBF'>";
+ echo "<th colspan='2'> </th>";
+ echo "<th colspan='3'><i>Schritt</i></th>";
+ echo "<th><i>Status</i></th>";
+ echo "<th colspan='8'><i>Bemerkung</i></th></tr>\n";
+ }
+
+ }
+ if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
+ echo "<tr bgcolor='" . $bg . "' background='../img/linelightblue.gif'>";
+ echo "<td>$row->proz_bez</td>";
+ echo "<td>$row->proz_bez_l</td>";
+ echo "<td>$row->prod_name</td>";
+ echo "<td>$row->verantw</td>";
+ echo "<td>$row->auftragg</td>";
+ echo "<td>$row->proz_stat</td>";
+ echo "<td>$row->proz_urg_bez</td>";
+ if ($row->proz_start_pl>" ")
+ {
+ $dat = new DateTime($row->proz_start_pl);
+ echo "<td class=\"left\">" . $dat->format('d.m.Y')."</td>";
+ }
+ else echo "<td> </td>";
+ if ($row->proz_end_pl>" ")
+ {
+ $dat = new DateTime($row->proz_end_pl);
+ echo "<td class=\"left\">" . $dat->format('d.m.Y')."</td>";
+ }
+ else echo "<td> </td>";
+ if ($row->proz_kost_pl>" ") echo "<td class='right'>".number_format($row->proz_kost_pl,2,",","."); else echo "<td> </td>";
+ if ($row->proz_start>" ")
+ {
+ $dat = new DateTime($row->proz_start);
+ echo "<td class=\"left\">" . $dat->format('d.m.Y')."</td>";
+ }
+ else echo "<td> </td>";
+ if ($row->proz_end>" ")
+ {
+ $dat = new DateTime($row->proz_end);
+ echo "<td class=\"left\">" . $dat->format('d.m.Y')."</td>";
+ }
+ else echo "<td> </td>";
+ if ($row->proz_kosten>" ") echo "<td class='right'>".number_format($row->proz_kosten,2,",","."); else echo "<td> </td>";
+ echo "<td>$row->proz_bem</td></tr>\n";
+ echo "<tr bgcolor='" . $bg . "'>";
+ echo "<td colspan='2'> </td>";
+ echo "<td colspan='3'><i>$row->proz_step</i></td>";
+ echo "<td><i>$row->step_stat</i></td>";
+ echo "<td colspan='8'><i>$row->step_bem</i></td></tr>\n";
+
+ }
+ if ($vproz == $row->proz_ID && $vstep != $row->proz_step_ID)
+ {
+ echo "<tr bgcolor='" . $bg . "'>";
+ echo "<td colspan='2'> </td>";
+ echo "<td colspan='3'><i>$row->proz_step</i></td>";
+ echo "<td><i>$row->step_stat</i></td>";
+ echo "<td colspan='8'><i>$row->step_bem</i></td></tr>\n";
+ }
+ $vproz = $row->proz_ID;
+ $vstep = $row->proz_step_ID;
+ $begin = 1;
+ }
+ echo "</table>\n";
+ echo "<p></p><table width=90%><tr><td class='right'><a href=\"javascript:window.print()\" class='sc'>
+ <img src=\"/fhiiqm/img/printer.png\" alt=\"Bericht drucken\" border=\"0\" align=\"right\" title=\"Bericht drucken\"></a></td></tr></table>";
+ echo "</div>\n";
+ echo "<br /> ";
+
+ if ($search != 2) // Aufruf aus fhiiqm
+ {
+ // Parameter aus $_GET fuer weitere Seiten
+ $_GET["s"] = 1; // bewirkt weitere Suche
+ foreach ($_GET as $key=>$val)
+ {
+ if ($key != "st") $liste .= "&" . $key ."=".$val;
+ }
+ // Links auf andere Seiten generieren
+ liste_links($start,$zeil,$ianz,$liste);
+ echo "<br /> ";
+ }
+ }
+ else
+ {
+ echo "<p class='red'> Leider gibt es kein Ergebnis für die von Ihnen gewählten Kriterien!</p>";
+ echo "</div>\n";
+ echo "<br /> ";
+ }
+
+ if ($search != 2)
+ {
+ echo "<span class='sc'>";
+ echo "<br /> <a href=\"/fhiiqm/pz_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>« zur Berichtsübersicht</a>";
+ echo " | <a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"Projekt\" class=\"sc\">neuer Bericht Projekte</a>\n";
+ echo "</span>";
+ }
+ else
+ echo "<a href='javascript:history.back();' onMouseOver=\"{window.status='Zurück'; return true;}\">« Zurück</a>";
+ }
+?>
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fhiiqm/test/file_upload_multi.php Tue Mar 26 15:41:01 2013 +0100
@@ -0,0 +1,178 @@
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 03/2013
+ *
+ * Upload mehrerer Files gleichzeitig
+ */
+
+ error_reporting(E_ALL ^ E_NOTICE);
+
+
+
+
+ $sub = $_POST["ins"];
+ $vtr = $_POST["vertrag"];
+ $ok = $_POST["ok"];
+ if (!$vtr["okn"] || !$ok) $ok = 0;
+
+ ?>
+ <!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="/fhiiqm/css/db.css" rel="STYLESHEET" type="TEXT/CSS" media="screen"/>
+ <link href="/fhiiqm/css/db_print.css" rel="STYLESHEET" type="TEXT/CSS" media="print"/>
+
+ <title>Eingabe Vertragsdaten</title>
+
+ <script type="text/javascript">
+ //<!--
+ var counter = 0;
+ var limit = 99;
+ function addInput(divName){
+ if (counter == limit) {
+ alert("Das Limit von " + counter + " zusätzlichen inputs ist erreicht");
+ }
+ else
+ {
+ var cdiv = document.createElement('div');
+ 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 += "<br />Upload-Dokument <input type='file' name='vfile[]' size='50' maxlength='50' value='' />";
+ document.getElementById(divName).appendChild(cdiv);
+ counter++;
+ }
+ }
+ function delInput(divId){
+ 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>
+ <?php
+ print_r($vtr); echo "<br /><br />";
+ print_r($_FILES); echo "<br /><br />";
+if (!$sub || !$ok)
+{
+ ?>
+ <form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" name="form_vertrag" target="_self">
+ <div align="center">
+ <p>Vertragsdokumente hochladen</p>
+ <table width="70%" border="0" cellspacing="3" cellpadding="3">
+ <input type="hidden" name="MAX_FILE_SIZE" value="10000000"/>
+ <?php
+ $okn=1;
+ echo
+ "<tr>
+ <td>Vertragsdokumente
+ <br /> bitte <u>keine</u> Umlaute<br /> in gewählten Dateinamen angeben!</td>
+ <td><div id='adddoc'>
+ <span></span>\nDok-Name <input name=\"vertrag[cfname][]\" type=\"text\" size=\"50\" maxlength=\"50\" value=\"". $vtr['cfname'][0] ."\" />
+
+ Schlagwort <input type='text' name=vertrag[swort][] size=\"30\" maxlength=\"50\" value='".$vtr['swort'][0]."' />";
+ echo " <a href=\"javascript:addInput('adddoc')\" title=\"weiteres Dokument\"><img src=\"/fhiiqm/img/add.png\" /></a>
+ <a href=\"javascript:delInput('adddoc')\" title=\"löschen letztes Dokument\"><img src=\"/fhiiqm/img/delete.png\" /></a>";
+ if (isset($vtr['cfname'][0]) && $vtr['cfname'][0]<'!')
+ {
+ echo "<br /><span class=\"red\">Dateiname ist erforderlich!</span>\n";
+ $okn = 0;
+ }
+ else
+ {
+ if ($vtr['cfname'][0]>='!' && file_exists("/fhiiqm/documents/".$vtr['cfname'][0]))
+ echo "<br />Dokument anschauen: <a href='/fhiiqm/documents/" . $vtr['cfname'][0] ."'>" . $vtr['cfname'][0] . "</a>";
+ if ($vtr['cfname'][0]>='!') $okn = 1;
+ }
+ if ($sub)
+ {
+ echo "<br />Upload-Dokument
+ <input type=\"file\" name=\"vfile[]\" size=\"50\" maxlength=\"50\" value=\"" .$_FILES["vfile"]["name"][0] . "\"/>";
+ }
+ if ($sub && isset($vtr) && !$ok)
+ {
+ if (count($vtr['cfname'])>1)
+ {
+ $i=0;
+ foreach ($vtr['cfname'] as $akt)
+ {
+ if ($i>0)
+ {
+ echo "<span></span><br />\nDok-Name
+ <input name=\"vertrag[cfname][]\" type=\"text\" size=\"50\" maxlength=\"50\" value=\"". $vtr['cfname'][$i] ."\" />
+
+ Schlagwort <input type='text' name=vertrag[swort][] size=\"30\" maxlength=\"50\" value='".$vtr['swort'][$i]."' />";
+ if (isset($vtr['cfname'][$i]) && $vtr['cfname'][$i]<'!')
+ {
+ echo "<br><span class=\"red\">Dateiname ist erforderlich!</span>\n";
+ $okn = 0;
+ }
+ else
+ {
+ if ($vtr['cfname'][$i]>='!' && file_exists("/fhiiqm/documents/".$vtr['cfname'][$i]))
+ echo "<br />Dokument anschauen: <a href='/fhiiqm/documents/" . $vtr['cfname'][$i] ."'>" . $vtr['cfname'][$i] . "</a>";
+ if ($vtr['cfname'][$i]>='!' && $okn) $okn = 1;
+ }
+ echo "<img src='/fhiiqm/img/nixt.gif' border='0' height='100%' />\n";
+ echo "<br />Upload-Dokument
+ <input type=\"file\" name=\"vfile[]\" size=\"50\" maxlength=\"50\" value=\"" .$_FILES["vfile"]["name"][$i] . "\"/>";
+ }
+ $i++;
+ }
+ }
+ }
+ echo "
+ </div></td>
+ </tr>\n";
+ echo "<input type='hidden' name='vertrag[okn]' value='" .$okn."' />";
+ if ($sub || $del)
+ {
+ if ($sub)
+ $frage = "Alle Angaben ok?";
+ 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=\"checked\"";
+ echo " /></td>\n</tr>\n";
+ }
+ echo "<tr>\n";
+ echo "
+ <td> </td>
+ <td><input class=\"button\" type=\"submit\" value=\"eingeben\" name=\"ins\" title=\"insert\" /></td>\n";
+ echo "</tr>\n";
+ echo "</table>\n";
+ echo "</div>\n";
+ echo "</form>\n";
+}
+else
+{
+// $fname = array(0=>"pic1.jpg",1=>"pic2.jpg");
+ include ($_SERVER["DOCUMENT_ROOT"] ."/fhiiqm/inc/file_upload.inc.php");
+ if (isset($_FILES) && is_array($_FILES) && count($_FILES['vfile']['name'])>0)
+ {
+ foreach ($vtr[cfname] as $key => &$filename)
+ $filename = gen_filename($filename,$_FILES["vfile"]["name"][$key],999,0);
+ $ret = upload_multif("vfile", $vtr[cfname], 999, $dir="../documents");
+ if ($ret) echo "<p class='green'><b>Alle Dateien zu ID '999' wurden erfolgreich hochgeladen.</b></p>\n";
+ else echo "<p class='red'><b>Upload für einige Dateien zu ID '999' ist fehlgeschlagen.</b></p>\n";
+ }
+ else echo "<p class='red'><b>Upload Dateien zu ID '999' ist fehlgeschlagen.</b></p>\n";
+
+}
+?>
+</body>
+</html>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fhiiqm/vertrag_ed.php Tue Mar 26 15:41:01 2013 +0100
@@ -0,0 +1,462 @@
+<?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");
+ }
+ // nicht mehr notwendige Dateien auf Server löschen
+
+ 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";
+
+ $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))
+ {
+/*
+ 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
--- a/fhiiqm/vertrag_flist1.php Wed Feb 27 09:43:08 2013 +0100
+++ b/fhiiqm/vertrag_flist1.php Tue Mar 26 15:41:01 2013 +0100
@@ -52,6 +52,8 @@
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=\"Verträge\" title=\"Verträge\"/></div>\n";
+ $mfile = $_GET['g']; // Multifile = mehrere Vertragsdokumente moeglich
+ if (!$mfile) $mfile = $_POST['g'];
$zeil = $_GET["z"];
if (!$zeil) $zeil = $_POST["z"];
if (!$zeil) $zeil = 20; // Anzahl der gezeigten Zeilen
@@ -79,7 +81,7 @@
if (!isset($sort) || !$sort) $sort = 2;
if (!isset($dir) || !$dir) $dir = "";
// $_GET-Parameter zurueck zur Vertragliste mit den selben Einstellungen wie zuvor fuer Update
- $getp = "&s=$sort&d=$dir&f=$fnum&b=$filter&st=$start&z=$zeil";
+ $getp = "s=$sort&d=$dir&f=$fnum&b=$filter&st=$start&z=$zeil&g=$mfile";
// Recht Produktgruppe beruecksichtigen
if (is_array($_SESSION["prodg"]))
@@ -98,7 +100,10 @@
echo "<div align='center'>\n";
//echo "$sort, $dir, $fnum, $filter<br><br>\n";
// $sql = "CALL fhiiqm.vertrag_flist1(" . $sort . ",'" . $dir . "', " . $fnum . ", '" . $filter . "',$start,$zeil, @anz)";
- $sql = "CALL fhiiqm.vertrag_flist1_1(" . $sort . ",'" . $dir . "', " . $fnum . ", '" . $filter . "', '" . $listg . "', $start,$zeil, @anz)";
+ if ($mfile)
+ $sql = "CALL fhiiqm.vertrag_flist1_mf(" . $sort . ",'" . $dir . "', " . $fnum . ", '" . $filter . "', '" . $listg . "', $start,$zeil, @anz)";
+ else
+ $sql = "CALL fhiiqm.vertrag_flist1_1(" . $sort . ",'" . $dir . "', " . $fnum . ", '" . $filter . "', '" . $listg . "', $start,$zeil, @anz)";
// Parameter: Nr. Sortfelf, Sortierrichtung, Nr. Filterfeld, Filterbegriff, Liste der berechtigten prodgroup, Start bei DS $start+1, Anzahl DS/Seite, Anzahl gefundener Vertraege
// liefert Felder: contract_ID,cname,clong,bearb,doc,typ,prod
$result = $dbc -> queryObjectArray($sql);
@@ -122,7 +127,7 @@
echo "</table>\n";
printf ("<p>Anzahl Verträge: %s </p>", $vanz);
echo "</div>\n";
- echo "<p> <a href=\"/fhiiqm/vertrag_flist12.php?s=$sort&d=$dir&f=$fnum&b=$filter&l=$listg&st=$start&z=$zeil\" class=\"sc\" title=\"Vertragliste 2\" onclick=\"winopen(this.href,'Vertragsliste 2'); return false\">Verträge Teil 2</a></p>\n";
+ echo "<p> <a href=\"/fhiiqm/vertrag_flist12.php?$getp\" class=\"sc\" title=\"Vertragliste 2\" onclick=\"winopen(this.href,'Vertragsliste 2'); return false\">Verträge Teil 2</a></p>\n";
echo "<div align='center'>\n";
@@ -135,6 +140,7 @@
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='g' value='$mfile'>";
echo "<table width=\"40%\" border=\"0\">\n";
echo "<tr><td>filtern nach $text: </td>";
echo "<td><input id='filter' name='filter' type=\"text\" size=\"30\" maxlength=\"30\" value=\"$filter\"";
@@ -167,13 +173,16 @@
// <th>Dokument</th><th>Bemerkung</th><th> </th></tr>\n";
echo "<tr bgcolor='#68ACBF'>";
- tab_column(8,"Partner",$sort,$dir,8,$fnum,$filter,$start,$zeil);
- tab_column(2,"Bezeichnung",$sort,$dir,2,$fnum,$filter,$start,$zeil);
- tab_column(3,"Beschreibung",$sort,$dir,0,$fnum,$filter,$start,$zeil);
- tab_column(6,"Typ",$sort,$dir,6,$fnum,$filter,$start,$zeil);
- tab_column(7,"zu Produkt",$sort,$dir,7,$fnum,$filter,$start,$zeil);
- tab_column(4,"Bearbeiter",$sort,$dir,4,$fnum,$filter,$start,$zeil);
- tab_column(5,"Dokument",$sort,$dir,0,$fnum,$filter,$start,$zeil);
+ tab_column(8,"Partner",$sort,$dir,8,$fnum,$filter,$start,$zeil,"",$mfile);
+ tab_column(2,"Bezeichnung",$sort,$dir,2,$fnum,$filter,$start,$zeil,"",$mfile);
+ tab_column(3,"Beschreibung",$sort,$dir,0,$fnum,$filter,$start,$zeil,"",$mfile);
+ tab_column(6,"Typ",$sort,$dir,6,$fnum,$filter,$start,$zeil,"",$mfile);
+ tab_column(7,"zu Produkt",$sort,$dir,7,$fnum,$filter,$start,$zeil,"",$mfile);
+ tab_column(4,"Bearbeiter",$sort,$dir,4,$fnum,$filter,$start,$zeil,"",$mfile);
+ if ($mfile)
+ tab_column(5,"Dokument, Schlagwort",$sort,$dir,5,$fnum,$filter,$start,$zeil,"",$mfile);
+ else
+ tab_column(5,"Dokument",$sort,$dir,0,$fnum,$filter,$start,$zeil);
echo "<th> </th></tr>\n";
foreach ($result as $row)
{
@@ -192,14 +201,45 @@
echo "<td>$row->typ</td>";
echo "<td>$row->prod</td>";
echo "<td>$row->bearb</td>";
- if (file_exists("documents/".$row->doc))
+ if ($mfile)
{
- $doc = substr($row->doc,strpos($row->doc,"_")+1);
- echo "<td><a href='documents/$row->doc'>$doc</a></td>";
- }
- else
- echo "<td>$row->doc</td>";
- echo "<td><a href='/fhiiqm/vertrag_upd.php?uid=$row->contract_ID$getp'><img src=\"/fhiiqm/img/edit.gif\" alt='edit' title='edit' border='0'/></a></td></tr>\n";
+ $docsw = explode("; ", $row->doc);
+ if (isset($docsw) && is_array($docsw))
+ {
+ echo "<td>";
+ foreach ($docsw as $val)
+ {
+ $file = substr($val,0,strpos($val,'|'));
+ $sw = substr($val,strpos($val,'|')+1);
+ if ($fnum == 5 && $filter > '!') // Filterbegriff in Schlagwort hervorheben
+ {
+ $sw = str_replace(lcfirst($filter),"<b>".lcfirst($filter)."</b>",$sw);
+ $sw = str_replace(ucfirst($filter),"<b>".ucfirst($filter)."</b>",$sw);
+ }
+ if ($sw) $sw = " → <em>$sw</em>"; else $sw = "";
+ if (file_exists("documents/$file"))
+ {
+ $doc = substr($file,strpos($file,"_")+1);
+ echo "<a href='documents/$file'>$doc</a>$sw<br />";
+ }
+ else
+ echo "$file$sw<br />";
+ }
+ echo "</td>";
+ }
+ }
+ else
+ {
+ if (file_exists("documents/".$row->doc))
+ {
+ $doc = substr($row->doc,strpos($row->doc,"_")+1);
+ echo "<td><a href='documents/$row->doc'>$doc</a></td>";
+ }
+ else
+ echo "<td>$row->doc</td>";
+ }
+ if ($mfile) $part = "ed"; else $part = "upd";
+ echo "<td><a href='/fhiiqm/vertrag_$part.php?uid=$row->contract_ID&$getp'><img src=\"/fhiiqm/img/edit.gif\" alt='edit' title='edit' border='0'/></a></td></tr>\n";
}
echo "</table></div>\n";
echo "<br /> ";
@@ -221,7 +261,7 @@
liste_links($start,$zeil,$vanz,$liste);
// Export csv-Datei
- echo " <span class='sc'><a href='/fhiiqm/vertrag_list12_csv.php?s=$sort&d=$dir&f=$fnum&b=$filter&l=$listg&st=$start&z=$zeil'>
+ echo " <span class='sc'><a href='/fhiiqm/vertrag_list12_csv.php?$getp'>
<img src='/fhiiqm/img/file_extension_xls.png' border='0' title='Export dieser Auswahl nach Excel(csv)' /></a></span>";
}
else
@@ -233,10 +273,14 @@
$dbc -> close();
- echo "<p> <a href=\"/fhiiqm/vertrag_flist12.php?s=$sort&d=$dir&f=$fnum&b=$filter&l=$listg&st=$start&z=$zeil\" class=\"sc\" title=\"Vertragliste 2\" onclick=\"winopen(this.href,'Vertragsliste 2'); return false\">Verträge Teil 2</a></p>\n";
+ echo "<p> <a href=\"/fhiiqm/vertrag_flist12.php?$getp\" class=\"sc\" title=\"Vertragliste 2\" onclick=\"winopen(this.href,'Vertragsliste 2'); return false\">Verträge Teil 2</a></p>\n";
if (!is_null($_SESSION["recht"]) && in_array("ve",$_SESSION["recht"]))
- echo "<p> <a href=\"/fhiiqm/vertrag_ins.php\" target=\"_self\" class=\"sc\" title=\"Vertrag erfassen\">Weiteren Vertrag erfassen</a></p>\n";
-
+ {
+ if ($mfile)
+ echo "<p> <a href=\"/fhiiqm/vertrag_ed.php?$getp\" target=\"_self\" class=\"sc\" title=\"Vertrag erfassen\">Weiteren Vertrag erfassen</a></p>\n";
+ else
+ echo "<p> <a href=\"/fhiiqm/vertrag_ins.php\" target=\"_self\" class=\"sc\" title=\"Vertrag erfassen\">Weiteren Vertrag erfassen</a></p>\n";
+ }
?>
</body>
--- a/fhiiqm/vertrag_flist12.php Wed Feb 27 09:43:08 2013 +0100
+++ b/fhiiqm/vertrag_flist12.php Tue Mar 26 15:41:01 2013 +0100
@@ -53,16 +53,17 @@
// Felder, nach denen gefiltert werden kann
$fields = array(2=>"Bezeichnung",4=>"Bearbeiter",6=>"Vertragstyp",7=>"Produkt",8=>"Partner");
- $sort = $_GET["s"];
- $dir = $_GET["d"];
+ $sort = $_GET["s"]; // Sortierung nach Spalte
+ $dir = $_GET["d"]; // Sortierrichtung
if (!isset($sort) || !$sort) $sort = 2;
if (!isset($dir) || !$dir) $dir = "";
$fnum = $_GET["f"]; // Spaltennummer, nach der aktuell gefiltert wird
- $filter = $_GET["b"];
+ $filter = $_GET["b"]; // Filterbegriff
+ $mfile = $_GET["g"]; // Multifile = mehrere Vertragsdokumente moeglich
if (!isset($fnum) || !$fnum) $fnum = 0;
// $_GET-Parameter zurueck zur Vertragliste mit den selben Einstellungen wie zuvor fuer Update
- $getp = "&s=$sort&d=$dir&f=$fnum&b=$filter&st=$start&z=$zeil&t=2";
+ $getp = "s=$sort&d=$dir&f=$fnum&b=$filter&st=$start&z=$zeil&g=$mfile&t=2";
$listg = $_GET["l"];
if (!isset($listg) || !$listg)
@@ -81,7 +82,10 @@
include_once ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
$dbc = new dbconnection();
- $sql = "CALL fhiiqm.vertrag_flist12(" . $sort . ",'" . $dir . "', " . $fnum . ", '" . $filter . "', '" . $listg . "',$start,$zeil, @anz, @ganz)";
+ if ($mfile)
+ $sql = "CALL fhiiqm.vertrag_flist12_mf(" . $sort . ",'" . $dir . "', " . $fnum . ", '" . $filter . "', '" . $listg . "',$start,$zeil, @anz, @ganz)";
+ else
+ $sql = "CALL fhiiqm.vertrag_flist12(" . $sort . ",'" . $dir . "', " . $fnum . ", '" . $filter . "', '" . $listg . "',$start,$zeil, @anz, @ganz)";
// Parameter: Nr. Sortfelf, Sortierrichtung, Nr. Filterfeld, Filterbegriff, Start bei DS $start+1, Anzahl DS/Seite, Anzahl gefundener Vertraege, Anzahl DS gesamt
// liefert Felder: contract_ID,cname,clong,bearb,doc,typ,prod,cbegin,cend,kmon,partfirmar,kyear,kosten,bem
$result = $dbc -> queryObjectArray($sql);
@@ -164,7 +168,8 @@
$mail = ($row->email)? "ja": " ";
echo "<td width='27%'>".nl2br($row->bem)."</td>";
echo "<td>$mail</td>";
- echo "<td><a href='vertrag_upd.php?uid=$row->contract_ID$getp'><img src=\"img/edit.gif\" alt='edit' title='edit' border='0'/></a></td></tr>\n";
+ if ($mfile) $part = "ed"; else $part = "upd";
+ echo "<td><a href='vertrag_$part.php?uid=$row->contract_ID&$getp'><img src=\"img/edit.gif\" alt='edit' title='edit' border='0'/></a></td></tr>\n";
}
echo "</table></div>\n";
echo "<br /> ";
@@ -191,7 +196,12 @@
}
$dbc -> close();
if (!is_null($_SESSION["recht"]) && in_array("ve",$_SESSION["recht"]))
- echo "<p> <a href=\"vertrag_ins.php\" class=\"sc\" target=\"_self\" title=\"Vertrag erfassen\">Weiteren Vertrag erfassen</a></p>\n";
+ {
+ if ($mfile)
+ echo "<p> <a href=\"/fhiiqm/vertrag_ed.php?$getp\" target=\"_self\" class=\"sc\" title=\"Vertrag erfassen\">Weiteren Vertrag erfassen</a></p>\n";
+ else
+ echo "<p> <a href=\"/fhiiqm/vertrag_ins.php\" target=\"_self\" class=\"sc\" title=\"Vertrag erfassen\">Weiteren Vertrag erfassen</a></p>\n";
+ }
?>
</body>
--- a/fhiiqm/vertrag_search.php Wed Feb 27 09:43:08 2013 +0100
+++ b/fhiiqm/vertrag_search.php Tue Mar 26 15:41:01 2013 +0100
@@ -34,7 +34,8 @@
$cid = trim(substr($cname,0,strpos($cname,"-")));
// echo "cname = $cname, cid = $cid<br />\n";
if (isset($cid) && $cid)
- header("Location: vertrag_upd.php?uid=$cid");
+// header("Location: vertrag_upd.php?uid=$cid"); // bis 25.03.2013
+ header("Location: vertrag_ed.php?uid=$cid&g=1");
else
{
?>