From 60944c92a8dff54aca5c2290e58282334734ddfa Mon Sep 17 00:00:00 2001 From: Tobias Sekan Date: Tue, 10 Mar 2020 09:02:38 +0100 Subject: [PATCH] Fix error on add a line to a supplier order --- .../core/class/commondocgenerator.class.php | 37 ++++++++++++------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/htdocs/core/class/commondocgenerator.class.php b/htdocs/core/class/commondocgenerator.class.php index d2ce4ebc230..0c88a193bd3 100644 --- a/htdocs/core/class/commondocgenerator.class.php +++ b/htdocs/core/class/commondocgenerator.class.php @@ -609,21 +609,32 @@ abstract class CommonDocGenerator // Add the product supplier extrafields to the substitutions $extrafields->fetch_name_optionals_label("product_fournisseur_price"); $extralabels=$extrafields->attributes["product_fournisseur_price"]['label']; - $columns = ""; - foreach ($extralabels as $key => $value) - $columns .= "$key, "; - if ($columns != "") - { - $columns = substr($columns, 0, strlen($columns) - 2); - $resql = $this->db->query("SELECT $columns FROM " . MAIN_DB_PREFIX . "product_fournisseur_price_extrafields AS ex INNER JOIN " . MAIN_DB_PREFIX . "product_fournisseur_price AS f ON ex.fk_object = f.rowid WHERE f.ref_fourn = '" . $line->ref_supplier . "'"); - if ($this->db->num_rows($resql) > 0) { - $resql = $this->db->fetch_object($resql); + if (!empty($extralabels) && is_array($extralabels)) + { + $columns = ""; - foreach ($extralabels as $key => $value) - $resarray['line_product_supplier_'.$key] = $resql->{$key}; - } - } + foreach ($extralabels as $key) + { + $columns .= "$key, "; + } + + if ($columns != "") + { + $columns = substr($columns, 0, strlen($columns) - 2); + $resql = $this->db->query("SELECT $columns FROM " . MAIN_DB_PREFIX . "product_fournisseur_price_extrafields AS ex INNER JOIN " . MAIN_DB_PREFIX . "product_fournisseur_price AS f ON ex.fk_object = f.rowid WHERE f.ref_fourn = '" . $line->ref_supplier . "'"); + + if ($this->db->num_rows($resql) > 0) + { + $resql = $this->db->fetch_object($resql); + + foreach ($extralabels as $key) + { + $resarray['line_product_supplier_'.$key] = $resql->{$key}; + } + } + } + } } // Load product data optional fields to the line -> enables to use "line_options_{extrafield}"