- Created `Articles` class for rendering article views including full articles, miniature lists, and news sections. - Added `Banners` class for handling banner displays. - Introduced `Languages` class for rendering language options. - Implemented `Menu` class for rendering page and menu structures. - Developed `Newsletter` class for newsletter rendering. - Created `Scontainers` class for rendering specific containers. - Added `ShopCategory` class for managing shop category views and pagination. - Implemented `ShopClient` class for client-related views including address management and login forms. - Created `ShopPaymentMethod` class for displaying payment methods in the basket. - Added `ShopProduct` class for generating product URLs. - Introduced `ShopSearch` class for rendering a simple search form. - Added `.htaccess` file in the plugins directory 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];
|
|
}
|
|
}
|