composer package updates
[openemr.git] / vendor / dompdf / dompdf / src / PhpEvaluator.php
blob0058027a0282e4fdf03cbec7677dbaee84c19099
1 <?php
2 /**
3 * @package dompdf
4 * @link http://dompdf.github.com/
5 * @author Benj Carson <benjcarson@digitaljunkies.ca>
6 * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
7 */
8 namespace Dompdf;
10 /**
11 * Executes inline PHP code during the rendering process
13 * @package dompdf
15 class PhpEvaluator
18 /**
19 * @var Canvas
21 protected $_canvas;
23 /**
24 * PhpEvaluator constructor.
25 * @param Canvas $canvas
27 public function __construct(Canvas $canvas)
29 $this->_canvas = $canvas;
32 /**
33 * @param $code
34 * @param array $vars
36 public function evaluate($code, $vars = array())
38 if (!$this->_canvas->get_dompdf()->getOptions()->getIsPhpEnabled()) {
39 return;
42 // Set up some variables for the inline code
43 $pdf = $this->_canvas;
44 $fontMetrics = $pdf->get_dompdf()->getFontMetrics();
45 $PAGE_NUM = $pdf->get_page_number();
46 $PAGE_COUNT = $pdf->get_page_count();
48 // Override those variables if passed in
49 foreach ($vars as $k => $v) {
50 $$k = $v;
53 eval($code);
56 /**
57 * @param Frame $frame
59 public function render(Frame $frame)
61 $this->evaluate($frame->get_node()->nodeValue);