dolibarr  9.0.0
modules_chequereceipts.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
3  * Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net>
4  * Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
5  * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com>
6  * Copyright (C) 2016 Juanjo Menent <jmenent@2byte.es>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  * or see http://www.gnu.org/
21  */
22 
29 require_once DOL_DOCUMENT_ROOT.'/core/class/commondocgenerator.class.php';
30 require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
31 require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; // Requis car utilise dans les classes qui heritent
32 
38 {
42  public $error='';
43 
49  function isEnabled()
50  {
51  return true;
52  }
53 
59  function info()
60  {
61  global $langs;
62  $langs->load("bills");
63  return $langs->trans("NoDescription");
64  }
65 
71  function getExample()
72  {
73  global $langs;
74  $langs->load("bills");
75  return $langs->trans("NoExample");
76  }
77 
83  function canBeActivated()
84  {
85  return true;
86  }
87 
95  function getNextValue($objsoc,$object)
96  {
97  global $langs;
98  return $langs->trans("NotAvailable");
99  }
100 
106  function getVersion()
107  {
108  global $langs;
109  $langs->load("admin");
110 
111  if ($this->version == 'development') return $langs->trans("VersionDevelopment");
112  if ($this->version == 'experimental') return $langs->trans("VersionExperimental");
113  if ($this->version == 'dolibarr') return DOL_VERSION;
114  if ($this->version) return $this->version;
115  return $langs->trans("NotAvailable");
116  }
117 }
118 
124 {
128  public $error='';
129 
130  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
138  static function liste_modeles($db,$maxfilenamelength=0)
139  {
140  // phpcs:enable
141  global $conf;
142 
143  $type='chequereceipt';
144  $liste=array();
145 
146  include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
147  $liste=getListOfModels($db,$type,$maxfilenamelength);
148  // TODO Remove this to use getListOfModels only
149  $liste = array('blochet'=>'blochet');
150 
151  return $liste;
152  }
153 }
154 
155 
167 function chequereceipt_pdf_create($db, $id, $message, $modele, $outputlangs)
168 {
169  global $conf,$langs;
170  $langs->load("bills");
171 
172  $dir = DOL_DOCUMENT_ROOT . "/core/modules/cheque/doc/";
173 
174  // Positionne modele sur le nom du modele a utiliser
175  if (! dol_strlen($modele))
176  {
177  if (! empty($conf->global->CHEQUERECEIPT_ADDON_PDF))
178  {
179  $modele = $conf->global->CHEQUERECEIPT_ADDON_PDF;
180  }
181  else
182  {
183  //print $langs->trans("Error")." ".$langs->trans("Error_FACTURE_ADDON_PDF_NotDefined");
184  //return 0;
185  $modele = 'blochet';
186  }
187  }
188 
189  // Charge le modele
190  $file = "pdf_".$modele.".modules.php";
191  if (file_exists($dir.$file))
192  {
193  $classname = "pdf_".$modele;
194  require_once $dir.$file;
195 
196  $obj = new $classname($db);
197 
198  // We save charset_output to restore it because write_file can change it if needed for
199  // output format that does not support UTF8.
200  $sav_charset_output=$outputlangs->charset_output;
201  if ($obj->write_file($id, $outputlangs) > 0)
202  {
203  $outputlangs->charset_output=$sav_charset_output;
204  return 1;
205  }
206  else
207  {
208  $outputlangs->charset_output=$sav_charset_output;
209  dol_print_error($db,"chequereceipt_pdf_create Error: ".$obj->error);
210  return -1;
211  }
212  }
213  else
214  {
215  dol_print_error('',$langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$dir.$file));
216  return -1;
217  }
218 }
getVersion()
Returns the module numbering version.
chequereceipt_pdf_create($db, $id, $message, $modele, $outputlangs)
Cree un bordereau remise de cheque.
getNextValue($objsoc, $object)
Returns the next value.
static liste_modeles($db, $maxfilenamelength=0)
Return list of active generation modules.
info()
Return the default description of numbering module.
getExample()
Return numbering example.
dol_print_error($db='', $error='', $errors=null)
Affiche message erreur system avec toutes les informations pour faciliter le diagnostic et la remonte...
Cheque Receipts numbering references mother class.
Classe mere des modeles de.
isEnabled()
Return if a module can be used or not.
canBeActivated()
Test if the existing numbers in the database do not cause conflicts that would prevent this numbering...
Parent class for documents generators.
getListOfModels($db, $type, $maxfilenamelength=0)
Return list of activated modules usable for document generation.
dol_strlen($string, $stringencoding='UTF-8')
Make a strlen call.