<?php 
/*
Buy Komerci Loja5 - 29/07/2013 Todos os direitos reservados
Site: www.loja5.com.br
Contato: suportedaloja@gmail.com
Modudo Comercial de Propriedade Unica - Licenciado por Loja5
*/
class ControllerPaymentKomerciLoja5 extends Controller {

	private $error = array(); 
	 
	public function index() { 
		$this->language->load('payment/komerciloja5');

		$this->document->setTitle($this->language->get('heading_title'));
		
		$this->load->model('setting/setting');
				
		if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
			$this->model_setting_setting->editSetting('komerciloja5', $this->request->post);
			$this->session->data['success'] = $this->language->get('text_success');
			$this->redirect($this->url->link('extension/payment', 'token=' . $this->session->data['token'], 'SSL'));
		}
		
		$this->data['heading_title'] = $this->language->get('heading_title');

		$this->data['text_enabled'] = $this->language->get('text_enabled');
		$this->data['text_disabled'] = $this->language->get('text_disabled');
		$this->data['text_all_zones'] = $this->language->get('text_all_zones');
				
		$this->data['entry_order_status'] = $this->language->get('entry_order_status');		
		$this->data['entry_total'] = $this->language->get('entry_total');	
		$this->data['entry_geo_zone'] = $this->language->get('entry_geo_zone');
		$this->data['entry_status'] = $this->language->get('entry_status');
		$this->data['entry_sort_order'] = $this->language->get('entry_sort_order');
		
		$this->data['button_save'] = $this->language->get('button_save');
		$this->data['button_cancel'] = $this->language->get('button_cancel');

 		if (isset($this->error['warning'])) {
			$this->data['error_warning'] = $this->error['warning'];
		} else {
			$this->data['error_warning'] = '';
		}

  		$this->data['breadcrumbs'] = array();

   		$this->data['breadcrumbs'][] = array(
       		'text'      => $this->language->get('text_home'),
			'href'      => $this->url->link('common/home', 'token=' . $this->session->data['token'], 'SSL'),
      		'separator' => false
   		);

   		$this->data['breadcrumbs'][] = array(
       		'text'      => $this->language->get('text_payment'),
			'href'      => $this->url->link('extension/payment', 'token=' . $this->session->data['token'], 'SSL'),
      		'separator' => ' :: '
   		);
		
   		$this->data['breadcrumbs'][] = array(
       		'text'      => $this->language->get('heading_title'),
			'href'      => $this->url->link('payment/komerciloja5', 'token=' . $this->session->data['token'], 'SSL'),
      		'separator' => ' :: '
   		);
		
		$this->data['action'] = $this->url->link('payment/komerciloja5', 'token=' . $this->session->data['token'], 'SSL');
		$this->data['cancel'] = $this->url->link('extension/payment', 'token=' . $this->session->data['token'], 'SSL');	
			
		//dados modulo
		$this->pegar('komerciloja5_serial');
		$this->pegar('komerciloja5_nome');
		$this->pegar('komerciloja5_order_status_id');
		$this->pegar('komerciloja5_aprovado');
		$this->pegar('komerciloja5_cancelado');
		$this->pegar('komerciloja5_afiliacao');
		$this->pegar('komerciloja5_minimo');
		$this->pegar('komerciloja5_desconto_credito');

		//visa
		$this->pegar('komerciloja5_visa_ativo');
		$this->pegar('komerciloja5_visa_div');
		$this->pegar('komerciloja5_visa_sem');
		$this->pegar('komerciloja5_visa_juros');
		//mastercard
		$this->pegar('komerciloja5_mastercard_ativo');
		$this->pegar('komerciloja5_mastercard_div');
		$this->pegar('komerciloja5_mastercard_sem');
		$this->pegar('komerciloja5_mastercard_juros');
		//diners
		$this->pegar('komerciloja5_diners_ativo');
		$this->pegar('komerciloja5_diners_div');
		$this->pegar('komerciloja5_diners_sem');
		$this->pegar('komerciloja5_diners_juros');
		//hiper
		$this->pegar('komerciloja5_hiper_ativo');
		$this->pegar('komerciloja5_hiper_div');
		$this->pegar('komerciloja5_hiper_sem');
		$this->pegar('komerciloja5_hiper_juros');
		//hipercard
		$this->pegar('komerciloja5_hipercard_ativo');
		$this->pegar('komerciloja5_hipercard_div');
		$this->pegar('komerciloja5_hipercard_sem');
		$this->pegar('komerciloja5_hipercard_juros');

		//tipo de parcelamento
		$this->pegar('komerciloja5_tipo_parcelamento');
		//total minimo
		$this->pegar('komerciloja5_total');
		$this->pegar('komerciloja5_debug');

		$this->load->model('localisation/order_status');
		$this->data['order_statuses'] = $this->model_localisation_order_status->getOrderStatuses();
		$this->pegar('komerciloja5_geo_zone_id');
		
		$this->load->model('localisation/geo_zone');						
		$this->data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones();
		$this->pegar('komerciloja5_status');
		
		$this->pegar('komerciloja5_sort_order');

		$this->template = 'payment/komerciloja5.tpl';
		$this->children = array(
			'common/header',
			'common/footer'
		);
				
		$this->response->setOutput($this->render());
	}
	
	public function pegar($campo){
		if (isset($this->request->post[$campo])) {
			$this->data[$campo] = $this->request->post[$campo];
		} else {
			$this->data[$campo] = $this->config->get($campo); 
		}
	}
	
	protected function validate() {
		return true;	
	}
	
	public function getStatus($status)
		{
			
			switch($status)
			{
				case "0": $status = "Criada (Aguardando Pagamento)";
						break;
				case "1": $status = "Em andamento";
						break;
				case "2": $status = "Autenticada";
						break;
				case "3": $status = "Nao autenticada";
						break;
				case "4": $status = "Autorizada";
						break;
				case "5": $status = "Nao autorizada";
						break;
				case "6": $status = "Capturada (Aprovada)";
						break;
				case "8": $status = "Nao capturada";
						break;
				case "9": $status = "Cancelada";
						break;
				case "10": $status = "Em autenticacao";
						break;
				default: $status = "n/a";
						break;
			}
			
			return $status;
		}
		
		public function getLr($lrcod)
		{
			
			switch($lrcod)
			{
				case "00": 
				$lrcod = "00 - Transacao autorizada";
				break;
				case "01":
				case "04":
				case "07":
				case "41":
				case "62":
				case "63":
				$lrcod = $lrcod." - Transacao referida/com restricao pelo emissor (Contate o emissor de seu cartao)";
				break;
				case "05": 
				$lrcod = "05 - Transacao nao autorizada";
				break;
				case "12": 
				case "82": 
				$lrcod = $lrcod." - Transacao invalida";
				break;
				case "13": 
				$lrcod = "13 - Valor invalido";
				break;
				case "14": 
				$lrcod = "14 - Cartao invalido";
				break;
				case "15": 
				$lrcod = "15 - Emissor invalido";
				break;
				case "51": 
				$lrcod = "51 - Saldo insuficiente";
				break;
				case "54": 
				$lrcod = "54 - Cartao vencido";
				break;
				case "57": 
				case "58":
				$lrcod = $lrcod." - Transacao nao permitida";
				break;
				case "78":
				$lrcod = "78 - Cartao nao desbloqueado (Contate o emissor de seu cartao)";
				break;
				case "91":
				$lrcod = "91 - Banco indisponivel";
				break;
				case "AC":
				$lrcod = "AC - Cartao de debito tentando seu usado como credito.";
				break;
				default:
				$lrcod = $lrcod;
			}
			
			return $lrcod;
		}
		
	public function getStatusCielo($status)
	{
			switch($status)
			{
				case "0": 
				$status = "Criada (Aguardando Pagamento)";
				$status_id = $this->config->get('komerciloja5_order_status_id');
				break;
				case "1": 
				$status = "Em andamento";
				$status_id = $this->config->get('komerciloja5_pendente');
				break;
				case "2": 
				$status = "Autenticada";
				$status_id = $this->config->get('komerciloja5_pendente');
				break;
				case "3": 
				$status = "Nao autenticada";
				$status_id = $this->config->get('komerciloja5_pendente');
				break;
				case "4": 
				$status = "Autorizada";
				$status_id = $this->config->get('komerciloja5_autorizado');
				break;
				case "5": 
				$status = "Nao autorizada";
				$status_id = $this->config->get('komerciloja5_cancelado');
				break;
				case "6": 
				$status = "Capturada (Aprovada)";
				$status_id = $this->config->get('komerciloja5_aprovado');
				break;
				case "8": 
				$status = "Nao capturada";
				$status_id = $this->config->get('komerciloja5_pendente');
				break;
				case "9": 
				$status = "Cancelada";
				$status_id = $this->config->get('komerciloja5_cancelado');
				break;
				case "10": 
				$status = "Em autenticacao";
				$status_id = $this->config->get('komerciloja5_pendente');
				break;
				default: 
				$status = "n/a";
				$status_id = $this->config->get('komerciloja5_order_status_id');
				break;
			}
			
			return array('nome'=>$status,'id'=>$status_id);
	}
}
?>