fhiiqm/inc/info_file.inc.php
changeset 37 d0b1e73eda83
equal deleted inserted replaced
36:4411d3239444 37:d0b1e73eda83
       
     1 <?php
       
     2 
       
     3 /**
       
     4  * @author Bettina Schwarzer, Fritz-Haber-Institut
       
     5  * @copyright 04/2013
       
     6  * 
       
     7  * Upload Info-Files
       
     8  */
       
     9 
       
    10             include_once ("inc/file_upload.inc.php");
       
    11             $retf = 1; $ret = 1;
       
    12             $len = strlen($infid)+1;
       
    13             // alte Namen Infodocumente
       
    14             $sql = "SELECT if_filename FROM Info_File WHERE info_ID = $infid ORDER BY if_ID";
       
    15             if ($res = $dbc -> queryObjectArray($sql))
       
    16                 foreach ($res as $row)
       
    17                     $ifile_old[] = $row->if_filename;
       
    18 
       
    19             // zu loeschende docs auf Server
       
    20             foreach ($inf['ifname'] as $key => &$val)
       
    21             {
       
    22                 if (isset($inf['del'][$key]) && $inf['del'][$key] && $val)
       
    23                 {
       
    24                     $retf  = $retf && mod_file("/var/www/fhiiqm/infos",$infid,"","del",$val);  // Loeschen altes File auf Server
       
    25                     $val = null;
       
    26                 }   
       
    27             }            
       
    28             // upload File, wenn vorhanden
       
    29             if (isset($_FILES) && is_array($_FILES))
       
    30             {
       
    31                 foreach ($inf['ifname'] as $key => &$filena)
       
    32                 {
       
    33                     $filena = gen_filename($filena,$_FILES['ifile']['name'][$key],$infid,0);
       
    34                     if ($_FILES["ifile"]["error"][$key] == UPLOAD_ERR_NO_FILE)
       
    35                     {
       
    36                         if ($filena > "!" && $infid."_".$filena != $ifile_old[$key])
       
    37                         {
       
    38                             if (substr($filena,0,$len) != "$infid_") $filenam = $infid . "_" . $filena; else $filenam = $filena;
       
    39                             $retf  = $retf && mod_file("/var/www/fhiiqm/infos",$infid,$filenam,"upd",$ifile_old[$key]);  // Umbenennen alte Datei
       
    40                         }   
       
    41                         elseif ((!$filena || $filena == '') && isset($ifile_old[$key]))
       
    42                             $retf  = $retf && mod_file("/var/www/fhiiqm/infos",$infid,"","del",$ifile_old[$key]);  // Loeschen alte Datei
       
    43                         else    //kein Upload, keine Dateinamenaenderung
       
    44                             $retf = 1;
       
    45                     }
       
    46                     if ($_FILES["ifile"]["error"][$key] == UPLOAD_ERR_OK)
       
    47                     {
       
    48                         if (isset($ifile_old[$key]) && $filena > "!" && $infid."_".$filena != $ifile_old[$key])
       
    49                         {
       
    50                             $retf  = $retf && mod_file("/var/www/fhiiqm/infos",$infid,"","del",$ifile_old[$key]);  // Loeschen alte Datei
       
    51                         }    
       
    52                     }
       
    53                 }
       
    54                 if (isset($_FILES['ifile']['error']) && is_array($_FILES['ifile']['error']) && in_array(0,$_FILES['ifile']['error']))
       
    55                 {    
       
    56                     $ret = upload_multif("ifile", $inf['ifname'], $infid, $dir="infos");
       
    57                     if ($ret) echo "<p class='green'><b>Dateien zu ID '$infid' wurden erfolgreich hochgeladen.</b></p>\n";
       
    58                     else echo "<p class='red'><b>Upload für einige Dateien zu ID '$infid' ist fehlgeschlagen.</b></p>\n";
       
    59                 }
       
    60                 else $ret = 1;
       
    61             }
       
    62 
       
    63 
       
    64 ?>