private function get_plugin_url($pluginname, $pluginversion)
{
$pluginlist = $this->get_plugins_data();
foreach ($pluginlist->plugins as $plugin) {
if (!$plugin->component) {
continue;
}
if ($plugin->component == $pluginname) {
$bestversion = false;
$altversion = false;
foreach ($plugin->versions as $version) {
if ($version->version == $pluginversion) {
if ($this->is_supported_by_moodle($version)) {
$bestversion = $version;
} else {
$altversion = $version;
}
}
}
if (!$this->expandedOptions['force'] && !$bestversion) {
$message = "This plugin is not supported for your Moodle version (release {$this->moodlerelease} - version {$this->moodleversion}). ";
$message .= "Specify a different plugin version, or use the -f flag to force installation of (this) unsupported version.\n";
die($message);
}
if ($bestversion) {
return $bestversion->downloadurl;
} else {
return $altversion->downloadurl;
}
}
}
die("Couldn't find {$pluginname} {$pluginversion}\n");
}