1
0
mirror of https://github.com/laravel/valet.git synced 2026-02-07 09:10:03 +01:00

Add Kirby CMS driver

This commit is contained in:
Pedro Borges
2016-05-09 09:21:50 -03:00
parent f6abc45223
commit cbab717028
3 changed files with 67 additions and 0 deletions

View File

@@ -0,0 +1,65 @@
<?php
class KirbyValetDriver extends ValetDriver
{
/**
* Determine if the driver serves the request.
*
* @param string $sitePath
* @param string $siteName
* @param string $uri
* @return void
*/
public function serves($sitePath, $siteName, $uri)
{
return is_dir($sitePath.'/kirby');
}
/**
* 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($sitePath, $siteName, $uri)
{
if (file_exists($sitePath.$uri) &&
! is_dir($sitePath.$uri) &&
pathinfo($sitePath.$uri)['extension'] != 'php') {
return $sitePath.$uri;
}
return false;
}
/**
* Get the fully resolved path to the application's front controller.
*
* @param string $sitePath
* @param string $siteName
* @param string $uri
* @return string
*/
public function frontControllerPath($sitePath, $siteName, $uri)
{
if (isset($_SERVER['HTTP_X_ORIGINAL_HOST'])) {
$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_ORIGINAL_HOST'];
}
// Trick Kirby to use *.dev
// to generate its URLs
$_SERVER['SERVER_NAME'] = $_SERVER['HTTP_HOST'];
if (preg_match('/^\/panel/', $uri)) {
$_SERVER['SCRIPT_NAME'] = '/panel/index.php';
return $sitePath.'/panel/index.php';
}
if (file_exists($indexPath = $sitePath.'/index.php')) {
$_SERVER['SCRIPT_NAME'] = '/index.php';
return $indexPath;
}
}
}

View File

@@ -48,6 +48,7 @@ public static function assign($sitePath, $siteName, $uri)
$drivers[] = 'CraftValetDriver'; $drivers[] = 'CraftValetDriver';
$drivers[] = 'JigsawValetDriver'; $drivers[] = 'JigsawValetDriver';
$drivers[] = 'KirbyValetDriver';
$drivers[] = 'SculpinValetDriver'; $drivers[] = 'SculpinValetDriver';
$drivers[] = 'StatamicValetDriver'; $drivers[] = 'StatamicValetDriver';
$drivers[] = 'SymfonyValetDriver'; $drivers[] = 'SymfonyValetDriver';

View File

@@ -11,6 +11,7 @@
*/ */
require_once __DIR__.'/CraftValetDriver.php'; require_once __DIR__.'/CraftValetDriver.php';
require_once __DIR__.'/JigsawValetDriver.php'; require_once __DIR__.'/JigsawValetDriver.php';
require_once __DIR__.'/KirbyValetDriver.php';
require_once __DIR__.'/LaravelValetDriver.php'; require_once __DIR__.'/LaravelValetDriver.php';
require_once __DIR__.'/SculpinValetDriver.php'; require_once __DIR__.'/SculpinValetDriver.php';
require_once __DIR__.'/StatamicValetDriver.php'; require_once __DIR__.'/StatamicValetDriver.php';