From 1b21905c556314a47aafdb01e6e3863145c3a1a5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 21 Aug 2019 14:51:18 +0200 Subject: [PATCH 1/2] Fix test on uploaded modules Conflicts: htdocs/admin/modules.php --- htdocs/admin/modules.php | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index 0397073935d..69e428cddc0 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -130,13 +130,13 @@ if ($action=='install') } else { - if (! preg_match('/\.zip$/i',$original_file)) + if (! $error && ! preg_match('/\.zip$/i', $original_file)) { $langs->load("errors"); setEventMessages($langs->trans("ErrorFileMustBeADolibarrPackage",$original_file), null, 'errors'); $error++; } - if (! preg_match('/module_.*\-[\d]+\.[\d]+.*$/i',$original_file)) + if (! $error && ! preg_match('/^(module[a-zA-Z0-9]*|theme)_.*\-([0-9][0-9\.]*)\.zip$/i', $original_file)) { $langs->load("errors"); setEventMessages($langs->trans("ErrorFilenameDosNotMatchDolibarrPackageRules",$original_file, 'module_*-x.y*.zip'), null, 'errors'); @@ -180,13 +180,13 @@ if ($action=='install') { // Now we move the dir of the module $modulename=preg_replace('/module_/', '', $original_file); - $modulename=preg_replace('/\-[\d]+\.[\d]+.*$/', '', $modulename); + $modulename=preg_replace('/\-([0-9][0-9\.]*)\.zip$/i', '', $modulename); // Search dir $modulename - $modulenamedir=$conf->admin->dir_temp.'/'.$tmpdir.'/'.$modulename; + $modulenamedir=$conf->admin->dir_temp.'/'.$tmpdir.'/'.$modulename; // Example .../mymodule //var_dump($modulenamedir); if (! dol_is_dir($modulenamedir)) { - $modulenamedir=$conf->admin->dir_temp.'/'.$tmpdir.'/htdocs/'.$modulename; + $modulenamedir=$conf->admin->dir_temp.'/'.$tmpdir.'/htdocs/'.$modulename; // Example .../htdocs/mymodule //var_dump($modulenamedir); if (! dol_is_dir($modulenamedir)) { @@ -195,10 +195,17 @@ if ($action=='install') } } + if (! $error) + { + // TODO Make more test + + } + + // Now we install the module if (! $error) { //var_dump($dirins); - @dol_delete_dir_recursive($dirins.'/'.$modulename); + @dol_delete_dir_recursive($dirins.'/'.$modulename); // delete the zip file dol_syslog("Uncompress of module file is a success. We copy it from ".$modulenamedir." into target dir ".$dirins.'/'.$modulename); $result=dolCopyDir($modulenamedir, $dirins.'/'.$modulename, '0444', 1); if ($result <= 0) From ed7480ddbb9205210bd7dd747e4df23300da34a6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 21 Aug 2019 16:03:49 +0200 Subject: [PATCH 2/2] Fix phpcs --- htdocs/admin/modules.php | 1 - 1 file changed, 1 deletion(-) diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index 69e428cddc0..2d12c5838f9 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -198,7 +198,6 @@ if ($action=='install') if (! $error) { // TODO Make more test - } // Now we install the module