Beispiel #1
0
 /**
  * Get a count or list of skus
  *
  * @param      string  	$rtrn    What data to return
  * @param      int   	$pId products
  * @param      array   	$filters Filters to apply to data retrieval
  * @return     mixed
  */
 public function skus($rtrn = 'list', $pId, $filters = array())
 {
     if (!isset($filters['sort'])) {
         $filters['sort'] = 'title';
     }
     if (!isset($filters['sort_Dir'])) {
         $filters['sort_Dir'] = 'ASC';
     }
     $warehouse = new Warehouse();
     switch (strtolower($rtrn)) {
         case 'count':
             $this->_count = $warehouse->getProductSkus($pId, 'count', false);
             return $this->_count;
             break;
         case 'list':
         case 'rows':
         case 'results':
         default:
             if (!($results = $warehouse->getProductSkus($pId, 'rows', false))) {
                 $results = array();
             } else {
                 // Get SKUs info
                 $results = $warehouse->getSkusInfo($results, true, $filters);
                 // Strip to just info
                 $resultsPlain = array();
                 foreach ($results as $k => $res) {
                     $resultsPlain[] = $res['info'];
                 }
                 $results = $resultsPlain;
             }
             $this->_products = new \Hubzero\Base\ItemList($results);
             return $this->_products;
     }
 }
Beispiel #2
0
 /**
  * Get all items in the transaction
  *
  * @param int transaction ID
  * @return array of items in the transaction, false if no items in transaction
  */
 protected static function getTransactionItems($tId)
 {
     $db = \App::get('db');
     $sql = "SELECT `sId`, `tiQty`, `tiPrice` FROM `#__cart_transaction_items` ti WHERE ti.`tId` = {$tId}";
     $db->setQuery($sql);
     $db->query();
     if (!$db->getNumRows()) {
         return false;
     }
     $allSkuInfo = $db->loadObjectList('sId');
     $skus = $db->loadColumn();
     $warehouse = new Warehouse();
     $skuInfo = $warehouse->getSkusInfo($skus);
     // Update skuInfo with transaction info
     foreach ($skuInfo as $sId => $sku) {
         $transactionInfo = new \stdClass();
         $transactionInfo->qty = $allSkuInfo[$sId]->tiQty;
         $transactionInfo->tiPrice = $allSkuInfo[$sId]->tiPrice;
         $skuInfo[$sId]['transactionInfo'] = $transactionInfo;
         unset($transactionInfo);
     }
     if (empty($skuInfo)) {
         return false;
     }
     return $skuInfo;
 }