private function setGlobals($safe)
{
/** @var \Twig_Environment $twig */
$twig = $safe ? $this->app['safe_twig'] : $this->app['twig'];
/** @var \Bolt\Config $config */
$config = $this->app['config'];
$configVal = $safe ? null : $config;
/** @var \Bolt\Users $users */
$users = $this->app['users'];
/** @var \Bolt\Configuration\ResourceManager $resources */
$resources = $this->app['resources'];
$zone = null;
/** @var RequestStack $requestStack */
$requestStack = $this->app['request_stack'];
if ($request = $requestStack->getCurrentRequest()) {
$zone = Zone::get($request);
}
// User calls can cause exceptions that block the exception handler
try {
/** @deprecated Deprecated since 3.0, to be removed in 4.0. */
$usersVal = $safe ? null : $users->getUsers();
$usersCur = $users->getCurrentUser();
} catch (\Exception $e) {
$usersVal = null;
$usersCur = null;
}
$twig->addGlobal('bolt_name', Bolt\Version::name());
$twig->addGlobal('bolt_version', Bolt\Version::VERSION);
$twig->addGlobal('bolt_stable', Bolt\Version::isStable());
$twig->addGlobal('frontend', $zone === Zone::FRONTEND);
$twig->addGlobal('backend', $zone === Zone::BACKEND);
$twig->addGlobal('async', $zone === Zone::ASYNC);
$twig->addGlobal('paths', $resources->getPaths());
$twig->addGlobal('theme', $config->get('theme'));
$twig->addGlobal('user', $usersCur);
$twig->addGlobal('users', $usersVal);
$twig->addGlobal('config', $configVal);
}