Enhancements in doc generation.

This commit is contained in:
Laurent Destailleur 2011-05-16 14:00:09 +00:00
parent 2e51ab945f
commit f5f1d37ea0
23 changed files with 76 additions and 268 deletions

View File

@ -106,20 +106,6 @@ class CommActionRapport
if (file_exists($dir))
{
// Protection et encryption du pdf
/* if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdf=new FPDI_Protection('P','mm',$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('P','mm',$this->format);
}
*/
$pdf=pdf_getInstance($this->format);
if (class_exists('TCPDF'))

View File

@ -74,7 +74,7 @@ class pdf_edison extends ModelePDFCommandes
// Defini position des colonnes
$this->posxdesc=$this->marge_gauche+1;
$this->posxtva=113;
$this->posxtva=111;
$this->posxup=126;
$this->posxqty=145;
$this->posxdiscount=162;
@ -139,20 +139,6 @@ class pdf_edison extends ModelePDFCommandes
if (file_exists($dir))
{
// Protection et encryption du pdf
/* if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdf=new FPDI_Protection('P','mm',$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('P','mm',$this->format);
}
*/
$pdf=pdf_getInstance($this->format);
if (class_exists('TCPDF'))

View File

@ -88,7 +88,7 @@ class pdf_einstein extends ModelePDFCommandes
// Defini position des colonnes
$this->posxdesc=$this->marge_gauche+1;
$this->posxtva=113;
$this->posxtva=111;
$this->posxup=126;
$this->posxqty=145;
$this->posxdiscount=162;
@ -159,20 +159,6 @@ class pdf_einstein extends ModelePDFCommandes
{
$nblignes = sizeof($object->lines);
// Protection et encryption du pdf
/* if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdf=new FPDI_Protection('P','mm',$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('P','mm',$this->format);
}
*/
$pdf=pdf_getInstance($this->format);
if (class_exists('TCPDF'))

View File

@ -142,20 +142,6 @@ Class pdf_expedition_merou extends ModelePdfExpedition
//Si le dossier existe
if (file_exists($dir))
{
// Protection et encryption du pdf
/* if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdf=new FPDI_Protection('l','mm',$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('l','mm',$this->format);
}
*/
$pdf=pdf_getInstance($this->format,'mm','l');
if (class_exists('TCPDF'))

View File

@ -262,20 +262,6 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
if (file_exists($dir))
{
// Protection et encryption du pdf
/* if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdf=new FPDI_Protection('P','mm',$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('P','mm',$this->format);
}
*/
$pdf=pdf_getInstance($this->format);
if (class_exists('TCPDF'))

View File

@ -97,23 +97,39 @@ class doc_generic_invoice_odt extends ModelePDFFactures
{
global $conf;
$invoice_source=new Facture($this->db);
if ($object->fk_facture_source > 0)
{
$invoice_source->fetch($object->fk_facture_source);
}
$alreadypayed=price($object->getSommePaiement(),'MT');
return array(
'object_id'=>$object->id,
'object_ref'=>$object->ref,
'object_ref_customer'=>$object->ref_client,
'object_ref_ext'=>$object->ref_ext,
'object_ref_customer'=>$object->ref_client,
'object_ref_supplier'=>$object->ref_fournisseur,
'object_date'=>dol_print_date($object->date,'day'),
'object_date_creation'=>dol_print_date($object->date_creation,'dayhour'),
'object_source_invoice_ref'=>$invoice_source->ref,
'object_date'=>dol_print_date($object->date,'day'),
'object_date_limit'=>dol_print_date($object->date_lim_reglement,'dayhour'),
'object_date_creation'=>dol_print_date($object->date_creation,'day'),
'object_date_modification'=>dol_print_date($object->date_modification,'day'),
'object_date_validation'=>dol_print_date($object->date_validation,'dayhour'),
'object_total_ht'=>price($object->total_ht),
'object_payment_mode'=>$object->mode_reglement,
'object_payment_term'=>$object->cond_reglement,
'object_total_ht'=>price($object->total_ht),
'object_total_vat'=>price($object->total_tva),
'object_total_ttc'=>price($object->total_ttc),
'object_vatrate'=>vatrate($object->tva),
'object_note_private'=>$object->note,
'object_note'=>$object->note_public
'object_note'=>$object->note_public,
// Payments
'object_already_payed'=>$alreadypayed,
'object_remain_to_pay'=>price($object->total_ttc - $alreadypayed,'MT')
);
}
/**
* Define array with couple substitution key => substitution value
*
@ -223,7 +239,7 @@ class doc_generic_invoice_odt extends ModelePDFFactures
$texte.= '</table>';
// Scan directories
if (sizeof($listofdir)) $texte.=$langs->trans("NumberOfModelFilesFound").': '.sizeof($listoffiles);
if (sizeof($listofdir)) $texte.=$langs->trans("NumberOfModelFilesFound").': <b>'.sizeof($listoffiles).'</b>';
$texte.= '</td>';
@ -337,6 +353,23 @@ class doc_generic_invoice_odt extends ModelePDFFactures
$socobject=$object->client;
}
// Line of free text
$newfreetext='';
$paramfreetext='FACTURE_FREE_TEXT';
if (! empty($conf->global->$paramfreetext))
{
// Make substitution
$substitutionarray=array(
'__FROM_NAME__' => $this->emetteur->nom,
'__FROM_EMAIL__' => $this->emetteur->email,
'__TOTAL_TTC__' => $object->total_ttc,
'__TOTAL_HT__' => $object->total_ht,
'__TOTAL_VAT__' => $object->total_vat
);
$newfreetext=make_substitutions($conf->global->$paramfreetext,$substitutionarray,$outputlangs,$object);
}
// Open and load template
require_once(DOL_DOCUMENT_ROOT.'/includes/odtphp/odf.php');
$odfHandler = new odf($srctemplatepath, array(
@ -351,8 +384,18 @@ class doc_generic_invoice_odt extends ModelePDFFactures
//print html_entity_decode($odfHandler->__toString());
//print exit;
// Make substitutions
$tmparray=$this->get_substitutionarray_user($user,$outputlangs);
// Make substitutions into odt
if ($newfreetext)
{
try {
$odfHandler->setVars('free_text', $newfreetext, true, 'UTF-8');
}
catch(OdfException $e)
{
}
}
$tmparray=$this->get_substitutionarray_user($user,$outputlangs);
//var_dump($tmparray); exit;
foreach($tmparray as $key=>$value)
{
@ -410,7 +453,7 @@ class doc_generic_invoice_odt extends ModelePDFFactures
{
}
}
// Replace tags of object
$tmparray=$this->get_substitutionarray_object($object,$outputlangs);
foreach($tmparray as $key=>$value)
{
@ -429,7 +472,7 @@ class doc_generic_invoice_odt extends ModelePDFFactures
{
}
}
// Replace tags of lines
try
{
$listlines = $odfHandler->setSegment('lines');

View File

@ -92,7 +92,7 @@ class pdf_crabe extends ModelePDFFactures
// Defini position des colonnes
$this->posxdesc=$this->marge_gauche+1;
$this->posxtva=113;
$this->posxtva=111;
$this->posxup=126;
$this->posxqty=145;
$this->posxdiscount=162;
@ -165,22 +165,6 @@ class pdf_crabe extends ModelePDFFactures
{
$nblignes = sizeof($object->lines);
// Protection et encryption du pdf
/* if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
if ($conf->global->MAIN_USE_FPDF) $pdf = new FPDI_Protection('P','mm',$this->format);
else $pdf = new FPDI('P','mm',$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
if (empty($conf->global->MAIN_USE_FPDF)) $pdfrights[]='assemble';
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('P','mm',$this->format);
}
*/
$pdf=pdf_getInstance($this->format);
if (class_exists('TCPDF'))
@ -242,7 +226,6 @@ class pdf_crabe extends ModelePDFFactures
$pdf->SetDrawColor(192,192,192);
//print $pdf->getStringHeight(200,'SPECIMEN',false,false);
//print "$this->marge_gauche, $tab_top-1, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $height_note+1";exit;
$pdf->Rect($this->marge_gauche, $tab_top-1, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $height_note+1);
$tab_height = $tab_height - $height_note;

View File

@ -93,7 +93,7 @@ class pdf_oursin extends ModelePDFFactures
// Defini position des colonnes
$this->posxdesc=$this->marge_gauche+1;
$this->posxtva=113;
$this->posxtva=111;
$this->posxup=126;
$this->posxqty=145;
$this->posxdiscount=162;
@ -163,21 +163,6 @@ class pdf_oursin extends ModelePDFFactures
if (file_exists($dir))
{
// Protection et encryption du pdf
/* if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdf=new FPDI_Protection('P','mm',$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du propri<72>taire, cr<63><72> al<61>atoirement si pas d<>fini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('P','mm',$this->format);
}
*/
$pdf=pdf_getInstance($this->format);
if (class_exists('TCPDF'))

View File

@ -127,20 +127,6 @@ class pdf_soleil extends ModelePDFFicheinter
if (file_exists($dir))
{
// Protection et encryption du pdf
/* if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdf=new FPDI_Protection('P','mm',$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('P','mm',$this->format);
}
*/
$pdf=pdf_getInstance($this->format);
if (class_exists('TCPDF'))

View File

@ -117,20 +117,6 @@ class pdf_sirocco extends ModelePDFDeliveryOrder
if (file_exists($dir))
{
// Protection et encryption du pdf
/* if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdf=new FPDI_Protection('P','mm',$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('P','mm',$this->format);
}
*/
$pdf=pdf_getInstance($this->format);
if (class_exists('TCPDF'))

View File

@ -83,7 +83,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder
// Defini position des colonnes
$this->posxdesc=$this->marge_gauche+1;
$this->posxcomm=120;
$this->posxtva=121;
//$this->posxtva=111;
$this->posxup=132;
$this->posxqty=168;
$this->posxdiscount=162;
@ -140,20 +140,6 @@ class pdf_typhon extends ModelePDFDeliveryOrder
if (file_exists($dir))
{
// Protection et encryption du pdf
/* if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdf=new FPDI_Protection('P','mm',$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('P','mm',$this->format);
}
*/
$pdf=pdf_getInstance($this->format);
if (class_exists('TCPDF'))

View File

@ -397,21 +397,6 @@ class pdf_standard {
}
}
// Protection et encryption du pdf
/* if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdf=new FPDI_Protection('P',$this->Tformat['metric'],$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('P',$this->Tformat['metric'],$this->format);
}
*/
$pdf=pdf_getInstance($this->format,$this->Tformat['metric']);
if (class_exists('TCPDF'))

View File

@ -376,21 +376,6 @@ class pdf_standardlabel {
}
}
// Protection et encryption du pdf
/* if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdf=new FPDI_Protection('P',$this->Tformat['metric'],$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('P',$this->Tformat['metric'],$this->format);
}
*/
$pdf=pdf_getInstance($this->format,$this->Tformat['metric']);
if (class_exists('TCPDF'))

View File

@ -125,20 +125,6 @@ class pdf_baleine extends ModelePDFProjects
if (file_exists($dir))
{
// Protection et encryption du pdf
/* if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdf=new FPDI_Protection('P','mm',$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('P','mm',$this->format);
}
*/
$pdf=pdf_getInstance($this->format);
if (class_exists('TCPDF'))

View File

@ -87,7 +87,7 @@ class pdf_propale_azur extends ModelePDFPropales
// Defini position des colonnes
$this->posxdesc=$this->marge_gauche+1;
$this->posxtva=113;
$this->posxtva=111;
$this->posxup=126;
$this->posxqty=145;
$this->posxdiscount=162;

View File

@ -132,20 +132,6 @@ class pdf_propale_jaune extends ModelePDFPropales
if (file_exists($dir))
{
// Protection et encryption du pdf
/* if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdf=new FPDI_Protection('P','mm',$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('P','mm',$this->format);
}
*/
$pdf=pdf_getInstance($this->format);
if (class_exists('TCPDF'))

View File

@ -103,21 +103,6 @@ class pdf_paiement
$year = sprintf("%04d",$year);
$file = $dir . "/payments-".$year."-".$month.".pdf";
// Protection et encryption du pdf
/* if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
if ($conf->global->MAIN_USE_FPDF) $pdf = new FPDI_Protection('P','mm',$this->format);
else $pdf = new FPDI('P','mm',$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('P','mm',$this->format);
}
*/
$pdf=pdf_getInstance($this->format);
if (class_exists('TCPDF'))

View File

@ -158,7 +158,7 @@ class doc_generic_odt extends ModeleThirdPartyDoc
$texte.= '</table>';
// Scan directories
if (sizeof($listofdir)) $texte.=$langs->trans("NumberOfModelFilesFound").': '.sizeof($listoffiles);
if (sizeof($listofdir)) $texte.=$langs->trans("NumberOfModelFilesFound").': <b>'.sizeof($listoffiles).'</b>';
$texte.= '</td>';

View File

@ -80,7 +80,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
// Defini position des colonnes
$this->posxdesc=$this->marge_gauche+1;
$this->posxtva=113;
$this->posxtva=111;
$this->posxup=126;
$this->posxqty=145;
$this->posxdiscount=162;
@ -151,20 +151,6 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
{
$nblignes = sizeof($object->lines);
// Protection et encryption du pdf
/* if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdf=new FPDI_Protection('P','mm',$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('P','mm',$this->format);
}
*/
$pdf=pdf_getInstance($this->format);
if (class_exists('TCPDF'))

View File

@ -81,7 +81,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
// Defini position des colonnes
$this->posxdesc=$this->marge_gauche+1;
$this->posxtva=113;
$this->posxtva=111;
$this->posxup=126;
$this->posxqty=145;
$this->posxdiscount=162;
@ -153,20 +153,6 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
{
$nblignes = sizeof($object->lines);
// Protection et encryption du pdf
/* if ($conf->global->PDF_SECURITY_ENCRYPTION)
{
$pdf=new FPDI_Protection('P','mm',$this->format);
$pdfrights = array('print'); // Ne permet que l'impression du document
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
$pdfownerpass = NULL; // Mot de passe du proprietaire, cree aleatoirement si pas defini
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
}
else
{
$pdf=new FPDI('P','mm',$this->format);
}
*/
$pdf=pdf_getInstance($this->format);
if (class_exists('TCPDF'))

View File

@ -177,7 +177,7 @@ color: black;
padding: 5px 5px 5px 5px;
margin: 0em 0em 0em 0em;
text-decoration:none;
font-size: 13px;
font-size: 12px;
border-bottom: 1px solid #8CACBB;
}
@ -198,3 +198,9 @@ div.visible {
div.hidden {
display: none;
}
ul {
margin: 0;
padding-top: 0;
padding-bottom: 0;
}

View File

@ -40,8 +40,9 @@ $langs->load("errors");
// You can force preselected values of the config step of Dolibarr by adding a file
// install.forced.php into directory htdocs/install (This is the case with some installer
// lile DoliWamp, DoliMamp or DoliDeb.
// lile DoliWamp, DoliMamp or DoliBuntu.
// We first init "forced values" to nothing.
if (! isset($force_install_noedit)) $force_install_noedit='';
if (! isset($force_install_type)) $force_install_type='';
if (! isset($force_install_port)) $force_install_port='';
if (! isset($force_install_database)) $force_install_database='';
@ -121,7 +122,10 @@ if (! empty($force_install_message))
}
?>
<td class="label" valign="top">
<input type="text" size="60" value="<?php print $dolibarr_main_document_root; ?>"<?php print (empty($todoforce_install_main_data_root)?'':' disabled="true"'); ?> name="main_dir">
<?php
if ($force_install_noedit) print '<input type="hidden" value="'.$dolibarr_main_document_root.'" name="main_dir">';
print '<input type="text" size="60" value="'.$dolibarr_main_document_root.'"'.(empty($force_install_noedit)?'':' disabled="true"').' name="main_dir'.$force_install_noedit.'">';
?>
</td>
<td class="comment"><?php
print $langs->trans("WithNoSlashAtTheEnd")."<br>";