fhiiqm/info_ed.php
changeset 36 4411d3239444
parent 31 0a1eb975fbd9
child 38 45c139f74ea4
equal deleted inserted replaced
35:679bc22e37e2 36:4411d3239444
    46 	$inf    = $_POST["inf"];
    46 	$inf    = $_POST["inf"];
    47     $ok		= $_POST["ok"];
    47     $ok		= $_POST["ok"];
    48     if (!$inf["okn"]) $ok = false;
    48     if (!$inf["okn"]) $ok = false;
    49     $duptext="";
    49     $duptext="";
    50     
    50     
    51 //    print_r($inf); echo "<br /><br />";
    51 //    print_r($inf); echo "ok = $ok<br /><br />";
    52 
    52 
    53 	include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
    53 	include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
    54     include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
    54     include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
    55 	$dbc = new dbconnection();
    55 	$dbc = new dbconnection();
    56     
    56     
    84             $retv = $dbc -> execute($sql);
    84             $retv = $dbc -> execute($sql);
    85             if ($dbc->error) echo "<p  class='red'>error copy Info_Verantwortlich: " . $dbc->error . "</p>";
    85             if ($dbc->error) echo "<p  class='red'>error copy Info_Verantwortlich: " . $dbc->error . "</p>";
    86             
    86             
    87             if ($ret && $retf && $retp && $reta && $retv)
    87             if ($ret && $retf && $retp && $reta && $retv)
    88             {
    88             {
    89                 $addr = $_SERVER["PHP_SELF"] . "?i=$infid_new&c=1";
    89                 $addr = $_SERVER["PHP_SELF"] . "?i=$infid_new&c=1&$getp";
    90                 header("Location: $addr");
    90                 header("Location: $addr");
    91                 exit;
    91                 exit;
    92             }
    92             }
    93             else $duptext = " - Fehler beim Duplizieren von ". $inf["iname"];    
    93             else $duptext = " - Fehler beim Duplizieren von ". $inf["iname"];    
    94         }
    94         }
   155         $("input[id='persknr']").addClass("long20");
   155         $("input[id='persknr']").addClass("long20");
   156         $("input[id='cdat']").addClass("long10");
   156         $("input[id='cdat']").addClass("long10");
   157         $("input[id='vdat']").addClass("long10");
   157         $("input[id='vdat']").addClass("long10");
   158         $("input[id='bdat']").addClass("long10");
   158         $("input[id='bdat']").addClass("long10");
   159         });
   159         });
       
   160         function addInputf(divId,anz){
       
   161                 var cdiv = document.createElement('div');
       
   162                 var idl = "cbl_" + anz;
       
   163                 cdiv.innerHTML = "<span></span>Dok-Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name='inf[ifname][]' type='text' size='50' maxlength='50' value='' />";
       
   164                 cdiv.innerHTML += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Schlagwort&nbsp;&nbsp;&nbsp;<input type='text' name='inf[swort][]'  size='30' maxlength='50' value='' />";
       
   165                 cdiv.innerHTML += "<img src='/fhiiqm/img/nixt.gif' border='0' height='100%' />";
       
   166                 //cdiv.innerHTML += "<span id='cbl'>&nbsp;&nbsp;&nbsp;<input type='checkbox' id='del' name='vertrag[del][]' value='1'/></span>";
       
   167                 cdiv.innerHTML += "<span id='cbl'>&nbsp;&nbsp;&nbsp;<input type='checkbox' id='del' name='inf[del][]' value='1'/>";
       
   168                 cdiv.innerHTML += "<label id='lb' for='del'>&nbsp;l&ouml;schen</label></span>";
       
   169                 cdiv.innerHTML += "<br />Upload-Dokument&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='file' name='ifile[]' size='50' maxlength='50' value='' />";
       
   170                 document.getElementById(divId).appendChild(cdiv);
       
   171                 var delcb = document.getElementById('del');
       
   172                 delcb.id = "del_" + anz;
       
   173                 delcb.style.display = 'none';
       
   174                 var lcb = document.getElementById('lb');
       
   175                 lcb.id = "lb_" + anz;
       
   176                 lcb.setAttribute("for", delcb.id);
       
   177                 lcb.style.display = 'none';
       
   178                 counter++;
       
   179         }
       
   180         function markdelInput(divId,anz){
       
   181             for (i=1; i<anz; i++)
       
   182             {
       
   183                 var id = "del_" + i;
       
   184                 var delcb = document.getElementById(id);
       
   185                 delcb.style.display = 'inline';
       
   186                 var idl = "lb_" + i;
       
   187                 var lcb = document.getElementById(idl);
       
   188                 lcb.style.display = 'inline';
       
   189             }
       
   190         }
   160     </script>
   191     </script>
   161 
   192 
   162 <?php
   193 <?php
   163     echo "&nbsp;";  
   194     echo "&nbsp;";  
   164     echo "<div class=\"float-br smaller\" valign='top'>";
   195     echo "<div class=\"float-br smaller\" valign='top'>";
   170     echo "<div align='center'>";
   201     echo "<div align='center'>";
   171     if ($infid) $text = "editieren"; else $text = "erfassen";
   202     if ($infid) $text = "editieren"; else $text = "erfassen";
   172     if ($copy) $duptext = " (Kopie)";
   203     if ($copy) $duptext = " (Kopie)";
   173     echo "<h3>Information $text$duptext<h3>";
   204     echo "<h3>Information $text$duptext<h3>";
   174     
   205     
   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         
       
   182     echo "</div>\n";
   206     echo "</div>\n";
   183     
   207     
       
   208     //Filename wenn Upload?
       
   209     foreach ($_FILES["ifile"]["error"] as $key => $err)
       
   210         if ($err == 0 && !$inf["ifname"][$key]) $ok = $ok && false;
       
   211 
   184     if (!$ok || (!$sub && !$del && !$dup))
   212     if (!$ok || (!$sub && !$del && !$dup))
   185     {
   213     {
   186         if ($infid && (!$sub || !$del) && !isset($inf))
   214         if ($infid && (!$sub || !$del) && !isset($inf))
   187         { // update
   215         { // update
   188             $sql = "SELECT info_ID,info_name_s,info_name_l,info_date,info_valid_from,info_valid_to,infotyp_ID,
   216             $sql = "SELECT info_ID,info_name_s,info_name_l,info_date,info_valid_from,info_valid_to,infotyp_ID,
   203                     $inf["bdat"]    = $row->info_valid_to;
   231                     $inf["bdat"]    = $row->info_valid_to;
   204                     $inf["ityp"]    = $row->infotyp_ID;
   232                     $inf["ityp"]    = $row->infotyp_ID;
   205                     $inf["persknr"] = $row->aname;
   233                     $inf["persknr"] = $row->aname;
   206                     $inf["pers"]    = $row->persknr;
   234                     $inf["pers"]    = $row->persknr;
   207                     $inf["infrel"]  = $row->info_rel_ID;
   235                     $inf["infrel"]  = $row->info_rel_ID;
   208                     $inf["ifname"]  = $row->info_file;
   236 //                    $inf["ifname"]  = $row->info_file;
   209                     $inf["lang"]    = $row->lang;     
   237                     $inf["lang"]    = $row->lang;     
   210                     $inf["fg"]      = $row->info_freigabe_ID;
   238                     $inf["fg"]      = $row->info_freigabe_ID;
   211                     $inf["sort"]    = $row->info_sort;
   239                     $inf["sort"]    = $row->info_sort;
   212                     $inf["betr"]    = str_replace('.',',',$row->betrag);     
   240                     $inf["betr"]    = str_replace('.',',',$row->betrag);     
   213                 }            
   241                 }            
   240                     $inf["vpers"][] = $row->persknr;
   268                     $inf["vpers"][] = $row->persknr;
   241 //                    $inf["prio"][]  = $row->prioritaet;
   269 //                    $inf["prio"][]  = $row->prioritaet;
   242                     $inf["prio"][$row->persknr]  = $row->prioritaet;
   270                     $inf["prio"][$row->persknr]  = $row->prioritaet;
   243                 }
   271                 }
   244             }
   272             }
       
   273             // Dokumente
       
   274             $sql = "SELECT if_filename, if_schlagwort FROM Info_File WHERE info_ID = $infid ORDER BY if_ID";
       
   275             if ($result = $dbc -> queryObjectArray($sql))
       
   276             {
       
   277                 foreach ($result as $row)
       
   278                 {
       
   279                     $inf["ifname"][] = $row->if_filename;
       
   280                     $inf["swort"][] = $row->if_schlagwort;
       
   281                 }
       
   282             }
   245 //    print_r($inf); echo "<br /><br />";
   283 //    print_r($inf); echo "<br /><br />";
   246             
   284             
   247         }
   285         }
   248         include($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/form/info_form2.inc.php");     
   286         include($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/form/info_form2.inc.php");     
   249         if ($sub)
   287 /*        if ($sub)
   250 		{
   288 		{
   251             echo            
   289             echo            
   252             "<tr>
   290             "<tr>
   253         		<td>Upload Infodokument </td>
   291         		<td>Upload Infodokument </td>
   254         		<td><input type=\"file\" name=\"ifile\" size=\"50\" maxlength=\"50\" value=\"" .
   292         		<td><input type=\"file\" name=\"ifile\" size=\"50\" maxlength=\"50\" value=\"" .
   255             $_FILES["ifile"]["name"] . "\"/></td>
   293             $_FILES["ifile"]["name"] . "\"/></td>
   256             </tr>";
   294             </tr>";
   257     
   295     
   258 		}
   296 		}
       
   297 */
   259         if ($sub || $del)
   298         if ($sub || $del)
   260 		{
   299 		{
   261 		  	if ($sub)
   300 		  	if ($sub)
   262                 $frage = "Alle Angaben ok?";
   301                 $frage = "Alle Angaben ok?";
   263             elseif ($del)
   302             elseif ($del)
   294         {   // loescht auch m:n - Tabellen wegen Loeschweitergabe
   333         {   // loescht auch m:n - Tabellen wegen Loeschweitergabe
   295             $sql = "DELETE FROM Info WHERE info_ID = '$infid'";
   334             $sql = "DELETE FROM Info WHERE info_ID = '$infid'";
   296             $retdi = $dbc -> execute($sql);
   335             $retdi = $dbc -> execute($sql);
   297             if ($retdi)
   336             if ($retdi)
   298             {
   337             {
   299                 include ("inc/file_upload.inc.php");
   338                 // alte Namen Infodocumente
   300                 $retdf  = mod_file("/var/www/fhiiqm/infos",$infid,"","del");  // Loeschen Dokument
   339                 $sql = "SELECT if_filename FROM Info_File WHERE info_ID = $infid ORDER BY if_ID";
   301                 if ($retdf) echo "<p class='green'><b>Infodokument zu ID '$infid' wurde gel&ouml;scht.</b></p>\n";
   340                 if ($res = $dbc -> queryObjectArray($sql))
       
   341                     foreach ($res as $row)
       
   342                         $ifile_old[] = $row->if_filename;
       
   343                                                 
       
   344                 include_once ("inc/file_upload.inc.php");
       
   345                 foreach ($inf['ifname'] as $key => $filename)
       
   346                     $retdf  = $retdf && mod_file("/var/www/fhiiqm/infos",$infid,"","del",$ifile_old[$key]);  // Loeschen alte Datei
       
   347                 if ($retdf) echo "<p class='green'><b>Infodokumente zu ID '$infid' wurde gel&ouml;scht.</b></p>\n";
   302                 echo "<p class='green'><b>Infodaten zu ID '$infid' wurden gel&ouml;scht.</b></p>\n";
   348                 echo "<p class='green'><b>Infodaten zu ID '$infid' wurden gel&ouml;scht.</b></p>\n";
   303                 echo "<br /><br />\n";
   349                 echo "<br /><br />\n";
   304     
   350     
   305                 // Anzeigen geloeschter Infodaten
   351                 // Anzeigen geloeschter Infodaten
   306                 if ($fname)
       
   307                     $ifile = $infid . "_" . $fname;
       
   308                 else
       
   309                     $ifile = $inf['ifname'];
       
   310                 echo "<p class='green'><b>DELETE: Daten  zu '".$inf["iname"]."' wurden erfolgreich gel&ouml;scht.</b></p>\n";
   352                 echo "<p class='green'><b>DELETE: Daten  zu '".$inf["iname"]."' wurden erfolgreich gel&ouml;scht.</b></p>\n";
   311                 include ("inc/info_dat_show.inc.php");
   353                 include ("inc/info_dat_show.inc.php");
   312             }                
   354             }                
   313             else
   355             else
   314             {
   356             {
   341             $stmt = $dbc -> stmtinit();
   383             $stmt = $dbc -> stmtinit();
   342             if (is_object($stmt))
   384             if (is_object($stmt))
   343             {
   385             {
   344                 if ($infid)
   386                 if ($infid)
   345                 {   //UPDATE
   387                 {   //UPDATE
   346                     // alter Name Infofile
       
   347                     $sql = "SELECT info_file FROM Info WHERE info_ID = $infid";
       
   348                     $ifile_old = $dbc -> querySingleItem($sql);
       
   349                     
   388                     
   350                     $stmt -> prepare("UPDATE fhiiqm.Info SET
   389                     $stmt -> prepare("UPDATE fhiiqm.Info SET
   351                                 info_name_s = ?, 
   390                                 info_name_s = ?, 
   352                                 info_name_l = ?, 
   391                                 info_name_l = ?, 
   353                                 info_date = ?, 
   392                                 info_date = ?, 
   379                     }    
   418                     }    
   380                 } 
   419                 } 
   381             }   // stmt-Objekt
   420             }   // stmt-Objekt
   382             if ($result)
   421             if ($result)
   383             {
   422             {
   384                  // n:m Tabellen INSERT
   423                 // upload Files
   385                 include ("inc/info_tab_ins.inc.php");
   424                 if ($infid) include ("inc/info_file.inc.php");
   386 
   425                 // n:m Tabellen INSERT
   387                 // upload File
   426                 if ($ret &&  $retf) include ("inc/info_tab_ins.inc.php");
   388                 if (is_uploaded_file($_FILES["ifile"]["tmp_name"]) && isset($_FILES["ifile"]["name"]) && $_FILES["ifile"]["name"] )
   427             }
   389                 {
   428             if ($result && $retf && $ret && $reta && $retp && $retv) // INSERT/UPDATE Info
   390                     include ("inc/file_upload.inc.php");
       
   391                     $fname  = gen_filename($inf['ifname'],"ifile",$infid);
       
   392                     $retdf  = mod_file("/var/www/fhiiqm/infos",$infid,"","del");     // Loeschen alte Datei
       
   393                     $retf   = upload("ifile", $fname, $infid, "infos");              // Datei prüfen und in Dokumentenverzeichnis verschieben
       
   394                     
       
   395                     if ($retf)
       
   396                     {   // upload o.k.
       
   397                         //UPDATE des Filenamens
       
   398                         $sql = "UPDATE Info SET info_file = '" . $infid . "_" . $fname ."' WHERE info_ID=$infid";
       
   399                         $reti=$dbc->execute($sql);
       
   400                         if (!$reti) 
       
   401                             echo $dbc -> error . "<br>\n";
       
   402                     }
       
   403                    
       
   404                 }
       
   405                 else
       
   406                 {// nur Aenderung Dateiname
       
   407                     if ($inf["ifname"]) // Dateiname vergeben
       
   408                     {
       
   409                         include_once ("inc/file_upload.inc.php");
       
   410                         $fname = gen_filename($inf["ifname"],$ifile_old,$infid,0);
       
   411                         $len = strlen($infid)+1;
       
   412                         if (substr($fname,0,$len) != "$infid" . "_") $fname = $infid . "_" . $fname;
       
   413                         if ($inf["ifname"] != $ifile_old)
       
   414                         {
       
   415                             $retf  = mod_file("/var/www/fhiiqm/infos",$infid,$fname,"upd");  // Umbenennen alte Datei
       
   416                             if ($retf) 
       
   417                             {
       
   418                                 $sql = "UPDATE Info SET info_file = '" . $fname . "' WHERE info_ID=$infid";
       
   419                                 $reti=$dbc->execute($sql);
       
   420                                 if (!$reti) 
       
   421                                     echo $dbc -> error . "<br>\n";
       
   422                                 if (substr($fname,0,$len) == "$infid" . "_") $fname = substr($fname,$len,50);
       
   423                             }
       
   424                             
       
   425                         }
       
   426                         else
       
   427                         {
       
   428                             //kein Upload, keine Dateinamenaenderung
       
   429                             if (substr($fname,0,$len) == "$infid" . "_") $fname = substr($fname,$len,50);
       
   430                             $retf=1; $reti=1;
       
   431                         }
       
   432                     }
       
   433                     else // kein Dateiname angegeben
       
   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                     }
       
   449                 }
       
   450             }            
       
   451             if ($result && $retf && $reti && $reta && $retp && $retv) // INSERT/UPDATE Info
       
   452             {
   429             {
   453                 //Eingabe Daten, Upload File erfolgreich 
   430                 //Eingabe Daten, Upload File erfolgreich 
   454                     echo "<p class='green'><b>Infodaten zu ID '$infid' wurden erfolgreich gespeichert.</b></p>\n";
   431                     echo "<p class='green'><b>Infodaten zu ID '$infid' wurden erfolgreich gespeichert.</b></p>\n";
   455                     echo "<br /><br />\n";
   432                     echo "<br /><br />\n";
   456 
   433 
   457                 // Anzeigen gespeicherte Infodaten
   434                 // Anzeigen gespeicherte Infodaten
   458                 if ($fname)
       
   459                     $ifile = $infid . "_" . $fname;
       
   460                 else
       
   461                     $ifile = $inf['ifname'];
       
   462                 include ("inc/info_dat_show.inc.php");
   435                 include ("inc/info_dat_show.inc.php");
   463             }            
   436             }            
   464         }   // INSERT / UPDATE
   437         }   // INSERT / UPDATE
   465         echo "</div>";
   438         echo "</div>";
   466         echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"info_flist.php?$getp\" target=\"_self\" title=\"Infoliste\">Infoliste</a></p>\n"; 
   439         echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"info_flist.php?$getp\" target=\"_self\" title=\"Infoliste\">Infoliste</a></p>\n";