From c2a8967b52cf3b154be7d35fdec1eaa427156111 Mon Sep 17 00:00:00 2001 From: Florian Henry Date: Tue, 3 Dec 2013 17:06:19 +0100 Subject: [PATCH] Much better fix for translated product description into PDF --- htdocs/core/lib/pdf.lib.php | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index fa8de1c035290..1f5ef92f711be 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -926,22 +926,14 @@ function pdf_getlinedesc($object,$i,$outputlangs,$hideref=0,$hidedesc=0,$issuppl //Manage HTML entities description test //Cause $prodser->description is store with htmlentities but $desc no - $testHTMLDescNeedTranslated=true; - $testDescNeedTranslated=true; - if ($conf->global->FCKEDITOR_ENABLE_PRODUCTDESC) { - if (!empty($desc) && !empty($prodser->description)) { - $testHTMLDescNeedTranslated=(strpos(dol_html_entity_decode($desc,ENT_QUOTES | ENT_HTML401),dol_html_entity_decode($prodser->description,ENT_QUOTES | ENT_HTML401))!==false); - } - $testDescNeedTranslated=false; + $needdesctranslation=false; + if (!empty($desc) && dol_textishtml($desc) && !empty($prodser->description) && dol_textishtml($prodser->description)) { + $needdesctranslation=(strpos(dol_html_entity_decode($desc,ENT_QUOTES | ENT_HTML401),dol_html_entity_decode($prodser->description,ENT_QUOTES | ENT_HTML401))!==false); } else { - if (!empty($desc) && !empty($prodser->description)) { - $testDescNeedTranslated = (strpos($desc,$prodser->description)!==false); - } else { - $testDescNeedTranslated=false; - } + $needdesctranslation=($desc == $prodser->description); } - if (! empty($prodser->multilangs[$outputlangs->defaultlang]["description"]) && ($testHTMLDescNeedTranslated || $testDescNeedTranslated)) $desc=$prodser->multilangs[$outputlangs->defaultlang]["description"]; + if (! empty($prodser->multilangs[$outputlangs->defaultlang]["description"]) && ($needdesctranslation)) $desc=$prodser->multilangs[$outputlangs->defaultlang]["description"]; if (! empty($prodser->multilangs[$outputlangs->defaultlang]["note"]) && $note == $prodser->note) $note=$prodser->multilangs[$outputlangs->defaultlang]["note"]; } }