$ids = explode(',', $page->sidebars);
//get sidebars
$leftSidebars = Sidebar::whereIn('id', $ids)->where('position', 'LIKE', '%Left%')->get();
$rightSidebars = Sidebar::whereIn('id', $ids)->where('position', 'LIKE', '%Right%')->get();
//set page meta info
$meta = "<meta name='description' content='$page->metaDescription' />
<meta property='og:title' content='$page->pageTitle' />
<meta property='og:type' content='article' />
<meta property='og:url' content='".site_url($page->slug)."' />
<meta property='og:image' content='".theme_url('images/nova.png', 'Bootstrap')."' />
<meta property='og:description' content='$page->metaDescription' />";
//load a view from app/Modules/Pages/Views/Pages/Fetch.tpl file
return $this->createView()
->shares('title', $page->browserTitle)
->shares('meta', $meta)
->shares('pageID', $page->id)
->with(compact('content', 'leftSidebars', 'rightSidebars', 'page'));
}
public function updateAjax()
{
if (Auth::check()) {
$input = Input::all();
//assign post data
$id = $input['id'];
$col = $input['col'];
$content = $input['content'];
if ($col == 'pageTitle') {
$content = strip_tags($content);
$content = trim($content);
}
//get page record
Arguments
"compact(): Undefined variable: content"
$ids = explode(',', $page->sidebars);
//get sidebars
$leftSidebars = Sidebar::whereIn('id', $ids)->where('position', 'LIKE', '%Left%')->get();
$rightSidebars = Sidebar::whereIn('id', $ids)->where('position', 'LIKE', '%Right%')->get();
//set page meta info
$meta = "<meta name='description' content='$page->metaDescription' />
<meta property='og:title' content='$page->pageTitle' />
<meta property='og:type' content='article' />
<meta property='og:url' content='".site_url($page->slug)."' />
<meta property='og:image' content='".theme_url('images/nova.png', 'Bootstrap')."' />
<meta property='og:description' content='$page->metaDescription' />";
//load a view from app/Modules/Pages/Views/Pages/Fetch.tpl file
return $this->createView()
->shares('title', $page->browserTitle)
->shares('meta', $meta)
->shares('pageID', $page->id)
->with(compact('content', 'leftSidebars', 'rightSidebars', 'page'));
}
public function updateAjax()
{
if (Auth::check()) {
$input = Input::all();
//assign post data
$id = $input['id'];
$col = $input['col'];
$content = $input['content'];
if ($col == 'pageTitle') {
$content = strip_tags($content);
$content = trim($content);
}
//get page record
Arguments
"content"
"leftSidebars"
"rightSidebars"
"page"
if (! isset($this->theme)) {
$this->theme = Config::get('app.theme', 'Bootstrap');
}
}
/**
* Execute an action on the controller.
*
* @param string $method
* @param array $params
* @return \Symfony\Component\HttpFoundation\Response
*/
public function callAction($method, $parameters)
{
$this->action = $method;
//
$this->initialize();
$response = call_user_func_array(array($this, $method), $parameters);
return $this->processResponse($response);
}
/**
* Process a Controller action response.
*
* @param mixed $response
* @return mixed
*/
protected function processResponse($response)
{
if (! $response instanceof Renderable) {
return $response;
}
// The auto-rendering in a Layout of the returned View instance.
else if ((! $response instanceof Layout) && ! empty($this->layout)) {
return $this->createLayout()->with('content', $response);
}
Arguments
if (! isset($this->theme)) {
$this->theme = Config::get('app.theme', 'Bootstrap');
}
}
/**
* Execute an action on the controller.
*
* @param string $method
* @param array $params
* @return \Symfony\Component\HttpFoundation\Response
*/
public function callAction($method, $parameters)
{
$this->action = $method;
//
$this->initialize();
$response = call_user_func_array(array($this, $method), $parameters);
return $this->processResponse($response);
}
/**
* Process a Controller action response.
*
* @param mixed $response
* @return mixed
*/
protected function processResponse($response)
{
if (! $response instanceof Renderable) {
return $response;
}
// The auto-rendering in a Layout of the returned View instance.
else if ((! $response instanceof Layout) && ! empty($this->layout)) {
return $this->createLayout()->with('content', $response);
}
Arguments
array:2 [
0 => Pages {#381}
1 => "fetch"
]
array:1 [
"slug" => "/"
]
}
return $response;
}
/**
* Call the given controller instance method.
*
* @param \Nova\Routing\Controller $controller
* @param \Nova\Routing\Route $route
* @param string $method
* @return mixed
*/
protected function call($controller, $route, $method)
{
$parameters = $this->resolveClassMethodDependencies(
$route->parametersWithoutNulls(), $controller, $method
);
return $controller->callAction($method, $parameters);
}
/**
* Call the "before" filters for the controller.
*
* @param \Nova\Routing\Controller $controller
* @param \Nova\Routing\Route $route
* @param \Nova\Http\Request $request
* @param string $method
* @return mixed
*/
protected function before($controller, $route, $request, $method)
{
foreach ($controller->getBeforeFilters() as $filter => $options) {
if (static::methodExcludedByOptions($method, $options)) {
continue;
}
$response = $this->callFilter($filter, $route, $request);
Arguments
"fetch"
array:1 [
"slug" => "/"
]
$this->router = $router;
}
/**
* Dispatch a request to a given controller and method.
*
* @param \Nova\Routing\Route $route
* @param \Nova\Http\Request $request
* @param \Nova\Routing\Controller $controller
* @param string $method
* @return mixed
*/
public function dispatch(Route $route, Request $request, Controller $controller, $method)
{
$this->assignAfter($controller, $route, $method);
$response = $this->before($controller, $route, $request, $method);
if (is_null($response)) {
return $this->call($controller, $route, $method);
}
return $response;
}
/**
* Call the given controller instance method.
*
* @param \Nova\Routing\Controller $controller
* @param \Nova\Routing\Route $route
* @param string $method
* @return mixed
*/
protected function call($controller, $route, $method)
{
$parameters = $this->resolveClassMethodDependencies(
$route->parametersWithoutNulls(), $controller, $method
);
return $controller->callAction($method, $parameters);
Arguments
$parameters = $this->resolveMethodDependencies(
$this->parametersWithoutNulls(), new ReflectionFunction($callable)
);
return call_user_func_array($callable, $parameters);
}
/**
* Run the route action and return the response.
*
* @param \Nova\Http\Request $request
*
* @return mixed
*/
protected function runController(Request $request)
{
list($controller, $method) = explode('@', $this->action['uses']);
return $this->controllerDispatcher()->dispatch(
$this, $request, $this->container->make($controller), $method
);
}
/**
* Get the dispatcher for the route's controller.
*
* @return \Nova\Routing\ControllerDispatcher
*/
public function controllerDispatcher()
{
if ($this->container->bound('routing.controller.dispatcher')) {
return $this->container['routing.controller.dispatcher'];
}
return new ControllerDispatcher($this->router, $this->container);
}
/**
* Checks if a Request matches the Route pattern.
*
Arguments
}
/**
* Run the route action and return the response.
*
* @param \Nova\Http\Request $request
* @return mixed
*/
public function run(Request $request)
{
if (! isset($this->container)) {
$this->container = new Container();
}
try {
if (! $this->isControllerAction()) {
return $this->runCallable($request);
}
return $this->runController($request);
}
catch (HttpResponseException $e) {
return $e->getResponse();
}
}
/**
* Checks whether the route's action is a controller.
*
* @return bool
*/
protected function isControllerAction()
{
return is_string($this->action['uses']);
}
/**
* Run the route action and return the response.
*
* @param \Nova\Http\Request $request
Arguments
*/
public function dispatchToRoute(Request $request)
{
// Execute the Routes matching.
$route = $this->findRoute($request);
$request->setRouteResolver(function () use ($route)
{
return $route;
});
$this->events->fire('router.matched', array($route, $request));
// Once we have successfully matched the incoming request to a given route we
// can call the before filters on that route. This works similar to global
// filters in that if a response is returned we will not call the route.
$response = $this->callRouteBefore($route, $request);
if (is_null($response)) {
$response = $route->run($request);
}
// Prepare the Reesponse.
$response = $this->prepareResponse($request, $response);
// After we have a prepared response from the route or filter we will call to
// the "after" filters to do any last minute processing on this request or
// response object before the response is returned back to the consumer.
$this->callRouteAfter($route, $request, $response);
return $response;
}
/**
* Dispatch the request to a asset file and return the response.
*
* @param \Nova\Http\Request $request
* @return mixed
*/
public function dispatchToFile(Request $request)
Arguments
/**
* Dispatch route
* @return bool
*/
public function dispatch(Request $request)
{
$this->currentRequest = $request;
// Asset Files Dispatching.
if (! is_null($response = $this->dispatchToFile($request))) {
return $response;
}
// If no response was returned from the before filter, we will call the proper
// route instance to get the response. If no route is found a response will
// still get returned based on why no routes were found for this request.
$response = $this->callFilter('before', $request);
if (is_null($response)) {
$response = $this->dispatchToRoute($request);
}
$response = $this->prepareResponse($request, $response);
// Once this route has run and the response has been prepared, we will run the
// after filter to do any last work on the response or for this application
// before we will return the response back to the consuming code for use.
$this->callFilter('after', $request, $response);
return $response;
}
/**
* Dispatch the request to a route and return the response.
*
* @param \Nova\Http\Request $request
* @return mixed
*/
public function dispatchToRoute(Request $request)
{
Arguments
/**
* Handle the given request and get the response.
*
* @param \Nova\Http\Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function dispatch(Request $request)
{
if ($this->isDownForMaintenance()) {
$response = $this['events']->until('nova.app.down');
if (! is_null($response)) return $this->prepareResponse($response, $request);
}
if ($this->runningUnitTests() && ! $this['session']->isStarted()) {
$this['session']->start();
}
return $this['router']->dispatch($this->prepareRequest($request));
}
/**
* Call the "finish" and "shutdown" callbacks assigned to the application.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @param \Symfony\Component\HttpFoundation\Response $response
* @return void
*/
public function terminate(SymfonyRequest $request, SymfonyResponse $response)
{
$this->callFinishCallbacks($request, $response);
$this->shutdown();
}
/**
* Refresh the bound request instance in the container.
*
* @param \Nova\Http\Request $request
Arguments
*
* Provides compatibility with BrowserKit functional testing.
*
* @implements HttpKernelInterface::handle
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @param int $type
* @param bool $catch
* @return \Symfony\Component\HttpFoundation\Response
*
* @throws \Exception
*/
public function handle(SymfonyRequest $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
try {
$this->refreshRequest($request = Request::createFromBase($request));
$this->boot();
return $this->dispatch($request);
}
catch (\Exception $e) {
if (! $catch || $this->runningUnitTests()) throw $e;
return $this['exception']->handleException($e);
}
catch (\Throwable $e) {
if (! $catch || $this->runningUnitTests()) throw $e;
return $this['exception']->handleException($e);
}
}
/**
* Handle the given request and get the response.
*
* @param \Nova\Http\Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function dispatch(Request $request)
Arguments
public function __construct(HttpKernelInterface $app, $debug)
{
$this->app = $app;
$this->debug = $debug;
}
/**
* Handle the given request and get the response.
*
* @implements HttpKernelInterface::handle
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @param int $type
* @param bool $catch
* @return \Symfony\Component\HttpFoundation\Response
*/
public function handle(SymfonyRequest $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
$response = $this->app->handle($request, $type, $catch);
if (! $this->isHtmlResponse($response)) return $response;
return $this->processResponse($response);
}
/**
* Minify the Response instance Content.
*
* @param \Symfony\Component\HttpFoundation\Response $response
* @return void
*/
protected function processResponse(SymfonyResponse $response)
{
if ($this->debug) {
// Insert the QuickProfiler Widget in the Response's Content.
$content = str_replace(
array(
'<!-- DO NOT DELETE! - Forensics Profiler -->',
'<!-- DO NOT DELETE! - Profiler -->',
Arguments
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @param int $type
* @param bool $catch
* @return \Symfony\Component\HttpFoundation\Response
*/
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
$this->checkRequestForArraySessions($request);
// If a session driver has been configured, we will need to start the session here
// so that the data is ready for an application. Note that the Nova sessions
// do not make use of PHP "native" sessions in any way since they are crappy.
if ($this->sessionConfigured()) {
$session = $this->startSession($request);
$request->setSession($session);
}
$response = $this->app->handle($request, $type, $catch);
// Again, if the session has been configured we will need to close out the session
// so that the attributes may be persisted to some storage medium. We will also
// add the session identifier cookie to the application response headers now.
if ($this->sessionConfigured()) {
$this->storeCurrentUrl($request, $session);
$this->closeSession($session);
$this->addCookieToResponse($response, $session);
}
return $response;
}
/**
* Check the request and reject callback for array sessions.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @return void
Arguments
*/
public function __construct(HttpKernelInterface $app, CookieJar $cookies)
{
$this->app = $app;
$this->cookies = $cookies;
}
/**
* Handle the given request and get the response.
*
* @implements HttpKernelInterface::handle
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @param int $type
* @param bool $catch
* @return \Symfony\Component\HttpFoundation\Response
*/
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
$response = $this->app->handle($request, $type, $catch);
foreach ($this->cookies->getQueuedCookies() as $cookie) {
$response->headers->setCookie($cookie);
}
return $response;
}
}
Arguments
*/
public function __construct(HttpKernelInterface $app, Encrypter $encrypter)
{
$this->app = $app;
$this->encrypter = $encrypter;
}
/**
* Handle the given request and get the response.
*
* @implements HttpKernelInterface::handle
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @param int $type
* @param bool $catch
* @return \Symfony\Component\HttpFoundation\Response
*/
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
$response = $this->app->handle($this->decrypt($request), $type, $catch);
return $this->encrypt($response);
}
/**
* Decrypt the cookies on the request.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @return \Symfony\Component\HttpFoundation\Request
*/
protected function decrypt(Request $request)
{
foreach ($request->cookies as $key => $cookie) {
if($key == 'PHPSESSID') {
// Leave alone the PHPSESSID.
continue;
}
try
{
Arguments
use Symfony\Component\HttpKernel\HttpKernelInterface;
use Symfony\Component\HttpKernel\TerminableInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class StackedHttpKernel implements HttpKernelInterface, TerminableInterface
{
private $app;
private $middlewares = array();
public function __construct(HttpKernelInterface $app, array $middlewares)
{
$this->app = $app;
$this->middlewares = $middlewares;
}
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
return $this->app->handle($request, $type, $catch);
}
public function terminate(Request $request, Response $response)
{
$prevKernel = null;
foreach ($this->middlewares as $kernel) {
// if prev kernel was terminable we can assume this middleware has already been called
if (!$prevKernel instanceof TerminableInterface && $kernel instanceof TerminableInterface) {
$kernel->terminate($request, $response);
}
$prevKernel = $kernel;
}
}
}
Arguments
* @return void
*/
public function booted($callback)
{
$this->bootedCallbacks[] = $callback;
if ($this->isBooted()) $this->fireAppCallbacks(array($callback));
}
/**
* Run the application and send the response.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @return void
*/
public function run(SymfonyRequest $request = null)
{
$request = $request ?: $this['request'];
$response = with($stack = $this->getStackedClient())->handle($request);
$response->send();
$stack->terminate($request, $response);
}
/**
* Get the stacked HTTP kernel for the application.
*
* @return \Symfony\Component\HttpKernel\HttpKernelInterface
*/
protected function getStackedClient()
{
$sessionReject = $this->bound('session.reject') ? $this['session.reject'] : null;
$client = (new Builder)
->push('Nova\Cookie\Guard', $this['encrypter'])
->push('Nova\Cookie\Queue', $this['cookie'])
->push('Nova\Session\Middleware', $this['session'], $sessionReject);
Arguments
define('PUBLICDIR', realpath(__DIR__) .DS);
//--------------------------------------------------------------------------
// Load the Composer Autoloader
//--------------------------------------------------------------------------
require ROOTDIR .'vendor' .DS .'autoload.php';
//--------------------------------------------------------------------------
// Bootstrap the Framework and get the Application instance
//--------------------------------------------------------------------------
$app = require_once APPDIR .'Boot' .DS .'Start.php';
//--------------------------------------------------------------------------
// Run the Application
//--------------------------------------------------------------------------
$app->run();