aboutsummaryrefslogtreecommitdiffhomepage
path: root/inc/3rdparty/libraries/mpdf/includes/functions.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/3rdparty/libraries/mpdf/includes/functions.php')
-rw-r--r--inc/3rdparty/libraries/mpdf/includes/functions.php152
1 files changed, 0 insertions, 152 deletions
diff --git a/inc/3rdparty/libraries/mpdf/includes/functions.php b/inc/3rdparty/libraries/mpdf/includes/functions.php
deleted file mode 100644
index 78683af8..00000000
--- a/inc/3rdparty/libraries/mpdf/includes/functions.php
+++ /dev/null
@@ -1,152 +0,0 @@
1<?php
2
3// mPDF 5.7
4// Replace a section of an array with the elements in reverse
5function array_splice_reverse(&$arr, $offset, $length) {
6 $tmp = (array_reverse(array_slice($arr, $offset, $length)));
7 array_splice($arr, $offset, $length, $tmp);
8}
9
10
11// mPDF 5.6.23
12function array_insert(&$array, $value, $offset) {
13 if (is_array($array)) {
14 $array = array_values($array);
15 $offset = intval($offset);
16 if ($offset < 0 || $offset >= count($array)) { array_push($array, $value); }
17 else if ($offset == 0) { array_unshift($array, $value); }
18 else {
19 $temp = array_slice($array, 0, $offset);
20 array_push($temp, $value);
21 $array = array_slice($array, $offset);
22 $array = array_merge($temp, $array);
23 }
24 }
25 else { $array = array($value); }
26 return count($array);
27}
28
29function urlencode_part($url) { // mPDF 5.6.02
30 if (!preg_match('/^[a-z]+:\/\//i',$url)) { return $url; }
31 $file=$url;
32 $query='';
33 if (preg_match('/[?]/',$url)) {
34 $bits = preg_split('/[?]/',$url,2);
35 $file=$bits[0];
36 $query='?'.$bits[1];
37 }
38 $file = str_replace(array(" ","!","$","&","'","(",")","*","+",",",";","="),array("%20","%21","%24","%26","%27","%28","%29","%2A","%2B","%2C","%3B","%3D"),$file);
39 return $file.$query;
40}
41
42
43function _strspn($str1, $str2, $start=null, $length=null) {
44 $numargs = func_num_args();
45 if ($numargs == 2) {
46 return strspn($str1, $str2);
47 }
48 else if ($numargs == 3) {
49 return strspn($str1, $str2, $start);
50 }
51 else {
52 return strspn($str1, $str2, $start, $length);
53 }
54}
55
56
57function _strcspn($str1, $str2, $start=null, $length=null) {
58 $numargs = func_num_args();
59 if ($numargs == 2) {
60 return strcspn($str1, $str2);
61 }
62 else if ($numargs == 3) {
63 return strcspn($str1, $str2, $start);
64 }
65 else {
66 return strcspn($str1, $str2, $start, $length);
67 }
68}
69
70function _fgets (&$h, $force=false) {
71 $startpos = ftell($h);
72 $s = fgets($h, 1024);
73 if ($force && preg_match("/^([^\r\n]*[\r\n]{1,2})(.)/",trim($s), $ns)) {
74 $s = $ns[1];
75 fseek($h,$startpos+strlen($s));
76 }
77 return $s;
78}
79
80
81// For PHP4 compatability
82if(!function_exists('str_ireplace')) {
83 function str_ireplace($search,$replace,$subject) {
84 $search = preg_quote($search, "/");
85 return preg_replace("/".$search."/i", $replace, $subject);
86 }
87}
88if(!function_exists('htmlspecialchars_decode')) {
89 function htmlspecialchars_decode ($str) {
90 return strtr($str, array_flip(get_html_translation_table(HTML_SPECIALCHARS)));
91 }
92}
93
94function PreparePreText($text,$ff='//FF//') {
95 $text = htmlspecialchars($text);
96 if ($ff) { $text = str_replace($ff,'</pre><formfeed /><pre>',$text); }
97 return ('<pre>'.$text.'</pre>');
98}
99
100if(!function_exists('strcode2utf')){
101 function strcode2utf($str,$lo=true) {
102 //converts all the &#nnn; and &#xhhh; in a string to Unicode
103 // mPDF 5.7
104 if ($lo) {
105 $str = preg_replace_callback('/\&\#([0-9]+)\;/m', 'code2utf_lo_callback', $str);
106 $str = preg_replace_callback('/\&\#x([0-9a-fA-F]+)\;/m', 'codeHex2utf_lo_callback', $str);
107 }
108 else {
109 $str = preg_replace_callback('/\&\#([0-9]+)\;/m', 'code2utf_callback', $str);
110 $str = preg_replace_callback('/\&\#x([0-9a-fA-F]+)\;/m', 'codeHex2utf_callback', $str);
111 }
112 return $str;
113 }
114}
115function code2utf_callback($matches) {
116 return code2utf($matches[1], 0);
117}
118function code2utf_lo_callback($matches) {
119 return code2utf($matches[1], 1);
120}
121function codeHex2utf_callback($matches) {
122 return codeHex2utf($matches[1], 0);
123}
124function codeHex2utf_lo_callback($matches) {
125 return codeHex2utf($matches[1], 1);
126}
127
128if(!function_exists('code2utf')){
129 function code2utf($num,$lo=true){
130 //Returns the utf string corresponding to the unicode value
131 if ($num<128) {
132 if ($lo) return chr($num);
133 else return '&#'.$num.';';
134 }
135 if ($num<2048) return chr(($num>>6)+192).chr(($num&63)+128);
136 if ($num<65536) return chr(($num>>12)+224).chr((($num>>6)&63)+128).chr(($num&63)+128);
137 if ($num<2097152) return chr(($num>>18)+240).chr((($num>>12)&63)+128).chr((($num>>6)&63)+128) .chr(($num&63)+128);
138 return '?';
139 }
140}
141
142
143if(!function_exists('codeHex2utf')){
144 function codeHex2utf($hex,$lo=true){
145 $num = hexdec($hex);
146 if (($num<128) && !$lo) return '&#x'.$hex.';';
147 return code2utf($num,$lo);
148 }
149}
150
151
152?> \ No newline at end of file