<?php
class ModelShippingItem extends Model {
	function getQuote($address, $pProduct = Array()) {
		$this->language->load('shipping/item');
		$this->load->type('tipocomum');

    //feito a principio para skyhub Frete, mais pode ser utilizado para qualquer frete que
    //não tenha informações do estado...
    if((!$address['zone_id']) && ($address['layout_id'] == Type_SendPostcode::Tp_Product)){
      $status = true;
    }else {
      $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('item_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')");

      if (!$this->config->get('item_geo_zone_id')) {
        $status = true;
      } elseif ($query->num_rows) {
        $status = true;
      } else {
        $status = false;
      }
    }

		$method_data = array();

		if ($status) {
			$items = 0;

			if (sizeof($pProduct) > 0){
			  $produtos = $pProduct;
			}else{
        $produtos = $this->cart->getProducts();
			}

      foreach ($this->cart->getProducts() as $product) {
        if ($product['shipping'])
          $items += $product['quantity'];
      }

			$quote_data = array();

      		$quote_data['item'] = array(
        		'code'         => 'item.item',
        		'title'        => $this->language->get('text_description'),
        		'cost'         => round((float)(str_replace(',', '.', $this->config->get('item_cost')) * $items), 2, PHP_ROUND_HALF_UP), 
			    'text'         => $this->currency->format(str_replace(',', '.', $this->config->get('item_cost')) * $items)
      		);

      		$method_data = array(
        		'code'       => 'item',
        		'title'      => $this->language->get('text_title'),
        		'quote'      => $quote_data,
				'sort_order' => $this->config->get('item_sort_order'),
        		'error'      => false
      		);
		}

		return $method_data;
	}
}
