Location: PHPKode > projects > PhpBoleto > phpBoleto-2.0-beta3/include/db/class.comum.php
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | phpBoleto v2.0                                                       |
// +----------------------------------------------------------------------+
// | Copyright (c) 1999-2001 Pablo Martins F. Costa, João Prado Maia      |
// +----------------------------------------------------------------------+
// | Este arquivo está sujeito a versão 2 da GNU General Public License,  |
// | que foi adicionada nesse pacote no arquivo COPYING e está disponível |
// | pela Web em http://www.gnu.org/copyleft/gpl.txt                      |
// | 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.                                          |
// +----------------------------------------------------------------------+
// | Autores: João Prado Maia <hide@address.com>                         |
// +----------------------------------------------------------------------+
//
// @(#) $Id: class.comum.php,v 1.9 2001/11/20 21:50:45 jcpm Exp $
//

/**
 * A classe Boleto_DB_Comum é herdada por todas as outras classes de acesso a
 * banco de dados, para disponibilizar alguns métodos compartilhados por essas
 * classes.
 *
 * @version  2
 * @author   João Prado Maia <hide@address.com>
 */

class Boleto_DB_Comum
{
    /**
     * Método usado para setar o caminho do diretório das configurações
     * do phpBoleto.
     *
     * @access  private
     * @return  void
     */
    function _pegaCaminhoConfiguracao()
    {
        $this->ini_path = BOLETO_CONF_PATH;
    }

    /**
     * Pega a configuração geral sobre a conexão ao banco de dados, como o
     * parâmetro de tipo de servidor ("ini", "mysql", "pgsql", etc).
     *
     * @access  private
     * @return  array Vetor com os parâmetros de configuração do banco de dados
     * @see     File_Ini(), getBlockValues()
     */
    function _pegaConfiguracaoINI()
    {
        include_once(BOLETO_INC_PATH . "class.ini.php");
        // infelizmente é necessário essa checagem para não 
        // quebrar o módulo de administração
        $this->inidb = new File_Ini($this->ini_path . "phpboleto.ini.php", "#");
        return $this->inidb->getBlockValues("Banco de Dados");
    }

    /**
     * Método usado para pegar o título real para o layout do boleto. Ele
     * retorna um array com a lista de arquivos.
     *
     * @access  public
     * @return  array Vetor associativo com os dados sobre os layouts de boletos
     * @see     getBlockValues(), _bin2asc()
     */
    function listaLayouts()
    {
        $bancos = array();
        // loop entre os layouts
        $d = dir(BOLETO_INC_PATH . "boletos/bancos");
        while ($arquivo = $d->read()) {
            if (($arquivo != ".") && ($arquivo != "..") && ($arquivo != "CVS")) {
                $bancos[$arquivo] = $arquivo;
            }
        }
        $d->close();
        return $bancos;
    }

    /**
     * Método usado para converter strings armazenadas em código
     * binário para formato ASCII.
     *
     * @access  private
     * @param   string $binary Valor em código binário
     * @return  string Valor convertido de binário para ASCII
     */
    function _bin2asc($binary)
    {
        $ascii = "";
        $i = 0;
        while (strlen($binary) > 3) {
            $byte[$i] = substr($binary, 0, 8);
            $byte[$i] = base_convert($byte[$i], 2, 10);
            $byte[$i] = chr($byte[$i]);
            $binary = substr($binary, 8);
            $ascii = "$ascii$byte[$i]";
        }
        return $ascii;
    }
}
?>
Return current item: PhpBoleto