Lines Matching refs:this

57 		$this->mpdf = $mpdf;
58 $this->cache = $cache;
59 $this->sizeConverter = $sizeConverter;
61 $this->tablecascadeCSS = [];
62 $this->CSS = [];
63 $this->cascadeCSS = [];
64 $this->tbCSSlvl = 0;
65 $this->colorConverter = $colorConverter;
66 $this->remoteContentFetcher = $remoteContentFetcher;
74 if ($this->mpdf->CSSselectMedia && !preg_match('/(' . trim($this->mpdf->CSSselectMedia) . '|all)/i', $m[1][$i])) {
82 if ($this->mpdf->CSSselectMedia && !preg_match('/(' . trim($this->mpdf->CSSselectMedia) . '|all)/i', $m[1][$i])) {
147 if (!is_array($this->cascadeCSS)) {
148 $this->cascadeCSS = [];
157 $this->mpdf->GetFullPath($path);
159 $CSSextblock = $this->getFileContents($path);
170 $this->mpdf->GetFullPath($cxtembedded, $cssBasePath);
183 $this->mpdf->GetFullPath($embedded, $cssBasePath);
206 $this->mpdf->GetFullPath($embedded);
222 if ($this->mpdf->CSSselectMedia && !preg_match('/(' . trim($this->mpdf->CSSselectMedia) . '|all)/i', $m[1][$i])) {
235 $file = $this->cache->write('_tempCSSidata' . random_int(1, 10000) . '_' . $i . '.' . $idata[2][$i], base64_decode($idata[3][$i]));
303 $classproperties = $this->fixCSS($classproperties);
306 $pageselectors = false; // used to turn on $this->mpdf->mirrorMargins
341 } // used to turn on $this->mpdf->mirrorMargins
348 } // used to turn on $this->mpdf->mirrorMargins
351 if (isset($this->CSS[$tag]) && $tag) {
352 $this->CSS[$tag] = $this->array_merge_recursive_unique($this->CSS[$tag], $classproperties);
354 $this->CSS[$tag] = $classproperties;
377 } elseif (preg_match('/^(' . $this->mpdf->allowedCSStags . ')[.](.*)$/', $t, $m)) { // mPDF 6 Special case for lang as attribute selector
381 } elseif (preg_match('/^(' . $this->mpdf->allowedCSStags . ')\s*:NTH-CHILD\((.*)\)$/', $t, $m)) {
383 } elseif (preg_match('/^(' . $this->mpdf->allowedCSStags . ')[#](.*)$/', $t, $m)) {
385 } elseif (preg_match('/^(' . $this->mpdf->allowedCSStags . ')\[LANG=[\'\"]{0,1}([A-Z\-]{2,11})[\'\"]{0,1}\]$/', $t, $m)) {
387 } elseif (preg_match('/^(' . $this->mpdf->allowedCSStags . '):LANG\([\'\"]{0,1}([A-Z\-]{2,11})[\'\"]{0,1}\)$/', $t, $m)) { // mPDF 6 Special case for lang as attribute selector
389 } elseif (preg_match('/^(' . $this->mpdf->allowedCSStags . ')$/', $t)) { // mPDF 6 Special case for lang as attribute selector
393 if (isset($this->CSS[$tag]) && $tag) {
394 $this->CSS[$tag] = $this->array_merge_recursive_unique($this->CSS[$tag], $classproperties);
396 $this->CSS[$tag] = $classproperties;
426 } elseif (preg_match('/^(' . $this->mpdf->allowedCSStags . ')[.](.*)$/', $t, $m)) { // mPDF 6 Special case for lang as attribute selector
430 } elseif (preg_match('/^(' . $this->mpdf->allowedCSStags . ')\s*:NTH-CHILD\((.*)\)$/', $t, $m)) {
432 } elseif (preg_match('/^(' . $this->mpdf->allowedCSStags . ')[#](.*)$/', $t, $m)) {
434 } elseif (preg_match('/^(' . $this->mpdf->allowedCSStags . ')\[LANG=[\'\"]{0,1}([A-Z\-]{2,11})[\'\"]{0,1}\]$/', $t, $m)) {
436 } elseif (preg_match('/^(' . $this->mpdf->allowedCSStags . '):LANG\([\'\"]{0,1}([A-Z\-]{2,11})[\'\"]{0,1}\)$/', $t, $m)) { // mPDF 6 Special case for lang as attribute selector
438 } elseif (preg_match('/^(' . $this->mpdf->allowedCSStags . ')$/', $t)) { // mPDF 6 Special case for lang as attribute selector
451 $x = &$this->cascadeCSS;
455 $x = $this->array_merge_recursive_unique($x, $classproperties);
461 $this->mpdf->mirrorMargins = true;
530 return $this->fixCSS($classproperties);
553 if (in_array($prop[0], $this->mpdf->borderstyles) || $prop[0] === 'none' || $prop[0] === 'hidden') {
556 elseif (is_array($this->colorConverter->convert($prop[0], $this->mpdf->PDFAXwarnings))) {
565 if (in_array($prop[1], $this->mpdf->borderstyles) || $prop[1] === 'none' || $prop[1] === 'hidden') {
569 elseif (in_array($prop[0], $this->mpdf->borderstyles) || $prop[0] === 'none' || $prop[0] === 'hidden') {
590 elseif (in_array($prop[0], $this->mpdf->borderstyles) || $prop[0] === 'none' || $prop[0] === 'hidden') {
686 if (isset($this->mpdf->fonttrans[$v]) && $this->mpdf->fonttrans[$v]) {
687 $v = $this->mpdf->fonttrans[$v];
690 if ((!$this->mpdf->onlyCoreFonts && in_array($v, $this->mpdf->available_unifonts)) ||
692 ($this->mpdf->onlyCoreFonts && in_array($v, ['courier', 'times', 'helvetica', 'arial'])) ||
708 if (isset($this->mpdf->fonttrans[$v]) && $this->mpdf->fonttrans[$v]) {
709 $v = $this->mpdf->fonttrans[$v];
712 if (in_array($v, $this->mpdf->sans_fonts) || in_array($v, $this->mpdf->serif_fonts) || in_array($v, $this->mpdf->mono_fonts)) {
743 $tmp = $this->expand24($v);
752 $tmp = $this->border_radius_expand($v, $k);
781 $tmp = $this->expand24($v);
793 $v = $this->_fix_borderStr($v);
803 $newprop['BORDER-TOP'] = $this->_fix_borderStr($v);
807 $newprop['BORDER-RIGHT'] = $this->_fix_borderStr($v);
811 $newprop['BORDER-BOTTOM'] = $this->_fix_borderStr($v);
815 $newprop['BORDER-LEFT'] = $this->_fix_borderStr($v);
819 $e = $this->expand24($v);
830 $e = $this->expand24($v);
840 $e = $this->expand24($v);
880 $newprop['SIZE']['W'] = $this->sizeConverter->convert($prop[0]);
881 $newprop['SIZE']['H'] = $this->sizeConverter->convert($prop[0]);
883 $newprop['SIZE']['W'] = $this->sizeConverter->convert($prop[0]);
884 $newprop['SIZE']['H'] = $this->sizeConverter->convert($prop[1]);
893 $newprop['SHEET-SIZE'] = [$this->sizeConverter->convert($prop[0]), $this->sizeConverter->convert($prop[1])];
911 $bg = $this->parseCSSbackground($v);
1014 $d = array_search($m[1], $this->mpdf->decimal_align);
1028 $d = array_search($utf8, $this->mpdf->decimal_align);
1090 $new['x'] = $this->sizeConverter->convert(trim($p[0]), $this->mpdf->blk[$this->mpdf->blklvl - 1]['inner_width'], $this->mpdf->FontSize, false);
1093 $new['y'] = $this->sizeConverter->convert(trim($p[1]), $this->mpdf->blk[$this->mpdf->blklvl - 1]['inner_width'], $this->mpdf->FontSize, false);
1097 $new['blur'] = $this->sizeConverter->convert(trim($p[2]), $this->mpdf->blk[$this->mpdf->blklvl - 1]['inner_width'], $this->mpdf->FontSize, false);
1099 $new['col'] = $this->colorConverter->convert(preg_replace('/\*/', ',', $p[2]), $this->mpdf->PDFAXwarnings);
1103 $new['spread'] = $this->sizeConverter->convert(trim($p[3]), $this->mpdf->blk[$this->mpdf->blklvl - 1]['inner_width'], $this->mpdf->FontSize, false);
1105 $new['col'] = $this->colorConverter->convert(preg_replace('/\*/', ',', $p[3]), $this->mpdf->PDFAXwarnings);
1108 $new['col'] = $this->colorConverter->convert(preg_replace('/\*/', ',', $p[4]), $this->mpdf->PDFAXwarnings);
1113 $new['col'] = $this->colorConverter->convert('#888888', $this->mpdf->PDFAXwarnings);
1140 $new['x'] = $this->sizeConverter->convert(trim($p[0]), $this->mpdf->FontSize, $this->mpdf->FontSize, false);
1144 $new['y'] = $this->sizeConverter->convert(trim($p[1]), $this->mpdf->FontSize, $this->mpdf->FontSize, false);
1151 $new['blur'] = $this->sizeConverter->convert(
1153 isset($this->mpdf->blk[$this->mpdf->blklvl]['inner_width']) ? $this->mpdf->blk[$this->mpdf->blklvl]['inner_width'] : 0,
1154 $this->mpdf->FontSize,
1159 $new['col'] = $this->colorConverter->convert(preg_replace('/\*/', ',', $p[2]), $this->mpdf->PDFAXwarnings);
1163 $new['col'] = $this->colorConverter->convert(preg_replace('/\*/', ',', $p[3]), $this->mpdf->PDFAXwarnings);
1168 $new['col'] = $this->colorConverter->convert('#888888', $this->mpdf->PDFAXwarnings);
1351 // Save Cascading CSS e.g. "div.topic p" at this block level
1354 $t = $this->array_merge_recursive_unique($t, $p);
1373 $ret[$key] = $this->array_merge_recursive_unique($ret[$key], $value);
1387 $this->_mergeCSS($p[$tag], $t);
1392 $this->_mergeCSS($p['CLASS>>' . $class], $t);
1401 $row = $this->mpdf->row;
1402 $thnr = (isset($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['is_thead']) ? count($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['is_thead']) : 0);
1403 $tfnr = (isset($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['is_tfoot']) ? count($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['is_tfoot']) : 0);
1404 if ($this->mpdf->tabletfoot) {
1406 } elseif (!$this->mpdf->tablethead) {
1410 $select = $this->_nthchild($a, $row);
1414 $select = $this->_nthchild($a, $this->mpdf->col);
1418 $this->_mergeCSS($p[$tag . '>>SELECTORNTHCHILD>>' . $m[1]], $t);
1425 $this->_mergeCSS($p['LANG>>' . $lang], $t);
1429 $this->_mergeCSS($p['ID>>' . $id], $t);
1435 $this->_mergeCSS($p[$tag . '>>CLASS>>' . $class], $t);
1440 $this->_mergeCSS($p[$tag . '>>LANG>>' . $lang], $t);
1444 $this->_mergeCSS($p[$tag . '>>ID>>' . $id], $t);
1451 $this->cell_border_dominance_L = $val;
1454 $this->cell_border_dominance_R = $val;
1457 $this->cell_border_dominance_T = $val;
1460 $this->cell_border_dominance_B = $val;
1469 $this->setBorderDominance($m, $bd);
1473 $this->_mergeBorders($p, $m);
1546 // Save Cascading CSS e.g. "div.topic p" at this block level
1547 if (isset($this->mpdf->blk[$this->mpdf->blklvl]['cascadeCSS'])) {
1548 $this->tablecascadeCSS[0] = $this->mpdf->blk[$this->mpdf->blklvl]['cascadeCSS'];
1550 $this->tablecascadeCSS[0] = $this->cascadeCSS;
1558 if (isset($this->tablecascadeCSS[$this->tbCSSlvl - 1]) && is_array($this->tablecascadeCSS[$this->tbCSSlvl - 1])) {
1559 foreach ($this->tablecascadeCSS[$this->tbCSSlvl - 1] as $k => $v) {
1560 $this->tablecascadeCSS[$this->tbCSSlvl][$k] = $v;
1564 $this->_mergeFullCSS(
1565 $this->cascadeCSS,
1566 $this->tablecascadeCSS[$this->tbCSSlvl],
1573 // Cascading forward CSS e.g. "table.topic td" for this table in $this->tablecascadeCSS
1575 if (isset($this->tablecascadeCSS[$this->tbCSSlvl - 1])) {
1576 $this->_mergeFullCSS(
1577 $this->tablecascadeCSS[$this->tbCSSlvl - 1],
1578 $this->tablecascadeCSS[$this->tbCSSlvl],
1592 if (isset($this->mpdf->blk[$this->mpdf->blklvl - 1]['cascadeCSS']) && is_array($this->mpdf->blk[$this->mpdf->blklvl - 1]['cascadeCSS'])) {
1593 foreach ($this->mpdf->blk[$this->mpdf->blklvl - 1]['cascadeCSS'] as $k => $v) {
1594 $this->mpdf->blk[$this->mpdf->blklvl]['cascadeCSS'][$k] = $v;
1599 // Save Cascading CSS e.g. "div.topic p" at this block level
1600 $this->_mergeFullCSS($this->cascadeCSS, $this->mpdf->blk[$this->mpdf->blklvl]['cascadeCSS'], $tag, $classes, $attr['ID'], $attr['LANG']);
1604 if (isset($this->mpdf->blk[$this->mpdf->blklvl - 1])) {
1605 $this->_mergeFullCSS($this->mpdf->blk[$this->mpdf->blklvl - 1]['cascadeCSS'], $this->mpdf->blk[$this->mpdf->blklvl]['cascadeCSS'], $tag, $classes, $attr['ID'], $attr['LANG']);
1609 if (isset($this->mpdf->blk[$this->mpdf->blklvl - 1]['margin_collapse']) && $this->mpdf->blk[$this->mpdf->blklvl - 1]['margin_collapse']) {
1612 if (isset($this->mpdf->blk[$this->mpdf->blklvl - 1]['line_height']) && $this->mpdf->blk[$this->mpdf->blklvl - 1]['line_height']) {
1613 $p['LINE-HEIGHT'] = $this->mpdf->blk[$this->mpdf->blklvl - 1]['line_height'];
1616 if (isset($this->mpdf->blk[$this->mpdf->blklvl - 1]['line_stacking_strategy']) && $this->mpdf->blk[$this->mpdf->blklvl - 1]['line_stacking_strategy']) {
1617 $p['LINE-STACKING-STRATEGY'] = $this->mpdf->blk[$this->mpdf->blklvl - 1]['line_stacking_strategy'];
1619 if (isset($this->mpdf->blk[$this->mpdf->blklvl - 1]['line_stacking_shift']) && $this->mpdf->blk[$this->mpdf->blklvl - 1]['line_stacking_shift']) {
1620 $p['LINE-STACKING-SHIFT'] = $this->mpdf->blk[$this->mpdf->blklvl - 1]['line_stacking_shift'];
1623 if (isset($this->mpdf->blk[$this->mpdf->blklvl - 1]['direction']) && $this->mpdf->blk[$this->mpdf->blklvl - 1]['direction']) {
1624 $p['DIRECTION'] = $this->mpdf->blk[$this->mpdf->blklvl - 1]['direction'];
1628 if (isset($this->mpdf->blk[$this->mpdf->blklvl - 1]['list_style_type']) && $this->mpdf->blk[$this->mpdf->blklvl - 1]['list_style_type']) {
1629 $p['LIST-STYLE-TYPE'] = $this->mpdf->blk[$this->mpdf->blklvl - 1]['list_style_type'];
1632 if (isset($this->mpdf->blk[$this->mpdf->blklvl - 1]['list_style_image']) && $this->mpdf->blk[$this->mpdf->blklvl - 1]['list_style_image']) {
1633 $p['LIST-STYLE-IMAGE'] = $this->mpdf->blk[$this->mpdf->blklvl - 1]['list_style_image'];
1635 if (isset($this->mpdf->blk[$this->mpdf->blklvl - 1]['list_style_position']) && $this->mpdf->blk[$this->mpdf->blklvl - 1]['list_style_position']) {
1636 $p['LIST-STYLE-POSITION'] = $this->mpdf->blk[$this->mpdf->blklvl - 1]['list_style_position'];
1639 if (isset($this->mpdf->blk[$this->mpdf->blklvl - 1]['align']) && $this->mpdf->blk[$this->mpdf->blklvl - 1]['align']) {
1640 if ($this->mpdf->blk[$this->mpdf->blklvl - 1]['align'] === 'L') {
1642 } elseif ($this->mpdf->blk[$this->mpdf->blklvl - 1]['align'] === 'J') {
1644 } elseif ($this->mpdf->blk[$this->mpdf->blklvl - 1]['align'] === 'R') {
1646 } elseif ($this->mpdf->blk[$this->mpdf->blklvl - 1]['align'] === 'C') {
1650 if ($this->mpdf->ColActive || $this->mpdf->keep_block_together) {
1651 if (isset($this->mpdf->blk[$this->mpdf->blklvl - 1]['bgcolor']) && $this->mpdf->blk[$this->mpdf->blklvl - 1]['bgcolor']) { // Doesn't officially inherit, but default value is transparent (?=inherited)
1652 $cor = $this->mpdf->blk[$this->mpdf->blklvl - 1]['bgcolorarray'];
1653 $p['BACKGROUND-COLOR'] = $this->colorConverter->colAtoString($cor);
1657 if (isset($this->mpdf->blk[$this->mpdf->blklvl - 1]['text_indent']) && ($this->mpdf->blk[$this->mpdf->blklvl - 1]['text_indent'] || $this->mpdf->blk[$this->mpdf->blklvl - 1]['text_indent'] === 0)) {
1658 $p['TEXT-INDENT'] = $this->mpdf->blk[$this->mpdf->blklvl - 1]['text_indent'];
1660 if (isset($this->mpdf->blk[$this->mpdf->blklvl - 1]['InlineProperties'])) {
1661 $biilp = $this->mpdf->blk[$this->mpdf->blklvl - 1]['InlineProperties'];
1662 $this->inlinePropsToCSS($biilp, $p); // mPDF 5.7.1
1733 // DEFAULT for this TAG set in DefaultCSS
1734 if (isset($this->mpdf->defaultCSS[$tag])) {
1735 $zp = $this->fixCSS($this->mpdf->defaultCSS[$tag]);
1738 $this->_mergeBorders($p, $zp);
1749 if (($tag === 'TD' || $tag === 'TH') && isset($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['cell_padding']) && ($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['cell_padding'] || $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['cell_padding'] === '0')) { // mPDF 5.7.3
1750 $p['PADDING-LEFT'] = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['cell_padding'];
1751 $p['PADDING-RIGHT'] = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['cell_padding'];
1752 $p['PADDING-TOP'] = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['cell_padding'];
1753 $p['PADDING-BOTTOM'] = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['cell_padding'];
1758 if (isset($this->CSS[$tag]) && $this->CSS[$tag]) {
1759 $zp = $this->CSS[$tag];
1761 $this->setBorderDominance($zp, 9);
1765 $this->_mergeBorders($p, $zp);
1772 if (isset($this->CSS['CLASS>>' . $class]) && $this->CSS['CLASS>>' . $class]) {
1773 $zp = $this->CSS['CLASS>>' . $class];
1776 $this->setBorderDominance($zp, 9);
1780 $this->_mergeBorders($p, $zp);
1787 foreach ($this->CSS as $k => $val) {
1791 $row = $this->mpdf->row;
1792 $thnr = (isset($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['is_thead']) ? count($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['is_thead']) : 0);
1793 $tfnr = (isset($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['is_tfoot']) ? count($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['is_tfoot']) : 0);
1794 if ($this->mpdf->tabletfoot) {
1796 } elseif (!$this->mpdf->tablethead) {
1800 $select = $this->_nthchild($a, $row);
1804 $select = $this->_nthchild($a, $this->mpdf->col);
1808 $zp = $this->CSS[$tag . '>>SELECTORNTHCHILD>>' . $m[1]];
1810 $this->setBorderDominance($zp, 9);
1814 $this->_mergeBorders($p, $zp);
1824 if (isset($this->CSS['LANG>>' . $attr['LANG']]) && $this->CSS['LANG>>' . $attr['LANG']]) {
1825 $zp = $this->CSS['LANG>>' . $attr['LANG']];
1827 $this->setBorderDominance($zp, 9);
1831 $this->_mergeBorders($p, $zp);
1833 } elseif (isset($this->CSS['LANG>>' . $shortlang]) && $this->CSS['LANG>>' . $shortlang]) {
1834 $zp = $this->CSS['LANG>>' . $shortlang];
1836 $this->setBorderDominance($zp, 9);
1840 $this->_mergeBorders($p, $zp);
1846 if (isset($attr['ID']) && isset($this->CSS['ID>>' . $attr['ID']]) && $this->CSS['ID>>' . $attr['ID']]) {
1847 $zp = $this->CSS['ID>>' . $attr['ID']];
1849 $this->setBorderDominance($zp, 9);
1853 $this->_mergeBorders($p, $zp);
1861 if (isset($this->CSS[$tag . '>>CLASS>>' . $class]) && $this->CSS[$tag . '>>CLASS>>' . $class]) {
1862 $zp = $this->CSS[$tag . '>>CLASS>>' . $class];
1865 $this->setBorderDominance($zp, 9);
1869 $this->_mergeBorders($p, $zp);
1875 if (isset($this->CSS[$tag . '>>LANG>>' . $attr['LANG']]) && $this->CSS[$tag . '>>LANG>>' . $attr['LANG']]) {
1876 $zp = $this->CSS[$tag . '>>LANG>>' . $attr['LANG']];
1878 $this->setBorderDominance($zp, 9);
1882 $this->_mergeBorders($p, $zp);
1884 } elseif (isset($this->CSS[$tag . '>>LANG>>' . $shortlang]) && $this->CSS[$tag . '>>LANG>>' . $shortlang]) {
1885 $zp = $this->CSS[$tag . '>>LANG>>' . $shortlang];
1887 $this->setBorderDominance($zp, 9);
1891 $this->_mergeBorders($p, $zp);
1897 if (isset($attr['ID']) && isset($this->CSS[$tag . '>>ID>>' . $attr['ID']]) && $this->CSS[$tag . '>>ID>>' . $attr['ID']]) {
1898 $zp = $this->CSS[$tag . '>>ID>>' . $attr['ID']];
1900 $this->setBorderDominance($zp, 9);
1904 $this->_mergeBorders($p, $zp);
1910 if (isset($this->mpdf->blk[$this->mpdf->blklvl - 1])) { // mPDF 6
1911 $this->_set_mergedCSS($this->mpdf->blk[$this->mpdf->blklvl - 1]['cascadeCSS'][$tag], $p);
1913 $this->_set_mergedCSS($this->mpdf->blk[$this->mpdf->blklvl - 1]['cascadeCSS']['CLASS>>' . $class], $p);
1915 $this->_set_mergedCSS($this->mpdf->blk[$this->mpdf->blklvl - 1]['cascadeCSS']['ID>>' . $attr['ID']], $p);
1917 $this->_set_mergedCSS($this->mpdf->blk[$this->mpdf->blklvl - 1]['cascadeCSS'][$tag . '>>CLASS>>' . $class], $p);
1919 $this->_set_mergedCSS($this->mpdf->blk[$this->mpdf->blklvl - 1]['cascadeCSS'][$tag . '>>ID>>' . $attr['ID']], $p);
1922 $this->_set_mergedCSS($this->mpdf->blk[$this->mpdf->blklvl]['cascadeCSS'][$tag], $p);
1924 $this->_set_mergedCSS($this->mpdf->blk[$this->mpdf->blklvl]['cascadeCSS']['CLASS>>' . $class], $p);
1926 $this->_set_mergedCSS($this->mpdf->blk[$this->mpdf->blklvl]['cascadeCSS']['ID>>' . $attr['ID']], $p);
1928 $this->_set_mergedCSS($this->mpdf->blk[$this->mpdf->blklvl]['cascadeCSS'][$tag . '>>CLASS>>' . $class], $p);
1930 $this->_set_mergedCSS($this->mpdf->blk[$this->mpdf->blklvl]['cascadeCSS'][$tag . '>>ID>>' . $attr['ID']], $p);
1931 } elseif ($inherit === 'TOPTABLE' || $inherit === 'TABLE') { // NB looks at $this->tablecascadeCSS-1 for cascading CSS
1932 if (isset($this->tablecascadeCSS[$this->tbCSSlvl - 1])) { // mPDF 6
1934 $this->_set_mergedCSS($this->tablecascadeCSS[$this->tbCSSlvl - 1][$tag], $p, false, 9);
1936 $this->_set_mergedCSS($this->tablecascadeCSS[$this->tbCSSlvl - 1]['CLASS>>' . $class], $p, false, 9);
1940 foreach ($this->tablecascadeCSS[$this->tbCSSlvl - 1] as $k => $val) {
1944 $row = $this->mpdf->row;
1945 $thnr = (isset($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['is_thead']) ? count($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['is_thead']) : 0);
1946 $tfnr = (isset($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['is_tfoot']) ? count($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['is_tfoot']) : 0);
1947 if ($this->mpdf->tabletfoot) {
1949 } elseif (!$this->mpdf->tablethead) {
1953 $select = $this->_nthchild($a, $row);
1957 $select = $this->_nthchild($a, $this->mpdf->col);
1961 $this->_set_mergedCSS($this->tablecascadeCSS[$this->tbCSSlvl - 1][$tag . '>>SELECTORNTHCHILD>>' . $m[1]], $p, false, 9);
1967 $this->_set_mergedCSS($this->tablecascadeCSS[$this->tbCSSlvl - 1]['ID>>' . $attr['ID']], $p, false, 9);
1969 $this->_set_mergedCSS($this->tablecascadeCSS[$this->tbCSSlvl - 1][$tag . '>>CLASS>>' . $class], $p, false, 9);
1971 $this->_set_mergedCSS($this->tablecascadeCSS[$this->tbCSSlvl - 1][$tag . '>>ID>>' . $attr['ID']], $p, false, 9);
1976 $zp = $this->readInlineCSS($attr['STYLE']);
1978 $this->setBorderDominance($zp, 9);
1982 $this->_mergeBorders($p, $zp);
2006 $p['COLOR'] = $this->colorConverter->colAtoString($cor);
2031 $p['TEXT-OUTLINE-COLOR'] = $this->colorConverter->colAtoString($bilp['textparam']['outline-COLOR']);
2138 $oldcascadeCSS = $this->mpdf->blk[$this->mpdf->blklvl]['cascadeCSS'];
2146 // DEFAULT for this TAG set in DefaultCSS
2147 if (isset($this->mpdf->defaultCSS[$tag])) {
2148 $zp = $this->fixCSS($this->mpdf->defaultCSS[$tag]);
2154 if (isset($this->CSS[$tag])) {
2155 $zp = $this->CSS[$tag];
2163 if (isset($this->CSS['CLASS>>' . $class])) {
2164 $zp = $this->CSS['CLASS>>' . $class];
2171 if (isset($attr['ID']) && isset($this->CSS['ID>>' . $attr['ID']])) {
2172 $zp = $this->CSS['ID>>' . $attr['ID']];
2180 if (isset($this->CSS[$tag . '>>CLASS>>' . $class])) {
2181 $zp = $this->CSS[$tag . '>>CLASS>>' . $class];
2188 if (isset($attr['ID']) && isset($this->CSS[$tag . '>>ID>>' . $attr['ID']])) {
2189 $zp = $this->CSS[$tag . '>>ID>>' . $attr['ID']];
2197 $this->_set_mergedCSS($oldcascadeCSS[$tag], $p);
2200 $this->_set_mergedCSS($oldcascadeCSS['CLASS>>' . $class], $p);
2204 $this->_set_mergedCSS($oldcascadeCSS['ID>>' . $attr['ID']], $p);
2208 $this->_set_mergedCSS($oldcascadeCSS[$tag . '>>CLASS>>' . $class], $p);
2212 $this->_set_mergedCSS($oldcascadeCSS[$tag . '>>ID>>' . $attr['ID']], $p);
2217 $zp = $this->readInlineCSS($attr['STYLE']);
2285 $wrapperChecker = new StreamWrapperChecker($this->mpdf);
2301 if ($this->mpdf->basepathIsLocal) {
2324 $contents = $this->remoteContentFetcher->getFileContentsByCurl($path);