|
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 ?> |