<?php
class functions_Cash{

	var $rConnDb = null;
  	var $rQueryDb = null;
	var $sQrLastQr = null;
	var $conn;
	var $debug = true;
	var $ttlCar = 20;

	function planos(){
		$s = 'SELECT * FROM Planos WHERE PlaStatus = "A" ORDER BY PlaOrdem ASC';
		$e = $this->sqlExecQuery($s);
		while($r = $this->sqlFetch($e)){
			$h .= '<div class="col-xs-12 col-xl-4" style="margin-bottom: 30px;">
			<div class="mbr-plan card text-xs-center">
				<div class="mbr-plan-header card-block">
					<!--<div class="mbr-plan-label">'.$r['PlaPlano'].'</div>-->
					<div class="card-title">
						<h3>'.$r['PlaPlano'].'</h3>
						<span class="iconBg"><span class="icon"><span class="icon54-v1-cash-pay mbr-iconfont-extFeatures2" style="color: #372B03;"></span></span></span>
						<span class="bottom_line"></span>
						<!--<h3 class="mbr-plan-title">R$ '.$r['PlaVlr'].'</h3>-->
						<small class="mbr-plan-subtitle">
							até '.$r['PlaQtdeDocs'].' CNPJs/CPFs<br>
							até '.$r['PlaQtdeProcessos'].' processos<br>
							monitoramento diário
						</small>
					</div>
					<div class="card-text">
						<div class="mbr-price">
							<span class="mbr-price-value">R$</span>
							<span class="mbr-price-figure">'.current(explode('.', $r['PlaVlr'])).'</span><small class="mbr-price-term">/mês</small>
						</div>
						<small class="mbr-plan-price-desc"></small>
					</div>
				</div>
				<!--<div class="mbr-plan-body">
					<div class="mbr-plan-btn"><a class="btn btn-primary" style="font-size: 20px;">SELECIONAR PLANO</a></div>
				</div>-->
			</div>
			</div>';
		}
		return $h;
	}

	function mobile(){
		switch($_GET['mobile']){
			case "true": $_SESSION['mobile'] = true; break;
			case "false": unset($_SESSION['mobile']); break;
		}
		if(empty($_SESSION['mobile'])){
			$windows = strpos($_SERVER['HTTP_USER_AGENT'],"Windows NT");
			$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
			$ipad = strpos($_SERVER['HTTP_USER_AGENT'],"iPad");
			$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
			$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
			$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
			$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");
			$symbian = strpos($_SERVER['HTTP_USER_AGENT'],"Symbian");
			if($iphone || $ipad || $android || $palmpre || $ipod || $berry || $symbian == true){
				$_SESSION['midiamobile'] = true;
				//header("location: https://www.carsystem.com/mobile");
			} else $_SESSION['midiamobile'] = false;
		}
	}

	function conection_Data($sDbHost, $sDbUser, $sDbSenha, $sDbData){
		$this->rConnDb = mysqli_connect($sDbHost, $sDbUser, $sDbSenha) or $this->_DisplayError(True);
		mysqli_select_db($this->rConnDb, $sDbData) or $this->_DisplayError(True);
		mysqli_query($this->rConnDb, "SET NAMES 'utf8'");
		mysqli_query($this->rConnDb, 'SET character_set_connection=utf8');
		mysqli_query($this->rConnDb, 'SET character_set_client=utf8');
		mysqli_query($this->rConnDb, 'SET character_set_results=utf8');
	}

	function close_Data(){ mysqli_close($this->rConnDb); }

	function sqlExecQuery($sSql){
		$this->sQrLastQr = $sSql;
		$this->rQueryDb = mysqli_query($this->rConnDb, $sSql) or $this->_DisplayError(True);
		return ($this->rQueryDb);
	}

	function sqlFetch($rSqlQueryId = False){
		$rSqlQueryId = ($rSqlQueryId ? $rSqlQueryId : $this->rQueryDb);
		$aRows = mysqli_fetch_array($rSqlQueryId, MYSQLI_ASSOC) or $this->_DisplayError (True);
		return ($aRows);
	}

	function erros($e){
		$s = 'INSERT INTO Erros VALUES(NULL, "'.$_SESSION['UsuCodigo'].'", "'.$e['local'].'", "'.$e['erro'].'", NOW(), "A");';
		$this->sqlExecQuery($s);
	}

	function _DisplayError($bDie = False){
		if(mysqli_errno($this->rConnDb)){
			$msg = " <h2>Classe functions_CARSYSTEM: Erro na Execução</h2>\n
			<b>Hora do Erro:</b> ".date("l dS of F Y h:i:s A")."<br />\n
			<b>Erro do Mysql:</b> ".mysqli_error($this->rConnDb)."<br />\n
			<b>Nmero de Erro:</b> ".mysqli_errno($this->rConnDb)."<br />\n
			<b>Última Query:</b> ".$this->sQrLastQr."<br />\n";
			print $msg;
			//$this->envioEmails('CARSYSTEM', 'contato@carsystem.com', 'lldelgado@gmail.com', 'Erro SQL - CARSYSTEM', $msg);
			//$e['erro'] = addslashes($this->sQrLastQr);
			//$this->erros($e);
			if($bDie == True){ die(); }
    	}
  	}

	function clear($value){ return preg_replace("/(select|insert|delete|update|drop table|show tables|#|\*|--|\\\\)/","",$value); }
	function uniqStripTags($v){ return addslashes(htmlspecialchars(strip_tags(trim($this->clear($v)), ENT_QUOTES))); }
	function striptags($arr){
		foreach($arr as $k=>$v){
			//if(stripos($k, 'senha') && !empty($v)) $v = md5($v);
			if(is_array($arr[$k])){ for($i=0;$i<count($arr[$k]);$i++){ $arr[$k][$i] = $this->uniqStripTags($arr[$k][$i]); }	}
			else{ $arr[$k] = $this->uniqStripTags($v); }
		}
		return $arr;
	}

	function converterCaractere($campo, $t1, $t2){ $campo = iconv($t1, $t2, $campo); return $campo; }
	function trocaCor($cor01, $cor02, $cor){ if($cor==$cor01){ return $cor02; } else { return $cor01; } }

	function sanitize_title_with_dashes($title) {
		$title = strip_tags($title);
		$title = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '---$1---', $title);
		$title = str_replace('%', '', $title);
		$title = preg_replace('|---([a-fA-F0-9][a-fA-F0-9])---|', '%$1', $title);
		$title = self::remove_accents($title);
		$title = strtolower($title);
		$title = preg_replace('/&.+?;/', '', $title);
		$title = str_replace('.', '-', $title);
		$title = preg_replace('/[^%a-z0-9 _-]/', '', $title);
		$title = preg_replace('/\s+/', '-', $title);
		$title = preg_replace('|-+|', '-', $title);
		$title = trim($title, '-');
		return $title;
	}

	function remove_accents($string) {
		if ( !preg_match('/[\x80-\xff]/', $string) )
			return $string;
			$chars['in'] = chr(128).chr(131).chr(138).chr(142).chr(154).chr(158)
				.chr(159).chr(162).chr(165).chr(181).chr(192).chr(193).chr(194)
				.chr(195).chr(196).chr(197).chr(199).chr(200).chr(201).chr(202)
				.chr(203).chr(204).chr(205).chr(206).chr(207).chr(209).chr(210)
				.chr(211).chr(212).chr(213).chr(214).chr(216).chr(217).chr(218)
				.chr(219).chr(220).chr(221).chr(224).chr(225).chr(226).chr(227)
				.chr(228).chr(229).chr(231).chr(232).chr(233).chr(234).chr(235)
				.chr(236).chr(237).chr(238).chr(239).chr(241).chr(242).chr(243)
				.chr(244).chr(245).chr(246).chr(248).chr(249).chr(250).chr(251)
				.chr(252).chr(253).chr(255);
	
			$chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy";
			$string = strtr($string, $chars['in'], $chars['out']);
			$double_chars['in'] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254));
			$double_chars['out'] = array('OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th');
			$string = str_replace($double_chars['in'], $double_chars['out'], $string);
		return $string;
	}
	
	function seems_utf8($str) {
		$length = strlen($str);
		for($i=0; $i < $length; $i++){
			$c = ord($str[$i]);
			if($c < 0x80) $n = 0; # 0bbbbbbb
			elseif(($c & 0xE0) == 0xC0) $n=1; # 110bbbbb
			elseif(($c & 0xF0) == 0xE0) $n=2; # 1110bbbb
			elseif(($c & 0xF8) == 0xF0) $n=3; # 11110bbb
			elseif(($c & 0xFC) == 0xF8) $n=4; # 111110bb
			elseif(($c & 0xFE) == 0xFC) $n=5; # 1111110b
			else return false; # Does not match any model
			for($j=0; $j<$n; $j++){ # n bytes matching 10bbbbbb follow ?
				if((++$i == $length) || ((ord($str[$i]) & 0xC0) != 0x80)) return false;
			}
		}
		return true;
	}
	
	function utf8_uri_encode($utf8_string, $length = 0){
		$unicode = '';
		$values = array();
		$num_octets = 1;
		$unicode_length = 0;
		$string_length = strlen($utf8_string);
		for($i = 0; $i < $string_length; $i++){
			$value = ord($utf8_string[$i]);
			if($value < 128){
				if($length && ($unicode_length >= $length)) break;
				$unicode .= chr($value);
				$unicode_length++;
			} else {
				if(count($values) == 0) $num_octets = ($value < 224) ? 2 : 3;
				$values[] = $value;
				if($length && ($unicode_length + ($num_octets * 3)) > $length) break;
				if(count($values) == $num_octets){
					if($num_octets == 3){
						$unicode .= '%'.dechex($values[0]).'%'.dechex($values[1]).'%'.dechex($values[2]);
						$unicode_length += 9;
					} else {
						$unicode .= '%'.dechex($values[0]).'%'.dechex($values[1]);
						$unicode_length += 6;
					}
					$values = array();
					$num_octets = 1;
				}
			}
		}
		return $unicode;
	}

	function obterTaxas(){
		$s = 'SELECT * FROM Taxas';
		$e = $this->sqlExecQuery($s);
		$r = $this->sqlFetch($e);
		return $r;
	}

	function enviarContato($p){
		if(
			!empty($p['nome']) && 
			!empty($p['email']) && 
			!empty($p['telefone']) && 
			!empty($p['mensagem'])
		){
			$msg  = 'Abaixo dados:<br>';
			$msg .= 'Nome: '.$p['nome'].'<br>';
			$msg .= 'Telefone: '.$p['telefone'].'<br>';
			$msg .= 'E-Mail: '.$p['email'].'<br>';
			$msg .= 'Mensagem: '.$p['mensagem'].'<br>';
			$this->envioEmails($p['nome'], $p['email'], 'contato@adcautelam.com.br', 'AD Cautelam - Contato pelo site', $msg);
			$msg = 'Contato enviado com sucesso!';

			$s = "INSERT INTO Contatos VALUES(NULL, 
			'".$p['nome']."', 
			'".$p['email']."', 
			'".$p['telefone']."', 
			'".$p['mensagem']."', 
			NOW(), 
			'A');";
			$this->sqlExecQuery($s);
		} else $msg = 'Problema ao enviar o e-mail. Tente novamente, por favor.';
		return $msg;
	}

	function formatarDecimal($s){ return str_replace('#', '', str_replace(',', '.', str_replace('.', '#', $s))); }

	function mes($mes){
		switch($mes){
			case 1: $mes = 'Janeiro'; break;
			case 2: $mes = 'Fevereiro'; break;
			case 3: $mes = 'Março'; break;
			case 4: $mes = 'Abril'; break;
			case 5: $mes = 'Maio'; break;
			case 6: $mes = 'Junho'; break;
			case 7: $mes = 'Julho'; break;
			case 8: $mes = 'Agosto'; break;
			case 9: $mes = 'Setembro'; break;
			case 10: $mes = 'Outubro'; break;
			case 11: $mes = 'Novembro'; break;
			case 12: $mes = 'Dezembro'; break;
		}
		return $mes;
	}

	function localizacao($ip){
		/*
		array (
		  'geoplugin_city' => 'São Paulo',
		  'geoplugin_region' => 'São Paulo',
		  'geoplugin_areaCode' => '0',
		  'geoplugin_dmaCode' => '0',
		  'geoplugin_countryCode' => 'BR',
		  'geoplugin_countryName' => 'Brazil',
		  'geoplugin_continentCode' => 'SA',
		  'geoplugin_latitude' => '-23.53330039978',
		  'geoplugin_longitude' => '-46.61669921875',
		  'geoplugin_regionCode' => '27',
		  'geoplugin_regionName' => 'São Paulo',
		  'geoplugin_currencyCode' => 'BRL',
		  'geoplugin_currencySymbol' => 'R$',
		  'geoplugin_currencyConverter' => 1.666500089,
		)
		*/
		$a = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$ip));
		return $a;
		/*$dados['city'] = html_entity_decode($array['geoplugin_city'], ENT_NOQUOTES, 'ISO-8859-1');
		$dados['region'] = $this->converterCaractere($array['geoplugin_region']);
		return $dados;*/
	}

	function verifyUrl($url){
	   $id = @fopen($url,"r");
	   if($id){ $a = true; fclose($id); }
	   else $a = false;
	   return $a;
	}

	function convert($p){
		//return preg_replace("/[^a-zA-Z0-9_]/", "", strtr($p, "áàãâéêíóôõúüçñÁÀÃÂÉÊÍÓÔÕÚÜÇÑ ", "aaaaeeiooouucnAAAAEEIOOOUUCN_"));
		//return strtr($p, "áàãâéêíóôõúüçñÁÀÃÂÉÊÍÓÔÕÚÜÇÑ", "aaaaeeiooouucnAAAAEEIOOOUUCN");
		return $p;
	}

	function converter($campo){ $campo = iconv("UTF-8","ISO-8859-1", $campo); return $campo; }

	function titleAndalt($t){ return 'title="'.$t.'" alt="'.$t.'"'; }

	function limparPost($p){ foreach($_POST as $k => $v){ $_POST[$k] = ''; } }

	function inverteData($data, $h, $param1, $param2){
		$data = explode(' ', $data);
		$dt = $data[0];
		$hora = $data[1];
		$dt = explode($param1, $dt);
		$dt = array_reverse($dt);
		$data = $dt[0].$param2.$dt[1].$param2.$dt[2];
		if($h){ $data .= ' '.$hora; }
		return $data;
	}

	function limpaNumeros($valor){ if(!empty($valor)) { return str_replace(',', '.', str_replace('.', '', $valor)); } else { $valor = 0; } }

	function envioEmails($nomeRemetente, $emailRemetente, $emailDestino, $assunto, $msg){
		//require('mailPadrao.php');
		include('send/send.php');
	}

	function pre($obj){ print '<pre>'; print_r($obj); print '</pre>'; }
	
	function formatoMoeda($valor){
		$valor = str_replace("%", ",", str_replace(",", ".", str_replace(".", "%", number_format($valor, 2))));
		return $valor;
	}
}
?>