Fix Autoload for Custom Tasks.

This commit is contained in:
Andrés Montañez 2014-08-06 18:25:50 -03:00
parent ce0e707dc6
commit 20de8eb7e0
2 changed files with 9 additions and 2 deletions

View file

@ -27,8 +27,15 @@ class Autoload
$className = ltrim($className, '/');
$postfix = '/' . str_replace(array('_', '\\'), '/', $className . '.php');
// Change BaseDir according to Namespace
if (strpos($className, 'Task\\') === 0) {
$baseDir = getcwd() . '/.mage/tasks';
$postfix = substr($postfix, 5);
} else {
$baseDir = dirname(dirname(__FILE__));
}
//Try to load a normal Mage class (or Task). Think that Mage component is compiled to .phar
$baseDir = dirname(dirname(__FILE__));
$classFileWithinPhar = $baseDir . $postfix;
if ($this->isReadable($classFileWithinPhar)) {
/** @noinspection PhpIncludeInspection */

View file

@ -48,7 +48,7 @@ class Factory
$taskName = str_replace(' ', '', $taskName);
if (strpos($taskName, '/') === false) {
$className = $taskName;
$className = 'Task\\' . $taskName;
} else {
$className = 'Mage\\Task\\BuiltIn\\' . str_replace(' ', '\\', ucwords(str_replace('/', ' ', $taskName))) . 'Task';