Esempio n. 1
0
 /**
  * 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;
 }