dolibarr 19.0.3
modules_printing.php
Go to the documentation of this file.
1<?php
2/*
3 * Copyright (C) 2014-2023 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
25require_once DOL_DOCUMENT_ROOT.'/core/lib/functions.lib.php';
26require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
27
28
33{
37 public $db;
38
42 public $error = '';
43
47 public $name;
48
52 public $desc;
53
57 public $resprint;
58
64 public function __construct($db)
65 {
66 $this->db = $db;
67 }
68
76 public static function listDrivers($db, $maxfilenamelength = 0)
77 {
78 global $conf;
79
80 $type = 'printing';
81 $list = array();
82
83 $listoffiles = array();
84 if (!empty($conf->modules_parts['printing'])) {
85 $dirmodels = array_merge(array('/core/modules/printing/'), (array) $conf->modules_parts['printing']);
86 } else {
87 $dirmodels = array('/core/modules/printing/');
88 }
89 foreach ($dirmodels as $dir) {
90 $tmpfiles = dol_dir_list(dol_buildpath($dir, 0), 'all', 0, '\.modules.php', '', 'name', SORT_ASC, 0);
91 if (!empty($tmpfiles)) {
92 $listoffiles = array_merge($listoffiles, $tmpfiles);
93 }
94 }
95 foreach ($listoffiles as $record) {
96 $list[$record['fullname']] = str_replace('.modules.php', '', $record['name']);
97 }
98 return $list;
99 }
100
106 public function getDesc()
107 {
108 global $langs;
109 $langs->load("printing");
110 $transstring = "PrintingModuleDesc".$this->name;
111 if ($langs->trans($transstring) != $transstring) {
112 return $langs->trans($transstring);
113 } else {
114 return $this->desc;
115 }
116 }
117}
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.