Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
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
  • Loading branch information
markstory committed Feb 26, 2012
1 parent faeb7b4 commit d577d6b
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 21 deletions.
12 changes: 2 additions & 10 deletions app/Console/cake.php
Expand Up @@ -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', $root . $ds. 'lib' . 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);
14 changes: 3 additions & 11 deletions lib/Cake/Console/Templates/skel/Console/cake.php
Expand Up @@ -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);

0 comments on commit d577d6b

Please sign in to comment.