1<?php
2/**
3 * Matomo - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 *
8 */
9use Piwik\Container\StaticContainer;
10
11/**
12 * Override settings in libs/tcpdf_config.php
13 *
14 */
15
16define('K_PATH_MAIN', PIWIK_VENDOR_PATH . '/tecnickcom/tcpdf/');
17
18$pathTmpTCPDF = StaticContainer::get('path.tmp') . '/tcpdf/';
19
20define('K_PATH_CACHE', $pathTmpTCPDF);
21define('K_PATH_IMAGES', $pathTmpTCPDF);
22
23if (!defined('K_TCPDF_EXTERNAL_CONFIG')) {
24
25    // DOCUMENT_ROOT fix for IIS Webserver
26    if ((!isset($_SERVER['DOCUMENT_ROOT'])) OR (empty($_SERVER['DOCUMENT_ROOT']))) {
27        if (isset($_SERVER['SCRIPT_FILENAME'])) {
28            $_SERVER['DOCUMENT_ROOT'] = str_replace('\\', '/', substr($_SERVER['SCRIPT_FILENAME'], 0, 0 - strlen($_SERVER['PHP_SELF'])));
29        } elseif (isset($_SERVER['PATH_TRANSLATED'])) {
30            $_SERVER['DOCUMENT_ROOT'] = str_replace('\\', '/', substr(str_replace('\\\\', '\\', $_SERVER['PATH_TRANSLATED']), 0, 0 - strlen($_SERVER['PHP_SELF'])));
31        } else {
32            // define here your DOCUMENT_ROOT path if the previous fails
33            $_SERVER['DOCUMENT_ROOT'] = '/var/www';
34        }
35    }
36
37    if (!defined('K_PATH_MAIN')) {
38        // Automatic calculation for the following K_PATH_MAIN constant
39        $k_path_main = str_replace('\\', '/', realpath(substr(dirname(__FILE__), 0, 0 - strlen('config'))));
40        if (substr($k_path_main, -1) != '/') {
41            $k_path_main .= '/';
42        }
43
44        /**
45         * Installation path (/var/www/tcpdf/).
46         * By default it is automatically calculated but you can also set it as a fixed string to improve performances.
47         */
48        if (!defined('K_PATH_MAIN')) {
49            define ('K_PATH_MAIN', $k_path_main);
50        }
51    }
52
53    if (!defined('K_PATH_URL')) {
54        // Automatic calculation for the following K_PATH_URL constant
55        $k_path_url = K_PATH_MAIN; // default value for console mode
56
57        $host = \Piwik\Url::getHost(false);
58
59        if ($host) {
60            if (isset($_SERVER['HTTPS']) and (!empty($_SERVER['HTTPS'])) and strtolower($_SERVER['HTTPS']) != 'off') {
61                $k_path_url = 'https://';
62            } else {
63                $k_path_url = 'http://';
64            }
65            $k_path_url .= $host;
66            $k_path_url .= str_replace('\\', '/', substr(K_PATH_MAIN, (strlen($_SERVER['DOCUMENT_ROOT']) - 1)));
67        }
68
69        /**
70         * URL path to tcpdf installation folder (http://localhost/tcpdf/).
71         * By default it is automatically calculated but you can also set it as a fixed string to improve performances.
72         */
73        define ('K_PATH_URL', $k_path_url);
74    }
75
76    /**
77     * path for PDF fonts
78     * use K_PATH_MAIN.'fonts/old/' for old non-UTF8 fonts
79     */
80    define ('K_PATH_FONTS', K_PATH_MAIN . 'fonts/');
81
82    /**
83     * cache directory for temporary files (full path)
84     */
85    if (!defined('K_PATH_CACHE')) {
86        define ('K_PATH_CACHE', K_PATH_MAIN . 'cache/');
87    }
88
89    /**
90     * cache directory for temporary files (url path)
91     */
92    define ('K_PATH_URL_CACHE', K_PATH_URL . 'cache/');
93
94    /**
95     *images directory
96     */
97    if (!defined('K_PATH_IMAGES')) {
98        define ('K_PATH_IMAGES', K_PATH_MAIN . 'images/');
99    }
100
101    /**
102     * blank image
103     */
104    define ('K_BLANK_IMAGE', K_PATH_IMAGES . '_blank.png');
105
106    /**
107     * page format
108     */
109    define ('PDF_PAGE_FORMAT', 'A4');
110
111    /**
112     * page orientation (P=portrait, L=landscape)
113     */
114    define ('PDF_PAGE_ORIENTATION', 'P');
115
116    /**
117     * document creator
118     */
119    define ('PDF_CREATOR', 'TCPDF');
120
121    /**
122     * document author
123     */
124    define ('PDF_AUTHOR', 'TCPDF');
125
126    /**
127     * header title
128     */
129    define ('PDF_HEADER_TITLE', 'TCPDF Example');
130
131    /**
132     * header description string
133     */
134    define ('PDF_HEADER_STRING', "by Nicola Asuni - Tecnick.com\nwww.tcpdf.org");
135
136    /**
137     * image logo
138     */
139    define ('PDF_HEADER_LOGO', 'tcpdf_logo.jpg');
140
141    /**
142     * header logo image width [mm]
143     */
144    define ('PDF_HEADER_LOGO_WIDTH', 30);
145
146    /**
147     *  document unit of measure [pt=point, mm=millimeter, cm=centimeter, in=inch]
148     */
149    define ('PDF_UNIT', 'mm');
150
151    /**
152     * header margin
153     */
154    define ('PDF_MARGIN_HEADER', 5);
155
156    /**
157     * footer margin
158     */
159    define ('PDF_MARGIN_FOOTER', 10);
160
161    /**
162     * top margin
163     */
164    define ('PDF_MARGIN_TOP', 27);
165
166    /**
167     * bottom margin
168     */
169    define ('PDF_MARGIN_BOTTOM', 25);
170
171    /**
172     * left margin
173     */
174    define ('PDF_MARGIN_LEFT', 15);
175
176    /**
177     * right margin
178     */
179    define ('PDF_MARGIN_RIGHT', 15);
180
181    /**
182     * default main font name
183     */
184    define ('PDF_FONT_NAME_MAIN', 'helvetica');
185
186    /**
187     * default main font size
188     */
189    define ('PDF_FONT_SIZE_MAIN', 10);
190
191    /**
192     * default data font name
193     */
194    define ('PDF_FONT_NAME_DATA', 'helvetica');
195
196    /**
197     * default data font size
198     */
199    define ('PDF_FONT_SIZE_DATA', 8);
200
201    /**
202     * default monospaced font name
203     */
204    define ('PDF_FONT_MONOSPACED', 'courier');
205
206    /**
207     * ratio used to adjust the conversion of pixels to user units
208     */
209    define ('PDF_IMAGE_SCALE_RATIO', 1.25);
210
211    /**
212     * magnification factor for titles
213     */
214    define('HEAD_MAGNIFICATION', 1.1);
215
216    /**
217     * height of cell respect font height
218     */
219    define('K_CELL_HEIGHT_RATIO', 1.25);
220
221    /**
222     * title magnification respect main font size
223     */
224    define('K_TITLE_MAGNIFICATION', 1.3);
225
226    /**
227     * reduction factor for small font
228     */
229    define('K_SMALL_RATIO', 2 / 3);
230
231    /**
232     * set to true to enable the special procedure used to avoid the overlappind of symbols on Thai language
233     */
234    define('K_THAI_TOPCHARS', true);
235
236    /**
237     * if true allows to call TCPDF methods using HTML syntax
238     * IMPORTANT: For security reason, disable this feature if you are printing user HTML content.
239     */
240    define('K_TCPDF_CALLS_IN_HTML', true);
241}
242
243// define the constant K_TCPDF_EXTERNAL_CONFIG to ignore tcpdf's default settings
244define('K_TCPDF_EXTERNAL_CONFIG', true);
245
246//============================================================+
247// END OF FILE
248//============================================================+
249