Add option to set mask on new files
This commit is contained in:
parent
1ca8c0975f
commit
6a259176a4
@ -23,7 +23,7 @@
|
|||||||
\ingroup adherent
|
\ingroup adherent
|
||||||
\brief Page de creation d'une carte PDF
|
\brief Page de creation d'une carte PDF
|
||||||
\version $Id$
|
\version $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require("./pre.inc.php");
|
require("./pre.inc.php");
|
||||||
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php");
|
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php");
|
||||||
@ -32,29 +32,29 @@ require_once(DOL_DOCUMENT_ROOT."/adherents/cartes/PDF_card.class.php");
|
|||||||
|
|
||||||
// liste des patterns remplacable dans le texte a imprimer
|
// liste des patterns remplacable dans le texte a imprimer
|
||||||
$patterns = array (
|
$patterns = array (
|
||||||
'/%PRENOM%/',
|
'/%PRENOM%/',
|
||||||
'/%NOM%/',
|
'/%NOM%/',
|
||||||
'/%SERVEUR%/',
|
'/%SERVEUR%/',
|
||||||
'/%SOCIETE%/',
|
'/%SOCIETE%/',
|
||||||
'/%ADRESSE%/',
|
'/%ADRESSE%/',
|
||||||
'/%CP%/',
|
'/%CP%/',
|
||||||
'/%VILLE%/',
|
'/%VILLE%/',
|
||||||
'/%PAYS%/',
|
'/%PAYS%/',
|
||||||
'/%EMAIL%/',
|
'/%EMAIL%/',
|
||||||
'/%NAISS%/',
|
'/%NAISS%/',
|
||||||
'/%PHOTO%/',
|
'/%PHOTO%/',
|
||||||
'/%TYPE%/',
|
'/%TYPE%/',
|
||||||
'/%ID%/',
|
'/%ID%/',
|
||||||
'/%ANNEE%/'
|
'/%ANNEE%/'
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*-------------------------------------------------
|
*-------------------------------------------------
|
||||||
* Pour créer l'objet on a 2 moyens :
|
* Pour cr<EFBFBD>er l'objet on a 2 moyens :
|
||||||
* Soit on donne les valeurs en les passant dans un tableau (sert pour un format personnel)
|
* Soit on donne les valeurs en les passant dans un tableau (sert pour un format personnel)
|
||||||
* Soit on donne le type d'étiquette au format AVERY
|
* Soit on donne le type d'<EFBFBD>tiquette au format AVERY
|
||||||
*-------------------------------------------------
|
*-------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//$pdf = new PDF_Label(array('name'=>'perso1', 'marginLeft'=>1, 'marginTop'=>1, 'NX'=>2, 'NY'=>7, 'SpaceX'=>0, 'SpaceY'=>0, 'width'=>99.1, 'height'=>'38.1', 'metric'=>'mm', 'font-size'=>14), 1, 2);
|
//$pdf = new PDF_Label(array('name'=>'perso1', 'marginLeft'=>1, 'marginTop'=>1, 'NX'=>2, 'NY'=>7, 'SpaceX'=>0, 'SpaceY'=>0, 'width'=>99.1, 'height'=>'38.1', 'metric'=>'mm', 'font-size'=>14), 1, 2);
|
||||||
$pdf = new PDF_card('CARD', 1, 1);
|
$pdf = new PDF_card('CARD', 1, 1);
|
||||||
@ -105,7 +105,6 @@ if ($result)
|
|||||||
);
|
);
|
||||||
|
|
||||||
// imprime le texte specifique sur la carte
|
// imprime le texte specifique sur la carte
|
||||||
//$pdf->Add_PDF_card(sprintf("%s\n%s\n%s\n%s\n%s, %s\n%s", $objp->type." n° ".$objp->rowid,ucfirst(strtolower($objp->prenom))." ".strtoupper($objp->nom),"<".$objp->email.">", ucwords(strtolower($objp->adresse)), $objp->cp, strtoupper($objp->ville), ucfirst(strtolower($objp->pays))),$annee,"Association FreeLUG http://www.freelug.org/");
|
|
||||||
$pdf->Add_PDF_card(preg_replace ($patterns, $replace, $conf->global->ADHERENT_CARD_TEXT),
|
$pdf->Add_PDF_card(preg_replace ($patterns, $replace, $conf->global->ADHERENT_CARD_TEXT),
|
||||||
preg_replace ($patterns, $replace, $conf->global->ADHERENT_CARD_HEADER_TEXT),
|
preg_replace ($patterns, $replace, $conf->global->ADHERENT_CARD_HEADER_TEXT),
|
||||||
preg_replace ($patterns, $replace, $conf->global->ADHERENT_CARD_FOOTER_TEXT));
|
preg_replace ($patterns, $replace, $conf->global->ADHERENT_CARD_FOOTER_TEXT));
|
||||||
@ -113,6 +112,8 @@ if ($result)
|
|||||||
}
|
}
|
||||||
|
|
||||||
$db->close();
|
$db->close();
|
||||||
|
|
||||||
|
// Output to http strem
|
||||||
$pdf->Output();
|
$pdf->Output();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -16,17 +16,14 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
* $Source$
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\file htdocs/adherents/cartes/etiquette.php
|
\file htdocs/adherents/cartes/etiquette.php
|
||||||
\ingroup adherent
|
\ingroup adherent
|
||||||
\brief Page de creation d'etiquettes
|
\brief Page de creation d'etiquettes
|
||||||
\version $Revision$
|
\version $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require("./pre.inc.php");
|
require("./pre.inc.php");
|
||||||
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php");
|
require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php");
|
||||||
@ -35,11 +32,11 @@ require_once('PDF_card.class.php');
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
*-------------------------------------------------
|
*-------------------------------------------------
|
||||||
* Pour créer l'objet on a 2 moyens :
|
* Pour cr<EFBFBD>er l'objet on a 2 moyens :
|
||||||
* Soit on donne les valeurs en les passant dans un tableau (sert pour un format personnel)
|
* Soit on donne les valeurs en les passant dans un tableau (sert pour un format personnel)
|
||||||
* Soit on donne le type d'étiquette au format AVERY
|
* Soit on donne le type d'<EFBFBD>tiquette au format AVERY
|
||||||
*-------------------------------------------------
|
*-------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//$pdf = new PDF_Label(array('name'=>'perso1', 'marginLeft'=>1, 'marginTop'=>1, 'NX'=>2, 'NY'=>7, 'SpaceX'=>0, 'SpaceY'=>0, 'width'=>99.1, 'height'=>'38.1', 'metric'=>'mm', 'font-size'=>14), 1, 2);
|
//$pdf = new PDF_Label(array('name'=>'perso1', 'marginLeft'=>1, 'marginTop'=>1, 'NX'=>2, 'NY'=>7, 'SpaceX'=>0, 'SpaceY'=>0, 'width'=>99.1, 'height'=>'38.1', 'metric'=>'mm', 'font-size'=>14), 1, 2);
|
||||||
//$pdf = new PDF_card('CARD', 1, 1);
|
//$pdf = new PDF_card('CARD', 1, 1);
|
||||||
@ -82,6 +79,8 @@ if ($result)
|
|||||||
}
|
}
|
||||||
|
|
||||||
$db->close();
|
$db->close();
|
||||||
|
|
||||||
|
// Output to http strem
|
||||||
$pdf->Output();
|
$pdf->Output();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -169,6 +169,9 @@ if ($what == 'mysql')
|
|||||||
if ($compression == 'none') fclose($handle);
|
if ($compression == 'none') fclose($handle);
|
||||||
if ($compression == 'gz') gzclose($handle);
|
if ($compression == 'gz') gzclose($handle);
|
||||||
if ($compression == 'bz') bzclose($handle);
|
if ($compression == 'bz') bzclose($handle);
|
||||||
|
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($outputfile, octdec($conf->global->MAIN_UMASK));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -110,7 +110,7 @@ class CommActionRapport
|
|||||||
$pdf=new FPDI_Protection('P','mm',$this->format);
|
$pdf=new FPDI_Protection('P','mm',$this->format);
|
||||||
$pdfrights = array('print'); // Ne permet que l'impression du document
|
$pdfrights = array('print'); // Ne permet que l'impression du document
|
||||||
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
||||||
$pdfownerpass = NULL; // Mot de passe du propriétire, crée aléatoirement si pas défini
|
$pdfownerpass = NULL; // Mot de passe du propri<EFBFBD>tire, cr<63>e al<61>atoirement si pas d<>fini
|
||||||
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -138,6 +138,8 @@ class CommActionRapport
|
|||||||
$pdf->Close();
|
$pdf->Close();
|
||||||
|
|
||||||
$pdf->Output($file);
|
$pdf->Output($file);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -94,8 +94,17 @@ if ($_POST["action"] == "builddoc" && $user->rights->facture->lire)
|
|||||||
// enregistre le fichier pdf concatene
|
// enregistre le fichier pdf concatene
|
||||||
$filename=sanitize_string(strtolower($langs->transnoentities("Unpayed")));
|
$filename=sanitize_string(strtolower($langs->transnoentities("Unpayed")));
|
||||||
if ($option=='late') $filename.='_'.sanitize_string(strtolower($langs->transnoentities("Late")));
|
if ($option=='late') $filename.='_'.sanitize_string(strtolower($langs->transnoentities("Late")));
|
||||||
if ($pagecount) $pdf->Output($diroutputpdf.'/'.$filename.'_'.dolibarr_print_date(mktime(),'dayhourlog').'.pdf');
|
if ($pagecount)
|
||||||
else $mesg='<div class="error">'.$langs->trans('NoPDFAvailableForChecked').'</div>';
|
{
|
||||||
|
$file=$diroutputpdf.'/'.$filename.'_'.dolibarr_print_date(mktime(),'dayhourlog').'.pdf';
|
||||||
|
$pdf->Output($file);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$mesg='<div class="error">'.$langs->trans('NoPDFAvailableForChecked').'</div>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -23,15 +23,15 @@
|
|||||||
/**
|
/**
|
||||||
\file htdocs/compta/paiement/cheque/pdf/pdf_blochet.class.php
|
\file htdocs/compta/paiement/cheque/pdf/pdf_blochet.class.php
|
||||||
\ingroup banque
|
\ingroup banque
|
||||||
\brief Fichier de la classe permettant de générer les bordereau de remise de cheque
|
\brief Fichier de la classe permettant de g<EFBFBD>n<EFBFBD>rer les bordereau de remise de cheque
|
||||||
\version $Revision$
|
\version $Revision$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\class BordereauChequeBlochet
|
\class BordereauChequeBlochet
|
||||||
\brief Classe permettant de générer les bordereau de remise de cheque
|
\brief Classe permettant de g<EFBFBD>n<EFBFBD>rer les bordereau de remise de cheque
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class BordereauChequeBlochet
|
class BordereauChequeBlochet
|
||||||
{
|
{
|
||||||
@ -120,7 +120,7 @@ class BordereauChequeBlochet
|
|||||||
$pdf->line(170, 47, 170, 54);
|
$pdf->line(170, 47, 170, 54);
|
||||||
|
|
||||||
$pdf->SetFont('Arial','',10);
|
$pdf->SetFont('Arial','',10);
|
||||||
$pdf->Text(10, 52, "Nombre de chèque");
|
$pdf->Text(10, 52, "Nombre de ch<EFBFBD>que");
|
||||||
|
|
||||||
$pdf->SetFont('Arial','B',10);
|
$pdf->SetFont('Arial','B',10);
|
||||||
$pdf->Text(57, 52, $this->nbcheque);
|
$pdf->Text(57, 52, $this->nbcheque);
|
||||||
@ -192,7 +192,7 @@ class BordereauChequeBlochet
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
\brief Fonction générant le rapport sur le disque
|
\brief Fonction g<EFBFBD>n<EFBFBD>rant le rapport sur le disque
|
||||||
\param _dir repertoire
|
\param _dir repertoire
|
||||||
\param month mois du rapport
|
\param month mois du rapport
|
||||||
\param year annee du rapport
|
\param year annee du rapport
|
||||||
@ -216,7 +216,7 @@ class BordereauChequeBlochet
|
|||||||
|
|
||||||
$month = sprintf("%02d",$month);
|
$month = sprintf("%02d",$month);
|
||||||
$year = sprintf("%04d",$year);
|
$year = sprintf("%04d",$year);
|
||||||
$_file = $dir . "bordereau-00".$number.".pdf"; //Todo: réparation provisoire, ajout de 2 zero
|
$_file = $dir . "bordereau-00".$number.".pdf"; //Todo: r<EFBFBD>paration provisoire, ajout de 2 zero
|
||||||
|
|
||||||
// Protection et encryption du pdf
|
// Protection et encryption du pdf
|
||||||
if ($conf->global->PDF_SECURITY_ENCRYPTION)
|
if ($conf->global->PDF_SECURITY_ENCRYPTION)
|
||||||
@ -225,7 +225,7 @@ class BordereauChequeBlochet
|
|||||||
$pdf = new FPDI_Protection('P','mm','A4');
|
$pdf = new FPDI_Protection('P','mm','A4');
|
||||||
$pdfrights = array('print'); // Ne permet que l'impression du document
|
$pdfrights = array('print'); // Ne permet que l'impression du document
|
||||||
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
||||||
$pdfownerpass = NULL; // Mot de passe du propriétaire, créé aléatoirement si pas défini
|
$pdfownerpass = NULL; // Mot de passe du propri<72>taire, cr<63><72> al<61>atoirement si pas d<>fini
|
||||||
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -246,7 +246,7 @@ class BordereauChequeBlochet
|
|||||||
|
|
||||||
if ($pages == 0)
|
if ($pages == 0)
|
||||||
{
|
{
|
||||||
// force à générer au moins une page si le rapport ne contient aucune ligne
|
// force to build at least one page if report has no lines
|
||||||
$pages = 1;
|
$pages = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -257,6 +257,8 @@ class BordereauChequeBlochet
|
|||||||
$this->Body($pdf, 1);
|
$this->Body($pdf, 1);
|
||||||
|
|
||||||
$pdf->Output($_file);
|
$pdf->Output($_file);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
/**
|
/**
|
||||||
\file htdocs/bon-prelevement.class.php
|
\file htdocs/bon-prelevement.class.php
|
||||||
\ingroup prelevement
|
\ingroup prelevement
|
||||||
\brief Fichier de la classe des bons de prélévements
|
\brief Fichier de la classe des bons de pr<EFBFBD>l<EFBFBD>vements
|
||||||
\version $Revision$
|
\version $Revision$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -129,7 +129,7 @@ class BonPrelevement
|
|||||||
if ($concat == 1)
|
if ($concat == 1)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* On aggrège les lignes
|
* On aggr<EFBFBD>ge les lignes
|
||||||
*/
|
*/
|
||||||
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."prelevement_lignes";
|
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."prelevement_lignes";
|
||||||
$sql .= " WHERE fk_prelevement_bons".$this->id;
|
$sql .= " WHERE fk_prelevement_bons".$this->id;
|
||||||
@ -150,7 +150,7 @@ class BonPrelevement
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Pas de d'agrégation
|
* Pas de d'agr<EFBFBD>gation
|
||||||
*/
|
*/
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_lignes (fk_prelevement_bons";
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_lignes (fk_prelevement_bons";
|
||||||
$sql .= " , fk_soc , client_nom ";
|
$sql .= " , fk_soc , client_nom ";
|
||||||
@ -237,7 +237,7 @@ class BonPrelevement
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dolibarr_syslog("BonPrelevement::Fetch Erreur aucune ligne retournée");
|
dolibarr_syslog("BonPrelevement::Fetch Erreur aucune ligne retourn<EFBFBD>e");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -279,7 +279,7 @@ class BonPrelevement
|
|||||||
|
|
||||||
for ($i = 0 ; $i < sizeof($facs) ; $i++)
|
for ($i = 0 ; $i < sizeof($facs) ; $i++)
|
||||||
{
|
{
|
||||||
/* Tag la facture comme impayée */
|
/* Tag la facture comme impay<EFBFBD>e */
|
||||||
dolibarr_syslog("BonPrelevement::set_credite set_payed fac ".$facs[$i]);
|
dolibarr_syslog("BonPrelevement::set_credite set_payed fac ".$facs[$i]);
|
||||||
$fac = new Facture($this->db);
|
$fac = new Facture($this->db);
|
||||||
$fac->fetch($facs[$i]);
|
$fac->fetch($facs[$i]);
|
||||||
@ -302,7 +302,7 @@ class BonPrelevement
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fin de la procédure
|
* Fin de la proc<EFBFBD>dure
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if ($error == 0)
|
if ($error == 0)
|
||||||
@ -352,10 +352,10 @@ class BonPrelevement
|
|||||||
|
|
||||||
if ($this->db->query($sql))
|
if ($this->db->query($sql))
|
||||||
{
|
{
|
||||||
$subject = "Crédit prélèvement ".$this->ref." à la banque";
|
$subject = "Cr<EFBFBD>dit pr<70>l<EFBFBD>vement ".$this->ref." <20> la banque";
|
||||||
$message = "Le bon de prélèvement ".$this->ref;
|
$message = "Le bon de pr<EFBFBD>l<EFBFBD>vement ".$this->ref;
|
||||||
$message .= " a été crédité par la banque.\n";
|
$message .= " a <EFBFBD>t<EFBFBD> cr<63>dit<69> par la banque.\n";
|
||||||
$message .= "Date crédit : ".dolibarr_print_date($date,'dayhour');
|
$message .= "Date cr<EFBFBD>dit : ".dolibarr_print_date($date,'dayhour');
|
||||||
|
|
||||||
$this->Notify($user, "cr", $subject, $message);
|
$this->Notify($user, "cr", $subject, $message);
|
||||||
}
|
}
|
||||||
@ -366,7 +366,7 @@ class BonPrelevement
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fin de la procédure
|
* Fin de la proc<EFBFBD>dure
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if ($error == 0)
|
if ($error == 0)
|
||||||
@ -421,12 +421,12 @@ class BonPrelevement
|
|||||||
{
|
{
|
||||||
$this->method_trans = $method;
|
$this->method_trans = $method;
|
||||||
|
|
||||||
$subject = "Transmission du prélèvement ".$this->ref." à la banque";
|
$subject = "Transmission du pr<EFBFBD>l<EFBFBD>vement ".$this->ref." <20> la banque";
|
||||||
$message = "Le bon de prélèvement ".$this->ref;
|
$message = "Le bon de pr<EFBFBD>l<EFBFBD>vement ".$this->ref;
|
||||||
$message .= " a été transmis à la banque par ".$user->prenom. " ".$user->nom;
|
$message .= " a <EFBFBD>t<EFBFBD> transmis <20> la banque par ".$user->prenom. " ".$user->nom;
|
||||||
$message .= "\n\n";
|
$message .= "\n\n";
|
||||||
$message .= "\nMontant : ".price($this->amount);
|
$message .= "\nMontant : ".price($this->amount);
|
||||||
$message .= "\nMéthode : ".$this->methodes_trans[$this->method_trans];
|
$message .= "\nM<EFBFBD>thode : ".$this->methodes_trans[$this->method_trans];
|
||||||
$message .= "\nDate : ".dolibarr_print_date($date,'day');
|
$message .= "\nDate : ".dolibarr_print_date($date,'day');
|
||||||
|
|
||||||
$this->Notify($user,"tr", $subject, $message, 1);
|
$this->Notify($user,"tr", $subject, $message, 1);
|
||||||
@ -439,7 +439,7 @@ class BonPrelevement
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fin de la procédure
|
* Fin de la proc<EFBFBD>dure
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if ($error == 0)
|
if ($error == 0)
|
||||||
@ -470,7 +470,7 @@ class BonPrelevement
|
|||||||
function Notify($user, $action, $subject, $message, $joinfile=0)
|
function Notify($user, $action, $subject, $message, $joinfile=0)
|
||||||
{
|
{
|
||||||
$message .= "\n\n--\n";
|
$message .= "\n\n--\n";
|
||||||
$message .= "Ceci est un message automatique envoyé par Dolibarr";
|
$message .= "Ceci est un message automatique envoy<EFBFBD> par Dolibarr";
|
||||||
|
|
||||||
$sql = "SELECT u.name, u.firstname, u.email";
|
$sql = "SELECT u.name, u.firstname, u.email";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."user as u";
|
$sql .= " FROM ".MAIN_DB_PREFIX."user as u";
|
||||||
@ -516,15 +516,15 @@ class BonPrelevement
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Recupére la liste des factures concernées
|
* \brief Recup<EFBFBD>re la liste des factures concern<EFBFBD>es
|
||||||
*/
|
*/
|
||||||
function _get_list_factures()
|
function _get_list_factures()
|
||||||
{
|
{
|
||||||
$arr = array();
|
$arr = array();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Renvoie toutes les factures présente
|
* Renvoie toutes les factures pr<EFBFBD>sente
|
||||||
* dans un bon de prélèvement
|
* dans un bon de pr<EFBFBD>l<EFBFBD>vement
|
||||||
*/
|
*/
|
||||||
$sql = "SELECT fk_facture";
|
$sql = "SELECT fk_facture";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
|
$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p";
|
||||||
@ -595,7 +595,7 @@ class BonPrelevement
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Renvoi nombre de factures a prélever
|
* \brief Renvoi nombre de factures a pr<EFBFBD>lever
|
||||||
* \param banque bank
|
* \param banque bank
|
||||||
* \param agence agence
|
* \param agence agence
|
||||||
* \return int <O si erreur, sinon nbre de factures
|
* \return int <O si erreur, sinon nbre de factures
|
||||||
@ -645,7 +645,7 @@ class BonPrelevement
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Cree prelevement
|
* \brief Cree prelevement
|
||||||
* \return int <0 si ko, nbre de facture prélevé sinon
|
* \return int <0 si ko, nbre de facture pr<EFBFBD>lev<EFBFBD> sinon
|
||||||
*/
|
*/
|
||||||
function Create($banque=0, $guichet=0)
|
function Create($banque=0, $guichet=0)
|
||||||
{
|
{
|
||||||
@ -693,7 +693,7 @@ class BonPrelevement
|
|||||||
$sql .= " AND f.paye = 0";
|
$sql .= " AND f.paye = 0";
|
||||||
$sql .= " AND pfd.traite = 0";
|
$sql .= " AND pfd.traite = 0";
|
||||||
$sql .= " AND f.total_ttc > 0";
|
$sql .= " AND f.total_ttc > 0";
|
||||||
$sql .= " AND f.fk_mode_reglement = 3"; // Mode prélèvement
|
$sql .= " AND f.fk_mode_reglement = 3"; // Mode pr<EFBFBD>l<EFBFBD>vement
|
||||||
|
|
||||||
if ($banque == 1)
|
if ($banque == 1)
|
||||||
{
|
{
|
||||||
@ -718,7 +718,7 @@ class BonPrelevement
|
|||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
$this->db->free($resql);
|
$this->db->free($resql);
|
||||||
dolibarr_syslog("$i factures à prélever");
|
dolibarr_syslog("$i factures <EFBFBD> pr<70>lever");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -737,11 +737,11 @@ class BonPrelevement
|
|||||||
if (! $error)
|
if (! $error)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Vérification des RIB
|
* V<EFBFBD>rification des RIB
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
$i = 0;
|
$i = 0;
|
||||||
dolibarr_syslog("Début vérification des RIB");
|
dolibarr_syslog("D<EFBFBD>but v<>rification des RIB");
|
||||||
|
|
||||||
if (sizeof($factures) > 0)
|
if (sizeof($factures) > 0)
|
||||||
{
|
{
|
||||||
@ -769,7 +769,7 @@ class BonPrelevement
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dolibarr_syslog("Impossible de lire la société");
|
dolibarr_syslog("Impossible de lire la soci<EFBFBD>t<EFBFBD>");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -790,7 +790,7 @@ class BonPrelevement
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
dolibarr_syslog(sizeof($factures_prev)." factures seront prélevées");
|
dolibarr_syslog(sizeof($factures_prev)." factures seront pr<EFBFBD>lev<EFBFBD>es");
|
||||||
|
|
||||||
if (sizeof($factures_prev) > 0)
|
if (sizeof($factures_prev) > 0)
|
||||||
{
|
{
|
||||||
@ -855,7 +855,7 @@ class BonPrelevement
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$error++;
|
$error++;
|
||||||
dolibarr_syslog("Erreur création du bon de prelevement");
|
dolibarr_syslog("Erreur cr<EFBFBD>ation du bon de prelevement");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -865,7 +865,7 @@ class BonPrelevement
|
|||||||
*/
|
*/
|
||||||
if (!$error)
|
if (!$error)
|
||||||
{
|
{
|
||||||
dolibarr_syslog("Début génération des paiements");
|
dolibarr_syslog("D<EFBFBD>but g<>n<EFBFBD>ration des paiements");
|
||||||
dolibarr_syslog("Nombre de factures ".sizeof($factures_prev));
|
dolibarr_syslog("Nombre de factures ".sizeof($factures_prev));
|
||||||
|
|
||||||
if (sizeof($factures_prev) > 0)
|
if (sizeof($factures_prev) > 0)
|
||||||
@ -880,7 +880,7 @@ class BonPrelevement
|
|||||||
$pai->amounts = array();
|
$pai->amounts = array();
|
||||||
$pai->amounts[$fac[0]] = $fact->total_ttc;
|
$pai->amounts[$fac[0]] = $fact->total_ttc;
|
||||||
$pai->datepaye = $this->db->idate($datetimeprev);
|
$pai->datepaye = $this->db->idate($datetimeprev);
|
||||||
$pai->paiementid = 3; // prélèvement
|
$pai->paiementid = 3; // pr<EFBFBD>l<EFBFBD>vement
|
||||||
$pai->num_paiement = $ref;
|
$pai->num_paiement = $ref;
|
||||||
|
|
||||||
if ($pai->create($user, 1) == -1) // on appelle en no_commit
|
if ($pai->create($user, 1) == -1) // on appelle en no_commit
|
||||||
@ -896,7 +896,7 @@ class BonPrelevement
|
|||||||
$pai->valide();
|
$pai->valide();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Ajout d'une ligne de prélèvement
|
* Ajout d'une ligne de pr<EFBFBD>l<EFBFBD>vement
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* $fac[3] : banque
|
* $fac[3] : banque
|
||||||
@ -916,7 +916,7 @@ class BonPrelevement
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mise à jour des demandes
|
* Mise <EFBFBD> jour des demandes
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_facture_demande";
|
$sql = "UPDATE ".MAIN_DB_PREFIX."prelevement_facture_demande";
|
||||||
@ -976,7 +976,7 @@ class BonPrelevement
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mise à jour du total
|
* Mise <EFBFBD> jour du total
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -988,7 +988,7 @@ class BonPrelevement
|
|||||||
if (! $resql)
|
if (! $resql)
|
||||||
{
|
{
|
||||||
$error++;
|
$error++;
|
||||||
dolibarr_syslog("Erreur mise à jour du total - $sql");
|
dolibarr_syslog("Erreur mise <EFBFBD> jour du total - $sql");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1086,11 +1086,13 @@ class BonPrelevement
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Génération d'un bon de prélèvement
|
* G<EFBFBD>n<EFBFBD>ration d'un bon de pr<EFBFBD>l<EFBFBD>vement
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
function Generate()
|
function Generate()
|
||||||
{
|
{
|
||||||
|
global $conf;
|
||||||
|
|
||||||
$result = -1;
|
$result = -1;
|
||||||
|
|
||||||
$this->file = fopen ($this->filename,"w");
|
$this->file = fopen ($this->filename,"w");
|
||||||
@ -1160,6 +1162,8 @@ class BonPrelevement
|
|||||||
$this->EnregTotal($this->total);
|
$this->EnregTotal($this->total);
|
||||||
|
|
||||||
fclose($this->file);
|
fclose($this->file);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($this->file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
@ -1173,13 +1177,13 @@ class BonPrelevement
|
|||||||
function EnregDestinataire($rowid, $client_nom, $rib_banque, $rib_guichet, $rib_number, $amount)
|
function EnregDestinataire($rowid, $client_nom, $rib_banque, $rib_guichet, $rib_number, $amount)
|
||||||
{
|
{
|
||||||
fputs ($this->file, "06");
|
fputs ($this->file, "06");
|
||||||
fputs ($this->file, "08"); // Prélèvement ordinaire
|
fputs ($this->file, "08"); // Pr<EFBFBD>l<EFBFBD>vement ordinaire
|
||||||
|
|
||||||
fputs ($this->file, " "); // Zone Réservée B2
|
fputs ($this->file, " "); // Zone R<EFBFBD>serv<EFBFBD>e B2
|
||||||
|
|
||||||
fputs ($this->file, $this->numero_national_emetteur); // Numéro National d'emmetteur B3
|
fputs ($this->file, $this->numero_national_emetteur); // Num<EFBFBD>ro National d'emmetteur B3
|
||||||
|
|
||||||
// Date d'échéance C1
|
// Date d'<EFBFBD>ch<EFBFBD>ance C1
|
||||||
|
|
||||||
fputs ($this->file, " ");
|
fputs ($this->file, " ");
|
||||||
fputs ($this->file, strftime("%d%m", $this->date_echeance));
|
fputs ($this->file, strftime("%d%m", $this->date_echeance));
|
||||||
@ -1193,7 +1197,7 @@ class BonPrelevement
|
|||||||
|
|
||||||
fputs ($this->file, substr(" ",0,24));
|
fputs ($this->file, substr(" ",0,24));
|
||||||
|
|
||||||
// Zone Réservée D2
|
// Zone R<EFBFBD>serv<EFBFBD>e D2
|
||||||
|
|
||||||
fputs ($this->file, substr(" ",0,8));
|
fputs ($this->file, substr(" ",0,8));
|
||||||
|
|
||||||
@ -1211,16 +1215,16 @@ class BonPrelevement
|
|||||||
|
|
||||||
fputs ($this->file, substr("000000000000000".$montant, -16));
|
fputs ($this->file, substr("000000000000000".$montant, -16));
|
||||||
|
|
||||||
// Libellé F
|
// Libell<EFBFBD> F
|
||||||
|
|
||||||
fputs ($this->file, substr("*".$this->ref.$rowid." ",0,13));
|
fputs ($this->file, substr("*".$this->ref.$rowid." ",0,13));
|
||||||
fputs ($this->file, substr(" ",0,18));
|
fputs ($this->file, substr(" ",0,18));
|
||||||
|
|
||||||
// Code établissement G1
|
// Code <EFBFBD>tablissement G1
|
||||||
|
|
||||||
fputs ($this->file, $rib_banque);
|
fputs ($this->file, $rib_banque);
|
||||||
|
|
||||||
// Zone Réservée G2
|
// Zone R<EFBFBD>serv<EFBFBD>e G2
|
||||||
|
|
||||||
fputs ($this->file, substr(" ",0,5));
|
fputs ($this->file, substr(" ",0,5));
|
||||||
|
|
||||||
@ -1236,13 +1240,13 @@ class BonPrelevement
|
|||||||
function EnregDestinataireVersion1($fac)
|
function EnregDestinataireVersion1($fac)
|
||||||
{
|
{
|
||||||
fputs ($this->file, "06");
|
fputs ($this->file, "06");
|
||||||
fputs ($this->file, "08"); // Prélèvement ordinaire
|
fputs ($this->file, "08"); // Pr<EFBFBD>l<EFBFBD>vement ordinaire
|
||||||
|
|
||||||
fputs ($this->file, " "); // Zone Réservée B2
|
fputs ($this->file, " "); // Zone R<EFBFBD>serv<EFBFBD>e B2
|
||||||
|
|
||||||
fputs ($this->file, $this->numero_national_emetteur); // Numéro National d'emmetteur B3
|
fputs ($this->file, $this->numero_national_emetteur); // Num<EFBFBD>ro National d'emmetteur B3
|
||||||
|
|
||||||
// Date d'échéance C1
|
// Date d'<EFBFBD>ch<EFBFBD>ance C1
|
||||||
|
|
||||||
fputs ($this->file, " ");
|
fputs ($this->file, " ");
|
||||||
fputs ($this->file, strftime("%d%m", $this->date_echeance));
|
fputs ($this->file, strftime("%d%m", $this->date_echeance));
|
||||||
@ -1252,11 +1256,11 @@ class BonPrelevement
|
|||||||
|
|
||||||
fputs ($this->file, substr($fac->client->nom. " ",0,24));
|
fputs ($this->file, substr($fac->client->nom. " ",0,24));
|
||||||
|
|
||||||
// Reference de la remise créancier D1
|
// Reference de la remise cr<EFBFBD>ancier D1
|
||||||
|
|
||||||
fputs ($this->file, substr(" ",0,24));
|
fputs ($this->file, substr(" ",0,24));
|
||||||
|
|
||||||
// Zone Réservée D2
|
// Zone R<EFBFBD>serv<EFBFBD>e D2
|
||||||
|
|
||||||
fputs ($this->file, substr(" ",0,8));
|
fputs ($this->file, substr(" ",0,8));
|
||||||
|
|
||||||
@ -1274,16 +1278,16 @@ class BonPrelevement
|
|||||||
|
|
||||||
fputs ($this->file, substr("000000000000000".$montant, -16));
|
fputs ($this->file, substr("000000000000000".$montant, -16));
|
||||||
|
|
||||||
// Libellé F
|
// Libell<EFBFBD> F
|
||||||
|
|
||||||
fputs ($this->file, substr("*".$fac->ref." ",0,13));
|
fputs ($this->file, substr("*".$fac->ref." ",0,13));
|
||||||
fputs ($this->file, substr(" ",0,18));
|
fputs ($this->file, substr(" ",0,18));
|
||||||
|
|
||||||
// Code établissement G1
|
// Code <EFBFBD>tablissement G1
|
||||||
|
|
||||||
fputs ($this->file, $fac->client->bank_account->code_banque);
|
fputs ($this->file, $fac->client->bank_account->code_banque);
|
||||||
|
|
||||||
// Zone Réservée G2
|
// Zone R<EFBFBD>serv<EFBFBD>e G2
|
||||||
|
|
||||||
fputs ($this->file, substr(" ",0,5));
|
fputs ($this->file, substr(" ",0,5));
|
||||||
|
|
||||||
@ -1297,13 +1301,13 @@ class BonPrelevement
|
|||||||
function EnregEmetteur()
|
function EnregEmetteur()
|
||||||
{
|
{
|
||||||
fputs ($this->file, "03");
|
fputs ($this->file, "03");
|
||||||
fputs ($this->file, "08"); // Prélèvement ordinaire
|
fputs ($this->file, "08"); // Pr<EFBFBD>l<EFBFBD>vement ordinaire
|
||||||
|
|
||||||
fputs ($this->file, " "); // Zone Réservée B2
|
fputs ($this->file, " "); // Zone R<EFBFBD>serv<EFBFBD>e B2
|
||||||
|
|
||||||
fputs ($this->file, $this->numero_national_emetteur); // Numéro National d'emmetteur B3
|
fputs ($this->file, $this->numero_national_emetteur); // Num<EFBFBD>ro National d'emmetteur B3
|
||||||
|
|
||||||
// Date d'échéance C1
|
// Date d'<EFBFBD>ch<EFBFBD>ance C1
|
||||||
|
|
||||||
fputs ($this->file, " ");
|
fputs ($this->file, " ");
|
||||||
fputs ($this->file, strftime("%d%m", $this->date_echeance));
|
fputs ($this->file, strftime("%d%m", $this->date_echeance));
|
||||||
@ -1313,15 +1317,15 @@ class BonPrelevement
|
|||||||
|
|
||||||
fputs ($this->file, substr($this->raison_sociale. " ",0,24));
|
fputs ($this->file, substr($this->raison_sociale. " ",0,24));
|
||||||
|
|
||||||
// Reference de la remise créancier D1 sur 7 caractéres
|
// Reference de la remise cr<EFBFBD>ancier D1 sur 7 caract<63>res
|
||||||
|
|
||||||
fputs ($this->file, substr($this->reference_remise. " ",0,7));
|
fputs ($this->file, substr($this->reference_remise. " ",0,7));
|
||||||
|
|
||||||
// Zone Réservée D1-2
|
// Zone R<EFBFBD>serv<EFBFBD>e D1-2
|
||||||
|
|
||||||
fputs ($this->file, substr(" ",0,17));
|
fputs ($this->file, substr(" ",0,17));
|
||||||
|
|
||||||
// Zone Réservée D2
|
// Zone R<EFBFBD>serv<EFBFBD>e D2
|
||||||
|
|
||||||
fputs ($this->file, substr(" ",0,2));
|
fputs ($this->file, substr(" ",0,2));
|
||||||
fputs ($this->file, "E");
|
fputs ($this->file, "E");
|
||||||
@ -1335,19 +1339,19 @@ class BonPrelevement
|
|||||||
|
|
||||||
fputs ($this->file, substr("000000000000000".$this->emetteur_numero_compte, -11));
|
fputs ($this->file, substr("000000000000000".$this->emetteur_numero_compte, -11));
|
||||||
|
|
||||||
// Zone Réservée E
|
// Zone R<EFBFBD>serv<EFBFBD>e E
|
||||||
|
|
||||||
fputs ($this->file, substr(" ",0,16));
|
fputs ($this->file, substr(" ",0,16));
|
||||||
|
|
||||||
// Zone Réservée F
|
// Zone R<EFBFBD>serv<EFBFBD>e F
|
||||||
|
|
||||||
fputs ($this->file, substr(" ",0,31));
|
fputs ($this->file, substr(" ",0,31));
|
||||||
|
|
||||||
// Code établissement
|
// Code <EFBFBD>tablissement
|
||||||
|
|
||||||
fputs ($this->file, $this->emetteur_code_etablissement);
|
fputs ($this->file, $this->emetteur_code_etablissement);
|
||||||
|
|
||||||
// Zone Réservée G
|
// Zone R<EFBFBD>serv<EFBFBD>e G
|
||||||
|
|
||||||
fputs ($this->file, substr(" ",0,5));
|
fputs ($this->file, substr(" ",0,5));
|
||||||
|
|
||||||
@ -1362,13 +1366,13 @@ class BonPrelevement
|
|||||||
function EnregTotal($total)
|
function EnregTotal($total)
|
||||||
{
|
{
|
||||||
fputs ($this->file, "08");
|
fputs ($this->file, "08");
|
||||||
fputs ($this->file, "08"); // Prélèvement ordinaire
|
fputs ($this->file, "08"); // Pr<EFBFBD>l<EFBFBD>vement ordinaire
|
||||||
|
|
||||||
fputs ($this->file, " "); // Zone Réservée B2
|
fputs ($this->file, " "); // Zone R<EFBFBD>serv<EFBFBD>e B2
|
||||||
|
|
||||||
fputs ($this->file, $this->numero_national_emetteur); // Numéro National d'emmetteur B3
|
fputs ($this->file, $this->numero_national_emetteur); // Num<EFBFBD>ro National d'emmetteur B3
|
||||||
|
|
||||||
// Réservé C1
|
// R<EFBFBD>serv<EFBFBD> C1
|
||||||
|
|
||||||
fputs ($this->file, substr(" ",0,12));
|
fputs ($this->file, substr(" ",0,12));
|
||||||
|
|
||||||
@ -1381,7 +1385,7 @@ class BonPrelevement
|
|||||||
|
|
||||||
fputs ($this->file, substr(" ",0,24));
|
fputs ($this->file, substr(" ",0,24));
|
||||||
|
|
||||||
// Zone Réservée D2
|
// Zone R<EFBFBD>serv<EFBFBD>e D2
|
||||||
|
|
||||||
fputs ($this->file, substr(" ",0,8));
|
fputs ($this->file, substr(" ",0,8));
|
||||||
|
|
||||||
@ -1399,15 +1403,15 @@ class BonPrelevement
|
|||||||
|
|
||||||
fputs ($this->file, substr("000000000000000".$montant, -16));
|
fputs ($this->file, substr("000000000000000".$montant, -16));
|
||||||
|
|
||||||
// Zone Réservée F
|
// Zone R<EFBFBD>serv<EFBFBD>e F
|
||||||
|
|
||||||
fputs ($this->file, substr(" ",0,31));
|
fputs ($this->file, substr(" ",0,31));
|
||||||
|
|
||||||
// Code établissement
|
// Code <EFBFBD>tablissement
|
||||||
|
|
||||||
fputs ($this->file, substr(" ",0,5));
|
fputs ($this->file, substr(" ",0,5));
|
||||||
|
|
||||||
// Zone Réservée F
|
// Zone R<EFBFBD>serv<EFBFBD>e F
|
||||||
|
|
||||||
fputs ($this->file, substr(" ",0,5));
|
fputs ($this->file, substr(" ",0,5));
|
||||||
|
|
||||||
|
|||||||
@ -238,6 +238,7 @@ class Conf
|
|||||||
// Module adherent
|
// Module adherent
|
||||||
$this->adherent->enabled=defined("MAIN_MODULE_ADHERENT")?MAIN_MODULE_ADHERENT:0;
|
$this->adherent->enabled=defined("MAIN_MODULE_ADHERENT")?MAIN_MODULE_ADHERENT:0;
|
||||||
$this->adherent->dir_output=DOL_DATA_ROOT."/adherent";
|
$this->adherent->dir_output=DOL_DATA_ROOT."/adherent";
|
||||||
|
$this->adherent->dir_tmp=DOL_DATA_ROOT."/adherent/temp";
|
||||||
// Module produit
|
// Module produit
|
||||||
$this->produit->enabled=defined("MAIN_MODULE_PRODUIT")?MAIN_MODULE_PRODUIT:0;
|
$this->produit->enabled=defined("MAIN_MODULE_PRODUIT")?MAIN_MODULE_PRODUIT:0;
|
||||||
$this->produit->dir_output=DOL_DATA_ROOT."/produit";
|
$this->produit->dir_output=DOL_DATA_ROOT."/produit";
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
\ingroup editeurs
|
\ingroup editeurs
|
||||||
\brief Classe de generation des courriers pour les editeurs
|
\brief Classe de generation des courriers pour les editeurs
|
||||||
\version $Id$
|
\version $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require_once(DOL_DOCUMENT_ROOT.'/includes/fpdf/fpdfi/fpdi_protection.php');
|
require_once(DOL_DOCUMENT_ROOT.'/includes/fpdf/fpdfi/fpdi_protection.php');
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ class pdf_courrier_droit_editeur
|
|||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
\brief Constructeur
|
\brief Constructeur
|
||||||
\param db Handler accès base de donnée
|
\param db Handler acc<EFBFBD>s base de donn<EFBFBD>e
|
||||||
*/
|
*/
|
||||||
function pdf_courrier_droit_editeur ($db)
|
function pdf_courrier_droit_editeur ($db)
|
||||||
{
|
{
|
||||||
@ -53,7 +53,7 @@ class pdf_courrier_droit_editeur
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Génère le document
|
\brief G<EFBFBD>n<EFBFBD>re le document
|
||||||
\return int 0 = ok, <> 0 = ko
|
\return int 0 = ok, <> 0 = ko
|
||||||
*/
|
*/
|
||||||
function Generate($numero)
|
function Generate($numero)
|
||||||
@ -95,7 +95,7 @@ class pdf_courrier_droit_editeur
|
|||||||
{
|
{
|
||||||
$pdfrights = array('print'); // Ne permet que l'impression du document
|
$pdfrights = array('print'); // Ne permet que l'impression du document
|
||||||
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
||||||
$pdfownerpass = NULL; // Mot de passe du propriétaire, créé aléatoirement si pas défini
|
$pdfownerpass = NULL; // Mot de passe du propri<72>taire, cr<63><72> al<61>atoirement si pas d<>fini
|
||||||
$pdf_all->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
$pdf_all->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -122,7 +122,7 @@ class pdf_courrier_droit_editeur
|
|||||||
{
|
{
|
||||||
$pdfrights = array('print'); // Ne permet que l'impression du document
|
$pdfrights = array('print'); // Ne permet que l'impression du document
|
||||||
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
||||||
$pdfownerpass = NULL; // Mot de passe du propriétaire, créé aléatoirement si pas défini
|
$pdfownerpass = NULL; // Mot de passe du propri<72>taire, cr<63><72> al<61>atoirement si pas d<>fini
|
||||||
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -133,6 +133,9 @@ class pdf_courrier_droit_editeur
|
|||||||
|
|
||||||
$pdf->Close();
|
$pdf->Close();
|
||||||
$pdf->Output($file);
|
$pdf->Output($file);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
dolibarr_syslog("droits-editeurs.php write $file", LOG_DEBUG );
|
dolibarr_syslog("droits-editeurs.php write $file", LOG_DEBUG );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -150,7 +153,7 @@ class pdf_courrier_droit_editeur
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Fonction générant le fichier
|
\brief Fonction g<EFBFBD>n<EFBFBD>rant le fichier
|
||||||
\param id id de la societe
|
\param id id de la societe
|
||||||
\return int 1=ok, 0=ko
|
\return int 1=ok, 0=ko
|
||||||
*/
|
*/
|
||||||
@ -177,7 +180,7 @@ class pdf_courrier_droit_editeur
|
|||||||
$books = array();
|
$books = array();
|
||||||
$year_data = $year - 1;
|
$year_data = $year - 1;
|
||||||
|
|
||||||
// On récupère données du mail
|
// On r<>cup<75>re donn<6E>es du mail
|
||||||
$sql = "SELECT p.rowid,p.label, pc.taux, pc.quantite";
|
$sql = "SELECT p.rowid,p.label, pc.taux, pc.quantite";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f";
|
$sql .= " FROM ".MAIN_DB_PREFIX."facture as f";
|
||||||
$sql .= " , ".MAIN_DB_PREFIX."facturedet as fd";
|
$sql .= " , ".MAIN_DB_PREFIX."facturedet as fd";
|
||||||
@ -237,7 +240,7 @@ class pdf_courrier_droit_editeur
|
|||||||
$pdf->SetFont('Arial','B',11);
|
$pdf->SetFont('Arial','B',11);
|
||||||
$pdf->MultiCell(106,4, $soc->nom, 0, 'L');
|
$pdf->MultiCell(106,4, $soc->nom, 0, 'L');
|
||||||
|
|
||||||
// Caractéristiques client
|
// Caract<63>ristiques client
|
||||||
$carac_client=$soc->adresse;
|
$carac_client=$soc->adresse;
|
||||||
$carac_client.="\n".$soc->cp . " " . $soc->ville."\n";
|
$carac_client.="\n".$soc->cp . " " . $soc->ville."\n";
|
||||||
$carac_client.=$soc->pays."\n";
|
$carac_client.=$soc->pays."\n";
|
||||||
@ -254,7 +257,7 @@ class pdf_courrier_droit_editeur
|
|||||||
|
|
||||||
$pdf->SetXY(10,100);
|
$pdf->SetXY(10,100);
|
||||||
|
|
||||||
$pdf->MultiCell(190,5,"Je vous prie de trouver ci-dessous le récapitulatif des ventes du titre cité pour la période du 1er janvier au 31 décembre $year_data.");
|
$pdf->MultiCell(190,5,"Je vous prie de trouver ci-dessous le r<EFBFBD>capitulatif des ventes du titre cit<69> pour la p<>riode du 1er janvier au 31 d<>cembre $year_data.");
|
||||||
|
|
||||||
$pdf->SetXY(10,120);
|
$pdf->SetXY(10,120);
|
||||||
$pdf->MultiCell(25,5,"Nom du titre : ");
|
$pdf->MultiCell(25,5,"Nom du titre : ");
|
||||||
@ -264,7 +267,7 @@ class pdf_courrier_droit_editeur
|
|||||||
|
|
||||||
$pdf->SetFont('Arial','',10);
|
$pdf->SetFont('Arial','',10);
|
||||||
$pdf->SetXY(10,140);
|
$pdf->SetXY(10,140);
|
||||||
$pdf->MultiCell(46,5,"Quantité signée au contrat : ");
|
$pdf->MultiCell(46,5,"Quantit<EFBFBD> sign<67>e au contrat : ");
|
||||||
|
|
||||||
$pdf->SetFont('Arial','B',10);
|
$pdf->SetFont('Arial','B',10);
|
||||||
$pdf->SetXY(56,140);
|
$pdf->SetXY(56,140);
|
||||||
@ -293,7 +296,7 @@ class pdf_courrier_droit_editeur
|
|||||||
|
|
||||||
$pdf->SetFont('Arial','',10);
|
$pdf->SetFont('Arial','',10);
|
||||||
$pdf->SetXY(10,140 + ($i * 8) );
|
$pdf->SetXY(10,140 + ($i * 8) );
|
||||||
$pdf->MultiCell(44,5,"Quantité vendue en ".$row[2]." : ",0);
|
$pdf->MultiCell(44,5,"Quantit<EFBFBD> vendue en ".$row[2]." : ",0);
|
||||||
$pdf->SetFont('Arial','B',10);
|
$pdf->SetFont('Arial','B',10);
|
||||||
$pdf->SetXY(54,140 + ($i * 8) );
|
$pdf->SetXY(54,140 + ($i * 8) );
|
||||||
$pdf->MultiCell(16,5,$row[1],0,'R');
|
$pdf->MultiCell(16,5,$row[1],0,'R');
|
||||||
@ -343,7 +346,7 @@ class pdf_courrier_droit_editeur
|
|||||||
$i++;
|
$i++;
|
||||||
$pdf->SetFont('Arial','',10);
|
$pdf->SetFont('Arial','',10);
|
||||||
$pdf->SetXY(10,150 + ($i * 10) );
|
$pdf->SetXY(10,150 + ($i * 10) );
|
||||||
$pdf->MultiCell(80,5,"Reste à devoir sur les droits pour l'année ".($year-1)." : ",0);
|
$pdf->MultiCell(80,5,"Reste <EFBFBD> devoir sur les droits pour l'ann<6E>e ".($year-1)." : ",0);
|
||||||
$pdf->SetFont('Arial','B',10);
|
$pdf->SetFont('Arial','B',10);
|
||||||
$pdf->SetXY(90,140 + ($i * 10) );
|
$pdf->SetXY(90,140 + ($i * 10) );
|
||||||
$pdf->MultiCell(16,5, $pu_ttc,0,'R');
|
$pdf->MultiCell(16,5, $pu_ttc,0,'R');
|
||||||
@ -351,7 +354,7 @@ class pdf_courrier_droit_editeur
|
|||||||
$i++;
|
$i++;
|
||||||
$pdf->SetFont('Arial','',10);
|
$pdf->SetFont('Arial','',10);
|
||||||
$pdf->SetXY(10,150 + ($i * 10) + 20);
|
$pdf->SetXY(10,150 + ($i * 10) + 20);
|
||||||
$pdf->MultiCell(190,5,"Nous restons à votre entière disposition pour de plus amples renseignements dont vous pouvez avoir besoin et vous remercions de la confiance que vous nous avez accordée.");
|
$pdf->MultiCell(190,5,"Nous restons <EFBFBD> votre enti<74>re disposition pour de plus amples renseignements dont vous pouvez avoir besoin et vous remercions de la confiance que vous nous avez accord<EFBFBD>e.");
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,17 +24,17 @@
|
|||||||
/**
|
/**
|
||||||
\file htdocs/expedition/mods/methode_expedition.modules.php
|
\file htdocs/expedition/mods/methode_expedition.modules.php
|
||||||
\ingroup expedition
|
\ingroup expedition
|
||||||
\brief Fichier contenant la classe mère de generation de bon de livraison en PDF
|
\brief Fichier contenant la classe m<EFBFBD>re de generation de bon de livraison en PDF
|
||||||
et la classe mère de numérotation des bons de livraisons
|
et la classe m<EFBFBD>re de num<EFBFBD>rotation des bons de livraisons
|
||||||
\version $Revision$
|
\version $Revision$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require_once(DOL_DOCUMENT_ROOT.'/includes/fpdf/fpdfi/fpdi_protection.php');
|
require_once(DOL_DOCUMENT_ROOT.'/includes/fpdf/fpdfi/fpdi_protection.php');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\class methode_expedition
|
\class methode_expedition
|
||||||
\brief Classe mère des methodes expeditions
|
\brief Classe m<EFBFBD>re des methodes expeditions
|
||||||
*/
|
*/
|
||||||
class methode_expedition
|
class methode_expedition
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ class methode_expedition
|
|||||||
|
|
||||||
if ($af == 0 && $statut == 1)
|
if ($af == 0 && $statut == 1)
|
||||||
{
|
{
|
||||||
// On créé la méthode dans la base
|
// On cr<63><72> la m<>thode dans la base
|
||||||
|
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."expedition_methode";
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."expedition_methode";
|
||||||
$sql .= " (rowid, statut, code, libelle, description)";
|
$sql .= " (rowid, statut, code, libelle, description)";
|
||||||
@ -81,7 +81,8 @@ class methode_expedition
|
|||||||
|
|
||||||
function write_file($id)
|
function write_file($id)
|
||||||
{
|
{
|
||||||
global $user;
|
global $conf, $user;
|
||||||
|
|
||||||
$propale = new Propal($this->db,"",$id);
|
$propale = new Propal($this->db,"",$id);
|
||||||
if ($propale->fetch($id))
|
if ($propale->fetch($id))
|
||||||
{
|
{
|
||||||
@ -97,7 +98,7 @@ class methode_expedition
|
|||||||
$pdf=new FPDI_Protection('P','mm','A4');
|
$pdf=new FPDI_Protection('P','mm','A4');
|
||||||
$pdfrights = array('print'); // Ne permet que l'impression du document
|
$pdfrights = array('print'); // Ne permet que l'impression du document
|
||||||
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
||||||
$pdfownerpass = NULL; // Mot de passe du propriétaire, créé aléatoirement si pas défini
|
$pdfownerpass = NULL; // Mot de passe du propri<EFBFBD>taire, cr<63><72> al<61>atoirement si pas d<>fini
|
||||||
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -212,6 +213,8 @@ class methode_expedition
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
$pdf->Output($file);
|
$pdf->Output($file);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -222,13 +225,13 @@ class methode_expedition
|
|||||||
|
|
||||||
$pdf->SetFont('Arial','',11);
|
$pdf->SetFont('Arial','',11);
|
||||||
|
|
||||||
$pdf->Text(30,$tab_top + 5,'Désignation');
|
$pdf->Text(30,$tab_top + 5,'D<EFBFBD>signation');
|
||||||
|
|
||||||
$pdf->line(132, $tab_top, 132, $tab_top + $tab_height);
|
$pdf->line(132, $tab_top, 132, $tab_top + $tab_height);
|
||||||
$pdf->Text(134,$tab_top + 5,'TVA');
|
$pdf->Text(134,$tab_top + 5,'TVA');
|
||||||
|
|
||||||
$pdf->line(144, $tab_top, 144, $tab_top + $tab_height);
|
$pdf->line(144, $tab_top, 144, $tab_top + $tab_height);
|
||||||
$pdf->Text(147,$tab_top + 5,'Qté');
|
$pdf->Text(147,$tab_top + 5,'Qt<EFBFBD>');
|
||||||
|
|
||||||
$pdf->line(156, $tab_top, 156, $tab_top + $tab_height);
|
$pdf->line(156, $tab_top, 156, $tab_top + $tab_height);
|
||||||
$pdf->Text(160,$tab_top + 5,'P.U.');
|
$pdf->Text(160,$tab_top + 5,'P.U.');
|
||||||
@ -266,7 +269,7 @@ class methode_expedition
|
|||||||
if (defined("FAC_PDF_TEL"))
|
if (defined("FAC_PDF_TEL"))
|
||||||
{
|
{
|
||||||
$pdf->SetFont('Times','',10);
|
$pdf->SetFont('Times','',10);
|
||||||
$pdf->MultiCell(76, 5, "Tél : ".FAC_PDF_TEL);
|
$pdf->MultiCell(76, 5, "T<EFBFBD>l : ".FAC_PDF_TEL);
|
||||||
}
|
}
|
||||||
if (defined("FAC_PDF_SIREN"))
|
if (defined("FAC_PDF_SIREN"))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
/**
|
/**
|
||||||
* \file htdocs/fourn/commande/modules/pdf_muscadet.modules.php
|
* \file htdocs/fourn/commande/modules/pdf_muscadet.modules.php
|
||||||
* \ingroup fournisseur
|
* \ingroup fournisseur
|
||||||
* \brief Fichier de la classe permettant de générer les commandes fournisseurs au modèle Muscadet
|
* \brief Fichier de la classe permettant de g<EFBFBD>n<EFBFBD>rer les commandes fournisseurs au mod<EFBFBD>le Muscadet
|
||||||
* \author Regis Houssin
|
* \author Regis Houssin
|
||||||
* \version $Id$
|
* \version $Id$
|
||||||
*/
|
*/
|
||||||
@ -35,14 +35,14 @@ require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php");
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \class pdf_muscadet
|
* \class pdf_muscadet
|
||||||
* \brief Classe permettant de générer les commandes fournisseurs au modèle Muscadet
|
* \brief Classe permettant de g<EFBFBD>n<EFBFBD>rer les commandes fournisseurs au mod<EFBFBD>le Muscadet
|
||||||
*/
|
*/
|
||||||
class pdf_muscadet extends ModelePDFSuppliersOrders
|
class pdf_muscadet extends ModelePDFSuppliersOrders
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Constructeur
|
* \brief Constructeur
|
||||||
* \param db Handler accès base de donnée
|
* \param db Handler acc<EFBFBD>s base de donn<EFBFBD>e
|
||||||
*/
|
*/
|
||||||
function pdf_muscadet($db)
|
function pdf_muscadet($db)
|
||||||
{
|
{
|
||||||
@ -53,7 +53,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
|
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->name = "muscadet";
|
$this->name = "muscadet";
|
||||||
$this->description = "Modèle de commandes fournisseur complet (logo...)";
|
$this->description = "Mod<EFBFBD>le de commandes fournisseur complet (logo...)";
|
||||||
|
|
||||||
// Dimension page pour format A4
|
// Dimension page pour format A4
|
||||||
$this->type = 'pdf';
|
$this->type = 'pdf';
|
||||||
@ -67,8 +67,8 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
|
|
||||||
$this->option_logo = 1; // Affiche logo
|
$this->option_logo = 1; // Affiche logo
|
||||||
$this->option_tva = 1; // Gere option tva FACTURE_TVAOPTION
|
$this->option_tva = 1; // Gere option tva FACTURE_TVAOPTION
|
||||||
$this->option_modereg = 1; // Affiche mode règlement
|
$this->option_modereg = 1; // Affiche mode r<EFBFBD>glement
|
||||||
$this->option_condreg = 1; // Affiche conditions règlement
|
$this->option_condreg = 1; // Affiche conditions r<EFBFBD>glement
|
||||||
$this->option_codeproduitservice = 1; // Affiche code produit-service
|
$this->option_codeproduitservice = 1; // Affiche code produit-service
|
||||||
$this->option_multilang = 1; // Dispo en plusieurs langues
|
$this->option_multilang = 1; // Dispo en plusieurs langues
|
||||||
|
|
||||||
@ -77,7 +77,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
|
|
||||||
// Recupere emmetteur
|
// Recupere emmetteur
|
||||||
$this->emetteur=$mysoc;
|
$this->emetteur=$mysoc;
|
||||||
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'était pas défini
|
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'<EFBFBD>tait pas d<>fini
|
||||||
|
|
||||||
// Defini position des colonnes
|
// Defini position des colonnes
|
||||||
$this->posxdesc=$this->marge_gauche+1;
|
$this->posxdesc=$this->marge_gauche+1;
|
||||||
@ -93,8 +93,8 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Renvoi dernière erreur
|
\brief Renvoi derni<EFBFBD>re erreur
|
||||||
\return string Dernière erreur
|
\return string Derni<EFBFBD>re erreur
|
||||||
*/
|
*/
|
||||||
function pdferror()
|
function pdferror()
|
||||||
{
|
{
|
||||||
@ -102,8 +102,8 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Fonction générant la commande sur le disque
|
\brief Fonction g<EFBFBD>n<EFBFBD>rant la commande sur le disque
|
||||||
\param id Id de la commande à générer
|
\param id Id de la commande <EFBFBD> g<EFBFBD>n<EFBFBD>rer
|
||||||
\return int 1=ok, 0=ko
|
\return int 1=ok, 0=ko
|
||||||
*/
|
*/
|
||||||
function write_file($com,$outputlangs='')
|
function write_file($com,$outputlangs='')
|
||||||
@ -125,7 +125,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
|
|
||||||
if ($conf->fournisseur->commande->dir_output)
|
if ($conf->fournisseur->commande->dir_output)
|
||||||
{
|
{
|
||||||
// Définition de l'objet $com (pour compatibilite ascendante)
|
// D<EFBFBD>finition de l'objet $com (pour compatibilite ascendante)
|
||||||
if (! is_object($com))
|
if (! is_object($com))
|
||||||
{
|
{
|
||||||
$id = $com;
|
$id = $com;
|
||||||
@ -134,7 +134,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
}
|
}
|
||||||
$deja_regle = "";
|
$deja_regle = "";
|
||||||
|
|
||||||
// Définition de $dir et $file
|
// D<EFBFBD>finition de $dir et $file
|
||||||
if ($com->specimen)
|
if ($com->specimen)
|
||||||
{
|
{
|
||||||
$dir = $conf->fournisseur->commande->dir_output;
|
$dir = $conf->fournisseur->commande->dir_output;
|
||||||
@ -167,7 +167,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
$pdf=new FPDI_Protection('P','mm',$this->format);
|
$pdf=new FPDI_Protection('P','mm',$this->format);
|
||||||
$pdfrights = array('print'); // Ne permet que l'impression du document
|
$pdfrights = array('print'); // Ne permet que l'impression du document
|
||||||
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
||||||
$pdfownerpass = NULL; // Mot de passe du propriétaire, créé aléatoirement si pas défini
|
$pdfownerpass = NULL; // Mot de passe du propri<EFBFBD>taire, cr<63><72> al<61>atoirement si pas d<>fini
|
||||||
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -210,7 +210,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
{
|
{
|
||||||
$tab_top = 88;
|
$tab_top = 88;
|
||||||
|
|
||||||
$pdf->SetFont('Arial','', 9); // Dans boucle pour gérer multi-page
|
$pdf->SetFont('Arial','', 9); // Dans boucle pour g<EFBFBD>rer multi-page
|
||||||
$pdf->SetXY ($this->posxdesc-1, $tab_top);
|
$pdf->SetXY ($this->posxdesc-1, $tab_top);
|
||||||
$pdf->MultiCell(190, 3, $com->note_public, 0, 'J');
|
$pdf->MultiCell(190, 3, $com->note_public, 0, 'J');
|
||||||
$nexY = $pdf->GetY();
|
$nexY = $pdf->GetY();
|
||||||
@ -244,22 +244,22 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
if ($libelleproduitservice) $libelleproduitservice.="<br>";
|
if ($libelleproduitservice) $libelleproduitservice.="<br>";
|
||||||
$libelleproduitservice.=dol_htmlentitiesbr($com->lignes[$i]->desc,1);
|
$libelleproduitservice.=dol_htmlentitiesbr($com->lignes[$i]->desc,1);
|
||||||
}
|
}
|
||||||
// Si ligne associée à un code produit
|
// Si ligne associ<EFBFBD>e <20> un code produit
|
||||||
if ($com->lignes[$i]->fk_product)
|
if ($com->lignes[$i]->fk_product)
|
||||||
{
|
{
|
||||||
$libelleproduitservice=$outputlangs->transnoentities("Product")." ".$com->lignes[$i]->ref_fourn." - ".$libelleproduitservice;
|
$libelleproduitservice=$outputlangs->transnoentities("Product")." ".$com->lignes[$i]->ref_fourn." - ".$libelleproduitservice;
|
||||||
}
|
}
|
||||||
if ($com->lignes[$i]->date_start && $com->lignes[$i]->date_end)
|
if ($com->lignes[$i]->date_start && $com->lignes[$i]->date_end)
|
||||||
{
|
{
|
||||||
// Affichage durée si il y en a une
|
// Affichage dur<EFBFBD>e si il y en a une
|
||||||
$libelleproduitservice.="<br>".dol_htmlentitiesbr("(".$outputlangs->transnoentities("From")." ".dolibarr_print_date($com->lignes[$i]->date_start)." ".$outputlangs->transnoentities("to")." ".dolibarr_print_date($com->lignes[$i]->date_end).")",1);
|
$libelleproduitservice.="<br>".dol_htmlentitiesbr("(".$outputlangs->transnoentities("From")." ".dolibarr_print_date($com->lignes[$i]->date_start)." ".$outputlangs->transnoentities("to")." ".dolibarr_print_date($com->lignes[$i]->date_end).")",1);
|
||||||
}
|
}
|
||||||
|
|
||||||
$pdf->SetFont('Arial','', 9); // Dans boucle pour gérer multi-page
|
$pdf->SetFont('Arial','', 9); // Dans boucle pour g<EFBFBD>rer multi-page
|
||||||
|
|
||||||
$pdf->writeHTMLCell(108, 4, $this->posxdesc-1, $curY, $libelleproduitservice, 0, 1);
|
$pdf->writeHTMLCell(108, 4, $this->posxdesc-1, $curY, $libelleproduitservice, 0, 1);
|
||||||
|
|
||||||
$pdf->SetFont('Arial','', 9); // On repositionne la police par défaut
|
$pdf->SetFont('Arial','', 9); // On repositionne la police par d<EFBFBD>faut
|
||||||
|
|
||||||
$nexY = $pdf->GetY();
|
$nexY = $pdf->GetY();
|
||||||
|
|
||||||
@ -271,7 +271,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
$pdf->SetXY ($this->posxup, $curY);
|
$pdf->SetXY ($this->posxup, $curY);
|
||||||
$pdf->MultiCell(18, 4, price($com->lignes[$i]->subprice), 0, 'R', 0);
|
$pdf->MultiCell(18, 4, price($com->lignes[$i]->subprice), 0, 'R', 0);
|
||||||
|
|
||||||
// Quantité
|
// Quantit<EFBFBD>
|
||||||
$pdf->SetXY ($this->posxqty, $curY);
|
$pdf->SetXY ($this->posxqty, $curY);
|
||||||
$pdf->MultiCell(10, 4, $com->lignes[$i]->qty, 0, 'R');
|
$pdf->MultiCell(10, 4, $com->lignes[$i]->qty, 0, 'R');
|
||||||
|
|
||||||
@ -333,7 +333,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mode de règlement
|
* Mode de r<EFBFBD>glement
|
||||||
*/
|
*/
|
||||||
if ((! defined("FACTURE_CHQ_NUMBER") || ! FACTURE_CHQ_NUMBER) && (! defined("FACTURE_RIB_NUMBER") || ! FACTURE_RIB_NUMBER))
|
if ((! defined("FACTURE_CHQ_NUMBER") || ! FACTURE_CHQ_NUMBER) && (! defined("FACTURE_RIB_NUMBER") || ! FACTURE_RIB_NUMBER))
|
||||||
{
|
{
|
||||||
@ -346,7 +346,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Propose mode règlement par CHQ
|
* Propose mode r<EFBFBD>glement par CHQ
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
if (defined("FACTURE_CHQ_NUMBER"))
|
if (defined("FACTURE_CHQ_NUMBER"))
|
||||||
@ -358,7 +358,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
|
|
||||||
$pdf->SetXY ($this->marge_gauche, 227);
|
$pdf->SetXY ($this->marge_gauche, 227);
|
||||||
$pdf->SetFont('Arial','B',8);
|
$pdf->SetFont('Arial','B',8);
|
||||||
$pdf->MultiCell(90, 3, "Règlement par chèque à l'ordre de ".$account->proprio." envoyé à:",0,'L',0);
|
$pdf->MultiCell(90, 3, "R<EFBFBD>glement par ch<63>que <20> l'ordre de ".$account->proprio." envoy<EFBFBD> <20>:",0,'L',0);
|
||||||
$pdf->SetXY ($this->marge_gauche, 231);
|
$pdf->SetXY ($this->marge_gauche, 231);
|
||||||
$pdf->SetFont('Arial','',8);
|
$pdf->SetFont('Arial','',8);
|
||||||
$pdf->MultiCell(80, 3, $account->adresse_proprio, 0, 'L', 0);
|
$pdf->MultiCell(80, 3, $account->adresse_proprio, 0, 'L', 0);
|
||||||
@ -367,7 +367,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Propose mode règlement par RIB
|
* Propose mode r<EFBFBD>glement par RIB
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
if (defined("FACTURE_RIB_NUMBER"))
|
if (defined("FACTURE_RIB_NUMBER"))
|
||||||
@ -382,7 +382,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
$cury=242;
|
$cury=242;
|
||||||
$pdf->SetXY ($this->marges['g'], $cury);
|
$pdf->SetXY ($this->marges['g'], $cury);
|
||||||
$pdf->SetFont('Arial','B',8);
|
$pdf->SetFont('Arial','B',8);
|
||||||
$pdf->MultiCell(90, 3, "Règlement par virement sur le compte bancaire suivant:", 0, 'L', 0);
|
$pdf->MultiCell(90, 3, "R<EFBFBD>glement par virement sur le compte bancaire suivant:", 0, 'L', 0);
|
||||||
$cury+=4;
|
$cury+=4;
|
||||||
$pdf->SetFont('Arial','B',6);
|
$pdf->SetFont('Arial','B',6);
|
||||||
$pdf->line($this->marges['g']+1, $cury, $this->marges['g']+1, $cury+10 );
|
$pdf->line($this->marges['g']+1, $cury, $this->marges['g']+1, $cury+10 );
|
||||||
@ -393,10 +393,10 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
$pdf->MultiCell(18, 3, "Code guichet", 0, 'C', 0);
|
$pdf->MultiCell(18, 3, "Code guichet", 0, 'C', 0);
|
||||||
$pdf->line($this->marges['g']+36, $cury, $this->marges['g']+36, $cury+10 );
|
$pdf->line($this->marges['g']+36, $cury, $this->marges['g']+36, $cury+10 );
|
||||||
$pdf->SetXY ($this->marges['g']+36, $cury);
|
$pdf->SetXY ($this->marges['g']+36, $cury);
|
||||||
$pdf->MultiCell(24, 3, "Numéro compte", 0, 'C', 0);
|
$pdf->MultiCell(24, 3, "Num<EFBFBD>ro compte", 0, 'C', 0);
|
||||||
$pdf->line($this->marges['g']+60, $cury, $this->marges['g']+60, $cury+10 );
|
$pdf->line($this->marges['g']+60, $cury, $this->marges['g']+60, $cury+10 );
|
||||||
$pdf->SetXY ($this->marges['g']+60, $cury);
|
$pdf->SetXY ($this->marges['g']+60, $cury);
|
||||||
$pdf->MultiCell(13, 3, "Clé RIB", 0, 'C', 0);
|
$pdf->MultiCell(13, 3, "Cl<EFBFBD> RIB", 0, 'C', 0);
|
||||||
$pdf->line($this->marges['g']+73, $cury, $this->marges['g']+73, $cury+10 );
|
$pdf->line($this->marges['g']+73, $cury, $this->marges['g']+73, $cury+10 );
|
||||||
|
|
||||||
$pdf->SetFont('Arial','',8);
|
$pdf->SetFont('Arial','',8);
|
||||||
@ -421,13 +421,13 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Conditions de règlements
|
* Conditions de r<EFBFBD>glements
|
||||||
*/
|
*/
|
||||||
/* Pour l'instant les conditions de règlement ne sont pas gérées sur les propales */
|
/* Pour l'instant les conditions de r<EFBFBD>glement ne sont pas g<>r<EFBFBD>es sur les propales */
|
||||||
/*
|
/*
|
||||||
$pdf->SetFont('Arial','B',10);
|
$pdf->SetFont('Arial','B',10);
|
||||||
$pdf->SetXY($this->marge_gauche, 217);
|
$pdf->SetXY($this->marge_gauche, 217);
|
||||||
$titre = "Conditions de réglement:";
|
$titre = "Conditions de r<EFBFBD>glement:";
|
||||||
$pdf->MultiCell(80, 5, $titre, 0, 'L');
|
$pdf->MultiCell(80, 5, $titre, 0, 'L');
|
||||||
$pdf->SetFont('Arial','',10);
|
$pdf->SetFont('Arial','',10);
|
||||||
$pdf->SetXY(54, 217);
|
$pdf->SetXY(54, 217);
|
||||||
@ -443,6 +443,8 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
$pdf->Close();
|
$pdf->Close();
|
||||||
|
|
||||||
$pdf->Output($file);
|
$pdf->Output($file);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
return 1; // Pas d'erreur
|
return 1; // Pas d'erreur
|
||||||
}
|
}
|
||||||
@ -462,7 +464,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Affiche le total à payer
|
* \brief Affiche le total <EFBFBD> payer
|
||||||
* \param pdf Objet PDF
|
* \param pdf Objet PDF
|
||||||
* \param object Objet order
|
* \param object Objet order
|
||||||
* \param deja_regle Montant deja regle
|
* \param deja_regle Montant deja regle
|
||||||
@ -503,7 +505,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
$pdf->MultiCell($largcol2, $tab2_hl, "-".$object->remise_percent."%", 0, 'R', 1);
|
$pdf->MultiCell($largcol2, $tab2_hl, "-".$object->remise_percent."%", 0, 'R', 1);
|
||||||
|
|
||||||
$pdf->SetXY ($col1x, $tab2_top + $tab2_hl * 2);
|
$pdf->SetXY ($col1x, $tab2_top + $tab2_hl * 2);
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, "Total HT après remise", 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, "Total HT apr<EFBFBD>s remise", 0, 'L', 1);
|
||||||
|
|
||||||
$pdf->SetXY ($col2x, $tab2_top + $tab2_hl * 2);
|
$pdf->SetXY ($col2x, $tab2_top + $tab2_hl * 2);
|
||||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ht), 0, 'R', 0);
|
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ht), 0, 'R', 0);
|
||||||
@ -515,7 +517,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
$index = 0;
|
$index = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Affichage des totaux de TVA par taux (conformément à réglementation)
|
// Affichage des totaux de TVA par taux (conform<EFBFBD>ment <20> r<>glementation)
|
||||||
$pdf->SetFillColor(248,248,248);
|
$pdf->SetFillColor(248,248,248);
|
||||||
|
|
||||||
foreach( $this->tva as $tvakey => $tvaval )
|
foreach( $this->tva as $tvakey => $tvaval )
|
||||||
@ -599,7 +601,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
{
|
{
|
||||||
global $conf;
|
global $conf;
|
||||||
|
|
||||||
// Montants exprimés en (en tab_top - 1)
|
// Montants exprim<EFBFBD>s en (en tab_top - 1)
|
||||||
$pdf->SetTextColor(0,0,0);
|
$pdf->SetTextColor(0,0,0);
|
||||||
$pdf->SetFont('Arial','',8);
|
$pdf->SetFont('Arial','',8);
|
||||||
$titre = $outputlangs->transnoentities("AmountInCurrency",$outputlangs->transnoentities("Currency".$conf->monnaie));
|
$titre = $outputlangs->transnoentities("AmountInCurrency",$outputlangs->transnoentities("Currency".$conf->monnaie));
|
||||||
@ -724,7 +726,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
if (defined("FAC_PDF_SOCIETE_NOM") && FAC_PDF_SOCIETE_NOM) $pdf->MultiCell(80, 4, FAC_PDF_SOCIETE_NOM, 0, 'L');
|
if (defined("FAC_PDF_SOCIETE_NOM") && FAC_PDF_SOCIETE_NOM) $pdf->MultiCell(80, 4, FAC_PDF_SOCIETE_NOM, 0, 'L');
|
||||||
else $pdf->MultiCell(80, 4, $mysoc->nom, 0, 'L');
|
else $pdf->MultiCell(80, 4, $mysoc->nom, 0, 'L');
|
||||||
|
|
||||||
// Caractéristiques emetteur
|
// Caract<EFBFBD>ristiques emetteur
|
||||||
$carac_emetteur = '';
|
$carac_emetteur = '';
|
||||||
if (defined("FAC_PDF_ADRESSE") && FAC_PDF_ADRESSE) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).FAC_PDF_ADRESSE;
|
if (defined("FAC_PDF_ADRESSE") && FAC_PDF_ADRESSE) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).FAC_PDF_ADRESSE;
|
||||||
else {
|
else {
|
||||||
@ -769,7 +771,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
$pdf->SetFont('Arial','B',11);
|
$pdf->SetFont('Arial','B',11);
|
||||||
$pdf->MultiCell(106,4, $object->client->nom, 0, 'L');
|
$pdf->MultiCell(106,4, $object->client->nom, 0, 'L');
|
||||||
|
|
||||||
// Caractéristiques client
|
// Caract<EFBFBD>ristiques client
|
||||||
$carac_client=$object->client->adresse;
|
$carac_client=$object->client->adresse;
|
||||||
$carac_client.="\n".$object->client->cp . " " . $object->client->ville."\n";
|
$carac_client.="\n".$object->client->cp . " " . $object->client->ville."\n";
|
||||||
if ($object->client->tva_intra) $carac_client.="\n".$outputlangs->transnoentities("VATIntraShort").': '.$object->client->tva_intra;
|
if ($object->client->tva_intra) $carac_client.="\n".$outputlangs->transnoentities("VATIntraShort").': '.$object->client->tva_intra;
|
||||||
|
|||||||
@ -270,6 +270,9 @@ class pdf_edison extends ModelePDFCommandes
|
|||||||
$pdf->Close();
|
$pdf->Close();
|
||||||
|
|
||||||
$pdf->Output($file);
|
$pdf->Output($file);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
$langs->setPhpLang(); // On restaure langue session
|
$langs->setPhpLang(); // On restaure langue session
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
/**
|
/**
|
||||||
\file htdocs/includes/modules/commande/pdf_einstein.modules.php
|
\file htdocs/includes/modules/commande/pdf_einstein.modules.php
|
||||||
\ingroup commande
|
\ingroup commande
|
||||||
\brief Fichier de la classe permettant de générer les commandes au modèle Einstein
|
\brief Fichier de la classe permettant de g<EFBFBD>n<EFBFBD>rer les commandes au mod<EFBFBD>le Einstein
|
||||||
\author Laurent Destailleur
|
\author Laurent Destailleur
|
||||||
\version $Id$
|
\version $Id$
|
||||||
*/
|
*/
|
||||||
@ -34,7 +34,7 @@ require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php");
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
\class pdf_einstein
|
\class pdf_einstein
|
||||||
\brief Classe permettant de générer les commandes au modèle Einstein
|
\brief Classe permettant de g<EFBFBD>n<EFBFBD>rer les commandes au mod<EFBFBD>le Einstein
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class pdf_einstein extends ModelePDFCommandes
|
class pdf_einstein extends ModelePDFCommandes
|
||||||
@ -44,7 +44,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Constructeur
|
\brief Constructeur
|
||||||
\param db Handler accès base de donnée
|
\param db Handler acc<EFBFBD>s base de donn<EFBFBD>e
|
||||||
*/
|
*/
|
||||||
function pdf_einstein($db)
|
function pdf_einstein($db)
|
||||||
{
|
{
|
||||||
@ -69,12 +69,12 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
|
|
||||||
$this->option_logo = 1; // Affiche logo
|
$this->option_logo = 1; // Affiche logo
|
||||||
$this->option_tva = 1; // Gere option tva FACTURE_TVAOPTION
|
$this->option_tva = 1; // Gere option tva FACTURE_TVAOPTION
|
||||||
$this->option_modereg = 1; // Affiche mode règlement
|
$this->option_modereg = 1; // Affiche mode r<EFBFBD>glement
|
||||||
$this->option_condreg = 1; // Affiche conditions règlement
|
$this->option_condreg = 1; // Affiche conditions r<EFBFBD>glement
|
||||||
$this->option_codeproduitservice = 1; // Affiche code produit-service
|
$this->option_codeproduitservice = 1; // Affiche code produit-service
|
||||||
$this->option_multilang = 1; // Dispo en plusieurs langues
|
$this->option_multilang = 1; // Dispo en plusieurs langues
|
||||||
$this->option_escompte = 1; // Affiche si il y a eu escompte
|
$this->option_escompte = 1; // Affiche si il y a eu escompte
|
||||||
$this->option_credit_note = 1; // Gère les avoirs
|
$this->option_credit_note = 1; // G<EFBFBD>re les avoirs
|
||||||
$this->option_freetext = 1; // Support add of a personalised text
|
$this->option_freetext = 1; // Support add of a personalised text
|
||||||
$this->option_draft_watermark = 1; //Support add of a watermark on drafts
|
$this->option_draft_watermark = 1; //Support add of a watermark on drafts
|
||||||
|
|
||||||
@ -83,7 +83,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
|
|
||||||
// Recupere emmetteur
|
// Recupere emmetteur
|
||||||
$this->emetteur=$mysoc;
|
$this->emetteur=$mysoc;
|
||||||
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'était pas défini
|
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'<EFBFBD>tait pas d<>fini
|
||||||
|
|
||||||
// Defini position des colonnes
|
// Defini position des colonnes
|
||||||
$this->posxdesc=$this->marge_gauche+1;
|
$this->posxdesc=$this->marge_gauche+1;
|
||||||
@ -99,8 +99,8 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Fonction générant la commande sur le disque
|
* \brief Fonction g<EFBFBD>n<EFBFBD>rant la commande sur le disque
|
||||||
* \param com Objet commande à générer
|
* \param com Objet commande <EFBFBD> g<EFBFBD>n<EFBFBD>rer
|
||||||
* \param outputlangs Lang object for output language
|
* \param outputlangs Lang object for output language
|
||||||
* \return int 1=ok, 0=ko
|
* \return int 1=ok, 0=ko
|
||||||
*/
|
*/
|
||||||
@ -123,7 +123,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
|
|
||||||
if ($conf->commande->dir_output)
|
if ($conf->commande->dir_output)
|
||||||
{
|
{
|
||||||
// Définition de l'objet $com (pour compatibilite ascendante)
|
// D<EFBFBD>finition de l'objet $com (pour compatibilite ascendante)
|
||||||
if (! is_object($com))
|
if (! is_object($com))
|
||||||
{
|
{
|
||||||
$id = $com;
|
$id = $com;
|
||||||
@ -132,7 +132,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
}
|
}
|
||||||
$deja_regle = "";
|
$deja_regle = "";
|
||||||
|
|
||||||
// Définition de $dir et $file
|
// D<EFBFBD>finition de $dir et $file
|
||||||
if ($com->specimen)
|
if ($com->specimen)
|
||||||
{
|
{
|
||||||
$dir = $conf->commande->dir_output;
|
$dir = $conf->commande->dir_output;
|
||||||
@ -164,7 +164,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
$pdf=new FPDI_Protection('P','mm',$this->format);
|
$pdf=new FPDI_Protection('P','mm',$this->format);
|
||||||
$pdfrights = array('print'); // Ne permet que l'impression du document
|
$pdfrights = array('print'); // Ne permet que l'impression du document
|
||||||
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
||||||
$pdfownerpass = NULL; // Mot de passe du propriétaire, créé aléatoirement si pas défini
|
$pdfownerpass = NULL; // Mot de passe du propri<EFBFBD>taire, cr<63><72> al<61>atoirement si pas d<>fini
|
||||||
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -208,7 +208,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
{
|
{
|
||||||
$tab_top = 88;
|
$tab_top = 88;
|
||||||
|
|
||||||
$pdf->SetFont('Arial','', 9); // Dans boucle pour gérer multi-page
|
$pdf->SetFont('Arial','', 9); // Dans boucle pour g<EFBFBD>rer multi-page
|
||||||
$pdf->SetXY ($this->posxdesc-1, $tab_top);
|
$pdf->SetXY ($this->posxdesc-1, $tab_top);
|
||||||
$pdf->MultiCell(190, 3, $com->note_public, 0, 'J');
|
$pdf->MultiCell(190, 3, $com->note_public, 0, 'J');
|
||||||
$nexY = $pdf->GetY();
|
$nexY = $pdf->GetY();
|
||||||
@ -251,7 +251,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
$libelleproduitservice.=dol_htmlentitiesbr($com->lignes[$i]->desc,1);
|
$libelleproduitservice.=dol_htmlentitiesbr($com->lignes[$i]->desc,1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Si ligne associée à un code produit
|
// Si ligne associ<EFBFBD>e <20> un code produit
|
||||||
if ($com->lignes[$i]->fk_product)
|
if ($com->lignes[$i]->fk_product)
|
||||||
{
|
{
|
||||||
$prodser = new Product($this->db);
|
$prodser = new Product($this->db);
|
||||||
@ -282,7 +282,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
// Description
|
// Description
|
||||||
$pdf->writeHTMLCell($this->posxtva-$this->posxdesc-1, 3, $this->posxdesc-1, $curY, $libelleproduitservice, 0, 1);
|
$pdf->writeHTMLCell($this->posxtva-$this->posxdesc-1, 3, $this->posxdesc-1, $curY, $libelleproduitservice, 0, 1);
|
||||||
|
|
||||||
$pdf->SetFont('Arial','', 9); // On repositionne la police par défaut
|
$pdf->SetFont('Arial','', 9); // On repositionne la police par d<EFBFBD>faut
|
||||||
|
|
||||||
$nexY = $pdf->GetY();
|
$nexY = $pdf->GetY();
|
||||||
|
|
||||||
@ -322,9 +322,9 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
// cherche nombre de lignes a venir pour savoir si place suffisante
|
// cherche nombre de lignes a venir pour savoir si place suffisante
|
||||||
if ($i < ($nblignes - 1)) // If it's not last line
|
if ($i < ($nblignes - 1)) // If it's not last line
|
||||||
{
|
{
|
||||||
//on récupère la description du produit suivant
|
//on r<EFBFBD>cup<EFBFBD>re la description du produit suivant
|
||||||
$follow_descproduitservice = $com->lignes[$i+1]->desc;
|
$follow_descproduitservice = $com->lignes[$i+1]->desc;
|
||||||
//on compte le nombre de ligne afin de vérifier la place disponible (largeur de ligne 52 caracteres)
|
//on compte le nombre de ligne afin de v<EFBFBD>rifier la place disponible (largeur de ligne 52 caracteres)
|
||||||
$nblineFollowDesc = (num_lines($follow_descproduitservice,52)*4);
|
$nblineFollowDesc = (num_lines($follow_descproduitservice,52)*4);
|
||||||
}
|
}
|
||||||
else // If it's last line
|
else // If it's last line
|
||||||
@ -388,6 +388,8 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
$pdf->Close();
|
$pdf->Close();
|
||||||
|
|
||||||
$pdf->Output($file);
|
$pdf->Output($file);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
$langs->setPhpLang(); // On restaure langue session
|
$langs->setPhpLang(); // On restaure langue session
|
||||||
return 1; // Pas d'erreur
|
return 1; // Pas d'erreur
|
||||||
@ -612,7 +614,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
|
|
||||||
$index = 0;
|
$index = 0;
|
||||||
|
|
||||||
// Affichage des totaux de TVA par taux (conformément à réglementation)
|
// Affichage des totaux de TVA par taux (conform<EFBFBD>ment <20> r<>glementation)
|
||||||
$pdf->SetFillColor(248,248,248);
|
$pdf->SetFillColor(248,248,248);
|
||||||
|
|
||||||
foreach( $this->tva as $tvakey => $tvaval )
|
foreach( $this->tva as $tvakey => $tvaval )
|
||||||
@ -699,7 +701,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
{
|
{
|
||||||
global $conf;
|
global $conf;
|
||||||
|
|
||||||
// Montants exprimés en (en tab_top - 1)
|
// Montants exprim<EFBFBD>s en (en tab_top - 1)
|
||||||
$pdf->SetTextColor(0,0,0);
|
$pdf->SetTextColor(0,0,0);
|
||||||
$pdf->SetFont('Arial','',8);
|
$pdf->SetFont('Arial','',8);
|
||||||
$titre = $outputlangs->transnoentities("AmountInCurrency",$outputlangs->transnoentities("Currency".$conf->monnaie));
|
$titre = $outputlangs->transnoentities("AmountInCurrency",$outputlangs->transnoentities("Currency".$conf->monnaie));
|
||||||
@ -746,7 +748,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* \brief Affiche en-tête commande
|
* \brief Affiche en-t<EFBFBD>te commande
|
||||||
* \param pdf Objet PDF
|
* \param pdf Objet PDF
|
||||||
* \param com Objet commande
|
* \param com Objet commande
|
||||||
* \param showadress 0=non, 1=oui
|
* \param showadress 0=non, 1=oui
|
||||||
@ -853,7 +855,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
if (defined("FAC_PDF_SOCIETE_NOM") && FAC_PDF_SOCIETE_NOM) $pdf->MultiCell(80, 4, FAC_PDF_SOCIETE_NOM, 0, 'L');
|
if (defined("FAC_PDF_SOCIETE_NOM") && FAC_PDF_SOCIETE_NOM) $pdf->MultiCell(80, 4, FAC_PDF_SOCIETE_NOM, 0, 'L');
|
||||||
else $pdf->MultiCell(80, 4, $this->emetteur->nom, 0, 'L');
|
else $pdf->MultiCell(80, 4, $this->emetteur->nom, 0, 'L');
|
||||||
|
|
||||||
// Caractéristiques emetteur
|
// Caract<EFBFBD>ristiques emetteur
|
||||||
$carac_emetteur = '';
|
$carac_emetteur = '';
|
||||||
if (defined("FAC_PDF_ADRESSE") && FAC_PDF_ADRESSE) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).FAC_PDF_ADRESSE;
|
if (defined("FAC_PDF_ADRESSE") && FAC_PDF_ADRESSE) $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).FAC_PDF_ADRESSE;
|
||||||
else {
|
else {
|
||||||
@ -915,7 +917,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
// Nom client
|
// Nom client
|
||||||
$carac_client = "\n".$object->contact->getFullName($outputlangs,1,1);
|
$carac_client = "\n".$object->contact->getFullName($outputlangs,1,1);
|
||||||
|
|
||||||
// Caractéristiques client
|
// Caract<EFBFBD>ristiques client
|
||||||
$carac_client.="\n".$object->contact->adresse;
|
$carac_client.="\n".$object->contact->adresse;
|
||||||
$carac_client.="\n".$object->contact->cp . " " . $object->contact->ville."\n";
|
$carac_client.="\n".$object->contact->cp . " " . $object->contact->ville."\n";
|
||||||
//Pays si different de l'emetteur
|
//Pays si different de l'emetteur
|
||||||
@ -931,19 +933,19 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
$pdf->SetFont('Arial','B',11);
|
$pdf->SetFont('Arial','B',11);
|
||||||
$pdf->MultiCell(96,4, $object->client->nom, 0, 'L');
|
$pdf->MultiCell(96,4, $object->client->nom, 0, 'L');
|
||||||
|
|
||||||
// Nom du contact suivi commande si c'est une société
|
// Nom du contact suivi commande si c'est une soci<EFBFBD>t<EFBFBD>
|
||||||
$arrayidcontact = $object->getIdContact('external','CUSTOMER');
|
$arrayidcontact = $object->getIdContact('external','CUSTOMER');
|
||||||
if (sizeof($arrayidcontact) > 0)
|
if (sizeof($arrayidcontact) > 0)
|
||||||
{
|
{
|
||||||
$object->fetch_contact($arrayidcontact[0]);
|
$object->fetch_contact($arrayidcontact[0]);
|
||||||
// On vérifie si c'est une société ou un particulier
|
// On v<EFBFBD>rifie si c'est une soci<63>t<EFBFBD> ou un particulier
|
||||||
if( !preg_match('#'.$object->contact->getFullName($outputlangs,1).'#isU',$object->client->nom) )
|
if( !preg_match('#'.$object->contact->getFullName($outputlangs,1).'#isU',$object->client->nom) )
|
||||||
{
|
{
|
||||||
$carac_client .= "\n".$object->contact->getFullName($outputlangs,1,1);
|
$carac_client .= "\n".$object->contact->getFullName($outputlangs,1,1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Caractéristiques client
|
// Caract<EFBFBD>ristiques client
|
||||||
$carac_client.="\n".$object->client->adresse;
|
$carac_client.="\n".$object->client->adresse;
|
||||||
$carac_client.="\n".$object->client->cp . " " . $object->client->ville."\n";
|
$carac_client.="\n".$object->client->cp . " " . $object->client->ville."\n";
|
||||||
|
|
||||||
@ -953,7 +955,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
$carac_client.=dol_entity_decode($object->client->pays)."\n";
|
$carac_client.=dol_entity_decode($object->client->pays)."\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Numéro TVA intracom
|
// Num<EFBFBD>ro TVA intracom
|
||||||
if ($object->client->tva_intra) $carac_client.="\n".$outputlangs->transnoentities("VATIntraShort").': '.$object->client->tva_intra;
|
if ($object->client->tva_intra) $carac_client.="\n".$outputlangs->transnoentities("VATIntraShort").': '.$object->client->tva_intra;
|
||||||
$pdf->SetFont('Arial','',9);
|
$pdf->SetFont('Arial','',9);
|
||||||
$posy=$pdf->GetY()-9; //Auto Y coord readjust for multiline name
|
$posy=$pdf->GetY()-9; //Auto Y coord readjust for multiline name
|
||||||
|
|||||||
@ -130,6 +130,8 @@ class html_cerfafr extends ModeleDon
|
|||||||
$handle=fopen($file,"w");
|
$handle=fopen($file,"w");
|
||||||
fwrite($handle,$html);
|
fwrite($handle,$html);
|
||||||
fclose($handle);
|
fclose($handle);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,28 +23,28 @@
|
|||||||
/**
|
/**
|
||||||
\file htdocs/includes/modules/facture/modules_facture.php
|
\file htdocs/includes/modules/facture/modules_facture.php
|
||||||
\ingroup facture
|
\ingroup facture
|
||||||
\brief Fichier contenant la classe mère de generation des factures en PDF
|
\brief Fichier contenant la classe m<EFBFBD>re de generation des factures en PDF
|
||||||
et la classe mère de numérotation des factures
|
et la classe m<EFBFBD>re de num<EFBFBD>rotation des factures
|
||||||
\version $Id$
|
\version $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require_once(DOL_DOCUMENT_ROOT.'/lib/functions.lib.php');
|
require_once(DOL_DOCUMENT_ROOT.'/lib/functions.lib.php');
|
||||||
require_once(DOL_DOCUMENT_ROOT.'/includes/fpdf/fpdfi/fpdi_protection.php');
|
require_once(DOL_DOCUMENT_ROOT.'/includes/fpdf/fpdfi/fpdi_protection.php');
|
||||||
require_once(DOL_DOCUMENT_ROOT."/product.class.php");
|
require_once(DOL_DOCUMENT_ROOT."/product.class.php");
|
||||||
require_once(DOL_DOCUMENT_ROOT."/compta/bank/account.class.php"); // Requis car utilisé dans les classes qui héritent
|
require_once(DOL_DOCUMENT_ROOT."/compta/bank/account.class.php"); // Requis car utilis<EFBFBD> dans les classes qui h<>ritent
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\class ModelePDFFactures
|
\class ModelePDFFactures
|
||||||
\brief Classe mère des modèles de facture
|
\brief Classe m<EFBFBD>re des mod<EFBFBD>les de facture
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class ModelePDFFactures extends FPDF
|
class ModelePDFFactures extends FPDF
|
||||||
{
|
{
|
||||||
var $error='';
|
var $error='';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Renvoi le dernier message d'erreur de création de facture
|
* \brief Renvoi le dernier message d'erreur de cr<EFBFBD>ation de facture
|
||||||
*/
|
*/
|
||||||
function pdferror()
|
function pdferror()
|
||||||
{
|
{
|
||||||
@ -52,7 +52,7 @@ class ModelePDFFactures extends FPDF
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Renvoi la liste des modèles actifs
|
* \brief Renvoi la liste des mod<EFBFBD>les actifs
|
||||||
* \param db Handler de base
|
* \param db Handler de base
|
||||||
*/
|
*/
|
||||||
function liste_modeles($db)
|
function liste_modeles($db)
|
||||||
@ -87,8 +87,8 @@ class ModelePDFFactures extends FPDF
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
\class ModeleNumRefFactures
|
\class ModeleNumRefFactures
|
||||||
\brief Classe mère des modèles de numérotation des références de facture
|
\brief Classe m<EFBFBD>re des mod<EFBFBD>les de num<EFBFBD>rotation des r<EFBFBD>f<EFBFBD>rences de factur
|
||||||
*/
|
*/
|
||||||
class ModeleNumRefFactures
|
class ModeleNumRefFactures
|
||||||
{
|
{
|
||||||
var $error='';
|
var $error='';
|
||||||
@ -101,7 +101,7 @@ class ModeleNumRefFactures
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** \brief Renvoi la description par defaut du modele de numérotation
|
/** \brief Renvoi la description par defaut du modele de num<EFBFBD>rotation
|
||||||
* \return string Texte descripif
|
* \return string Texte descripif
|
||||||
*/
|
*/
|
||||||
function info()
|
function info()
|
||||||
@ -111,7 +111,7 @@ class ModeleNumRefFactures
|
|||||||
return $langs->trans("NoDescription");
|
return $langs->trans("NoDescription");
|
||||||
}
|
}
|
||||||
|
|
||||||
/** \brief Renvoi un exemple de numérotation
|
/** \brief Renvoi un exemple de num<EFBFBD>rotation
|
||||||
* \return string Example
|
* \return string Example
|
||||||
*/
|
*/
|
||||||
function getExample()
|
function getExample()
|
||||||
@ -121,8 +121,8 @@ class ModeleNumRefFactures
|
|||||||
return $langs->trans("NoExample");
|
return $langs->trans("NoExample");
|
||||||
}
|
}
|
||||||
|
|
||||||
/** \brief Test si les numéros déjà en vigueur dans la base ne provoquent pas de
|
/** \brief Test si les num<EFBFBD>ros d<EFBFBD>j<EFBFBD> en vigueur dans la base ne provoquent pas d
|
||||||
* de conflits qui empechera cette numérotation de fonctionner.
|
* de conflits qui empechera cette num<EFBFBD>rotation de fonctionner.
|
||||||
* \return boolean false si conflit, true si ok
|
* \return boolean false si conflit, true si ok
|
||||||
*/
|
*/
|
||||||
function canBeActivated()
|
function canBeActivated()
|
||||||
@ -130,7 +130,7 @@ class ModeleNumRefFactures
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** \brief Renvoi prochaine valeur attribuée
|
/** \brief Renvoi prochaine valeur attribu<EFBFBD>e
|
||||||
* \param objsoc Objet societe
|
* \param objsoc Objet societe
|
||||||
* \param facture Objet facture
|
* \param facture Objet facture
|
||||||
* \return string Valeur
|
* \return string Valeur
|
||||||
@ -158,14 +158,14 @@ class ModeleNumRefFactures
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Crée un facture sur disque en fonction du modèle de FACTURE_ADDON_PDF
|
\brief Cree un facture sur disque en fonction du modele de FACTURE_ADDON_PDF
|
||||||
\param db objet base de donnée
|
\param db objet base de donnee
|
||||||
\param id id de la facture à créer
|
\param id id de la facture a creer
|
||||||
\param message message
|
\param message message
|
||||||
\param modele force le modele à utiliser ('' par defaut)
|
\param modele force le modele a utiliser ('' par defaut)
|
||||||
\param outputlangs objet lang a utiliser pour traduction
|
\param outputlangs objet lang a utiliser pour traduction
|
||||||
\return int <0 si KO, >0 si OK
|
\return int <0 si KO, >0 si OK
|
||||||
*/
|
*/
|
||||||
function facture_pdf_create($db, $id, $message='', $modele='', $outputlangs='')
|
function facture_pdf_create($db, $id, $message='', $modele='', $outputlangs='')
|
||||||
{
|
{
|
||||||
global $conf,$langs;
|
global $conf,$langs;
|
||||||
@ -173,7 +173,7 @@ function facture_pdf_create($db, $id, $message='', $modele='', $outputlangs='')
|
|||||||
|
|
||||||
$dir = DOL_DOCUMENT_ROOT . "/includes/modules/facture/";
|
$dir = DOL_DOCUMENT_ROOT . "/includes/modules/facture/";
|
||||||
|
|
||||||
// Positionne modele sur le nom du modele à utiliser
|
// Positionne modele sur le nom du modele a utiliser
|
||||||
if (! strlen($modele))
|
if (! strlen($modele))
|
||||||
{
|
{
|
||||||
if ($conf->global->FACTURE_ADDON_PDF)
|
if ($conf->global->FACTURE_ADDON_PDF)
|
||||||
@ -199,7 +199,7 @@ function facture_pdf_create($db, $id, $message='', $modele='', $outputlangs='')
|
|||||||
|
|
||||||
if ($obj->write_file($id, $outputlangs) > 0)
|
if ($obj->write_file($id, $outputlangs) > 0)
|
||||||
{
|
{
|
||||||
// Succès de la création de la facture. On génère le fichier meta
|
// Success in building document. We build meta file.
|
||||||
facture_meta_create($db, $id);
|
facture_meta_create($db, $id);
|
||||||
|
|
||||||
// et on supprime l'image correspondant au preview
|
// et on supprime l'image correspondant au preview
|
||||||
@ -222,11 +222,11 @@ function facture_pdf_create($db, $id, $message='', $modele='', $outputlangs='')
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Créé un meta fichier à côté de la facture sur le disque pour faciliter les recherches en texte plein. Pourquoi ? tout simplement parcequ'en fin d'exercice quand je suis avec mon comptable je n'ai pas de connexion internet "rapide" pour retrouver en 2 secondes une facture non payée ou compliquée à gérer ... avec un rgrep c'est vite fait bien fait [eric seigne]
|
\brief Cr<EFBFBD><EFBFBD> un meta fichier <EFBFBD> c<EFBFBD>t<EFBFBD> de la facture sur le disque pour faciliter les recherches en texte plein. Pourquoi ? tout simplement parcequ'en fin d'exercice quand je suis avec mon comptable je n'ai pas de connexion internet "rapide" pour retrouver en 2 secondes une facture non pay<EFBFBD>e ou compliqu<71>e <20> g<>rer ... avec un rgrep c'est vite fait bien fait [eric seigne
|
||||||
\param db Objet base de donnée
|
\param db Objet base de donn<EFBFBD>e
|
||||||
\param facid Id de la facture à créer
|
\param facid Id de la facture <EFBFBD> cr<EFBFBD>er
|
||||||
\param message Message
|
\param message Message
|
||||||
*/
|
*/
|
||||||
function facture_meta_create($db, $facid, $message="")
|
function facture_meta_create($db, $facid, $message="")
|
||||||
{
|
{
|
||||||
global $langs,$conf;
|
global $langs,$conf;
|
||||||
@ -257,7 +257,8 @@ CLIENT=\"" . $client . "\"
|
|||||||
TOTAL_HT=\"" . $fac->total_ht . "\"
|
TOTAL_HT=\"" . $fac->total_ht . "\"
|
||||||
TOTAL_TTC=\"" . $fac->total_ttc . "\"\n";
|
TOTAL_TTC=\"" . $fac->total_ttc . "\"\n";
|
||||||
|
|
||||||
for ($i = 0 ; $i < $nblignes ; $i++) {
|
for ($i = 0 ; $i < $nblignes ; $i++)
|
||||||
|
{
|
||||||
//Pour les articles
|
//Pour les articles
|
||||||
$meta .= "ITEM_" . $i . "_QUANTITY=\"" . $fac->lignes[$i]->qty . "\"
|
$meta .= "ITEM_" . $i . "_QUANTITY=\"" . $fac->lignes[$i]->qty . "\"
|
||||||
ITEM_" . $i . "_UNIT_PRICE=\"" . $fac->lignes[$i]->price . "\"
|
ITEM_" . $i . "_UNIT_PRICE=\"" . $fac->lignes[$i]->price . "\"
|
||||||
@ -269,15 +270,18 @@ ITEM_" . $i . "_DESCRIPTION=\"" . str_replace("\r\n","",nl2br($fac->lignes[$i]->
|
|||||||
$fp = fopen ($file,"w");
|
$fp = fopen ($file,"w");
|
||||||
fputs($fp,$meta);
|
fputs($fp,$meta);
|
||||||
fclose($fp);
|
fclose($fp);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Supprime l'image de prévisualitation, pour le cas de régénération de facture
|
\brief Supprime l'image de pr<EFBFBD>visualitation, pour le cas de r<EFBFBD>g<EFBFBD>n<EFBFBD>ration de facture
|
||||||
\param db objet base de donnée
|
\param db objet base de donn<EFBFBD>e
|
||||||
\param facid id de la facture à créer
|
\param facid id de la facture <EFBFBD> cr<EFBFBD>er
|
||||||
*/
|
*/
|
||||||
function facture_delete_preview($db, $facid)
|
function facture_delete_preview($db, $facid)
|
||||||
{
|
{
|
||||||
global $langs,$conf;
|
global $langs,$conf;
|
||||||
|
|||||||
@ -412,6 +412,8 @@ class pdf_crabe extends ModelePDFFactures
|
|||||||
$pdf->Close();
|
$pdf->Close();
|
||||||
|
|
||||||
$pdf->Output($file);
|
$pdf->Output($file);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
$langs->setPhpLang(); // On restaure langue session
|
$langs->setPhpLang(); // On restaure langue session
|
||||||
return 1; // Pas d'erreur
|
return 1; // Pas d'erreur
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
/**
|
/**
|
||||||
\file htdocs/includes/modules/facture/pdf_huitre.modules.php
|
\file htdocs/includes/modules/facture/pdf_huitre.modules.php
|
||||||
\ingroup facture
|
\ingroup facture
|
||||||
\brief Fichier de la classe permettant de générer les factures au modèle Huitre
|
\brief Fichier de la classe permettant de g<EFBFBD>n<EFBFBD>rer les factures au mod<EFBFBD>le Huitre
|
||||||
\author Laurent Destailleur
|
\author Laurent Destailleur
|
||||||
\version $Id$
|
\version $Id$
|
||||||
*/
|
*/
|
||||||
@ -33,7 +33,7 @@ require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php");
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
\class pdf_huitre
|
\class pdf_huitre
|
||||||
\brief Classe permettant de générer les factures au modèle Huitre
|
\brief Classe permettant de g<EFBFBD>n<EFBFBD>rer les factures au mod<EFBFBD>le Huitre
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class pdf_huitre extends ModelePDFFactures
|
class pdf_huitre extends ModelePDFFactures
|
||||||
@ -42,7 +42,7 @@ class pdf_huitre extends ModelePDFFactures
|
|||||||
|
|
||||||
|
|
||||||
/** \brief Constructeur
|
/** \brief Constructeur
|
||||||
\param db handler accès base de donnée
|
\param db handler acc<EFBFBD>s base de donn<EFBFBD>e
|
||||||
*/
|
*/
|
||||||
function pdf_huitre($db)
|
function pdf_huitre($db)
|
||||||
{
|
{
|
||||||
@ -69,23 +69,23 @@ class pdf_huitre extends ModelePDFFactures
|
|||||||
|
|
||||||
$this->option_logo = 1; // Affiche logo FAC_PDF_LOGO
|
$this->option_logo = 1; // Affiche logo FAC_PDF_LOGO
|
||||||
$this->option_tva = 0; // Gere option tva FACTURE_TVAOPTION
|
$this->option_tva = 0; // Gere option tva FACTURE_TVAOPTION
|
||||||
$this->option_modereg = 0; // Gere choix mode règlement FACTURE_CHQ_NUMBER, FACTURE_RIB_NUMBER
|
$this->option_modereg = 0; // Gere choix mode r<EFBFBD>glement FACTURE_CHQ_NUMBER, FACTURE_RIB_NUMBER
|
||||||
$this->option_condreg = 1; // Affiche conditions règlement
|
$this->option_condreg = 1; // Affiche conditions r<EFBFBD>glement
|
||||||
$this->option_codeproduitservice = 0; // Affiche code produit-service
|
$this->option_codeproduitservice = 0; // Affiche code produit-service
|
||||||
$this->option_multilang = 1; // Dispo en plusieurs langues
|
$this->option_multilang = 1; // Dispo en plusieurs langues
|
||||||
$this->option_escompte = 0; // Affiche si il y a eu escompte
|
$this->option_escompte = 0; // Affiche si il y a eu escompte
|
||||||
$this->option_credit_note = 0; // Gère les avoirs
|
$this->option_credit_note = 0; // G<EFBFBD>re les avoirs
|
||||||
$this->option_draft_watermark = 1; //Support add of a watermark on drafts
|
$this->option_draft_watermark = 1; //Support add of a watermark on drafts
|
||||||
|
|
||||||
// Recupere emmetteur
|
// Recupere emmetteur
|
||||||
$this->emetteur=$mysoc;
|
$this->emetteur=$mysoc;
|
||||||
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'était pas défini
|
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'<EFBFBD>tait pas d<>fini
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Fonction générant la facture sur le disque
|
* \brief Fonction g<EFBFBD>n<EFBFBD>rant la facture sur le disque
|
||||||
* \param fac Objet facture à générer (ou id si ancienne methode)
|
* \param fac Objet facture <EFBFBD> g<EFBFBD>n<EFBFBD>rer (ou id si ancienne methode)
|
||||||
* \param outputlangs Lang object for output language
|
* \param outputlangs Lang object for output language
|
||||||
* \return int 1=ok, 0=ko
|
* \return int 1=ok, 0=ko
|
||||||
*/
|
*/
|
||||||
@ -106,7 +106,7 @@ class pdf_huitre extends ModelePDFFactures
|
|||||||
|
|
||||||
if ($conf->facture->dir_output)
|
if ($conf->facture->dir_output)
|
||||||
{
|
{
|
||||||
// Définition de l'objet $fac (pour compatibilite ascendante)
|
// D<EFBFBD>finition de l'objet $fac (pour compatibilite ascendante)
|
||||||
if (! is_object($fac))
|
if (! is_object($fac))
|
||||||
{
|
{
|
||||||
$id = $fac;
|
$id = $fac;
|
||||||
@ -114,7 +114,7 @@ class pdf_huitre extends ModelePDFFactures
|
|||||||
$ret=$fac->fetch($id);
|
$ret=$fac->fetch($id);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Définition de $dir et $file
|
// D<EFBFBD>finition de $dir et $file
|
||||||
if ($fac->specimen)
|
if ($fac->specimen)
|
||||||
{
|
{
|
||||||
$dir = $conf->facture->dir_output;
|
$dir = $conf->facture->dir_output;
|
||||||
@ -145,7 +145,7 @@ class pdf_huitre extends ModelePDFFactures
|
|||||||
$pdf=new FPDI_Protection('P','mm','A4');
|
$pdf=new FPDI_Protection('P','mm','A4');
|
||||||
$pdfrights = array('print'); // Ne permet que l'impression du document
|
$pdfrights = array('print'); // Ne permet que l'impression du document
|
||||||
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
||||||
$pdfownerpass = NULL; // Mot de passe du propriétaire, créé aléatoirement si pas défini
|
$pdfownerpass = NULL; // Mot de passe du propri<EFBFBD>taire, cr<63><72> al<61>atoirement si pas d<>fini
|
||||||
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -271,12 +271,11 @@ class pdf_huitre extends ModelePDFFactures
|
|||||||
$pdf->SetLineWidth(0.5);
|
$pdf->SetLineWidth(0.5);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$pdf->Close();
|
$pdf->Close();
|
||||||
|
|
||||||
$pdf->Output($file);
|
$pdf->Output($file);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
$langs->setPhpLang(); // On restaure langue session
|
$langs->setPhpLang(); // On restaure langue session
|
||||||
return 1; // Pas d'erreur
|
return 1; // Pas d'erreur
|
||||||
@ -373,7 +372,7 @@ class pdf_huitre extends ModelePDFFactures
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* \brief Affiche le total à payer
|
* \brief Affiche le total <EFBFBD> payer
|
||||||
* \param pdf objet PDF
|
* \param pdf objet PDF
|
||||||
* \param fac objet facture
|
* \param fac objet facture
|
||||||
*/
|
*/
|
||||||
@ -463,7 +462,7 @@ class pdf_huitre extends ModelePDFFactures
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* \brief Affiche en-tête facture
|
* \brief Affiche en-t<EFBFBD>te facture
|
||||||
* \param pdf objet PDF
|
* \param pdf objet PDF
|
||||||
* \param fac objet facture
|
* \param fac objet facture
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -23,8 +23,8 @@
|
|||||||
/**
|
/**
|
||||||
\file htdocs/includes/modules/facture/pdf_oursin.modules.php
|
\file htdocs/includes/modules/facture/pdf_oursin.modules.php
|
||||||
\ingroup facture
|
\ingroup facture
|
||||||
\brief Fichier de la classe permettant de générer les factures au modèle oursin
|
\brief Fichier de la classe permettant de g<EFBFBD>n<EFBFBD>rer les factures au mod<EFBFBD>le oursin
|
||||||
\author Sylvain SCATTOLINI basé sur un modèle de Laurent Destailleur
|
\author Sylvain SCATTOLINI bas<EFBFBD> sur un mod<EFBFBD>le de Laurent Destailleur
|
||||||
\version $Id$
|
\version $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php");
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
\class pdf_oursin
|
\class pdf_oursin
|
||||||
\brief Classe permettant de générer les factures au modèle oursin
|
\brief Classe permettant de g<EFBFBD>n<EFBFBD>rer les factures au mod<EFBFBD>le oursin
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class pdf_oursin extends ModelePDFFactures
|
class pdf_oursin extends ModelePDFFactures
|
||||||
@ -44,7 +44,7 @@ class pdf_oursin extends ModelePDFFactures
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Constructeur
|
\brief Constructeur
|
||||||
\param db handler accès base de donnée
|
\param db handler acc<EFBFBD>s base de donn<EFBFBD>e
|
||||||
*/
|
*/
|
||||||
function pdf_oursin($db)
|
function pdf_oursin($db)
|
||||||
{
|
{
|
||||||
@ -70,12 +70,12 @@ class pdf_oursin extends ModelePDFFactures
|
|||||||
|
|
||||||
$this->option_logo = 1; // Affiche logo FAC_PDF_LOGO
|
$this->option_logo = 1; // Affiche logo FAC_PDF_LOGO
|
||||||
$this->option_tva = 1; // Gere option tva FACTURE_TVAOPTION
|
$this->option_tva = 1; // Gere option tva FACTURE_TVAOPTION
|
||||||
$this->option_modereg = 1; // Gere choix mode règlement FACTURE_CHQ_NUMBER, FACTURE_RIB_NUMBER
|
$this->option_modereg = 1; // Gere choix mode r<EFBFBD>glement FACTURE_CHQ_NUMBER, FACTURE_RIB_NUMBER
|
||||||
$this->option_condreg = 1; // Affiche conditions règlement
|
$this->option_condreg = 1; // Affiche conditions r<EFBFBD>glement
|
||||||
$this->option_codeproduitservice = 1; // Affiche code produit-service
|
$this->option_codeproduitservice = 1; // Affiche code produit-service
|
||||||
$this->option_multilang = 1; // Dispo en plusieurs langues
|
$this->option_multilang = 1; // Dispo en plusieurs langues
|
||||||
$this->option_escompte = 0; // Affiche si il y a eu escompte
|
$this->option_escompte = 0; // Affiche si il y a eu escompte
|
||||||
$this->option_credit_note = 1; // Gère les avoirs
|
$this->option_credit_note = 1; // G<EFBFBD>re les avoirs
|
||||||
$this->option_draft_watermark = 1; //Support add of a watermark on drafts
|
$this->option_draft_watermark = 1; //Support add of a watermark on drafts
|
||||||
|
|
||||||
if (defined("FACTURE_TVAOPTION") && FACTURE_TVAOPTION == 'franchise')
|
if (defined("FACTURE_TVAOPTION") && FACTURE_TVAOPTION == 'franchise')
|
||||||
@ -83,13 +83,13 @@ class pdf_oursin extends ModelePDFFactures
|
|||||||
|
|
||||||
// Recupere emmetteur
|
// Recupere emmetteur
|
||||||
$this->emetteur=$mysoc;
|
$this->emetteur=$mysoc;
|
||||||
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'était pas défini
|
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'<EFBFBD>tait pas d<>fini
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Fonction générant la facture sur le disque
|
* \brief Fonction g<EFBFBD>n<EFBFBD>rant la facture sur le disque
|
||||||
* \param fac Objet facture à générer (ou id si ancienne methode)
|
* \param fac Objet facture <EFBFBD> g<EFBFBD>n<EFBFBD>rer (ou id si ancienne methode)
|
||||||
* \param outputlangs Lang object for output language
|
* \param outputlangs Lang object for output language
|
||||||
* \return int 1=ok, 0=ko
|
* \return int 1=ok, 0=ko
|
||||||
*/
|
*/
|
||||||
@ -110,7 +110,7 @@ class pdf_oursin extends ModelePDFFactures
|
|||||||
|
|
||||||
if ($conf->facture->dir_output)
|
if ($conf->facture->dir_output)
|
||||||
{
|
{
|
||||||
// Définition de l'objet $fac (pour compatibilite ascendante)
|
// D<EFBFBD>finition de l'objet $fac (pour compatibilite ascendante)
|
||||||
if (! is_object($fac))
|
if (! is_object($fac))
|
||||||
{
|
{
|
||||||
$id = $fac;
|
$id = $fac;
|
||||||
@ -122,7 +122,7 @@ class pdf_oursin extends ModelePDFFactures
|
|||||||
$amount_credit_not_included = $fac->getSommeCreditNote();
|
$amount_credit_not_included = $fac->getSommeCreditNote();
|
||||||
|
|
||||||
|
|
||||||
// Définition de $dir et $file
|
// D<EFBFBD>finition de $dir et $file
|
||||||
if ($fac->specimen)
|
if ($fac->specimen)
|
||||||
{
|
{
|
||||||
$dir = $conf->facture->dir_output;
|
$dir = $conf->facture->dir_output;
|
||||||
@ -154,7 +154,7 @@ class pdf_oursin extends ModelePDFFactures
|
|||||||
$pdf=new FPDI_Protection('P','mm',$this->format);
|
$pdf=new FPDI_Protection('P','mm',$this->format);
|
||||||
$pdfrights = array('print'); // Ne permet que l'impression du document
|
$pdfrights = array('print'); // Ne permet que l'impression du document
|
||||||
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
||||||
$pdfownerpass = NULL; // Mot de passe du propriétaire, créé aléatoirement si pas défini
|
$pdfownerpass = NULL; // Mot de passe du propri<EFBFBD>taire, cr<63><72> al<61>atoirement si pas d<>fini
|
||||||
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -196,7 +196,7 @@ class pdf_oursin extends ModelePDFFactures
|
|||||||
$codeproduitservice="";
|
$codeproduitservice="";
|
||||||
$pdf->SetXY ($this->marges['g']+ 1, $curY );
|
$pdf->SetXY ($this->marges['g']+ 1, $curY );
|
||||||
if (defined("FACTURE_CODEPRODUITSERVICE") && FACTURE_CODEPRODUITSERVICE) {
|
if (defined("FACTURE_CODEPRODUITSERVICE") && FACTURE_CODEPRODUITSERVICE) {
|
||||||
// Affiche code produit si ligne associée à un code produit
|
// Affiche code produit si ligne associ<EFBFBD>e <20> un code produit
|
||||||
|
|
||||||
$prodser = new Product($this->db);
|
$prodser = new Product($this->db);
|
||||||
|
|
||||||
@ -206,7 +206,7 @@ class pdf_oursin extends ModelePDFFactures
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($fac->lignes[$i]->date_start && $fac->lignes[$i]->date_end) {
|
if ($fac->lignes[$i]->date_start && $fac->lignes[$i]->date_end) {
|
||||||
// Affichage durée si il y en a une
|
// Affichage dur<EFBFBD>e si il y en a une
|
||||||
$codeproduitservice.=" (".$outputlangs->transnoentities("From")." ".dolibarr_print_date($fac->lignes[$i]->date_start)." ".$langs->transnoentities("to")." ".dolibarr_print_date($fac->lignes[$i]->date_end).")";
|
$codeproduitservice.=" (".$outputlangs->transnoentities("From")." ".dolibarr_print_date($fac->lignes[$i]->date_start)." ".$langs->transnoentities("to")." ".dolibarr_print_date($fac->lignes[$i]->date_end).")";
|
||||||
}
|
}
|
||||||
$pdf->MultiCell(108, 5, $fac->lignes[$i]->desc."$codeproduitservice", 0, 'J');
|
$pdf->MultiCell(108, 5, $fac->lignes[$i]->desc."$codeproduitservice", 0, 'J');
|
||||||
@ -260,7 +260,7 @@ class pdf_oursin extends ModelePDFFactures
|
|||||||
$posy=$this->_tableau_versements($pdf, $fac, $posy, $outputlangs);
|
$posy=$this->_tableau_versements($pdf, $fac, $posy, $outputlangs);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mode de règlement
|
// Mode de r<EFBFBD>glement
|
||||||
if ((! defined("FACTURE_CHQ_NUMBER") || ! FACTURE_CHQ_NUMBER) && (! defined("FACTURE_RIB_NUMBER") || ! FACTURE_RIB_NUMBER)) {
|
if ((! defined("FACTURE_CHQ_NUMBER") || ! FACTURE_CHQ_NUMBER) && (! defined("FACTURE_RIB_NUMBER") || ! FACTURE_RIB_NUMBER)) {
|
||||||
$pdf->SetXY ($this->marges['g'], 228);
|
$pdf->SetXY ($this->marges['g'], 228);
|
||||||
$pdf->SetTextColor(200,0,0);
|
$pdf->SetTextColor(200,0,0);
|
||||||
@ -270,7 +270,7 @@ class pdf_oursin extends ModelePDFFactures
|
|||||||
$pdf->SetTextColor(0,0,0);
|
$pdf->SetTextColor(0,0,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Propose mode règlement par CHQ
|
// Propose mode r<EFBFBD>glement par CHQ
|
||||||
if (defined("FACTURE_CHQ_NUMBER"))
|
if (defined("FACTURE_CHQ_NUMBER"))
|
||||||
{
|
{
|
||||||
if (FACTURE_CHQ_NUMBER > 0)
|
if (FACTURE_CHQ_NUMBER > 0)
|
||||||
@ -287,7 +287,7 @@ class pdf_oursin extends ModelePDFFactures
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Propose mode règlement par RIB
|
// Propose mode r<EFBFBD>glement par RIB
|
||||||
if (defined("FACTURE_RIB_NUMBER"))
|
if (defined("FACTURE_RIB_NUMBER"))
|
||||||
{
|
{
|
||||||
if (FACTURE_RIB_NUMBER > 0)
|
if (FACTURE_RIB_NUMBER > 0)
|
||||||
@ -334,7 +334,7 @@ class pdf_oursin extends ModelePDFFactures
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Conditions de règlements
|
// Conditions de r<EFBFBD>glements
|
||||||
if ($fac->cond_reglement_code)
|
if ($fac->cond_reglement_code)
|
||||||
{
|
{
|
||||||
$pdf->SetFont('Arial','B',10);
|
$pdf->SetFont('Arial','B',10);
|
||||||
@ -354,6 +354,8 @@ class pdf_oursin extends ModelePDFFactures
|
|||||||
$pdf->Close();
|
$pdf->Close();
|
||||||
|
|
||||||
$pdf->Output($file);
|
$pdf->Output($file);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
$langs->setPhpLang(); // On restaure langue session
|
$langs->setPhpLang(); // On restaure langue session
|
||||||
return 1; // Pas d'erreur
|
return 1; // Pas d'erreur
|
||||||
@ -512,7 +514,7 @@ class pdf_oursin extends ModelePDFFactures
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* \brief Affiche le total à payer
|
* \brief Affiche le total <EFBFBD> payer
|
||||||
* \param pdf objet PDF
|
* \param pdf objet PDF
|
||||||
* \param fac objet facture
|
* \param fac objet facture
|
||||||
* \param deja_regle montant deja regle
|
* \param deja_regle montant deja regle
|
||||||
@ -617,7 +619,7 @@ class pdf_oursin extends ModelePDFFactures
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* \brief Affiche en-tête facture
|
* \brief Affiche en-t<EFBFBD>te facture
|
||||||
* \param pdf objet PDF
|
* \param pdf objet PDF
|
||||||
* \param fac objet facture
|
* \param fac objet facture
|
||||||
*/
|
*/
|
||||||
@ -705,7 +707,7 @@ class pdf_oursin extends ModelePDFFactures
|
|||||||
$pdf->MultiCell(80, 4, MAIN_INFO_SOCIETE_NOM, 0, 'L');
|
$pdf->MultiCell(80, 4, MAIN_INFO_SOCIETE_NOM, 0, 'L');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Caractéristiques emetteur
|
// Caract<EFBFBD>ristiques emetteur
|
||||||
$pdf->SetFont('Arial','',9);
|
$pdf->SetFont('Arial','',9);
|
||||||
if (defined("FAC_PDF_ADRESSE"))
|
if (defined("FAC_PDF_ADRESSE"))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -315,6 +315,8 @@ class pdf_soleil extends ModelePDFFicheinter
|
|||||||
$pdf->Close();
|
$pdf->Close();
|
||||||
|
|
||||||
$pdf->Output($file);
|
$pdf->Output($file);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
$langs->setPhpLang(); // On restaure langue session
|
$langs->setPhpLang(); // On restaure langue session
|
||||||
return 1;
|
return 1;
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
/**
|
/**
|
||||||
\file htdocs/includes/modules/mailings/peche.modules.php
|
\file htdocs/includes/modules/mailings/peche.modules.php
|
||||||
\ingroup mailing
|
\ingroup mailing
|
||||||
\brief Fichier de la classe permettant de générer la liste de destinataires Peche
|
\brief Fichier de la classe permettant de g<EFBFBD>n<EFBFBD>rer la liste de destinataires Peche
|
||||||
\version $Id$
|
\version $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -29,13 +29,13 @@ include_once DOL_DOCUMENT_ROOT.'/includes/modules/mailings/modules_mailings.php'
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
\class mailing_pomme
|
\class mailing_pomme
|
||||||
\brief Classe permettant de générer la liste des destinataires Pomme
|
\brief Classe permettant de g<EFBFBD>n<EFBFBD>rer la liste des destinataires Pomme
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class mailing_peche extends MailingTargets
|
class mailing_peche extends MailingTargets
|
||||||
{
|
{
|
||||||
var $name='EmailsFromFile'; // Identifiant du module mailing
|
var $name='EmailsFromFile'; // Identifiant du module mailing
|
||||||
var $desc='EMails issus d\'un fichier'; // Libellé utilisé si aucune traduction pour MailingModuleDescXXX ou XXX=name trouvée
|
var $desc='EMails issus d\'un fichier'; // Libell<EFBFBD> utilis<69> si aucune traduction pour MailingModuleDescXXX ou XXX=name trouv<75>e
|
||||||
var $require_module=array(); // Module mailing actif si modules require_module actifs
|
var $require_module=array(); // Module mailing actif si modules require_module actifs
|
||||||
var $require_admin=1; // Module mailing actif pour user admin ou non
|
var $require_admin=1; // Module mailing actif pour user admin ou non
|
||||||
var $picto='generic';
|
var $picto='generic';
|
||||||
@ -99,7 +99,7 @@ class mailing_peche extends MailingTargets
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Ajoute destinataires dans table des cibles
|
* \brief Ajoute destinataires dans table des cibles
|
||||||
* \param mailing_id Id du mailing concerné
|
* \param mailing_id Id du mailing concern<EFBFBD>
|
||||||
* \param filterarray Requete sql de selection des destinataires
|
* \param filterarray Requete sql de selection des destinataires
|
||||||
* \return int < 0 si erreur, nb ajout si ok
|
* \return int < 0 si erreur, nb ajout si ok
|
||||||
*/
|
*/
|
||||||
@ -123,7 +123,8 @@ class mailing_peche extends MailingTargets
|
|||||||
|
|
||||||
//$mesg = '<div class="ok">'.$langs->trans("FileTransferComplete").'</div>';
|
//$mesg = '<div class="ok">'.$langs->trans("FileTransferComplete").'</div>';
|
||||||
//print_r($_FILES);
|
//print_r($_FILES);
|
||||||
$handle = @fopen($upload_dir . "/" . $_FILES['username']['name'], "r");
|
$file=$upload_dir . "/" . $_FILES['username']['name'];
|
||||||
|
$handle = @fopen($file, "r");
|
||||||
if ($handle)
|
if ($handle)
|
||||||
{
|
{
|
||||||
$i = 0;
|
$i = 0;
|
||||||
@ -165,6 +166,7 @@ class mailing_peche extends MailingTargets
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
fclose($handle);
|
fclose($handle);
|
||||||
|
|
||||||
if ($i > 0)
|
if ($i > 0)
|
||||||
{
|
{
|
||||||
return -$i;
|
return -$i;
|
||||||
|
|||||||
@ -340,6 +340,7 @@ class modTelephonie extends DolibarrModules
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
fclose($fp);
|
fclose($fp);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//print "<tr><td>Creation de la table $name/td>";
|
//print "<tr><td>Creation de la table $name/td>";
|
||||||
|
|||||||
@ -397,6 +397,8 @@ class pdf_propale_azur extends ModelePDFPropales
|
|||||||
$pdf->Close();
|
$pdf->Close();
|
||||||
|
|
||||||
$pdf->Output($file);
|
$pdf->Output($file);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
$langs->setPhpLang(); // On restaure langue session
|
$langs->setPhpLang(); // On restaure langue session
|
||||||
return 1; // Pas d'erreur
|
return 1; // Pas d'erreur
|
||||||
|
|||||||
@ -270,6 +270,8 @@ class pdf_propale_jaune extends ModelePDFPropales
|
|||||||
$pdf->Close();
|
$pdf->Close();
|
||||||
|
|
||||||
$pdf->Output($file);
|
$pdf->Output($file);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
$langs->setPhpLang(); // On restaure langue session
|
$langs->setPhpLang(); // On restaure langue session
|
||||||
return 1;
|
return 1;
|
||||||
|
|||||||
@ -16,28 +16,26 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
* or see http://www.gnu.org/
|
* or see http://www.gnu.org/
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\file htdocs/includes/modules/rapport/pdf_paiement.class.php
|
\file htdocs/includes/modules/rapport/pdf_paiement.class.php
|
||||||
\ingroup banque
|
\ingroup banque
|
||||||
\brief Fichier de la classe permettant de générer les rapports de paiement
|
\brief Fichier de la classe permettant de g<EFBFBD>n<EFBFBD>rer les rapports de paiement
|
||||||
\version $Revision$
|
\version $Id$
|
||||||
*/
|
*/
|
||||||
require_once(DOL_DOCUMENT_ROOT.'/includes/fpdf/fpdfi/fpdi_protection.php');
|
require_once(DOL_DOCUMENT_ROOT.'/includes/fpdf/fpdfi/fpdi_protection.php');
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\class pdf_paiement
|
\class pdf_paiement
|
||||||
\brief Classe permettant de générer les rapports de paiement
|
\brief Classe permettant de g<EFBFBD>n<EFBFBD>rer les rapports de paiement
|
||||||
*/
|
*/
|
||||||
class pdf_paiement extends FPDF
|
class pdf_paiement extends FPDF
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
\brief Constructeur
|
\brief Constructeur
|
||||||
\param db handler accès base de donnée
|
\param db handler acc<EFBFBD>s base de donn<EFBFBD>e
|
||||||
*/
|
*/
|
||||||
function pdf_paiement($db)
|
function pdf_paiement($db)
|
||||||
{
|
{
|
||||||
@ -160,14 +158,20 @@ class pdf_paiement extends FPDF
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Fonction générant le rapport sur le disque
|
\brief Fonction generant le rapport sur le disque
|
||||||
\param _dir repertoire
|
\param _dir repertoire
|
||||||
\param month mois du rapport
|
\param month mois du rapport
|
||||||
\param year annee du rapport
|
\param year annee du rapport
|
||||||
*/
|
*/
|
||||||
function write_file($_dir, $month, $year)
|
function write_file($_dir, $month, $year, $outputlangs='')
|
||||||
{
|
{
|
||||||
global $langs;
|
global $user,$langs,$conf;
|
||||||
|
|
||||||
|
if (! is_object($outputlangs)) $outputlangs=$langs;
|
||||||
|
// Force output charset to ISO, because FPDF expect text to be encoded in ISO
|
||||||
|
$outputlangs->charset_output=$outputlangs->character_set_client='ISO-8859-1';
|
||||||
|
|
||||||
|
$outputlangs->setPhpLang();
|
||||||
|
|
||||||
$this->month=$month;
|
$this->month=$month;
|
||||||
$this->year=$year;
|
$this->year=$year;
|
||||||
@ -194,7 +198,7 @@ class pdf_paiement extends FPDF
|
|||||||
$pdf = new FPDI_Protection('P','mm','A4');
|
$pdf = new FPDI_Protection('P','mm','A4');
|
||||||
$pdfrights = array('print'); // Ne permet que l'impression du document
|
$pdfrights = array('print'); // Ne permet que l'impression du document
|
||||||
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
$pdfuserpass = ''; // Mot de passe pour l'utilisateur final
|
||||||
$pdfownerpass = NULL; // Mot de passe du propriétaire, créé aléatoirement si pas défini
|
$pdfownerpass = NULL; // Mot de passe du propri<EFBFBD>taire, cr<63><72> al<61>atoirement si pas d<>fini
|
||||||
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
$pdf->SetProtection($pdfrights,$pdfuserpass,$pdfownerpass);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -256,7 +260,7 @@ class pdf_paiement extends FPDF
|
|||||||
|
|
||||||
if ($pages == 0)
|
if ($pages == 0)
|
||||||
{
|
{
|
||||||
// force à générer au moins une page si le rapport ne contient aucune ligne
|
// force to build at least one page if report has no line
|
||||||
$pages = 1;
|
$pages = 1;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
@ -275,6 +279,11 @@ class pdf_paiement extends FPDF
|
|||||||
$this->Body($pdf, 1, $lines);
|
$this->Body($pdf, 1, $lines);
|
||||||
|
|
||||||
$pdf->Output($_file);
|
$pdf->Output($_file);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
|
$langs->setPhpLang(); // On restaure langue session
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -266,6 +266,9 @@ class CMailFile
|
|||||||
fputs($fp, $this->eol); // This eol is added by the mail function, so we add it in log
|
fputs($fp, $this->eol); // This eol is added by the mail function, so we add it in log
|
||||||
fputs($fp, $this->message);
|
fputs($fp, $this->message);
|
||||||
fclose($fp);
|
fclose($fp);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($outputfile, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -185,6 +185,7 @@ function dolibarr_syslog($message, $level=LOG_INFO)
|
|||||||
|
|
||||||
fwrite($file,$message."\n");
|
fwrite($file,$message."\n");
|
||||||
fclose($file);
|
fclose($file);
|
||||||
|
// This is for log file, we do not change permissions
|
||||||
|
|
||||||
// If enable html log tag enabled and url parameter log defined, we show output log on HTML comments
|
// If enable html log tag enabled and url parameter log defined, we show output log on HTML comments
|
||||||
if (! empty($conf->global->MAIN_ENABLE_LOG_HTML) && ! empty($_GET["log"]))
|
if (! empty($conf->global->MAIN_ENABLE_LOG_HTML) && ! empty($_GET["log"]))
|
||||||
@ -300,7 +301,7 @@ function dolibarr_set_user_page_param($db, &$user, $url='', $tab)
|
|||||||
|
|
||||||
$db->begin();
|
$db->begin();
|
||||||
|
|
||||||
// On efface anciens param<61>tres pour toutes les cl<63> dans $tab
|
// On efface anciens param<61>tres pour toutes les cl<63> dans $ta
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."user_param";
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."user_param";
|
||||||
$sql.= " WHERE fk_user = ".$user->id;
|
$sql.= " WHERE fk_user = ".$user->id;
|
||||||
if ($url) $sql.=" AND page='".$url."'";
|
if ($url) $sql.=" AND page='".$url."'";
|
||||||
@ -1685,7 +1686,7 @@ function dol_move_uploaded_file($src_file, $dest_file, $allowoverwrite)
|
|||||||
$return=move_uploaded_file($src_file, $file_name);
|
$return=move_uploaded_file($src_file, $file_name);
|
||||||
if ($return)
|
if ($return)
|
||||||
{
|
{
|
||||||
if (! empty($conf->global->MAIN_UMASK)) @chmod($file_name, $conf->global->MAIN_UMASK);
|
if (! empty($conf->global->MAIN_UMASK)) @chmod($file_name, octdec($conf->global->MAIN_UMASK));
|
||||||
dolibarr_syslog("Functions.lib::dol_move_uploaded_file Success to move ".$src_file." to ".$file_name." - Umask=".$conf->global->MAIN_UMASK, LOG_DEBUG);
|
dolibarr_syslog("Functions.lib::dol_move_uploaded_file Success to move ".$src_file." to ".$file_name." - Umask=".$conf->global->MAIN_UMASK, LOG_DEBUG);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -2001,7 +2002,7 @@ function print_fleche_navigation($page,$file,$options='',$nextpage,$betweenarrow
|
|||||||
* \param rate Rate value to format (19.6 19,6 19.6% 19,6%,...)
|
* \param rate Rate value to format (19.6 19,6 19.6% 19,6%,...)
|
||||||
* \param foundpercent Add a percent % sign in output
|
* \param foundpercent Add a percent % sign in output
|
||||||
* \param info_bits Miscellanous information on vat
|
* \param info_bits Miscellanous information on vat
|
||||||
* \return string Chaine avec montant format<EFBFBD> (19,6 ou 19,6% ou 8.5% *)
|
* \return string Chaine avec montant format<EFBFBD> (19,6 ou 19,6% ou 8.5% *
|
||||||
*/
|
*/
|
||||||
function vatrate($rate,$addpercent=false,$info_bits=0)
|
function vatrate($rate,$addpercent=false,$info_bits=0)
|
||||||
{
|
{
|
||||||
@ -2157,8 +2158,8 @@ function get_product_vat_for_country($idprod, $countrycode)
|
|||||||
\remarks Si vendeur non assujeti a TVA, TVA par d<EFBFBD>faut=0. Fin de r<EFBFBD>gle.
|
\remarks Si vendeur non assujeti a TVA, TVA par d<EFBFBD>faut=0. Fin de r<EFBFBD>gle.
|
||||||
Si le (pays vendeur = pays acheteur) alors TVA par d<EFBFBD>faut=TVA du produit vendu. Fin de r<EFBFBD>gle.
|
Si le (pays vendeur = pays acheteur) alors TVA par d<EFBFBD>faut=TVA du produit vendu. Fin de r<EFBFBD>gle.
|
||||||
Si (vendeur et acheteur dans Communaut<EFBFBD> europ<EFBFBD>enne) et (bien vendu = moyen de transports neuf comme auto, bateau, avion) alors TVA par d<EFBFBD>faut=0 (La TVA doit <EFBFBD>tre pay<EFBFBD> par acheteur au centre d'impots de son pays et non au vendeur). Fin de r<EFBFBD>gle.
|
Si (vendeur et acheteur dans Communaut<EFBFBD> europ<EFBFBD>enne) et (bien vendu = moyen de transports neuf comme auto, bateau, avion) alors TVA par d<EFBFBD>faut=0 (La TVA doit <EFBFBD>tre pay<EFBFBD> par acheteur au centre d'impots de son pays et non au vendeur). Fin de r<EFBFBD>gle.
|
||||||
Si (vendeur et acheteur dans Communaut<EFBFBD> europ<EFBFBD>enne) et (acheteur = particulier ou entreprise sans num TVA intra) alors TVA par d<EFBFBD>faut=TVA du produit vendu. Fin de r<EFBFBD>gle.
|
Si (vendeur et acheteur dans Communaut<EFBFBD> europ<EFBFBD>enne) et (acheteur = particulier ou entreprise sans num TVA intra) alors TVA par d<EFBFBD>faut=TVA du produit vendu. Fin de r<EFBFBD>gle
|
||||||
Si (vendeur et acheteur dans Communaut<EFBFBD> europ<EFBFBD>enne) et (acheteur = entreprise avec num TVA) intra alors TVA par d<EFBFBD>faut=0. Fin de r<EFBFBD>gle.
|
Si (vendeur et acheteur dans Communaut<EFBFBD> europ<EFBFBD>enne) et (acheteur = entreprise avec num TVA) intra alors TVA par d<EFBFBD>faut=0. Fin de r<EFBFBD>gle
|
||||||
Sinon TVA propos<EFBFBD>e par d<EFBFBD>faut=0. Fin de r<EFBFBD>gle.
|
Sinon TVA propos<EFBFBD>e par d<EFBFBD>faut=0. Fin de r<EFBFBD>gle.
|
||||||
\param societe_vendeuse Objet soci<EFBFBD>t<EFBFBD> vendeuse
|
\param societe_vendeuse Objet soci<EFBFBD>t<EFBFBD> vendeuse
|
||||||
\param societe_acheteuse Objet soci<EFBFBD>t<EFBFBD> acheteuse
|
\param societe_acheteuse Objet soci<EFBFBD>t<EFBFBD> acheteuse
|
||||||
@ -2190,7 +2191,7 @@ function get_default_tva($societe_vendeuse, $societe_acheteuse, $taux_produit, $
|
|||||||
// Si (vendeur et acheteur dans Communaut<75> europ<6F>enne) et (bien vendu = moyen de transports neuf comme auto, bateau, avion) alors TVA par d<>faut=0 (La TVA doit <20>tre pay<61> par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de r<>gle.
|
// Si (vendeur et acheteur dans Communaut<75> europ<6F>enne) et (bien vendu = moyen de transports neuf comme auto, bateau, avion) alors TVA par d<>faut=0 (La TVA doit <20>tre pay<61> par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de r<>gle.
|
||||||
// Non g<>r<EFBFBD>
|
// Non g<>r<EFBFBD>
|
||||||
|
|
||||||
// Si (vendeur et acheteur dans Communaut<75> europ<6F>enne) et (acheteur = particulier ou entreprise sans num TVA intra) alors TVA par d<>faut=TVA du produit vendu. Fin de r<>gle.
|
// Si (vendeur et acheteur dans Communaut<75> europ<6F>enne) et (acheteur = particulier ou entreprise sans num TVA intra) alors TVA par d<>faut=TVA du produit vendu. Fin de r<>gle
|
||||||
if (($societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC()) && ! $societe_acheteuse->tva_intra)
|
if (($societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC()) && ! $societe_acheteuse->tva_intra)
|
||||||
{
|
{
|
||||||
if ($idprod) return get_product_vat_for_country($idprod,$societe_vendeuse->pays_code);
|
if ($idprod) return get_product_vat_for_country($idprod,$societe_vendeuse->pays_code);
|
||||||
@ -2198,7 +2199,7 @@ function get_default_tva($societe_vendeuse, $societe_acheteuse, $taux_produit, $
|
|||||||
return $taux_produit;
|
return $taux_produit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Si (vendeur et acheteur dans Communaut<75> europ<6F>enne) et (acheteur = entreprise avec num TVA intra) alors TVA par d<>faut=0. Fin de r<>gle.
|
// Si (vendeur et acheteur dans Communaut<75> europ<6F>enne) et (acheteur = entreprise avec num TVA intra) alors TVA par d<>faut=0. Fin de r<>gle
|
||||||
if (($societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC()) && $societe_acheteuse->tva_intra)
|
if (($societe_vendeuse->isInEEC() && $societe_acheteuse->isInEEC()) && $societe_acheteuse->tva_intra)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
@ -2215,8 +2216,8 @@ function get_default_tva($societe_vendeuse, $societe_acheteuse, $taux_produit, $
|
|||||||
\remarks Si vendeur non assujeti a TVA, TVA par d<EFBFBD>faut=0. Fin de r<EFBFBD>gle.
|
\remarks Si vendeur non assujeti a TVA, TVA par d<EFBFBD>faut=0. Fin de r<EFBFBD>gle.
|
||||||
Si le (pays vendeur = pays acheteur) alors TVA par d<EFBFBD>faut=TVA du produit vendu. Fin de r<EFBFBD>gle.
|
Si le (pays vendeur = pays acheteur) alors TVA par d<EFBFBD>faut=TVA du produit vendu. Fin de r<EFBFBD>gle.
|
||||||
Si (vendeur et acheteur dans Communaut<EFBFBD> europ<EFBFBD>enne) et (bien vendu = moyen de transports neuf comme auto, bateau, avion) alors TVA par d<EFBFBD>faut=0 (La TVA doit <EFBFBD>tre pay<EFBFBD> par acheteur au centre d'impots de son pays et non au vendeur). Fin de r<EFBFBD>gle.
|
Si (vendeur et acheteur dans Communaut<EFBFBD> europ<EFBFBD>enne) et (bien vendu = moyen de transports neuf comme auto, bateau, avion) alors TVA par d<EFBFBD>faut=0 (La TVA doit <EFBFBD>tre pay<EFBFBD> par acheteur au centre d'impots de son pays et non au vendeur). Fin de r<EFBFBD>gle.
|
||||||
Si (vendeur et acheteur dans Communaut<EFBFBD> europ<EFBFBD>enne) et (acheteur = particulier ou entreprise sans num TVA intra) alors TVA par d<EFBFBD>faut=TVA du produit vendu. Fin de r<EFBFBD>gle.
|
Si (vendeur et acheteur dans Communaut<EFBFBD> europ<EFBFBD>enne) et (acheteur = particulier ou entreprise sans num TVA intra) alors TVA par d<EFBFBD>faut=TVA du produit vendu. Fin de r<EFBFBD>gle
|
||||||
Si (vendeur et acheteur dans Communaut<EFBFBD> europ<EFBFBD>enne) et (acheteur = entreprise avec num TVA) intra alors TVA par d<EFBFBD>faut=0. Fin de r<EFBFBD>gle.
|
Si (vendeur et acheteur dans Communaut<EFBFBD> europ<EFBFBD>enne) et (acheteur = entreprise avec num TVA) intra alors TVA par d<EFBFBD>faut=0. Fin de r<EFBFBD>gle
|
||||||
Sinon TVA propos<EFBFBD>e par d<EFBFBD>faut=0. Fin de r<EFBFBD>gle.
|
Sinon TVA propos<EFBFBD>e par d<EFBFBD>faut=0. Fin de r<EFBFBD>gle.
|
||||||
\param societe_vendeuse Objet soci<EFBFBD>t<EFBFBD> vendeuse
|
\param societe_vendeuse Objet soci<EFBFBD>t<EFBFBD> vendeuse
|
||||||
\param societe_acheteuse Objet soci<EFBFBD>t<EFBFBD> acheteuse
|
\param societe_acheteuse Objet soci<EFBFBD>t<EFBFBD> acheteuse
|
||||||
@ -2289,7 +2290,7 @@ function departement_rowid($db,$code, $pays_id)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Renvoi un chemin de classement r<EFBFBD>pertoire en fonction d'un id
|
\brief Renvoi un chemin de classement r<EFBFBD>pertoire en fonction d'un i
|
||||||
\remarks Examples: 1->"0/0/1/", 15->"0/1/5/"
|
\remarks Examples: 1->"0/0/1/", 15->"0/1/5/"
|
||||||
\param $num Id a d<EFBFBD>composer
|
\param $num Id a d<EFBFBD>composer
|
||||||
\param $level Niveau de decoupage (1, 2 ou 3 niveaux)
|
\param $level Niveau de decoupage (1, 2 ou 3 niveaux)
|
||||||
@ -2311,6 +2312,8 @@ function get_exdir($num,$level=3)
|
|||||||
*/
|
*/
|
||||||
function create_exdir($dir)
|
function create_exdir($dir)
|
||||||
{
|
{
|
||||||
|
global $conf;
|
||||||
|
|
||||||
dolibarr_syslog("functions.lib::create_exdir: dir=".$dir,LOG_INFO);
|
dolibarr_syslog("functions.lib::create_exdir: dir=".$dir,LOG_INFO);
|
||||||
|
|
||||||
if (@is_dir($dir)) return 0;
|
if (@is_dir($dir)) return 0;
|
||||||
@ -2335,7 +2338,10 @@ function create_exdir($dir)
|
|||||||
dolibarr_syslog("functions.lib::create_exdir: Directory '".$ccdir."' does not exists or is outside open_basedir PHP setting.",LOG_DEBUG);
|
dolibarr_syslog("functions.lib::create_exdir: Directory '".$ccdir."' does not exists or is outside open_basedir PHP setting.",LOG_DEBUG);
|
||||||
|
|
||||||
umask(0);
|
umask(0);
|
||||||
if (! @mkdir($ccdir, 0755))
|
$dirmaskdec=octdec('0755');
|
||||||
|
if (! empty($conf->global->MAIN_UMASK)) $dirmaskdec=octdec($conf->global->MAIN_UMASK);
|
||||||
|
$dirmaskdec |= octdec('0110');
|
||||||
|
if (! @mkdir($ccdir, $dirmaskdec))
|
||||||
{
|
{
|
||||||
// Si le is_dir a renvoye une fausse info, alors on passe ici.
|
// Si le is_dir a renvoye une fausse info, alors on passe ici.
|
||||||
dolibarr_syslog("functions.lib::create_exdir: Fails to create directory '".$ccdir."' or directory already exists.",LOG_WARNING);
|
dolibarr_syslog("functions.lib::create_exdir: Fails to create directory '".$ccdir."' or directory already exists.",LOG_WARNING);
|
||||||
|
|||||||
@ -597,10 +597,8 @@ class Ldap
|
|||||||
{
|
{
|
||||||
fputs($fp, $content);
|
fputs($fp, $content);
|
||||||
fclose($fp);
|
fclose($fp);
|
||||||
// We change mod to allow file to be overwritten if dump is launched
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
// from command line or a web session.
|
@chmod($outputfile, octdec($conf->global->MAIN_UMASK));
|
||||||
// 0666 = rw-rw-rw-
|
|
||||||
if (! empty($conf->global->MAIN_UMASK)) @chmod($file, $conf->global->MAIN_UMASK);
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -38,7 +38,7 @@ function makesalt($type=CRYPT_SALT_LENGTH)
|
|||||||
{
|
{
|
||||||
case 12: // 8 + 4
|
case 12: // 8 + 4
|
||||||
$saltlen=8; $saltprefix='$1$'; $saltsuffix='$'; break;
|
$saltlen=8; $saltprefix='$1$'; $saltsuffix='$'; break;
|
||||||
case 8: // 8 + 4 (Pour compatibilite, ne devrait pas etre utilisé)
|
case 8: // 8 + 4 (Pour compatibilite, ne devrait pas etre utilis<EFBFBD>)
|
||||||
$saltlen=8; $saltprefix='$1$'; $saltsuffix='$'; break;
|
$saltlen=8; $saltprefix='$1$'; $saltsuffix='$'; break;
|
||||||
case 2: // 2
|
case 2: // 2
|
||||||
default: // by default, fall back on Standard DES (should work everywhere)
|
default: // by default, fall back on Standard DES (should work everywhere)
|
||||||
@ -89,10 +89,14 @@ function encodedecode_dbpassconf($level=0)
|
|||||||
}
|
}
|
||||||
fclose($fp);
|
fclose($fp);
|
||||||
|
|
||||||
if ($fp = @fopen(DOL_DOCUMENT_ROOT.'/conf/conf.php','w'))
|
$file=DOL_DOCUMENT_ROOT.'/conf/conf.php';
|
||||||
|
if ($fp = @fopen($file,'w'))
|
||||||
{
|
{
|
||||||
fputs($fp, $config, strlen($config));
|
fputs($fp, $config, strlen($config));
|
||||||
fclose($fp);
|
fclose($fp);
|
||||||
|
// It's config file, so we set permission for creator only
|
||||||
|
// @chmod($file, octdec('0600'));
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -109,9 +113,9 @@ function encodedecode_dbpassconf($level=0)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Encode une chaine de caractére
|
* \brief Encode une chaine de caract<EFBFBD>re
|
||||||
* \param chaine chaine de caractères a encoder
|
* \param chaine chaine de caract<EFBFBD>res a encoder
|
||||||
* \return string_coded chaine de caractères encodée
|
* \return string_coded chaine de caract<EFBFBD>res encod<EFBFBD>e
|
||||||
*/
|
*/
|
||||||
function dol_encode($chain)
|
function dol_encode($chain)
|
||||||
{
|
{
|
||||||
@ -125,9 +129,9 @@ function dol_encode($chain)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Decode une chaine de caractére
|
* \brief Decode une chaine de caract<EFBFBD>re
|
||||||
* \param chain chaine de caractéres a decoder
|
* \param chain chaine de caract<EFBFBD>res a decoder
|
||||||
* \return string_coded chaine de caractéres decodée
|
* \return string_coded chaine de caract<EFBFBD>res decod<EFBFBD>e
|
||||||
*/
|
*/
|
||||||
function dol_decode($chain)
|
function dol_decode($chain)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -201,6 +201,8 @@ function build_calfile($format='vcal',$title,$desc,$events_array,$outputfile,$fi
|
|||||||
fwrite($calfileh,"END:VCALENDAR");
|
fwrite($calfileh,"END:VCALENDAR");
|
||||||
|
|
||||||
fclose($calfileh);
|
fclose($calfileh);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($outputfile, octdec($conf->global->MAIN_UMASK));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -312,11 +314,8 @@ function build_rssfile($format='rss',$title,$desc,$events_array,$outputfile,$fil
|
|||||||
fwrite($fichier, '</rss>');
|
fwrite($fichier, '</rss>');
|
||||||
|
|
||||||
fclose($fichier);
|
fclose($fichier);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
// We change mod to allow file to be overwritten if dump is launched
|
@chmod($outputfile, octdec($conf->global->MAIN_UMASK));
|
||||||
// from command line or a web session.
|
|
||||||
// 0666 = rw-rw-rw-
|
|
||||||
if (! empty($conf->global->MAIN_UMASK)) @chmod($fichier, $conf->global->MAIN_UMASK);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -50,7 +50,7 @@ class pdf_sirocco extends ModelePDFDeliveryOrder
|
|||||||
|
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->name = "sirocco";
|
$this->name = "sirocco";
|
||||||
$this->description = "Modele de bon de réception livraison simple";
|
$this->description = "Modele de bon de r<EFBFBD>ception livraison simple";
|
||||||
|
|
||||||
// Dimension page pour format A4
|
// Dimension page pour format A4
|
||||||
$this->type = 'pdf';
|
$this->type = 'pdf';
|
||||||
@ -64,7 +64,7 @@ class pdf_sirocco extends ModelePDFDeliveryOrder
|
|||||||
|
|
||||||
// Recupere emmetteur
|
// Recupere emmetteur
|
||||||
$this->emetteur=$mysoc;
|
$this->emetteur=$mysoc;
|
||||||
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'était pas défini
|
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'<EFBFBD>tait pas d<>fini
|
||||||
|
|
||||||
$this->error = "";
|
$this->error = "";
|
||||||
}
|
}
|
||||||
@ -250,6 +250,9 @@ class pdf_sirocco extends ModelePDFDeliveryOrder
|
|||||||
$this->_tableau($pdf, $tab_top, $tab_height, $nexY, $outputlangs);
|
$this->_tableau($pdf, $tab_top, $tab_height, $nexY, $outputlangs);
|
||||||
|
|
||||||
$pdf->Output($file);
|
$pdf->Output($file);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -55,7 +55,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder
|
|||||||
|
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->name = "typhon";
|
$this->name = "typhon";
|
||||||
$this->description = "Modele de bon de réception livraison complet (logo...)";
|
$this->description = "Modele de bon de r<EFBFBD>ception livraison complet (logo...)";
|
||||||
|
|
||||||
// Dimension page pour format A4
|
// Dimension page pour format A4
|
||||||
$this->type = 'pdf';
|
$this->type = 'pdf';
|
||||||
@ -76,7 +76,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder
|
|||||||
|
|
||||||
// Recupere emmetteur
|
// Recupere emmetteur
|
||||||
$this->emetteur=$mysoc;
|
$this->emetteur=$mysoc;
|
||||||
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'était pas défini
|
if (! $this->emetteur->pays_code) $this->emetteur->pays_code=substr($langs->defaultlang,-2); // Par defaut, si n'<EFBFBD>tait pas d<>fini
|
||||||
|
|
||||||
$this->tva=array();
|
$this->tva=array();
|
||||||
|
|
||||||
@ -321,6 +321,8 @@ class pdf_typhon extends ModelePDFDeliveryOrder
|
|||||||
$pdf->Close();
|
$pdf->Close();
|
||||||
|
|
||||||
$pdf->Output($file);
|
$pdf->Output($file);
|
||||||
|
if (! empty($conf->global->MAIN_UMASK))
|
||||||
|
@chmod($file, octdec($conf->global->MAIN_UMASK));
|
||||||
|
|
||||||
return 1; // Pas d'erreur
|
return 1; // Pas d'erreur
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user