|  | @@ 549-581 (lines=33) @@ | 
                                                            
                                    | 546 |  |      * @internal param string $sort Champ sur lequel trier | 
                                                            
                                    | 547 |  |      * @internal param string $order Sens du tri | 
                                                            
                                    | 548 |  |      */ | 
                                                            
                                    | 549 |  |     public function getMostViewedProducts(Oledrion_parameters $parameters) | 
                                                            
                                    | 550 |  |     { | 
                                                            
                                    | 551 |  |         $parameters = $parameters->extend(new Oledrion_parameters(array( | 
                                                            
                                    | 552 |  |                                                                       'start'    => 0, | 
                                                            
                                    | 553 |  |                                                                       'limit'    => 0, | 
                                                            
                                    | 554 |  |                                                                       'category' => 0, | 
                                                            
                                    | 555 |  |                                                                       'sort'     => 'product_hits', | 
                                                            
                                    | 556 |  |                                                                       'order'    => 'DESC' | 
                                                            
                                    | 557 |  |                                                                   ))); | 
                                                            
                                    | 558 |  |         $data       = array(); | 
                                                            
                                    | 559 |  |         $criteria   = new CriteriaCompo(); | 
                                                            
                                    | 560 |  |         $criteria->add(new Criteria('product_online', 1, '=')); | 
                                                            
                                    | 561 |  |         if (Oledrion_utils::getModuleOption('show_unpublished') == 0) { // Ne pas afficher les produits qui ne sont pas publiés | 
                                                            
                                    | 562 |  |             $criteria->add(new Criteria('product_submitted', time(), '<=')); | 
                                                            
                                    | 563 |  |         } | 
                                                            
                                    | 564 |  |         if (Oledrion_utils::getModuleOption('nostock_display') == 0) { // Se limiter aux seuls produits encore en stock | 
                                                            
                                    | 565 |  |             $criteria->add(new Criteria('product_stock', 0, '>')); | 
                                                            
                                    | 566 |  |         } | 
                                                            
                                    | 567 |  |         if (is_array($parameters['category']) && count($parameters['category']) > 0) { | 
                                                            
                                    | 568 |  |             $criteria->add(new Criteria('product_cid', '(' . implode(',', $parameters['category']) . ')', 'IN')); | 
                                                            
                                    | 569 |  |         } elseif ($parameters['category'] != 0) { | 
                                                            
                                    | 570 |  |             $criteria->add(new Criteria('product_cid', (int)$parameters['category'], '=')); | 
                                                            
                                    | 571 |  |         } | 
                                                            
                                    | 572 |  |         $criteria->add(new Criteria('product_hits', 0, '>')); | 
                                                            
                                    | 573 |  |  | 
                                                            
                                    | 574 |  |         $criteria->setLimit($parameters['limit']); | 
                                                            
                                    | 575 |  |         $criteria->setStart($parameters['start']); | 
                                                            
                                    | 576 |  |         $criteria->setSort($parameters['sort']); | 
                                                            
                                    | 577 |  |         $criteria->setOrder($parameters['order']); | 
                                                            
                                    | 578 |  |         $data = $this->getObjects($criteria, true); | 
                                                            
                                    | 579 |  |  | 
                                                            
                                    | 580 |  |         return $data; | 
                                                            
                                    | 581 |  |     } | 
                                                            
                                    | 582 |  |  | 
                                                            
                                    | 583 |  |     /** | 
                                                            
                                    | 584 |  |      * Retourne la liste des x produits les mieux notés par les visiteurs | 
                                                                                
                                |  | @@ 592-623 (lines=32) @@ | 
                                                            
                                    | 589 |  |      * @internal param int $limit Nombre maximum d'enregistrements à renvoyer | 
                                                            
                                    | 590 |  |      * @internal param int $category Identifiant de la catégorie (évenutellement) | 
                                                            
                                    | 591 |  |      */ | 
                                                            
                                    | 592 |  |     public function getBestRatedProducts(Oledrion_parameters $parameters) | 
                                                            
                                    | 593 |  |     { | 
                                                            
                                    | 594 |  |         $parameters = $parameters->extend(new Oledrion_parameters(array( | 
                                                            
                                    | 595 |  |                                                                       'start'    => 0, | 
                                                            
                                    | 596 |  |                                                                       'limit'    => 0, | 
                                                            
                                    | 597 |  |                                                                       'category' => 0, | 
                                                            
                                    | 598 |  |                                                                       'sort'     => 'product_rating', | 
                                                            
                                    | 599 |  |                                                                       'order'    => 'DESC' | 
                                                            
                                    | 600 |  |                                                                   ))); | 
                                                            
                                    | 601 |  |         $data       = array(); | 
                                                            
                                    | 602 |  |         $criteria   = new CriteriaCompo(); | 
                                                            
                                    | 603 |  |         $criteria->add(new Criteria('product_online', 1, '=')); | 
                                                            
                                    | 604 |  |         $criteria->add(new Criteria('product_rating', 0, '>')); // Se limiter aux seuls produits qui ont été vraiment notés | 
                                                            
                                    | 605 |  |         if (Oledrion_utils::getModuleOption('show_unpublished') == 0) { // Ne pas afficher les produits qui ne sont pas publiés | 
                                                            
                                    | 606 |  |             $criteria->add(new Criteria('product_submitted', time(), '<=')); | 
                                                            
                                    | 607 |  |         } | 
                                                            
                                    | 608 |  |         if (Oledrion_utils::getModuleOption('nostock_display') == 0) { // Se limiter aux seuls produits encore en stock | 
                                                            
                                    | 609 |  |             $criteria->add(new Criteria('product_stock', 0, '>')); | 
                                                            
                                    | 610 |  |         } | 
                                                            
                                    | 611 |  |         if (is_array($parameters['category']) && count($parameters['category']) > 0) { | 
                                                            
                                    | 612 |  |             $criteria->add(new Criteria('product_cid', '(' . implode(',', $parameters['category']) . ')', 'IN')); | 
                                                            
                                    | 613 |  |         } elseif ($parameters['category'] != 0) { | 
                                                            
                                    | 614 |  |             $criteria->add(new Criteria('product_cid', (int)$parameters['category'], '=')); | 
                                                            
                                    | 615 |  |         } | 
                                                            
                                    | 616 |  |         $criteria->setLimit($parameters['limit']); | 
                                                            
                                    | 617 |  |         $criteria->setStart($parameters['start']); | 
                                                            
                                    | 618 |  |         $criteria->setSort($parameters['sort']); | 
                                                            
                                    | 619 |  |         $criteria->setOrder($parameters['order']); | 
                                                            
                                    | 620 |  |         $data = $this->getObjects($criteria, true); | 
                                                            
                                    | 621 |  |  | 
                                                            
                                    | 622 |  |         return $data; | 
                                                            
                                    | 623 |  |     } | 
                                                            
                                    | 624 |  |  | 
                                                            
                                    | 625 |  |     /** | 
                                                            
                                    | 626 |  |      * Retourne la liste des x derniers produits recommandés |