dolibarr  19.0.0-dev
modules_printing.php
Go to the documentation of this file.
1 <?php
2 /*
3  * Copyright (C) 2014-2018 Frederic France <frederic.france@netlogic.fr>
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  * or see https://www.gnu.org/
18  */
19 
25 require_once DOL_DOCUMENT_ROOT.'/core/lib/functions.lib.php';
26 require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
27 
28 
33 {
37  public $db;
38 
42  public $error = '';
43 
44 
50  public function __construct($db)
51  {
52  $this->db = $db;
53  }
54 
62  public static function listDrivers($db, $maxfilenamelength = 0)
63  {
64  global $conf;
65 
66  $type = 'printing';
67  $list = array();
68 
69  $listoffiles = array();
70  if (!empty($conf->modules_parts['printing'])) {
71  $dirmodels = array_merge(array('/core/modules/printing/'), (array) $conf->modules_parts['printing']);
72  } else {
73  $dirmodels = array('/core/modules/printing/');
74  }
75  foreach ($dirmodels as $dir) {
76  $tmpfiles = dol_dir_list(dol_buildpath($dir, 0), 'all', 0, '\.modules.php', '', 'name', SORT_ASC, 0);
77  if (!empty($tmpfiles)) {
78  $listoffiles = array_merge($listoffiles, $tmpfiles);
79  }
80  }
81  foreach ($listoffiles as $record) {
82  $list[$record['fullname']] = str_replace('.modules.php', '', $record['name']);
83  }
84  return $list;
85  }
86 
92  public function getDesc()
93  {
94  global $langs;
95  $langs->load("printing");
96  $transstring = "PrintingModuleDesc".$this->name;
97  if ($langs->trans($transstring) != $transstring) {
98  return $langs->trans($transstring);
99  } else {
100  return $this->desc;
101  }
102  }
103 }
Parent class of emailing target selectors modules.
static listDrivers($db, $maxfilenamelength=0)
Return list of printing driver.
__construct($db)
Constructor.
getDesc()
Return description of Printing Module.
dol_dir_list($path, $types="all", $recursive=0, $filter="", $excludefilter=null, $sortcriteria="name", $sortorder=SORT_ASC, $mode=0, $nohook=0, $relativename="", $donotfollowsymlinks=0, $nbsecondsold=0)
Scan a directory and return a list of files/directories.
Definition: files.lib.php:62
dol_buildpath($path, $type=0, $returnemptyifnotfound=0)
Return path of url or filesystem.