_aViewData['edit'] = $oManufacturer = oxNew(\OxidEsales\Eshop\Application\Model\Manufacturer::class); $sOXID = $this->_aViewData["oxid"] = $this->getEditObjectId(); if (isset($sOXID) && $sOXID != "-1") { // load object $d3manufacturerlang = \OxidEsales\Eshop\Core\Registry::getRequest()->getRequestEscapedParameter("catlang"); if (!isset($d3manufacturerlang)) { $d3manufacturerlang = $this->_iEditLang; } $this->_aViewData["catlang"] = $d3manufacturerlang; $oManufacturer->loadInLang($d3manufacturerlang, $sOXID); //Disable editing for derived items if ($oManufacturer->isDerived()) { $this->_aViewData['readonly'] = true; } foreach (\OxidEsales\Eshop\Core\Registry::getLang()->getLanguageNames() as $id => $language) { $oLang = new \stdClass(); $oLang->sLangDesc = $language; $oLang->selected = ($id == $this->_iEditLang); $this->_aViewData["otherlang"][$id] = clone $oLang; } } $this->_aViewData["editor"] = $this->generateTextEditor("100%", 280, $oManufacturer, "oxmanufacturers__D3DESCRIPTION", "list.tpl.css"); return "@d3manufacturerinformation/admin/d3manufacturerlongdesc"; } /** * @return void * @throws \Exception */ public function save() { parent::save(); $iManufacturerLang = intval(\OxidEsales\Eshop\Core\Registry::getRequest()->getRequestEscapedParameter("catlang")); $sOXID = $this->getEditObjectId(); $this->setEditObjectId($sOXID); if ($sOXID == "-1") { return; } /** @var Manufacturer|D3ManufacturerLongDesc $oManufacturer */ $oManufacturer = oxNew(Manufacturer::class); $oManufacturer->loadInLang($iManufacturerLang, $sOXID); if (!$oManufacturer->load($sOXID)) { return; } $aParams = Registry::getRequest()->getRequestEscapedParameter("editval"); $oManufacturer->assign($aParams); if (false === is_null($this->d3GetLongdescParamValue())) { $oManufacturer->d3SetLongdesc($this->d3GetLongdescParamValue()); $oManufacturer->save(); } } /** * Returns string which must be edited by editor * * @param \OxidEsales\Eshop\Core\Model\BaseModel $oObject object with field will be used for editing * @param string $sField name of editable field * * @return string * @deprecated underscore prefix violates PSR12, will be renamed to "getEditValue" in next major */ protected function _getEditValue($oManufacturer, $sField) // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore { $sEditObjectValue = ''; if ($oManufacturer and $oManufacturer->getId()) { $sEditObjectValue = $this->_processEditValue($oManufacturer->getFieldData(Constants::D3_OXMANUFACTURERS_LONGDESC_FIELDNAME)); } return $sEditObjectValue; } /** * @return string */ public function d3GetLongdescParamValue() :string { return (string) $aParams = Registry::getRequest()->getRequestEscapedParameter("editval")['oxmanufacturers__D3DESCRIPTION']; } /** * inhaltliche Uebernahme analog Article_Main * wird genutzt zum Abspeichern der Artikel-Langbeschreibung * * @param $sValue * * @return mixed */ protected function _processLongDesc($sValue) { $aSearch = [' ', '&', '"', '&lang=', '

 

', '

 

']; $aReplace = [' ', '&', '"', '&lang=', '', '']; return str_replace($aSearch, $aReplace, $sValue); } }