private function makeSureThereAreNoMissingRequirements($metadata)
{
$requires = array();
if (!empty($metadata->require)) {
$requires = (array) $metadata->require;
}
$dependency = new PluginDependency();
$dependency->setEnvironment($this->marketplaceClient->getEnvironment());
$missingDependencies = $dependency->getMissingDependencies($requires);
if (!empty($missingDependencies)) {
$message = '';
foreach ($missingDependencies as $dep) {
if (empty($dep['actualVersion'])) {
$params = array(ucfirst($dep['requirement']), $dep['requiredVersion'], $metadata->name);
$message .= Piwik::translate('CorePluginsAdmin_MissingRequirementsPleaseInstallNotice', $params);
} else {
$params = array(ucfirst($dep['requirement']), $dep['actualVersion'], $dep['requiredVersion']);
$message .= Piwik::translate('CorePluginsAdmin_MissingRequirementsNotice', $params);
}
}
throw new PluginInstallerException($message);
}
}