mirror of
				https://github.com/Icinga/icingaweb2.git
				synced 2025-11-04 05:05:01 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?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
 | 
						|
 */
 | 
						|
 | 
						|
/**
 | 
						|
 * Executes inline PHP code during the rendering process
 | 
						|
 *
 | 
						|
 * @access private
 | 
						|
 * @package dompdf
 | 
						|
 */
 | 
						|
class PHP_Evaluator {
 | 
						|
  
 | 
						|
  /**
 | 
						|
   * @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;
 | 
						|
    $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);
 | 
						|
  }
 | 
						|
}
 |