<?php
/**
* @author Bettina Schwarzer, Fritz-Haber-Institut
* @copyright 07/2012
*
* Report Info nach Produkt
*
*/
error_reporting(E_ALL ^ E_NOTICE);
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("ir",$_SESSION["recht"]) && !in_array("ie",$_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="/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 Info</title>
</head>
<body >
<?php
include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
include_once ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
$dbc = new dbconnection();
$search = $_POST["search"];
if (!$search) $search = $_GET["s"];
$inf = $_POST["inf"];
$zeil = $inf["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;
if (!is_array($inf))
{
$inf['prodb'] = $_GET['b'];
$inf['prodg'] = $_GET['g'];
$inf['ityp'] = $_GET['t'];
$inf['adr'] = $_GET['a'];
$inf['stat'] = $_GET['s'];
$inf['bind'] = $_GET['d'];
$inf["sort1"] = $_GET["s1"];
$inf["sort2"] = $_GET["s2"];
$inf["sort3"] = $_GET["s3"];
}
if (count($_GET) == 0)
{ // fuer weitere Seiten
$_GET['b'] = $inf['prodb'];
$_GET['g'] = $inf['prodg'];
$_GET['t'] = $inf['ityp'];
$_GET['a'] = $inf['adr'];
$_GET['s'] = $inf['stat'];
$_GET['d'] = $inf['bind'];
$_GET["s1"] = $inf['sort1'];
$_GET["s2"] = $inf['sort2'];
$_GET["s3"] = $inf['sort3'];
$_GET['z'] = $zeil;
}
echo " ";
echo "<div class=\"float-br smaller sc\" 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/document_image_ver.png\" border=\"0\" alt=\"Infodaten\" title=\"Infodaten\"/></div>\n";
if ($search && $_GET['s'] != 2)
{
echo "<span class='sc'>";
echo "<br /> <a href=\"/fhiiqm/info_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 Info</a>\n";
echo "</span>";
}
echo "<div align=\"center\">";
echo "<h3>Bericht Informationen</h3></div>\n";
if (!isset($search) || !$search)
{ // Form Kriterien
echo "<div align=\"center\">";
echo "<p>Bitte die Kriterien für den Bericht wählen</p>\n";
include ($_SERVER['DOCUMENT_ROOT']."/fhiiqm/form/info_allg_search_form.inc.php");
echo "</div>\n";
}
else
{
echo "<div align='center'>\n";
// Kriterien
if ($inf["prodb"] && $inf["prodb"] != '-1')
{
$prodb = "'".$inf["prodb"]."'";
$sql = "SELECT prod_ber_name FROM Produkt_Bereich WHERE prod_ber_ID = REPLACE(REPLACE('" .$inf["prodb"] ."','|',''),'-','')";
$prodbb = $dbc -> querySingleItem($sql);
}
else $prodb = "''";
if ($inf["prodg"] && $inf["prodg"] != '-1')
{
$prodg = "'".$inf["prodg"]."'";
$sql = "SELECT prod_group_name FROM Produkt_Gruppe WHERE prod_group_ID = REPLACE('" .$inf["prodg"] ."','-','')";
$prodgb = $dbc -> querySingleItem($sql);
}
else $prodg = "''";
if ($inf['ityp'] > -1)
{
$ityp = $inf['ityp'];
$sql = "SELECT infotyp_bez FROM Info_Typ WHERE infotyp_ID = $ityp";
$itypb = $dbc -> querySingleItem($sql);
}
else $ityp = "''";
if ($inf['adr'] > -1)
{
$adr = "'".$inf['adr']."'";
$sql = "SELECT info_adr_name AS bez FROM Adressat
WHERE CAST(info_adr_ID AS CHAR) = $adr
UNION
SELECT fkt_bez AS bez FROM Funktion
WHERE fkt_ID = $adr";
$adrb = $dbc -> querySingleItem($sql);
}
else $adr = "''";
if ($inf['stat'] > -1)
{
$stat = $inf['stat'];
$sql = "SELECT info_freigabe_bez FROM Info_Freigabe WHERE info_freigabe_ID = $stat";
$statb = $dbc -> querySingleItem($sql);
}
else $stat = "''";
$bind = $inf['bind'];
$sort = "'".($inf['sort1']>-1 ? $inf['sort1'] : '');
// echo "$sort<br />";
if ($inf['sort1']>-1 && $inf['sort2']>-1) $sort .= ",".$inf['sort2'];
elseif ($inf['sort2']>-1) $sort .= "'".$inf['sort2'];
// echo "$sort<br />";
if (($inf['sort1']>-1 || $inf['sort2']>-1) && $inf['sort3']>-1)
$sort .= ",".$inf['sort3'];
elseif ($inf['sort1'] == -1 && $inf['sort2'] == -1 && $inf['sort3']>-1)
$sort = "'".($inf['sort3']>-1 ? $inf['sort3'] : '');
$sort .= "'";
// echo "$sort<br />";
// $sql = "CALL info_flist(1,'',0,'',0,999,@anz)";
/* $sql = "SELECT i.info_ID,info_sort,info_name_s,info_name_l,info_date,info_valid_from,info_valid_to,infotyp_ID,lang,info_file,info_rel_ID,raum_ID,
i.persknr AS persknra,CONCAT(m.nachname,', ', m.vorname) AS autor,
IF(infotyp_ID=7,ff.fkt_ID,CAST(ia.info_adr_ID AS CHAR)) AS adr_ID,
IF(infotyp_ID=7,fkt_bez,info_adr_name) AS adressat,
iv.persknr AS persknrv, CONCAT(mv.nachname,', ', mv.vorname) AS verantw,
ip.produkt_ID,prod_name,p.prod_group_ID,prod_ber_ID
FROM fhiiqm.Info i LEFT OUTER JOIN Mitarbeiter m ON i.persknr=m.persknr
LEFT OUTER JOIN Info_Adressat ia ON i.info_ID=ia.info_ID
LEFT OUTER JOIN Adressat a ON ia.info_adr_ID = a.info_adr_ID
LEFT OUTER JOIN Info_Funktion ff ON i.info_ID = ff.info_ID
LEFT OUTER JOIN Funktion f ON ff.fkt_ID=f.fkt_ID
LEFT OUTER JOIN Info_Verantwortlich iv ON i.info_ID=iv.info_ID
LEFT OUTER JOIN Mitarbeiter mv ON iv.persknr=mv.persknr
LEFT OUTER JOIN Info_Produkt ip ON i.info_ID=ip.info_ID
LEFT OUTER JOIN Produkt p ON ip.produkt_ID = p.produkt_ID
LEFT OUTER JOIN Produkt_Gruppe pg ON p.prod_group_ID=pg.prod_group_ID";
*/
$sql = "CALL info_allg_report($prodb,$prodg,$ityp,$adr,$stat,'$bind',$sort,$start,$zeil,@anz)";
// echo "$sql<br />";
$result = $dbc -> queryObjectArray($sql);
if ($prodbb > '') $krit = "[Produktbereich = $prodbb]";
if ($prodgb > '')
{
if ($krit) $bd = " ".$bind; else $bd = "";
$krit .= $bd . " [Produktgruppe = $prodgb]";
}
if ($itypb > '')
{
if ($krit) $bd = " ".$bind; else $bd = "";
$krit .= $bd . " [Infotyp = $itypb]";
}
if ($adrb > '')
{
if ($krit) $bd = " ".$bind; else $bd = "";
$krit .= $bd . " [Adressat = $adrb]";
}
if ($statb > '')
{
if ($krit) $bd = " ".$bind; else $bd = "";
$krit .= $bd . " [Status = $statb]";
}
if ($krit )echo "Filter: $krit\n"; else echo "Filter: []\n";
if ($result)
{
$ianz = $dbc -> querySingleItem("SELECT @anz");
printf ("<p>Anzahl gefundener Informationen: %s</p>", $ianz);
$bg1 = "#F8F8F8";
$bg2 = "#DEDFE1";
$bg = "#FFFFFF";
echo "<table border='1' cellspacing='0' cellpadding='2' width='99%'>\n";
// Listenkopf
echo "<tr bgcolor='#68ACBF'>";
echo "<th>Kennzeichen</th>";
echo "<th>ID: Infotitel</th>";
echo "<th>zu Info</th>";
echo "<th>Kurzinfo</th>";
if ($ityp == "''") echo "<th>Infotyp</th>";
echo "<th>Produkt</th>";
if (substr($ityp,0,1) != 8) echo "<th>Adressat</th>";
if ($ityp == 7 || substr($ityp,0,1) == 8) echo "<th>Haus, Raum</th>";
if ($stat == "''") echo "<th>Status</th>";
echo "<th>Dokument</th>";
echo "</tr>";
foreach ($result as $row)
{
if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
echo "<tr bgcolor='" . $bg . "'>";
echo "<td>$row->infsort</td>";
echo "<td>$row->info_ID: $row->iname</td>";
echo "<td>$row->infrel</td>";
if ($row->ityp_ID == 81) $anl = " <b>→ '" . $row->al_bez . "'</b>"; else $anl="";
echo "<td>" . nl2br($row->ilong) . "$anl</td>";
if ($ityp == "''") echo "<td>$row->ityp</td>";
$prod = explode("; ",$row->prod);
$prods = "";
foreach ($prod as $val)
$prods .= "; " . substr($val,0,strpos($val,"|")-1);
$prods = substr($prods,2);
echo "<td>" . str_replace(";",";<br />",$prods) . "</td>";
if (substr($ityp,0,1) != 8)
{
$adr = explode("; ",$row->adressat);
$adrs = "";
foreach ($adr as $val)
$adrs .= "; " . substr($val,0,strpos($val,"|")-1);
$adrs = substr($adrs,2);
echo "<td>" . str_replace(";","<br />",$adrs) . "</td>";
}
if ($ityp == 7 || substr($ityp,0,1) == 8) // 7 = Betriebsstörung, 8 = Betriebsanweisung
{ if ($row->raum_ID)
{
$sql = "SELECT geb_ID, raum_nr FROM Raum WHERE raum_ID = $row->raum_ID";
$res = $dbc -> queryObjectArray($sql);
foreach ($res as $ro)
echo "<td>$ro->geb_ID, $ro->raum_nr</td>";
}
elseif ($row->geb_ID && !$row->raum_ID)
echo "<td>$row->geb_ID</td>";
else echo "<td> </td>";
}
if ($stat == "''") echo "<td>$row->freigabe</td>";
echo "<td><a href='/fhiiqm/infos/$row->doc'>".substr($row->doc,strpos($row->doc,"_")+1)."</a></td>";
echo "</tr>\n";
}
echo "</table>\n";
echo "<p></p><table width=80%><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);
}
}
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 /><br /> <a href=\"/fhiiqm/info_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 Info</a>\n";
echo "</span>";
}
}
?>
</body>
</html>