1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <?php
- /**
- * Elgg front controller entry point
- *
- * @package Elgg
- * @subpackage Core
- */
- /*
- * Rewrite rules for PHP cli webserver used for testing. Do not use on production sites
- * as normal web server replacement.
- *
- * You need to explicitly point to index.php in order for router to work properly:
- *
- * <code>php -S localhost:8888 index.php</code>
- */
- if (php_sapi_name() === 'cli-server') {
- $urlPath = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);
- if (preg_match('/^\/cache\/(.*)$/', $urlPath, $matches)) {
- $_GET['request'] = $matches[1];
- require('engine/handlers/cache_handler.php');
- exit;
- } else if (preg_match('/^\/export\/([A-Za-z]+)\/([0-9]+)\/?$/', $urlPath, $matches)) {
- $_GET['view'] = $matches[1];
- $_GET['guid'] = $matches[2];
- require('engine/handlers/export_handler.php');
- exit;
- } else if (preg_match('/^\/export\/([A-Za-z]+)\/([0-9]+)\/([A-Za-z]+)\/([A-Za-z0-9\_]+)\/$/', $urlPath, $matches)) {
- $_GET['view'] = $matches[1];
- $_GET['guid'] = $matches[2];
- $_GET['type'] = $matches[3];
- $_GET['idname'] = $matches[4];
- require('engine/handlers/export_handler.php');
- exit;
- } else if (preg_match("/^\/rewrite.php$/", $urlPath, $matches)) {
- require('install.php');
- exit;
- } else if ($urlPath !== '/' && file_exists(__DIR__ . $urlPath)) {
- // serve the requested resource as-is.
- return false;
- } else {
- $_GET['__elgg_uri'] = $urlPath;
- }
- }
- // allow testing from the upgrade page before the site is upgraded.
- if (isset($_GET['__testing_rewrite'])) {
- if (isset($_GET['__elgg_uri']) && false !== strpos($_GET['__elgg_uri'], '__testing_rewrite')) {
- echo "success";
- }
- exit;
- }
- require_once(dirname(__FILE__) . "/engine/start.php");
- $router = _elgg_services()->router;
- $request = _elgg_services()->request;
- // TODO use formal Response object instead
- header("Content-Type: text/html;charset=utf-8");
- if (!$router->route($request)) {
- forward('', '404');
- }
|