<?php
//cria a tabela temp
$db->query("CREATE TABLE IF NOT EXISTS `order_komerci_form` (
  `idUnico` int(10) NOT NULL AUTO_INCREMENT,
  `pedidoId` int(16) NOT NULL,
  `numPar` varchar(10) NOT NULL,
  `tipoPar` varchar(10) NOT NULL,
  `meioPar` varchar(20) NOT NULL,
  `valPar` float(10,2) NOT NULL,
  `cpfCli` varchar(30) NOT NULL,
  `telCli` varchar(30) NOT NULL,
  `ipCli` varchar(30) NOT NULL,
  `codRet` varchar(10) NOT NULL,
  `binRet` varchar(30) NOT NULL,
  `data` date NOT NULL,
  `origem_bin` varchar(3) NOT NULL,
  `numautor` varchar(6)NOT NULL,
  `numcv` varchar(12) NOT NULL,
  `numautent` varchar(6) NOT NULL,
  `numsqn` varchar(12) NOT NULL,
  `data_expi` date NOT NULL, 
  PRIMARY KEY (`idUnico`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;");//query

//conecta com a cielo
function httprequest($paEndereco, $paPost){
	$sessao_curl = curl_init();
	curl_setopt($sessao_curl, CURLOPT_URL, $paEndereco);
	curl_setopt($sessao_curl, CURLOPT_SSL_VERIFYPEER, false);
	curl_setopt($sessao_curl, CURLOPT_SSL_VERIFYHOST, false);
	curl_setopt($sessao_curl, CURLOPT_CONNECTTIMEOUT, 10);
	curl_setopt($sessao_curl, CURLOPT_TIMEOUT, 40);
	curl_setopt($sessao_curl, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($sessao_curl, CURLOPT_POST, true);
	curl_setopt($sessao_curl, CURLOPT_POSTFIELDS, $paPost );
	$http_status = curl_getinfo($sessao_curl, CURLINFO_HTTP_CODE);
	$resultado = curl_exec($sessao_curl);
	curl_close($sessao_curl);
	if ($resultado) {
		return array('res'=>0,'xml'=>$resultado);
	} else {
		return array('res'=>1,'xml'=>$http_status);
	}
}

//pega dados do cartao
function CartaoFutura($bandeira,$tipo_parcela){
$bandeira = strtoupper($bandeira);
switch($bandeira){

case 'VISA':
$op = 'visa';
$parcela = $tipo_parcela;
break;

case 'MASTERCARD':
$op = 'mastercard';
$parcela = $tipo_parcela;
break;

case 'DINERS':
$op = 'diners';
$parcela = $tipo_parcela;
break;

case 'HIPER':
$op = 'hiper';
$parcela = $tipo_parcela;
break;

case 'HIPERCARD':
$op = 'hipercard';
$parcela = $tipo_parcela;
break;

}
return array('cc'=>$op,'tp'=>$parcela);
}

//url de retorno
function ReturnURLKomerciFutura()
{
	$pageURL = 'http';
	if ($_SERVER["SERVER_PORT"] == 443) // protocolo https
	{
		$pageURL .= 's';
	}
	$pageURL .= "://";
	if ($_SERVER["SERVER_PORT"] != "80")
	{
		$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER['PHP_SELF'];
	} else {
		$pageURL .= $_SERVER["SERVER_NAME"]. substr($_SERVER['PHP_SELF'], 0);
	}
	$file = substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1);
	$ReturnURL = str_replace($file, "gtw.cupom.php", $pageURL);
	return $ReturnURL;
}

function ReturnUrlTopo($img)
{
	$pageURL = 'http';
	if ($_SERVER["SERVER_PORT"] == 443) // protocolo https
	{
		$pageURL .= 's';
	}
	$pageURL .= "://";
	if ($_SERVER["SERVER_PORT"] != "80")
	{
		$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER['PHP_SELF'];
	} else {
		$pageURL .= $_SERVER["SERVER_NAME"]. substr($_SERVER['PHP_SELF'], 0);
	}
	$file = substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1);
	$ReturnURL = str_replace($file, $img, $pageURL);
	return $ReturnURL;
}

//pega o ip do cliente
function get_ip_redecard()
{
    $variables = array('REMOTE_ADDR',
                       'HTTP_X_FORWARDED_FOR',
                       'HTTP_X_FORWARDED',
                       'HTTP_FORWARDED_FOR',
                       'HTTP_FORWARDED',
                       'HTTP_X_COMING_FROM',
                       'HTTP_COMING_FROM',
                       'HTTP_CLIENT_IP');

    $return = 'Unknown';

    foreach ($variables as $variable)
    {
        if (isset($_SERVER[$variable]))
        {
            $return = $_SERVER[$variable];
            break;
        }
    }
    
    return $return;
}

//funcoes
function QualDesconto($meio,$config){
return $config->get('FuturaKomerci_'.$meio.'_desconto');
}
function QualJuros($meio,$config){
return $config->get('FuturaKomerci_'.$meio.'_juros');
}
function GetParcelas($meio,$config){
return $config->get('FuturaKomerci_'.$meio.'_div');
}
function GetSemJuros($meio,$config){
return $config->get('FuturaKomerci_'.$meio.'_sem');
}
function CalcularJurosKomerci($valorTotal, $taxa, $nParcelas){
    $taxa = $taxa/100;
    $cadaParcela = ($valorTotal*$taxa)/(1-(1/pow(1+$taxa, $nParcelas)));
    return round($cadaParcela, 2);
}

//cod ver
function _RedeCard_CodVer($n_filiacao,$total,$ip){
                /**
                * By Renato Elias 2006 - renato.elias@gmail.com - blog.s2n.com.br
                **/
                $data = getdate();
                $segundosAgora = $data['seconds'];
                /*
                esta � uma tabelinha de codifica��o da pr�pria redecard, onde eles
                embaralham os segundos.
                N�O ALTERAR!
                */
                $_secCodificado = array(11,17,21,31,56,34,42,3,18,13,
                12,18,22,32,57,35,43,4,19,14,9,20,23,33,58,36,44,5,24,
                15,62,25,34,59,37,45,6,25,16,27,63,26,35,60,38,46,7,26,
                17,28,14,36,2,39,47,8,29,22,55,33);
                
                $segundosAgora = $_secCodificado[ $segundosAgora ];

                $pad = '';
                if ($segundosAgora < 10) {
                        $pad = "0";
                } else {
                        $pad = "";
                }
                $tamIP = strlen($ip);
                $total = intval($total);
                $numfil = intval($n_filiacao);
                $i5 = $total + $segundosAgora;
                $i6 = $segundosAgora + $tamIP;
                $i7 = $segundosAgora * $numfil;
                $i8 = strlen($i7);
                return "$i7$i5$i6-$i8$pad$segundosAgora";
}
