adding a maximum of 20 for the DEPTH of delete in the file browser (may cause havoc in unknown case found in farafina server)
This commit is contained in:
parent
c8b3d1af2a
commit
c7226c9010
|
@ -1100,12 +1100,15 @@ class m_bro {
|
||||||
* @param string $file Fichier ou dossier supprimer.
|
* @param string $file Fichier ou dossier supprimer.
|
||||||
* @access private
|
* @access private
|
||||||
*/
|
*/
|
||||||
function _delete($file) {
|
function _delete($file,$depth=0) {
|
||||||
global $err;
|
global $err;
|
||||||
// permet d'effacer de nombreux fichiers
|
// permet d'effacer de nombreux fichiers
|
||||||
@set_time_limit(0);
|
@set_time_limit(0);
|
||||||
//chmod($file,0777);
|
//chmod($file,0777);
|
||||||
$err->log("bro", "_delete($file)");
|
$err->log("bro", "_delete($file)");
|
||||||
|
if ($depth>20) {
|
||||||
|
$err->log("bro", "CANCELING _delete($file) TOO DEEP");
|
||||||
|
}
|
||||||
if (is_dir($file)) {
|
if (is_dir($file)) {
|
||||||
$handle = opendir($file);
|
$handle = opendir($file);
|
||||||
if (!$handle) {
|
if (!$handle) {
|
||||||
|
@ -1114,7 +1117,7 @@ class m_bro {
|
||||||
}
|
}
|
||||||
while (($filename = readdir($handle)) !== false) {
|
while (($filename = readdir($handle)) !== false) {
|
||||||
if ($filename != "." && $filename != "..") {
|
if ($filename != "." && $filename != "..") {
|
||||||
$this->_delete($file . "/" . $filename);
|
$this->_delete($file . "/" . $filename,$depth+1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
closedir($handle);
|
closedir($handle);
|
||||||
|
|
Loading…
Reference in New Issue