From 471df9cb8ae2a47a058e9b9cd040d260ec041f53 Mon Sep 17 00:00:00 2001 From: vChabot Date: Fri, 7 Oct 2011 12:30:58 +0000 Subject: [PATCH] // object cache added for getGroupsStatic methode --- classes/Customer.php | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/classes/Customer.php b/classes/Customer.php index da66face3..4b5baa367 100644 --- a/classes/Customer.php +++ b/classes/Customer.php @@ -131,6 +131,7 @@ class CustomerCore extends ObjectModel protected static $_defaultGroupId = array(); protected static $_customerHasAddress = array(); + protected static $_customer_groups = array(); public function getFields() { @@ -484,19 +485,22 @@ class CustomerCore extends ObjectModel if (!Group::isFeatureActive()) return array(1); - $groups = array(); - $result = Db::getInstance()->ExecuteS(' - SELECT cg.`id_group` - FROM '._DB_PREFIX_.'customer_group cg - WHERE cg.`id_customer` = '.(int)($id_customer)); - foreach ($result AS $group) - $groups[] = (int)($group['id_group']); - return $groups; + if (!isset(self::$_customer_groups[$id_customer])) + { + self::$_customer_groups[$id_customer] = array(); + $result = Db::getInstance()->ExecuteS(' + SELECT cg.`id_group` + FROM '._DB_PREFIX_.'customer_group cg + WHERE cg.`id_customer` = '.(int)$id_customer); + foreach ($result as $group) + self::$_customer_groups[$id_customer][] = (int)$group['id_group']; + } + return self::$_customer_groups[$id_customer]; } public function getGroups() { - return self::getGroupsStatic((int)($this->id)); + return self::getGroupsStatic((int)$this->id); } public function isUsed()