You've already forked phpmyadmin
mirror of
https://github.com/phpmyadmin/phpmyadmin.git
synced 2026-10-31 10:54:46 +03:00
Set namespace on DbQbe. Set namespace to 'DbSearch'. Split Advisor.class.php file. Change Advisor namespace. Rename DbQbe class and file. Set namespace on DisplayResults. Set namespace on Error. Use namespace for ErrorHandler. Add class autoloader. Change ErrorHandler filename. Remove some require. Update Config namespace path. Update PMA_Util to PMA\libraries\Util. Rename Font and File classes files. Use namespace for Footer. Set namespace in all libraries classes. Namespace OutputBuffering. Export SubPartition. Rename Partition file. Namespace PDF. Namespace RecentFavoriteTable. Replace PMA_Response by Response and PMA_Message by Message. Update uses and calls. Fix unit tests. Fix SqlParser autoload. Signed-off-by: Hugues Peccatte <hugues.peccatte@gmail.com>
94 lines
1.9 KiB
PHP
94 lines
1.9 KiB
PHP
<?php
|
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
|
/**
|
|
* hold PMA\libraries\Template class
|
|
*
|
|
* @package PMA\libraries
|
|
*/
|
|
namespace PMA\libraries;
|
|
|
|
/**
|
|
* Class Template
|
|
*
|
|
* Handle front end templating
|
|
*
|
|
* @package PMA\libraries
|
|
*/
|
|
class Template
|
|
{
|
|
|
|
protected $name = null;
|
|
|
|
const BASE_PATH = 'templates/';
|
|
|
|
/**
|
|
* Template constructor
|
|
*
|
|
* @param string $name Template name
|
|
*/
|
|
protected function __construct($name)
|
|
{
|
|
$this->name = $name;
|
|
}
|
|
|
|
/**
|
|
* Template getter
|
|
*
|
|
* @param string $name Template name
|
|
*
|
|
* @return Template
|
|
*/
|
|
public static function get($name)
|
|
{
|
|
return new Template($name);
|
|
}
|
|
|
|
/**
|
|
* Remove whitespaces between tags and innerHTML
|
|
*
|
|
* @param string $content HTML to perform the trim method
|
|
*
|
|
* @return string
|
|
*/
|
|
public static function trim($content)
|
|
{
|
|
$regexp = '/(<[^\/][^>]+>)\s+|\s+(<\/)/';
|
|
|
|
return preg_replace($regexp, "$1$2", $content);
|
|
}
|
|
|
|
/**
|
|
* Render template
|
|
*
|
|
* @param array $data Variables to provides for template
|
|
* @param bool $trim Trim content
|
|
*
|
|
* @return string
|
|
*/
|
|
public function render($data = array(), $trim = true)
|
|
{
|
|
$template = static::BASE_PATH . $this->name . '.phtml';
|
|
try {
|
|
extract($data);
|
|
ob_start();
|
|
if (file_exists($template)) {
|
|
include $template;
|
|
} else {
|
|
throw new \LogicException(
|
|
'The template "' . $template . '" not found.'
|
|
);
|
|
}
|
|
if ($trim) {
|
|
$content = Template::trim(ob_get_clean());
|
|
} else {
|
|
$content = ob_get_clean();
|
|
}
|
|
|
|
return $content;
|
|
} catch (\LogicException $e) {
|
|
ob_end_clean();
|
|
throw new \LogicException($e->getMessage());
|
|
}
|
|
}
|
|
}
|