Dateien hochladen nach „views“
This commit is contained in:
parent
5aa1780985
commit
4112200a4f
89
views/Template.class.inc.php
Normal file
89
views/Template.class.inc.php
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Template Class
|
||||||
|
* Templates are stored under templates/
|
||||||
|
* A placeholder is created with [[NAME OF PLACEHOLDER]]
|
||||||
|
*/
|
||||||
|
class Template
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Variables for Template Class
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* @var string To store informations while class is defined
|
||||||
|
*/
|
||||||
|
private $template;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Template constructor
|
||||||
|
* .
|
||||||
|
* @param string $a_file_name Template file name(without .tmpl.html)
|
||||||
|
* @throws Exception Template not found Exception
|
||||||
|
*/
|
||||||
|
public function __construct( $a_file_name )
|
||||||
|
{
|
||||||
|
$path = __DIR__ . "/../templates/{$a_file_name}.tmpl.html";
|
||||||
|
|
||||||
|
# Template existiert nicht
|
||||||
|
if ( !file_exists( $path ) )
|
||||||
|
{
|
||||||
|
throw new RuntimeException( "Template '$a_file_name' doesn't exist!", 2 );
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->template = file_get_contents( $path );
|
||||||
|
|
||||||
|
} # function __construct(...)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Replaces a placeholder with a string
|
||||||
|
*
|
||||||
|
* @param string $a_key Key of the placeholder
|
||||||
|
* @param string $a_value Replace this with the key
|
||||||
|
*
|
||||||
|
* @throws Exception Wirft Exception
|
||||||
|
* @return void
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function set_placeholder( $a_key, $a_value )
|
||||||
|
{
|
||||||
|
if ( empty( $a_value ) )
|
||||||
|
{
|
||||||
|
$a_value = '-';
|
||||||
|
}
|
||||||
|
$a_key = mb_strtoupper( $a_key );
|
||||||
|
$key = '[[' . $a_key . ']]';
|
||||||
|
|
||||||
|
$this->template = str_replace( $key, $a_value, $this->template );
|
||||||
|
|
||||||
|
} # function set_placeholder(...)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes all unused placeholders
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
private function removePlaceholder()
|
||||||
|
{
|
||||||
|
$this->template = preg_replace( '/\[\[.*]]/', '', $this->template );
|
||||||
|
|
||||||
|
} # function removePlaceholder()
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the template as string
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getHtml()
|
||||||
|
{
|
||||||
|
# Remove all unreplaced placeholders
|
||||||
|
$this->removePlaceholder();
|
||||||
|
|
||||||
|
return $this->template;
|
||||||
|
|
||||||
|
} # function getHtml()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} # class
|
Loading…
x
Reference in New Issue
Block a user