Blame view
dompdf/src/PhpEvaluator.php
1.2 KB
670b6d6f8
![]() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
<?php /** * @package dompdf * @link http://dompdf.github.com/ * @author Benj Carson <benjcarson@digitaljunkies.ca> * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License */ namespace Dompdf; use Dompdf\Frame; /** * Executes inline PHP code during the rendering process * * @package dompdf */ class PhpEvaluator { /** * @var Canvas */ protected $_canvas; function __construct(Canvas $canvas) { $this->_canvas = $canvas; } function evaluate($code, $vars = array()) { if (!$this->_canvas->get_dompdf()->get_option("enable_php")) { return; } // Set up some variables for the inline code $pdf = $this->_canvas; $fontMetrics = $pdf->get_dompdf()->getFontMetrics(); $PAGE_NUM = $pdf->get_page_number(); $PAGE_COUNT = $pdf->get_page_count(); // Override those variables if passed in foreach ($vars as $k => $v) { $$k = $v; } //$code = html_entity_decode($code); // @todo uncomment this when tested eval($code); } function render(Frame $frame) { $this->evaluate($frame->get_node()->nodeValue); } } |