fhiiqm/inc/info_file.inc.php
author Bettina Schwarzer
Fri, 05 Feb 2016 14:03:40 +0100
changeset 44 d652bbba2d43
parent 37 d0b1e73eda83
permissions -rw-r--r--
fhiiqm: achilleus -> db2, Korrekturen

<?php

/**
 * @author Bettina Schwarzer, Fritz-Haber-Institut
 * @copyright 04/2013
 * 
 * Upload Info-Files
 */

            include_once ("inc/file_upload.inc.php");
            $retf = 1; $ret = 1;
            $len = strlen($infid)+1;
            // alte Namen Infodocumente
            $sql = "SELECT if_filename FROM Info_File WHERE info_ID = $infid ORDER BY if_ID";
            if ($res = $dbc -> queryObjectArray($sql))
                foreach ($res as $row)
                    $ifile_old[] = $row->if_filename;

            // zu loeschende docs auf Server
            foreach ($inf['ifname'] as $key => &$val)
            {
                if (isset($inf['del'][$key]) && $inf['del'][$key] && $val)
                {
                    $retf  = $retf && mod_file("/var/www/fhiiqm/infos",$infid,"","del",$val);  // Loeschen altes File auf Server
                    $val = null;
                }   
            }            
            // upload File, wenn vorhanden
            if (isset($_FILES) && is_array($_FILES))
            {
                foreach ($inf['ifname'] as $key => &$filena)
                {
                    $filena = gen_filename($filena,$_FILES['ifile']['name'][$key],$infid,0);
                    if ($_FILES["ifile"]["error"][$key] == UPLOAD_ERR_NO_FILE)
                    {
                        if ($filena > "!" && $infid."_".$filena != $ifile_old[$key])
                        {
                            if (substr($filena,0,$len) != "$infid_") $filenam = $infid . "_" . $filena; else $filenam = $filena;
                            $retf  = $retf && mod_file("/var/www/fhiiqm/infos",$infid,$filenam,"upd",$ifile_old[$key]);  // Umbenennen alte Datei
                        }   
                        elseif ((!$filena || $filena == '') && isset($ifile_old[$key]))
                            $retf  = $retf && mod_file("/var/www/fhiiqm/infos",$infid,"","del",$ifile_old[$key]);  // Loeschen alte Datei
                        else    //kein Upload, keine Dateinamenaenderung
                            $retf = 1;
                    }
                    if ($_FILES["ifile"]["error"][$key] == UPLOAD_ERR_OK)
                    {
                        if (isset($ifile_old[$key]) && $filena > "!" && $infid."_".$filena != $ifile_old[$key])
                        {
                            $retf  = $retf && mod_file("/var/www/fhiiqm/infos",$infid,"","del",$ifile_old[$key]);  // Loeschen alte Datei
                        }    
                    }
                }
                if (isset($_FILES['ifile']['error']) && is_array($_FILES['ifile']['error']) && in_array(0,$_FILES['ifile']['error']))
                {    
                    $ret = upload_multif("ifile", $inf['ifname'], $infid, $dir="infos");
                    if ($ret) echo "<p class='green'><b>Dateien zu ID '$infid' wurden erfolgreich hochgeladen.</b></p>\n";
                    else echo "<p class='red'><b>Upload für einige Dateien zu ID '$infid' ist fehlgeschlagen.</b></p>\n";
                }
                else $ret = 1;
            }


?>