Jump to content
ruimcosta

Estender a extensão de uma class

Recommended Posts

ruimcosta

A ver vamos se me consigo explicar.

function empresa( $info ){
    $sql = "select valor from config where variavel = '$info'";
    $rs  = mysql_query($sql);
    $row = mysql_fetch_array($rs);
    
    return $row['valor'];
}
        
class PDF extends FPDF{
    function Header(){
        // Logotipo inserido pelo cliente
        $sql = "select * from config where variavel = 'logopdf'";
        $rs  = mysql_query($sql);
        
        if( mysql_num_rows($rs) == 1 ){
            $row = mysql_fetch_array($rs);
            
            $logot = $row['valor'];    
        }
        
        $emp_nif       = empresa('emp_nif');
        $emp_capsocial = empresa('capsocial');
        $emp_regc      = empresa('regconserv');

        if( file_exists("../../$logot") ){
            $this->Image("../../$logot", "0.5", "1");
        }
        
        $this->SetTextColor(0, 0, 0);
        $this->SetFont('Arial','B',8);
        
        $this->SetXY("0.5","4.2");
        $this->Cell( 0, 0, $emp_nome);
        
        $this->setXY("0.5", "4.6");
        $this->Cell( 0, 0, "Contribuinte:");
        
        $this->SetFont('Arial','',8);

        $this->setXY("2.3", "4.6");
        $this->Cell( 0, 0, $emp_nif);

        $this->setXY("0.5", "5.1");
        $this->Cell( 0, 0, "Capital Social - ".$emp_capsocial);

        $this->setXY("0.5", "5.6");
        $this->Cell( 0, 0, $emp_regc);
    }function Footer(){
        $emp_morada    = empresa('emp_morada');
        $emp_cp        = empresa('codpostal');
        $emp_local     = empresa('localidade');
        $emp_tlf       = empresa('emp_tlf');
        $emp_fax       = empresa('emp_fax');
        $emp_email     = empresa('emp_email');
        $emp_site      = empresa('emp_site');
        
        $this->SetFont('Arial','',7);
        $this->setXY("0.5", "27.4");
        $this->Cell( 0, 0, $emp_morada." |");

        $this->setXY("3", "27.4");
        $this->Cell( 0, 0, $emp_cp." ".$emp_local." |");

        $this->setXY("6.2", "27.4");
        $this->Cell( 0, 0, "Tlf.: ".$emp_tlf." |");

        $this->setXY("8.9", "27.4");
        $this->Cell( 0, 0, "Fax.: ".$emp_fax." |");

        $this->setXY("11.7", "27.4");
        $this->Cell( 0, 0, $emp_email." |");

        $this->setXY("13.9", "27.4");
        $this->Cell( 0, 0, $emp_site." |");
                                               
        if( file_exists("../../ficheiros/logos/logo_excelencia.jpg") ){
            $this->Image("../../ficheiros/logos/logo_excelencia.jpg", "17.7", "26.2", 1);
        }
        
        if( file_exists("../../ficheiros/logos/pme_lider.jpg") ){
            $this->Image("../../ficheiros/logos/pme_lider.jpg", "18.8", "26.2", 1);
        }
    }
}

Esta classe estende as funcionalidades do Header e do Footer da class FPDF. Ou seja este cabeçalho e respectivo rodape são invocados automaticamente pelo FPDF em 3 tipos de documentos que crio, mas mediante cada documento, existem ainda outro cabeçalho e rodape que tem de ser acrescidos ao documento inicial.

Podem ajudar-me a criar uma classe que aumente as potencialidades desta classe?

Off-topic: O que coloco dentro de

 para formatar o codigo como sendo PHP?
Obrigado


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
rippp

eu nao percebi a duvida, mas pelo que percebi e pelo pouco que sei um documento pdf ou qualquer outro acho que so podes ter 1 rodapé e 1 cabeçalho.. nao podes ter 2 de cada um..acho eu :X


Java, Android developerhttp://minimalcode.net

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.