initial commit of file from CVS for smeserver-phpsysinfo on Sat Sep 7 20:53:46 AEST 2024
This commit is contained in:
93
root/opt/phpsysinfo/includes/output/class.Template.inc.php
Normal file
93
root/opt/phpsysinfo/includes/output/class.Template.inc.php
Normal file
@@ -0,0 +1,93 @@
|
||||
<?php
|
||||
/**
|
||||
* basic output functions
|
||||
*
|
||||
* PHP version 5
|
||||
*
|
||||
* @category PHP
|
||||
* @package PSI_Output
|
||||
* @author Damien Roth <iysaak@users.sourceforge.net>
|
||||
* @copyright 2009 phpSysInfo
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License
|
||||
* @version SVN: $Id: class.Output.inc.php 315 2009-09-02 15:48:31Z bigmichi1 $
|
||||
* @link http://phpsysinfo.sourceforge.net
|
||||
*/
|
||||
/**
|
||||
* basic output functions for all output formats
|
||||
*
|
||||
* @category PHP
|
||||
* @package PSI_Output
|
||||
* @author Damien Roth <iysaak@users.sourceforge.net>
|
||||
* @copyright 2009 phpSysInfo
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License
|
||||
* @version Release: 3.0
|
||||
* @link http://phpsysinfo.sourceforge.net
|
||||
*/
|
||||
class Template
|
||||
{
|
||||
/**
|
||||
* Vars used in the template
|
||||
*
|
||||
* @Array
|
||||
*/
|
||||
private $_vars;
|
||||
|
||||
/**
|
||||
* Template file
|
||||
*
|
||||
* @String
|
||||
*/
|
||||
private $_file;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param String $file the template file name
|
||||
*/
|
||||
public function __construct($file=null)
|
||||
{
|
||||
$this->_file = $file;
|
||||
$this->_vars = array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a template variable.
|
||||
*
|
||||
* @param string variable name
|
||||
* @param string variable value
|
||||
*/
|
||||
public function set($name, $value)
|
||||
{
|
||||
$this->_vars[$name] = is_object($value) ? $value->fetch() : $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Open, parse, and return the template file.
|
||||
*
|
||||
* @param string $file
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function fetch($file=null)
|
||||
{
|
||||
if (!$file) {
|
||||
$file = $this->_file;
|
||||
}
|
||||
|
||||
// Extract the vars to local namespace
|
||||
extract($this->_vars);
|
||||
|
||||
// Start output buffering
|
||||
ob_start();
|
||||
|
||||
include(APP_ROOT.$file);
|
||||
|
||||
// Get the contents of the buffer
|
||||
$contents = ob_get_contents();
|
||||
|
||||
// End buffering and discard
|
||||
ob_end_clean();
|
||||
|
||||
return $contents;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user