aboutsummaryrefslogtreecommitdiffhomepage
path: root/inc/3rdparty/libraries/mpdf/compress.php
diff options
context:
space:
mode:
authortcit <tcit@tcit.fr>2014-07-24 15:49:36 +0200
committertcit <tcit@tcit.fr>2014-07-24 15:49:36 +0200
commit4188f38ad56d7ba2ea46e94403f305243514f80c (patch)
treef357ddbd0d846ebae0ecf5d2ab00d6b7dd6eb8d5 /inc/3rdparty/libraries/mpdf/compress.php
parent2b58426b2d4a7f1585d5d7667c0a4fbea4cd29dd (diff)
downloadwallabag-4188f38ad56d7ba2ea46e94403f305243514f80c.tar.gz
wallabag-4188f38ad56d7ba2ea46e94403f305243514f80c.tar.zst
wallabag-4188f38ad56d7ba2ea46e94403f305243514f80c.zip
add pdf and mobi libraries
Diffstat (limited to 'inc/3rdparty/libraries/mpdf/compress.php')
-rw-r--r--inc/3rdparty/libraries/mpdf/compress.php172
1 files changed, 172 insertions, 0 deletions
diff --git a/inc/3rdparty/libraries/mpdf/compress.php b/inc/3rdparty/libraries/mpdf/compress.php
new file mode 100644
index 00000000..85897cf5
--- /dev/null
+++ b/inc/3rdparty/libraries/mpdf/compress.php
@@ -0,0 +1,172 @@
1<?php
2
3$excl = array( 'HTML-CSS', 'DIRECTW', 'TABLES', 'LISTS', 'IMAGES-CORE',
4'IMAGES-BMP', 'IMAGES-WMF', 'TABLES-ADVANCED-BORDERS', 'HTMLHEADERS-FOOTERS', 'COLUMNS', 'TOC', 'INDEX', 'BOOKMARKS', 'BARCODES', 'FORMS', 'WATERMARK', 'CJK-FONTS', 'RTL', 'INDIC', 'ANNOTATIONS', 'BACKGROUNDS', 'CSS-FLOAT', 'CSS-IMAGE-FLOAT', 'CSS-POSITION', 'CSS-PAGE', 'BORDER-RADIUS', 'HYPHENATION', 'ENCRYPTION', 'IMPORTS', 'PROGRESS-BAR');
5
6
7 // *DIRECTW* = Write, WriteText, WriteCell, Text, Shaded_box, AutosizeText
8 // IMAGES-CORE = [PNG, GIF, and JPG] NB background-images and watermark images
9
10 // Excluding 'HTML-CSS' will also exclude: 'TABLES', 'LISTS', 'TABLES-ADVANCED-BORDERS', 'HTMLHEADERS-FOOTERS', 'FORMS', 'BACKGROUNDS', 'CSS-FLOAT', 'CSS-IMAGE-FLOAT', 'CSS-POSITION', 'CSS-PAGE', 'BORDER-RADIUS'
11
12// Text is marked in mpdf_source.php with e.g. :
13/*-- TABLES-ADVANCED-BORDERS --*/
14/*-- END TABLES-ADVANCED-BORDERS --*/
15 // *TABLES-ADVANCED-BORDERS*
16
17
18if (!isset($_POST['generate']) || $_POST['generate']!='generate') {
19
20
21if (!file_exists('mpdf_source.php')) {
22 die("ERROR - Could not find mpdf_source.php file in current directory. Please rename mpdf.php as mpdf_source.php");
23}
24
25
26
27
28echo '<html>
29<head>
30<script language=javascript>
31checked=false;
32function checkedAll (frm1) {
33 var aa= document.getElementById("frm1");
34 if (checked == false)
35 {
36 checked = true
37 }
38 else
39 {
40 checked = false
41 }
42 for (var i =0; i < aa.elements.length; i++)
43 {
44 aa.elements[i].checked = checked;
45 }
46 }
47</script>
48</head>
49<body>
50<p><span style="color:red; font-weight: bold;">WARNING</span>: This utility will OVERWRITE mpdf.php file in the current directory.</p>
51<p>Select the functions you wish to INCLUDE in your mpdf.php program. When you click generate, a new mpdf.php file will be written to the current directory.</p>
52<div><b>Notes</b>
53<ul>
54<li>HTML-CSS is required for many of the other functions to work including: Tables, Lists, Backgrounds, Forms, Border-radius and all other CSS</li>
55<li>DIRECTW includes the functions to Write directly to the PDF file e.g. Write, WriteText, WriteCell, Text, Shaded_box, AutosizeText</li>
56<li>You must include either HTML-CSS or DIRECTW</li>
57<li>JPG, PNG and JPG images are supported with IMAGES-CORE</li>
58<li>For WMF Images, you must include both IMAGES-CORE and IMAGES-WMF</li>
59<li>IMAGES-CORE are required for BACKGROUNDS (IMAGES) or WATERMARKS to work</li>
60</ul>
61</div>
62<input type="checkbox" name="checkall" onclick="checkedAll(frm1);"> <i>Select/Unselect All</i><br /><br />
63
64<form id="frm1" action="compress.php" method="POST">
65';
66foreach($excl AS $k=>$ex) {
67 echo '<input type="checkbox" value="1" name="inc['.$ex.']"';
68 if ($k==0 || ($k > 1 && $k < 5)) {
69 echo ' checked="checked"';
70 }
71 echo ' /> '.$ex.'<br />';
72}
73
74echo '<br />
75<input type="submit" name="generate" value="generate" />
76</form>
77</body>
78</html>';
79exit;
80}
81
82$inc = $_POST['inc'];
83if (is_array($inc) && count($inc)>0 ) {
84 foreach($inc AS $i=>$v) {
85 $key = array_search($i, $excl);
86 unset($excl[$key]);
87 }
88}
89
90if (!defined('PHP_VERSION_ID')) {
91 $version = explode('.', PHP_VERSION);
92 define('PHP_VERSION_ID', ($version[0] * 10000 + $version[1] * 100 + $version[2]));
93}
94if (PHP_VERSION_ID < 50300) { $mqr = @get_magic_quotes_runtime(); }
95 else { $mqr=0; }
96if ($mqr) { set_magic_quotes_runtime(0); }
97
98$l = file('mpdf_source.php');
99if (!count($l)) { die("ERROR - Could not find mpdf_source.php file in current directory"); }
100$exclflags = array();
101$x = '';
102
103 // Excluding 'HTML-CSS' will also exclude: 'TABLES', 'LISTS', 'TABLES-ADVANCED-BORDERS', 'HTMLHEADERS-FOOTERS', 'FORMS', 'BACKGROUNDS', 'CSS-FLOAT', 'CSS-IMAGE-FLOAT', 'CSS-POSITION', 'CSS-PAGE', 'BORDER-RADIUS'
104if ($excl[0]=='HTML-CSS') {
105 $excl[] = 'TABLES';
106 $excl[] = 'LISTS';
107 $excl[] = 'TABLES-ADVANCED-BORDERS';
108 $excl[] = 'HTMLHEADERS-FOOTERS';
109 $excl[] = 'FORMS';
110 $excl[] = 'BACKGROUNDS';
111 $excl[] = 'CSS-FLOAT';
112 $excl[] = 'CSS-IMAGE-FLOAT';
113 $excl[] = 'CSS-POSITION';
114 $excl[] = 'CSS-PAGE';
115 $excl[] = 'BORDER-RADIUS';
116}
117$excl = array_unique($excl);
118
119foreach($l AS $k=>$ln) {
120 $exclude = false;
121 // *XXXXX*
122 preg_match_all("/\/\/ \*([A-Za-z\-]+)\*/", $ln, $m);
123 foreach($m[1] AS $mm) {
124 if (in_array($mm, $excl)) {
125 $exclude = true;
126 }
127 }
128 /*-- XXXXX --*/
129 preg_match_all("/\/\*-- ([A-Za-z\-]+) --\*\//", $ln, $m);
130 foreach($m[1] AS $mm) {
131 if (in_array($mm, $excl)) {
132 $exclflags[$mm] = true;
133 }
134 $exclude = true;
135 }
136 $exclflags = array_unique($exclflags);
137 /*-- END XXXX --*/
138 preg_match_all("/\/\*-- END ([A-Za-z\-]+) --\*\//", $ln, $m);
139 foreach($m[1] AS $mm) {
140 if (in_array($mm, $excl)) {
141 unset($exclflags[$mm]);
142 }
143 $exclude = true;
144 }
145 if (count($exclflags)==0 && !$exclude) {
146 $x .= $ln;
147 }
148}
149// mPDF 5.0
150if (function_exists('file_put_contents')) {
151 $check = file_put_contents('mpdf.php', $x);
152}
153else {
154 $f=fopen('mpdf.php', 'w');
155 $check = fwrite($f, $x);
156 fclose($f);
157}
158if (!$check) { die("ERROR - Could not write to mpdf.php file. Are permissions correctly set?"); }
159echo '<p><b>mPDF file generated successfully!</b></p>';
160echo '<div>mPDF file size '.number_format((strlen($x)/1024)).' kB</div>';
161
162unset($l);
163unset($x);
164
165include('mpdf.php');
166$mpdf = new mPDF();
167
168echo '<div>Memory usage on loading mPDF class '.number_format((memory_get_usage(true)/(1024*1024)),2).' MB</div>';
169
170exit;
171
172?> \ No newline at end of file