Ir para conteúdo

rafinhafv

Members
  • Total de itens

    33
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre rafinhafv

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

  1. rafinhafv

    [Resolvido] Botão de pesquisa

    Já está resolvido! Obrigado a todos!
  2. rafinhafv

    [Resolvido] Criar rodapé

    Já foi resolvido! Obrigado a todos pela ajuda!
  3. rafinhafv

    Habilitar uma página em um site

    Olá... estou com a seguinte dúvida! Existe alguma função em php onde eu possa escolher se quero ativar ou desativar uma determinada página no site através de algum botão ou link? Por exemplo, no site tem a página de culinária e ai essa semana quero que essa página de culinária não fique ativa. Na semana seguinte quero reativar a página. Tem alguma forma de fazer isso através do botão ou de um link? Agradeço desde já!
  4. rafinhafv

    [Resolvido] Criar rodapé

    A minha unica dúvida é fazer a questão do assine a nossa newsletter... como posso fazer? O resto é de boa!
  5. rafinhafv

    [Resolvido] Criar rodapé

    Preciso criar esse rodapé no site e não consigo criar... alguem pode me auxiliar?
  6. rafinhafv

    [Resolvido] Boleto em PHP

    fechou 100%... havia colocado espaço depois da conta e da agencia, por isso nao estava dando certo... muito obrigado pela ajuda... vlw mesmo... estava a desde quinta encima disso e nada de resolver...
  7. rafinhafv

    [Resolvido] Boleto em PHP

    Era isso mesmo... antes de você mandar a resposta estava vendo que as imagens não estava na pasta... só mais uma dúvida... Ali no boleto tem o Agência/Código cedente ai coloco a agencia e o código cedente que seria a conta, so que o digito ele não vai... como coloco o dígito? pede para inserir a conta e a agencia sem o dígito, so que ele pega um digito aleatório... como resolvo?
  8. rafinhafv

    [Resolvido] Boleto em PHP

    Aqui está: <?php // +----------------------------------------------------------------------+ // | BoletoPhp - Versão Beta | // +----------------------------------------------------------------------+ // | Este arquivo está disponível sob a Licença GPL disponível pela Web | // | em http://pt.wikipedia.org/wiki/GNU_General_Public_License | // | Você deve ter recebido uma cópia da GNU Public License junto com | // | esse pacote; se não, escreva para: | // | | // | Free Software Foundation, Inc. | // | 59 Temple Place - Suite 330 | // | Boston, MA 02111-1307, USA. | // +----------------------------------------------------------------------+ // +----------------------------------------------------------------------+ // | Originado do Projeto BBBoletoFree que tiveram colaborações de Daniel | // | William Schultz e Leandro Maniezo que por sua vez foi derivado do | // | PHPBoleto de João Prado Maia e Pablo Martins F. Costa | // | | // | Se você quer colaborar, nos ajude a desenvolver p/ os demais bancos :-)| // | Acesse o site do Projeto BoletoPhp: www.boletophp.com.br | // +----------------------------------------------------------------------+ // +-------------------------------------------------------------------------------------------------------------------------+ // | Equipe Coordenação Projeto BoletoPhp: <boletophp@boletophp.com.br> | // | Desenvolvimento Boleto Banco do Brasil: Daniel William Schultz / Leandro Maniezo / Rogério Dias Pereira / Romeu Medeiros| // +-------------------------------------------------------------------------------------------------------------------------+ $codigobanco = "001"; $codigo_banco_com_dv = geraCodigoBanco($codigobanco); $nummoeda = "9"; $fator_vencimento = fator_vencimento($dadosboleto["data_vencimento"]); //valor tem 10 digitos, sem virgula $valor = formata_numero($dadosboleto["valor_boleto"],10,0,"valor"); //agencia é sempre 4 digitos $agencia = formata_numero($dadosboleto["agencia"],4,0); //conta é sempre 8 digitos $conta = formata_numero($dadosboleto["conta"],8,0); //carteira 18 $carteira = $dadosboleto["carteira"]; //agencia e conta $agencia_codigo = $agencia."-". modulo_11($agencia) ." / ". $conta ."-". modulo_11($conta); //Zeros: usado quando convenio de 7 digitos $livre_zeros='000000'; // Carteira 18 com Convênio de 8 dígitos if ($dadosboleto["formatacao_convenio"] == "8") { $convenio = formata_numero($dadosboleto["convenio"],8,0,"convenio"); // Nosso número de até 9 dígitos $nossonumero = formata_numero($dadosboleto["nosso_numero"],9,0); $dv=modulo_11("$codigobanco$nummoeda$fator_vencimento$valor$livre_zeros$convenio$nossonumero$carteira"); $linha="$codigobanco$nummoeda$dv$fator_vencimento$valor$livre_zeros$convenio$nossonumero$carteira"; //montando o nosso numero que aparecerá no boleto $nossonumero = $convenio . $nossonumero ."-". modulo_11($convenio.$nossonumero); } // Carteira 18 com Convênio de 7 dígitos if ($dadosboleto["formatacao_convenio"] == "7") { $convenio = formata_numero($dadosboleto["convenio"],7,0,"convenio"); // Nosso número de até 10 dígitos $nossonumero = formata_numero($dadosboleto["nosso_numero"],10,0); $dv=modulo_11("$codigobanco$nummoeda$fator_vencimento$valor$livre_zeros$convenio$nossonumero$carteira"); $linha="$codigobanco$nummoeda$dv$fator_vencimento$valor$livre_zeros$convenio$nossonumero$carteira"; $nossonumero = $convenio.$nossonumero; //Não existe DV na composição do nosso-número para convênios de sete posições } // Carteira 18 com Convênio de 6 dígitos if ($dadosboleto["formatacao_convenio"] == "6") { $convenio = formata_numero($dadosboleto["convenio"],6,0,"convenio"); if ($dadosboleto["formatacao_nosso_numero"] == "1") { // Nosso número de até 5 dígitos $nossonumero = formata_numero($dadosboleto["nosso_numero"],5,0); $dv = modulo_11("$codigobanco$nummoeda$fator_vencimento$valor$convenio$nossonumero$agencia$conta$carteira"); $linha = "$codigobanco$nummoeda$dv$fator_vencimento$valor$convenio$nossonumero$agencia$conta$carteira"; //montando o nosso numero que aparecerá no boleto $nossonumero = $convenio . $nossonumero ."-". modulo_11($convenio.$nossonumero); } if ($dadosboleto["formatacao_nosso_numero"] == "2") { // Nosso número de até 17 dígitos $nservico = "21"; $nossonumero = formata_numero($dadosboleto["nosso_numero"],17,0); $dv = modulo_11("$codigobanco$nummoeda$fator_vencimento$valor$convenio$nossonumero$nservico"); $linha = "$codigobanco$nummoeda$dv$fator_vencimento$valor$convenio$nossonumero$nservico"; } } $dadosboleto["codigo_barras"] = $linha; $dadosboleto["linha_digitavel"] = monta_linha_digitavel($linha); $dadosboleto["agencia_codigo"] = $agencia_codigo; $dadosboleto["nosso_numero"] = $nossonumero; $dadosboleto["codigo_banco_com_dv"] = $codigo_banco_com_dv; // FUNÇÕES // Algumas foram retiradas do Projeto PhpBoleto e modificadas para atender as particularidades de cada banco function formata_numero($numero,$loop,$insert,$tipo = "geral") { if ($tipo == "geral") { $numero = str_replace(",","",$numero); while(strlen($numero)<$loop){ $numero = $insert . $numero; } } if ($tipo == "valor") { /* retira as virgulas formata o numero preenche com zeros */ $numero = str_replace(",","",$numero); while(strlen($numero)<$loop){ $numero = $insert . $numero; } } if ($tipo == "convenio") { while(strlen($numero)<$loop){ $numero = $numero . $insert; } } return $numero; } function fbarcode($valor){ $fino = 1 ; $largo = 3 ; $altura = 50 ; $barcodes[0] = "00110" ; $barcodes[1] = "10001" ; $barcodes[2] = "01001" ; $barcodes[3] = "11000" ; $barcodes[4] = "00101" ; $barcodes[5] = "10100" ; $barcodes[6] = "01100" ; $barcodes[7] = "00011" ; $barcodes[8] = "10010" ; $barcodes[9] = "01010" ; for($f1=9;$f1>=0;$f1--){ for($f2=9;$f2>=0;$f2--){ $f = ($f1 * 10) + $f2 ; $texto = "" ; for($i=1;$i<6;$i++){ $texto .= substr($barcodes[$f1],($i-1),1) . substr($barcodes[$f2],($i-1),1); } $barcodes[$f] = $texto; } } //Desenho da barra //Guarda inicial ?><img src=../imagens/p.png width=<?php echo $fino?> height=<?php echo $altura?> border=0><img src=../imagens/b.png width=<?php echo $fino?> height=<?php echo $altura?> border=0><img src=../imagens/p.png width=<?php echo $fino?> height=<?php echo $altura?> border=0><img src=../imagens/b.png width=<?php echo $fino?> height=<?php echo $altura?> border=0><img <?php $texto = $valor ; if((strlen($texto) % 2) <> 0){ $texto = "0" . $texto; } // Draw dos dados while (strlen($texto) > 0) { $i = round(esquerda($texto,2)); $texto = direita($texto,strlen($texto)-2); $f = $barcodes[$i]; for($i=1;$i<11;$i+=2){ if (substr($f,($i-1),1) == "0") { $f1 = $fino ; }else{ $f1 = $largo ; } ?> src=imagens/p.png width=<?php echo $f1?> height=<?php echo $altura?> border=0><img <?php if (substr($f,$i,1) == "0") { $f2 = $fino ; }else{ $f2 = $largo ; } ?> src=imagens/b.png width=<?php echo $f2?> height=<?php echo $altura?> border=0><img <?php } } // Draw guarda final ?> src=imagens/p.png width=<?php echo $largo?> height=<?php echo $altura?> border=0><img src=imagens/b.png width=<?php echo $fino?> height=<?php echo $altura?> border=0><img src=imagens/p.png width=<?php echo 1?> height=<?php echo $altura?> border=0> <?php } //Fim da função function esquerda($entra,$comp){ return substr($entra,0,$comp); } function direita($entra,$comp){ return substr($entra,strlen($entra)-$comp,$comp); } function fator_vencimento($data) { $data = explode("/",$data); $ano = $data[2]; $mes = $data[1]; $dia = $data[0]; return(abs((_dateToDays("1997","10","07")) - (_dateToDays($ano, $mes, $dia)))); } function _dateToDays($year,$month,$day) { $century = substr($year, 0, 2); $year = substr($year, 2, 2); if ($month > 2) { $month -= 3; } else { $month += 9; if ($year) { $year--; } else { $year = 99; $century --; } } return ( floor(( 146097 * $century) / 4 ) + floor(( 1461 * $year) / 4 ) + floor(( 153 * $month + 2) / 5 ) + $day + 1721119); } /* ################################################# FUNÇÃO DO MÓDULO 10 RETIRADA DO PHPBOLETO ESTA FUNÇÃO PEGA O DÍGITO VERIFICADOR DO PRIMEIRO, SEGUNDO E TERCEIRO CAMPOS DA LINHA DIGITÁVEL ################################################# */ function modulo_10($num) { $numtotal10 = 0; $fator = 2; for ($i = strlen($num); $i > 0; $i--) { $numeros[$i] = substr($num,$i-1,1); $parcial10[$i] = $numeros[$i] * $fator; $numtotal10 .= $parcial10[$i]; if ($fator == 2) { $fator = 1; } else { $fator = 2; } } $soma = 0; for ($i = strlen($numtotal10); $i > 0; $i--) { $numeros[$i] = substr($numtotal10,$i-1,1); $soma += $numeros[$i]; } $resto = $soma % 10; $digito = 10 - $resto; if ($resto == 0) { $digito = 0; } return $digito; } /* ################################################# FUNÇÃO DO MÓDULO 11 RETIRADA DO PHPBOLETO MODIFIQUEI ALGUMAS COISAS... ESTA FUNÇÃO PEGA O DÍGITO VERIFICADOR: NOSSONUMERO AGENCIA CONTA CAMPO 4 DA LINHA DIGITÁVEL ################################################# */ function modulo_11($num, $base=9, $r=0) { $soma = 0; $fator = 2; for ($i = strlen($num); $i > 0; $i--) { $numeros[$i] = substr($num,$i-1,1); $parcial[$i] = $numeros[$i] * $fator; $soma += $parcial[$i]; if ($fator == $base) { $fator = 1; } $fator++; } if ($r == 0) { $soma *= 10; $digito = $soma % 11; //corrigido if ($digito == 10) { $digito = "X"; } /* alterado por mim, Daniel Schultz Vamos explicar: O módulo 11 só gera os digitos verificadores do nossonumero, agencia, conta e digito verificador com codigo de barras (aquele que fica sozinho e triste na linha digitável) só que é foi um rolo...pq ele nao podia resultar em 0, e o pessoal do phpboleto se esqueceu disso... No BB, os dígitos verificadores podem ser X ou 0 (zero) para agencia, conta e nosso numero, mas nunca pode ser X ou 0 (zero) para a linha digitável, justamente por ser totalmente numérica. Quando passamos os dados para a função, fica assim: Agencia = sempre 4 digitos Conta = até 8 dígitos Nosso número = de 1 a 17 digitos A unica variável que passa 17 digitos é a da linha digitada, justamente por ter 43 caracteres Entao vamos definir ai embaixo o seguinte... se (strlen($num) == 43) { não deixar dar digito X ou 0 } */ if (strlen($num) == "43") { //então estamos checando a linha digitável if ($digito == "0" or $digito == "X" or $digito > 9) { $digito = 1; } } return $digito; } elseif ($r == 1){ $resto = $soma % 11; return $resto; } } /* Montagem da linha digitável - Função tirada do PHPBoleto Não mudei nada */ function monta_linha_digitavel($linha) { // Posição Conteúdo // 1 a 3 Número do banco // 4 Código da Moeda - 9 para Real // 5 Digito verificador do Código de Barras // 6 a 19 Valor (12 inteiros e 2 decimais) // 20 a 44 Campo Livre definido por cada banco // 1. Campo - composto pelo código do banco, código da moéda, as cinco primeiras posições // do campo livre e DV (modulo10) deste campo $p1 = substr($linha, 0, 4); $p2 = substr($linha, 19, 5); $p3 = modulo_10("$p1$p2"); $p4 = "$p1$p2$p3"; $p5 = substr($p4, 0, 5); $p6 = substr($p4, 5); $campo1 = "$p5.$p6"; // 2. Campo - composto pelas posiçoes 6 a 15 do campo livre // e livre e DV (modulo10) deste campo $p1 = substr($linha, 24, 10); $p2 = modulo_10($p1); $p3 = "$p1$p2"; $p4 = substr($p3, 0, 5); $p5 = substr($p3, 5); $campo2 = "$p4.$p5"; // 3. Campo composto pelas posicoes 16 a 25 do campo livre // e livre e DV (modulo10) deste campo $p1 = substr($linha, 34, 10); $p2 = modulo_10($p1); $p3 = "$p1$p2"; $p4 = substr($p3, 0, 5); $p5 = substr($p3, 5); $campo3 = "$p4.$p5"; // 4. Campo - digito verificador do codigo de barras $campo4 = substr($linha, 4, 1); // 5. Campo composto pelo valor nominal pelo valor nominal do documento, sem // indicacao de zeros a esquerda e sem edicao (sem ponto e virgula). Quando se // tratar de valor zerado, a representacao deve ser 000 (tres zeros). $campo5 = substr($linha, 5, 14); return "$campo1 $campo2 $campo3 $campo4 $campo5"; } function geraCodigoBanco($numero) { $parte1 = substr($numero, 0, 3); $parte2 = modulo_11($parte1); return $parte1 . "-" . $parte2; } ?>
  9. rafinhafv

    [Resolvido] Boleto em PHP

    Alguém consegue me ajudar?
  10. rafinhafv

    [Resolvido] Boleto em PHP

    Olá pessoal! Estou com um problema na geração de boletos em php pelo banco do brasil... peguei um código no site de boletosphp e o código acho que está com problema, ele gera o boleto mas sem o código de barras... alguém poderia me ajudar? Segue os códigos: boleto_bb.php <?php // DADOS DO BOLETO PARA O SEU CLIENTE $dias_de_prazo_para_pagamento = 5; $taxa_boleto = 2.95; $data_venc = date("d/m/Y", time() + ($dias_de_prazo_para_pagamento * 86400)); // Prazo de X dias OU informe data: "13/04/2006"; $valor_cobrado = "2950,00"; // Valor - REGRA: Sem pontos na milhar e tanto faz com "." ou "," ou com 1 ou 2 ou sem casa decimal $valor_cobrado = str_replace(",", ".",$valor_cobrado); $valor_boleto=number_format($valor_cobrado+$taxa_boleto, 2, ',', ''); $dadosboleto["nosso_numero"] = "87654"; $dadosboleto["numero_documento"] = "27.030195.10"; // Num do pedido ou do documento $dadosboleto["data_vencimento"] = $data_venc; // Data de Vencimento do Boleto - REGRA: Formato DD/MM/AAAA $dadosboleto["data_documento"] = date("d/m/Y"); // Data de emissão do Boleto $dadosboleto["data_processamento"] = date("d/m/Y"); // Data de processamento do boleto (opcional) $dadosboleto["valor_boleto"] = $valor_boleto; // Valor do Boleto - REGRA: Com vírgula e sempre com duas casas depois da virgula // DADOS DO SEU CLIENTE $dadosboleto["sacado"] = "Nome do seu Cliente"; $dadosboleto["endereco1"] = "Endereço do seu Cliente"; $dadosboleto["endereco2"] = "Cidade - Estado - CEP: 00000-000"; // INFORMACOES PARA O CLIENTE $dadosboleto["demonstrativo1"] = "Pagamento de Compra na Loja Nonononono"; $dadosboleto["demonstrativo2"] = "Mensalidade referente a nonon nonooon nononon<br>Taxa bancária - R$ ".number_format($taxa_boleto, 2, ',', ''); $dadosboleto["demonstrativo3"] = "BoletoPhp - http://www.boletophp.com.br"; // INSTRUÇÕES PARA O CAIXA $dadosboleto["instrucoes1"] = "- Sr. Caixa, cobrar multa de 2% após o vencimento"; $dadosboleto["instrucoes2"] = "- Receber até 10 dias após o vencimento"; $dadosboleto["instrucoes3"] = "- Em caso de dúvidas entre em contato conosco: xxxx@xxxx.com.br"; $dadosboleto["instrucoes4"] = "&nbsp; Emitido pelo sistema Projeto BoletoPhp - www.boletophp.com.br"; // DADOS OPCIONAIS DE ACORDO COM O BANCO OU CLIENTE $dadosboleto["quantidade"] = "10"; $dadosboleto["valor_unitario"] = "10"; $dadosboleto["aceite"] = "N"; $dadosboleto["especie"] = "R$"; $dadosboleto["especie_doc"] = "DM"; // ---------------------- DADOS FIXOS DE CONFIGURAÇÃO DO SEU BOLETO --------------- // // DADOS DA SUA CONTA - BANCO DO BRASIL $dadosboleto["agencia"] = "9999"; // Num da agencia, sem digito $dadosboleto["conta"] = "99999"; // Num da conta, sem digito // DADOS PERSONALIZADOS - BANCO DO BRASIL $dadosboleto["convenio"] = "7777777"; // Num do convênio - REGRA: 6 ou 7 ou 8 dígitos $dadosboleto["contrato"] = "999999"; // Num do seu contrato $dadosboleto["carteira"] = "18"; $dadosboleto["variacao_carteira"] = "-019"; // Variação da Carteira, com traço (opcional) // TIPO DO BOLETO $dadosboleto["formatacao_convenio"] = "7"; // REGRA: 8 p/ Convênio c/ 8 dígitos, 7 p/ Convênio c/ 7 dígitos, ou 6 se Convênio c/ 6 dígitos $dadosboleto["formatacao_nosso_numero"] = "2"; // REGRA: Usado apenas p/ Convênio c/ 6 dígitos: informe 1 se for NossoNúmero de até 5 dígitos ou 2 para opção de até 17 dígitos // SEUS DADOS $dadosboleto["identificacao"] = "BoletoPhp - Código Aberto de Sistema de Boletos"; $dadosboleto["cpf_cnpj"] = ""; $dadosboleto["endereco"] = "Coloque o endereço da sua empresa aqui"; $dadosboleto["cidade_uf"] = "Cidade / Estado"; $dadosboleto["cedente"] = "Coloque a Razão Social da sua empresa aqui"; // NÃO ALTERAR! include("include/funcoes_bb.php"); include("include/layout_bb.php"); ?> funcoes_bb.php <?php // +----------------------------------------------------------------------+ // | BoletoPhp - Versão Beta | // +----------------------------------------------------------------------+ // | Este arquivo está disponível sob a Licença GPL disponível pela Web | // | em http://pt.wikipedia.org/wiki/GNU_General_Public_License | // | Você deve ter recebido uma cópia da GNU Public License junto com | // | esse pacote; se não, escreva para: | // | | // | Free Software Foundation, Inc. | // | 59 Temple Place - Suite 330 | // | Boston, MA 02111-1307, USA. | // +----------------------------------------------------------------------+ // +----------------------------------------------------------------------+ // | Originado do Projeto BBBoletoFree que tiveram colaborações de Daniel | // | William Schultz e Leandro Maniezo que por sua vez foi derivado do | // | PHPBoleto de João Prado Maia e Pablo Martins F. Costa | // | | // | Se você quer colaborar, nos ajude a desenvolver p/ os demais bancos :-)| // | Acesse o site do Projeto BoletoPhp: www.boletophp.com.br | // +----------------------------------------------------------------------+ // +-------------------------------------------------------------------------------------------------------------------------+ // | Equipe Coordenação Projeto BoletoPhp: <boletophp@boletophp.com.br> | // | Desenvolvimento Boleto Banco do Brasil: Daniel William Schultz / Leandro Maniezo / Rogério Dias Pereira / Romeu Medeiros| // +-------------------------------------------------------------------------------------------------------------------------+ $codigobanco = "001"; $codigo_banco_com_dv = geraCodigoBanco($codigobanco); $nummoeda = "9"; $fator_vencimento = fator_vencimento($dadosboleto["data_vencimento"]); //valor tem 10 digitos, sem virgula $valor = formata_numero($dadosboleto["valor_boleto"],10,0,"valor"); //agencia é sempre 4 digitos $agencia = formata_numero($dadosboleto["agencia"],4,0); //conta é sempre 8 digitos $conta = formata_numero($dadosboleto["conta"],8,0); //carteira 18 $carteira = $dadosboleto["carteira"]; //agencia e conta $agencia_codigo = $agencia."-". modulo_11($agencia) ." / ". $conta ."-". modulo_11($conta); //Zeros: usado quando convenio de 7 digitos $livre_zeros='000000'; // Carteira 18 com Convênio de 8 dígitos if ($dadosboleto["formatacao_convenio"] == "8") { $convenio = formata_numero($dadosboleto["convenio"],8,0,"convenio"); // Nosso número de até 9 dígitos $nossonumero = formata_numero($dadosboleto["nosso_numero"],9,0); $dv=modulo_11("$codigobanco$nummoeda$fator_vencimento$valor$livre_zeros$convenio$nossonumero$carteira"); $linha="$codigobanco$nummoeda$dv$fator_vencimento$valor$livre_zeros$convenio$nossonumero$carteira"; //montando o nosso numero que aparecerá no boleto $nossonumero = $convenio . $nossonumero ."-". modulo_11($convenio.$nossonumero); } // Carteira 18 com Convênio de 7 dígitos if ($dadosboleto["formatacao_convenio"] == "7") { $convenio = formata_numero($dadosboleto["convenio"],7,0,"convenio"); // Nosso número de até 10 dígitos $nossonumero = formata_numero($dadosboleto["nosso_numero"],10,0); $dv=modulo_11("$codigobanco$nummoeda$fator_vencimento$valor$livre_zeros$convenio$nossonumero$carteira"); $linha="$codigobanco$nummoeda$dv$fator_vencimento$valor$livre_zeros$convenio$nossonumero$carteira"; $nossonumero = $convenio.$nossonumero; //Não existe DV na composição do nosso-número para convênios de sete posições } // Carteira 18 com Convênio de 6 dígitos if ($dadosboleto["formatacao_convenio"] == "6") { $convenio = formata_numero($dadosboleto["convenio"],6,0,"convenio"); if ($dadosboleto["formatacao_nosso_numero"] == "1") { // Nosso número de até 5 dígitos $nossonumero = formata_numero($dadosboleto["nosso_numero"],5,0); $dv = modulo_11("$codigobanco$nummoeda$fator_vencimento$valor$convenio$nossonumero$agencia$conta$carteira"); $linha = "$codigobanco$nummoeda$dv$fator_vencimento$valor$convenio$nossonumero$agencia$conta$carteira"; //montando o nosso numero que aparecerá no boleto $nossonumero = $convenio . $nossonumero ."-". modulo_11($convenio.$nossonumero); } if ($dadosboleto["formatacao_nosso_numero"] == "2") { // Nosso número de até 17 dígitos $nservico = "21"; $nossonumero = formata_numero($dadosboleto["nosso_numero"],17,0); $dv = modulo_11("$codigobanco$nummoeda$fator_vencimento$valor$convenio$nossonumero$nservico"); $linha = "$codigobanco$nummoeda$dv$fator_vencimento$valor$convenio$nossonumero$nservico"; } } $dadosboleto["codigo_barras"] = $linha; $dadosboleto["linha_digitavel"] = monta_linha_digitavel($linha); $dadosboleto["agencia_codigo"] = $agencia_codigo; $dadosboleto["nosso_numero"] = $nossonumero; $dadosboleto["codigo_banco_com_dv"] = $codigo_banco_com_dv; // FUNÇÕES // Algumas foram retiradas do Projeto PhpBoleto e modificadas para atender as particularidades de cada banco function formata_numero($numero,$loop,$insert,$tipo = "geral") { if ($tipo == "geral") { $numero = str_replace(",","",$numero); while(strlen($numero)<$loop){ $numero = $insert . $numero; } } if ($tipo == "valor") { /* retira as virgulas formata o numero preenche com zeros */ $numero = str_replace(",","",$numero); while(strlen($numero)<$loop){ $numero = $insert . $numero; } } if ($tipo == "convenio") { while(strlen($numero)<$loop){ $numero = $numero . $insert; } } return $numero; } function fbarcode($valor){ $fino = 1 ; $largo = 3 ; $altura = 50 ; $barcodes[0] = "00110" ; $barcodes[1] = "10001" ; $barcodes[2] = "01001" ; $barcodes[3] = "11000" ; $barcodes[4] = "00101" ; $barcodes[5] = "10100" ; $barcodes[6] = "01100" ; $barcodes[7] = "00011" ; $barcodes[8] = "10010" ; $barcodes[9] = "01010" ; for($f1=9;$f1>=0;$f1--){ for($f2=9;$f2>=0;$f2--){ $f = ($f1 * 10) + $f2 ; $texto = "" ; for($i=1;$i<6;$i++){ $texto .= substr($barcodes[$f1],($i-1),1) . substr($barcodes[$f2],($i-1),1); } $barcodes[$f] = $texto; } } //Desenho da barra //Guarda inicial ?><img src=imagens/p.png width=<?php echo $fino?> height=<?php echo $altura?> border=0><img src=imagens/b.png width=<?php echo $fino?> height=<?php echo $altura?> border=0><img src=imagens/p.png width=<?php echo $fino?> height=<?php echo $altura?> border=0><img src=imagens/b.png width=<?php echo $fino?> height=<?php echo $altura?> border=0><img <?php $texto = $valor ; if((strlen($texto) % 2) <> 0){ $texto = "0" . $texto; } // Draw dos dados while (strlen($texto) > 0) { $i = round(esquerda($texto,2)); $texto = direita($texto,strlen($texto)-2); $f = $barcodes[$i]; for($i=1;$i<11;$i+=2){ if (substr($f,($i-1),1) == "0") { $f1 = $fino ; }else{ $f1 = $largo ; } ?> src=imagens/p.png width=<?php echo $f1?> height=<?php echo $altura?> border=0><img <?php if (substr($f,$i,1) == "0") { $f2 = $fino ; }else{ $f2 = $largo ; } ?> src=imagens/b.png width=<?php echo $f2?> height=<?php echo $altura?> border=0><img <?php } } // Draw guarda final ?> src=imagens/p.png width=<?php echo $largo?> height=<?php echo $altura?> border=0><img src=imagens/b.png width=<?php echo $fino?> height=<?php echo $altura?> border=0><img src=imagens/p.png width=<?php echo 1?> height=<?php echo $altura?> border=0> <?php } //Fim da função function esquerda($entra,$comp){ return substr($entra,0,$comp); } function direita($entra,$comp){ return substr($entra,strlen($entra)-$comp,$comp); } function fator_vencimento($data) { $data = explode("/",$data); $ano = $data[2]; $mes = $data[1]; $dia = $data[0]; return(abs((_dateToDays("1997","10","07")) - (_dateToDays($ano, $mes, $dia)))); } function _dateToDays($year,$month,$day) { $century = substr($year, 0, 2); $year = substr($year, 2, 2); if ($month > 2) { $month -= 3; } else { $month += 9; if ($year) { $year--; } else { $year = 99; $century --; } } return ( floor(( 146097 * $century) / 4 ) + floor(( 1461 * $year) / 4 ) + floor(( 153 * $month + 2) / 5 ) + $day + 1721119); } /* ################################################# FUNÇÃO DO MÓDULO 10 RETIRADA DO PHPBOLETO ESTA FUNÇÃO PEGA O DÍGITO VERIFICADOR DO PRIMEIRO, SEGUNDO E TERCEIRO CAMPOS DA LINHA DIGITÁVEL ################################################# */ function modulo_10($num) { $numtotal10 = 0; $fator = 2; for ($i = strlen($num); $i > 0; $i--) { $numeros[$i] = substr($num,$i-1,1); $parcial10[$i] = $numeros[$i] * $fator; $numtotal10 .= $parcial10[$i]; if ($fator == 2) { $fator = 1; } else { $fator = 2; } } $soma = 0; for ($i = strlen($numtotal10); $i > 0; $i--) { $numeros[$i] = substr($numtotal10,$i-1,1); $soma += $numeros[$i]; } $resto = $soma % 10; $digito = 10 - $resto; if ($resto == 0) { $digito = 0; } return $digito; } /* ################################################# FUNÇÃO DO MÓDULO 11 RETIRADA DO PHPBOLETO MODIFIQUEI ALGUMAS COISAS... ESTA FUNÇÃO PEGA O DÍGITO VERIFICADOR: NOSSONUMERO AGENCIA CONTA CAMPO 4 DA LINHA DIGITÁVEL ################################################# */ function modulo_11($num, $base=9, $r=0) { $soma = 0; $fator = 2; for ($i = strlen($num); $i > 0; $i--) { $numeros[$i] = substr($num,$i-1,1); $parcial[$i] = $numeros[$i] * $fator; $soma += $parcial[$i]; if ($fator == $base) { $fator = 1; } $fator++; } if ($r == 0) { $soma *= 10; $digito = $soma % 11; //corrigido if ($digito == 10) { $digito = "X"; } /* alterado por mim, Daniel Schultz Vamos explicar: O módulo 11 só gera os digitos verificadores do nossonumero, agencia, conta e digito verificador com codigo de barras (aquele que fica sozinho e triste na linha digitável) só que é foi um rolo...pq ele nao podia resultar em 0, e o pessoal do phpboleto se esqueceu disso... No BB, os dígitos verificadores podem ser X ou 0 (zero) para agencia, conta e nosso numero, mas nunca pode ser X ou 0 (zero) para a linha digitável, justamente por ser totalmente numérica. Quando passamos os dados para a função, fica assim: Agencia = sempre 4 digitos Conta = até 8 dígitos Nosso número = de 1 a 17 digitos A unica variável que passa 17 digitos é a da linha digitada, justamente por ter 43 caracteres Entao vamos definir ai embaixo o seguinte... se (strlen($num) == 43) { não deixar dar digito X ou 0 } */ if (strlen($num) == "43") { //então estamos checando a linha digitável if ($digito == "0" or $digito == "X" or $digito > 9) { $digito = 1; } } return $digito; } elseif ($r == 1){ $resto = $soma % 11; return $resto; } } /* Montagem da linha digitável - Função tirada do PHPBoleto Não mudei nada */ function monta_linha_digitavel($linha) { // Posição Conteúdo // 1 a 3 Número do banco // 4 Código da Moeda - 9 para Real // 5 Digito verificador do Código de Barras // 6 a 19 Valor (12 inteiros e 2 decimais) // 20 a 44 Campo Livre definido por cada banco // 1. Campo - composto pelo código do banco, código da moéda, as cinco primeiras posições // do campo livre e DV (modulo10) deste campo $p1 = substr($linha, 0, 4); $p2 = substr($linha, 19, 5); $p3 = modulo_10("$p1$p2"); $p4 = "$p1$p2$p3"; $p5 = substr($p4, 0, 5); $p6 = substr($p4, 5); $campo1 = "$p5.$p6"; // 2. Campo - composto pelas posiçoes 6 a 15 do campo livre // e livre e DV (modulo10) deste campo $p1 = substr($linha, 24, 10); $p2 = modulo_10($p1); $p3 = "$p1$p2"; $p4 = substr($p3, 0, 5); $p5 = substr($p3, 5); $campo2 = "$p4.$p5"; // 3. Campo composto pelas posicoes 16 a 25 do campo livre // e livre e DV (modulo10) deste campo $p1 = substr($linha, 34, 10); $p2 = modulo_10($p1); $p3 = "$p1$p2"; $p4 = substr($p3, 0, 5); $p5 = substr($p3, 5); $campo3 = "$p4.$p5"; // 4. Campo - digito verificador do codigo de barras $campo4 = substr($linha, 4, 1); // 5. Campo composto pelo valor nominal pelo valor nominal do documento, sem // indicacao de zeros a esquerda e sem edicao (sem ponto e virgula). Quando se // tratar de valor zerado, a representacao deve ser 000 (tres zeros). $campo5 = substr($linha, 5, 14); return "$campo1 $campo2 $campo3 $campo4 $campo5"; } function geraCodigoBanco($numero) { $parte1 = substr($numero, 0, 3); $parte2 = modulo_11($parte1); return $parte1 . "-" . $parte2; } ?> layout_bb.php <?php // +----------------------------------------------------------------------+ // | BoletoPhp - Versão Beta | // +----------------------------------------------------------------------+ // | Este arquivo está disponível sob a Licença GPL disponível pela Web | // | em http://pt.wikipedia.org/wiki/GNU_General_Public_License | // | Você deve ter recebido uma cópia da GNU Public License junto com | // | esse pacote; se não, escreva para: | // | | // | Free Software Foundation, Inc. | // | 59 Temple Place - Suite 330 | // | Boston, MA 02111-1307, USA. | // +----------------------------------------------------------------------+ // +----------------------------------------------------------------------+ // | Originado do Projeto BBBoletoFree que tiveram colaborações de Daniel | // | William Schultz e Leandro Maniezo que por sua vez foi derivado do | // | PHPBoleto de João Prado Maia e Pablo Martins F. Costa | // | | // | Se você quer colaborar, nos ajude a desenvolver p/ os demais bancos :-)| // | Acesse o site do Projeto BoletoPhp: www.boletophp.com.br | // +----------------------------------------------------------------------+ // +---------------------------------------------------------------------------------+ // | Equipe Coordenação Projeto BoletoPhp: <boletophp@boletophp.com.br> | // | Desenvolvimento Boleto Banco do Brasil: Daniel William Schultz / Leandro Maniezo| // +---------------------------------------------------------------------------------+ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title><?php echo $dadosboleto["identificacao"]; ?></title> <META http-equiv=Content-Type content=text/html charset=ISO-8859-1> <meta name="Generator" content="Projeto BoletoPHP - www.boletophp.com.br - Licença GPL" /> <style type="text/css"> <!-- .ti {font: 9px Arial, Helvetica, sans-serif} --> </style> </HEAD> <BODY> <STYLE> @media screen,print { /* *** TIPOGRAFIA BASICA *** */ * { font-family: Arial; font-size: 12px; margin: 0; padding: 0; } .notice { color: red; } /* *** LINHAS GERAIS *** */ #container { width: 666px; margin: 0px auto; padding-bottom: 30px; } #instructions { margin: 0; padding: 0 0 20px 0; } #boleto { width: 666px; margin: 0; padding: 0; } /* *** CABECALHO *** */ #instr_header { background: url('imagens/logo_empresa.png') no-repeat top left; padding-left: 160px; height: 65px; } #instr_header h1 { font-size: 16px; margin: 5px 0px; } #instr_header address { font-style: normal; } #instr_content { } #instr_content h2 { font-size: 10px; font-weight: bold; } #instr_content p { font-size: 10px; margin: 4px 0px; } #instr_content ol { font-size: 10px; margin: 5px 0; } #instr_content ol li { font-size: 10px; text-indent: 10px; margin: 2px 0px; list-style-position: inside; } #instr_content ol li p { font-size: 10px; padding-bottom: 4px; } /* *** BOLETO *** */ #boleto .cut { width: 666px; margin: 0px auto; border-bottom: 1px navy dashed; } #boleto .cut p { margin: 0 0 5px 0; padding: 0px; font-family: 'Arial Narrow'; font-size: 9px; color: navy; } table.header { width: 666px; height: 38px; margin-top: 20px; margin-bottom: 10px; border-bottom: 2px navy solid; } table.header div.field_cod_banco { width: 46px; height: 19px; margin-left: 5px; padding-top: 3px; text-align: center; font-size: 14px; font-weight: bold; color: navy; border-right: 2px solid navy; border-left: 2px solid navy; } table.header td.linha_digitavel { width: 464px; text-align: right; font: bold 15px Arial; color: navy } table.line { margin-bottom: 3px; padding-bottom: 1px; border-bottom: 1px black solid; } table.line tr.titulos td { height: 13px; font-family: 'Arial Narrow'; font-size: 9px; color: navy; border-left: 5px #ffe000 solid; padding-left: 2px; } table.line tr.campos td { height: 12px; font-size: 10px; color: black; border-left: 5px #ffe000 solid; padding-left: 2px; } table.line td p { font-size: 10px; } table.line tr.campos td.ag_cod_cedente, table.line tr.campos td.nosso_numero, table.line tr.campos td.valor_doc, table.line tr.campos td.vencimento2, table.line tr.campos td.ag_cod_cedente2, table.line tr.campos td.nosso_numero2, table.line tr.campos td.xvalor, table.line tr.campos td.valor_doc2 { text-align: right; } table.line tr.campos td.especie, table.line tr.campos td.qtd, table.line tr.campos td.vencimento, table.line tr.campos td.especie_doc, table.line tr.campos td.aceite, table.line tr.campos td.carteira, table.line tr.campos td.especie2, table.line tr.campos td.qtd2 { text-align: center; } table.line td.last_line { vertical-align: top; height: 25px; } table.line td.last_line table.line { margin-bottom: -5px; border: 0 white none; } td.last_line table.line td.instrucoes { border-left: 0 white none; padding-left: 5px; padding-bottom: 0; margin-bottom: 0; height: 20px; vertical-align: top; } table.line td.cedente { width: 298px; } table.line td.valor_cobrado2 { padding-bottom: 0; margin-bottom: 0; } table.line td.ag_cod_cedente { width: 126px; } table.line td.especie { width: 35px; } table.line td.qtd { width: 53px; } table.line td.nosso_numero { /* width: 120px; */ width: 115px; padding-right: 5px; } table.line td.num_doc { width: 113px; } table.line td.contrato { width: 72px; } table.line td.cpf_cei_cnpj { width: 132px; } table.line td.vencimento { width: 134px; } table.line td.valor_doc { /* width: 180px; */ width: 175px; padding-right: 5px; } table.line td.desconto { width: 113px; } table.line td.outras_deducoes { width: 112px; } table.line td.mora_multa { width: 113px; } table.line td.outros_acrescimos { width: 113px; } table.line td.valor_cobrado { /* width: 180px; */ width: 175px; padding-right: 5px; background-color: #ffc ; } table.line td.sacado { width: 659px; } table.line td.local_pagto { width: 472px; } table.line td.vencimento2 { /* width: 180px; */ width: 175px; padding-right: 5px; background-color: #ffc; } table.line td.cedente2 { width: 472px; } table.line td.ag_cod_cedente2 { /* width: 180px; */ width: 175px; padding-right: 5px; } table.line td.data_doc { width: 93px; } table.line td.num_doc2 { width: 173px; } table.line td.especie_doc { width: 72px; } table.line td.aceite { width: 34px; } table.line td.data_process { width: 72px; } table.line td.nosso_numero2 { /* width: 180px; */ width: 175px; padding-right: 5px; } table.line td.reservado { width: 93px; background-color: #ffc; } table.line td.carteira { width: 93px; } table.line td.especie2 { width: 53px; } table.line td.qtd2 { width: 133px; } table.line td.xvalor { /* width: 72px; */ width: 67px; padding-right: 5px; } table.line td.valor_doc2 { /* width: 180px; */ width: 175px; padding-right: 5px; } table.line td.instrucoes { width: 475px; } table.line td.desconto2 { /* width: 180px; */ width: 175px; padding-right: 5px; } table.line td.outras_deducoes2 { /* width: 180px; */ width: 175px; padding-right: 5px; } table.line td.mora_multa2 { /* width: 180px; */ width: 175px; padding-right: 5px; } table.line td.outros_acrescimos2 { /* width: 180px; */ width: 175px; padding-right: 5px; } table.line td.valor_cobrado2 { /* width: 180px; */ width: 175px; padding-right: 5px; background-color: #ffc ; } table.line td.sacado2 { width: 659px; } table.line td.sacador_avalista { width: 659px; } table.line tr.campos td.sacador_avalista { width: 472px; } table.line td.cod_baixa { color: navy; width: 180px; } div.footer { margin-bottom: 30px; } div.footer p { width: 88px; margin: 0; padding: 0; padding-left: 525px; font-family: 'Arial Narro'; font-size: 9px; color: navy; } div.barcode { width: 666px; margin-bottom: 20px; } } @media print { #instructions { height: 1px; visibility: hidden; overflow: hidden; } } </STYLE> </head> <body> <div id="container"> <div id="instr_header"> <h1><?php echo $dadosboleto["identificacao"]; ?> <?php echo isset($dadosboleto["cpf_cnpj"]) ? $dadosboleto["cpf_cnpj"] : '' ?></h1> <address><?php echo $dadosboleto["endereco"]; ?><br></address> <address><?php echo $dadosboleto["cidade_uf"]; ?></address> </div> <!-- id="instr_header" --> <div id=""> <!-- Use no lugar do <div id=""> caso queira imprimir sem o logotipo e instruções <div id="instructions"> --> <div id="instr_content"> <p> O pagamento deste boleto tamb&eacute;m poder&aacute; ser efetuado nos terminais de Auto-Atendimento BB. </p> <h2>Instru&ccedil;&otilde;es</h2> <ol> <li> Imprima em impressora jato de tinta (ink jet) ou laser, em qualidade normal ou alta. N&atilde;o use modo econ&ocirc;mico. <p class="notice">Por favor, configure margens esquerda e direita para 17mm.</p> </li> <li> Utilize folha A4 (210 x 297 mm) ou Carta (216 x 279 mm) e margens m&iacute;nimas &agrave; esquerda e &agrave; direita do formul&aacute;rio. </li> <li> Corte na linha indicada. N&atilde;o rasure, risque, fure ou dobre a regi&atilde;o onde se encontra o c&oacute;digo de barras </li> </ol> </div> <!-- id="instr_content" --> </div> <!-- id="instructions" --> <div id="boleto"> <div class="cut"> <p>Corte na linha pontilhada</p> </div> <table cellspacing=0 cellpadding=0 width=666 border=0><TBODY><TR><TD class=ct width=666><div align=right><b class=cp>Recibo do Sacado</b></div></TD></tr></tbody></table> <table class="header" border=0 cellspacing="0" cellpadding="0"> <tbody> <tr> <td width=150><IMG SRC="imagens/logobb.jpg"></td> <td width=50> <div class="field_cod_banco"><?php echo $dadosboleto["codigo_banco_com_dv"]?></div> </td> <td class="linha_digitavel"><?php echo $dadosboleto["linha_digitavel"]?></td> </tr> </tbody> </table> <table class="line" cellspacing="0" cellpadding="0"> <tbody> <tr class="titulos"> <td class="cedente">Cedente</TD> <td class="ag_cod_cedente">Ag&ecirc;ncia / C&oacute;digo do Cedente</td> <td class="especie">Esp&eacute;cie</TD> <td class="qtd">Quantidade</TD> <td class="nosso_numero">Nosso n&uacute;mero</td> </tr> <tr class="campos"> <td class="cedente"><?php echo $dadosboleto["cedente"]; ?>&nbsp;</td> <td class="ag_cod_cedente"><?php echo $dadosboleto["agencia_codigo"]?> &nbsp;</td> <td class="especie"><?php echo $dadosboleto["especie"]?>&nbsp;</td> <TD class="qtd"><?php echo $dadosboleto["quantidade"]?>&nbsp;</td> <TD class="nosso_numero"><?php echo $dadosboleto["nosso_numero"]?>&nbsp;</td> </tr> </tbody> </table> <table class="line" cellspacing="0" cellPadding="0"> <tbody> <tr class="titulos"> <td class="num_doc">N&uacute;mero do documento</td> <td class="contrato">Contrato</TD> <td class="cpf_cei_cnpj">CPF/CEI/CNPJ</TD> <td class="vencmento">Vencimento</TD> <td class="valor_doc">Valor documento</TD> </tr> <tr class="campos"> <td class="num_doc"><?php echo $dadosboleto["numero_documento"]?></td> <td class="contrato"><?php echo $dadosboleto["contrato"]?></td> <td class="cpf_cei_cnpj"><?php echo $dadosboleto["cpf_cnpj"]?></td> <td class="vencimento"><?php echo $dadosboleto["data_vencimento"]?></td> <td class="valor_doc"><?php echo $dadosboleto["valor_boleto"]?></td> </tr> </tbody> </table> <table class="line" cellspacing="0" cellPadding="0"> <tbody> <tr class="titulos"> <td class="desconto">(-) Desconto / Abatimento</td> <td class="outras_deducoes">(-) Outras dedu&ccedil;&otilde;es</td> <td class="mora_multa">(+) Mora / Multa</td> <td class="outros_acrescimos">(+) Outros acr&eacute;scimos</td> <td class="valor_cobrado">(=) Valor cobrado</td> </tr> <tr class="campos"> <td class="desconto">&nbsp;</td> <td class="outras_deducoes">&nbsp;</td> <td class="mora_multa">&nbsp;</td> <td class="outros_acrescimos">&nbsp;</td> <td class="valor_cobrado">&nbsp;</td> </tr> </tbody> </table> <table class="line" cellspacing="0" cellpadding="0"> <tbody> <tr class="titulos"> <td class="sacado">Sacado</td> </tr> <tr class="campos"> <td class="sacado"><?php echo $dadosboleto["sacado"]?></td> </tr> </tbody> </table> <div class="footer"> <p>Autentica&ccedil;&atilde;o mec&acirc;nica</p> </div> <div class="cut"> <p>Corte na linha pontilhada</p> </div> <table class="header" border=0 cellspacing="0" cellpadding="0"> <tbody> <tr> <td width=150><IMG SRC="imagens/logobb.jpg"></td> <td width=50> <div class="field_cod_banco"><?php echo $dadosboleto["codigo_banco_com_dv"]?></div> </td> <td class="linha_digitavel"><?php echo $dadosboleto["linha_digitavel"]?></td> </tr> </tbody> </table> <table class="line" cellspacing="0" cellpadding="0"> <tbody> <tr class="titulos"> <td class="local_pagto">Local de pagamento</td> <td class="vencimento2">Vencimento</td> </tr> <tr class="campos"> <td class="local_pagto">QUALQUER BANCO AT&Eacute; O VENCIMENTO</td> <td class="vencimento2"><?php echo $dadosboleto["data_vencimento"]?></td> </tr> </tbody> </table> <table class="line" cellspacing="0" cellpadding="0"> <tbody> <tr class="titulos"> <td class="cedente2">Cedente</td> <td class="ag_cod_cedente2">Ag&ecirc;ncia/C&oacute;digo cedente</td> </tr> <tr class="campos"> <td class="cedente2"><?php echo $dadosboleto["cedente"]?></td> <td class="ag_cod_cedente2"><?php echo $dadosboleto["agencia_codigo"]?></td> </tr> </tbody> </table> <table class="line" cellspacing="0" cellpadding="0"> <tbody> <tr class="titulos"> <td class="data_doc">Data do documento</td> <td class="num_doc2">No. documento</td> <td class="especie_doc">Esp&eacute;cie doc.</td> <td class="aceite">Aceite</td> <td class="data_process">Data process.</td> <td class="nosso_numero2">Nosso n&uacute;mero</td> </tr> <tr class="campos"> <td class="data_doc"><?php echo $dadosboleto["data_documento"]?></td> <td class="num_doc2"><?php echo $dadosboleto["numero_documento"]?></td> <td class="especie_doc"><?php echo $dadosboleto["especie_doc"]?></td> <td class="aceite"><?php echo $dadosboleto["aceite"]?></td> <td class="data_process"><?php echo $dadosboleto["data_processamento"]?></td> <td class="nosso_numero2"><?php echo $dadosboleto["nosso_numero"]?></td> </tr> </tbody> </table> <table class="line" cellspacing="0" cellPadding="0"> <tbody> <tr class="titulos"> <td class="reservado">Uso do banco</td> <td class="carteira">Carteira</td> <td class="especie2">Espécie</td> <td class="qtd2">Quantidade</td> <td class="xvalor">x Valor</td> <td class="valor_doc2">(=) Valor documento</td> </tr> <tr class="campos"> <td class="reservado">&nbsp;</td> <td class="carteira"><?php echo $dadosboleto["carteira"]?> <?php echo isset($dadosboleto["variacao_carteira"]) ? $dadosboleto["variacao_carteira"] : '&nbsp;' ?></td> <td class="especie2"><?php echo $dadosboleto["especie"]?></td> <td class="qtd2"><?php echo $dadosboleto["quantidade"]?></td> <td class="xvalor"><?php echo $dadosboleto["valor_unitario"]?></td> <td class="valor_doc2"><?php echo $dadosboleto["valor_boleto"]?></td> </tr> </tbody> </table> <table class="line" cellspacing="0" cellpadding="0"> <tbody> <tr><td class="last_line" rowspan="6"> <table class="line" cellspacing="0" cellpadding="0"> <tbody> <tr class="titulos"> <td class="instrucoes"> Instru&ccedil;&otilde;es (Texto de responsabilidade do cedente) </td> </tr> <tr class="campos"> <td class="instrucoes" rowspan="5"> <p><?php echo $dadosboleto["demonstrativo1"]; ?></p> <p><?php echo $dadosboleto["demonstrativo2"]; ?></p> <p><?php echo $dadosboleto["demonstrativo3"]; ?></p> <p><?php echo $dadosboleto["instrucoes1"]; ?></p> <p><?php echo $dadosboleto["instrucoes2"]; ?></p> <p><?php echo $dadosboleto["instrucoes3"]; ?></p> <p><?php echo $dadosboleto["instrucoes4"]; ?></p> </td> </tr> </tbody> </table> </td></tr> <tr><td> <table class="line" cellspacing="0" cellpadding="0"> <tbody> <tr class="titulos"> <td class="desconto2">(-) Desconto / Abatimento</td> </tr> <tr class="campos"> <td class="desconto2">&nbsp;</td> </tr> </tbody> </table> </td></tr> <tr><td> <table class="line" cellspacing="0" cellpadding="0"> <tbody> <tr class="titulos"> <td class="outras_deducoes2">(-) Outras dedu&ccedil;&otilde;es</td> </tr> <tr class="campos"> <td class="outras_deducoes2">&nbsp;</td> </tr> </tbody> </table> </td></tr> <tr><td> <table class="line" cellspacing="0" cellpadding="0"> <tbody> <tr class="titulos"> <td class="mora_multa2">(+) Mora / Multa</td> </tr> <tr class="campos"> <td class="mora_multa2">&nbsp;</td> </tr> </tbody> </table> </td></tr> <tr><td> <table class="line" cellspacing="0" cellpadding="0"> <tbody> <tr class="titulos"> <td class="outros_acrescimos2">(+) Outros Acr&eacute;scimos</td> </tr> <tr class="campos"> <td class="outros_acrescimos2">&nbsp;</td> </tr> </tbody> </table> </td></tr> <tr><td class="last_line"> <table class="line" cellspacing="0" cellpadding="0"> <tbody> <tr class="titulos"> <td class="valor_cobrado2">(=) Valor cobrado</td> </tr> <tr class="campos"> <td class="valor_cobrado2">&nbsp;</td> </tr> </tbody> </table> </td></tr> </tbody> </table> <table class="line" cellspacing="0" cellPadding="0"> <tbody> <tr class="titulos"> <td class="sacado2">Sacado</td> </tr> <tr class="campos"> <td class="sacado2"> <p><?php echo $dadosboleto["sacado"]?></p> <p><?php echo $dadosboleto["endereco1"]?></p> <p><?php echo $dadosboleto["endereco2"]?></p> </td> </tr> </tbody> </table> <table class="line" cellspacing="0" cellpadding="0"> <tbody> <tr class="titulos"> <td class="sacador_avalista" colspan="2">Sacador/Avalista</td> </tr> <tr class="campos"> <td class="sacador_avalista">&nbsp;</td> <td class="cod_baixa">C&oacute;d. baixa</td> </tr> </tbody> </table> <table cellspacing=0 cellpadding=0 width=666 border=0><TBODY><TR><TD width=666 align=right ><font style="font-size: 10px;">Autentica&ccedil;&atilde;o mec&acirc;nica - Ficha de Compensação</font></TD></tr></tbody></table> <div class="barcode"> <p><?php fbarcode($dadosboleto["codigo_barras"]); ?></p> </div> <div class="cut"> <p>Corte na linha pontilhada</p> </div> </div> </div> </body> </html>
  11. rafinhafv

    [Resolvido] Botão de pesquisa

    Não sei se fica mais facil, pode acessar o site e dar uma olhada no código fonte... apenas quero mudar a opção do carrinho de compras, deixar apenas o icone do carrinho e o numero de itens... pode acessar o site www.mdfmais.com.br
  12. rafinhafv

    [Resolvido] Botão de pesquisa

    Bem, vamos lá... tem um arquivo separado chamado carrinho, que segue o código abaixo: <div class="col-lg-3 col-md-4 col-sm-12"> <div id="listar-carrinho-home"> </div> </div> Depois temos o arquivo listar itens, que segue abaixo: <?php require_once('../control/framework/conf/Configure.php'); $configure = new Configure(); $configure->setIni(); define( "url", $configure->getUrl() ); define( "dir", $configure->getDir() ); $par = $configure->getPar(); require_once (dir . 'control/framework/ImportAll.php'); ?> <script type="text/javascript"> $(function(){ $('.qtd').blur(function(){ $('#atualizar-carrinho').atualizarCarrinho(); }); $('.qtd').keypress(function(e) { if(e.which == 13) { $('#atualizar-carrinho').atualizarCarrinho(); } }); }); </script> <div class="col-lg-12 col-sm-12"> <div class="table-responsive"> <table class="table table-bordered tbl-cart"> <thead> <tr> <th class="text-center">Imagem</th> <th>Nome</th> <th class="text-center">Características</th> <th class="td-qty text-center">Quantidade</th> <th></th> <th class="text-center">Valor Sem Desconto</th> <th class="text-center">Valor Com Desconto</th> </tr> </thead> <tbody> <?php $caracteristicaBO = new CaracteristicaBO(); $caracteristicaItemBO = new CaracteristicaItemBO(); $produtoImagemBO = new ProdutoImagemBO(); $produtoBO = new ProdutoBO(); $produtoList = SessionUtils::produtosCarrinhoList(); $countProdutoList = count($produtoList); if($countProdutoList > 0){ foreach ($produtoList as $key => $value) { foreach ($value as $identificador => $produto) { $produtoVO = unserialize($produto); $quantidade = SessionUtils::getCarrinhoProdutoQtd($produtoVO->getId(), $identificador); $valorComDesconto = str_replace(',', '.', $produtoVO->getValor()) * 0.93; $totalComDesconto += $quantidade * number_format($valorComDesconto,2,'.','');; $totalSemDesconto += $quantidade * str_replace(',', '.', $produtoVO->getValor()); $urlProduto = $produtoBO->getUrlProduto($produtoVO->getId()); ?> <tr> <td> <a title="<?php echo $produtoVO->getNome() ?>" href="<?php echo url.'produtos/'.$urlProduto; ?>"> <?php $produtoImagemVO = new ProdutoImagemVO(); $produtoImagemVO->setProduto($produtoVO->getId()); $produtoImagemVO->setPrincipal('T'); $produtoImagemVO = $produtoImagemBO->findByParam($produtoImagemVO); if($produtoImagemVO[0]){ ?> <img alt="<?php echo $produtoVO->getNome() ?>" src="<?php echo url.'files/produtos/'.$produtoImagemVO[0]->getProduto().'-'.$produtoImagemVO[0]->getId().'-G.'.$produtoImagemVO[0]->getExtensao() ?>" width="47" height="47"> <?php }else{ ?> <img alt="<?php echo $produtoVO->getNome() ?>" src="<?php echo url.'control/images/sem_imagem_G.jpg' ?>" width="47" height="47"> <?php } ?> </a> </td> <td><a title="<?php echo $produtoVO->getNome() ?>" href="<?php echo url.'produtos/'.$urlProduto; ?>"><?php echo $produtoVO->getNome(); ?></a></td> <td> <?php $caracteristicasProdutoSession = SessionUtils::getCaracteristicasProduto($produtoVO->getId(), $identificador); foreach ($caracteristicasProdutoSession as $caracteristicaItemSession) { // Caracteristica Item $caracteristicaItemVO = $caracteristicaItemSession; // Busca caracteristiva $caracteristicaVO = $caracteristicaItemBO->getCaracteristica($caracteristicaItemVO->getId()); ?> <p><?php echo $caracteristicaVO->getNome().': '.$caracteristicaItemVO->getNome() ?></p> <?php } ?> </td> <td> <div class="input-group bootstrap-touchspin"> <span class="input-group-btn"> <button class="btn btn-default bootstrap-touchspin-down atualizar-carrinho-menos" type="button" data-action="menos" data-qtd="<?php echo $quantidade ?>" data-idproduto="<?php echo $produtoVO->getId() ?>" data-identificador="<?php echo $identificador ?>">-</button> </span> <input type="text" value="<?php echo $quantidade; ?>" class="form-control text-center qtd" data-idproduto="<?php echo $produtoVO->getId(); ?>" data-identificador="<?php echo $identificador ?>" /> <span class="input-group-btn"> <button class="btn btn-default bootstrap-touchspin-up atualizar-carrinho-mais" type="button" data-action="mais" data-qtd="<?php echo $quantidade ?>" data-idproduto="<?php echo $produtoVO->getId(); ?>" data-identificador="<?php echo $identificador ?>">+</button> </span> </div> </td> <td align="center"> <div class="info-icons"> <a title="Remover do Carrinho" class="excluir-item cursor-pointer" data-idproduto="<?php echo $produtoVO->getId() ?>" data-identificador="<?php echo $identificador ?>"><i class="fa fa-trash-o" style="font-size:24px"></i></a> </div></td> <td> <p class="text-right">R$ <?php echo $produtoVO->getValor(); ?></p> </td> <td> <p class="text-right"><span class="text-danger">R$ <?php echo number_format($valorComDesconto, 2, ',', '.'); ?></span></p> </td> </tr> <?php } } ?> <tr> <td class="text-right" colspan="5">Totais:</td> <td class="text-right"><?php echo 'R$ '. number_format($totalSemDesconto, 2, ',', '.'); ?></td> <td class="text-right"><span class="text-danger"><?php echo 'R$ '. number_format($totalComDesconto, 2, ',', '.'); ?></span></td> </tr> <?php }else{ ?> <tr> <td colspan="6" class="text-center"><?php echo 'Nenhum item no carrinho!'?></td> </tr> <?php } ?> </tbody> </table> </div> </div> Só que no primeiro arquivo tem o id que não encontro em lugar nenhum, seria nesse id que eu conseguiria arrumar isso?
  13. rafinhafv

    [Resolvido] Botão de pesquisa

    Ali ao lado do campo de busca tem o carrinho de compras, queria que aparecesse apenas o desenho do carrinho e a quantidade de itens... não acho em lugar nenhum onde eu arrumo isso...
  14. rafinhafv

    [Resolvido] Botão de pesquisa

    na verdade queria nos dois... tanto mobile como no desktop...
  15. rafinhafv

    Carrinho de Compras

    É feito todo em código... Na verdade existe um arquivo chamado carrinho.php que tem apenas este código: <div class="col-lg-3 col-md-4 col-sm-12"> <div id="listar-carrinho-home"> </div> </div> Na página do index tem este código que tem umas funções do carrinho: <?php ob_start(); session_start(); require_once('control/framework/conf/Configure.php'); $configure = new Configure(); $configure->setIni(); define( "url", $configure->getUrl() ); define( "dir", $configure->getDir() ); $par = $configure->getPar(); require_once (dir . 'control/framework/ImportAll.php'); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt" lang="pt"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Braviseg - CFTV DVR Stand Alone Mini Cameras Fonte Bateria Interfone Video porteiro alarme</title><!--META TAGS--> <!--META TAGS--> <meta name="title" content="Braviseg - CFTV DVR Stand Alone Mini Cameras Fonte Bateria Interfone Video porteiro alarme" /> <meta name="description" content="Equipamentos de Segurança Eletronica. CFTV, Câmeras de Segurança, Alarmes Residenciais e Comerciais, Intefonia, Controle Acesso, Cerca Elétrica" /> <meta name="keywords" content="cftv, mini camera, alarme, cerca eletrica, interfone, hdl, dvr, luxvison, ideal, gmax, genno, video porteiro, controle" /> <meta name="copyright" content="Braviseg" /> <meta name="abstract" content="Braviseg" /> <link rel="shortcut icon" href="<?php echo url ?>images/favicon.ico?<?php echo filemtime(dir.'images/favicon.ico')?>"> <link href="<?php echo url ?>css/bootstrap.css" rel="stylesheet"> <link href="<?php echo url ?>css/font-awesome.min.css" rel="stylesheet"> <link href="<?php echo url ?>css/jquery.bxslider.css" rel="stylesheet"> <link href="<?php echo url ?>css/smoothproducts.css" rel="stylesheet"> <link href="<?php echo url ?>css/style.css?<?php echo filemtime(dir.'css/style.css')?>" rel="stylesheet"> </head> <body> <header> <div class="container"> <div class="row"> <!-- Logo --> <div class="col-lg-2 col-md-2 hidden-sm hidden-xs"> <div class="well logo"> <a href="<?php echo url ?>"><img src="<?php echo url.'images/logo.png'; ?>" alt="Braviseg" /></a> </div> </div> <!-- End Logo --> <!-- Search Form --> <?php include '_home/busca.php'; ?> <!-- End Search Form --> <!-- Shopping Cart List --> <?php include '_home/carrinho.php'; ?> <!-- End Shopping Cart List --> <div class="col-lg-2 col-md-1 col-xs-12"> <div class="well pull-right"> <ul class="list-inline"> <li class="social"> <a href="#" title="(48) 99109-8822"><i class="fa fa-whatsapp"></i></a> </li> <li class="social"> <a href="#" title="vendas.braviseg"><i class="fa fa-skype"></i></a> </li> <li class="social"> <iframe src="//www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2Fbraviseg&amp;width=56&amp;layout=button&amp;action=like&amp;show_faces=false&amp;share=false&amp;height=20" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:56px; height:20px;" allowTransparency="true"></iframe> </li> </ul> </div> </div> </div> </div> </header> <!-- Navigation --> <?php include '_home/navigation.php'; ?> <!-- End Navigation --> <div class="container main-container"> <?php require_once(HtmlUtils::routes($par)); ?> </div> <!-- Footer --> <?php include '_home/footer.php'; ?> <!-- End Footer --> <a href="#top" class="back-top text-center" onclick="$('body,html').animate({scrollTop:0},1000); return false"> <i class="fa fa-angle-double-up"></i></a> <script src="<?php echo url ?>google_analytics_auto.js"></script> <script src="<?php echo url ?>js/jquery.js"></script> <script src="<?php echo url ?>js/bootstrap.js"></script> <script src="<?php echo url ?>js/jquery.bxslider.min.js"></script> <script src="<?php echo url ?>js/jquery.blImageCenter.js"></script> <script src="<?php echo url ?>js/smoothproducts.min.js"></script> <script src="<?php echo url ?>js/bootstrap.touchspin.js"></script> <script src="<?php echo url ?>js/jquery.alphanumeric.js"></script> <script src="<?php echo url ?>js/mimity.js?<?php echo filemtime(dir.'js/mimity.js')?>"></script> <script src="<?php echo url ?>control/js/jquery.maskMoney.js"></script> <script src="<?php echo url ?>js/jquery.maskedinput-1.2.2.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#telefone").mask("(99) 9999-9999"); $("#celular").mask("(99) 9999-9999"); $("#telefone-pf").mask("9999-9999"); $("#celular-pf").mask("9999-9999"); $("#cpf").mask("999.999.999-99"); $("#cnpj").mask("99.999.999/9999-99"); $("#cep").mask("99999-999"); $("#data_nascimento").mask("99/99/9999"); $(".numeric").numeric(); $("#a_combinar").maskMoney({precision:2, decimal:",", thousands:"."}); $(".money").maskMoney({precision:2, decimal:",", thousands:".",allowZero:true}); $.fn.addCarrinho = function(options) { if(options){ var caracteristicas_array = options; } var defaults = { id : $(this).attr('rel'), caracteristicas : caracteristicas_array }; return this.each(function() { $this = $(this); $.ajax({ url : '<?php echo url.'_carrinho/add_itens.php'; ?>', data : defaults, type : 'post', success: function(data) { $(window.document.location).attr('href','<?php echo url."carrinho" ?>'); } }); }); }; $('#add-carrinho').live('click',function(ev,val){ var caracteristicasArray = []; var continua = true; $('.caracteristicas').each(function(){ if($(this).find(":selected").val().length <= 0){ continua = false; } caracteristicasArray.push($(this).find(':first-child').text().replace('Selecione um(a) ','')); }); if(continua == true){ var caracteristicas = new Array(); $('.caracteristicas').each(function(index){ caracteristicas.push($(this).val()); }); $(this).addCarrinho(caracteristicas); }else{ $('#retorno').html('<div class="alert alert-danger" align="center" role="alert">'+ '<button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>'+ 'Você precisa selecionar a(s) caracteristica(s) '+caracteristicasArray.join(', ')+'!'+ '</div>'); } }); // Lista produtos no carrrinho $.fn.listarCarrinho = function(options) { var defaults = {}; var opts = $.extend(defaults, options); return this.each(function() { $this = $(this); $.ajax({ url : '<?php echo url.'_carrinho/listar_itens.php'; ?>', data : opts, type : 'post', success: function(data) { $('#listar-carrinho').html(data); }, beforeSend: function(data){ $("#listar-carrinho").html('<center><p class="carregando"></p></center>'); } }); }); }; $.fn.excluirItem = function(options) { var defaults = { idproduto : $(this).data('idproduto'), identificador : $(this).data('identificador') }; var opts = $.extend(defaults, options); return this.each(function() { $this = $(this); $.ajax({ url : '<?php echo url.'_carrinho/excluir_itens.php'; ?>', data : opts, type : 'post', success: function(data) { if($('#listar-carrinho').exist()){ $('#listar-carrinho').listarCarrinho(); } if($('#listar-carrinho-pagamento').exist()){ $('#listar-carrinho-pagamento').listarCarrinhoPagamento(); } $('#listar-carrinho-home').listarCarrinhoHome(); } }); }); }; $.fn.atualizarCarrinho = function(options) { var codigos = new Array(); $('.qtd').each(function(i){ if($(this).val() == 0){ return; } codigos.push($(this).val()+'-'+$(this).data('idproduto')+'-'+$(this).data('identificador')); }); var defaults = { codigos : codigos }; var opts = $.extend(defaults, options); return this.each(function() { $this = $(this); $.ajax({ url : '<?php echo url.'_carrinho/atualizar_carrinho.php'; ?>', data : opts, type : 'post', success: function(data) { if($('#listar-carrinho').exist()){ $('#listar-carrinho').listarCarrinho(); } if($('#listar-carrinho-pagamento').exist()){ $('#listar-carrinho-pagamento').listarCarrinhoPagamento(); } $('#listar-carrinho-home').listarCarrinhoHome(); } }); }); }; $.fn.atualizarQtdProduto = function(options) { var action = $(this).data('action'); var qtd = $(this).data('qtd'); if(qtd == 0){ return; } if(action == 'menos'){ qtd--; }else{ qtd++; } var defaults = { qtd : qtd, idproduto : $(this).data('idproduto'), identificador : $(this).data('identificador') }; var opts = $.extend(defaults, options); return this.each(function() { $this = $(this); $.ajax({ url : '<?php echo url.'_carrinho/atualizar_qtd_produto.php'; ?>', data : opts, type : 'post', success: function(data) { if($('#listar-carrinho').exist()){ $('#listar-carrinho').listarCarrinho(); } if($('#listar-carrinho-pagamento').exist()){ $('#listar-carrinho-pagamento').listarCarrinhoPagamento(); } $('#listar-carrinho-home').listarCarrinhoHome(); } }); }); }; // Lista produtos no carrrinho $.fn.listarCarrinhoPagamento = function(options) { var defaults = {}; var opts = $.extend(defaults, options); return this.each(function() { $this = $(this); $.ajax({ url : '<?php echo url.'_pagamento/listar_itens.php'; ?>', data : opts, type : 'post', success: function(data) { $('#listar-carrinho-pagamento').html(data); }, beforeSend: function(data){ $("#listar-carrinho-pagamento").html('<center><p class="carregando"></p></center>'); } }); }); }; // Lista produtos no carrrinho $.fn.listarCarrinhoFinalizar = function(options) { var defaults = {}; var opts = $.extend(defaults, options); return this.each(function() { $this = $(this); $.ajax({ url : '<?php echo url.'_finalizar/listar_itens.php'; ?>', data : opts, type : 'post', success: function(data) { $('#listar-carrinho-finalizar').html(data); }, beforeSend: function(data){ $("#listar-carrinho-finalizar").html('<center><p class="carregando"></p></center>'); } }); }); }; // Lista produtos no carrrinho $.fn.listarCarrinhoHome = function(options) { var defaults = {}; var opts = $.extend(defaults, options); return this.each(function() { $this = $(this); $.ajax({ url : '<?php echo url.'_home/listar_itens.php'; ?>', data : opts, type : 'post', success: function(data) { $('#listar-carrinho-home').html(data); }, beforeSend: function(data){ $("#listar-carrinho-home").html('<center><p class="carregando"></p></center>'); } }); }); }; $.fn.limparAlteracaoPedido = function(options) { var defaults = { id : $(this).attr('rel') }; var opts = $.extend(defaults, options); return this.each(function() { $this = $(this); $.ajax({ url : '<?php echo url.'_carrinho/limpar_alteracao_pedido.php'; ?>', data : opts, type : 'post', success: function(data) { $(window.document.location).attr('href','<?php echo url."produtos" ?>'); } }); }); }; $('#listar-carrinho-home').listarCarrinhoHome(); $('#listar-carrinho').listarCarrinho(); $('.excluir-item').live('click',function(ev,val){ $(this).excluirItem(); }); $('#atualizar-carrinho').live('click',function(ev,val){ $(this).atualizarCarrinho(); }); $('.atualizar-carrinho-menos').live('click',function(ev,val){ $(this).atualizarQtdProduto(); }); $('.atualizar-carrinho-mais').live('click',function(ev,val){ $(this).atualizarQtdProduto(); }); $('#listar-carrinho-pagamento').listarCarrinhoPagamento(); $('#listar-carrinho-finalizar').listarCarrinhoFinalizar(); $('#limpar-alteracao-pedido').live('click',function(ev,val){ $(this).limparAlteracaoPedido(); }); $('.btn-shopline').click(function(){ $('.msg-shopline').show(); }); }); </script> </body> </html> <?php ob_flush(); ?> Onde posso mexer para transformar o carrinho de compras em apenas um icone?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.