dolibarr  17.0.4
modules_export.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net>
3  * Copyright (C) 2005-2007 Regis Houssin <regis.houssin@inodbox.com>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <https://www.gnu.org/licenses/>.
17  */
18 
25 require_once DOL_DOCUMENT_ROOT.'/core/class/commondocgenerator.class.php';
26 
27 
31 class ModeleExports extends CommonDocGenerator // This class can't be abstract as there is instance propreties loaded by liste_modeles
32 {
36  public $error = '';
37 
38  public $driverlabel = array();
39 
40  public $driverversion = array();
41 
42  public $liblabel = array();
43 
44  public $libversion = array();
45 
46 
47  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
55  public function liste_modeles($db, $maxfilenamelength = 0)
56  {
57  // phpcs:enable
58  dol_syslog(get_class($this)."::liste_modeles");
59 
60  $dir = DOL_DOCUMENT_ROOT."/core/modules/export/";
61  $handle = opendir($dir);
62 
63  // Recherche des fichiers drivers exports disponibles
64  $i = 0;
65  if (is_resource($handle)) {
66  while (($file = readdir($handle)) !== false) {
67  if (preg_match("/^export_(.*)\.modules\.php$/i", $file, $reg)) {
68  $moduleid = $reg[1];
69 
70  // Loading Class
71  $file = $dir."export_".$moduleid.".modules.php";
72  $classname = "Export".ucfirst($moduleid);
73 
74  require_once $file;
75  if (class_exists($classname)) {
76  $module = new $classname($db);
77 
78  // Picto
79  $this->picto[$module->id] = $module->picto;
80  // Driver properties
81  $this->driverlabel[$module->id] = $module->getDriverLabel().(empty($module->disabled) ? '' : ' __(Disabled)__'); // '__(Disabled)__' is a key
82  $this->driverdesc[$module->id] = $module->getDriverDesc();
83  $this->driverversion[$module->id] = $module->getDriverVersion();
84  // If use an external lib
85  $this->liblabel[$module->id] = $module->getLibLabel();
86  $this->libversion[$module->id] = $module->getLibVersion();
87  }
88  $i++;
89  }
90  }
91  closedir($handle);
92  }
93 
94  asort($this->driverlabel);
95 
96  return $this->driverlabel;
97  }
98 
99 
106  public function getPictoForKey($key)
107  {
108  return $this->picto[$key];
109  }
110 
117  public function getDriverLabelForKey($key)
118  {
119  return $this->driverlabel[$key];
120  }
121 
128  public function getDriverDescForKey($key)
129  {
130  return $this->driverdesc[$key];
131  }
132 
139  public function getDriverVersionForKey($key)
140  {
141  return $this->driverversion[$key];
142  }
143 
150  public function getLibLabelForKey($key)
151  {
152  return $this->liblabel[$key];
153  }
154 
161  public function getLibVersionForKey($key)
162  {
163  return $this->libversion[$key];
164  }
165 }
Parent class for documents generators.
Parent class for export modules.
getDriverLabelForKey($key)
Renvoi libelle d'un driver export.
getDriverVersionForKey($key)
Renvoi version d'un driver export.
getLibVersionForKey($key)
Renvoi version de librairie externe du driver.
liste_modeles($db, $maxfilenamelength=0)
Load into memory list of available export format.
getDriverDescForKey($key)
Renvoi le descriptif d'un driver export.
getLibLabelForKey($key)
Renvoi libelle de librairie externe du driver.
getPictoForKey($key)
Return picto of export driver.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.