@using System.Globalization
@using OurUmbraco.Wiki.BusinessLogic
@using umbraco
@using umbraco.BusinessLogic
@using umbraco.cms.businesslogic.member
@using umbraco.cms.businesslogic.web
@using umbraco.NodeFactory
@{
int nodeId;
var projectId = Request.QueryString["p"];
int.TryParse(projectId, out nodeId);
if (nodeId != 0)
{
var project = new Node(nodeId);
var owner = project.GetProperty("owner").Value;
var m = Member.GetCurrentMember();
if (Request.Form["compatibleVersion"] != null)
{
if (m != null && owner == m.Id.ToString(CultureInfo.InvariantCulture))
{
var allVersions = UmbracoVersion.AvailableVersions().Values;
var postedVersions = Request.Form["compatibleVersion"].Split(',');
//Check if these are existing versions in the list of all available versions
var saveVersions = postedVersions.Where(version => allVersions.SingleOrDefault(x => x.Version.ToString(CultureInfo.InvariantCulture) == version) != null).ToList();
if (saveVersions.Any())
{
var commaSeparatedList = saveVersions.Aggregate((a, x) => a + "," + x);
var files = WikiFile.CurrentFiles(nodeId).Where(x => x.FileType == "package");
var fileVersions = WikiFile.GetVersionsFromString(commaSeparatedList);
foreach (var wikiFile in files)
{
wikiFile.Versions = fileVersions;
wikiFile.Save();
}
var doc = new Document(nodeId);
doc.Publish(new User(0));
library.UpdateDocumentCache(doc.Id);
}
}
}
if (m != null && owner == m.Id.ToString(CultureInfo.InvariantCulture))
{
This package is currently set to be compatible with the versions below.
If it is compatible with versions not selected then please select them now and click "Save".
var node = new Node(nodeId); var compatibleVersions = node.GetProperty("compatibleVersions").Value.Replace("saved,", string.Empty).Split(','); var options = string.Empty; foreach (var uv in UmbracoVersion.AvailableVersions().Values) { var selected = string.Empty; if (compatibleVersions.Contains(uv.Version)) { selected = "checked='checked'"; } options += string.Format("