33
0
mirror of https://github.com/joomla-extensions/patchtester.git synced 2024-11-10 15:21:01 +00:00
patchtester/administrator/components/com_patchtester/PatchTester/View/DefaultHtmlView.php

67 lines
1.4 KiB
PHP
Raw Normal View History

<?php
/**
* Patch testing component for the Joomla! CMS
*
2015-02-22 21:29:43 +00:00
* @copyright Copyright (C) 2011 - 2012 Ian MacLennan, Copyright (C) 2013 - 2015 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later
*/
namespace PatchTester\View;
/**
* Default HTML view class.
*
* @since 2.0
*/
class DefaultHtmlView extends \JViewHtml
{
/**
* Load a template file -- first look in the templates folder for an override
*
* @param string $tpl The name of the template source file; automatically searches the template paths and compiles as needed.
*
* @return string The output of the the template script.
*
* @since 2.0
* @throws \RuntimeException
*/
public function loadTemplate($tpl = null)
{
// Get the path to the file
2015-12-05 17:43:54 +00:00
$file = $this->getLayout();
if (isset($tpl))
{
$file .= '_' . $tpl;
}
$path = $this->getPath($file);
2015-02-23 00:07:05 +00:00
if (!$path)
{
2015-02-23 00:07:05 +00:00
throw new \RuntimeException(\JText::sprintf('JLIB_APPLICATION_ERROR_LAYOUTFILE_NOT_FOUND', $file), 500);
}
2015-02-23 00:07:05 +00:00
// Unset so as not to introduce into template scope
unset($tpl);
unset($file);
2015-02-23 00:07:05 +00:00
// Never allow a 'this' property
if (isset($this->this))
{
unset($this->this);
}
2015-02-23 00:07:05 +00:00
// Start an output buffer.
ob_start();
2015-02-23 00:07:05 +00:00
// Load the template.
include $path;
2015-02-23 00:07:05 +00:00
// Get the layout contents.
$output = ob_get_clean();
return $output;
}
}