mirror of
https://github.com/laravel/valet.git
synced 2026-02-06 16:50:09 +01:00
- Extract much of server.php into a `Server` class - Move all but the Laravel and Basic drivers into a subfolder - Load all but the Laravel and Basic drivers via glob - Add `beforeLoading` hook to simplify the `frontControllerPath` method for some drivers
69 lines
1.8 KiB
PHP
69 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace Valet\Drivers\Specific;
|
|
|
|
use Valet\Drivers\BasicValetDriver;
|
|
|
|
class Concrete5ValetDriver extends BasicValetDriver
|
|
{
|
|
/**
|
|
* If a concrete directory exists, it's probably c5.
|
|
*
|
|
* @param string $sitePath
|
|
* @param string $siteName
|
|
* @param string $uri
|
|
* @return bool
|
|
*/
|
|
public function serves(string $sitePath, string $siteName, string $uri): bool
|
|
{
|
|
return file_exists($sitePath.'/concrete/config/install/base');
|
|
}
|
|
|
|
/**
|
|
* Determine if the incoming request is for a static file.
|
|
*
|
|
* @param string $sitePath
|
|
* @param string $siteName
|
|
* @param string $uri
|
|
* @return string|false
|
|
*/
|
|
public function isStaticFile(string $sitePath, string $siteName, string $uri): string|false
|
|
{
|
|
if (stripos($uri, '/application/files') === 0) {
|
|
return $sitePath.$uri;
|
|
}
|
|
|
|
return parent::isStaticFile($sitePath, $siteName, $uri);
|
|
}
|
|
|
|
/**
|
|
* @param string $sitePath
|
|
* @param string $siteName
|
|
* @param string $uri
|
|
* @return string
|
|
*/
|
|
public function frontControllerPath(string $sitePath, string $siteName, string $uri): string
|
|
{
|
|
if (! getenv('CONCRETE5_ENV')) {
|
|
putenv('CONCRETE5_ENV=valet');
|
|
}
|
|
|
|
$matches = [];
|
|
if (preg_match('/^\/(.*?)\.php/', $uri, $matches)) {
|
|
$filename = $matches[0];
|
|
|
|
if (file_exists($sitePath.$filename) && ! is_dir($sitePath.$filename)) {
|
|
$_SERVER['SCRIPT_FILENAME'] = $sitePath.$filename;
|
|
$_SERVER['SCRIPT_NAME'] = $filename;
|
|
|
|
return $sitePath.$filename;
|
|
}
|
|
}
|
|
|
|
$_SERVER['SCRIPT_FILENAME'] = $sitePath.'/index.php';
|
|
$_SERVER['SCRIPT_NAME'] = '/index.php';
|
|
|
|
return $sitePath.'/index.php';
|
|
}
|
|
}
|