class utilizador {
var $connClass;
var $resultClass;
var $user_codigo;
var $user_email;
var $user_password;
var $user_nome;
var $user_morada;
var $user_codigopostal;
var $user_localidade;
var $user_codigopais;
var $user_telefone;
var $user_fax;
var $user_telemovel;
var $user_genero;
var $user_profissao;
var $user_codigotipocontacto;
var $user_publicidade;
var $user_numerocontribuinte;
var $user_temas;
var $user_temasselecionados;
var $user_return_msg_erro;
/*
Funcao:
Descricao:
*/
function utilizador() {
$this->user_codigo = "";
$this->user_email = "";
$this->user_password = "";
$this->user_nome = "";
$this->user_morada = "";
$this->user_codigopostal = "";
$this->user_localidade = "";
$this->user_codigopais = "PT";
$this->user_telefone = "";
$this->user_fax = "";
$this->user_telemovel = "";
$this->user_genero = 1;
$this->user_profissao = "";
$this->user_codigotipocontacto = 4;
$this->user_publicidade = 1;
$this->user_numerocontribuinte = "";
$this->user_temas = "";
$this->user_temasselecionados = "";
$this->user_return_msg_erro = "";
}
/*
Funcao:
Descricao:
*/
function apaga_variaveis() {
$this->user_codigo = "";
$this->user_email = "";
$this->user_password = "";
$this->user_nome = "";
$this->user_morada = "";
$this->user_codigopostal = "";
$this->user_localidade = "";
$this->user_codigopais = "PT";
$this->user_telefone = "";
$this->user_fax = "";
$this->user_telemovel = "";
$this->user_genero = 1;
$this->user_profissao = "";
$this->user_codigotipocontacto = 4;
$this->user_publicidade = 1;
$this->user_numerocontribuinte = "";
$this->user_temas = "";
$this->user_temasselecionados = "";
$this->user_return_msg_erro = "";
}
/*
Funcao:
Descricao:
*/
function busca_user($pTipoBusca, $pDadosBusca) {
$this->apaga_variaveis();
if ($pDadosBusca == "0" OR empty($pDadosBusca)) {
return false;
exit(0);
}
$this->connClass = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATA);
if ($this->connClass->connect_error) { header("Location: /siteemmanutencao"); }
$pTipoBusca = mysqli_real_escape_string($this->connClass, $pTipoBusca);
$pDadosBusca = mysqli_real_escape_string($this->connClass, $pDadosBusca);
$sql = "SELECT SQL_NO_CACHE CodigoCliente, NomeCliente, Email, Password, Morada, CodigoPostal, Localidade, CodigoPais, Telefone, Fax, Telemovel, Genero, CodigoTipoContacto, Publicidade, NumeroContribuinte, Profissao FROM cliente WHERE cliente." . $pTipoBusca . " = '" . $pDadosBusca . "'";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows == 0) {
$this->resultClass->close();
$this->connClass->close();
return false;
exit(0);
}
$row = $this->resultClass->fetch_assoc();
$this->user_codigo = utf8_encode($row("CodigoCliente"));
$this->user_nome = utf8_encode($row("NomeCliente"));
$this->user_email = utf8_encode($row("Email"));
$this->user_password = utf8_encode($row("Password"));
$this->user_morada = utf8_encode($row("Morada"));
$this->user_codigopostal = utf8_encode($row("CodigoPostal"));
$this->user_localidade = utf8_encode($row("Localidade"));
$this->user_codigopais = utf8_encode($row("CodigoPais"));
$this->user_telefone = utf8_encode($row("Telefone"));
$this->user_fax = utf8_encode($row("Fax"));
$this->user_telemovel = utf8_encode($row("Telemovel"));
$this->user_genero = utf8_encode($row("Genero"));
$this->user_profissao = utf8_encode($row("Profissao"));
$this->user_codigotipocontacto = utf8_encode($row("CodigoTipoContacto"));
$this->user_publicidade = utf8_encode($row("Publicidade"));
$this->user_numerocontribuinte = utf8_encode($row("NumeroContribuinte"));
$this->resultClass->close();
$this->connClass->close();
return true;
}
/*
Funcao:
Descricao:
*/
function write_combo_paises() {
$this->connClass = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATA);
if ($this->connClass->connect_error) { header("Location: /siteemmanutencao"); }
$sql = "SELECT CodigoPais, NomePais FROM paises ORDER BY NomePais";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows > 0) {
while ($row = $this->resultClass->fetch_assoc()) {
if ($row["CodigoPais"] == $this->user_codigopais) {
echo "";
} else {
echo "";
}
}
}
$this->resultClass->close();
$this->connClass->close();
}
/*
Funcao:
Descricao:
*/
function write_combo_tipocontacto() {
$this->connClass = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATA);
if ($this->connClass->connect_error) { header("Location: /siteemmanutencao"); }
$sql = "SELECT CodigoTipoContacto, NomeTipoContacto FROM tipo_contactos ORDER BY NomeTipoContacto";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows > 0) {
while ($row = $this->resultClass->fetch_assoc()) {
if ($row["CodigoTipoContacto"] == $this->user_codigotipocontacto) {
echo "";
}else{
echo "";
}
}
}
$this->resultClass->close();
$this->connClass->close();
}
/*
Funcao:
Descricao:
*/
function checkbox_temas() {
$i = 1;
$tmp_temas_selecionados_cliente[] = "";
$this->connClass = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATA);
if ($this->connClass->connect_error) { header("Location: /siteemmanutencao"); }
// Le temas selecionados pelo cliente quando esta login
$sql = "SELECT CodigoTema FROM cliente_temas WHERE CodigoCliente = '" . $this->user_codigo . "'";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows > 0) {
while ($row = $this->resultClass->fetch_assoc()) {
$tmp_temas_selecionados_cliente[$i] = $row("CodigoTema");
$i++;
}
}
$sql = "SELECT CodigoTema, NomeTema FROM temas WHERE CodigoTema <> '' ORDER BY NomeTema";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows > 0) {
while ($row = $this->resultClass->fetch_assoc()) {
echo "
";
echo "";
echo "
";
}
}
$this->resultClass->close();
$this->connClass->close();
}
/*
Funcao:
Descricao:
*/
function radio_genero() {
if($this->user_genero ==1) {
echo "";
echo "";
echo "";
}
if($this->user_genero ==2) {
echo "";
echo "";
echo "";
}
if($this->user_genero ==3) {
echo "";
echo "";
echo "";
}
}
/*
Funcao:
Descricao:
*/
function checkbox_publicidade() {
echo "";
echo "";
echo "
";
}
/*
Funcao:
Descricao:
*/
function incluir_registo(&$erro) {
$tmpcodigoactivacao = md5(date("YmdHis"));
$this->connClass = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATA);
if ($this->connClass->connect_error) { header("Location: /siteemmanutencao"); }
$sql = "SELECT CodigoCliente FROM cliente WHERE Email = '" . $this->user_email . "'";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows > 0) {
$erro=1;
$this->resultClass->close();
$this->connClass->close();
return false;
exit(0);
}
// Incrementa um ao ultimo codigo cliente
$sql = "LOCK TABLES sistema WRITE";
$this->connClass->query($sql);
$sql = "UPDATE sistema SET UltimoCliente = UltimoCliente + 1";
$this->connClass->query($sql);
$sql = "SELECT UltimoCliente FROM sistema";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows > 0) {
$row = $this->resultClass->fetch_assoc();
$this->user_codigo = $row("UltimoCliente");
}
$sql = "UNLOCK TABLES";
$this->connClass->query($sql);
// Grava para a basedados
$sql = "INSERT INTO cliente (CodigoCliente, NomeCliente, Morada, CodigoPostal, Localidade, Telefone, Fax, Email, NumeroContribuinte, Password, Telemovel, CodigoTipoContacto, CodigoPais, Genero, Profissao, Publicidade, CodigoLocal, CodigoActivacao, DataInscricao, DataActual, CodigoUtilizador) VALUES ('" . $this->user_codigo . "', '" . $this->user_nome . "', '" . $this->user_morada . "', '" . $this->user_codigopostal . "', '" . $this->user_localidade . "', '" . $this->user_telefone . "', '" . $this->user_fax . "', lcase('" . $this->user_email . "'), '" . $this->user_numerocontribuinte . "', '" . $this->user_password . "', '" . $this->user_telemovel . "', '" . $this->user_codigotipocontacto . "', '" . $this->user_codigopais . "', '" . $this->user_genero . "', '" . $this->user_profissao . "', '" . $this->user_publicidade . "', '" . CODIGO_LOCAL . "', '" . $tmpcodigoactivacao . "', now(), now(), '" . ID_UTILIZADOR . "')";
$this->connClass->query($sql);
$this->resultClass->close();
$this->connClass->close();
$this->incluir_registo_temas();
// Envia o email
$myname = "LIVAPOLO";
$myemail = "info@livapolo.pt";
$contactname = $this->user_email;
$contactemail = $this->user_email;
include("./classes/phpmailer/class.phpmailer.php");
$mail = new PHPMailer;
$mail->From = "$myemail";
$mail->FromName = "$myname";
$mail->Host = EMAIL_SERVER;
$mail->Mailer = "smtp";
$body = "Estimado Cliente,
";
$body .= "Seja bem-vindo à nossa loja online.
";
$body .= "O seu registo foi efetuado, com os seguintes dados:
";
$body .= "Email: " . $this->user_email ."
";
$body .= "Password: " . $this->user_password ."
";
$body .= "Agradecemos validação, através do seguinte link:
";
$body .= "" . URL_SITE . "registo/activar/" . $tmpcodigoactivacao . "
";
$body .= "Obrigado pelo seu contacto.
";
$body .= "Atentamente,
";
$body .= "LIVAPOLO
";
$body .= "www.livapolo.pt
";
$text_body = "Estimado Cliente, \n\n";
$text_body .= "Seja bem-vindo � nossa loja online. \n\n";
$text_body .= "O seu registo foi efetuado, com os seguintes dados: \n\n";
$text_body .= "Email:" . $this->user_email ." \n";
$text_body .= "Password:" . $this->user_password ."\n\n";
$text_body .= "Agradecemos valida��o, atrav�s do seguinte link: \n\n";
$text_body .= URL_SITE . "newsletter/activar/" . $tmpcodigoactivacao . " \n\n";
$text_body .= "Obrigado pelo seu contacto. \n\n";
$text_body .= "Atentamente, \n";
$text_body .= "LIVAPOLO \n";
$text_body .= "www.livapolo.pt";
$mail->AddAddress("$contactemail", "$contactname");
$mail->Subject = "Confirma=?ISO-8859-1?Q?=E7=E3?=o do seu registo";
$mail->AltBody = $text_body;
$mail->Body = $body;
$mail->Send();
return true;
}
/*
Funcao:
Descricao:
*/
function incluir_registo_temas() {
$this->connClass = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATA);
if ($this->connClass->connect_error) { header("Location: /siteemmanutencao"); }
$sql = "DELETE FROM cliente_temas WHERE CodigoCliente = '" . $this->user_codigo . "'";
$this->connClass->query($sql);
$tmp_totaltemas = count($this->user_temasselecionados);
if ($tmp_totaltemas > 1) {
for ($i=0;$i<$tmp_totaltemas;$i++) {
$sql = "INSERT INTO cliente_temas (CodigoCliente, CodigoTema) VALUES ('" . $this->user_codigo . "', '" . $this->user_temasselecionados[$i] . "')";
$this->connClass->query($sql);
}
}
$this->resultClass->close();
$this->connClass->close();
}
/*
Funcao: alterar_registo
Descricao: funcao para alterar os dados do utilizador
*/
function alterar_registo(&$erro) {
$this->connClass = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATA);
if ($this->connClass->connect_error) { header("Location: /siteemmanutencao"); }
$sql = "SELECT CodigoCliente FROM cliente WHERE Email = '" . $this->user_email . "' AND CodigoCliente <> '" . $this->user_codigo . "'";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows > 0) {
$erro=1;
$this->resultClass->close();
$this->connClass->close();
return false;
exit(0);
}
$sql = "UPDATE cliente SET NomeCliente = '" . $this->user_nome . "', Morada = '" . $this->user_morada . "', CodigoPostal = '" . $this->user_codigopostal . "', Localidade = '" . $this->user_localidade . "', Telefone = '" . $this->user_telefone . "', Fax = '" . $this->user_fax . "', Email = lcase('" . $this->user_email . "'), NumeroContribuinte = '" . $this->user_numerocontribuinte . "', Password = '" . $this->user_password . "', Telemovel = '" . $this->user_telemovel . "', CodigoTipoContacto = '" . $this->user_codigotipocontacto . "', CodigoPais = '" . $this->user_codigopais . "', Genero = '" . $this->user_genero . "', Profissao = '" . $this->user_profissao . "', Publicidade = '" . $this->user_publicidade . "', DataActual = now(), CodigoUtilizador = '" . ID_UTILIZADOR . "' WHERE CodigoCliente = '" . $this->user_codigo . "'";
$this->connClass->query($sql);
$this->resultClass->close();
$this->connClass->close();
$this->incluir_registo_temas();
// Envia o email
$myname = "LIVAPOLO";
$myemail = "info@livapolo.pt";
$contactname = $this->user_email;
$contactemail = $this->user_email;
include("./classes/phpmailer/class.phpmailer.php");
$mail = new PHPMailer;
$mail->From = "$myemail";
$mail->FromName = "$myname";
$mail->Host = EMAIL_SERVER;
$mail->Mailer = "smtp";
$body = "Estimado Cliente,
";
$body .= "O seu registo na nossa loja online, foi alterado com sucesso.
";
$body .= "Caso não tenha efetuado, qualquer alteração ao mesmo, agradecemos que nos contacte.
";
$body .= "Obrigado pelo seu contacto.
";
$body .= "Atentamente,
";
$body .= "LIVAPOLO
";
$body .= "www.livapolo.pt
";
$text_body = "Estimado Cliente, \n\n";
$text_body .= "O seu registo na nossa loja online, foi alterado com sucesso. \n\n";
$text_body .= "Caso n�o tenha efetuado, qualquer altera��o ao mesmo, agradecemos que nos contacte. \n\n";
$text_body .= "Obrigado pelo seu contacto. \n\n";
$text_body .= "Atentamente, \n";
$text_body .= "LIVAPOLO \n";
$text_body .= "www.livapolo.pt";
$mail->AddAddress("$contactemail", "$contactname");
$mail->Subject = "Confirma=?ISO-8859-1?Q?=E7=E3?=o da altera=?ISO-8859-1?Q?=E7=E3?=o do seu registo";
$mail->AltBody = $text_body;
$mail->Body = $body;
$mail->Send();
return true;
}
/*
Funcao: busca
Descricao: funcao para fazer a busca dos dados do utilizador
*/
function busca_cliente($pCodigoCliente) {
if($pCodigoCliente == 0 OR empty($pCodigoCliente)) {
return false;
exit(0);
}
$this->connClass = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATA);
if ($this->connClass->connect_error) { header("Location: /siteemmanutencao"); }
$pCodigoCliente = mysqli_real_escape_string($this->connClass, $pCodigoCliente);
$sql = "SELECT CodigoCliente, NomeCliente, Email, Password, Morada, CodigoPostal, Localidade, CodigoPais, Telefone, Fax, Telemovel, Genero, CodigoTipoContacto, Publicidade, NumeroContribuinte, Profissao FROM cliente WHERE CodigoCliente = '" . $pCodigoCliente . "'";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows == 0) {
$this->resultClass->close();
$this->connClass->close();
return false;
exit(0);
}
$row = $this->connClass->fetch_assoc();
$this->user_codigo = utf8_encode($row("CodigoCliente"));
$this->user_nome = utf8_encode($row("NomeCliente"));
$this->user_email = utf8_encode($row("Email"));
$this->user_password = utf8_encode($row("Password"));
$this->user_morada = utf8_encode($row("Morada"));
$this->user_codigopostal = utf8_encode($row("CodigoPostal"));
$this->user_localidade = utf8_encode($row("Localidade"));
$this->user_codigopais = utf8_encode($row("CodigoPais"));
$this->user_telefone = utf8_encode($row("Telefone"));
$this->user_fax = utf8_encode($row("Fax"));
$this->user_telemovel = utf8_encode($row("Telemovel"));
$this->user_genero = utf8_encode($row("Genero"));
$this->user_profissao = utf8_encode($row("Profissao"));
$this->user_codigotipocontacto = utf8_encode($row("CodigoTipoContacto"));
$this->user_publicidade = utf8_encode($row("Publicidade"));
$this->user_numerocontribuinte = utf8_encode($row("NumeroContribuinte"));
$this->resultClass->close();
$this->connClass->close();
return true;
}
/*
Funcao: recupera_password
Descricao: funcao para validar os campos preenchidos pelo utilizador
*/
function recupera_password($pEmail) {
$regex = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/';
if (!preg_match($regex, $pEmail)) {
return 1;
exit(0);
}
$this->connClass = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATA);
if ($this->connClass->connect_error) { header("Location: /siteemmanutencao"); }
$pEmail = mysqli_real_escape_string($this->connClass, $pEmail);
$sql = "SELECT NomeCliente, Password FROM cliente WHERE Email = '" . $pEmail . "'";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows == 0) {
return 3;
exit(0);
}
$row = $this->resultClass->fetch_assoc();
// Envia o email
$myname = "LIVAPOLO";
$myemail = "info@livapolo.pt";
$contactname = $row("NomeCliente");
$contactemail = $pEmail;
include("./classes/phpmailer/class.phpmailer.php");
$mail = new PHPMailer;
$mail->From = "$myemail";
$mail->FromName = "$myname";
$mail->Host = EMAIL_SERVER;
$mail->Mailer = "smtp";
$body = "Estimado Cliente,
";
$body .= "Conforme nos solicitou, encontra-se inclusa neste Email a informação de acesso ao nosso site (http://www.livapolo.pt).
";
$body .= "Caso esteja a receber estas informações sem as ter previamente solicitado, por favor alerte-nos de imediato através do e-mail info@livapolo.pt
";
$body .= "Utilizador: " . $pEmail . "
Password/Senha de Acesso: ". $row("Password") ."
";
$body .= "Obrigado pela preferência e boas compras!
";
$body .= "Atentamente,
";
$body .= "LIVAPOLO
";
$body .= "www.livapolo.pt
";
$text_body = "Estimado Cliente, \n\n";
$text_body .= "Conforme nos solicitou, encontra-se inclusa neste e-mail a informa��o de acesso ao nosso site (http://www.livapolo.pt). \n\n";
$text_body .= "Caso esteja a receber estas informa��o sem as ter previamente solicitado, por favor alerte-nos de imediato atrav�s do e-mail info@livapolo.pt \n\n";
$text_body .= "Utilizador: " . $pEmail . "\nPassword/Senha de Acesso: " . $row("Password") . "\n\n";
$text_body .= "Obrigado pela prefer�ncia e boas compras! \n\n";
$text_body .= "Atentamente, \n";
$text_body .= "LIVAPOLO \n";
$text_body .= "www.livapolo.pt";
$mail->AddAddress("$contactemail", "$contactname");
$mail->Subject = "Recupera=?ISO-8859-1?Q?=E7=E3?=o de Registo/Dados de Acesso";
$mail->AltBody = $text_body;
$mail->Body = $body;
$mail->Send();
$this->resultClass->close();
$this->connClass->close();
return 2;
exit(0);
}
/*
Funcao:
Descricao:
*/
function ler_todos_temas_array() {
$i = 1;
$this->user_temas[] = "";
$this->connClass = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATA);
if ($this->connClass->connect_error) { header("Location: /siteemmanutencao"); }
$sql = "SELECT CodigoTema FROM temas";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows > 0) {
while ($row = $this->resultClass->fetch_assoc()) {
$this->user_temas[$i][1] = $row("CodigoTema");
$this->user_temas[$i][2] = "user_tema" . $row("CodigoTema");
$i++;
}
}
}
}
class encomenda {
var $connClass;
var $resultClass;
var $cesto;
var $enc_tipoentrega;
var $enc_regiaoentrega;
var $enc_codigolocalentrega;
var $enc_dadoslocalentrega;
var $enc_nomeregiao;
var $enc_codigolocal;
var $enc_numeroencomenda;
var $enc_dataencomenda;
var $enc_nomesituacaoencomenda;
var $enc_codigocliente;
var $enc_nomecliente;
var $enc_email;
var $enc_nomecontab;
var $enc_moradacontab;
var $enc_codigopostalcontab;
var $enc_localidadecontab;
var $enc_numerocontribuinte;
var $enc_nome;
var $enc_morada;
var $enc_codigopostal;
var $enc_localidade;
var $enc_valorencomenda;
var $enc_valorportes;
var $enc_valorpagar;
var $enc_obs;
var $enc_referenciapagamento;
function encomenda() {
$this->cesto = new cesto();
$this->enc_tipoentrega = 0;
$this->enc_regiaoentrega = 0;
$this->enc_codigolocalentrega = "";
$this->enc_dadoslocalentrega = "";
$this->enc_nomeregiao = "";
$this->enc_codigolocal = "";
$this->enc_numeroencomenda = "";
$this->enc_dataencomenda = "";
$this->enc_nomesituacaoencomenda = "";
$this->enc_codigocliente = "";
$this->enc_nomecliente = "";
$this->enc_email = "";
$this->enc_nomecontab = "";
$this->enc_moradacontab = "";
$this->enc_codigopostalcontab = "";
$this->enc_localidadecontab = "";
$this->enc_numerocontribuinte = "";
$this->enc_nome = "";
$this->enc_morada = "";
$this->enc_codigopostal = "";
$this->enc_localidade = "";
$this->enc_valorencomenda = 0;
$this->enc_valorportes = 0;
$this->enc_valorpagar = 0;
$this->enc_obs = "";
$this->enc_referenciapagamento = "";
}
/*
Funcao:
Descricao:
*/
function write_combo_regioes() {
$this->connClass = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATA);
if ($this->connClass->connect_error) { header("Location: /siteemmanutencao"); }
$sql = "SELECT CodigoRegiao, NomeRegiao FROM regiao_entrega";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows > 0) {
while ($row = $this->resultClass->fetch_assoc()) {
if ($row["CodigoRegiao"] == $this->enc_regiaoentrega) {
echo "";
} else {
echo "";
}
}
}
$this->resultClass->close();
$this->connClass->close();
}
/*
Funcao:
Descricao:
*/
function write_combo_tipoentrega() {
$this->connClass = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATA);
if ($this->connClass->connect_error) { header("Location: /siteemmanutencao"); }
$sql = "SELECT tipo_entrega.CodigoTipoEntrega, tipo_entrega.NomeTipoEntrega FROM portes_entrega INNER JOIN tipo_entrega ON (portes_entrega.CodigoTipoEntrega = tipo_entrega.CodigoTipoEntrega) WHERE tipo_entrega.Activo = '1' AND portes_entrega.CodigoRegiao = '" . $this->enc_regiaoentrega . "' GROUP BY portes_entrega.CodigoTipoEntrega";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows > 0) {
while ($row = $this->resultClass->fetch_assoc()) {
if ($row["CodigoTipoEntrega"] == $this->enc_tipoentrega) {
echo "";
} else {
echo "";
}
}
}
$this->resultClass->close();
$this->connClass->close();
}
/*
Funcao:
Descricao:
*/
function write_combo_localentrega() {
$this->enc_dadoslocalentrega = "";
$this->connClass = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATA);
if ($this->connClass->connect_error) { header("Location: /siteemmanutencao"); }
$sql = "SELECT CodigoLocal, NomeLocal, CabecalhoTalaoResumo FROM local WHERE LocalActivo = 1 AND LocalEntrega = 1 AND LEFT(CodigoLocal,1) = 'A' ORDER BY NomeLocal";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows > 0) {
while ($row = $this->resultClass->fetch_assoc()) {
if ($row["CodigoLocal"] == $this->enc_codigolocalentrega) {
$this->enc_dadoslocalentrega = $row["CabecalhoTalaoResumo"];
echo "";
} else {
if ($this->enc_dadoslocalentrega == "") {
$this->enc_dadoslocalentrega = iconv('ISO-8859-1', 'UTF-8', $row["CabecalhoTalaoResumo"]);
}
echo "";
}
}
}
$this->resultClass->close();
$this->connClass->close();
}
/*
Funcao:
Descricao:
*/
function busca_local_entrega($codigolocalentrega) {
$this->enc_dadoslocalentrega = "";
$this->connClass = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATA);
if ($this->connClass->connect_error) { header("Location: /siteemmanutencao"); }
$codigolocalentrega = mysqli_real_escape_string($this->connClass, $codigolocalentrega);
$sql = "SELECT CodigoLocal, CabecalhoTalaoResumo FROM local WHERE CodigoLocal = '" . $codigolocalentrega . "'";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows > 0) {
$row = $this->resultClass->fetch_assoc();
$this->enc_codigolocalentrega = $row["CodigoLocal"];
$this->enc_dadoslocalentrega = iconv('ISO-8859-1', 'UTF-8', $row["CabecalhoTalaoResumo"]);
}
$this->resultClass->close();
$this->connClass->close();
}
/*
Funcao:
Descricao:
*/
function busca_encomenda_cliente($pNumeroEncomenda, $pCodigoCliente) {
if($pNumeroEncomenda == 0 OR empty($pNumeroEncomenda) OR $pCodigoCliente == 0 OR empty($pCodigoCliente)) {
return false;
exit(0);
}
$this->connClass = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATA);
if ($this->connClass->connect_error) { header("Location: /siteemmanutencao"); }
$pNumeroEncomenda = mysqli_real_escape_string($this->connClass, $pNumeroEncomenda);
$pCodigoCliente = mysqli_real_escape_string($this->connClass, $pCodigoCliente);
$sql = "SELECT encomenda_cab.NumeroEncomenda, encomenda_cab.CodigoLocal, encomenda_cab.CodigoLocalEntrega, encomenda_cab.DataEncomenda, encomenda_cab.CodigoCliente, encomenda_cab.Nome, encomenda_cab.Morada, encomenda_cab.CodigoPostal, encomenda_cab.Localidade, encomenda_cab.NomeContab, encomenda_cab.MoradaContab, encomenda_cab.CodigoPostalContab, encomenda_cab.LocalidadeContab, encomenda_cab.Observacoes, encomenda_cab.ValorPortes, encomenda_cab.NumeroContribuinte, encomenda_cab.CodigoTipoEntrega, encomenda_cab.ReferenciaPagamento, cliente.Email, cliente.NomeCliente, regiao_entrega.NomeRegiao, situacao_encomenda.NomeSituacaoEncomenda, local.CabecalhoTalaoResumo FROM encomenda_cab INNER JOIN cliente ON (encomenda_cab.CodigoCliente = cliente.CodigoCliente) INNER JOIN regiao_entrega ON (encomenda_cab.CodigoRegiao = regiao_entrega.CodigoRegiao) INNER JOIN situacao_encomenda ON (encomenda_cab.CodigoSituacaoEncomenda = situacao_encomenda.CodigoSituacaoEncomenda) LEFT JOIN local ON (encomenda_cab.CodigoLocalEntrega = local.CodigoLocal) WHERE encomenda_cab.CodigoCliente = '" . $pCodigoCliente . "' AND encomenda_cab.NumeroEncomenda = '" . $pNumeroEncomenda . "'";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows == 0) {
$this->resultClass->close();
$this->connClass->close();
return false;
exit(0);
}
$row = $this->resultClass->fetch_assoc();
$this->enc_codigolocal = $row["CodigoLocal"];
$this->enc_codigolocalentrega = $row["CodigoLocalEntrega"];
$this->enc_dadoslocalentrega = $row["CabecalhoTalaoResumo"];
$this->enc_numeroencomenda = $row["NumeroEncomenda"];
$this->enc_dataencomenda = $row["DataEncomenda"];
$this->enc_nomesituacaoencomenda = utf8_encode($row["NomeSituacaoEncomenda"]);
$this->enc_codigocliente = $row["CodigoCliente"];
$this->enc_nomecliente = utf8_encode($row["NomeCliente"]);
$this->enc_email = $row["Email"];
if ($row["NomeContab"] <> "") {
$this->enc_nomecontab = utf8_encode($row["NomeContab"]);
}else{
$this->enc_nomecontab = utf8_encode($row["Nome"]);
}
if ($row["MoradaContab"] <> "") {
$this->enc_moradacontab = utf8_encode($row["MoradaContab"]);
}else{
$this->enc_moradacontab = utf8_encode($row["Morada"]);
}
if ($row["CodigoPostalContab"] <> "") {
$this->enc_codigopostalcontab = utf8_encode($row["CodigoPostalContab"]);
}else{
$this->enc_codigopostalcontab = utf8_encode($row["CodigoPostal"]);
}
if ($row["LocalidadeContab"] <> "") {
$this->enc_localidadecontab = utf8_encode($row["LocalidadeContab"]);
}else{
$this->enc_localidadecontab = utf8_encode($row["Localidade"]);
}
$this->enc_obs = utf8_encode($row["Observacoes"]);
$this->enc_numerocontribuinte = utf8_encode($row["NumeroContribuinte"]);
$this->enc_nome = utf8_encode($row["Nome"]);
$this->enc_morada = utf8_encode($row["Morada"]);
$this->enc_codigopostal = utf8_encode($row["CodigoPostal"]);
$this->enc_localidade = utf8_encode($row["Localidade"]);
$this->enc_nomeregiao = utf8_encode($row["NomeRegiao"]);
$this->enc_valorportes = utf8_encode($row["ValorPortes"]);
$this->enc_tipoentrega = utf8_encode($row["CodigoTipoEntrega"]);
$this->enc_referenciapagamento = utf8_encode($row["ReferenciaPagamento"]);
$this->resultClass->close();
$this->connClass->close();
return true;
}
/*
Funcao:
Descricao:
*/
function busca_encomenda_chave($pNumeroEncomenda, $pChave) {
if($pNumeroEncomenda == 0 OR empty($pNumeroEncomenda) OR empty($pChave)) {
return false;
exit(0);
}
$this->connClass = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATA);
if ($this->connClass->connect_error) { header("Location: /siteemmanutencao"); }
$pNumeroEncomenda = mysqli_real_escape_string($this->connClass, $pNumeroEncomenda);
$pChave = mysqli_real_escape_string($this->connClass, $pChave);
$sql = "SELECT encomenda_cab.NumeroEncomenda, encomenda_cab.CodigoLocal, encomenda_cab.CodigoLocalEntrega, encomenda_cab.DataEncomenda, encomenda_cab.CodigoCliente, encomenda_cab.Nome, encomenda_cab.Morada, encomenda_cab.CodigoPostal, encomenda_cab.Localidade, encomenda_cab.NomeContab, encomenda_cab.MoradaContab, encomenda_cab.CodigoPostalContab, encomenda_cab.LocalidadeContab, encomenda_cab.Observacoes, encomenda_cab.ValorPortes, encomenda_cab.NumeroContribuinte, encomenda_cab.CodigoTipoEntrega, encomenda_cab.ReferenciaPagamento, cliente.Email, cliente.NomeCliente, regiao_entrega.NomeRegiao, situacao_encomenda.NomeSituacaoEncomenda, local.CabecalhoTalaoResumo FROM encomenda_cab LEFT JOIN cliente ON (encomenda_cab.CodigoCliente = cliente.CodigoCliente) INNER JOIN regiao_entrega ON (encomenda_cab.CodigoRegiao = regiao_entrega.CodigoRegiao) INNER JOIN situacao_encomenda ON (encomenda_cab.CodigoSituacaoEncomenda = situacao_encomenda.CodigoSituacaoEncomenda) LEFT JOIN local ON (encomenda_cab.CodigoLocalEntrega = local.CodigoLocal) WHERE encomenda_cab.chaveacesso = '" . $pChave . "' and encomenda_cab.numeroencomenda = '" . $pNumeroEncomenda . "'";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows == 0) {
$this->resultClass->close();
$this->connClass->close();
return false;
exit(0);
}
$row = $this->resultClass->fetch_assoc();
$this->enc_codigolocal = $row["CodigoLocal"];
$this->enc_codigolocalentrega = $row["CodigoLocalEntrega"];
$this->enc_dadoslocalentrega = $row["CabecalhoTalaoResumo"];
$this->enc_numeroencomenda = $row["NumeroEncomenda"];
$this->enc_dataencomenda = $row["DataEncomenda"];
$this->enc_nomesituacaoencomenda = utf8_encode($row["NomeSituacaoEncomenda"]);
$this->enc_codigocliente = $row["CodigoCliente"];
$this->enc_nomecliente = utf8_encode($row["NomeCliente"]);
$this->enc_email = $row["Email"];
if ($row["NomeContab"] <> "") {
$this->enc_nomecontab = utf8_encode($row["NomeContab"]);
}else{
$this->enc_nomecontab = utf8_encode($row["Nome"]);
}
if ($row["MoradaContab"] <> "") {
$this->enc_moradacontab = utf8_encode($row["MoradaContab"]);
}else{
$this->enc_moradacontab = utf8_encode($row["Morada"]);
}
if ($row["CodigoPostalContab"] <> "") {
$this->enc_codigopostalcontab = utf8_encode($row["CodigoPostalContab"]);
}else{
$this->enc_codigopostalcontab = utf8_encode($row["CodigoPostal"]);
}
if ($row["LocalidadeContab"] <> "") {
$this->enc_localidadecontab = utf8_encode($row["LocalidadeContab"]);
}else{
$this->enc_localidadecontab = utf8_encode($row["Localidade"]);
}
$this->enc_obs = utf8_encode($row["Observacoes"]);
$this->enc_numerocontribuinte = utf8_encode($row["NumeroContribuinte"]);
$this->enc_nome = utf8_encode($row["Nome"]);
$this->enc_morada = utf8_encode($row["Morada"]);
$this->enc_codigopostal = utf8_encode($row["CodigoPostal"]);
$this->enc_localidade = utf8_encode($row["Localidade"]);
$this->enc_nomeregiao = utf8_encode($row["NomeRegiao"]);
$this->enc_valorportes = utf8_encode($row["ValorPortes"]);
$this->enc_tipoentrega = utf8_encode($row["CodigoTipoEntrega"]);
$this->enc_referenciapagamento = utf8_encode($row["ReferenciaPagamento"]);
//Le dados cliente temporario
if ($row["CodigoCliente"] == '') {
$sql = "SELECT NomeCliente, Telefone, Telemovel, Email FROM encomenda_cliente WHERE NumeroEncomenda = '" . $pNumeroEncomenda . "'";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows == 0) {
$this->resultClass->close();
$this->connClass->close();
return false;
exit(0);
}
$this->enc_nomecliente = $row["NomeCliente"];
$this->enc_email = $row["Email"];
}
$this->resultClass->close();
$this->connClass->close();
return true;
}
/*
Funcao:
Descricao:
*/
function print_nota_referenciapagamento() {
if($this->enc_tipoentrega == "1") {
return "O Pagamento será efectuado na livraria no acto de levantamento do(s) livro(s)";
};
if($this->enc_tipoentrega == "2") {
return "O Pagamento será efectuado por cartão de crédito com a referência: " . $this->enc_referenciapagamento;
};
if($this->enc_tipoentrega == "3") {
return "O Pagamento será efectuado por cobrança pelos CTT";
};
if($this->enc_tipoentrega == "4") {
return "O Pagamento será efectuado por transferencia bancaria";
};
}
/*
Funcao:
Descricao:
*/
function calc_valor_portes($pCodigoRegiao, $pCodigoTipoEntrega, $pCodigoSessao) {
$this->enc_valorportes = 0;
$this->cesto->calc_totais_cesto($pCodigoSessao);
$this->connClass = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATA);
if ($this->connClass->connect_error) { header("Location: /siteemmanutencao"); }
$pCodigoRegiao = mysqli_real_escape_string($this->connClass, $pCodigoRegiao);
$pCodigoTipoEntrega = mysqli_real_escape_string($this->connClass, $pCodigoTipoEntrega);
$pCodigoSessao = mysqli_real_escape_string($this->connClass, $pCodigoSessao);
$sql = "SELECT ValorPortes, LimiteInferiorPortes FROM portes_entrega WHERE CodigoRegiao = '" . $pCodigoRegiao . "' AND CodigoTipoEntrega = '" . $pCodigoTipoEntrega . "' ORDER BY LimiteInferiorPortes ASC";
$this->resultClass = $this->connClass->query($sql);
if ($this->resultClass->num_rows == 0) {
$this->resultClass->close();
$this->connClass->close();
return false;
exit(0);
}
while ($row = $this->resultClass->fetch_assoc()) {
if($this->cesto->cesto_valorcesto > $row["LimiteInferiorPortes"]) {
$this->enc_valorportes = str_replace(',', '.', round($row["ValorPortes"],2));
}
}
$this->enc_valorencomenda = str_replace(',', '.', round($this->cesto->cesto_valorcesto,2));
$this->enc_valorpagar = str_replace(',', '.', round($this->enc_valorencomenda + $this->enc_valorportes,2));
$this->resultClass->close();
$this->connClass->close();
return true;
}
}
/*
UsersOnline ver 1.0.0
Author: Daniel Kushner
Email: daniel@websapp.com
Release: 08 Nov 2001
Copyright 2001
Database table scheme:
CREATE TABLE usersonline (
timestamp int(15) DEFAULT '0' NOT NULL,
ip varchar(40) NOT NULL,
file varchar(100) NOT NULL,
INDEX (timestamp),
INDEX ip(ip),
INDEX file(file)
);
*/
class useronline{
var $bd;
var $qry;
var $timeoutSeconds = 120;
var $numberOfUsers = 0;
function useronline($bd) {
$this->bd = $bd;
$this->refresh();
}
function getNumber() {
return $this->numberOfUsers;
}
function printNumber() {
if($this->numberOfUsers == 1) {
echo $this->numberOfUsers . " Utilizador Online";
} else {
echo $this->numberOfUsers . " Utilizadores Online";
}
}
function printIPS() {
print "IP's Online:
";
$sql = "SELECT DISTINCT ip FROM usersonline ORDER BY ip";
$this->qry = new classdata($this->bd);
$this->qry->recordset($sql);
for ($i=0;$i<$this->qry->numrows;$i++) {
print $this->qry->data["ip"] . "
";
$this->qry->proximo();
}
}
function refresh() {
if(isset($_SERVER['REMOTE_ADDR'])){$idRemoteAddr = $_SERVER['REMOTE_ADDR'];}
if(isset($_SERVER['PHP_SELF'])){$idRemoteAddr = $_SERVER['PHP_SELF'];}
$currentTime = time();
$timeout = $currentTime - $this->timeoutSeconds;
$sql = "INSERT INTO usersonline VALUES ('" . $currentTime . "','" . $_SERVER['REMOTE_ADDR'] . "','" . $_SERVER['PHP_SELF'] . "')";
$this->qry = new classdata($this->bd);
$this->qry->executa($sql);
$sql = "DELETE FROM usersonline WHERE timestamp < " . $timeout;
$this->qry = new classdata($this->bd);
$this->qry->executa($sql);
//$sql = "SELECT DISTINCT ip FROM usersonline WHERE file='" . $PHP_SELF . "'";
$sql = "SELECT DISTINCT ip FROM usersonline";
$this->qry = new classdata($this->bd);
$this->qry->recordset($sql);
$this->numberOfUsers = $this->qry->numrows;
}
}
?>