Files
vidok.com/autoload/class.Tpl.php
2024-11-21 14:26:28 +01:00

74 lines
1.6 KiB
PHP

<?php
class Tpl
{
protected $dir = 'templates/';
protected $vars = array();
function __construct( $dir = null )
{
if ( $dir !== null )
$this -> dir = $dir;
}
public static function view( $file, $values = '' )
{
$tpl = new \Tpl;
if ( is_array( $values ) ) foreach ( $values as $key => $val )
$tpl -> $key = $val;
return $tpl -> render( $file );
}
public function secureHTML( $val )
{
$out = stripslashes( $val );
$out = str_replace( "'", "&#039;", $out );
$out = str_replace( '"', "&#34;", $out );
$out = str_replace( "<", "&lt;", $out );
$out = str_replace( ">", "&gt;", $out );
return $out;
}
public function render( $file )
{
if ( file_exists( 'templates_user/' . $file . '.php' ) )
{
ob_start();
include 'templates_user/' . $file . '.php';
$out = ob_get_contents();
ob_end_clean();
return $out;
}
else if ( file_exists( 'templates/' . $file . '.php' ) )
{
ob_start();
include 'templates/' . $file . '.php';
$out = ob_get_contents();
ob_end_clean();
return $out;
}
else if ( file_exists( $file . '.php' ) )
{
ob_start();
include $file . '.php';
$out = ob_get_contents();
ob_end_clean();
return $out;
}
else
return '<div class="alert alert-danger" role="alert">Nie znaleziono pliku widoku: <b>' . $this -> dir . $file . '.php</b>';
}
public function __set( $name, $value )
{
$this -> vars[ $name ] = $value;
}
public function __get( $name )
{
return $this -> vars[ $name ];
}
}