dolibarr  19.0.0-dev
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 listOfAvailableExportFormat
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 
54  public function listOfAvailableExportFormat($db, $maxfilenamelength = 0)
55  {
56  dol_syslog(get_class($this)."::listOfAvailableExportFormat");
57 
58  $dir = DOL_DOCUMENT_ROOT."/core/modules/export/";
59  $handle = opendir($dir);
60 
61  // Recherche des fichiers drivers exports disponibles
62  $i = 0;
63  if (is_resource($handle)) {
64  while (($file = readdir($handle)) !== false) {
65  if (preg_match("/^export_(.*)\.modules\.php$/i", $file, $reg)) {
66  $moduleid = $reg[1];
67 
68  // Loading Class
69  $file = $dir."export_".$moduleid.".modules.php";
70  $classname = "Export".ucfirst($moduleid);
71 
72  require_once $file;
73  if (class_exists($classname)) {
74  $module = new $classname($db);
75 
76  // Picto
77  $this->picto[$module->id] = $module->picto;
78  // Driver properties
79  $this->driverlabel[$module->id] = $module->getDriverLabel().(empty($module->disabled) ? '' : ' __(Disabled)__'); // '__(Disabled)__' is a key
80  $this->driverdesc[$module->id] = $module->getDriverDesc();
81  $this->driverversion[$module->id] = $module->getDriverVersion();
82  // If use an external lib
83  $this->liblabel[$module->id] = $module->getLibLabel();
84  $this->libversion[$module->id] = $module->getLibVersion();
85  }
86  $i++;
87  }
88  }
89  closedir($handle);
90  }
91 
92  asort($this->driverlabel);
93 
94  return $this->driverlabel;
95  }
96 
97 
104  public function getPictoForKey($key)
105  {
106  return $this->picto[$key];
107  }
108 
115  public function getDriverLabelForKey($key)
116  {
117  return $this->driverlabel[$key];
118  }
119 
126  public function getDriverDescForKey($key)
127  {
128  return $this->driverdesc[$key];
129  }
130 
137  public function getDriverVersionForKey($key)
138  {
139  return $this->driverversion[$key];
140  }
141 
148  public function getLibLabelForKey($key)
149  {
150  return $this->liblabel[$key];
151  }
152 
159  public function getLibVersionForKey($key)
160  {
161  return $this->libversion[$key];
162  }
163 }
Parent class for documents generators.
Parent class for export modules.
getDriverLabelForKey($key)
Return label of driver export.
getDriverVersionForKey($key)
Renvoi version d'un driver export.
getLibVersionForKey($key)
Return version of driver lib.
getDriverDescForKey($key)
Renvoi le descriptif d'un driver export.
listOfAvailableExportFormat($db, $maxfilenamelength=0)
Load into memory list of available export format.
getLibLabelForKey($key)
Renvoi label of driver lib.
getPictoForKey($key)
Return picto of export driver.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.