<?php
class ModelShippingPickup extends Model {
	function getQuote($address, $pProduct = Array()) {
		$this->language->load('shipping/pickup');
    $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('pickup_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('pickup_geo_zone_id')) {
        $status = true;
      } elseif ($query->num_rows) {
        $status = true;
      } else {
        $status = false;
      }
    }

		$method_data = array();

		if ($status) {
			$quote_data = array();

			// Pega endereço de retirada
			$pickup_address_text = '';
			$pickup_address = $this->config->get('pickup_address_info');
			if ($pickup_address){
			  if (!empty($pickup_address) &&
            !empty($pickup_address['address_1']) &&
            !empty($pickup_address['numero']) &&
            !empty($pickup_address['address_2']) &&
            !empty($pickup_address['city'])
        ) {
			    $complemento = empty($pickup_address['complemento']) ? '' : ', ' . $pickup_address['complemento'];
          $pickup_address_text = $pickup_address['address_1'] . ', ' . $pickup_address['numero'] . ', ' .
            $pickup_address['address_2'] . $complemento . ' - ' . $pickup_address['city'];
        }
      }
      		$quote_data['pickup'] = array(
        		'code'         => 'pickup.pickup',
        		'title'        => $this->language->get('text_description'),
        		'cost'         => 0.00,
    		    'text'         => $this->currency->format(0.00),
            'message'      => (($this->config->get('pickup_message')) && ($this->config->get('pickup_message')!='')) ? $this->config->get('pickup_message') : false,
            'pickup_address' => $pickup_address_text,
      		);

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

		return $method_data;
	}
}
