Файл: concrete5.7.5.6/concrete/src/Controller/AbstractController.php
Строк: 141
<?php
namespace ConcreteCoreController;
use ConcreteCoreApplicationApplication;
use ConcreteCoreApplicationApplicationAwareInterface;
use ConcreteCoreHttpResponseAssetGroup;
use Core;
use Request;
use View;
abstract class AbstractController implements ApplicationAwareInterface
{
protected $helpers = array();
protected $sets = array();
protected $action;
protected $request;
protected $parameters;
/** @var Application */
protected $app;
public function __construct()
{
$this->request = Request::getInstance();
}
public function requireAsset()
{
$args = func_get_args();
$r = ResponseAssetGroup::get();
call_user_func_array(array($r, 'requireAsset'), $args);
}
/**
* Adds an item to the view's header. This item will then be automatically printed out before the <body> section of the page
*
* @param string $item
* @return void
*/
public function addHeaderItem($item)
{
$v = View::getInstance();
$v->addHeaderItem($item);
}
/**
* Adds an item to the view's footer. This item will then be automatically printed out before the </body> section of the page
*
* @param string $item
* @return void
*/
public function addFooterItem($item)
{
$v = View::getInstance();
$v->addFooterItem($item);
}
public function set($key, $val)
{
$this->sets[$key] = $val;
}
public function getSets()
{
return $this->sets;
}
public function shouldRunControllerTask()
{
// this assumes the task has already been checked for validity.
return true;
}
public function getHelperObjects()
{
$helpers = array();
foreach ($this->helpers as $handle) {
$h = Core::make('helper/' . $handle);
$helpers[(str_replace('/', '_', $handle))] = $h;
}
return $helpers;
}
public function get($key = null, $defaultValue = null)
{
if ($key == null) {
return $_GET;
}
if (isset($this->sets[$key])) {
return $this->sets[$key];
}
if (!isset($this->request)) {
$this->request = Request::createFromGlobals();
}
$val = $this->request->get($key, $defaultValue);
return $val;
}
public function getTask()
{
return $this->getAction();
}
public function getAction()
{
return $this->action;
}
public function getParameters()
{
return $this->parameters;
}
public function on_start()
{
}
public function on_before_render()
{
}
/**
* @deprecated
*/
public function isPost()
{
return Request::isPost();
}
public function post($key = null, $defaultValue = null)
{
return Request::post($key, $defaultValue);
}
public function redirect()
{
$args = func_get_args();
$r = call_user_func_array(array('Redirect', 'to'), $args);
$r->send();
exit;
}
public function runTask($action, $parameters)
{
$this->runAction($action, $parameters);
}
public function runAction($action, $parameters = array())
{
$this->action = $action;
$this->parameters = $parameters;
if (is_callable(array($this, $action))) {
if ($this->shouldRunControllerTask()) {
return call_user_func_array(array($this, $action), $parameters);
}
}
}
public function request($key = null)
{
return Request::request($key);
}
/**
* Set the application object
*
* @param ConcreteCoreApplicationApplication $application
*/
public function setApplication(Application $application)
{
$this->app = $application;
}
}