forked from ZenMagick/ZenMagick
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinit.php
61 lines (54 loc) · 2.42 KB
/
init.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
/*
* ZenMagick - Another PHP framework.
* Copyright (C) 2006-2012 zenmagick.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
use zenmagick\base\Runtime;
use zenmagick\http\HttpApplication;
$rootDir = __DIR__;
include_once $rootDir.'/lib/base/Application.php';
include_once $rootDir.'/lib/http/HttpApplication.php';
try {
$config = array('appName' => 'storefront', 'environment' => (isset($_SERVER['ZM_ENVIRONMENT']) ? $_SERVER['ZM_ENVIRONMENT'] : 'prod'));
$application = new HttpApplication($config);
$application->bootstrap();
$container = Runtime::getContainer();
$_zm_request = $request = $container->get('request');
// allow seo rewriters to fiddle with the request
$request->urlDecode();
// make sure we use the appropriate protocol (HTTPS, for example) if required
$container->get('sacsManager')->ensureAccessMethod($request);
// form validation
$validationConfig = Runtime::getApplicationPath().'/config/validation.yaml';
if ($container->has('validator') && file_exists($validationConfig)) {
$container->get('validator')->load(file_get_contents(Toolbox::resolveWithEnv($validationConfig)));
}
// load stuff that really needs to be global!
$settingsService = $container->get('settingsService');
if ($settingsService->get('zenmagick.base.plugins.enabled', true)) {
foreach (Runtime::getContainer()->get('pluginService')->getPluginsForContext($settingsService->get('zenmagick.base.context')) as $plugin) {
foreach ($plugin->getGlobal($request) as $file) {
include_once $file;
}
}
}
} catch (Exception $e) {
echo '<pre>';
echo $e->getTraceAsString();
echo '</pre>';
die(sprintf('init storefront failed: %s', $e->getMessage()));
}