Browse Source

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
mark_story 14 years ago
parent
commit
d577d6b84e
2 changed files with 5 additions and 21 deletions
  1. 2 10
      app/Console/cake.php
  2. 3 11
      lib/Cake/Console/Templates/skel/Console/cake.php

+ 2 - 10
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 (!$found && function_exists('ini_set')) {
 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);

+ 3 - 11
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);