<?php
/**
* @author Bettina Schwarzer
* @copyright 08/2011
*
* INSERT Infodaten in n:m-Tabellen fuer INSERT und UPDATE Infodaten
*/
// Produkt
$retp = true;
if (is_array($inf["prid"]) && array_sum($inf["prid"])>0)
{ // nur Produkte, keine Gruppen, Bereiche
// Loeschen altes Produkt, INSERT neues
$sql = "DELETE FROM Info_Produkt WHERE info_ID = $infid";
$retpd = $dbc -> execute($sql);
if ($retpd)
{
foreach ($inf["prid"] as $pid)
{
//INSERT in Produkt_Vertrag
$sql = "INSERT INTO Info_Produkt VALUES($infid,$pid)";
$retpi = $dbc -> execute($sql);
if (!$retpi) $retp=false;
}
if (!$retp) echo "error INSERT Info_Produkt: $dbc->error<br />\n";
}
else
{
echo "error INSERT Info_Produkt: " . $dbc -> error . " <br />\n";
$retp = false;
}
}
if ($inf['ityp'] != 7 && substr($inf['ityp'],0,1) != 8)
{
// Adressat
$reta = true;
$sql = "DELETE FROM Info_Adressat WHERE info_ID = $infid";
$retd = $dbc -> execute($sql);
if ($retd)
{
if (is_array($inf['adr']))
{
foreach ($inf['adr'] as $adr)
{
if ($adr != -1)
{
$sql = "INSERT INTO Info_Adressat VALUES($infid, $adr)";
$retai = $dbc -> execute($sql);
if (!$retai) $reta = false;
}
}
if (!$reta) echo "error INSERT Info_Adressat: $dbc->error<br />\n";
}
}
else
{
echo "error INSERT Info_Adressat: " . $dbc -> error . " <br />\n";
$reta = false;
}
// Verantwortliche + Bemerkung (ehemals Prioritaet)
$retv = true;
$sql = "DELETE FROM Info_Verantwortlich WHERE info_ID = $infid";
$retv = $dbc -> execute($sql);
if ($retv)
{
if (!is_object($stmt)) $stmt = $dbc -> stmtinit();
if (isset($inf["vpn"]) && $inf["vpn"])
{
$parr = explode(",",$inf["vpn"]);
$stmt -> prepare("INSERT INTO Info_Verantwortlich (info_ID,persknr,prioritaet) VALUES(?,?,?)");
foreach ($parr as $pnr)
{
$stmt -> bind_param('iis',$infid, $pnr, $inf["prio"][$pnr]);
$retvi = $stmt -> execute();
if (!$retvi) $retv = false;
}
if (!$retv) echo "error INSERT Info_Verantwortlich: $stmt->error<br />\n";
}
elseif (is_array($inf['vpers']))
{
$stmt -> prepare("INSERT INTO Info_Verantwortlich (info_ID,persknr,prioritaet) VALUES(?,?,?)");
for ($k=0; $k<count($inf['vpers']); $k++)
{
if ($inf['vpers'] != -1)
{
$stmt -> bind_param('iis',$infid, $inf["vpers"][$k], $inf["prio"][$inf["vpers"][$k]]);
$retvi = $stmt -> execute();
if (!$retvi) $retv = false;
}
}
if (!$retv) echo "error INSERT Info_Verantwortlich: $stmt->error<br />\n";
}
}
else
{
echo "error INSERT Info_Verantwortlich: " . $dbc -> error . " <br />\n";
$retv = false;
}
}
elseif ($inf['ityp'] == 7)
{
// Adressat
$reta = true; $retv = true; // Verantwortliche werden nicht benannt
$sql = "DELETE FROM Info_Funktion WHERE info_ID = $infid";
$retd = $dbc -> execute($sql);
if ($retd)
{
if (is_array($inf['adr']))
{
foreach ($inf['adr'] as $adr)
{
if ($adr != -1)
{
$sql = "INSERT INTO Info_Funktion VALUES($infid, '$adr')";
$retai = $dbc -> execute($sql);
if (!$retai) $reta = false;
}
}
if (!$reta) echo "error INSERT Info_Funktion: $dbc->error<br />\n";
}
}
else
{
echo "error INSERT Info_Adressat: " . $dbc -> error . " <br />\n";
$reta = false;
}
}
elseif (substr($inf['ityp'],0,1) == 8)
{
$reta = true; $retv = true; // keine Adressaten, Verantwortliche
}
$retl = true;
if ($inf['ityp'] == 81 && $inf['anl'] > -1) //Anlagen
{
$retd = $dbc -> execute("DELETE FROM Info_Anlage WHERE info_ID = $infid");
if ($retd)
{
$retl = $dbc -> execute("INSERT INTO Info_Anlage (info_ID,al_ID) VALUES($infid," . $inf['anl'] .")" );
if (!$retl) echo "error INSERT Info_Anlage: $dbc->error<br />\n";
}
}
?>