/** * Loops over the /tasks directory and builds an array of all of the task * class names in the system. * * @return array * * @since 1.0 */ public static function getTaskClassNames() { $config = ConfigProvider::getInstance(); if (self::$logger == null) { self::$logger = new Logger('CronManager'); self::$logger->setLogFile($config->get('app.file.store.dir') . 'logs/tasks.log'); } self::$logger->debug('>>getTaskClassNames()'); $classNameArray = array(); if (file_exists($config->get('app.root') . 'Task')) { $handle = opendir($config->get('app.root') . 'Task'); // loop over the custom task directory while (false !== ($file = readdir($handle))) { if (preg_match('/Task.php/', $file)) { $classname = mb_substr($file, 0, -4); array_push($classNameArray, $classname); } } } if (file_exists($config->get('app.root') . 'Alpha/Task')) { $handle = opendir($config->get('app.root') . 'Alpha/Task'); // loop over the custom task directory while (false !== ($file = readdir($handle))) { if (preg_match('/Task.php/', $file)) { $classname = mb_substr($file, 0, -4); array_push($classNameArray, $classname); } } } self::$logger->debug('<<getTaskClassNames [' . var_export($classNameArray, true) . ']'); return $classNameArray; }