2014-08-02 21:11:33 +02:00
|
|
|
<?php
|
2016-07-12 00:07:14 +02:00
|
|
|
/**
|
|
|
|
|
* @package Grav.Core
|
|
|
|
|
*
|
|
|
|
|
* @copyright Copyright (C) 2014 - 2016 RocketTheme, LLC. All rights reserved.
|
|
|
|
|
* @license MIT License; see LICENSE file for details.
|
|
|
|
|
*/
|
|
|
|
|
|
2014-08-18 13:13:51 +02:00
|
|
|
namespace Grav;
|
2014-08-02 21:11:33 +02:00
|
|
|
|
2015-02-14 18:38:01 +01:00
|
|
|
// Ensure vendor libraries exist
|
2014-08-20 13:51:03 +02:00
|
|
|
$autoload = __DIR__ . '/vendor/autoload.php';
|
|
|
|
|
if (!is_file($autoload)) {
|
2016-03-18 08:18:13 +01:00
|
|
|
die("Please run: <i>bin/grav install</i>");
|
2014-08-20 13:51:03 +02:00
|
|
|
}
|
2014-08-06 20:46:49 +02:00
|
|
|
|
2014-08-18 13:13:51 +02:00
|
|
|
use Grav\Common\Grav;
|
2016-06-11 23:27:34 +02:00
|
|
|
use RocketTheme\Toolbox\Event\Event;
|
2014-08-02 21:11:33 +02:00
|
|
|
|
2014-08-20 11:18:26 +02:00
|
|
|
// Register the auto-loader.
|
2014-08-20 13:51:03 +02:00
|
|
|
$loader = require_once $autoload;
|
2014-08-02 21:11:33 +02:00
|
|
|
|
2015-12-28 18:46:14 +01:00
|
|
|
if (version_compare($ver = PHP_VERSION, $req = GRAV_PHP_MIN, '<')) {
|
2016-03-17 20:33:32 +01:00
|
|
|
die(sprintf('You are running PHP %s, but Grav needs at least <strong>PHP %s</strong> to run.', $ver, $req));
|
2015-12-28 18:46:14 +01:00
|
|
|
}
|
|
|
|
|
|
2015-02-14 18:38:01 +01:00
|
|
|
// Set timezone to default, falls back to system if php.ini not set
|
|
|
|
|
date_default_timezone_set(@date_default_timezone_get());
|
2014-08-02 21:11:33 +02:00
|
|
|
|
2015-09-10 20:49:38 +02:00
|
|
|
// Set internal encoding if mbstring loaded
|
2016-03-17 21:13:24 +01:00
|
|
|
if (!extension_loaded('mbstring')) {
|
2016-03-17 20:33:32 +01:00
|
|
|
die("'mbstring' extension is not loaded. This is required for Grav to run correctly");
|
2015-09-10 20:49:38 +02:00
|
|
|
}
|
|
|
|
|
mb_internal_encoding('UTF-8');
|
|
|
|
|
|
2015-02-14 18:38:01 +01:00
|
|
|
// Get the Grav instance
|
2014-08-18 13:13:51 +02:00
|
|
|
$grav = Grav::instance(
|
2014-09-04 02:43:15 +02:00
|
|
|
array(
|
2014-10-14 06:23:13 +02:00
|
|
|
'loader' => $loader
|
2014-09-04 02:43:15 +02:00
|
|
|
)
|
2014-08-18 13:13:51 +02:00
|
|
|
);
|
|
|
|
|
|
2015-02-14 18:38:01 +01:00
|
|
|
// Process the page
|
2014-08-06 11:51:49 +02:00
|
|
|
try {
|
|
|
|
|
$grav->process();
|
|
|
|
|
} catch (\Exception $e) {
|
2016-06-11 23:27:34 +02:00
|
|
|
$grav->fireEvent('onFatalException', new Event(['exception' => $e]));
|
2014-08-06 11:51:49 +02:00
|
|
|
throw $e;
|
|
|
|
|
}
|