114 lines
2.7 KiB
PHP
114 lines
2.7 KiB
PHP
<?php
|
|
|
|
/**
|
|
* ownCloud - App Framework
|
|
*
|
|
* @author Bernhard Posselt
|
|
* @copyright 2012 Bernhard Posselt nukeawhale@gmail.com
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
|
* License as published by the Free Software Foundation; either
|
|
* version 3 of the License, or any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
|
|
*
|
|
* You should have received a copy of the GNU Affero General Public
|
|
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
|
*
|
|
*/
|
|
|
|
|
|
namespace OCP\AppFramework\Http;
|
|
|
|
|
|
/**
|
|
* Response for a normal template
|
|
*/
|
|
class TemplateResponse extends Response {
|
|
|
|
protected $templateName;
|
|
protected $params;
|
|
protected $renderAs;
|
|
protected $appName;
|
|
|
|
/**
|
|
* @param string $templateName the name of the template
|
|
* @param string $appName the name of the app to load the template from
|
|
*/
|
|
public function __construct($appName, $templateName) {
|
|
$this->templateName = $templateName;
|
|
$this->appName = $appName;
|
|
$this->params = array();
|
|
$this->renderAs = 'user';
|
|
}
|
|
|
|
|
|
/**
|
|
* Sets template parameters
|
|
* @param array $params an array with key => value structure which sets template
|
|
* variables
|
|
*/
|
|
public function setParams(array $params){
|
|
$this->params = $params;
|
|
}
|
|
|
|
|
|
/**
|
|
* Used for accessing the set parameters
|
|
* @return array the params
|
|
*/
|
|
public function getParams(){
|
|
return $this->params;
|
|
}
|
|
|
|
|
|
/**
|
|
* Used for accessing the name of the set template
|
|
* @return string the name of the used template
|
|
*/
|
|
public function getTemplateName(){
|
|
return $this->templateName;
|
|
}
|
|
|
|
|
|
/**
|
|
* Sets the template page
|
|
* @param string $renderAs admin, user or blank. Admin also prints the admin
|
|
* settings header and footer, user renders the normal
|
|
* normal page including footer and header and blank
|
|
* just renders the plain template
|
|
*/
|
|
public function renderAs($renderAs){
|
|
$this->renderAs = $renderAs;
|
|
}
|
|
|
|
|
|
/**
|
|
* Returns the set renderAs
|
|
* @return string the renderAs value
|
|
*/
|
|
public function getRenderAs(){
|
|
return $this->renderAs;
|
|
}
|
|
|
|
|
|
/**
|
|
* Returns the rendered html
|
|
* @return string the rendered html
|
|
*/
|
|
public function render(){
|
|
|
|
$template = new \OCP\Template($this->appName, $this->templateName, $this->renderAs);
|
|
|
|
foreach($this->params as $key => $value){
|
|
$template->assign($key, $value);
|
|
}
|
|
|
|
return $template->fetchPage();
|
|
}
|
|
|
|
}
|