@session_start(); set_time_limit(0);
// PREVINE DO MYSQL INJECTION PELO URL
if(str_replace(" ","",$_SERVER['QUERY_STRING'])!=$_SERVER['QUERY_STRING']){die;}
if(!include("bd.php")){irPara("../offline/");}
if(isset($_GET["ID"])) $_GET["ID"] = (int) $_GET["ID"];
if(isset($_GET["Sair"])){session_destroy();irPara($WebUrl);}
function go($X){echo(""); die;}
function irPara($X){echo(""); die;}
function passacaracteres($x){$x=addslashes(trim(strip_tags($x))); return $x;}
function eliminacaracteres($x){$x=str_replace("'","",$x);$x=str_replace('"','',$x); return $x;}
function alerta($X){echo("");}
function PrivadoAdmin(){if(!isset($_SESSION["Admin"])){irPara("login.php"); alerta("Não existe administrador activo"); die;}}
function CorrigeCaminhos($x){$x=str_replace('../filemanager','filemanager',$x);return $x;}
function reduz($X,$N){$NumArray=explode(" ",$X);if(count($NumArray)>1 && strlen($X)>$N){$X=substr($X,0,$N);$Num=strrpos($X," ");$X=substr($X,0,$Num);$X=$X." (...)";}return $X;}
$DiaActual=date("d", mktime(date("H")+$DifHoraria,date("i"),date("s"),date("m"),date("d"),date("Y")));
$MesActual=date("m", mktime(date("H")+$DifHoraria,date("i"),date("s"),date("m"),date("d"),date("Y")));
$AnoActual=date("Y", mktime(date("H")+$DifHoraria,date("i"),date("s"),date("m"),date("d"),date("Y")));
$Data=date("d-m-Y", mktime(date("H")+$DifHoraria,date("i"),date("s"),date("m"),date("d"),date("Y")));
$DataHora=date("d-m-Y H:i:s", mktime(date("H")+$DifHoraria,date("i"),date("s"),date("m"),date("d"),date("Y")));
$DataBd=date("Y-m-d", mktime(date("H")+$DifHoraria,date("i"),date("s"),date("m"),date("d"),date("Y")));
$DataHoraBd=date("Y-m-d H:i:s", mktime(date("H")+$DifHoraria,date("i"),date("s"),date("m"),date("d"),date("Y")));
function DataParaDataBd($Data){$Data = implode("-", array_reverse(explode("-", $Data))); return $Data;}
function DataBdParaData($Data){$Data = implode("-", array_reverse(explode("-", $Data))); return $Data;}
function MudaTipoData($Data,$Tipo){
$ArrayMesString= array ('-JAN-','-FEV-','-MAR-','-ABR-','-MAI-','-JUN-','-JUL-','-AGO-','-SET-','-OUT-','-NOV-','-DEZ-');
$ArrayMesNum= array('-01-','-02-','-03-','-04-','-05-','-06-','-07-','-08-','-09-','-10-','-11-','-12-');
$ArrayMesNumNoZero= array('-1-','-2-','-3-','-4-','-5-','-6-','-7-','-8-','-9-','-10-','-11-','-12-');
if($Tipo==1){$Data=str_ireplace($ArrayMesString,$ArrayMesNum,$Data);$Data=str_ireplace($ArrayMesString,$ArrayMesNumNoZero,$Data);}
if($Tipo==2){$Data=str_ireplace($ArrayMesNum,$ArrayMesString,$Data);$Data=str_ireplace($ArrayMesNumNoZero,$ArrayMesString,$Data);}
return $Data;
}
/*
if(!isset($_GET["NewsletterSemRetorno"])){
include(dirname(__FILE__)."/modulos/newsletters/retornos.php");
}
*/
function ReplaceImgs($Texto,$SetImageW,$SetImageH,$Link){
global $Web_Url; global $ImgViewer; global $ImgAutoResize;
$Tag="img"; $ImagesTags = preg_match_all( '/(<'.$Tag.'[^>]*?>)/msi', $Texto, $matches );
$ImagesTags = $matches[1];
foreach( $ImagesTags as $Img ) {
if(preg_match_all ('/width\=[\'|"](.*?)[\'|"]/msi', $Img, $match )){$image_width = $match[1][0];}else{$image_width="";}
if(preg_match_all ('/height\=[\'|"](.*?)[\'|"]/msi', $Img, $match )){$image_height = $match[1][0];}else{$image_height="";}
if(preg_match_all ('/src\=[\'|"](.*?)[\'|"]/msi', $Img, $match )){$LinkSrc= $match[1][0];}else{$LinkSrc="";}
if(preg_match_all ('/title\=[\'|"](.*?)[\'|"]/msi', $Img, $match )){$Titulo= $match[1][0];}else{$Titulo="";}
if(preg_match_all ('/margin[:](.*?)[;]/msi', $Img, $match )){$Margens=explode(" ",str_replace("px","",trim($match[1][0])));}else{$Margens="";}
if(preg_match_all ('/float[:](.*?)[;]/msi', $Img, $match )){$Align=trim($match[1][0]);}else{$Align="";}
if(preg_match_all ('/border[:](.*?)[;]/msi', $Img, $match )){$Border=trim($match[1][0]);}else{$Border="";}
$tmp_image_tag=$Img;
@list($largura,$altura) = @getimagesize($LinkSrc);$ReduzImg=1;$PopUp=1;
if($largura==$image_width || $altura==$image_height){$ReduzImg=0;$PopUp=0;}
$ImgAutoResize = 0;
if($ImgAutoResize!=0 && $ReduzImg!=0){
$acrescentar = array( ); if( trim( $image_width ) && $image_width!="" ){$acrescentar[] = "w=" . $image_width;} if( trim( $image_height ) && $image_height!="" ){$acrescentar[] = "h=" . $image_height;}
if(count($acrescentar)>0){$acrescentar = implode( "&", $acrescentar ); $tmp_image_tag = preg_replace( "/(]*?>)/", "\\1$Web_Url/imgsize.php?img=\\2&".$acrescentar."\\3", $Img );}
}
if($Align!=""){$tmp_image_tag=str_replace(">"," align='$Align' >",$tmp_image_tag);$tmp_image_tag=@str_replace("float: $Align;","",$tmp_image_tag);}
// faz desaparecer o preto dos limites das imagens, assumindo o do css
if($Border!=""){$BorderNormal=str_replace("black","",$Border);$tmp_image_tag=str_replace($Border,$BorderNormal,$tmp_image_tag);}
else{$tmp_image_tag=str_replace(">","border='0' >",$tmp_image_tag);}
if(is_array($Margens)){
$tmp_image_tag=str_replace(">","vspace='$Margens[0]' hspace='$Margens[1]' >",$tmp_image_tag);
$tmp_image_tag = str_replace( "margin: $Margens[0]px $Margens[1]px;", "",$tmp_image_tag);
}
if($SetImageW!="" || $SetImageH!=""){
if($SetImageW!=""){$tmp_image_tag=str_replace("width=\"$image_width\"","width=\"$SetImageW\"",$tmp_image_tag);if($ImgAutoResize!=0){$tmp_image_tag=str_replace("&w=$image_width","&w=$SetImageW",$tmp_image_tag);}}
if($SetImageH!=""){$tmp_image_tag=str_replace("height=\"$image_height\"","height=\"$SetImageH\"",$tmp_image_tag);if($ImgAutoResize!=0){$tmp_image_tag=str_replace("&h=$image_height","&h=$SetImageH",$tmp_image_tag);}}
}
if($Link==1 && $ImgViewer!=0 && $PopUp!=0){$tmp_image_tag="$tmp_image_tag";}
$Texto = str_replace( $Img, $tmp_image_tag, $Texto );
}
return $Texto;
}
function DevolveTexto($Texto,$Tamanho){
$Texto=strip_tags($Texto); $NumArray=explode(" ",$Texto);
if(count($NumArray)>1 && strlen($Texto)>$Tamanho){$Texto=substr($Texto,0,$Tamanho);$Tamanho=strrpos($Texto," ");$Texto=substr($Texto,0,$Tamanho);$Texto=trim($Texto)." (...)";}
return $Texto;
}
// Retira coisas maliciosas que podem ser enviadas em formulários.
function TextoSeguro($Texto){$TextoFinal=$Texto;$TextoFinal=stripslashes($TextoFinal);$TextoFinal=strip_tags($TextoFinal);$TextoFinal=htmlspecialchars($TextoFinal); if($TextoFinal==$Texto){return true;}else{return false;}}
function VerificaEmail($email){
$isValid = true; $atIndex = strrpos($email, "@");
if (is_bool($atIndex) && !$atIndex){$isValid = false;}
else{
$domain = substr($email, $atIndex+1); $local = substr($email, 0, $atIndex);
$localLen = strlen($local); $domainLen = strlen($domain);
if ($localLen < 1 || $localLen > 64){$isValid = false;}
else if ($domainLen < 1 || $domainLen > 255){$isValid = false;}
else if ($local[0] == '.' || $local[$localLen-1] == '.'){$isValid = false;}
else if (preg_match('/\\.\\./', $local)){$isValid = false;}
else if (!preg_match('/^[A-Za-z0-9\\-\\.]+$/', $domain)){$isValid = false;}
else if (preg_match('/\\.\\./', $domain)){$isValid = false;}
else if(!preg_match('/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$/',str_replace("\\\\","",$local)))
{if (!preg_match('/^"(\\\\"|[^"])+"$/',str_replace("\\\\","",$local))){$isValid = false;}}
if ($isValid && !(checkdnsrr($domain,"MX") || checkdnsrr($domain,"A"))){$isValid = false;}
}
return $isValid;
}
// Substitui certas palavras por formulários ou outros códigos
function WebEsquema($Texto){
global $Web_Url;
if(eregi('Formulário de contacto',$Texto)){$Texto = str_replace('Formulário de contacto',"", $Texto);}
if(eregi('Formulário de recomendação',$Texto)){$Texto = str_replace('Formulário de recomendação',"", $Texto);}
if(eregi('Mapa de imagem',$Texto)){$Texto = str_replace('Mapa de imagem',"", $Texto);}
return $Texto;
}
require_once __DIR__ . '/email_smtp/mail_functions.php';
function EnviaEmail($DeEmail,$DeNome,$ParaEmail,$ParaNome,$Assunto,$Mensagem,$Anexos,$Template){
global $Web_Url;
if(function_exists('mailSMTP')){
$to = array(
'email' => $ParaEmail,
'name' => $ParaNome,
);
$from = array(
'email' => $DeEmail,
'name' => $DeNome,
);
return mailSMTP($to, $from, $Assunto, $Mensagem, $Template, $Anexos);
}
require_once('email/class.phpmailer.php');
$mail = new PHPMailer();
if(is_array($ParaEmail)){for($i=0;$iAddBcc($ParaEmail[$i],$ParaNome[$i]);}}
else{$mail->AddAddress($ParaEmail,$ParaNome);}
if($Anexos!=""){
$Directoria=str_replace("admin","",dirname(__FILE__));
$Anexos=explode(";",$Anexos);
if(count($Anexos)>0){
for($x=0;$xAddAttachment($Ficheiro); }
}
}
}
$mail->SetFrom($DeEmail,$DeNome);
$mail->Subject = $Assunto;
$Mensagem=str_replace("\t","",$Mensagem);
$mail->MsgHTML($Mensagem);
$mail->Send();
}
// DEVOLVE O URL ACTUAL
function selfURL() {
$s = empty($_SERVER["HTTPS"]) ? ''
: ($_SERVER["HTTPS"] == "on") ? "s"
: "";
$protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
$port = ($_SERVER["SERVER_PORT"] == "80") ? ""
: (":".$_SERVER["SERVER_PORT"]);
return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI'];
}
function strleft($s1, $s2) {
return substr($s1, 0, strpos($s1, $s2));
}
$Obt="* ";
// Faz a ligação à base de dados
$Connect=@mysql_connect($BD_Host,$BD_User,$BD_Pass); if(!$Connect){irPara("$Web_Url/offline");}else{$Ligacao=mysql_select_db($BD_Nome);}
?>