Add view classes for articles, banners, languages, menu, newsletter, containers, shop categories, clients, payment methods, products, and search
- 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.
This commit is contained in:
63
autoload/Shared/Tpl/Tpl.php
Normal file
63
autoload/Shared/Tpl/Tpl.php
Normal file
@@ -0,0 +1,63 @@
|
||||
<?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];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user