From 59fec7d0949cf860f01753d484242e7436f54e5f Mon Sep 17 00:00:00 2001 From: atm-greg Date: Tue, 5 Apr 2022 15:10:31 +0200 Subject: [PATCH] implement cache managed by current object --- htdocs/core/class/commonobject.class.php | 4 ++++ htdocs/core/lib/pdf.lib.php | 4 +--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index a8233a3d29f..e04ac12636d 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -3779,6 +3779,10 @@ abstract class CommonObject { global $conf, $hookmanager, $action; + // important for pdf generation time reduction + // this boolean is true if $this->linkedObjects has already been loaded with all objects linked without filter + if ($this->linkedObjectsFullLoaded) return 1; + $this->linkedObjectsIds = array(); $this->linkedObjects = array(); diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index b273f93b69f..ea8c6c2ce23 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -2282,9 +2282,7 @@ function pdf_getLinkedObjects(&$object, $outputlangs) $linkedobjects = array(); - if (empty($object->linkedObjectsFullLoaded)) { - $object->fetchObjectLinked(); - } + $object->fetchObjectLinked(); foreach ($object->linkedObjects as $objecttype => $objects) { if ($objecttype == 'facture') {