From 5e762fe712d3d2dc799aa967bccb3f8c03500b6f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 13 Aug 2018 23:22:20 +0200 Subject: [PATCH] Fix cloning website switch on new web site --- htdocs/website/class/website.class.php | 5 +++-- htdocs/website/class/websitepage.class.php | 7 ++++--- htdocs/website/index.php | 1 + 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/htdocs/website/class/website.class.php b/htdocs/website/class/website.class.php index a6b5dcc51f7..9e128329cad 100644 --- a/htdocs/website/class/website.class.php +++ b/htdocs/website/class/website.class.php @@ -493,9 +493,10 @@ class Website extends CommonObject * @param User $user User making the clone * @param int $fromid Id of object to clone * @param string $newref New ref + * @param string $newlang New language * @return mixed New object created, <0 if KO */ - public function createFromClone($user, $fromid, $newref) + public function createFromClone($user, $fromid, $newref, $newlang='') { global $hookmanager, $langs; global $dolibarr_main_data_root; @@ -572,7 +573,7 @@ class Website extends CommonObject dol_delete_file($filetplold); // Create new file - $objectpagenew = $objectpageold->createFromClone($user, $pageid, $objectpageold->pageurl, '', 0, $object->id); + $objectpagenew = $objectpageold->createFromClone($user, $pageid, $objectpageold->pageurl, '', 0, $object->id, 1); //print $pageid.' = '.$objectpageold->pageurl.' -> '.$objectpagenew->id.' = '.$objectpagenew->pageurl.'
'; if (is_object($objectpagenew) && $objectpagenew->pageurl) { diff --git a/htdocs/website/class/websitepage.class.php b/htdocs/website/class/websitepage.class.php index c0b6aaa7ab9..10cbc3381f6 100644 --- a/htdocs/website/class/websitepage.class.php +++ b/htdocs/website/class/websitepage.class.php @@ -362,10 +362,11 @@ class WebsitePage extends CommonObject * @param string $newref New ref/alias of page * @param string $newlang New language * @param int $istranslation 1=New page is a translation of the cloned page. - * @param int $newwebsite 0=Same web site, 1=New web site + * @param int $newwebsite 0=Same web site, >0=Id of new website + * @param int $keeptitleunchanged 1=Keep title unchanged * @return mixed New object created, <0 if KO */ - public function createFromClone(User $user, $fromid, $newref, $newlang='', $istranslation=0, $newwebsite=0) + public function createFromClone(User $user, $fromid, $newref, $newlang='', $istranslation=0, $newwebsite=0, $keeptitleunchanged=0) { global $hookmanager, $langs; $error = 0; @@ -385,7 +386,7 @@ class WebsitePage extends CommonObject $object->ref = $newref; $object->pageurl = $newref; $object->aliasalt = ''; - $object->title = $langs->trans("CopyOf").' '.$object->title; + $object->title = ($keeptitleunchanged ? '' : $langs->trans("CopyOf").' ').$object->title; if (! empty($newlang)) $object->lang=$newlang; if ($istranslation) $object->fk_page = $fromid; else $object->fk_page = 0; diff --git a/htdocs/website/index.php b/htdocs/website/index.php index ceb6f5480d9..0fd4005c19d 100644 --- a/htdocs/website/index.php +++ b/htdocs/website/index.php @@ -1115,6 +1115,7 @@ if (($action == 'updatesource' || $action == 'updatecontent' || $action == 'conf $object = $objectnew; $id = $object->id; $pageid = $object->fk_default_home; + $websitekey = GETPOST('siteref','aZ09'); } }