Esempio n. 1
0
 private function getProductInfo($product_id, $sku_id = null, $order_id = null)
 {
     $product = new shopProduct($product_id);
     $data = $product->getData();
     if (!$data) {
         return array();
     }
     $rate = 1;
     $currency_model = $this->getModel('currency');
     if ($order_id) {
         $order = $this->getOrder($order_id);
         $rate = $order['rate'];
     }
     $data['price'] = (double) $currency_model->convertByRate($data['price'], 1, $rate);
     $data['max_price'] = (double) $currency_model->convertByRate($data['max_price'], 1, $rate);
     $data['min_price'] = (double) $currency_model->convertByRate($data['min_price'], 1, $rate);
     $data['skus'] = $product->skus;
     foreach ($data['skus'] as &$sku) {
         $sku['price'] = (double) $currency_model->convertByRate($sku['primary_price'], 1, $rate);
     }
     unset($sku);
     if ($sku_id === null) {
         $sku_id = count($data['skus']) > 1 ? $product->sku_id : null;
     }
     if ($sku_id && isset($data['skus'][$sku_id])) {
         $sku_price = $data['skus'][$sku_id]['price'];
     } else {
         $sku_price = $data['price'];
     }
     $data['services'] = $this->getServices($product_id, $sku_id, $order_id, $sku_price);
     return $data;
 }