diff --git a/htdocs/core/lib/website2.lib.php b/htdocs/core/lib/website2.lib.php index 004ac154aee..380a7c0dc12 100644 --- a/htdocs/core/lib/website2.lib.php +++ b/htdocs/core/lib/website2.lib.php @@ -86,7 +86,7 @@ function dolSavePageAlias($filealias, $object, $objectpage) if ($objectpage->lang && in_array($objectpage->lang, explode(',', $object->otherlang))) { $dirname = dirname($filealias); $filename = basename($filealias); - $filealias = $dirname.'/'.$objectpage->lang.'/'.$filename; + $filealiassub = $dirname.'/'.$objectpage->lang.'/'.$filename; $aliascontent = 'id.'.tpl.php\'; '; $aliascontent .= 'else require $dolibarr_main_data_root.\'/website/\'.$website->ref.\'/page'.$objectpage->id.'.tpl.php\';'."\n"; $aliascontent .= '?>'."\n"; - $result = file_put_contents($filealias, $aliascontent); + $result = file_put_contents($filealiassub, $aliascontent); if ($result === false) { - dol_syslog("Failed to write file ".$filealias, LOG_WARNING); + dol_syslog("Failed to write file ".$filealiassub, LOG_WARNING); } if (!empty($conf->global->MAIN_UMASK)) { - @chmod($filealias, octdec($conf->global->MAIN_UMASK)); + @chmod($filealiassub, octdec($conf->global->MAIN_UMASK)); } } // Save also alias into all language subdirectories if it is a main language @@ -108,7 +108,7 @@ function dolSavePageAlias($filealias, $object, $objectpage) $dirname = dirname($filealias); $filename = basename($filealias); foreach (explode(',', $object->otherlang) as $sublang) { - $filealias = $dirname.'/'.$sublang.'/'.$filename; + $filealiassub = $dirname.'/'.$sublang.'/'.$filename; $aliascontent = 'id.'.tpl.php\'; '; $aliascontent .= 'else require $dolibarr_main_data_root.\'/website/\'.$website->ref.\'/page'.$objectpage->id.'.tpl.php\';'."\n"; $aliascontent .= '?>'."\n"; - $result = file_put_contents($filealias, $aliascontent); + $result = file_put_contents($filealiassub, $aliascontent); if ($result === false) { - dol_syslog("Failed to write file ".$filealias, LOG_WARNING); + dol_syslog("Failed to write file ".$filealiassub, LOG_WARNING); } if (!empty($conf->global->MAIN_UMASK)) { - @chmod($filealias, octdec($conf->global->MAIN_UMASK)); + @chmod($filealiassub, octdec($conf->global->MAIN_UMASK)); } } } diff --git a/htdocs/website/index.php b/htdocs/website/index.php index 30937b74c34..05ef2f7e64d 100644 --- a/htdocs/website/index.php +++ b/htdocs/website/index.php @@ -2037,6 +2037,17 @@ if (($action == 'updatesource' || $action == 'updatecontent' || $action == 'conf { dol_syslog("We regenerate alias page new name=".$filealias.", old name=".$fileoldalias); dol_delete_file($fileoldalias); + + // Delete also pages into language subdirectories + if (empty($objectpage->lang) || !in_array($objectpage->lang, explode(',', $object->otherlang))) { + $dirname = dirname($fileoldalias); + $filename = basename($fileoldalias); + foreach (explode(',', $object->otherlang) as $sublang) { + $fileoldaliassub = $dirname.'/'.$sublang.'/'.$filename; + dol_delete_file($fileoldaliassub); + } + } + } // Save page alias