72 lines
1.7 KiB
PHP
72 lines
1.7 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* @file src/Core/Renderer.php
|
||
|
*/
|
||
|
|
||
|
namespace Friendica\Core;
|
||
|
|
||
|
use Friendica\BaseObject;
|
||
|
use Friendica\Core\System;
|
||
|
use Friendica\Render\FriendicaSmarty;
|
||
|
|
||
|
/**
|
||
|
* @brief This class handles Renderer related functions.
|
||
|
*/
|
||
|
class Renderer extends BaseObject
|
||
|
{
|
||
|
/**
|
||
|
* @brief This is our template processor
|
||
|
*
|
||
|
* @param string|FriendicaSmarty $s The string requiring macro substitution or an instance of FriendicaSmarty
|
||
|
* @param array $r key value pairs (search => replace)
|
||
|
*
|
||
|
* @return string substituted string
|
||
|
*/
|
||
|
public static function replaceMacros($s, $r)
|
||
|
{
|
||
|
$stamp1 = microtime(true);
|
||
|
$a = self::getApp();
|
||
|
|
||
|
// pass $baseurl to all templates
|
||
|
$r['$baseurl'] = System::baseUrl();
|
||
|
$t = $a->getTemplateEngine();
|
||
|
|
||
|
try {
|
||
|
$output = $t->replaceMacros($s, $r);
|
||
|
} catch (Exception $e) {
|
||
|
echo "<pre><b>" . __FUNCTION__ . "</b>: " . $e->getMessage() . "</pre>";
|
||
|
killme();
|
||
|
}
|
||
|
|
||
|
$a->saveTimestamp($stamp1, "rendering");
|
||
|
|
||
|
return $output;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @brief Load a given template $s
|
||
|
*
|
||
|
* @param string $s Template to load.
|
||
|
* @param string $root Optional.
|
||
|
*
|
||
|
* @return string template.
|
||
|
*/
|
||
|
public static function getMarkupTemplate($s, $root = '')
|
||
|
{
|
||
|
$stamp1 = microtime(true);
|
||
|
$a = self::getApp();
|
||
|
$t = $a->getTemplateEngine();
|
||
|
|
||
|
try {
|
||
|
$template = $t->getTemplateFile($s, $root);
|
||
|
} catch (Exception $e) {
|
||
|
echo "<pre><b>" . __FUNCTION__ . "</b>: " . $e->getMessage() . "</pre>";
|
||
|
killme();
|
||
|
}
|
||
|
|
||
|
$a->saveTimestamp($stamp1, "file");
|
||
|
|
||
|
return $template;
|
||
|
}
|
||
|
}
|