<?php
class functions_SomUmDois{

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

	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";
			//$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 formularios($p, $f){
		$p = $this->striptags($p);
		$msg = '';
		switch($p['Submit']){
			case 'Cadastro': $msg = $this->inserirCadastro($p); break;
			case 'Editar Cadastro': $msg = $this->editarCadastro($p); break;
			case 'Enviar Contato': $msg = $this->enviarContato($p); break;
			case 'Vender': $msg = $this->inserirVender($p, $f); break;
			case 'Editar': $msg = $this->editarVender($p, $f); break;
			case 'Excluir Produto': $msg = $this->excluirVender($p); break;
			case 'Fazer Oferta': $msg = $this->fazerOferta($p); break;
			case 'Falar com Vendedor': $msg = $this->enviarMensagem($p); break;
			case 'Falar com Comprador': $msg = $this->enviarMensagem($p); break;
		}
		return $msg;
	}

	function fazerOferta($p){
		if(empty($p['OfeConcordo'])) $p['OfeConcordo'] = 'não';
		$s  = 'INSERT INTO RelProOfe VALUES(';
		$s .= '	NULL, ';
		$s .= '	"'.$p['OfeProduto'].'", ';
		$s .= '	"'.$_SESSION['login']['CadCodigo'].'", ';
		$s .= '	"'.$this->formatarDecimal($p['OfeOferta']).'", ';
		$s .= '	"'.$p['OfeMsg'].'", ';
		$s .= '	"'.$p['OfeConcordo'].'", ';
		$s .= '	"'.$_SERVER['REMOTE_ADDR'].'", ';
		$s .= '	"", ';
		$s .= '	NOW(), ';
		$s .= '	"A"';
		$s .= ');';
		$this->sqlExecQuery($s);

		$s = 'SELECT * FROM Cadastros, Produtos WHERE CadCodigo = ProCadastro AND ProCodigo = "'.$p['OfeProduto'].'";';
		$e = $this->sqlExecQuery($s);
		$r = $this->sqlFetch($e);

		$msg  = 'Olá, '.$r['CadNome'].'<br><br>';
		$msg .= 'Temos alguém interessado em seu produto e você já recebeu uma mensagem.<br><br>';
		$msg .= 'Acesse o seu painel de vendas e verifique o interesse.';
		$this->envioEmails('SOM UM DOIS', 'contato@somumdois.com.br', $r['CadEmail'], 'Você recebeu uma mensagem - Som Um Dois', $msg);

		$msg = 'Oferta enviada com sucesso!';
		return $msg;	
	}

	function esqueciSenha($p){
		$s = 'SELECT * FROM Cadastros WHERE CadEmail = "'.$p['email'].'" AND CadStatus = "A" LIMIT 1;';
		$e = $this->sqlExecQuery($s);
		$r = $this->sqlFetch($e);
		if(isset($r['CadEmail'])){
			$senha = $this->gerar_senha(7, true, true, true, false);
			$s = 'UPDATE Cadastros SET CadSenha = MD5("'.$senha.'") WHERE CadCodigo = "'.$r['CadCodigo'].'" AND CadEmail = "'.$r['CadEmail'].'";';
			$this->sqlExecQuery($s);
			$msg  = 'Olá, '.$r['CadNome'].'<br><br>';
			$msg .= 'Foi solicitada uma troca de senha do seu perfil na Som Um Dois!<br><br>';
			$msg .= 'Abaixo seus novos dados de acesso:<br>';
			$msg .= 'E-Mail: '.$r['CadEmail'].'<br>';
			$msg .= 'Senha: '.$senha.'<br>';
			$this->envioEmails('SOM UM DOIS', 'contato@somumdois.com.br', $r['CadEmail'], 'Nova Senha - SOM UM DOIS', $msg);
			$a['msg'] = 'Uma nova senha foi gerada e enviada para seu e-mail!';
		} else $a['msg'] = 'NENHUM CADASTRO ENCONTRADO COM ESSE E-MAIL!';
		return $a;
	}

	function enviarMensagem($p){
		$p['OfeProduto'] = $_SESSION['mensagem']['ProCodigo'];
		if(empty($p['prop'])) $p['prop'] = $_SESSION['login']['CadCodigo'];
		else{
			if($p['Submit'] == 'Falar com Comprador') $sM = '';
			else{
				$sM = 'SELECT * FROM RelProMen, Cadastros WHERE RPMCadastro = CadCodigo AND RPMProduto = "'.$p['OfeProduto'].'" AND RPMProp = '.$p['prop'].' AND RPMStatus = "A" ORDER BY RPMDtCad ASC;';
				/*$eM = $this->sqlExecQuery($sM);
				$rM = $this->sqlFetch($eM);
				$msg  = 'Olá, '.$rM['CadNome'].'<br><br>';
				$msg .= 'Temos alguém interessado em seu produto e você já recebeu uma mensagem.<br><br>';
				$msg .= 'Acesse o seu painel de vendas e verifique o interesse.';
				$this->envioEmails('SOM UM DOIS', 'contato@somumdois.com.br', $rM['CadEmail'], 'Você recebeu uma mensagem - Som Um Dois', $msg);*/
			}
		}

		switch($p['Submit']){
			case 'Falar com Comprador': $sMs = $sM; break;
			case 'Falar com Vendedor': $sMs = 'SELECT * FROM RelProMen, Cadastros WHERE RPMCadastro = CadCodigo AND RPMProduto = "'.$p['OfeProduto'].'" AND CadCodigo != '.$_SESSION['login']['CadCodigo'].' GROUP BY CadCodigo;'; break;
		}
		$eMs = $this->sqlExecQuery($sMs);
		$rMs = $this->sqlFetch($eMs);
		$msg  = 'Olá, '.$rMs['CadNome'].'<br><br>';
		$msg .= 'Temos alguém interessado em seu produto e você já recebeu uma mensagem.<br><br>';
		$msg .= 'Acesse o seu painel de vendas e verifique o interesse.';
		$this->envioEmails('SOM UM DOIS', 'contato@somumdois.com.br', $rMs['CadEmail'], 'Você recebeu uma mensagem - Som Um Dois', $msg);

		if(!empty($p['OfeMsg']) && !empty($p['OfeProduto']) && !empty($p['prop'])){
			$s  = 'INSERT INTO RelProMen VALUES(';
			$s .= '	NULL, ';
			$s .= '	"'.$p['OfeProduto'].'", ';
			$s .= '	"'.$p['prop'].'", ';
			$s .= '	"'.$_SESSION['login']['CadCodigo'].'", ';
			$s .= '	"'.$p['OfeMsg'].'", ';
			$s .= '	"'.$_SERVER['REMOTE_ADDR'].'", ';
			$s .= '	"", ';
			$s .= '	NOW(), ';
			$s .= '	"A"';
			$s .= ');';
			$this->sqlExecQuery($s);
			if(!empty($sM)){
				$eM = $this->sqlExecQuery($sM);
				$msg['h'] = $this->htmlMsg($eM);
				$msg['prop'] = $p['prop'];
				$msg['retorno'] = 'sucesso';
			} else $msg = 'Mensagem enviada com sucesso!';
			
			
		} else {
			if(!empty($p['prop'])){
				$msg['retorno'] = 'erro';
				//$msg['msg'] = 'Problemas ao enviar mensagem';
			} else $msg = 'Problemas ao enviar mensagem';
		}
		return $msg;	
	}

	function excluirVender($p){
		$s  = 'UPDATE Produtos SET ProStatus = "E" WHERE ProCadastro = "'.$_SESSION['login']['CadCodigo'].'" AND ProPermalink = "'.$p['fieldAux'].'";';
		$e = $this->sqlExecQuery($s);
		$msg = 'Produto excluído com sucesso!';
		return $msg;
	}

	function enviarContato($p){
			if(
			!empty($p['CtNome']) && 
			!empty($p['CtCelular']) && 
			!empty($p['CtEmail']) && 
			!empty($p['CtMsg'])
		){
			$msg  = 'Contato via Formulario do Site<br><br>';
			$msg .= 'Abaixo seus dados:<br>';
			$msg .= 'Nome: '.$p['CtNome'].'<br>';
			$msg .= 'Celular: '.$p['CtCelular'].'<br>';
			$msg .= 'E-Mail: '.$p['CtEmail'].'<br>';
			$msg .= 'Mensagem: '.$p['CtMsg'].'<br>';
			$this->envioEmails('SOM UM DOIS', 'contato@somumdois.com.br', 'bruno@webloper.com.br', 'Contato - Som Um Dois', $msg);
			$this->envioEmails('SOM UM DOIS', 'contato@somumdois.com.br', 'mauricio@reference.com.br', 'Contato - Som Um Dois', $msg);

			$msg = 'Contato enviado com sucesso!';

		} else $msg = 'Problema ao enviar o e-mail. Tente novamente, por favor.';
		return $msg;

	}

	function editarCadastro($p){
		if(
			!empty($p['CadNome']) && 
			!empty($p['CadCpf']) && 
			!empty($p['CadCep']) && 
			!empty($p['CadEndereco']) && 
			!empty($p['CadNumero']) && 
			!empty($p['CadCidade']) && 
			!empty($p['CadEstado']) && 
			!empty($p['CadTel']) && 
			!empty($p['CadCel']) && 
			!empty($p['CadEmail']) && 
			!empty($p['CadCEmail']) && 
			!empty($p['CadSenha']) && 
			!empty($p['CadCSenha']) &&
			$p['CadSenha'] == $p['CadCSenha'] && 
			$p['CadEmail'] == $p['CadCEmail'] && 
			$_SESSION['login']['LogLogado']
		){
			
			
			$msg  = 'Olá, '.$p['CadNome'].'<br><br>';
			$msg .= 'Seu perfil foi alterado!<br><br>';
			$msg .= 'Abaixo seus dados de acesso para a verificação:<br>';
			$msg .= 'E-Mail: '.$p['CadEmail'].'<br>';
			$msg .= 'Senha: '.$p['CadSenha'].'<br>';
			$this->envioEmails('SOM UM DOIS', 'contato@somumdois.com.br', $p['CadEmail'], 'Alteração de perfil - Som Um Dois', $msg);
			
			
			
			
			
			$s  = 'UPDATE Cadastros SET ';
			if(
				!empty($p['CadEmail']) && 
				$p['CadEmail'] == $p['CadCEmail'] && 
				$p['CadEmail'] != $_SESSION['login']['CadEmail']
			) $s .= '	CadEmail = "'.$p['CadEmail'].'", ';
			if(
				!empty($p['CadSenha']) && 
				$p['CadSenha'] == $p['CadCSenha'] && 
				$p['CadSenha'] != $_SESSION['login']['CadSenha'] && 
				md5($p['CadSenha']) != $_SESSION['login']['CadSenha']
			) $s .= '	CadSenha = "'.md5($p['CadSenha']).'", ';
			$s .= '	CadRazao = "'.$p['CadRazao'].'", ';
			$s .= '	CadFantasia = "'.$p['CadFantasia'].'", ';
			$s .= '	CadNome = "'.$p['CadNome'].'", ';
			$s .= '	CadCnpj = "'.$p['CadCnpj'].'", ';
			$s .= '	CadCpf = "'.$p['CadCpf'].'", ';
			$s .= '	CadRg = "'.$p['CadRg'].'", ';
			$s .= '	CadCep = "'.$p['CadCep'].'", ';
			$s .= '	CadEnd = "'.$p['CadEndereco'].'", ';
			$s .= '	CadNum = "'.$p['CadNumero'].'", ';
			$s .= '	CadCompl = "'.$p['CadComplemento'].'", ';
			$s .= '	CadCidade = "'.$p['CadCidade'].'", ';
			$s .= '	CadUf = "'.$p['CadEstado'].'", ';
			$s .= '	CadTel = "'.$p['CadTel'].'", ';
			$s .= '	CadCel = "'.$p['CadCel'].'" ';
			$s .= ' WHERE CadCodigo = "'.$_SESSION['login']['CadCodigo'].'"';
			$e = $this->sqlExecQuery($s);
			$msg = 'Cadastro editado com sucesso!';
			$p['LogEmail'] = $p['CadEmail'];
			$p['LogSenha'] = $p['CadSenha'];
			$this->login($p);
		} else $msg = 'Problema nos campos do cadastro. Tente novamente, por favor.';
		return $msg;
	}

	function editarVender($p, $f){
		if($p['Submit'] == 'Editar'){
			$s  = 'UPDATE Produtos SET ';
			$s .= '	ProSubcat = "'.$p['ProSubcategoria'].'", ';
			$s .= '	ProTitulo = "'.$p['ProTitulo'].'", ';
			$s .= '	ProPermalink = "'.$this->sanitize_title_with_dashes($p['ProTitulo']).'-'.md5($_SESSION['login']['CadCodigo']).'", ';
			$s .= '	ProMarca = "'.$p['ProFabricante'].'", ';
			$s .= '	ProModelo = "'.$p['ProModelo'].'", ';
			$s .= '	ProAno = "'.$p['ProAno'].'", ';
			$s .= '	ProAcabCor = "'.$p['ProAcabamento'].'", ';
			$s .= '	ProCondicao = "'.$p['ProCondicao'].'", ';
			$s .= '	ProFabricado = "'.$p['ProFabricado'].'", ';
			$s .= '	ProPreco = "'.$this->formatarDecimal($p['ProPreco']).'", ';
			$s .= '	ProPrecoMin = "'.$this->formatarDecimal($p['ProPrecoMinimo']).'", ';
			$s .= '	ProOferta = "'.$p['ProAceitoOferta'].'", ';
			$s .= '	ProVideo = "'.$p['ProLink'].'", ';
			$s .= '	ProDetalhes = "'.$p['ProDescricao'].'", ';
			$s .= '	ProIp = "'.$_SERVER['REMOTE_ADDR'].'", ';
			$s .= '	ProTermos = "'.$p['ProTermos'].'", ';
			$s .= '	ProStatus = "AL" ';
			$s .= 'WHERE ProCadastro = "'.$_SESSION['login']['CadCodigo'].'" AND ProCodigo = "'.$_SESSION['editar']['ProCodigo'].'";';
			$e = $this->sqlExecQuery($s);

			$path = dirname(dirname(__FILE__)).'/imgs/produtos/';
			foreach($f['ProImg']['name'] as $k => $v){
				if(!empty($f['ProImg']['name'][$k])){
					$ext = explode('.', $f['ProImg']['name'][$k]);
					$imagem = $this->sanitize_title_with_dashes($ext[0]).'-'.uniqid().".".$ext[1];
					copy($f['ProImg']["tmp_name"][$k], $path.$imagem);
					$s  = 'UPDATE Imagens SET ';
					$s .= '	ImaImagem = "'.$imagem.'", ';
					$s .= '	ImaOrdem = "'.($k+1).'" ';
					$s .= 'WHERE ImaOrdem = "'.($k+1).'" AND ImaProduto = "'.$_SESSION['editar']['ProCodigo'].'"';
					$s .= '	"A");';
					$e = $this->sqlExecQuery($s);
				}
			}
			$msg = 'Produto editado com sucesso e em processo de análise.';
		} else $msg = 'Problemas ao editar o Produto.';
		return $msg;
	}

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

	function inserirVender($p, $f){
		if($p['Submit'] == 'Vender'){
			$s  = 'INSERT INTO Produtos VALUES(';
			$s .= '	NULL, ';
			$s .= '	"'.$_SESSION['login']['CadCodigo'].'", ';
			$s .= '	"'.$p['ProSubcategoria'].'", ';
			$s .= '	"'.$p['ProTitulo'].'", ';
			//$s .= '	"'.$this->sanitize_title_with_dashes($p['ProTitulo']).'-'.md5($_SESSION['login']['CadCodigo'].date("Y-m-d H:i:s")).'", ';
			$s .= '	"'.$this->sanitize_title_with_dashes($p['ProTitulo']).'-'.md5($_SESSION['login']['CadCodigo']).'", ';
			$s .= '	"'.$p['ProFabricante'].'", ';
			$s .= '	"'.$p['ProModelo'].'", ';
			$s .= '	"'.$p['ProAno'].'", ';
			$s .= '	"'.$p['ProAcabamento'].'", ';
			$s .= '	"'.$p['ProCondicao'].'", ';
			$s .= '	"'.$p['ProFabricado'].'", ';
			$s .= '	"'.$this->formatarDecimal($p['ProPreco']).'", ';
			$s .= '	"'.$this->formatarDecimal($p['ProPrecoMinimo']).'", ';
			$s .= '	"'.$p['ProAceitoOferta'].'", ';
			$s .= '	"'.$p['ProLink'].'", ';
			$s .= '	"'.$p['ProDescricao'].'", ';
			$s .= '	"'.$_SERVER['REMOTE_ADDR'].'", ';
			$s .= '	"'.$p['ProTermos'].'", ';
			$s .= '	0, ';
			$s .= '	"", ';
			$s .= '	"'.$p['ProClassificacao'].'", ';
			$s .= '	"", ';
			$s .= '	"", ';
			$s .= '	NOW(), ';
			$s .= '	"AL");';
			$e = $this->sqlExecQuery($s);
			$id = mysqli_insert_id($this->rConnDb);
	
			$path = dirname(dirname(__FILE__)).'/imgs/produtos/';
			foreach($f['ProImg']['name'] as $k => $v){
				if(!empty($f['ProImg']['name'][$k])){
					$ext = explode('.', $f['ProImg']['name'][$k]);
					$imagem = $this->sanitize_title_with_dashes($ext[0]).'-'.uniqid().".".$ext[1];
					copy($f['ProImg']["tmp_name"][$k], $path.$imagem);
					$s  = 'INSERT INTO Imagens VALUES(';
					$s .= '	NULL, ';
					$s .= '	"'.$id.'", ';
					$s .= '	"'.$imagem.'", ';
					$s .= '	"'.($k+1).'", ';
					$s .= '	NOW(), ';
					$s .= '	"A");';
					$e = $this->sqlExecQuery($s);
				}
			}

			$msg  = 'Olá<br><br>';
			$msg .= 'O produto "'.$p['ProTitulo'].'" foi cadastrado e está aguardando liberação<br><br>';
			$this->envioEmails('SOM UM DOIS', 'contato@somumdois.com.br', 'bruno@webloper.com.br', 'Novo produto inserido - Som Um Dois', $msg);
			$this->envioEmails('SOM UM DOIS', 'contato@somumdois.com.br', 'rubens@webloper.com.br', 'Novo produto inserido - Som Um Dois', $msg);
			$this->envioEmails('SOM UM DOIS', 'contato@somumdois.com.br', 'mauricio@reference.com.br', 'Novo produto inserido - Som Um Dois', $msg);

			$msg = 'Produto cadastrado com sucesso e em processo de análise.';
		} else $msg = 'Problemas ao cadastrar o Produto.';
		return $msg;
	}

	function inserirCadastro($p){
		if(
			!empty($p['CadNome']) && 
			!empty($p['CadCpf']) && 
			!empty($p['CadCep']) && 
			!empty($p['CadEndereco']) && 
			!empty($p['CadNumero']) && 
			!empty($p['CadCidade']) && 
			!empty($p['CadEstado']) && 
			!empty($p['CadTel']) && 
			!empty($p['CadCel']) && 
			!empty($p['CadEmail']) && 
			!empty($p['CadCEmail']) && 
			!empty($p['CadSenha']) && 
			!empty($p['CadCSenha']) &&
			$p['CadSenha'] == $p['CadCSenha'] && 
			$p['CadEmail'] == $p['CadCEmail'] && 
			!$_SESSION['login']['LogLogado']
		){
			$s  = 'INSERT INTO Cadastros VALUES(';
			$s .= '	NULL, ';
			$s .= '	"'.$p['CadRazao'].'", ';
			$s .= '	"'.$p['CadFantasia'].'", ';
			$s .= '	"'.$p['CadNome'].'", ';
			$s .= '	"'.$p['CadCnpj'].'", ';
			$s .= '	"'.$p['CadCpf'].'", ';
			$s .= '	"'.$p['CadRg'].'", ';
			$s .= '	"'.$p['CadCep'].'", ';
			$s .= '	"'.$p['CadEndereco'].'", ';
			$s .= '	"'.$p['CadNumero'].'", ';
			$s .= '	"'.$p['CadComplemento'].'", ';
			$s .= '	"'.$p['CadCidade'].'", ';
			$s .= '	"'.$p['CadEstado'].'", ';
			$s .= '	"'.$p['CadTel'].'", ';
			$s .= '	"'.$p['CadCel'].'", ';
			$s .= '	"'.$p['CadEmail'].'", ';
			$s .= '	"'.md5($p['CadSenha']).'", ';
			$s .= '	"0", ';
			$s .= '	"'.$_SERVER['REMOTE_ADDR'].'", ';
			$s .= '	NOW(), ';
			$s .= '	"A"';
			$s .= ');';
			$e = $this->sqlExecQuery($s);
			//$msg = 'Cadastro efetuado com sucesso!';

			$msg  = 'Olá, '.$p['CadNome'].'<br><br>';
			$msg .= 'Seu cadastro foi efetuado com sucesso na Som Um Dois!<br><br>';
			$msg .= 'Abaixo seus dados de acesso:<br>';
			$msg .= 'E-Mail: '.$p['CadEmail'].'<br>';
			$msg .= 'Senha: '.$p['CadSenha'].'<br>';
			$this->envioEmails('SOM UM DOIS', 'contato@somumdois.com.br', $p['CadEmail'], 'Bem-vindo a Som Um Dois', $msg);

			$p['LogEmail'] = $p['CadEmail'];
			$p['LogSenha'] = md5($p['CadSenha']);
			$this->login($p);

			header('Location: '.$_SESSION['path'].'minha-conta');
			exit;
		} else $msg = 'Problema nos campos do cadastro. Tente novamente, por favor.';
		return $msg;
	}

	function listProdutos($gets){
		$gets['filtros'] = $this->striptags($_GET);
		$wC = $wS = $wCl = $wM = $wV = '';
		if($gets[1]) $wC = 'AND CatPermalink = "'.$gets[1].'"';
		if($gets[2]) $wS = 'AND SubPermalink = "'.$gets[2].'"';
		if(isset($gets['filtros']['classificacao'])) $wCl = 'AND ProClassificacao = "'.$gets['filtros']['classificacao'].'"';
		if(isset($gets['filtros']['marca'])) $wM = 'AND ProMarca = (SELECT MarCodigo FROM Marcas WHERE MarPermalink = "'.$gets['filtros']['marca'].'")';
		if(isset($gets['filtros']['valor'])){
			$aValor = explode('x', $gets['filtros']['valor']);
			if(!empty($aValor[0]) && !empty($aValor[1])) $wV = 'AND ProPreco BETWEEN "'.$this->formatarDecimal($aValor[0]).'" AND "'.$this->formatarDecimal($aValor[1]).'"';
		}
		if(empty($gets['ordem'])) $gets['ordem'] = 'ProDtLiberacao DESC';
		if(isset($gets['filtros']['ordem'])){
			switch($gets['filtros']['ordem']){
				case 'recentes': $gets['ordem'] = 'ProDtLiberacao DESC'; break;
				case 'batato': $gets['ordem'] = 'ProPreco ASC'; break;
				case 'caro': $gets['ordem'] = 'ProPreco DESC'; break;
				default: $gets['ordem'] = 'ProDtLiberacao DESC';
			}
		}
		$s = 'SELECT * FROM Produtos, Imagens, Categorias, Subcategorias WHERE ProCodigo = ImaProduto AND ProSubcat = SubCodigo AND SubCategoria = CatCodigo AND ImaStatus = "A" AND ProStatus = "A" '.$wC.' '.$wS.' '.$wCl.' '.$wM.' '.$wV.' GROUP BY ImaProduto ORDER BY '.$gets['ordem'].';';
		$e = $this->sqlExecQuery($s);
		$t = mysqli_num_rows($e);
		if($t > 0){
			$h = '';
			while($r = $this->sqlFetch($e)){
				$classificacao = $this->sanitize_title_with_dashes($r['ProClassificacao']);
				$h .= '<a class="box-produto" href="'.$_SESSION['path'].$r['CatPermalink'].'/'.$r['SubPermalink'].'/'.$r['ProPermalink'].'">
					<img src="'.$_SESSION['path'].'imgs/transparente.png" style="background-image:url('.$_SESSION['path'].'imgs/produtos/'.$r['ImaImagem'].')" />
					<div class="content-produtos">
						<h3>'.mb_strimwidth($r['ProTitulo'], 0, 40, "...").'</h3>
						<span class="classificacao '.$classificacao.'">'.$r['ProClassificacao'].'</span>
						<label>R$ '.$this->formatoMoeda($r['ProPreco']).'</label>
					</div>
				</a>';	
			}
		} else $h = 'SEM PRODUTOS PARA EXIBIÇÃO';
		return $h;
	}

	function duvidas($limit){
		$s = 'SELECT * FROM Duvidas WHERE DuvStatus = "A" ORDER BY DuvOrdem ASC LIMIT '.$limit.';';
		$e = $this->sqlExecQuery($s);
		$t = mysqli_num_rows($e);
		if($t > 0){
			$h = '';
			while($r = $this->sqlFetch($e)){
				$h .= '<a class="duvidas">
					'.$r['DuvDuvida'].'
					<div class="como-funciona">
						<h3>'.$r['DuvDuvida'].'</h3>
						<p>'.nl2br($r['DuvResposta']).'</p>
					</div>
				</a>';
			}
		}
		return $h;
	}

	function carrossel($tipo, $limit, $g = ''){
		$w = $h = $ordem = '';
		switch($tipo){
			case 'adicionados recentemente': $ordem = 'ProDtLiberacao'; break;
			case 'mais vistos': $ordem = 'ProVisualizacoes'; break;
			case 'viu tambem': $ordem = 'RAND()'; $w = 'AND SubPermalink = "'.$g[2].'" AND CatPermalink = "'.$g[1].'" AND ProPermalink != "'.$g[3].'"'; break;
			case 'busca':
				if(!empty($g)){
					$s = 'INSERT INTO Buscas VALUES(NULL, "'.$g.'", "'.$_SERVER['REMOTE_ADDR'].'", NOW(), "A");';
					$e = $this->sqlExecQuery($s);
					$ordem .= 'ProTitulo';
					$w  = 'AND (';
					$w .= '	ProCodigo = "'.$g.'" OR ';
					$w .= '	ProTitulo LIKE "%'.$g.'%" OR ';
					$w .= '	ProTitulo LIKE "%'.$g.'%" OR ';
					$w .= '	ProMarca LIKE "%'.$g.'%" OR ';
					$w .= '	ProModelo LIKE "%'.$g.'%" OR ';
					$w .= '	ProAno LIKE "%'.$g.'%" OR ';
					$w .= '	ProAcabCor LIKE "%'.$g.'%" OR ';
					$w .= '	ProCondicao LIKE "%'.$g.'%" OR ';
					$w .= '	ProFabricado LIKE "%'.$g.'%" OR ';
					$w .= '	ProPreco LIKE "%'.$g.'%" OR ';
					$w .= '	ProPrecoMin LIKE "%'.$g.'%" OR ';
					$w .= '	ProDetalhes LIKE "%'.$g.'%" OR ';
					$w .= '	CatCategoria LIKE "%'.$g.'%" OR ';
					$w .= '	MarMarca LIKE "%'.$g.'%" OR ';
					$w .= '	SubSubcat LIKE "%'.$g.'%" ';
					$w .= ')';
				} else return '';
			break;
			default: $ordem = 'ProCodigo';
		}
		$s = 'SELECT * FROM Produtos, Imagens, Categorias, Subcategorias, Marcas WHERE ProCodigo = ImaProduto AND ProSubcat = SubCodigo AND SubCategoria = CatCodigo AND ImaStatus = "A" AND ProMarca = MarCodigo AND ProStatus = "A" '.$w.' GROUP BY ImaProduto ORDER BY '.$ordem.' DESC, ImaOrdem ASC LIMIT '.$limit.';';
		$e = $this->sqlExecQuery($s);
		$t = mysqli_num_rows($e);
		if($t > 0){
			$blocos=1;
			while($r = $this->sqlFetch($e)){
				if($blocos == 1){ $h .= '<div>'; }
				$classificacao = $this->sanitize_title_with_dashes($r['ProClassificacao']);
				$h .= '<a class="box-produto" href="'.$_SESSION['path'].$r['CatPermalink'].'/'.$r['SubPermalink'].'/'.$r['ProPermalink'].'">
						<img src="'.$_SESSION['path'].'imgs/transparente.png" style="background-image:url('.$_SESSION['path'].'imgs/produtos/'.$r['ImaImagem'].')" />
						<div class="content-produtos">
							<h3>'.mb_strimwidth($r['ProTitulo'], 0, 40, "...").'</h3>
							<span class="classificacao '.$classificacao.'">'.$r['ProClassificacao'].'</span>
							<label>R$ '.$this->formatoMoeda($r['ProPreco']).'</label>
						</div>
					</a>';
				if($blocos == 4){ $h .= '</div>'; $blocos=0; }
				$blocos++;
			}
			if($blocos !=0 ){ $h .= '</div>';}
		} else if($tipo != 'viu tambem') $h = 'SEM PRODUTOS PARA EXIBIÇÃO'; else $h = '';
		return $h;
	}

	function categorias($a){
		if(!isset($a['tipo'])) $a['tipo'] = '';
		$h = array('html'=>'');
		$w = '';
		if($a['tipo'] == 'select') $h['html'] = '<select class="campos-form" id="ProCategoria" name="ProCategoria" title="Categoria"><option selected="selected" value="">Selecione</option>';
		if($a['tipo'] == 'fixed'){
			$w = 'AND CatFixa = "sim"';
			$s = 'SELECT * FROM Produtos, Subcategorias, Categorias WHERE CatCodigo = SubCategoria AND SubCodigo = ProSubcat AND CatStatus = "A" AND SubStatus = "A" AND ProStatus = "A" GROUP BY CatCodigo ORDER BY CatOrdem;';
			$e = $this->sqlExecQuery($s);
			$t = mysqli_num_rows($e);
			$h = array('html'=>'');
			if($t > 0){
				$h['html'] .= '<li class="todas">';
				$h['html'] .= 'TODAS AS CATEGORIAS';
				$h['html'] .= '<ul class="submenu">';
				while($r = $this->sqlFetch($e)){
					$h['html'] .= '<li><a href="'.$_SESSION['path'].$r['CatPermalink'].'">'.$r['CatCategoria'].'</a></li>';
				}
				$h['html'] .= '</ul>';
				$h['html'] .= '</li>';
				$_SESSION['menu-todas'] = $h['html'];
			}
		}
		if($a['tipo'] == 'menu') $h['html'] = '<ul>';
		if(empty($a[1])) $a[1] = '';
		if(empty($a['pagina'])) $a['pagina'] = '';
		if(!empty($a['pagina'])) $w = 'AND CatPermalink = "'.$a[1].'"';
		$s = 'SELECT * FROM Produtos, Subcategorias, Categorias WHERE CatCodigo = SubCategoria AND SubCodigo = ProSubcat AND SubStatus = "A" AND ProStatus = "A" AND CatStatus = "A" '.$w.' GROUP BY CatCodigo ORDER BY CatOrdem;';
		if($a['tipo'] == 'select') $s = 'SELECT * FROM Categorias, Subcategorias WHERE CatCodigo = SubCategoria AND CatStatus = "A" AND SubStatus = "A" GROUP BY SubCategoria ORDER BY CatOrdem;';
		$e = $this->sqlExecQuery($s);
		$t = mysqli_num_rows($e);
		if($t > 0){
			while($r = $this->sqlFetch($e)){
				switch($a['tipo']){
					case 'select': $h['html'] .= '<option value="'.$r['CatCodigo'].'">'.$r['CatCategoria'].'</option>'; break;
					case 'list': $h['html'] .= '<a href="'.$_SESSION['path'].$r['CatPermalink'].'" class="links">&bull; '.$r['CatCategoria'].'</a>'; break;
					case 'fixed': $h['html'] .= '<li><a href="'.$_SESSION['path'].$r['CatPermalink'].'">'.$r['CatCategoria'].'</a></li>'; break;
					case 'menu': $h['html'] .= '<li><a href="'.$_SESSION['path'].$r['CatPermalink'].'">'.$r['CatCategoria'].'</a></li>'; break;
				}
				if($a['pagina']) $h['tit'] = $r['CatCategoria'];
			}
			if($a['tipo'] == 'select') $h['html'] .= '</select>';
			if($a['tipo'] == 'menu') $h['html'] .= '</ul>';
			if($a['pagina']) $h['ok'] = true;
		}
		return $h;
	}
	
	function subcategorias($a){
		if(!isset($a['tipo'])) $a['tipo'] = '';
		if($a['tipo'] == 'menu') $h['html'] = '<ul>';
		$w = 'AND CatPermalink = "'.$a[1].'" ';
		if(isset($a['pagina'])) $w .= 'AND SubPermalink = "'.$a[2].'"';
		$s = 'SELECT * FROM Produtos, Subcategorias, Categorias WHERE CatCodigo = SubCategoria AND SubCodigo = ProSubcat AND SubStatus = "A"'.$w.' GROUP BY SubCodigo ORDER BY SubOrdem;';
		$e = $this->sqlExecQuery($s);
		$t = mysqli_num_rows($e);
		if($t > 0){
			while($r = $this->sqlFetch($e)){
				switch($a['tipo']){
					case 'menu': $h['html'] .= '<li><span></span><a href="'.$_SESSION['path'].$r['CatPermalink'].'/'.$r['SubPermalink'].'">'.$r['SubSubcat'].'</a></li>'; break;
				}
				if(isset($a['pagina'])) $h['tit'] = $r['CatCategoria'].' &raquo; '.$r['SubSubcat'];
			}
			if($a['tipo'] == 'menu') $h['html'] .= '</ul>';
			if(isset($a['pagina'])) $h['ok'] = true;
		}
		return $h;
	}

	function linkFiltros($gets){
		$replace = $gets[1];
		if(!empty($gets[2])) $replace .= '/'.$gets[2];
		$link = str_replace('pg='.$replace, '', urldecode($_SERVER['QUERY_STRING']));
		return array('link'=>$link, 'replace'=>$replace);
	}

	function tratarLink($array){
		$array['link'] = str_replace('&&', '&', $array['link']);
		$t = strlen($array['link'])-1;
		if(empty($array['link'])) $array['link'] = '&';
		if($array['link']{strlen($array['link'])-1} != '&') $array['link'] .= '&';
		return $array['link'];
	}

	function filtroMarcas($gets){
		//$gets['filtros'] = $this->striptags($_GET);
		$w = $wCl = '';
		//if(isset($gets['filtros']['classificacao'])) $wCl = 'AND ProClassificacao = "'.$gets['filtros']['classificacao'].'"';
		if($gets[2]) $w = 'AND SubPermalink = "'.$gets[2].'"';
		$s = 'SELECT * FROM Categorias, Subcategorias, Produtos, Marcas WHERE CatCodigo = SubCategoria AND SubCodigo = ProSubcat AND ProMarca = MarCodigo AND MarStatus = "A" AND ProStatus = "A" AND CatPermalink = "'.$gets[1].'" '.$w.' '.$wCl.' GROUP BY MarCodigo ORDER BY MarOrdem;';
		$e = $this->sqlExecQuery($s);
		$t = mysqli_num_rows($e);
		if($t > 0){
			$array = $this->linkFiltros($gets);
			$h = '<ul class="filtros">';
			while($r = $this->sqlFetch($e)){
				$array['link'] = str_replace('marca='.$r['MarPermalink'], '', $array['link']);
				$h .= '<li><a href="'.$_SESSION['path'].'|link|marca='.$r['MarPermalink'].'">'.$r['MarMarca'].'</a></li>';
			}
			$h .= '</ul>';
			$array['link'] = $this->tratarLink($array);
			$h = str_replace('?&', '?', str_replace('|link|', $array['replace'].'?'.$array['link'], $h));
		}
		return $h;
	}

	function filtroCondicao($gets){
		//$gets['filtros'] = $this->striptags($_GET);
		$w = $wM = '';
		//if(isset($gets['filtros']['marca'])) $wM = 'AND ProMarca = (SELECT MarCodigo FROM Marcas WHERE MarPermalink = "'.$gets['filtros']['marca'].'")';
		if($gets[2]) $w = 'AND SubPermalink = "'.$gets[2].'"';
		$s = 'SELECT DISTINCT ProClassificacao FROM Categorias, Subcategorias, Produtos WHERE CatCodigo = SubCategoria AND SubCodigo = ProSubcat AND ProStatus = "A" AND CatPermalink = "'.$gets[1].'" '.$w.' '.$wM.' ORDER BY ProClassificacao;';
		$e = $this->sqlExecQuery($s);
		$t = mysqli_num_rows($e);
		if($t > 0){
			$array = $this->linkFiltros($gets);
			$h = '<ul class="filtros">';
			while($r = $this->sqlFetch($e)){
				$array['link'] = str_replace('classificacao='.$r['ProClassificacao'], '', $array['link']);
				$h .= '<li><a href="'.$_SESSION['path'].'|link|classificacao='.$r['ProClassificacao'].'">'.$r['ProClassificacao'].'</a></li>';
			}
			$h .= '</ul>';
			$array['link'] = $this->tratarLink($array);
			$h = str_replace('?&', '?', str_replace('|link|', $array['replace'].'?'.$array['link'], $h));
		}
		return $h;
	}

	function marcas($change){
		$s = 'SELECT * FROM Marcas WHERE MarStatus = "A" ORDER BY MarOrdem;';
		$e = $this->sqlExecQuery($s);
		$t = mysqli_num_rows($e);
		if($t > 0){
			$h = '<select class="campos-form" id="ProFabricante" name="ProFabricante" title="Fabricante/Marca:"><option selected="selected" value="">Selecione</option>';	
			$select = '';
			while($r = $this->sqlFetch($e)){
				if(!empty($change))
					if($change == $r['MarCodigo']) $select = 'selected="selected"'; else $select = '';
				$h .= '<option value="'.$r['MarCodigo'].'" '.$select.'>'.$r['MarMarca'].'</option>';
			}
			$h .= '</select>';	
		}
		return $h;
	}

	function selectSubcategorias($p){
		$s = 'SELECT * FROM Subcategorias WHERE SubStatus = "A" AND SubCategoria = "'.$p['ProCategoria'].'" ORDER BY SubOrdem;';
		$e = $this->sqlExecQuery($s);
		$a['html'] = '<option selected="selected" value="">Selecione</option>';
		while($r = $this->sqlFetch($e)){
			$a['html'] .= '<option value="'.$r['SubCodigo'].'">'.$r['SubSubcat'].'</option>';
		}
		$a['Submit'] = $p['Submit'];
		$a['retorno'] = 'sucesso';
		return $a;
	}

	function configPg($p){
		$s = "SELECT * FROM Paginas WHERE PagPermalink = '".$p."' AND PagStatus IN ('A', 'NM');";
		$e = $this->sqlExecQuery($s);
		$r = $this->sqlFetch($e);
		$arrayPagina['pagina'] = $r['PagPagina'];
		$arrayPagina['title'] = $r['PagTitle'];
		$arrayPagina['description'] = $r['PagDesc'];
		$arrayPagina['tags'] = $r['PagTags'];
		$arrayPagina['file'] = $r['PagFile'];
		$arrayPagina['permalink'] = $r['PagPermalink'];
		$arrayPagina['Paginas'] = $r;
		return $arrayPagina;
	}

	function paginas(){
		//if($_SERVER['HTTPS'] == 'off'){ header('Location: '.$_SESSION['path']); exit; }
		if($_SERVER['REQUEST_SCHEME'] != 'https'){ header('Location: '.$_SESSION['path']); exit; }

		if($_SERVER['HTTP_HOST'] != 'www.somumdois.com.br') header("location: https://www.somumdois.com.br/");
		$dir = dirname(dirname(__FILE__)).'/includes/';
		$_SESSION['url-anterior'] = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
		$gets = explode("/",str_replace(strrchr($_SERVER['REQUEST_URI'], "?"), "", $_SERVER['REQUEST_URI']));
		$gets = $this->striptags($gets);
		$post = $this->striptags($_POST);
		if($_SESSION['path'] == 'http://localhost/somumdois.webloper.com.br/site/'){
			foreach($gets as $k => $v){
				if(!isset($gets[$k+3])) $gets[$k+3] = '';
				$gets[$k+1] = $gets[$k+3];
			}
		}
		//if($_SESSION['path'] == 'http://www.safetycontrol.ind.br/novo/'){ foreach($gets as $k => $v){ $gets[$k] = $gets[$k+1]; } }
		//$this->pre($gets);
		$pg = $gets[1];
		if(empty($pg)) $pg = 'home';
		if(empty($_SESSION['produto']['ProProduto'])) $_SESSION['produto']['ProProduto'] = '';
		if(empty($_SESSION['login']['LogLogado'])) $_SESSION['login']['LogLogado'] = false;
		if(empty($_SESSION['login']['CadCodigo'])) $_SESSION['login']['CadCodigo'] = false;
		if(empty($arrayPagina['produto']['ProCadastro'])) $arrayPagina['produto']['ProCadastro'] = '';
		$arrayPagina = $this->configPg($pg);
		switch($pg){
			case 'vender': if(!$_SESSION['login']['LogLogado']){ header('Location: '.$_SESSION['path'].'cadastro'); exit; } break;
			case 'minha-conta':
				if(!$_SESSION['login']['LogLogado']){ header('Location: '.$_SESSION['path'].'cadastro'); exit; }
				else{
					if(empty($gets[2])) $gets[2] = 'editar-conta';
					$arrayPagina['internas'] = $this->configPg($gets[2]);
					$arrayPagina['internas']['permalink'] = $gets[2];
					$pg = $dir.$arrayPagina['internas']['file'];
					if(!is_file($pg)){ header('Location: '.$_SESSION['path'].'404'); exit; }
					else {
						switch($gets[2]){
							case 'editar': $arrayPagina['internas']['produto'] = $this->selectProduto($gets[3]); break;
						}
					}
					$arrayPagina['internas']['pagina'] = $pg;
				}
			break;
			case 'cadastro': if($_SESSION['login']['LogLogado']){ header('Location: '.$_SESSION['path'].'minha-conta'); exit; } break;
			case 'sair': unset($_SESSION['login']); header('Location: '.$_SESSION['path']); exit; break;
			default: 
				if(isset($dados['ok'])) $dados['ok'] = '';
				if(empty($arrayPagina['Paginas']['PagPermalink'])){
					if(!empty($gets[1]) && !empty($gets[2]) && !empty($gets[3])){
						$dados = $this->produto($gets);
						if($dados['ok']){ $pg = 'produto'; $arrayPagina['produto'] = $dados; }
					}else{
						if(!empty($gets[1]) && !empty($gets[2])){
							$gets['pagina'] = true;
							$dados = $this->subcategorias($gets);
							if($dados['ok']) $pg = 'categorias';
						}else{
							if(!empty($gets[1])){
								$gets['pagina'] = true;
								$dados = $this->categorias($gets);
								if($dados['ok']) $pg = 'categorias';
							}
						}
					}
					$arrayPagina = $this->configPg($pg);
					if($pg == 'produto' || $pg == 'categorias') $arrayPagina['produto'] = $dados;
					
				}
		}
		//$this->pre($arrayPagina);
		if($pg == 'home') $arrayPagina['class'] = ''; else $arrayPagina['class'] = ' class="internas"';
		$arrayPagina['name'] = 'SOM UM DOIS ';
		$arrayPagina['url'] = 'www.somumdois.com.br';
		$arrayPagina['image_src'] = 'logo-som-um-dois.png';
		$arrayPagina['canonical'] = $_SERVER['REQUEST_URI'];
		$arrayPagina['permalink'] = $arrayPagina['Paginas']['PagPermalink'];
		$pg = $dir.$arrayPagina['file'];
		if(!is_file($pg)){ header('Location: '.$_SESSION['path'].'404'); exit; }
		$arrayPagina['pagina'] = $pg;
		$arrayPagina['gets'] = $gets;
		return $arrayPagina;
	}

	function selectProduto($p){
		$s = 'SELECT * FROM Produtos, Categorias, Subcategorias WHERE ProSubcat = SubCodigo AND SubCategoria = CatCodigo AND ProPermalink = "'.$p.'" AND ProCadastro = "'.$_SESSION['login']['CadCodigo'].'";';
		$e = $this->sqlExecQuery($s);
		$t = mysqli_num_rows($e);
		if($t > 0){
			$r = $this->sqlFetch($e);
			$s = 'SELECT * FROM Imagens WHERE ImaProduto = "'.$r['ProCodigo'].'" AND ImaStatus = "A" ORDER BY ImaOrdem;';
			$e = $this->sqlExecQuery($s);
			while($rI = $this->sqlFetch($e)) $r['ProImagens'][] = $rI['ImaImagem'];
			return $r;
		} else { header('Location: '.$_SESSION['path'].'404'); exit; }
	}

	function ingressou($dt){
		$aDt = explode('-', $dt);
		$mes = $this->mes($aDt[1]);
		$dt = $mes.' de '.$aDt[0];
		return $dt;
	}

	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 produto($gets){
		if(!empty($gets[1]) && !empty($gets[3]) && !empty($gets[3])){
			$wC = 'AND CatPermalink = "'.$gets[1].'"';
			$wS = 'AND SubPermalink = "'.$gets[2].'"';
			$wP = 'AND ProPermalink = "'.$gets[3].'"';
			$s = 'SELECT * FROM Cadastros, Produtos, Subcategorias, Categorias, Marcas WHERE CadCodigo = ProCadastro AND ProSubcat = SubCodigo AND SubCategoria = CatCodigo AND ProMarca = MarCodigo AND ProStatus = "A" '.$wC.' '.$wS.' '.$wP.';';
			$e = $this->sqlExecQuery($s);
			$t = mysqli_num_rows($e);
			if($t > 0){
				$d = $this->sqlFetch($e);
				$d['permalink'] = '<a href="'.$_SESSION['path'].'">Home</a> &raquo; <a href="'.$_SESSION['path'].$d['CatPermalink'].'" class="hover">'.$d['CatCategoria'].'</a> &raquo; <a href="'.$_SESSION['path'].$d['CatPermalink'].'/'.$d['SubPermalink'].'">'.$d['SubSubcat'].'</a>';
				$d['ProPreco'] = $this->formatoMoeda($d['ProPreco']);
				$d['ingressou'] = $this->ingressou($d['CadDtCad']);
				if($d['CadAvaliacao'] > 0){ $d['avaliacao'] = $d['CadAvaliacao'].' Avaliações Positivas'; $d['estrelas'] = 18*$d['CadAvaliacao']; } else { $d['avaliacao'] = 'Sem Avaliação'; $d['estrelas'] = 0; }
				$d['classificacao'] = $this->sanitize_title_with_dashes($d['ProClassificacao']);
	
				$sI = 'SELECT * FROM Imagens WHERE ImaProduto = '.$d['ProCodigo'].' AND ImaStatus = "A" ORDER BY ImaOrdem;';
				$eI = $this->sqlExecQuery($sI);
				while($rI = $this->sqlFetch($eI)){
					if(empty($d['imagens'])) $d['imagens'] = '<img src="'.$_SESSION['path'].'imgs/transparente.png" class="principal" style="background-image:url('.$_SESSION['path'].'imgs/produtos/'.$rI['ImaImagem'].')" /><ul>';
					$d['imagens'] .= '<li><img src="'.$_SESSION['path'].'imgs/transparente.png" class="thumbs" style="background-image:url('.$_SESSION['path'].'imgs/produtos/'.$rI['ImaImagem'].'" /></li>';
				}
				$d['imagens'] .= '</ul>';
	
				$d['especificacoes']  = '<ul>';
				if($d['ProMarca']) $d['especificacoes'] .= '<li><b>Marca:</b> '.$d['MarMarca'].'</li>';
				if($d['ProModelo']) $d['especificacoes'] .= '<li><b>Modelo:</b> '.$d['ProModelo'].'</li>';
				if($d['ProAno']) $d['especificacoes'] .= '<li><b>Ano:</b> '.$d['ProAno'].'</li>';
				if($d['ProAcabCor']) $d['especificacoes'] .= '<li><b>Acabamento/Cor:</b> '.$d['ProAcabCor'].'</li>';
				if($d['ProFabricado']) $d['especificacoes'] .= '<li><b>Fabricado:</b> '.$d['ProFabricado'].'</li>';
				$sE = 'SELECT * FROM Especificacoes WHERE EspProduto = '.$d['ProCodigo'].' AND EspStatus = "A" ORDER BY EspOrdem;';
				$eE = $this->sqlExecQuery($sE);
				while($rE = $this->sqlFetch($eE)) $d['especificacoes'] .= '<li><b>'.$rE['EspEspecificacao'].':</b> '.$rE['EspDescricao'].'</li>';
				$d['especificacoes'] .= '</ul>';
				$d['ok'] = true;

				$s = 'UPDATE Produtos SET ProVisualizacoes = ProVisualizacoes+1 WHERE ProCodigo = "'.$d['ProCodigo'].'";';
				$e = $this->sqlExecQuery($s);
			} else $d['ok'] = false;
		} else $d['ok'] = false;
		return $d;
	}

	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 addBuscas($b){
		if(!empty($b)){
			$a = $this->localizacao($_SERVER['REMOTE_ADDR']);
			$s  = 'INSERT INTO Buscas VALUES(';
			$s .= ' NULL, ';
			$s .= ' "'.$b.'", ';
			$s .= ' "'.$a['geoplugin_city'].'", ';
			$s .= ' "'.$a['geoplugin_region'].'", ';
			$s .= ' "'.$a['geoplugin_areaCode'].'", ';
			$s .= ' "'.$a['geoplugin_dmaCode'].'", ';
			$s .= ' "'.$a['geoplugin_countryCode'].'", ';
			$s .= ' "'.$a['geoplugin_countryName'].'", ';
			$s .= ' "'.$a['geoplugin_continentCode'].'", ';
			$s .= ' "'.$a['geoplugin_latitude'].'", ';
			$s .= ' "'.$a['geoplugin_longitude'].'", ';
			$s .= ' "'.$a['geoplugin_regionCode'].'", ';
			$s .= ' "'.$a['geoplugin_regionName'].'", ';
			$s .= ' "'.$a['geoplugin_currencyCode'].'", ';
			$s .= ' "'.$a['geoplugin_currencySymbol'].'", ';
			$s .= ' "'.$a['geoplugin_currencyConverter'].'", ';
			$s .= '	NOW(), ';
			$s .= '	"A");';
			$this->sqlExecQuery($s);
		}
	}

	function banners(){
		$h = '';
		$s = "SELECT * FROM Banners WHERE BanStatus = 'A' ORDER BY BanOrdem ASC;";
		$e = $this->sqlExecQuery($s);
		while($r = $this->sqlFetch($e)){
			$h .= '<div>';
			if($r['BanLink']) $h .= '<a href="'.$r['BanLink'].'">';
			$h .= '<img title="'.$r['BanTitulo'].'" src="'.$_SESSION['path'].'imgs/transparente.png" style="background:url(\''.$_SESSION['path'].'imgs/banners/'.$r['BanImg'].'\') no-repeat center center;" />';
			if($r['BanLink']) $h .= '</a>';
			$h .= '</div>';
		}
		return $h;
	}

	function bannersProdutos(){
		$s  = 'SELECT * FROM Produtos, Subcategorias, Categorias, Imagens ';
		$s .= 'WHERE ';
		$s .= '	CatCodigo = SubCategoria AND ';
		$s .= '	SubCodigo = ProSubcat AND ';
		$s .= '	ProCodigo = ImaProduto AND ';
		$s .= '	ProDestaque = "D" AND ';
		$s .= '	ProStatus = "A" AND ';
		$s .= '	ImaStatus = "A" ';
		$s .= 'GROUP BY ImaProduto ';
		$s .= 'ORDER BY ProOrdem ASC, ImaOrdem ASC;';
		$e = $this->sqlExecQuery($s);
		$h = '';
		while($r = $this->sqlFetch($e)){
			$h .= '<div>';
			$h .= '	<a href="'.$_SESSION['path'].$r['CatPermalink'].'/'.$r['SubPermalink'].'/'.$r['ProPermalink'].'">';
			$h .= '		<h3>'.$r['ProTitulo'].'<small>'.$r['ProClassificacao'].'</small></h3>';
			$h .= '		<img title="'.$r['ProTitulo'].'" src="'.$_SESSION['path'].'imgs/transparente.png" style="background-image:url(\''.$_SESSION['path'].'imgs/produtos/'.$r['ImaImagem'].'\');" />';
			$h .= '		<label>R$'.$this->formatoMoeda($r['ProPreco']).'</label>';
			$h .= '	</a>';
			$h .= '</div>';
		}
		return $h;
	}

	function cadastro($p){
		$s  = "INSERT INTO Cadastros VALUES(";
		$s .= "	NULL,";
		$s .= "	'".$p['Cad']."',";
		$s .= "	NOW(),";
		$s .= "	'A'";
		$s .= ")";
		$e = $this->sqlExecQuery($s);
	}

	function login($p){
		$s = "SELECT * FROM Cadastros WHERE CadStatus = 'A' AND CadEmail = '".$p['LogEmail']."' AND CadSenha = '".$p['LogSenha']."' LIMIT 1;";
		$e = $this->sqlExecQuery($s);
		$t = mysqli_num_rows($e);
		if($t > 0){
			$r = $this->sqlFetch($e);
			$a['retorno'] = 'sucesso';
			$_SESSION['login'] = $r;
			$_SESSION['login']['LogLogado'] = true;
			$a['msg'] = '';
			$s = 'INSERT INTO Logins VALUES(NULL, "'.$_SESSION['login']['CadCodigo'].'", "'.$_SERVER['REMOTE_ADDR'].'", NOW(), "A");';
			$e = $this->sqlExecQuery($s);
		} else {
			unset($_SESSION['login']);
			$a['retorno'] = 'erro';
			$a['msg'] = 'Usuário ou senha inválidos!';
		}
		return $a;
	}

	function listarOfertas($gets){
		$s = 'SELECT * FROM RelProOfe, Produtos, Imagens, Cadastros WHERE RPOProduto = ProCodigo AND ProCodigo = ImaProduto AND RPOCadastro = CadCodigo AND RPOStatus = "A" AND ProCadastro = "'.$_SESSION['login']['CadCodigo'].'" AND ImaStatus = "A" AND ProPermalink = "'.$gets['3'].'" GROUP BY RPOCodigo ORDER BY RPODtCad ASC;';
		$e = $this->sqlExecQuery($s);
		$t = mysqli_num_rows($e);
		if($t > 0){
			$h = '<br>';
			while($r = $this->sqlFetch($e)){
				$_SESSION['mensagem']['ProCodigo'] = $r['ProCodigo'];
				$h .= '<div class="ofertas" id="ofe-'.$r['RPOCodigo'].'">';
				$h .= '	<div class="box-produto">';
				$h .= '		<img src="'.$_SESSION['path'].'imgs/transparente.png" style="background-image:url('.$_SESSION['path'].'imgs/produtos/'.$r['ImaImagem'].')">';
				$h .= '		<h3>'.$r['ProTitulo'].'</h3>';
				$h .= '		<label>R$ '.$this->formatoMoeda($r['ProPreco']).'</label>';
				$h .= '	</div>';
				$h .= '	<div class="detalhes-oferta">';
				$h .= '		<h4>Detalhes da Oferta</h4>';
				$h .= '		<p>Comprador: '.$r['CadNome'].'<br>';
				if(!empty($r['CadTel'])) $h .= ' Tel.: '.$r['CadTel'].' ';
				if(!empty($r['CadCel'])) $h .= '| '.$r['CadCel'].'</p>';
				$h .= '		<p>Mensagem:<br><strong>"'.$r['RPOMsg'].'"</strong></p>';
				$h .= '		<p>Valor:<br><strong>"R$'.$this->formatoMoeda($r['RPOOferta']).'"</strong></p>';
				$h .= '		<a class="bt-enviar bt-enviar-msg" id="prop-'.$r['CadCodigo'].'">Enviar Mensagem<br>ao Comprador</a>';
				$h .= '	</div>';
				$h .= '	<div class="clear"></div>';
				$h .= '</div>';
			}
		} else $h = '<h3>NENHUMA OFERTA REGISTRADA ATÉ O MOMENTO</h3>';
		return $h;
	}

	function listarMensagens($gets){
		$s = 'SELECT * FROM Produtos, Imagens, RelProMen WHERE ProCodigo = ImaProduto AND RPMProduto = ProCodigo AND ImaStatus = "A" AND ProStatus IN("A", "AL", "F") AND ProCadastro = "'.$_SESSION['login']['CadCodigo'].'" AND ProPermalink = "'.$gets['3'].'" AND RPMCadastro != "'.$_SESSION['login']['CadCodigo'].'" GROUP BY ProCodigo;';
		$e = $this->sqlExecQuery($s);
		$t = mysqli_num_rows($e);
		if($t > 0){
			while($r = $this->sqlFetch($e)){
				$_SESSION['mensagem']['ProCodigo'] = $r['ProCodigo'];
				$s = 'SELECT RPMProp, RPMCadastro, CadNome FROM RelProMen, Cadastros WHERE CadCodigo = RPMCadastro AND RPMProduto = "'.$r['ProCodigo'].'" AND RPMCadastro != "'.$_SESSION['login']['CadCodigo'].'" GROUP BY RPMCadastro;';
				$eC = $this->sqlExecQuery($s);
				$tC = mysqli_num_rows($eC);
				if($tC > 0){
					$h = '';
					while($rC = $this->sqlFetch($eC)){
						$s = 'SELECT * FROM RelProMen, Cadastros WHERE RPMCadastro = CadCodigo AND RPMProduto = "'.$r['ProCodigo'].'" AND RPMProp = '.$rC['RPMProp'].' AND RPMStatus = "A" ORDER BY RPMDtCad ASC;';
						$eM = $this->sqlExecQuery($s);
						$tM = mysqli_num_rows($eM);
						if($tM > 0){
							$h .= '<div class="mensagens" id="mgs-'.$rC['RPMProp'].'">
							<div class="box-produto">
								<img src="'.$_SESSION['path'].'imgs/transparente.png" style="background-image:url('.$_SESSION['path'].'imgs/produtos/'.$r['ImaImagem'].')">
								<h3>'.$r['ProTitulo'].'</h3>
								<label>R$ '.$this->formatoMoeda($r['ProPreco']).'</label>
							</div>
							<div class="box-mensagens">
								<h4>'.$rC['CadNome'].'</h4>
								<div class="txt-mensagens" id="txt-mensagens'.$rC['RPMProp'].'">';
							$data = '';
							$h .= $this->htmlMsg($eM);
							$h .= '	</div>
									<input type="text" class="campos-form obrigatorio mensagem" id="MenTxt'.$rC['RPMProp'].'" name="MenTxt" title="Mensagem" placeholder="Digite aqui sua resposta"/>
									<input type="button" id="BtEnviarMsg'.$rC['RPMProp'].'" name="BtEnviarMsg" class="BtEnviarMsg" value=" > " />
									<div class="clear"></div>
								</div>
								<div class="clear"></div>
							</div>';
							$h .= "<script>$(document).ready(function(){ $('#txt-mensagens".$rC['RPMProp']."').animate({scrollTop:$('#txt-mensagens".$rC['RPMProp']."')[0].scrollHeight}, 10); });</script>";
							$h .= '<script>$(document).ready(function(){atualizaMsg('.$rC['RPMProp'].');});</script>';
						}
					}
				}
			}
		}
		print $h;
	}

	function listarMensagensOferta($gets){
		$s = 'SELECT * FROM Produtos, Imagens, Cadastros WHERE CadCodigo = ProCadastro AND ProCodigo = ImaProduto AND ImaStatus = "A" AND ProPermalink = "'.$gets[3].'" AND ProStatus = "A" GROUP BY ImaProduto ORDER BY ImaOrdem ASC;';
		$e = $this->sqlExecQuery($s);
		$r = $this->sqlFetch($e);
		$_SESSION['mensagem']['ProCodigo'] = $r['ProCodigo'];
		$h = '<div class="mensagens" id="mgs-'.$r['ProCodigo'].'">
		<div class="box-produto">
			<img src="'.$_SESSION['path'].'imgs/transparente.png" style="background-image:url('.$_SESSION['path'].'imgs/produtos/'.$r['ImaImagem'].')">
			<h3>'.$r['ProTitulo'].'</h3>
			<label>R$ '.$this->formatoMoeda($r['ProPreco']).'</label>
		</div>
		<div class="box-mensagens">
			<h4>'.$r['CadNome'].'</h4>
			<div class="txt-mensagens" id="txt-mensagens'.$_SESSION['login']['CadCodigo'].'">';
		$data = '';
		$s = 'SELECT * FROM RelProMen, Cadastros WHERE RPMCadastro = CadCodigo AND RPMProduto = "'.$r['ProCodigo'].'" AND RPMProp = '.$_SESSION['login']['CadCodigo'].' AND RPMStatus = "A" ORDER BY RPMDtCad ASC;';
		$eM = $this->sqlExecQuery($s);
		$h .= $this->htmlMsg($eM);
		$h .= '	</div>
				<input type="text" class="campos-form obrigatorio mensagem" id="MenTxt'.$_SESSION['login']['CadCodigo'].'" name="MenTxt" title="Mensagem" placeholder="Digite aqui sua resposta"/>
				<input type="button" id="BtEnviarMsg'.$_SESSION['login']['CadCodigo'].'" name="BtEnviarMsg" class="BtEnviarMsg" value=" > " />
				<div class="clear"></div>
			</div>
			<div class="clear"></div>
		</div>';
		$h .= "<script>$(document).ready(function(){ $('#txt-mensagens".$_SESSION['login']['CadCodigo']."').animate({scrollTop:$('#txt-mensagens".$_SESSION['login']['CadCodigo']."')[0].scrollHeight}, 10); });</script>";
		$h .= '<script>$(document).ready(function(){atualizaMsg('.$_SESSION['login']['CadCodigo'].');});</script>';
		print $h;
	}

	function atualizaMsg($prop){
		$s = 'SELECT * FROM RelProMen, Cadastros WHERE RPMCadastro = CadCodigo AND RPMProduto = "'.$_SESSION['mensagem']['ProCodigo'].'" AND RPMProp = '.$prop.' AND RPMStatus = "A" ORDER BY RPMDtCad ASC;';
		$eM = $this->sqlExecQuery($s);
		$h['h'] = $this->htmlMsg($eM);
		$h['retorno'] = 'sucesso';
		$h['prop'] = $prop;
		return $h;
	}

	function htmlMsg($eM){
		$data = $h = '';
		while($rM = $this->sqlFetch($eM)){
			$aDt = explode('-', $rM['RPMDtCad']);
			$dia = explode(' ', $aDt[2]);
			$dt = $dia[0].' de '.$this->mes($aDt[1]).' de '.$aDt[0];
			if($dt != $data){ $data = $dt; $h .= '<small>'.$data.'</small>'; }
			if($rM['RPMCadastro'] == $_SESSION['login']['CadCodigo']) $class = 'dir'; else $class = 'esq';
			$h .= '<p><label class="'.$class.'">'.$rM['RPMMsg'].'</label></p><div class="clear"></div>';
		}
		return $h;
	}

	function mensagensDiretas(){
		$s  = 'SELECT * ';
		$s .= 'FROM RelProMen, Produtos, Imagens, Cadastros ';
		$s .= 'WHERE ';
		$s .= '	RPMProduto = ProCodigo AND ';
		$s .= '	ProCodigo = ImaProduto AND ';
		$s .= '	ProCadastro = CadCodigo AND ';
		$s .= '	RPMStatus = "A" AND ';
		$s .= '	ImaStatus = "A" AND ';
		$s .= '	RPMProp = "'.$_SESSION['login']['CadCodigo'].'" ';
		$s .= 'GROUP BY ProCodigo ';
		$s .= 'ORDER BY RPMDtCad ASC;';
		$e = $this->sqlExecQuery($s);
		$t = mysqli_num_rows($e);
		if($t > 0){
			$h = '';
			while($r = $this->sqlFetch($e)){
				$_SESSION['mensagem']['ProCodigo'] = $r['ProCodigo'];
				$h .= '<div class="ofertas" id="ofe-'.$r['RPMCodigo'].'">';
				$h .= '	<div class="box-produto">';
				$h .= '		<img src="'.$_SESSION['path'].'imgs/transparente.png" style="background-image:url('.$_SESSION['path'].'imgs/produtos/'.$r['ImaImagem'].')">';
				$h .= '		<h3>'.$r['ProTitulo'].'</h3>';
				$h .= '		<label>R$ '.$this->formatoMoeda($r['ProPreco']).'</label>';
				$h .= '	</div>';
				$h .= '	<div class="detalhes-oferta">';
				$h .= '		<h4>Detalhes da Oferta</h4>';
				$h .= '		<p>Vendedor: '.$r['CadNome'].'<br>';
				if(!empty($r['CadTel'])) $h .= ' Tel.: '.$r['CadTel'].' ';
				if(!empty($r['CadCel'])) $h .= '| '.$r['CadCel'].'</p>';
				//$h .= '		<p>Mensagem<br><strong>"'.$r['RPMMsg'].'"</strong></p>';
				//$h .= '		<p>Valor:<br><strong>"R$'.$this->formatoMoeda($r['RPMOferta']).'"</strong></p>';
				$h .= '		<a class="bt-enviar bt-enviar-msg-oferta" id="prop-'.$r['CadCodigo'].'" href="'.$_SESSION['path'].'minha-conta/mensagens-oferta/'.$r['ProPermalink'].'">Enviar Nova Mensagem<br>ao Vendedor</a>';
				$h .= '	</div>';
				$h .= '	<div class="clear"></div>';
				$h .= '</div>';
			}
		}// else $h = '<h3>NENHUMA OFERTA REGISTRADA ATÉ O MOMENTO</h3>';
		return $h;
	}

	function listarCompras(){
		$s  = 'SELECT * ';
		$s .= 'FROM RelProOfe, Produtos, Imagens, Cadastros ';
		$s .= 'WHERE ';
		$s .= '	RPOProduto = ProCodigo AND ';
		$s .= '	ProCodigo = ImaProduto AND ';
		$s .= '	ProCadastro = CadCodigo AND ';
		$s .= '	RPOStatus = "A" AND ';
		$s .= '	ImaStatus = "A" AND ';
		$s .= '	RPOCadastro = "'.$_SESSION['login']['CadCodigo'].'" ';
		$s .= 'GROUP BY RPOCodigo ';
		$s .= 'ORDER BY RPODtCad ASC;';
		$e = $this->sqlExecQuery($s);
		$t = mysqli_num_rows($e);
		if($t > 0){
			$h = '';
			while($r = $this->sqlFetch($e)){
				$_SESSION['mensagem']['ProCodigo'] = $r['ProCodigo'];
				$h .= '<div class="ofertas" id="ofe-'.$r['RPOCodigo'].'">';
				$h .= '	<div class="box-produto">';
				$h .= '		<img src="'.$_SESSION['path'].'imgs/transparente.png" style="background-image:url('.$_SESSION['path'].'imgs/produtos/'.$r['ImaImagem'].')">';
				$h .= '		<h3>'.$r['ProTitulo'].'</h3>';
				$h .= '		<label>R$ '.$this->formatoMoeda($r['ProPreco']).'</label>';
				$h .= '	</div>';
				$h .= '	<div class="detalhes-oferta">';
				$h .= '		<h4>Detalhes da Oferta</h4>';
				$h .= '		<p>Vendedor: '.$r['CadNome'].'<br>';
				if(!empty($r['CadTel'])) $h .= ' Tel.: '.$r['CadTel'].' ';
				if(!empty($r['CadCel'])) $h .= '| '.$r['CadCel'].'</p>';
				$h .= '		<p>Mensagem<br><strong>"'.$r['RPOMsg'].'"</strong></p>';
				$h .= '		<p>Valor:<br><strong>"R$'.$this->formatoMoeda($r['RPOOferta']).'"</strong></p>';
				$h .= '		<a class="bt-enviar bt-enviar-msg-oferta" id="prop-'.$r['CadCodigo'].'" href="'.$_SESSION['path'].'minha-conta/mensagens-oferta/'.$r['ProPermalink'].'">Enviar Nova Mensagem<br>ao Vendedor</a>';
				$h .= '	</div>';
				$h .= '	<div class="clear"></div>';
				$h .= '</div>';
			}
		} else $h = '<h3>NENHUMA OFERTA REGISTRADA ATÉ O MOMENTO</h3>';
		return $h;
	}

	function listarVendas(){
		$s = 'SELECT * FROM Produtos, Imagens WHERE ProCodigo = ImaProduto AND ImaStatus = "A" AND ProStatus IN("A", "AL", "F") AND ProCadastro = "'.$_SESSION['login']['CadCodigo'].'" GROUP BY ImaProduto;';
		$e = $this->sqlExecQuery($s);
		$t = mysqli_num_rows($e);
		if($t > 0){
			$h = '';
			while($r = $this->sqlFetch($e)){
				/*$h .= '<a class="box-produto" href="'.$_SESSION['path'].$r['CatPermalink'].'/'.$r['SubPermalink'].'/'.$r['ProPermalink'].'">
					<img src="'.$_SESSION['path'].'imgs/transparente.png" style="background-image:url('.$_SESSION['path'].'imgs/produtos/'.$r['ImaImagem'].')" />
					<div class="content-produtos">
						<h3>'.$r['ProTitulo'].'</h3>
						<span class="classificacao excelente">'.$r['ProClassificacao'].'</span>
						<label>R$ '.$this->formatoMoeda($r['ProPreco']).'</label>
					</div>
				</a>';*/
				$h .= '<table cellpadding="0" cellspacing="0" class="contorno">';
				$h .= '	<tr>';
				$h .= '		<td align="center" class="img-prod"><img src="'.$_SESSION['path'].'imgs/transparente.png" style="background-image:url('.$_SESSION['path'].'imgs/produtos/'.$r['ImaImagem'].'); width:115px; background-size:100%; background-repeat: no-repeat; background-position: center center;" /></td>';
				$h .= '		<td>';
				$h .= '			<h3>'.$r['ProTitulo'].'</h3>';
				$h .= '			<label>R$ '.$this->formatoMoeda($r['ProPreco']).'</label>';
				switch($r['ProStatus']){
					case 'A': $r['ProStatus'] = 'Ativo'; break;
					case 'AL': $r['ProStatus'] = 'Aguardando Liberação'; break;
					case 'E': $r['ProStatus'] = 'Excluido'; break;
					case 'F': $r['ProStatus'] = 'Finalizado'; break;
				}
				$classificacao = $this->sanitize_title_with_dashes($r['ProClassificacao']);
				$h .= '			<span class="classificacao"><small>'.$r['ProStatus'].'</small></span>';
				$h .= '			<span class="classificacao '.$classificacao.'">'.$r['ProClassificacao'].'</span>';
				$h .= '			<a href="'.$_SESSION['path'].'minha-conta/editar/'.$r['ProPermalink'].'" class="bt-vendas">EDITAR</a>';
				$h .= '			<a class="bt-vendas bt-excluir" id="'.$r['ProPermalink'].'">EXCLUIR</a>';
				$h .= '			<a href="'.$_SESSION['path'].'minha-conta/mensagens/'.$r['ProPermalink'].'" class="bt-vendas">MENSAGENS</a>';
				$h .= '			<a href="'.$_SESSION['path'].'minha-conta/ofertas/'.$r['ProPermalink'].'" class="bt-vendas">OFERTAS</a>';
				$h .= '		</td>';
				$h .= '	</tr>';
				$h .= '</table>';
			}
		} else $h = 'SEM PRODUTOS PARA EXIBIÇÃO';
		return $h;
	}

	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');

		/*if(PHP_OS == "Linux") $quebra_linha = "\n";
		elseif(PHP_OS == "WINNT") $quebra_linha = "\r\n";
		else die("Este script não esta preparado para funcionar com o sistema operacional de seu servidor");
		$emailsender = 'contato@carsystem.com';
		//$headers  = "MIME-Version: 1.1".$quebra_linha;
		//$headers .= "Content-type: text/html; charset=iso-8859-1".$quebra_linha;
		$headers .= "Content-type: text/html; charset=utf-8".$quebra_linha;
		$headers .= "From: ".$emailsender."".$quebra_linha;
		$headers .= "Return-Path: ".$emailsender."".$quebra_linha;
		//$headers .= "X-Priority: 1".$quebra_linha;
		$headers .= "Reply-To: ".$emailRemetente."".$quebra_linha;
		if(!@mail($emailDestino, $assunto, $msg, $headers, "-r".$emailsender)){ // Se for Postfix
	    	@mail($emailDestino, $assunto, $msg, $headers); //Se "não for Postfix"
		}*/

		//include_once('phpmailer/class.phpmailer.php');
		/*$mail= new PHPMailer;
		$mail->IsSMTP();
		$mail->SMTPDebug = false;
		$mail->SMTPAuth = true;
		$mail->SMTPSecure = 'ssl';
		$mail->Host = 'smtp.gmail.com';
		$mail->Port = 465; 
		$mail->Username = 'site@carsystem.com';
		$mail->Password = 'Swe6709vel';
		$mail->SetFrom('site@carsystem.com', 'CARSYSTEM');
		if(is_array($emailDestino)){ foreach($emailDestino as $k => $v){ if(!empty($v)) $mail->addAddress($v, $v); } }
		else $mail->addAddress($emailDestino, $emailDestino);
		$mail->Subject = $assunto;
		$mail->msgHTML($msg);
		if($mail->send()) $ok = true;
		else $ok = false;
		$mail->ClearAllRecipients();  
		$mail->ClearAttachments();*/
		
		/*include_once('PHPMailer/src/Exception.php');
		require('PHPMailer/src/PHPMailer.php');
		require('PHPMailer/src/SMTP.php');
		
		$mail= new PHPMailer;
		$mail->IsSMTP(); //Ativar SMTP
		$mail->SMTPDebug = 4; //Debugar: 1 = erros e mensagens, 2 = mensagens apenas
		$mail->SMTPAuth = true; //Autenticação ativada
		$mail->SMTPSecure = 'ssl'; //SSL REQUERIDO pelo GMail
		$mail->Host = 'smtp.gmail.com'; //SMTP utilizado
		$mail->Port = 465; 
		$mail->Username = 'site@carsystem.com';
		$mail->Password = 'Swe6709vel';
		$mail->SetFrom('site@carsystem.com', 'site@carsystem.com');
		if(is_array($emailDestino)){ foreach($emailDestino as $k => $v){ if(!empty($v)) $mail->addAddress($v, $v); } }
		else $mail->addAddress($emailDestino, $emailDestino);
		$mail->addAddress('lldelgado@gmail.com','lldelgado@gmail.com');
		$mail->Subject = $assunto;
		$mail->msgHTML($msg);
		
		$mail->SMTPOptions = array(
			'ssl' => array(
				'verify_peer' => false,
				'verify_peer_name' => false,
				'allow_self_signed' => true
			)
		);
		$mail->send();
		
		/*if($mail->send()){
			print '<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>---------------------------------FOI---------------------------------<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>';
			$ok = true;
		}else{
			print '<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>---------------------------------NÃO FOI---------------------------------<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>';
			$ok = false;
		} 
		
		/*$mail->ClearAllRecipients();  
		$mail->ClearAttachments();*/
	}

	function pre($obj){ print '<pre>'; print_r($obj); print '</pre>'; }

	function urlAnterior(){
		if(!$_SESSION['urlAnterior']){
			$_SESSION['urlAnterior'] = true;
			$_SESSION['HTTP_REFERER'] = $_SERVER['HTTP_REFERER'];
			$a = $this->localizacao($_SERVER['REMOTE_ADDR']);
			$s  = 'INSERT INTO Urls VALUES(';
			$s .= '	NULL, ';
			$s .= '	"'.$_SERVER['HTTP_REFERER'].'", ';
			$s .= ' "'.$a['geoplugin_city'].'", ';
			$s .= ' "'.$a['geoplugin_region'].'", ';
			$s .= ' "'.$a['geoplugin_areaCode'].'", ';
			$s .= ' "'.$a['geoplugin_dmaCode'].'", ';
			$s .= ' "'.$a['geoplugin_countryCode'].'", ';
			$s .= ' "'.$a['geoplugin_countryName'].'", ';
			$s .= ' "'.$a['geoplugin_continentCode'].'", ';
			$s .= ' "'.$a['geoplugin_latitude'].'", ';
			$s .= ' "'.$a['geoplugin_longitude'].'", ';
			$s .= ' "'.$a['geoplugin_regionCode'].'", ';
			$s .= ' "'.$a['geoplugin_regionName'].'", ';
			$s .= ' "'.$a['geoplugin_currencyCode'].'", ';
			$s .= ' "'.$a['geoplugin_currencySymbol'].'", ';
			$s .= ' "'.$a['geoplugin_currencyConverter'].'", ';
			$s .= '	NOW(), ';
			$s .= '	"A");';
			$this->sqlExecQuery($s);
		}
	}

	function formatoMoeda($valor){
		$valor = str_replace("%", ",", str_replace(",", ".", str_replace(".", "%", number_format($valor, 2))));
		return $valor;
	}

	function gerar_senha($tamanho, $maiuscula, $minuscula, $numeros, $codigos){
		$maius = "ABCDEFGHIJKLMNOPQRSTUWXYZ";
		$minus = "abcdefghijklmnopqrstuwxyz";
		$numer = "0123456789";
		//$codig = '!@#$%&*()-+.,;?{[}]^><:|';
		$base = '';
		$base .= ($maiuscula) ? $maius : '';
		$base .= ($minuscula) ? $minus : '';
		$base .= ($numeros) ? $numer : '';
		//$base .= ($codigos) ? $codig : '';
	    srand((float) microtime() * 10000000);
    	$senha = '';
	    for($i=0;$i<$tamanho;$i++){ $senha .= substr($base, rand(0, strlen($base)-1), 1); }
	    return $senha;
	}
}
?>