1
0
Fork 0
mirror of synced 2024-07-02 05:00:33 +12:00
appwrite/app/controllers/shared/web.php

50 lines
1.5 KiB
PHP
Raw Normal View History

2019-05-09 18:54:39 +12:00
<?php
use Utopia\View;
use Utopia\Locale\Locale;
Locale::$exceptions = false;
$roles = [
2019-09-27 06:47:48 +12:00
['type' => 'owner', 'label' => 'Owner'],
['type' => 'developer', 'label' => 'Developer'],
['type' => 'admin', 'label' => 'Admin'],
2019-05-09 18:54:39 +12:00
];
$layout = new View(__DIR__.'/../../views/layouts/default.phtml');
2019-05-09 18:54:39 +12:00
/* AJAX check */
if (!empty($request->getQuery('version', ''))) {
$layout->setPath(__DIR__.'/../../views/layouts/empty.phtml');
2019-05-09 18:54:39 +12:00
}
$layout
->setParam('title', APP_NAME)
2019-08-24 19:30:12 +12:00
->setParam('protocol', $request->getServer('REQUEST_SCHEME', 'https'))
2019-05-09 18:54:39 +12:00
->setParam('domain', $domain)
2019-08-25 17:41:40 +12:00
->setParam('home', $request->getServer('_APP_HOME'))
2020-02-04 21:06:13 +13:00
->setParam('setup', $request->getServer('_APP_SETUP'))
2019-05-09 18:54:39 +12:00
->setParam('class', 'unknown')
->setParam('icon', '/images/favicon.png')
->setParam('roles', $roles)
->setParam('env', $utopia->getEnv())
;
$utopia->shutdown(function () use ($utopia, $response, $request, $layout, $version, $env) {
2019-05-09 18:54:39 +12:00
$time = (60 * 60 * 24 * 45); // 45 days cache
$isDev = (\Utopia\App::ENV_TYPE_DEVELOPMENT == $env);
$response
->addHeader('Cache-Control', 'public, max-age='.$time)
->addHeader('Expires', date('D, d M Y H:i:s', time() + $time).' GMT') // 45 days cache
2019-05-09 18:54:39 +12:00
->addHeader('X-UA-Compatible', 'IE=Edge'); // Deny IE browsers from going into quirks mode
$route = $utopia->match($request);
$scope = $route->getLabel('scope', '');
$layout
->setParam('version', $version)
->setParam('isDev', $isDev)
->setParam('class', $scope)
;
});