PHP Classes

File: libs/mPDF/includes/functions.php

Recommend this page to a friend!
  Classes of Laudir Bispo   PHP Real Estate Website   libs/mPDF/includes/functions.php   Download  
File: libs/mPDF/includes/functions.php
Role: Auxiliary script
Content type: text/plain
Description: Auxiliary script
Class: PHP Real Estate Website
Manage the properties of a real estate business
Author: By
Last change:
Date: 3 years ago
Size: 4,397 bytes
 

Contents

Class file image Download
<?php


// mPDF 6
// Function only available PHP >=5.5.0
if(!function_exists('imagepalettetotruecolor')) {
    function
imagepalettetotruecolor(&$src) {
        if(
imageistruecolor($src)) {
            return(
true);
        }
       
$dst = imagecreatetruecolor(imagesx($src), imagesy($src));

       
imagecopy($dst, $src, 0, 0, 0, 0, imagesx($src), imagesy($src));
       
imagedestroy($src);

       
$src = $dst;

        return(
true);
    }
}

// mPDF 5.7
// Replace a section of an array with the elements in reverse
function array_splice_reverse(&$arr, $offset, $length) {
   
$tmp = (array_reverse(array_slice($arr, $offset, $length)));
   
array_splice($arr, $offset, $length, $tmp);
}


function
array_insert(&$array, $value, $offset) {
    if (
is_array($array)) {
       
$array = array_values($array);
       
$offset = intval($offset);
        if (
$offset < 0 || $offset >= 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);
}

// mPDF 5.7.4 URLs
function urldecode_parts($url) {
   
$file=$url;
   
$query='';
    if (
preg_match('/[?]/',$url)) {
       
$bits = preg_split('/[?]/',$url,2);
       
$file=$bits[0];
       
$query='?'.$bits[1];
    }
   
$file = rawurldecode($file);
   
$query = urldecode($query);
    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,'</pre><formfeed /><pre>',$text); }
    return (
'<pre>'.$text.'</pre>');
}

if(!
function_exists('strcode2utf')){
  function
strcode2utf($str,$lo=true) {
   
//converts all the &#nnn; and &#xhhh; in a string to Unicode
    // mPDF 5.7
   
if ($lo) {
       
$str = preg_replace_callback('/\&\#([0-9]+)\;/m', 'code2utf_lo_callback', $str);
       
$str = preg_replace_callback('/\&\#x([0-9a-fA-F]+)\;/m', 'codeHex2utf_lo_callback', $str);
    }
    else {
       
$str = preg_replace_callback('/\&\#([0-9]+)\;/m', 'code2utf_callback', $str);
       
$str = preg_replace_callback('/\&\#x([0-9a-fA-F]+)\;/m', 'codeHex2utf_callback', $str);
    }
    return
$str;
  }
}
function
code2utf_callback($matches) {
    return
code2utf($matches[1], 0);
}
function
code2utf_lo_callback($matches) {
    return
code2utf($matches[1], 1);
}
function
codeHex2utf_callback($matches) {
    return
codeHex2utf($matches[1], 0);
}
function
codeHex2utf_lo_callback($matches) {
    return
codeHex2utf($matches[1], 1);
}


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);
  }
}


?>