private function createReleaseChannel()
{
$releaseChannels = $this->releaseChannels;
$default = 'latest_stable';
return $this->makeSettingManagedInConfigOnly('General', 'release_channel', $default, FieldConfig::TYPE_STRING, function (FieldConfig $field) use($releaseChannels) {
$field->introduction = Piwik::translate('CoreAdminHome_ReleaseChannel');
$field->uiControl = FieldConfig::UI_CONTROL_RADIO;
$field->availableValues = array();
foreach ($releaseChannels->getAllReleaseChannels() as $channel) {
$name = $channel->getName();
$description = $channel->getDescription();
if (!empty($description)) {
$name .= ' (' . $description . ')';
}
$field->availableValues[$channel->getId()] = $name;
}
$field->validate = function ($channel) use($releaseChannels) {
if (!$releaseChannels->isValidReleaseChannelId($channel)) {
throw new \Exception('Release channel is not valid');
}
};
$field->inlineHelp = Piwik::translate('CoreAdminHome_DevelopmentProcess', array("<a href='?module=Proxy&action=redirect&url=http://piwik.org/participate/development-process/' target='_blank'>", "</a>")) . Piwik::translate('<br/>') . Piwik::translate('CoreAdminHome_StableReleases', array("<a href='?module=Proxy&action=redirect&url=http%3A%2F%2Fdeveloper.piwik.org%2Fguides%2Fcore-team-workflow%23influencing-piwik-development' target='_blank'>", "</a>")) . Piwik::translate('<br />') . Piwik::translate('CoreAdminHome_LtsReleases');
});
}