0 ) { $ant = $porPagina * ($GLOBALS['p']); } else { $ant = 0; } //Registros por Página $GLOBALS['porPagina'] = $porPagina; return ' LIMIT '. $ant .','. $porPagina; } function f_paginacao ($info=0) { if (isset($_GET['p'])) {$p = $_GET['p'];} else {$p = 0;} if ( $GLOBALS['ps'] > 0 ) { print '
'; # Qual é a página que está sendo paginada $pagina = explode("/", $_SERVER['PHP_SELF']); $pagina = $pagina[count($pagina)-1]; # Link da página atual com toda query string foreach($_GET as $k=>$v) if($k <> 'begin' && $k <> 'p' && $k <> 'defineorder' ) $queryString .= $k .'='. $v .'&'; $link = $pagina .'?'. substr($queryString, 0, (strlen($queryString)-1)); $NumRegistroInicial = ($p * $GLOBALS['porPagina']) + 1; if ($p <> $GLOBALS['ps']) $NumRegistroFinal = ($p * $GLOBALS['porPagina']) + $GLOBALS['porPagina']; else $NumRegistroFinal = $GLOBALS['total']; if($info <> "") print 'Registros de '. $NumRegistroInicial .' à '. $NumRegistroFinal .' de '. $GLOBALS['total'] .'   '; if ($p <> 0) { $showpage = $p - 1; print 'Primeira | '; print 'Anterior | '; } else { print 'Primeira | '; print 'Anterior | '; } for ($i = $p-2; $i<$p; $i++) { $showpage=$i+1; if ($i>=0) { print ''.$showpage.' | '; } } for ($i = $p; ($i<=$GLOBALS['ps'] AND $i<=($p+2)); $i++) { $showpage=$i+1; if ($i == $p) { print ''.$showpage.' | '; } else { print ''.$showpage.' | '; } } if ($p < $GLOBALS['ps']) { $showpage = $p + 1; print 'Próxima | '; print 'Última'; } else { print 'Próxima | '; print 'Última'; } print ' | Ir para página: '; print '
'; } } /** * Paginação do site * * @param int $info */ function f_paginacaosite ($info=0) { if (isset($_GET['p'])) {$p = $_GET['p'];} else {$p = 0;} if ( $GLOBALS['ps'] > 0 ) { print ''; //print '
  • :: mais notícias
  • '; # Qual é a página que está sendo paginada $pagina = explode("/", $_SERVER['PHP_SELF']); $pagina = $pagina[count($pagina)-1]; # Link da página atual com toda query string foreach($_GET as $k=>$v) if($k <> 'begin' && $k <> 'p' && $k <> 'defineorder' ) $queryString .= $k .'='. $v .'&'; $link = $pagina .'?'. substr($queryString, 0, (strlen($queryString)-1)); $NumRegistroInicial = ($p * $GLOBALS['porPagina']) + 1; if ($p <> $GLOBALS['ps']) $NumRegistroFinal = ($p * $GLOBALS['porPagina']) + $GLOBALS['porPagina']; else $NumRegistroFinal = $GLOBALS['total']; if ($p <> 0) { $showpage = $p - 1; print ''; } else { if($showpage) print ''; } for ($i = $p-2; $i<$p; $i++) { $showpage=$i+1; if ($i>=0) { print ''; } } for ($i = $p; ($i<=$GLOBALS['ps'] AND $i<=($p+2)); $i++) { $showpage=$i+1; if ($i == $p) { print ''; } else { print ''; } } if ($p < $GLOBALS['ps']) { $showpage = $p + 1; print ''; } else { if(!$showpage >= $GLOBALS['ps']+1) print ''; else print ''; } print '
    <<<<'.$showpage.''.$showpage.''.$showpage.'>>>>
    '; } } // Remove os acentos das palavras function RemoveAcentos($Msg) { $a = array( '/[ÂÀÁÄÃ]/'=>'A', '/[âãàáä]/'=>'a', '/[ÊÈÉË]/'=>'E', '/[êèéë]/'=>'e', '/[ÎÍÌÏ]/'=>'I', '/[îíìï]/'=>'i', '/[ÔÕÒÓÖ]/'=>'O', '/[ôõòóö]/'=>'o', '/[ÛÙÚÜ]/'=>'U', '/[ûúùü]/'=>'u', '/ç/'=>'c', '/Ç/'=> 'C'); // Tira o acento pela chave do array return preg_replace(array_keys($a), array_values($a), $Msg); } // Função para colocar sempre a primeira letra da string em // letra maiúscula, exceto as preposições (e, de, da, do ...) function altaebaixa($umtexto) { $troca = strtolower($umtexto); $troca = "". $certo ."". ucwords($troca); $troca = @trocaini($troca, " E ", " e "); $troca = @trocaini($troca, " De ", " de "); $troca = @trocaini($troca, " Da ", " da "); $troca = @trocaini($troca, " Do ", " do "); $troca = @trocaini($troca, " Das ", " das "); $troca = @trocaini($troca, " Dos ", " dos "); $altabaixa = $troca; return $altabaixa; } function trocaini($wStr,$w1,$w2) { $wde = 1; $para=0; while($para<1) { $wpos = strpos($wStr, $w1, $wde); if ($wpos > 0) { $wStr = str_replace($w1, $w2, $wStr); $wde = $wpos+1; } else { $para=2; } } $trocou = $wStr; return $trocou; } // Exibe erro se houve um na sessão function showError() { print ""; if ( $_SESSION['msg'] ) { print ""; $_SESSION['msg'] = ''; } } // Exibe a caixa de ajuda function helpField($texto) { print '
    '. $texto .'
    '; } // Função que pega um texto e deixa com o nº de chars desejado ou menos(letras) function cortaTexto($str, $letras=30) { $str = trim($str); //Tira os espaços if ( strlen($str) > $letras ) { //Só corta se tem mais que o valor a cortar $ret = substr($str,0,$letras); //corta a string if ( substr($str,$letras,1) != " " ) { //Se depois do que cortou vinha espaço ele deixa assim, senao ele tira o pedaco do final $tmp = explode(' ',$ret); unset($ret); for ( $i=0; $i strrchr($_POST[$field], '.') ) ) { return true; } else { return false; } } // Verifica se a imagem é gif ou jpg num campo file function isImage($field) { if ( strtolower(substr($_FILES[$field]['name'], -3)) == 'gif' ) { return true; } elseif ( strtolower(substr($_FILES[$field]['name'], -3)) == 'jpg' ) { return true; } elseif ( strtolower(substr($_FILES[$field]['name'], -3)) == 'png' ) { return true; } else return false; } // Verifica se o arquivo num campo file é gif/jpg/png/zip/rar/doc/xls/ppt/pdf function isFile($field) { switch(strtolower(substr($_FILES[$field]['name'], -3))) { case 'gif' : return true; break; case 'jpg' : return true; break; case 'png' : return true; break; case 'zip' : return true; break; case 'rar' : return true; break; case 'doc' : return true; break; case 'xls' : return true; break; case 'ppt' : return true; break; case 'pdf' : return true; break; default : return false; } } // Verifica se é um arquivo csv function isCsv($field) { if ( strtolower(substr($_FILES[$field]['name'], -3)) == 'csv' ) { return true; } else return false; } // Verifica se o video é wma, wmv, mpeg, avi function isVideo($field) { if ( strtolower(substr($_FILES[$field]['name'], -3)) == 'wmv' ) { return true; } elseif ( strtolower(substr($_FILES[$field]['name'], -3)) == 'wma' ) { return true; } elseif ( strtolower(substr($_FILES[$field]['name'], -3)) == 'avi' ) { return true; } elseif ( strtolower(substr($_FILES[$field]['name'], -4)) == 'mpeg' ) { return true; } else return false; } // Monta a caixa de ajuda function helpBox($texto) { return '
    '. $texto .'
    '; } // Define o order function defineOrder() { if ( $_GET['defineorder'] ) { $tmp = explode(' ', $_SESSION['orderby']); if ( $_GET['defineorder'] == $tmp[0] ) { if ( $tmp[1] == 'ASC' ) $tmp[1] = 'DESC'; else $tmp[1] = 'ASC'; } else { $tmp[0] = $_GET['defineorder']; $tmp[1] = 'ASC'; } $_SESSION['orderby'] = $tmp[0].' '.$tmp[1]; } } // Exibe ou não a seta de order e qual a posição function orderArrow($field) { $tmp = explode(' ', $_SESSION['orderby']); if ( $tmp[0] == $field ) { if ( $tmp[1] == 'ASC' ) $t = 'baixo'; else $t = 'cima'; print ''; } } // Retorno o nome do mês function monthName($month) { switch ( $month ) { case 1: return 'janeiro'; break; case 2: return 'fevereiro'; break; case 3: return 'março'; break; case 4: return 'abril'; break; case 5: return 'maio'; break; case 6: return 'junho'; break; case 7: return 'julho'; break; case 8: return 'agosto'; break; case 9: return 'setembro'; break; case 10: return 'outubro'; break; case 11: return 'novembro'; break; case 12: return 'dezembro'; break; } } // Printa o erro na tela se houver function printErro() { if ( $_SESSION['msg'] ) { print $_SESSION['msg']; $_SESSION['msg'] = ''; } } function caixaFiltro() { // Qual é a página que está sendo paginada $pagina = explode("/", $_SERVER['PHP_SELF']); $pagina = $pagina[count($pagina)-1]; // Link da página atual com toda query string foreach($_GET as $k=>$v) if($k <> 'begin' && $k <> 'p' && $k <> 'defineorder' ) $queryString .= $k .'='. $v .'&'; $link = $pagina .'?'. substr($queryString, 0, (strlen($queryString)-1)); print '

    Informação do Sistema Fechar

    '; } function caixaInsere() { $qstring = '?'; foreach ( $_GET as $k=>$v ) $qstring .= $k.'='.$v.'&'; print '

    Informação do Sistema Fechar

    '; } //Geração de senha randômica function geraSenha($dig=6) { $string = '0123456789abcdefghijlmnopqrstuvxyzw'; $senha = ''; while ( strlen($senha) < $dig ) { $senha .= substr($string, rand(0, strlen($string)), 1); } return $senha; } // Imprime a caixa para visualização de imagens no admin function printImagePreview() { print ''; } function getExtension($filename) { $tmp = explode('.', $filename); return $tmp[count($tmp)-1]; } function ConvertFromDateTime($dttm,$saida='Data'){ if (($dttm != '0000-00-00 00:00:00') and ($dttm != '')) { $erro = false; switch(strlen($dttm)) { // tamanho do formato 2006-12-31 24:00:00 case 19 : if(strpos($dttm,' ') == 10) { $date_time = explode(" ", $dttm); } else { if(!$erro) $erro = 1; } if(!$erro and (strpos($date_time[0],'-') == 4) and (strrpos($date_time[0],'-') == 7)) { $date = explode("-",$date_time[0]); list($year, $month, $day)=$date; } else { if(!$erro) $erro = 2; } if(!$erro and (strpos($date_time[1],':') == 2) and (strrpos($date_time[1],':') == 5)) { $time = explode(":",$date_time[1]); list($hour,$minute,$second)=$time; } else { if(!$erro) $erro = 3; } if(!$erro) { $unixtime = mktime($hour,$minute,$second,$month,$day,$year); unset($date_time); } else { if($erro >= 1) unset($date_time); echo $erro; return false; } break; // tamanho do formato 2006-12-31 case 10 : $erro = false; if(!$erro and (strpos($dttm,'-') == 4) and (strrpos($dttm,'-') == 7)) { $date = explode("-",$dttm); list($year, $month, $day)=$date; } else { if((strpos($dttm,'/') == 2) and (strrpos($dttm,'/') == 5)) { return $dttm; } else { $erro = true; } } if(!$erro) { unset($date); $unixtime = mktime(0,0,0,$month,$day,$year); } else { return false; } break; // tamanho do formato 24:00:00 case 8 : $erro = false; if(!$erro and (strpos($dttm,':') == 2) and (strrpos($dttm,':') == 5)) { $time = explode(":",$dttm); list($hour,$minute,$second)=$time; } else { $erro = true; } if(!$erro) { $unixtime = gmmktime($hour,$minute,$second,1,1,1970); } else { return false; } break; // tamanho do formato 24:00 case 5 : $erro = false; if(!$erro and (strpos($dttm,':') == 2)) { $time = explode(":",$dttm); list($hour,$minute)=$time; } else { $erro = true; } if(!$erro) { $unixtime = gmmktime($hour,$minute,0,1,1,1970); } else { return false; } break; default : return $dttm; } // Conversão de saída switch($saida) { case 'DataHora' : return date('d/m/Y H:i:s',$unixtime); break; Case 'Data' : return date('d/m/Y',$unixtime); break; Case 'Hora' : return date('H:i:s',$unixtime); break; Case 'Unix' : return $unixtime; break; } } else { return false; } } function ConvertToDateTime($data,$comHoras = true) { if(!$erro and (strpos($data,'/') == 2) and (strrpos($data,'/') == 5)) { $arrData = explode('/',$data); $dataSaida = $arrData[2]."-".$arrData[1]."-".$arrData[0]; if($comHoras) $dataSaida .= " 00:00:00"; return $dataSaida; } else { return false; } } function FloatToMoney($valor,$mostrar=true) { $varTmp = str_replace('.',',',$valor); if($valor == 0 or $valor == '') { if($mostrar) $varTmp = '0,00'; else $varTmp=''; } else { if($posi = strrpos($varTmp,',')){ $rposi = strlen($varTmp) - $posi; if($rposi == 2) $varTmp .= "0"; } else { $varTmp .= ",00"; } } return $varTmp; } function MoneyToFloat($valor) { $varTmp = str_replace('.','',$valor); return str_replace(',','.',$varTmp); } function SearchImage($DiretorioLocal,$URL,$NomeImagem) { $ImgExts = array("jpeg","jpg","png","gif","tif","tiff"); foreach($ImgExts AS $Ext) { if (file_exists($DiretorioLocal.$NomeImagem.".".$Ext)) { $ImagePath = $URL.$NomeImagem.".".$Ext; break; } } if($ImagePath != '') { return $ImagePath; } else { return false; } } function SearchArquivo($DiretorioLocal,$URL,$NomeImagem) { $ImgExts = array("gif","jpg","png","zip","rar","doc","xls","ppt","pdf"); foreach($ImgExts AS $Ext) { if (file_exists($DiretorioLocal.$NomeImagem.".".$Ext)) { $ImagePath = $URL.$NomeImagem.".".$Ext; break; } } if($ImagePath != '') { return $ImagePath; } else { return false; } } function SearchImagePath($DiretorioLocal,$NomeImagem) { $ImgExts = array("jpeg","jpg","png","gif","tif","tiff"); foreach($ImgExts AS $Ext) { if (file_exists($DiretorioLocal.$NomeImagem.".".$Ext)) { $ImagePath = $DiretorioLocal.$NomeImagem.".".$Ext; break; } } if($ImagePath != '') { return $ImagePath; } else { return false; } } function print_rr($dados){ print "
    ";
    	print_r($dados);
    	print "
    "; } function date2age ($birthday){ //formato aaaa-mm-dd list($year,$month,$day) = explode("-",$birthday); // $year_diff = date("Y") - $year; // $month_diff = date("m") - $month; // $day_diff = date("d") - $day; // if ($month_diff < 0) $year_diff--; // elseif (($month_diff==0) && ($day_diff < 0)) $year_diff--; // return $year_diff; // } //Gera combobox através de um array function comboBox($nome, $class = "", $dados, $selected, $atributos = "") { $count = count($dados); echo ""; } ?> * @version 19.03.2008 */ class servicos { var $db; var $servicos = Array(1=>'Serviços Padronizados', 2=>'Serviços Estruturados', 3=>'Finanças Imobiliária', 4=>'Outros'); /** * Construtora */ function servicos() { $this->db = $GLOBALS['db']; } /** * Insere um servico * * @return integer */ function insert() { // Tratamento de erro para a imagem if( $_FILES['imagem']['name'] ) { // Foto foi enviada $foto1 = '1'; if( !isImage('imagem') ) { $_SESSION['msg'] = 'Tipo de imagem não permitido (gif, jpg, png).'; return 0; } if($_FILES['imagem']['error'] <> 0 && $_FILES['imagem']['size'] == 0) { $_SESSION['msg'] = 'Tamanho da imagem não permitido (m´ximo '. ini_get("upload_max_filesize") .'B).'; return 0; } } // Inicia a transação $this->db->start_transaction() ; $sql = " INSERT INTO ".PREFIXO."servicos ( nome, categoria, texto, status ) values ( '". $_POST['nome'] ."', '". $_POST['categoria'] ."', '". $_POST['texto'] ."', '". $_POST['status'] ."' )"; if ( !$this->db->query($sql) ) { // Erro ao tentar inserir $this->db->rollback(); $_SESSION['msg'] = 'Erro ao tentar inserir serviço.'; return 0; } // Recupera o id inserido $idServico = $this->db->insert_id(); // Faz o upload da imagem if ( $foto1 == '1' ) { $tmp = explode('.', $_FILES['imagem']['name']); $ext = strtolower( $tmp[count($tmp)-1] ); move_uploaded_file($_FILES['imagem']['tmp_name'], SERVICOS.$idServico.'.'.$ext); @chmod(SERVICOS.$idServico.'.'.$ext, 0777); } $this->db->commit(); $_SESSION['msg'] = 'Serviço cadastrado com sucesso.'; return 1; } /** * Atualiza um serviço * * @param integer $idServico * @return integer */ function update( $idServico ) { // Tratamento de erro para a imagem if( $_FILES['imagem']['name'] ) { // Foto foi enviada $foto1 = '1'; if( !isImage('imagem') ) { $_SESSION['msg'] = 'Tipo de imagem não permitido (gif, jpg, png).'; return 0; } if($_FILES['imagem']['error'] <> 0 && $_FILES['imagem']['size'] == 0) { $_SESSION['msg'] = 'Tamanho da imagem não permitido (m´ximo '. ini_get("upload_max_filesize") .'B).'; return 0; } // Exclui o logo antigo @unlink(SERVICOS.$idServico.'.jpg'); @unlink(SERVICOS.$idServico.'.gif'); @unlink(SERVICOS.$idServico.'.png'); } // Inicia a transação $this->db->start_transaction(); $sql = " UPDATE ".PREFIXO."servicos SET nome = '". $_POST['nome'] ."', categoria = '". $_POST['categoria'] ."', texto = '". $_POST['texto'] ."', status = '". $_POST['status'] ."' WHERE idServico = '". $idServico ."'"; if ( !$this->db->query($sql) ) { // Erro ao tentar atualizar $this->db->rollback(); $_SESSION['msg'] = 'Erro ao tentar atualizar o serviço.'; return 0; } // Faz o upload da imagem if ( $foto1 == '1' ) { $tmp = explode('.', $_FILES['imagem']['name']); $ext = strtolower( $tmp[count($tmp)-1] ); move_uploaded_file($_FILES['imagem']['tmp_name'], SERVICOS.$idServico.'.'.$ext); @chmod(SERVICOS.$idServico.'.'.$ext, 0777); } $this->db->commit(); $_SESSION['msg'] = 'Serviço alterado com sucesso.'; return 1; } /** * Remove um serviço * * @param integer $idServico * @return integer */ function delete( $idServico ) { $sql = "DELETE FROM ".PREFIXO."servicos WHERE idServico = '". $idServico ."' "; $this->db->query($sql); // Exclui todos os possíveis logos do serviço @unlink(SERVICOS.$idServico.'.jpg'); @unlink(SERVICOS.$idServico.'.gif'); @unlink(SERVICOS.$idServico.'.png'); $_SESSION['msg'] = "Serviço excluído com sucesso."; return 1; } /** * Retorna todas os serviços * * @return array */ function selectAll() { if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) { $_SESSION['idServico'] = $_POST['idServico']; $_SESSION['nome'] = $_POST['nome']; $_SESSION['categoria'] = $_POST['categoria']; $_SESSION['status'] = $_POST['status']; } if ( $_GET['begin'] ) { if($_GET['busca'] == 'limpar'){ unset($_SESSION['idServico']); unset($_SESSION['nome']); unset($_SESSION['categoria']); unset($_SESSION['status']); } $_SESSION['orderby'] = 'nome ASC'; } $sql = " SELECT idServico, nome, categoria, texto, status FROM ".PREFIXO."servicos WHERE 1 "; // Concatena os filtros caso estejam setados if ( $_SESSION['nome'] ) $sql .= " AND nome LIKE '%".$_SESSION['nome']."%'"; if ( $_SESSION['categoria'] ) $sql .= " AND categoria = '".$_SESSION['categoria']."'"; if ( $_SESSION['status'] <> '' ) $sql .= " AND status = '". $_SESSION['status'] ."' "; $sql .= " ORDER BY ". $_SESSION['orderby']; $query = $this->db->query($sql); $numReg = $this->db->num_rows($query); $sql .= paginacao($numReg, PP_SERVICOS); $query = $this->db->query($sql); if($numReg > 0) { while ( ($obj = $this->db->fetch_object($query)) !== false ) $return[] = $obj; } return $return; } /** * Retorna um serviço * * @param integer $idServico * @return object */ function selectOne( $idServico ) { $sql = " SELECT * FROM ".PREFIXO."servicos WHERE idServico = '". $idServico ."'"; $query = $this->db->query($sql); return $this->db->fetch_object($query); } /** * Todas os serviços para um combo * * @return array */ function dropDown() { $sql = " SELECT * FROM ".PREFIXO."servicos ORDER BY nome"; $query = $this->db->query($sql); while ( ($obj = $this->db->fetch_object($query)) !== false ) $return[] = $obj; return $return; } /** * Seleciona os servicos por categoria * * @param int $idCat * @return Object */ function selectServicosCategoria($idCat){ $return = array(); $sql = " SELECT idServico, nome FROM ".PREFIXO."servicos WHERE status = '1' AND categoria = '".$idCat."' ORDER BY nome"; $query = $this->db->query($sql); while ( ($obj = $this->db->fetch_object($query)) !== false ) $return[] = $obj; return $return; } /** * Seleciona os cases de cada serviço * * @param int $idServico * @return Object */ function selectServicosCases($idServico){ $return = array(); $sql = "SELECT C.idCase, C.titulo FROM ".PREFIXO."cases C INNER JOIN ".PREFIXO."servicos_cases SC ON SC.idCase = C.idCase WHERE SC.idServico = '".$idServico."' ORDER BY C.titulo"; $query = $this->db->query($sql); while ( ($obj = $this->db->fetch_object($query)) !== false ) $return[] = $obj; return $return; } /** * Retorn os dados do case * * @param int $idCase * @return Array */ function selectCase($idCase){ $return = array(); $sql = "SELECT idCase, titulo, texto FROM ".PREFIXO."cases WHERE idCase = '".$idCase."'"; if(($query = $this->db->query($sql)) != false){ if(($row = $this->db->fetch_object($query)) != false) $return = $row; } return $return; } } ?>