= '$hoje' AND r.cod_area = " . $area . " AND b.tipo = " . $tipo["codigo"] ); // Lista os banners válidos daquele tipo apenas while( $banner = mysql_fetch_array( $rsListaBanners ) ){ // Coloca cada banner no vetor, n vezes, onde n é o seu peso // for( $i = 0; $i < $banner["peso"]; $i++ ){ // Repete n (peso) vezes // array_push( $lista, $banner["codigo"] ); // Adiciona o banner no vetor // } } array_push( $posicoes, $tipo["codigo"] ); // Adiciona o vetor em um vetor criando uma matriz de banners // array_push( $listaGeral, $lista ); // Coloca o tipo do banner em outro vetor para relacionar os banners na matriz // } } // ** BUSCAR BANNER ** // // Recebe um tipo de banner e escolhe um na lista // function buscarBanner( $tipo, $flutuacao ){ global $listaGeral, $posicoes, $tbl; $arr2 = array(); // Vetor auxiliar // $cod_vetor = array_search( $tipo, $posicoes ); // Encontra a coluna na matriz para o tipo de banner escolhido // $arr = $listaGeral[ $cod_vetor ]; // Joga em arr apenas os banners da coluna escolhida // //print_r( $arr ); $tam = sizeof( $arr ); // Pega o tamanho de arr // $pos = rand( 0, $tam - 1 ); // Escolhe uma posição aleatória no vetor // $escolhido = $arr[$pos]; // Escolhe o banner daquela posição escolhida // for( $i = 0; $i < $tam; $i++ ) // Roda todo o vetor // if( $escolhido != $arr[$i] ){ // Escolhe todos os que são diferentes do escolhdo e... // array_push( $arr2, $arr[$i] ); // ...os coloca em arr2 // } $arr = $arr2; // Define arr sendo igual a arr2, ou seja, igual a ele mesmo menos todos os banners iguais ao escolhido // mostrarBanner( $escolhido, $flutuacao ); // Chama a funcção que mostra o banner na tela // $listaGeral[$cod_vetor] = $arr; // Redefine a matriz agora sem o banner escolhido para que ele não seja chamado denovo na página // } // ** MOSTRAR BANNER ** // // Esta função mostra o banner na tela // function mostrarBanner( $cod_banner, $flutuacao ){ global $tbl; $pasta = "../uploads/banners/"; if( $cod_banner != "" ){ // Busca informações do banner // $rsLeBanner = mysql_query( "SELECT b.arquivo, b.link, b.target, t.altura, t.largura, b.descricao, b.flutuante FROM ".$tbl."_banners b JOIN ".$tbl."_banners_tipos t ON b.tipo = t.codigo WHERE b.codigo = " . $cod_banner . " LIMIT 1" ); $banner = mysql_fetch_assoc( $rsLeBanner ); $ext = substr( $banner["arquivo"], strlen( $banner["arquivo"] ) - 3, 3 ); // Mostra o banner // if( $banner["flutuante"] == "N" ){ // Localizado // echo "
"; if( $banner["link"] != "" && $ext != "swf" ) echo ""; if( $ext == "swf" ){ echo ' '; /*echo "";*/ }else echo ""; if( $banner["link"] != "" && $ext != "swf" ) echo ""; echo "
"; } else{ // Flutuante // echo "
"; if( $banner["link"] != "" && $ext != "swf" ) echo ""; list( $largura, $altura ) = explode( ";", mysql_result( mysql_query( "SELECT dimensoes FROM " . $tbl . "_banners WHERE codigo = " . $cod_banner . " LIMIT 1" ), 0 ) ); if( $ext == "swf" ) echo ""; else echo ""; if( $banner["link"] != "" && $ext != "swf" ) echo ""; echo "
"; } // Atualiza estatísticas do banner // bannerExibido( $cod_banner ); $hits = mysql_result( mysql_query( "SELECT SUM(quantidade) FROM ".$tbl."_banners_hits WHERE banner = " . $cod_banner ), 0 ); $hits_contratado = mysql_result( mysql_query( "SELECT hits_contratados FROM ".$tbl."_banners WHERE codigo = " . $cod_banner ), 0 ); if( $hits == $hits_contratado ) mysql_query( "UPDATE ".$tbl."_banners SET status = 'E' WHERE codigo = " . $cod_banner . " LIMIT 1" ); } } // ** BANNER EXIBIDO ** // // Esta função grava o log de exibição do banner // function bannerExibido( $cod_banner ){ global $tbl; $hoje = date( "Y-m-d" ); $hora = date( "H:i" ); if( $hora >= "00:00" && $hora <= "05:59" ) $periodo = "MD"; if( $hora >= "06:00" && $hora <= "11:59" ) $periodo = "MN"; if( $hora >= "12:00" && $hora <= "17:59" ) $periodo = "TD"; if( $hora >= "18:00" && $hora <= "23:59" ) $periodo = "NT"; // Atualiza // mysql_query( "UPDATE ".$tbl."_banners_hits SET quantidade = quantidade + 1 WHERE data = '$hoje' AND periodo = '$periodo' AND banner = " . $cod_banner . " LIMIT 1" ); // Adiciona // if( mysql_affected_rows() == 0 ) mysql_query( "INSERT INTO ".$tbl."_banners_hits( quantidade, data, periodo, banner ) VALUES( 1, '$hoje', '$periodo', " . $cod_banner . ")" ); } // ** BANNER CLICADO ** // // Esta função grava o log de cliques do banner // function bannerClicado( $cod_banner ){ global $tbl; $hoje = date( "Y-m-d" ); $hora = date( "H:i" ); if( $hora >= "00:00" && $hora <= "05:59" ) $periodo = "MD"; if( $hora >= "06:00" && $hora <= "11:59" ) $periodo = "MN"; if( $hora >= "12:00" && $hora <= "17:59" ) $periodo = "TD"; if( $hora >= "18:00" && $hora <= "23:59" ) $periodo = "NT"; // Atualiza // mysql_query( "UPDATE ".$tbl."_banners_clicks SET quantidade = quantidade + 1 WHERE data = '$hoje' AND periodo = '$periodo' AND banner = " . $cod_banner . " LIMIT 1" ) or die(mysql_error()); // Adiciona // if( mysql_affected_rows() <= 0 ){ mysql_query( "INSERT INTO ".$tbl."_banners_clicks( quantidade, data, periodo, banner ) VALUES( 1, '$hoje', '$periodo', " . $cod_banner . ")" ); } } ?>