/home/techb158/exp.abdallabala.com/vendor/mpdf/mpdf/src
NameSizeModeActions
Barcode/-0755rm
Color/-0755rm
Config/-0755rm
Conversion/-0755rm
Css/-0755rm
Exception/-0755rm
File/-0755rm
Fonts/-0755rm
Gif/-0755rm
Image/-0755rm
Language/-0755rm
Log/-0755rm
Output/-0755rm
Pdf/-0755rm
Shaper/-0755rm
Tag/-0755rm
Utils/-0755rm
Writer/-0755rm
Barcode.php50780644editdlrm
Cache.php23480644editdlrm
CssManager.php787280644editdlrm
DirectWrite.php149290644editdlrm
Form.php688730644editdlrm
FpdiTrait.php118730644editdlrm
functions-dev.php1650644editdlrm
Gradient.php347480644editdlrm
HTMLParserMode.php7310644editdlrm
Hyphenator.php49590644editdlrm
Mpdf.php9575750644editdlrm
MpdfException.php730644editdlrm
MpdfImageException.php820644editdlrm
Otl.php2543070644editdlrm
OtlDump.php1669780644editdlrm
PageFormat.php23910644editdlrm
RemoteContentFetcher.php34210644editdlrm
ServiceFactory.php45120644editdlrm
SizeConverter.php34690644editdlrm
Strict.php15350644editdlrm
TableOfContents.php334510644editdlrm
Tag.php74050644editdlrm
TTFontFile.php1728180644editdlrm
TTFontFileAnalysis.php145510644editdlrm
Ucdn.php1319570644editdlrm
Edit: /home/techb158/exp.abdallabala.com/vendor/mpdf/mpdf/src/CssManager.php (78728B)
mpdf = $mpdf; $this->cache = $cache; $this->sizeConverter = $sizeConverter; $this->tablecascadeCSS = []; $this->CSS = []; $this->cascadeCSS = []; $this->tbCSSlvl = 0; $this->colorConverter = $colorConverter; } function ReadCSS($html) { preg_match_all('/]*media=["\']([^"\'>]*)["\'].*?<\/style>/is', $html, $m); $count_m = count($m[0]); for ($i = 0; $i < $count_m; $i++) { if ($this->mpdf->CSSselectMedia && !preg_match('/(' . trim($this->mpdf->CSSselectMedia) . '|all)/i', $m[1][$i])) { $html = str_replace($m[0][$i], '', $html); } } preg_match_all('/]*media=["\']([^"\'>]*)["\'].*?>/is', $html, $m); $count_m = count($m[0]); for ($i = 0; $i < $count_m; $i++) { if ($this->mpdf->CSSselectMedia && !preg_match('/(' . trim($this->mpdf->CSSselectMedia) . '|all)/i', $m[1][$i])) { $html = str_replace($m[0][$i], '', $html); } } // mPDF 5.5.02 // Remove Comment tags inside CSS as '; $html = str_replace('>'.$m[1][$i].'', $sub, $html); } } $html = preg_replace('//i', '', $html); $html = preg_replace('/<\!\-\-.*?\-\->/s', ' ', $html); $match = 0; // no match for instance $CSSext = []; // CSS inside external files $regexp = '/]*rel=["\']stylesheet["\'][^>]*href=["\']([^>"\']*)["\'].*?>/si'; $x = preg_match_all($regexp, $html, $cxt); if ($x) { $match += $x; $CSSext = $cxt[1]; } $regexp = '/]*href=["\']([^>"\']*)["\'][^>]*?rel=["\']stylesheet["\'].*?>/si'; $x = preg_match_all($regexp, $html, $cxt); if ($x) { $match += $x; $CSSext = array_merge($CSSext, $cxt[1]); } // look for @import stylesheets // $regexp = '/@import url\([\'\"]{0,1}([^\)]*?\.css)[\'\"]{0,1}\)/si'; // $regexp = '/@import url\([\'\"]{0,1}([^\)]*?\.css(\?\S+)?)[\'\"]{0,1}\)/si'; $regexp = '/@import url\([\'\"]{0,1}(\S*?\.css(\?[^\s\'\"]+)?)[\'\"]{0,1}\)\;?/si'; $x = preg_match_all($regexp, $html, $cxt); if ($x) { $match += $x; $CSSext = array_merge($CSSext, $cxt[1]); } // look for @import without the url() // $regexp = '/@import [\'\"]{0,1}([^;]*?\.css)[\'\"]{0,1}/si'; // $regexp = '/@import [\'\"]{0,1}([^;]*?\.css(\?\S+)?)[\'\"]{0,1}/si'; $regexp = '/@import (?!url)[\'\"]{0,1}(\S*?\.css(\?[^\s\'\"]+)?)[\'\"]{0,1}\;?/si'; $x = preg_match_all($regexp, $html, $cxt); if ($x) { $match += $x; $CSSext = array_merge($CSSext, $cxt[1]); } $ind = 0; $CSSstr = ''; if (!is_array($this->cascadeCSS)) { $this->cascadeCSS = []; } while ($match) { $path = $CSSext[$ind]; $path = htmlspecialchars_decode($path); // mPDF 6 $this->mpdf->GetFullPath($path); $CSSextblock = $this->getFileContents($path); if ($CSSextblock) { // look for embedded @import stylesheets in other stylesheets // and fix url paths (including background-images) relative to stylesheet // $regexpem = '/@import url\([\'\"]{0,1}(.*?\.css)[\'\"]{0,1}\)/si'; $regexpem = '/@import url\([\'\"]{0,1}(.*?\.css(\?\S+)?)[\'\"]{0,1}\)/si'; $xem = preg_match_all($regexpem, $CSSextblock, $cxtem); $cssBasePath = preg_replace('/\/[^\/]*$/', '', $path) . '/'; if ($xem) { foreach ($cxtem[1] as $cxtembedded) { // path is relative to original stylesheet!! $this->mpdf->GetFullPath($cxtembedded, $cssBasePath); $match++; $CSSext[] = $cxtembedded; } } $regexpem = '/(background[^;]*url\s*\(\s*[\'\"]{0,1})([^\)\'\"]*)([\'\"]{0,1}\s*\))/si'; $xem = preg_match_all($regexpem, $CSSextblock, $cxtem); if ($xem) { $count_cxtem = count($cxtem[0]); for ($i = 0; $i < $count_cxtem; $i++) { // path is relative to original stylesheet!! $embedded = $cxtem[2][$i]; if (!preg_match('/^data:image/i', $embedded)) { // mPDF 5.5.13 $this->mpdf->GetFullPath($embedded, $cssBasePath); $CSSextblock = str_replace($cxtem[0][$i], ($cxtem[1][$i] . $embedded . $cxtem[3][$i]), $CSSextblock); } } } $CSSstr .= ' ' . $CSSextblock; } $match--; $ind++; } // CSS as