Esempio n. 1
0
 /**
  * Random products
  *
  * @param integer $start		
  * @param integer $limit		
  * @param integer $category 
  * @param string $sort	
  * @param string $order	
  * @param boolean $thisMonthOnly	
  * @return array )
  */
 function getRandomProducts($start = 0, $limit = 0, $category = 0, $sort = 'RAND()', $order = 'ASC', $thisMonthOnly = false)
 {
     $tbl_datas = array();
     $criteria = new CriteriaCompo();
     $criteria->add(new Criteria('product_online', 1, '='));
     if (myshop_utils::getModuleOption('show_unpublished') == 0) {
         // Don't show products not published
         $criteria->add(new Criteria('product_submitted', time(), '<='));
     }
     if (myshop_utils::getModuleOption('nostock_display') == 0) {
         // only products in stock
         $criteria->add(new Criteria('product_stock', 0, '>'));
     }
     if (is_array($category)) {
         $criteria->add(new Criteria('product_cid', '(' . implode(',', $category) . ')', 'IN'));
     } elseif ($category != 0) {
         $criteria->add(new Criteria('product_cid', intval($category), '='));
     }
     if ($thisMonthOnly) {
         $criteria->add(myshop_utils::getThisMonthCriteria());
     }
     $criteria->setLimit($limit);
     $criteria->setStart($start);
     $criteria->setSort($sort);
     $criteria->setOrder($order);
     $tbl_datas = $this->getObjects($criteria, true);
     return $tbl_datas;
 }