mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
Fix logs and protection for infinit loop
This commit is contained in:
parent
8673588274
commit
c8a7c09033
|
|
@ -1641,14 +1641,19 @@ function dol_delete_dir($dir, $nophperrors = 0)
|
|||
* @param int $onlysub Delete only files and subdir, not main directory
|
||||
* @param int $countdeleted Counter to count nb of elements found really deleted
|
||||
* @param int $indexdatabase Try to remove also index entries.
|
||||
* @param int $nolog Disable log files (too verbose when making recursive directories)
|
||||
* @param int $nolog 1=Disable log for files and subdirectories (too verbose when making recursive directories)
|
||||
* @param int $level 0 = level or recursivity
|
||||
* @return int Number of files and directory we try to remove. NB really removed is returned into var by reference $countdeleted.
|
||||
*/
|
||||
function dol_delete_dir_recursive($dir, $count = 0, $nophperrors = 0, $onlysub = 0, &$countdeleted = 0, $indexdatabase = 1, $nolog = 0)
|
||||
function dol_delete_dir_recursive($dir, $count = 0, $nophperrors = 0, $onlysub = 0, &$countdeleted = 0, $indexdatabase = 1, $nolog = 0, $level = 0)
|
||||
{
|
||||
if (empty($nolog)) {
|
||||
if (empty($nolog) || empty($level)) {
|
||||
dol_syslog("functions.lib:dol_delete_dir_recursive ".$dir, LOG_DEBUG);
|
||||
}
|
||||
if ($level > 1000) {
|
||||
dol_syslog("functions.lib:dol_delete_dir_recursive too many depth", LOG_WARNING);
|
||||
}
|
||||
|
||||
if (dol_is_dir($dir)) {
|
||||
$dir_osencoded = dol_osencode($dir);
|
||||
if ($handle = opendir("$dir_osencoded")) {
|
||||
|
|
@ -1659,7 +1664,7 @@ function dol_delete_dir_recursive($dir, $count = 0, $nophperrors = 0, $onlysub =
|
|||
|
||||
if ($item != "." && $item != "..") {
|
||||
if (is_dir(dol_osencode("$dir/$item")) && !is_link(dol_osencode("$dir/$item"))) {
|
||||
$count = dol_delete_dir_recursive("$dir/$item", $count, $nophperrors, 0, $countdeleted, $indexdatabase, $nolog);
|
||||
$count = dol_delete_dir_recursive("$dir/$item", $count, $nophperrors, 0, $countdeleted, $indexdatabase, $nolog, ($level + 1));
|
||||
} else {
|
||||
$result = dol_delete_file("$dir/$item", 1, $nophperrors, 0, null, false, $indexdatabase, $nolog);
|
||||
$count++;
|
||||
|
|
|
|||
|
|
@ -836,7 +836,8 @@ IMG;
|
|||
dol_mkdir($conf->user->dir_temp); // We must be sure the directory exists and is writable
|
||||
|
||||
// We delete and recreate a subdir because the soffice may have change pemrissions on it
|
||||
dol_delete_dir_recursive($conf->user->dir_temp.'/odtaspdf');
|
||||
$countdeleted = 0;
|
||||
dol_delete_dir_recursive($conf->user->dir_temp.'/odtaspdf', 0, 0, 0, $countdeleted, 0, 1);
|
||||
dol_mkdir($conf->user->dir_temp.'/odtaspdf');
|
||||
|
||||
// Install prerequisites: apt install soffice libreoffice-common libreoffice-writer
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user