Upstream Patch: Override path patch
This commit is contained in:
29
kh.php
29
kh.php
@@ -23,6 +23,12 @@ $modules = 'modules';
|
||||
*/
|
||||
$system = 'system';
|
||||
|
||||
/**
|
||||
* This directory in which we can override classes that may not yet be accepted
|
||||
* upstream.
|
||||
*/
|
||||
$override = 'override';
|
||||
|
||||
/**
|
||||
* The default extension of resource files. If you change this, all resources
|
||||
* must be renamed to use the new extension.
|
||||
@@ -68,13 +74,22 @@ if ( ! is_dir($modules) AND is_dir(DOCROOT.$modules))
|
||||
if ( ! is_dir($system) AND is_dir(DOCROOT.$system))
|
||||
$system = DOCROOT.$system;
|
||||
|
||||
// Make the override relative to the docroot
|
||||
if ( ! is_dir($override) AND is_dir(DOCROOT.$override))
|
||||
$override = DOCROOT.$override;
|
||||
|
||||
// Define the absolute paths for configured directories
|
||||
define('APPPATH', realpath($application).DIRECTORY_SEPARATOR);
|
||||
define('MODPATH', realpath($modules).DIRECTORY_SEPARATOR);
|
||||
define('SYSPATH', realpath($system).DIRECTORY_SEPARATOR);
|
||||
|
||||
if (is_dir(realpath($override)))
|
||||
define('OVERPATH', realpath($override).DIRECTORY_SEPARATOR);
|
||||
else
|
||||
define('OVERPATH', '');
|
||||
|
||||
// Clean up the configuration vars
|
||||
unset($application, $modules, $system);
|
||||
unset($application, $modules, $system, $override);
|
||||
|
||||
if (file_exists('install'.EXT))
|
||||
{
|
||||
@@ -88,11 +103,21 @@ require SYSPATH.'base'.EXT;
|
||||
// Load the core Kohana class
|
||||
require SYSPATH.'classes/kohana/core'.EXT;
|
||||
|
||||
if (is_file(APPPATH.'classes/kohana'.EXT))
|
||||
if (is_file(OVERPATH.'application/classes/kohana'.EXT))
|
||||
{
|
||||
// Override Application extends the core
|
||||
require OVERPATH.'application/classes/kohana'.EXT;
|
||||
}
|
||||
elseif (is_file(APPPATH.'classes/kohana'.EXT))
|
||||
{
|
||||
// Application extends the core
|
||||
require APPPATH.'classes/kohana'.EXT;
|
||||
}
|
||||
elseif (is_file(OVERPATH.'system/classes/kohana'.EXT))
|
||||
{
|
||||
// Override system extends the core
|
||||
require APPPATH.'system/classes/kohana'.EXT;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Load empty core extension
|
||||
|
Reference in New Issue
Block a user