protected function render($template, $params)
{
- $context = IPF_Project_Template::context($params, $this->request);
- $tmpl = new IPF_Template_File($template, IPF_Project_Template::getDefaultTemplateEnvironment());
- $html = $tmpl->render(new IPF_Template_Context($context));
- return new IPF_HTTP_Response($html);
+ return IPF_Shortcuts::RenderToResponse($template, $params, $this->request);
}
}
final class IPF_Project_Template
{
- private static $defaultEnvironment = null;
-
- public static function getDefaultTemplateEnvironment()
- {
- if (!self::$defaultEnvironment)
- self::$defaultEnvironment = self::createEnvironment();
- return self::$defaultEnvironment;
- }
-
- private static function createEnvironment()
- {
- $e = new IPF_Template_Environment_FileSystem;
-
- $e->cache = IPF::get('tmp');
- $e->debug = IPF::get('debug');
-
- $e->folders = self::templateDirs();
-
- $e->tags['url'] = 'IPF_Project_Template_Tag_Url';
- $e->tags['params'] = 'IPF_Project_Template_Tag_Params';
- // extra tags
- $e->tags = array_merge(IPF::get('template_tags', array()), $e->tags);
-
- // extra modifiers
- $e->modifiers = array_merge(IPF::get('template_modifiers', array()), $e->modifiers);
-
- return $e;
- }
-
public static function templateDirs()
{
$dirs = array();
}
}
-class IPF_Project_Template_Tag_Url extends IPF_Template_Tag
-{
- function start()
- {
- echo IPF_Project_Template::urlTag(func_get_args());
- }
-}
-
-class IPF_Project_Template_Tag_Params extends IPF_Template_Tag
-{
- function start()
- {
- echo IPF_Project_Template::paramsTag(func_get_args());
- }
-}
-
{
public static function RenderToResponse($tplfile, $params=array(), $request=null)
{
- return new IPF_HTTP_Response(IPF_Shortcuts::RenderToString($tplfile, $params, $request));
+ return new IPF_HTTP_Response(self::RenderToString($tplfile, $params, $request));
}
public static function RenderToString($tplfile, $params=array(), $request=null)
{
$context = IPF_Project_Template::context($params, $request);
- $tmpl = new IPF_Template_File($tplfile, IPF_Project_Template::getDefaultTemplateEnvironment());
+ $tmpl = new IPF_Template_File($tplfile, self::getDefaultTemplateEnvironment());
return $tmpl->render(new IPF_Template_Context($context));
}
+
+ private static $defaultEnvironment = null;
+
+ public static function getDefaultTemplateEnvironment()
+ {
+ if (!self::$defaultEnvironment)
+ self::$defaultEnvironment = self::createEnvironment();
+ return self::$defaultEnvironment;
+ }
+
+ private static function createEnvironment()
+ {
+ $e = new IPF_Template_Environment_FileSystem;
+
+ $e->cache = IPF::get('tmp');
+ $e->debug = IPF::get('debug');
+
+ $e->folders = IPF_Project_Template::templateDirs();
+
+ $e->tags['url'] = 'IPF_Template_Tag_Url';
+ $e->tags['params'] = 'IPF_Template_Tag_Params';
+ // extra tags
+ $e->tags = array_merge(IPF::get('template_tags', array()), $e->tags);
+
+ // extra modifiers
+ $e->modifiers = array_merge(IPF::get('template_modifiers', array()), $e->modifiers);
+
+ return $e;
+ }
+}
+
+class IPF_Template_Tag_Url extends IPF_Template_Tag
+{
+ function start()
+ {
+ echo IPF_Project_Template::urlTag(func_get_args());
+ }
+}
+
+class IPF_Template_Tag_Params extends IPF_Template_Tag
+{
+ function start()
+ {
+ echo IPF_Project_Template::paramsTag(func_get_args());
+ }
}