public function getBatch($class)
{
if (!class_exists($class)) {
$this->logger->error("Upgrade class {$class} was not found");
return false;
}
$batch = new $class();
if (!$batch instanceof Batch) {
$this->logger->error("Upgrade class {$class} should implement Elgg\\Upgrade\\Batch");
return false;
}
$version = $batch::VERSION;
// Version must be in format yyyymmddnn
if (preg_match("/^[0-9]{10}\$/", $version) == 0) {
$this->logger->error("Upgrade {$class} defines an invalid upgrade version: {$version}");
return false;
}
if (!$batch->isRequired()) {
return false;
}
return $batch;
}