From 4188f38ad56d7ba2ea46e94403f305243514f80c Mon Sep 17 00:00:00 2001 From: tcit Date: Thu, 24 Jul 2014 15:49:36 +0200 Subject: add pdf and mobi libraries --- inc/3rdparty/libraries/mpdf/includes/functions.php | 126 +++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 inc/3rdparty/libraries/mpdf/includes/functions.php (limited to 'inc/3rdparty/libraries/mpdf/includes/functions.php') diff --git a/inc/3rdparty/libraries/mpdf/includes/functions.php b/inc/3rdparty/libraries/mpdf/includes/functions.php new file mode 100644 index 00000000..03f47090 --- /dev/null +++ b/inc/3rdparty/libraries/mpdf/includes/functions.php @@ -0,0 +1,126 @@ += count($array)) { array_push($array, $value); } + else if ($offset == 0) { array_unshift($array, $value); } + else { + $temp = array_slice($array, 0, $offset); + array_push($temp, $value); + $array = array_slice($array, $offset); + $array = array_merge($temp, $array); + } + } + else { $array = array($value); } + return count($array); +} + +function urlencode_part($url) { // mPDF 5.6.02 + if (!preg_match('/^[a-z]+:\/\//i',$url)) { return $url; } + $file=$url; + $query=''; + if (preg_match('/[?]/',$url)) { + $bits = preg_split('/[?]/',$url,2); + $file=$bits[0]; + $query='?'.$bits[1]; + } + $file = str_replace(array(" ","!","$","&","'","(",")","*","+",",",";","="),array("%20","%21","%24","%26","%27","%28","%29","%2A","%2B","%2C","%3B","%3D"),$file); + return $file.$query; +} + + +function _strspn($str1, $str2, $start=null, $length=null) { + $numargs = func_num_args(); + if ($numargs == 2) { + return strspn($str1, $str2); + } + else if ($numargs == 3) { + return strspn($str1, $str2, $start); + } + else { + return strspn($str1, $str2, $start, $length); + } +} + + +function _strcspn($str1, $str2, $start=null, $length=null) { + $numargs = func_num_args(); + if ($numargs == 2) { + return strcspn($str1, $str2); + } + else if ($numargs == 3) { + return strcspn($str1, $str2, $start); + } + else { + return strcspn($str1, $str2, $start, $length); + } +} + +function _fgets (&$h, $force=false) { + $startpos = ftell($h); + $s = fgets($h, 1024); + if ($force && preg_match("/^([^\r\n]*[\r\n]{1,2})(.)/",trim($s), $ns)) { + $s = $ns[1]; + fseek($h,$startpos+strlen($s)); + } + return $s; +} + + +// For PHP4 compatability +if(!function_exists('str_ireplace')) { + function str_ireplace($search,$replace,$subject) { + $search = preg_quote($search, "/"); + return preg_replace("/".$search."/i", $replace, $subject); + } +} +if(!function_exists('htmlspecialchars_decode')) { + function htmlspecialchars_decode ($str) { + return strtr($str, array_flip(get_html_translation_table(HTML_SPECIALCHARS))); + } +} + +function PreparePreText($text,$ff='//FF//') { + $text = htmlspecialchars($text); + if ($ff) { $text = str_replace($ff,'
',$text); }
+	return ('
'.$text.'
'); +} + +if(!function_exists('strcode2utf')){ + function strcode2utf($str,$lo=true) { + //converts all the &#nnn; and &#xhhh; in a string to Unicode + if ($lo) { $lo = 1; } else { $lo = 0; } + $str = preg_replace('/\&\#([0-9]+)\;/me', "code2utf('\\1',{$lo})",$str); + $str = preg_replace('/\&\#x([0-9a-fA-F]+)\;/me', "codeHex2utf('\\1',{$lo})",$str); + return $str; + } +} + +if(!function_exists('code2utf')){ + function code2utf($num,$lo=true){ + //Returns the utf string corresponding to the unicode value + if ($num<128) { + if ($lo) return chr($num); + else return '&#'.$num.';'; + } + if ($num<2048) return chr(($num>>6)+192).chr(($num&63)+128); + if ($num<65536) return chr(($num>>12)+224).chr((($num>>6)&63)+128).chr(($num&63)+128); + if ($num<2097152) return chr(($num>>18)+240).chr((($num>>12)&63)+128).chr((($num>>6)&63)+128) .chr(($num&63)+128); + return '?'; + } +} + + +if(!function_exists('codeHex2utf')){ + function codeHex2utf($hex,$lo=true){ + $num = hexdec($hex); + if (($num<128) && !$lo) return '&#x'.$hex.';'; + return code2utf($num,$lo); + } +} + + +?> \ No newline at end of file -- cgit v1.2.3