<?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 vc 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|
// +--------------------------------------------------------------------------------------------------------+


if (!defined('BASEPATH')) exit('No direct script access allowed');
	if (!function_exists('boleto_bb')) {
		/**
		 * Boleto Banco do Brasil
		 * @param  Array $dados_cliente  Dados do cliente
		 * @param  Array $dados_empresa  Dados da Empresa
		 * @param  Array $dados_boleto   Dados do Boleto
		 * @param  Array $valores_boleto Valores do Boleto
		 */
		function boleto_bb($dados_cliente=null, $dados_empresa=null, $dados_boleto=null, $valores_boleto=null, $result)
		{
			// DADOS DO BOLETO PARA O SEU CLIENTE
			$dias_de_prazo_para_pagamento = $result->prazoPagamento;
			$taxa_boleto = $result->taxaBoleto;
			$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 = $result->valorMulta; // 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"] = $result->nossoNumero;
			$dadosboleto["numero_documento"] = $result->numeroDocumento;	// 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"] = $result->nome.' '.$result->sobrenome;
			$dadosboleto["endereco1"] = $result->endereco;
			$dadosboleto["endereco2"] = $result->cidade.' - '.$result->uf.' - '.$result->cep;

			// INFORMACOES PARA O CLIENTE
			$dadosboleto["demonstrativo1"] = utf8_decode($result->demonstrativo1);
			$dadosboleto["demonstrativo2"] = $result->demonstrativo2.'<br>Taxa bancária - R$'. number_format($taxa_boleto, 2, ',', '');
			$dadosboleto["demonstrativo3"] = utf8_decode($result->demonstrativo3);

			// INSTRUÇÕES PARA O CAIXA
			$dadosboleto["instrucoes1"] = utf8_decode($result->instrucoes1);
			$dadosboleto["instrucoes2"] = utf8_decode($result->instrucoes2);
			$dadosboleto["instrucoes3"] = utf8_decode($result->instrucoes3);
			$dadosboleto["instrucoes4"] =  utf8_decode($result->instrucoes4);

			// 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"] = $result->agenciaCliente; // Num da agencia, sem digito
			$dadosboleto["conta"] = $result->contaCliente; 	// Num da conta, sem digito

			// DADOS PERSONALIZADOS - BANCO DO BRASIL
			$dadosboleto["convenio"] = $result->convenioCliente;  // Num do convênio - REGRA: 6 ou 7 ou 8 dígitos
			$dadosboleto["contrato"] = $result->contratoCliente; // Num do seu contrato
			$dadosboleto["carteira"] = $result->carteiraCliente;
			$dadosboleto["variacao_carteira"] = $result->variacaoCarteiraClienta;  // 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

			/*
			#################################################
			DESENVOLVIDO PARA CARTEIRA 18

			- Carteira 18 com Convenio de 8 digitos
			  Nosso número: pode ser até 9 dígitos

			- Carteira 18 com Convenio de 7 digitos
			  Nosso número: pode ser até 10 dígitos

			- Carteira 18 com Convenio de 6 digitos
			  Nosso número:
			  de 1 a 99999 para opção de até 5 dígitos
			  de 1 a 99999999999999999 para opção de até 17 dígitos

			#################################################
			*/


			// SEUS DADOS
			$dadosboleto["identificacao"] = utf8_decode($result->identificacao);
			$dadosboleto["cpf_cnpj"] = $result->cpfcnpj;
			$dadosboleto["endereco"] = utf8_decode($result->enderecoCedente);
			$dadosboleto["cidade_uf"] = utf8_decode($result->cidade.' / '.$result->uf);
			$dadosboleto["cedente"] = utf8_decode($result->cedente);

			// NÃO ALTERAR!
			require "include/funcoes_bb.php"; 
			require "include/layout_bb.php";
		}
	}

?>
