1<?php 2/* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> 3 * Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net> 4 * Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com> 5 * Copyright (C) 2005 Regis Houssin <regis.houssin@inodbox.com> 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program. If not, see <https://www.gnu.org/licenses/>. 19 * or see https://www.gnu.org/ 20 */ 21 22/** 23 * \file htdocs/core/modules/dons/modules_don.php 24 * \ingroup donations 25 * \brief File of class to manage donation document generation 26 */ 27require_once DOL_DOCUMENT_ROOT.'/core/class/commondocgenerator.class.php'; 28require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; 29 30 31 32/** 33 * Parent class of subscription templates 34 */ 35abstract class ModeleDon extends CommonDocGenerator 36{ 37 /** 38 * @var string Error code (or message) 39 */ 40 public $error = ''; 41 42 // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps 43 /** 44 * Return list of active generation modules 45 * 46 * @param DoliDB $db Database handler 47 * @param integer $maxfilenamelength Max length of value to show 48 * @return array List of templates 49 */ 50 public static function liste_modeles($db, $maxfilenamelength = 0) 51 { 52 // phpcs:enable 53 global $conf; 54 55 $type = 'donation'; 56 $list = array(); 57 58 include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; 59 $list = getListOfModels($db, $type, $maxfilenamelength); 60 61 return $list; 62 } 63} 64 65 66/** 67 * Parent class of donation numbering templates 68 */ 69abstract class ModeleNumRefDons 70{ 71 /** 72 * @var string Error code (or message) 73 */ 74 public $error = ''; 75 76 /** 77 * Return if a module can be used or not 78 * 79 * @return boolean true if module can be used 80 */ 81 public function isEnabled() 82 { 83 return true; 84 } 85 86 /** 87 * Renvoi la description par defaut du modele de numerotation 88 * 89 * @return string Texte descripif 90 */ 91 public function info() 92 { 93 global $langs; 94 $langs->load("bills"); 95 return $langs->trans("NoDescription"); 96 } 97 98 /** 99 * Return an example of numbering 100 * 101 * @return string Example 102 */ 103 public function getExample() 104 { 105 global $langs; 106 $langs->load("bills"); 107 return $langs->trans("NoExample"); 108 } 109 110 /** 111 * Checks if the numbers already in the database do not 112 * cause conflicts that would prevent this numbering working. 113 * 114 * @return boolean false if conflict, true if ok 115 */ 116 public function canBeActivated() 117 { 118 return true; 119 } 120 121 /** 122 * Renvoi prochaine valeur attribuee 123 * 124 * @return string Valeur 125 */ 126 public function getNextValue() 127 { 128 global $langs; 129 return $langs->trans("NotAvailable"); 130 } 131 132 /** 133 * Renvoi version du module numerotation 134 * 135 * @return string Valeur 136 */ 137 public function getVersion() 138 { 139 global $langs; 140 $langs->load("admin"); 141 142 if ($this->version == 'development') { 143 return $langs->trans("VersionDevelopment"); 144 } 145 if ($this->version == 'experimental') { 146 return $langs->trans("VersionExperimental"); 147 } 148 if ($this->version == 'dolibarr') { 149 return DOL_VERSION; 150 } 151 if ($this->version) { 152 return $this->version; 153 } 154 return $langs->trans("NotAvailable"); 155 } 156} 157