Skip to content

Instantly share code, notes, and snippets.

@brabijan
Created November 28, 2012 23:53
Show Gist options
  • Save brabijan/4165652 to your computer and use it in GitHub Desktop.
Save brabijan/4165652 to your computer and use it in GitHub Desktop.
<?php
/**
* @param Nette\Application\Application $app
* @param Nette\Application\PresenterRequest $request
* @return void
*/
public static function setErrorPresenter($app, $request) {
$errorPresenter = 'Error';
$modules = explode(":",$request->getPresenterName());
unset($modules[count($modules)-1]);
while(count($modules)!=0) {
$catched = false;
try {
$errorPresenter = implode(":", $modules).':Error';
$errorPresenterClass = $app->getPresenterFactory()->getPresenterClass($errorPresenter);
}
catch( Nette\Application\InvalidPresenterException $e ) {
$catched = true;
}
if(!$catched) break;
unset($modules[count($modules)-1]);
}
$app->errorPresenter = $errorPresenter;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment