From 6e1702c1a5c40e486bc8dfa3af757bbd23a92b4d Mon Sep 17 00:00:00 2001 From: John Botella Date: Mon, 17 Aug 2020 15:00:31 +0200 Subject: [PATCH 1/4] Fix infinite fetch object linked loop --- htdocs/core/lib/pdf.lib.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 1d9d218f7af..3c6bf0765ed 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -2127,8 +2127,13 @@ function pdf_getLinkedObjects($object,$outputlangs) // We concat this record info into fields xxx_value. title is overwrote. if (empty($object->linkedObjects['commande']) && $object->element != 'commande') // There is not already a link to order and object is not the order, so we show also info with order { - $elementobject->fetchObjectLinked(); - if (! empty($elementobject->linkedObjects['commande'])) $order = reset($elementobject->linkedObjects['commande']); + $elementobject->fetchObjectLinked(null, '', null, '', 'OR', 1, 'sourcetype', 0); + if (! empty($elementobject->linkedObjectsIds['commande'])){ + dol_include_once('/commande/commande.class.php'); + $order = new Commande($object->db); + $ret = $order->fetch(reset($elementobject->linkedObjectsIds['commande'])); + if ($ret < 1){ $order=null; } + } } if (! is_object($order)) { From 7eb003c6843a17a1cad2ef57a183bc3dcc326c73 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 23 Aug 2020 19:11:19 +0200 Subject: [PATCH 2/4] Update pdf.lib.php --- htdocs/core/lib/pdf.lib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 3c6bf0765ed..c83b7f28ce6 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -2129,7 +2129,7 @@ function pdf_getLinkedObjects($object,$outputlangs) { $elementobject->fetchObjectLinked(null, '', null, '', 'OR', 1, 'sourcetype', 0); if (! empty($elementobject->linkedObjectsIds['commande'])){ - dol_include_once('/commande/commande.class.php'); + include_once DOL_DOCUMENT_ROOT.'/commande/commande.class.php'; $order = new Commande($object->db); $ret = $order->fetch(reset($elementobject->linkedObjectsIds['commande'])); if ($ret < 1){ $order=null; } From b44d6744f9b496972491615f9c28ac445ccf6abe Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 23 Aug 2020 19:11:40 +0200 Subject: [PATCH 3/4] Update pdf.lib.php --- htdocs/core/lib/pdf.lib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index c83b7f28ce6..c0c7c7d0f9b 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -2132,7 +2132,7 @@ function pdf_getLinkedObjects($object,$outputlangs) include_once DOL_DOCUMENT_ROOT.'/commande/commande.class.php'; $order = new Commande($object->db); $ret = $order->fetch(reset($elementobject->linkedObjectsIds['commande'])); - if ($ret < 1){ $order=null; } + if ($ret < 1) { $order=null; } } } if (! is_object($order)) From 7a183ea026bc0189f07ac803e006124a07eefe40 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 23 Aug 2020 19:13:30 +0200 Subject: [PATCH 4/4] Update pdf.lib.php --- htdocs/core/lib/pdf.lib.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index c0c7c7d0f9b..54252923ad6 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -2071,7 +2071,7 @@ function pdf_getTotalQty($object,$type,$outputlangs) */ function pdf_getLinkedObjects($object,$outputlangs) { - global $hookmanager; + global $db, $hookmanager; $linkedobjects=array(); @@ -2130,7 +2130,7 @@ function pdf_getLinkedObjects($object,$outputlangs) $elementobject->fetchObjectLinked(null, '', null, '', 'OR', 1, 'sourcetype', 0); if (! empty($elementobject->linkedObjectsIds['commande'])){ include_once DOL_DOCUMENT_ROOT.'/commande/commande.class.php'; - $order = new Commande($object->db); + $order = new Commande($db); $ret = $order->fetch(reset($elementobject->linkedObjectsIds['commande'])); if ($ret < 1) { $order=null; } }