- Created Articles.php for rendering article views including full articles, miniature lists, and news sections. - Added Banners.php for handling banner displays. - Introduced Languages.php for rendering language options. - Implemented Menu.php for dynamic menu rendering. - Developed Newsletter.php for newsletter view rendering. - Created Scontainers.php for rendering specific containers. - Added ShopCategory.php for category descriptions and product listings. - Introduced ShopClient.php for managing client-related views such as address editing and order history. - Implemented ShopPaymentMethod.php for displaying payment methods in the basket. - Created ShopProduct.php for generating product URLs. - Added ShopSearch.php for rendering a simple search form. - Added .htaccess file to enhance security by restricting access to sensitive files and directories.
64 lines
1.3 KiB
PHP
64 lines
1.3 KiB
PHP
<?php
|
|
namespace Shared\Tpl;
|
|
|
|
class Tpl
|
|
{
|
|
protected $vars = array();
|
|
|
|
public static function view($file, $values = '')
|
|
{
|
|
$tpl = new self;
|
|
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("'", "'", $out);
|
|
$out = str_replace('"', """, $out);
|
|
$out = str_replace("<", "<", $out);
|
|
$out = str_replace(">", ">", $out);
|
|
return $out;
|
|
}
|
|
|
|
public function render($file)
|
|
{
|
|
$paths = [
|
|
'templates_user/' . $file . '.php',
|
|
'templates/' . $file . '.php',
|
|
'../templates_user/' . $file . '.php',
|
|
'../templates/' . $file . '.php',
|
|
$file . '.php',
|
|
];
|
|
|
|
foreach ($paths as $path) {
|
|
if (file_exists($path)) {
|
|
return $this->renderFile($path);
|
|
}
|
|
}
|
|
|
|
return '<div class="alert alert-danger" role="alert">Nie znaleziono pliku widoku: <b>' . $file . '.php</b>';
|
|
}
|
|
|
|
private function renderFile($path)
|
|
{
|
|
ob_start();
|
|
include $path;
|
|
$out = ob_get_contents();
|
|
ob_end_clean();
|
|
return $out;
|
|
}
|
|
|
|
public function __set($name, $value)
|
|
{
|
|
$this->vars[$name] = $value;
|
|
}
|
|
|
|
public function __get($name)
|
|
{
|
|
return $this->vars[$name];
|
|
}
|
|
}
|