From 629d77175a4f1d7ddd4468bb1a3b5d8683b326e9 Mon Sep 17 00:00:00 2001 From: Arnaud Fornerot Date: Tue, 6 Dec 2022 13:09:24 +0100 Subject: [PATCH] evolution items --- .../Repository/ItemRepository.php | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/src/ninegate-1.0/src/Cadoles/PortalBundle/Repository/ItemRepository.php b/src/ninegate-1.0/src/Cadoles/PortalBundle/Repository/ItemRepository.php index e686bd74..67900f29 100644 --- a/src/ninegate-1.0/src/Cadoles/PortalBundle/Repository/ItemRepository.php +++ b/src/ninegate-1.0/src/Cadoles/PortalBundle/Repository/ItemRepository.php @@ -7,7 +7,7 @@ use Doctrine\Common\Collections\ArrayCollection; class ItemRepository extends EntityRepository { - public function getUserItems($user,&$bookmarks,&$itemsordered,&$itemcategorys,$iditemcategory=null,$ssoitems,$withbookmark=1,$fgessential=false) { + public function getUserItems($user,&$bookmarks,&$itemsordered,&$itemcategorys,$iditemcategory=null,$ssoitems=[],$withbookmark=1,$fgessential=false) { // Profilage $roles=($user?$user->getRoles():["ROLE_ANONYME"]); $groups=($user?$user->getGroups():[]); @@ -114,26 +114,28 @@ class ItemRepository extends EntityRepository // Récupération des items par ssoitem $itemsssoitems=[]; - foreach($ssoitems as $ssoitem) { - $qb = $this->getEntityManager()->createQueryBuilder(); - $qb->select('item') - ->from("CadolesPortalBundle:Item", 'item') - ->where("item.ssoitem=:ssoitem ") - ->setParameter("ssoitem",$ssoitem); - - if($iditemcategory && $itemcategoryfilter) { - $qb->andWhere("item.itemcategory=:itemcategory") - ->setParameter("itemcategory",$itemcategoryfilter); - } - - $itemsssoitems=$qb->getQuery()->getResult(); - foreach($itemsssoitems as $itemssoitem) { - if(!$bookmarksitems->contains($itemssoitem) && !$items->contains($itemssoitem)) { - if(!$fgessential || ($fgessential && $itemssoitem->getEssential())) - $items->add($itemssoitem); + if(is_array($ssoitems)) { + foreach($ssoitems as $ssoitem) { + $qb = $this->getEntityManager()->createQueryBuilder(); + $qb->select('item') + ->from("CadolesPortalBundle:Item", 'item') + ->where("item.ssoitem=:ssoitem ") + ->setParameter("ssoitem",$ssoitem); + + if($iditemcategory && $itemcategoryfilter) { + $qb->andWhere("item.itemcategory=:itemcategory") + ->setParameter("itemcategory",$itemcategoryfilter); } - if(!$itemalls->contains($itemssoitem)) $itemalls->add($itemssoitem); + $itemsssoitems=$qb->getQuery()->getResult(); + foreach($itemsssoitems as $itemssoitem) { + if(!$bookmarksitems->contains($itemssoitem) && !$items->contains($itemssoitem)) { + if(!$fgessential || ($fgessential && $itemssoitem->getEssential())) + $items->add($itemssoitem); + } + + if(!$itemalls->contains($itemssoitem)) $itemalls->add($itemssoitem); + } } }