From f46c753923272c29c32d594dd9f3baeb6c3e8fcc Mon Sep 17 00:00:00 2001 From: "NB-GABOR02\\Goffy" Date: Fri, 5 Jun 2026 12:12:12 +0200 Subject: [PATCH] update code for clone --- class/Files/CreateXoopsCode.php | 6 +++++- class/Files/User/UserPages.php | 2 +- class/Files/admin/AdminPages.php | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/class/Files/CreateXoopsCode.php b/class/Files/CreateXoopsCode.php index 45820900..da731cfe 100644 --- a/class/Files/CreateXoopsCode.php +++ b/class/Files/CreateXoopsCode.php @@ -1800,15 +1800,17 @@ public function getXcCommonPagesNew($tableName, string $t = ''): string /** * @public function getXcCommonPagesClone * @param $tableName + * @param $fieldId * @param $ccFieldId * @param string $t * @param string $language * @return string */ - public function getXcCommonPagesClone($tableName, $ccFieldId, string $t = '', string $language = ''): string + public function getXcCommonPagesClone($tableName, $fieldId, $ccFieldId, string $t = '', string $language = ''): string { $pc = Modulebuilder\Files\CreatePhpCode::getInstance(); $xc = Modulebuilder\Files\CreateXoopsCode::getInstance(); + $cf = Modulebuilder\Files\CreateFile::getInstance(); $ret = $pc->getPhpCodeCommentLine('Get Form', null, "\t\t"); $ret .= $xc->getXcHandlerGet($tableName, $ccFieldId . 'Source', 'ObjSource', $tableName . 'Handler', false, $t); @@ -1816,6 +1818,8 @@ public function getXcCommonPagesClone($tableName, $ccFieldId, string $t = '', st $redirectError = $xc->getXcRedirectHeader($tableName, '', '3', "{$language}INVALID_PARAM", true, $t . "\t"); $ret .= $pc->getPhpCodeConditions('!' . $tablenameObj, '', '', $redirectError, false, $t); $ret .= $xc->getXcEqualsOperator('$' . $tableName . 'Obj', '$' . $tableName . 'ObjSource->xoopsClone()', null, $t); + $ret .= $cf->getSimpleString('$' . $tableName . 'Obj->setNew();', "\t\t"); + $ret .= $this->getXcSetVarObj($tableName, $fieldId, 0, "\t\t"); $ret .= $xc->getXcGetForm('form', $tableName, 'Obj', $t); $ret .= $xc->getXcXoopsTplAssign('form', '$form->render()', true, $t); diff --git a/class/Files/User/UserPages.php b/class/Files/User/UserPages.php index 74b2b211..ee0990b0 100644 --- a/class/Files/User/UserPages.php +++ b/class/Files/User/UserPages.php @@ -475,7 +475,7 @@ public function getUserPagesClone($tableName, $tableSoleName, $tablePermissions, $ret .= $this->pc->getPhpCodeCommentLine('Check params', '', $t); $contIf = $this->xc->getXcRedirectHeader($tableName, '?op=list', 3, "{$language}INVALID_PARAM", true, $t . "\t"); $ret .= $this->pc->getPhpCodeConditions("\${$ccFieldId}Source", ' == ', '0', $contIf, false, $t); - $ret .= $this->xc->getXcCommonPagesClone($tableName, $ccFieldId, $t, $language); + $ret .= $this->xc->getXcCommonPagesClone($tableName, $fieldId, $ccFieldId, $t, $language); return $ret; } diff --git a/class/Files/admin/AdminPages.php b/class/Files/admin/AdminPages.php index 2273b5eb..92d81e5d 100644 --- a/class/Files/admin/AdminPages.php +++ b/class/Files/admin/AdminPages.php @@ -244,7 +244,7 @@ private function getAdminPagesClone($moduleDirname, $tableName, $tableSoleName, $contIf = $this->xc->getXcRedirectHeader($tableName, '?op=list', 3, "{$language}INVALID_PARAM", true, $t . "\t"); $ret .= $this->pc->getPhpCodeConditions("\${$ccFieldId}Source", ' === ', '0', $contIf, false, $t); - $ret .= $this->xc->getXcCommonPagesClone($tableName, $ccFieldId, $t, $language); + $ret .= $this->xc->getXcCommonPagesClone($tableName, $fieldId, $ccFieldId, $t, $language); return $ret; }