Blame view
sources/lib/public/appframework/http/templateresponse.php
3.53 KB
|
31b7f2792
|
1 2 3 4 5 |
<?php /** * ownCloud - App Framework * * @author Bernhard Posselt |
|
6d9380f96
|
6 |
* @copyright 2012 Bernhard Posselt <dev@bernhard-posselt.com> |
|
31b7f2792
|
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
*
* 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/>.
*
*/
/**
* Public interface of ownCloud for apps to use.
* AppFramework\HTTP\TemplateResponse class
*/
namespace OCP\AppFramework\Http;
/**
* Response for a normal template
*/
class TemplateResponse extends Response {
/**
* name of the template
* @var string
*/
protected $templateName;
/**
* parameters
* @var array
*/
protected $params;
/**
* rendering type (admin, user, blank)
* @var string
*/
protected $renderAs;
/**
* app name
* @var string
*/
protected $appName;
/**
* constructor of TemplateResponse
* @param string $appName the name of the app to load the template from
* @param string $templateName the name of the template
|
|
6d9380f96
|
64 65 66 |
* @param array $params an array of parameters which should be passed to the * template * @param string $renderAs how the page should be rendered, defaults to user |
|
31b7f2792
|
67 |
*/ |
|
6d9380f96
|
68 69 |
public function __construct($appName, $templateName, array $params=array(),
$renderAs='user') {
|
|
31b7f2792
|
70 71 |
$this->templateName = $templateName; $this->appName = $appName; |
|
6d9380f96
|
72 73 |
$this->params = $params; $this->renderAs = $renderAs; |
|
31b7f2792
|
74 75 76 77 78 79 80 |
} /** * Sets template parameters * @param array $params an array with key => value structure which sets template * variables |
|
6d9380f96
|
81 |
* @return TemplateResponse Reference to this object |
|
31b7f2792
|
82 83 84 |
*/
public function setParams(array $params){
$this->params = $params;
|
|
6d9380f96
|
85 86 |
return $this; |
|
31b7f2792
|
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
}
/**
* 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
|
|
6d9380f96
|
114 |
* @return TemplateResponse Reference to this object |
|
31b7f2792
|
115 116 117 |
*/
public function renderAs($renderAs){
$this->renderAs = $renderAs;
|
|
6d9380f96
|
118 119 |
return $this; |
|
31b7f2792
|
120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
}
/**
* 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(){
|
|
6d9380f96
|
137 138 |
// \OCP\Template needs an empty string instead of 'blank' for an unwrapped response $renderAs = $this->renderAs === 'blank' ? '' : $this->renderAs; |
|
31b7f2792
|
139 |
|
|
6d9380f96
|
140 |
$template = new \OCP\Template($this->appName, $this->templateName, $renderAs); |
|
31b7f2792
|
141 142 143 144 145 146 147 148 149 |
foreach($this->params as $key => $value){
$template->assign($key, $value);
}
return $template->fetchPage();
}
}
|