<?php
class ControllerPaymentCieloTransparente extends Controller {
	private $error = array();

	public function index() {
		$this->load->language('payment/cielo_transparente');

		$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('cielo_transparente', $this->request->post);
			$this->session->data['success'] = $this->language->get('text_success');
			$this->redirect($this->url->linkAnchor('extension/module', 'token=' . $this->session->data['token'], 'tab-info=' . $this->request->get['type'], 'SSL'));


		}

		$this->data['heading_title']                  = $this->language->get('heading_title');

		$this->data['entry_cielo_description']        = $this->language->get('entry_cielo_description');
		$this->data['entry_cielo_numero']             = $this->language->get('entry_cielo_numero');
		$this->data['entry_cielo_chave']              = $this->language->get('entry_cielo_chave');
		$this->data['entry_cielo_url_site']           = $this->language->get('entry_cielo_url_site');

		$this->data['entry_cielo_numero_teste']       = $this->language->get('entry_cielo_numero_teste');
		$this->data['entry_cielo_url_site_exemplo']   = $this->language->get('entry_cielo_url_site_exemplo');

		$this->data['text_disabled']                  = $this->language->get('text_disabled');
		$this->data['text_enabled']                   = $this->language->get('text_enabled');
		$this->data['text_all_zones']                 = $this->language->get('text_all_zones');
		$this->data['text_edit']                      = $this->language->get('text_edit');
		$this->data['text_client']                    = $this->language->get('text_client');
    $this->data['text_ambiente']                  = $this->language->get('text_ambiente');

    $this->data['text_module_info']               = $this->language->get('text_module_info');
    $this->data['text_module_sub_info']           = $this->language->get('text_module_sub_info');

		$this->data['entry_cielo_parcela_semjuros']   = $this->language->get('entry_cielo_parcela_semjuros');
		$this->data['entry_cielo_parcela_juros']      = $this->language->get('entry_cielo_parcela_juros');
		$this->data['entry_cielo_parcela_minimo']     = $this->language->get('entry_cielo_parcela_minimo');
		$this->data['entry_cielo_parcela_qtdmax']     = $this->language->get('entry_cielo_parcela_qtdmax');
		$this->data['entry_cielo_bandeiraspagamento'] = $this->language->get('entry_cielo_bandeiraspagamento');

		$this->data['entry_order_status']             = $this->language->get('entry_order_status');
		$this->data['entry_order_status_pago']        = $this->language->get('entry_order_status_pago');
		$this->data['entry_order_status_pendente']    = $this->language->get('entry_order_status_pendente');
		$this->data['entry_order_status_negado']      = $this->language->get('entry_order_status_negado');
		$this->data['entry_order_status_autorizado']  = $this->language->get('entry_order_status_autorizado');
		$this->data['entry_order_status_cancelado']   = $this->language->get('entry_order_status_cancelado');
		$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['entry_cielo_transparente_total'] = $this->language->get('entry_cielo_transparente_total');
		$this->data['entry_display'] 									= $this->language->get('entry_display');


		$this->data['button_save'] = $this->language->get('button_save');
		$this->data['button_cancel'] = $this->language->get('button_cancel');

		$this->data['tab_general'] = $this->language->get('tab_general');

		//$this->data['error_warning'] = @$this->error['warning'];

		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'),
			'separator'=>false,
			'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], 'SSL')
		);

		$this->data['breadcrumbs'][] = array(
			'text' => $this->language->get('text_payment'),
			'separator'=>" :: ",
			'href' => $this->url->linkAnchor('extension/module', 'token=' . $this->session->data['token'], 'tab-info=' . $this->request->get['type'], 'SSL')
		);

		$this->data['breadcrumbs'][] = array(
			'text' => $this->language->get('heading_title'),
			'separator'=>" :: ",
			'href' => $this->url->link('payment/cielo_transparente', 'token=' . $this->session->data['token'] . '&type=' . $this->request->get['type'], 'SSL')
		);

		$this->data['action'] = $this->url->link('payment/cielo_transparente', 'token=' . $this->session->data['token'] . '&type=' . $this->request->get['type'], 'SSL');

		$this->data['cancel'] = $this->url->linkAnchor('extension/module', 'token=' . $this->session->data['token'], 'tab-info=' . $this->request->get['type'], 'SSL');

		if (isset($this->request->post['cielo_transparente_descricao'])) {
			$this->data['cielo_transparente_descricao'] = $this->request->post['cielo_transparente_descricao'];
		} else {
			$this->data['cielo_transparente_descricao'] = $this->config->get('cielo_transparente_descricao');
		}

		if (isset($this->request->post['cielo_transparente_numero'])) {
			$this->data['cielo_transparente_numero'] = $this->request->post['cielo_transparente_numero'];
		} else {
			$this->data['cielo_transparente_numero'] = $this->config->get('cielo_transparente_numero');
		}

		if (isset($this->request->post['cielo_transparente_chave'])) {
			$this->data['cielo_transparente_chave'] = $this->request->post['cielo_transparente_chave'];
		} else {
			$this->data['cielo_transparente_chave'] = $this->config->get('cielo_transparente_chave');
		}

		if (isset($this->request->post['cielo_transparente_url_site'])) {
			$this->data['cielo_transparente_url_site'] = $this->request->post['cielo_transparente_url_site'];
		} else {
			$this->data['cielo_transparente_url_site'] = $this->config->get('cielo_transparente_url_site');
		}

		if (isset($this->request->post['cielo_transparente_parcela_semjuros'])) {
			$this->data['cielo_transparente_parcela_semjuros'] = $this->request->post['cielo_transparente_parcela_semjuros'];
		} else {
			$this->data['cielo_transparente_parcela_semjuros'] = $this->config->get('cielo_transparente_parcela_semjuros');
		}

		if (isset($this->request->post['cielo_transparente_parcela_juros'])) {
			$this->data['cielo_transparente_parcela_juros'] = $this->request->post['cielo_transparente_parcela_juros'];
		} else {
			$this->data['cielo_transparente_parcela_juros'] = $this->config->get('cielo_transparente_parcela_juros');
		}

		if (isset($this->request->post['cielo_transparente_parcela_minimo'])) {
			$this->data['cielo_transparente_parcela_minimo'] = $this->request->post['cielo_transparente_parcela_minimo'];
		} else {
			$this->data['cielo_transparente_parcela_minimo'] = $this->config->get('cielo_transparente_parcela_minimo');
		}

		if (isset($this->request->post['cielo_transparente_parcela_minimo'])) {
			$this->data['cielo_transparente_parcela_minimo'] = $this->request->post['cielo_transparente_parcela_minimo'];
		} else {
			$this->data['cielo_transparente_parcela_minimo'] = $this->config->get('cielo_transparente_parcela_minimo');
		}

		if (isset($this->request->post['cielo_transparente_parcela_qtdmax'])) {
			$this->data['cielo_transparente_parcela_qtdmax'] = $this->request->post['cielo_transparente_parcela_qtdmax'];
		} else {
			$this->data['cielo_transparente_parcela_qtdmax'] = $this->config->get('cielo_transparente_parcela_qtdmax');
		}

		if (isset($this->request->post['cielo_transparente_order_status_id'])) {
			$this->data['cielo_transparente_order_status_id'] = $this->request->post['cielo_transparente_order_status_id'];
		} else {
			$this->data['cielo_transparente_order_status_id'] = $this->config->get('cielo_transparente_order_status_id');
		}

		if (isset($this->request->post['cielo_transparente_order_pg_id'])) {
			$this->data['cielo_transparente_order_pg_id'] = $this->request->post['cielo_transparente_order_pg_id'];
		} else {
			$this->data['cielo_transparente_order_pg_id'] = $this->config->get('cielo_transparente_order_pg_id');
		}

		if (isset($this->request->post['cielo_transparente_order_pe_id'])) {
			$this->data['cielo_transparente_order_pe_id'] = $this->request->post['cielo_transparente_order_pe_id'];
		} else {
			$this->data['cielo_transparente_order_pe_id'] = $this->config->get('cielo_transparente_order_pe_id');
		}

		if (isset($this->request->post['cielo_transparente_order_ne_id'])) {
			$this->data['cielo_transparente_order_ne_id'] = $this->request->post['cielo_transparente_order_ne_id'];
		} else {
			$this->data['cielo_transparente_order_ne_id'] = $this->config->get('cielo_transparente_order_ne_id');
		}

		if (isset($this->request->post['cielo_transparente_order_au_id'])) {
			$this->data['cielo_transparente_order_au_id'] = $this->request->post['cielo_transparente_order_au_id'];
		} else {
			$this->data['cielo_transparente_order_au_id'] = $this->config->get('cielo_transparente_order_au_id');
		}

		if (isset($this->request->post['cielo_transparente_order_status_cancelado_id'])) {
			$this->data['cielo_transparente_order_status_cancelado_id'] = $this->request->post['cielo_transparente_order_status_cancelado_id'];
		} else {
			$this->data['cielo_transparente_order_status_cancelado_id'] = $this->config->get('cielo_transparente_order_status_cancelado_id');
		}

		if (isset($this->request->post['cielo_transparente_total'])) {
			$this->data['cielo_transparente_total'] = $this->request->post['cielo_transparente_total'];
		} else {
			$this->data['cielo_transparente_total'] = $this->config->get('cielo_transparente_total');
		}

		if (isset($this->request->post['cielo_transparente_visa'])) {
			$this->data['cielo_transparente_visa'] = $this->request->post['cielo_transparente_visa'];
		} else {
			$this->data['cielo_transparente_visa'] = $this->config->get('cielo_transparente_visa');
		}
		if (isset($this->request->post['cielo_transparente_master'])) {
			$this->data['cielo_transparente_master'] = $this->request->post['cielo_transparente_master'];
		} else {
			$this->data['cielo_transparente_master'] = $this->config->get('cielo_transparente_master');
		}
		if (isset($this->request->post['cielo_transparente_amex'])) {
			$this->data['cielo_transparente_amex'] = $this->request->post['cielo_transparente_amex'];
		} else {
			$this->data['cielo_transparente_amex'] = $this->config->get('cielo_transparente_amex');
		}
		if (isset($this->request->post['cielo_transparente_elo'])) {
			$this->data['cielo_transparente_elo'] = $this->request->post['cielo_transparente_elo'];
		} else {
			$this->data['cielo_transparente_elo'] = $this->config->get('cielo_transparente_elo');
		}
		if (isset($this->request->post['cielo_transparente_discover'])) {
			$this->data['cielo_transparente_discover'] = $this->request->post['cielo_transparente_discover'];
		} else {
			$this->data['cielo_transparente_discover'] = $this->config->get('cielo_transparente_discover');
		}
		if (isset($this->request->post['cielo_transparente_diners'])) {
			$this->data['cielo_transparente_diners'] = $this->request->post['cielo_transparente_diners'];
		} else {
			$this->data['cielo_transparente_diners'] = $this->config->get('cielo_transparente_diners');
		}

		if (isset($this->request->post['cielo_transparente_display'])) {
			$this->data['cielo_transparente_display'] = $this->request->post['cielo_transparente_display'];
		} else {
			$this->data['cielo_transparente_display'] = $this->config->get('cielo_transparente_display');
		}

		$this->load->model('localisation/order_status');

		$this->data['order_statuses'] = $this->model_localisation_order_status->getOrderStatuses();

		if (isset($this->request->post['cielo_transparente_geo_zone_id'])) {
			$this->data['cielo_transparente_geo_zone_id'] = $this->request->post['cielo_transparente_geo_zone_id'];
		} else {
			$this->data['cielo_transparente_geo_zone_id'] = $this->config->get('cielo_transparente_geo_zone_id');
		}

		$this->load->model('localisation/geo_zone');

		$this->data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones();

		if (isset($this->request->post['cielo_transparente_client_teste'])) {
			$this->data['cielo_transparente_client_teste'] = $this->request->post['cielo_transparente_client_teste'];
		} else {
			$this->data['cielo_transparente_client_teste'] = $this->config->get('cielo_transparente_client_teste');
		}

		if (isset($this->request->post['cielo_transparente_ambiente_teste'])) {
			$this->data['cielo_transparente_ambiente_teste'] = $this->request->post['cielo_transparente_ambiente_teste'];
		} else {
			$this->data['cielo_transparente_ambiente_teste'] = $this->config->get('cielo_transparente_ambiente_teste');
		}

		if (isset($this->request->post['cielo_transparente_status'])) {
			$this->data['cielo_transparente_status'] = $this->request->post['cielo_transparente_status'];
		} else {
			$this->data['cielo_transparente_status'] = $this->config->get('cielo_transparente_status');
		}

		if (isset($this->request->post['cielo_transparente_sort_order'])) {
			$this->data['cielo_transparente_sort_order'] = $this->request->post['cielo_transparente_sort_order'];
		} else {
			$this->data['cielo_transparente_sort_order'] = $this->config->get('cielo_transparente_sort_order');
		}

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

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

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

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

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

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

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

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

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





		$this->template = 'payment/cielo_transparente.tpl';
		$this->children=array(
			"common/header",
			"common/footer"
		);
		$this->response->setOutput($this->render());


	}

	protected function validate() {
		if (!$this->user->hasPermission('modify', 'payment/cielo_transparente')) {
			$this->error['warning'] = $this->language->get('error_permission');
		}

		if ($this->request->post['cielo_transparente_numero'] == '') {
			$this->error['err_cielo_transparente_numero'] = $this->language->get('err_cielo_transparente_numero');
		}

		if ($this->request->post['cielo_transparente_chave'] == '') {
			$this->error['err_cielo_transparente_chave'] = $this->language->get('err_cielo_transparente_chave');
		}

		if ($this->request->post['cielo_transparente_url_site'] == '') {
			$this->error['err_cielo_transparente_url_site'] = $this->language->get('err_cielo_transparente_url_site');
		}

		if ($this->request->post['cielo_transparente_parcela_semjuros'] == '') {
			$this->error['err_cielo_transparente_parcela_semjuros'] = $this->language->get('err_cielo_transparente_parcela_semjuros');
		}

		if ($this->request->post['cielo_transparente_parcela_juros'] == '') {
			$this->error['err_cielo_transparente_parcela_juros'] = $this->language->get('err_cielo_transparente_parcela_juros');
		}

		if ($this->request->post['cielo_transparente_parcela_minimo'] == '') {
			$this->error['err_cielo_transparente_parcela_minimo'] = $this->language->get('err_cielo_transparente_parcela_minimo');
		}

		if ($this->request->post['cielo_transparente_parcela_qtdmax'] == '') {
			$this->error['err_cielo_transparente_parcela_qtdmax'] = $this->language->get('err_cielo_transparente_parcela_qtdmax');
		}


		if ($this->request->post['cielo_transparente_total'] == '') {
			$this->error['err_cielo_transparente_total'] = $this->language->get('err_cielo_transparente_total');
		}

		if (!$this->error) {
			return TRUE;
		} else {
			return FALSE;
		}

		//return !$this->error;
	}

	public function install() {
		$this->db->query("
		CREATE TABLE IF NOT EXISTS " . DB_PREFIX . "order_cielo (
			order_cielo_id int(11) NOT NULL AUTO_INCREMENT,
			tid varchar(40),
			lr char(3),
			status_lr varchar(255),
			status_pagamento int(5),
			pedido_numero varchar(60),
			pedido_valor varchar(11),
			pedido_moeda varchar(60),
			pedido_data varchar(60),
			pedido_idioma varchar(60),
			pagamento_bandeira varchar(60),
			pagamento_tipo char(2),
			pagamento_produto varchar(60),
			pagamento_parcelas varchar(2),
			PRIMARY KEY (order_cielo_id),
			KEY tid (tid)
			) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;");
		}


	}
