/** * Return all of the core maintenance scripts * @return array */ protected static function getCoreScripts() { if (!self::$mCoreScripts) { self::disableSetup(); $paths = array(dirname(__FILE__), dirname(__FILE__) . '/gearman', dirname(__FILE__) . '/language', dirname(__FILE__) . '/storage'); self::$mCoreScripts = array(); foreach ($paths as $p) { $handle = opendir($p); while (($file = readdir($handle)) !== false) { if ($file == 'Maintenance.php') { continue; } $file = $p . '/' . $file; if (is_dir($file) || !strpos($file, '.php') || strpos(file_get_contents($file), '$maintClass') === false) { continue; } require $file; $vars = get_defined_vars(); if (array_key_exists('maintClass', $vars)) { self::$mCoreScripts[$vars['maintClass']] = $file; } } closedir($handle); } } return self::$mCoreScripts; }