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