Get Serious CRM. Professional products, articles and focus from the top providers.

12/14/2012

PDFMaker Free vTiger - Personalizziamo lo sfondo dei nostri documenti

Ci capita spesso di ricevere delle richieste di personalizzazione del modulo PDFMaker riguardanti una grafica più accattivante, che prontamente potete richiedere ai nostri contatti.

Tuttavia, se desiderate cimentarvi da soli con questa nuova tecnica potete eseguire questa semplicissima modifica, questo ė il codice completo del file checkGenerate.php presente nella cartella modules\PDFMaker:

<?php
$xx1a         
"f\151\x6c\145\x73\x69\172e";$xx1b         "\146re\x61\144";$xx1c         "\146\157p\145n";$xx1d         "h\x65\141\x64er";$xx1e         "\x68\164\155\x6c_\x65\x6e\164it\x79\x5f\x64\145\143\x6f\144\145";$xx1f         "\157b\137\x63\154\145\x61\x6e";$xx20         "\165nli\x6e\x6b";$xx0b         "a\144\142";$xx0c         "\166\x74\151\x67e\162_c\165\x72r\x65\x6e\164_ve\162\163\x69o\156";$xx0d         "\163i\164\145_\125\x52\x4c";$moduleloaded $_GET["relmodule"];
include(
"\x49\x6e\166\145nt\x6fr\x79\x50\104\106.\160h\x70");
include(
"\x6d\157\144\x75\x6c\145\x73\x2fP\x44F\115\141ke\x72\057mp\144\146/\155pdf\056p\x68\160");$xx0e $_REQUEST["r\x65\143o\162\144"];$xx0f getSalesEntityType($xx0e);$xx10 CRMEntity::getInstance($xx0f);
if (
$xx0f == "In\166\157\x69\143e")
    
$xx11 "\x31";
elseif (
$xx0f == "\123\x61l\145\163\117\x72\x64\145r")
    
$xx11 "\062";
elseif (
$xx0f == "\120\x75r\143\150\x61\x73\x65Ord\145\x72")
    
$xx11 "\x33";
elseif (
$xx0f == "\121\x75otes")
    
$xx11 "4";
else
    
$xx11 "";
if (
$xx11 != "") {
    
$xx10->retrieve_entity_info($xx0e$xx0f);
    
$xx10->id $xx0e;
    
$xx12     = new PDFContent($xx11$xx0f$xx10$_REQUEST["l\141ngu\x61ge"]);
    
$xx13     $xx12->getContent();
    
$xx14     $xx12->getSettings();
    
$xx15     $xx1e($xx13["h\x65\x61\144e\x72"], ENT_COMPAT"\x75\x74\146\055\x38");
    
$xx16     $xx1e($xx13["b\x6f\x64\171"], ENT_COMPAT"utf-\x38");
    
$xx17     $xx1e($xx13["\x66\157\x6f\x74\145\162"], ENT_COMPAT"u\164\146\x2d8");
    if (
$xx14["\157\162i\145\156ta\164i\x6fn"] == "\154and\x73cap\x65")
        
$xx18 $xx14["\x66\x6frma\x74"] . "\x2dL";
    else
        
$xx18 $xx14["\146\157\162\x6d\x61\164"];
    
$xx19 = new mPDF(''$xx18'''Arial'$xx14["\x6da\162\147\151\156_\154\145\146\164"], $xx14["\155\141\x72\x67\x69n_\162\x69g\150\x74"], 00$xx14["\155\x61r\147i\x6e\x5f\164o\x70"], $xx14["\x6da\x72g\151\x6e_\142o\164to\155"]);
    
$xx19->SetAutoFont();
    
$moduleloaded $_GET["relmodule"];
    if (
$moduleloaded == "Invoice") {
        @
$xx19->SetImportUse();
        @
$xx19->SetDocTemplate('invoice.pdf'true);
    }
    if (
$moduleloaded == "Quotes") {
        @
$xx19->SetImportUse();
        @
$xx19->SetDocTemplate('quote.pdf'true);
    }
    @
$xx19->SetHTMLHeader($xx15);
    @
$xx19->SetHTMLFooter($xx17);
    @
$xx19->WriteHTML($xx16);
    
$xx19->Output('cache/' $xx0f '.pdf');
    @
$xx1f();
    
$xx1d('Content-Type: application/pdf');
    
$xx1d("\x43\157\156t\145n\164\055\x6c\x65\x6e\147th\x3a\040" $xx1a("\x2e\x2f\143\141\143\150\x65\x2f" $xx0f "\x2ep\x64\146"));
    
$xx1d("\103\x61c\150\x65\x2d\x43o\x6et\162o\154\072 \160\162\x69\166a\164\145");
    
$xx1d("\103\157\156\x74\145\x6e\164\x2dD\151s\x70\157\x73\x69t\151on\072\040\x61\164t\x61c\150m\x65\156t\073\040f\151\154\145n\141\155\x65\x3d" $xx0f "\056\x70\x64f");
    
$xx1d("\x43on\164\x65\156t-\x44\145s\x63r\x69\160t\x69\157\x6e\072\x20P\x48\x50\040G\145n\x65r\x61\164\145\144\040\104at\141");
    echo 
$xx1b($xx1c("\x2e\057\x63a\143\150\145\x2f" $xx0f "\056p\144\146""\x72"), $xx1a("\x2e/\143a\x63h\145\057" $xx0f "\x2ep\144f"));
    @
$xx20("\143\141\143h\x65\057" $xx0f "\x2e\160\144\146");
    exit;
} else {
    echo 
"E\122\x52O\122\x2c\040\x73\145\154\x65\143\x74\145\144\040\x70\x64\x66 \164\x65m\160lat\x65\040\x69s\x20\x77\162\157n\x67";
    exit;
}
?>

Dove, abbiamo sopratutto formattato il codice offuscato di PDFMaker, successivamente abbiamo aggiunto due funzioni, quella che carica lo sfondo delle fatture:

    if ($moduleloaded == "Invoice") {
        @
$xx19->SetImportUse();
        @
$xx19->SetDocTemplate('invoice.pdf'true);
    }

e quella per i preventivi

    if ($moduleloaded == "Quotes") {
        @
$xx19->SetImportUse();
        @
$xx19->SetDocTemplate('quote.pdf'true);
    }


Quello che dovete fare è semplicemente creare nella cartella di vtiger i due file invoice.pdf e quote.pdf, formato PDF A4 in Adobe Acrobat 4 con la grafica che desiderate.

Nel prossimo tutorial vedremo come applicarlo nella versione professional, e aggiungere il QR code nella versione free.

0 commenti :

Posta un commento