From d577d6b84e3ebaa13590c2c8c378e3f4886bccde Mon Sep 17 00:00:00 2001 From: mark_story Date: Sun, 26 Feb 2012 12:03:22 -0500 Subject: [PATCH] Change cake.php to allow cake libs at ROOT Splice the ROOT path into the include_path for console apps. This allows users to override the system include_path with a local version of CakePHP. Fixes #2613 --- app/Console/cake.php | 12 ++---------- lib/Cake/Console/Templates/skel/Console/cake.php | 14 +++----------- 2 files changed, 5 insertions(+), 21 deletions(-) diff --git a/app/Console/cake.php b/app/Console/cake.php index 8b30ffd849e..c2c667bc427 100644 --- a/app/Console/cake.php +++ b/app/Console/cake.php @@ -19,16 +19,8 @@ */ $ds = DIRECTORY_SEPARATOR; $dispatcher = 'Cake' . $ds . 'Console' . $ds . 'ShellDispatcher.php'; -$found = false; -$paths = explode(PATH_SEPARATOR, ini_get('include_path')); -foreach ($paths as $path) { - if (file_exists($path . $ds . $dispatcher)) { - $found = $path; - } -} - -if (!$found && function_exists('ini_set')) { +if (function_exists('ini_set')) { $root = dirname(dirname(dirname(__FILE__))); ini_set('include_path', $root . $ds. 'lib' . PATH_SEPARATOR . ini_get('include_path')); } @@ -36,6 +28,6 @@ if (!include($dispatcher)) { trigger_error('Could not locate CakePHP core files.', E_USER_ERROR); } -unset($paths, $path, $found, $dispatcher, $root, $ds); +unset($paths, $path, $dispatcher, $root, $ds); return ShellDispatcher::run($argv); diff --git a/lib/Cake/Console/Templates/skel/Console/cake.php b/lib/Cake/Console/Templates/skel/Console/cake.php index d77755334ef..8ae23ff9f50 100644 --- a/lib/Cake/Console/Templates/skel/Console/cake.php +++ b/lib/Cake/Console/Templates/skel/Console/cake.php @@ -19,23 +19,15 @@ */ $ds = DIRECTORY_SEPARATOR; $dispatcher = 'Cake' . $ds . 'Console' . $ds . 'ShellDispatcher.php'; -$found = false; -$paths = explode(PATH_SEPARATOR, ini_get('include_path')); -foreach ($paths as $path) { - if (file_exists($path . $ds . $dispatcher)) { - $found = $path; - } -} - -if (!$found && function_exists('ini_set')) { +if (function_exists('ini_set')) { $root = dirname(dirname(dirname(__FILE__))); - ini_set('include_path', __CAKE_PATH__ . PATH_SEPARATOR . ini_get('include_path')); + ini_set('include_path', $root . PATH_SEPARATOR . __CAKE_PATH__ . PATH_SEPARATOR . ini_get('include_path')); } if (!include($dispatcher)) { trigger_error('Could not locate CakePHP core files.', E_USER_ERROR); } -unset($paths, $path, $found, $dispatcher, $root, $ds); +unset($paths, $path, $dispatcher, $root, $ds); return ShellDispatcher::run($argv);