From da136ef641ddfbcea91547f33f83dc8dae45aa3c Mon Sep 17 00:00:00 2001 From: dolibarr95 <24292300+dolibarr95@users.noreply.github.com> Date: Wed, 23 Oct 2019 08:57:07 +0200 Subject: [PATCH] Reduce the $companystatic calls Store $companystatic->getNomUrl() in $getNomUrl_cache[]; --- htdocs/commande/list.php | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 7f98733ba94..f548f7682cc 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -236,6 +236,7 @@ $now=dol_now(); $form = new Form($db); $formother = new FormOther($db); $formfile = new FormFile($db); +$companystatic = new Societe($db); $formcompany=new FormCompany($db); $projectstatic=new Project($db); @@ -767,13 +768,11 @@ if ($resql) $total=0; $subtotal=0; $productstat_cache=array(); + $getNomUrl_cache=array(); $generic_commande = new Commande($db); $generic_product = new Product($db); - $companystatic = array(); - $getNomUrl = array(); - $i=0; $totalarray=array(); while ($i < min($num, $limit)) @@ -785,16 +784,15 @@ if ($resql) $text_info=''; $text_warning=''; $nbprod=0; - - if (!isset($companystatic[$obj->socid])) { - $companystatic[$obj->socid] = new Societe($db); - $companystatic[$obj->socid]->id = $obj->socid; - $companystatic[$obj->socid]->code_client = $obj->code_client; - $companystatic[$obj->socid]->name = $obj->name; - $companystatic[$obj->socid]->client = $obj->client; - $companystatic[$obj->socid]->email = $obj->email; - $getNomUrl[$obj->socid] = $companystatic[$obj->socid]->getNomUrl(1, 'customer'); - } + + $companystatic->id = $obj->socid; + $companystatic->code_client = $obj->code_client; + $companystatic->name = $obj->name; + $companystatic->client = $obj->client; + $companystatic->email = $obj->email; + if (!isset($cacheGetNomUrl[$obj->socid])) { + $getNomUrl_cache[$obj->socid] = $companystatic->getNomUrl(1, 'customer'); + } $generic_commande->id=$obj->rowid; $generic_commande->ref=$obj->ref; @@ -979,7 +977,7 @@ if ($resql) if (! empty($arrayfields['s.nom']['checked'])) { print ''; - print $getNomUrl[$obj->socid]; + print $getNomUrl_cache[$obj->socid]; // If module invoices enabled and user with invoice creation permissions if (! empty($conf->facture->enabled) && ! empty($conf->global->ORDER_BILLING_ALL_CUSTOMER)) @@ -988,8 +986,8 @@ if ($resql) { if (($obj->fk_statut > 0 && $obj->fk_statut < 3) || ($obj->fk_statut == 3 && $obj->billed == 0)) { - print ' '; - print img_picto($langs->trans("CreateInvoiceForThisCustomer").' : '.$companystatic[$obj->socid]->name, 'object_bill', 'hideonsmartphone').''; + print ' '; + print img_picto($langs->trans("CreateInvoiceForThisCustomer").' : '.$companystatic->name, 'object_bill', 'hideonsmartphone').''; } } }