fhiiqm/info_ed.php
changeset 31 0a1eb975fbd9
parent 30 d02d02efc55a
child 36 4411d3239444
equal deleted inserted replaced
30:d02d02efc55a 31:0a1eb975fbd9
     2 
     2 
     3 /**
     3 /**
     4  * @author Bettina Schwarzer, Fritz-Haber-Institut
     4  * @author Bettina Schwarzer, Fritz-Haber-Institut
     5  * @copyright 02/2012
     5  * @copyright 02/2012
     6  *
     6  *
     7  * INSERT,UPDATE Informationen Geschaeftverteilungsplan   
     7  * INSERT,UPDATE Informationen ausser Betriebsanweisung, Betriebsstoerung
     8  */
     8  */
     9 
     9 
    10     error_reporting(E_ALL ^ E_NOTICE);
    10     error_reporting(E_ALL ^ E_NOTICE);
    11     
    11     
    12     session_start();
    12     session_start();
   170     echo "<div align='center'>";
   170     echo "<div align='center'>";
   171     if ($infid) $text = "editieren"; else $text = "erfassen";
   171     if ($infid) $text = "editieren"; else $text = "erfassen";
   172     if ($copy) $duptext = " (Kopie)";
   172     if ($copy) $duptext = " (Kopie)";
   173     echo "<h3>Information $text$duptext<h3>";
   173     echo "<h3>Information $text$duptext<h3>";
   174     
   174     
       
   175     if ($_FILES["ifile"]["error"] == 1 || $_FILES["ifile"]["error"] == 2)
       
   176     {
       
   177         if ($_FILES["ifile"]["error"] == 2)
       
   178             echo "<p class='red'><b>Uploadfile zu ID '$infid' > 10 MByte!</b></p>\n";
       
   179         $ok = 0;
       
   180     }
       
   181         
   175     echo "</div>\n";
   182     echo "</div>\n";
   176     
   183     
   177     if (!$ok || (!$sub && !$del && !$dup))
   184     if (!$ok || (!$sub && !$del && !$dup))
   178     {
   185     {
   179         if ($infid && (!$sub || !$del) && !isset($inf))
   186         if ($infid && (!$sub || !$del) && !isset($inf))
   180         { // update
   187         { // update
   181             $sql = "SELECT info_ID,info_name_s,info_name_l,info_date,info_valid_from,info_valid_to,infotyp_ID,
   188             $sql = "SELECT info_ID,info_name_s,info_name_l,info_date,info_valid_from,info_valid_to,infotyp_ID,
   182                                 i.persknr,lang,info_file,info_rel_ID,info_freigabe_ID,info_sort, 
   189                                 i.persknr,lang,info_file,info_rel_ID,info_freigabe_ID,info_sort,betrag, 
   183                                 CONCAT(nachname,', ',vorname) AS aname 
   190                                 CONCAT(nachname,', ',vorname) AS aname 
   184                                 FROM fhiiqm.Info i LEFT OUTER JOIN fhiiqm.Mitarbeiter m 
   191                                 FROM fhiiqm.Info i LEFT OUTER JOIN fhiiqm.Mitarbeiter m 
   185                                 ON i.persknr=m.persknr 
   192                                 ON i.persknr=m.persknr 
   186                                 WHERE info_ID = $infid";
   193                                 WHERE info_ID = $infid";
   187             if ($result = $dbc -> queryObjectArray($sql))
   194             if ($result = $dbc -> queryObjectArray($sql))
   199                     $inf["pers"]    = $row->persknr;
   206                     $inf["pers"]    = $row->persknr;
   200                     $inf["infrel"]  = $row->info_rel_ID;
   207                     $inf["infrel"]  = $row->info_rel_ID;
   201                     $inf["ifname"]  = $row->info_file;
   208                     $inf["ifname"]  = $row->info_file;
   202                     $inf["lang"]    = $row->lang;     
   209                     $inf["lang"]    = $row->lang;     
   203                     $inf["fg"]      = $row->info_freigabe_ID;
   210                     $inf["fg"]      = $row->info_freigabe_ID;
   204                     $inf["sort"]    = $row->info_sort;     
   211                     $inf["sort"]    = $row->info_sort;
       
   212                     $inf["betr"]    = str_replace('.',',',$row->betrag);     
   205                 }            
   213                 }            
   206             }
   214             }
   207             // Produkt
   215             // Produkt
   208             $sql = "SELECT produkt_ID FROM Info_Produkt WHERE info_ID = $infid";
   216             $sql = "SELECT produkt_ID FROM Info_Produkt WHERE info_ID = $infid";
   209             if ($result = $dbc -> queryObjectArray($sql))
   217             if ($result = $dbc -> queryObjectArray($sql))
   324             
   332             
   325             if ($inf["cdat"] == "") $inf["cdat"] = null; 
   333             if ($inf["cdat"] == "") $inf["cdat"] = null; 
   326             if ($inf["vdat"] == "") $inf["vdat"] = null; 
   334             if ($inf["vdat"] == "") $inf["vdat"] = null; 
   327             if ($inf["bdat"] == "") $inf["bdat"] = null; 
   335             if ($inf["bdat"] == "") $inf["bdat"] = null; 
   328             if ($inf["fg"] == -1) $inf["fg"] = null;
   336             if ($inf["fg"] == -1) $inf["fg"] = null;
       
   337             if (isset($inf['betr']) && $inf['betr']) $betrag = dbformat_wert($inf['betr']); else $betrag = null;   
   329     
   338     
   330             if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
   339             if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
   331             
   340             
   332             $stmt = $dbc -> stmtinit();
   341             $stmt = $dbc -> stmtinit();
   333             if (is_object($stmt))
   342             if (is_object($stmt))
   347                                 infotyp_ID = ?, 
   356                                 infotyp_ID = ?, 
   348                                 persknr = ?, 
   357                                 persknr = ?, 
   349                                 lang = ?,
   358                                 lang = ?,
   350                                 info_freigabe_ID = ?, 
   359                                 info_freigabe_ID = ?, 
   351                                 info_sort = ?, 
   360                                 info_sort = ?, 
   352                                 info_rel_ID = ? WHERE info_ID = $infid");
   361                                 info_rel_ID = ?,
   353                     $stmt -> bind_param('sssssiisisi',$inf["iname"],$inf["ilong"],$inf["cdat"],$inf["vdat"],$inf["bdat"],$inf["ityp"],$inf["pers"],$inf["lang"],$inf["fg"],$inf["sort"],$inf["infrel"]);
   362                                 betrag = ?  WHERE info_ID = $infid");
       
   363                     $stmt -> bind_param('sssssiisisid',$inf["iname"],$inf["ilong"],$inf["cdat"],$inf["vdat"],$inf["bdat"],$inf["ityp"],$inf["pers"],$inf["lang"],$inf["fg"],$inf["sort"],$inf["infrel"],$betrag);
   354                     $result = $stmt -> execute();
   364                     $result = $stmt -> execute();
   355                     if ($stmt->error) echo "error UPDATE Info: " . $stmt->error . "<br><br>\n";
   365                     if ($stmt->error) echo "error UPDATE Info: " . $stmt->error . "<br><br>\n";
   356                 }
   366                 }
   357                 else
   367                 else
   358                 {   //INSERT
   368                 {   //INSERT
   359                     $stmt -> prepare ("INSERT INTO Info (info_name_s,info_name_l,info_date,info_valid_from,info_valid_to,
   369                     $stmt -> prepare ("INSERT INTO Info (info_name_s,info_name_l,info_date,info_valid_from,info_valid_to,
   360                                 infotyp_ID,persknr,lang,info_freigabe_ID,info_sort,info_rel_ID) VALUES (?,?,?,?,?,?,?,?,?,?,?)");
   370                                 infotyp_ID,persknr,lang,info_freigabe_ID,info_sort,info_rel_ID,betrag) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)");
   361                     $stmt -> bind_param('sssssiisisi', $inf["iname"],$inf["ilong"],$inf["cdat"],$inf["vdat"],$inf["bdat"],$inf["ityp"],$inf["pers"],$inf["lang"],$inf["fg"],$inf["sort"],$inf["infrel"]);
   371                     $stmt -> bind_param('sssssiisisid', $inf["iname"],$inf["ilong"],$inf["cdat"],$inf["vdat"],$inf["bdat"],$inf["ityp"],$inf["pers"],$inf["lang"],$inf["fg"],$inf["sort"],$inf["infrel"],$betrag);
   362                     $result = $stmt -> execute();      
   372                     $result = $stmt -> execute();      
   363                 
   373                 
   364                     if ($stmt->error) echo "error INSERT Info: " . $stmt->error . "<br><br>\n";
   374                     if ($stmt->error) echo "error INSERT Info: " . $stmt->error . "<br><br>\n";
   365                     if ($result)
   375                     if ($result)
   366                     { // INSERT o.k.
   376                     { // INSERT o.k.
   394                 }
   404                 }
   395                 else
   405                 else
   396                 {// nur Aenderung Dateiname
   406                 {// nur Aenderung Dateiname
   397                     if ($inf["ifname"]) // Dateiname vergeben
   407                     if ($inf["ifname"]) // Dateiname vergeben
   398                     {
   408                     {
   399                         include ("inc/file_upload.inc.php");
   409                         include_once ("inc/file_upload.inc.php");
   400                         $fname = gen_filename($inf["ifname"],$ifile_old,$infid,0);
   410                         $fname = gen_filename($inf["ifname"],$ifile_old,$infid,0);
   401                         $len = strlen($infid)+1;
   411                         $len = strlen($infid)+1;
   402                         if (substr($fname,0,$len) != "$infid" . "_") $fname = $infid . "_" . $fname;
   412                         if (substr($fname,0,$len) != "$infid" . "_") $fname = $infid . "_" . $fname;
   403                         if ($inf["ifname"] != $ifile_old)
   413                         if ($inf["ifname"] != $ifile_old)
   404                         {
   414                         {
   419                             if (substr($fname,0,$len) == "$infid" . "_") $fname = substr($fname,$len,50);
   429                             if (substr($fname,0,$len) == "$infid" . "_") $fname = substr($fname,$len,50);
   420                             $retf=1; $reti=1;
   430                             $retf=1; $reti=1;
   421                         }
   431                         }
   422                     }
   432                     }
   423                     else // kein Dateiname angegeben
   433                     else // kein Dateiname angegeben
   424                     {$retf=1; $reti=1;}
   434                     {
       
   435                         $retf=1; $reti=1;
       
   436                         if ($ifile_old)
       
   437                         {    // Loeschen alte Datei
       
   438                             include_once ("inc/file_upload.inc.php");
       
   439                             $retf  = mod_file("/var/www/fhiiqm/infos",$infid,"","del");
       
   440                             if ($retf) 
       
   441                             {
       
   442                                 $sql = "UPDATE Info SET info_file = null WHERE info_ID=$infid";
       
   443                                 $reti=$dbc->execute($sql);
       
   444                                 if (!$reti) 
       
   445                                     echo $dbc -> error . "<br>\n";
       
   446                             }
       
   447                         }    
       
   448                     }
   425                 }
   449                 }
   426             }            
   450             }            
   427             if ($result && $retf && $reti && $reta && $retp && $retv) // INSERT/UPDATE Info
   451             if ($result && $retf && $reti && $reta && $retp && $retv) // INSERT/UPDATE Info
   428             {
   452             {
   429                 //Eingabe Daten, Upload File erfolgreich 
   453                 //Eingabe Daten, Upload File erfolgreich