From a3ca245bf7d0829fd9084b7484c7ec36fa6a404a Mon Sep 17 00:00:00 2001
From: ARNO* <arno@rezo.net>
Date: Sun, 12 Feb 2006 09:37:53 +0000
Subject: [PATCH] Bug bizarre de upload en presence d'un sous-dossier

---
 ecrire/inc_flock.php | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/ecrire/inc_flock.php b/ecrire/inc_flock.php
index ac3550533d..02cc579265 100644
--- a/ecrire/inc_flock.php
+++ b/ecrire/inc_flock.php
@@ -197,7 +197,8 @@ function preg_files($dir, $pattern=-1 /* AUTO */ ) {
 	if ($pattern == -1)
 		$pattern = "^$dir";
 	$fichiers = array();
-	$dir = preg_replace(',/[^/]*$,', '', $dir);
+	// A quoi sert cette ligne?
+//	$dir = preg_replace(',/[^/]*$,', '', $dir);
 
 	if (@is_dir($dir) AND is_readable($dir) AND $d = @opendir($dir)) {
 		while (($f = readdir($d)) !== false) {
@@ -209,17 +210,18 @@ function preg_files($dir, $pattern=-1 /* AUTO */ ) {
 					if (preg_match(",$pattern,i", "$dir/$f"))
 						$fichiers[] = "$dir/$f";
 				} else if (is_dir("$dir/$f")) {
-					$fichiers = array_merge($fichiers,
-						preg_files("$dir/$f", $pattern));
+					$beginning = $fichiers;
+					$end = preg_files("$dir/$f", $pattern);
+					$fichiers = array_merge((array)$beginning, (array)$end);
 				}
 			}
 		}
 		closedir($d);
 		sort($fichiers);
 	}
-	else
+	else {
 		spip_log("repertoire $dir absent ou illisible");
-
+	}
 	sort($fichiers);
 	return $fichiers;
 }
-- 
GitLab