1
0
mirror of https://github.com/hauke68/Magallanes.git synced 2025-08-26 05:10:17 +02:00
Magallanes/Mage/Task/Factory.php
Andrs Montaez 3f0efc1a42 New version. Added getters to config and task.
New concept of "stage" where the task runs.
2012-02-24 13:39:40 -02:00

31 lines
1011 B
PHP

<?php
class Mage_Task_Factory
{
/**
*
*
* @param string $taskName
* @param boolean $inRollback
* @return Mage_Task_TaskAbstract
*/
public static function get($taskName, Mage_Config $taskConfig, $inRollback = false, $stage = null)
{
$instance = null;
$taskName = ucwords(str_replace('-', ' ', $taskName));
$taskName = str_replace(' ', '', $taskName);
if (strpos($taskName, '/') === false) {
Mage_Autoload::loadUserTask($taskName);
$className = 'Task_' . ucfirst($taskName);
$instance = new $className($taskConfig, $inRollback, $stage);
} else {
$taskName = str_replace(' ', '_', ucwords(str_replace('/', ' ', $taskName)));
$className = 'Mage_Task_BuiltIn_' . $taskName;
$instance = new $className($taskConfig, $inRollback, $stage);
}
assert($instance instanceOf Mage_Task_TaskAbstract);
return $instance;
}
}