public HttpResponseMessage DownloadPackageFiles(InstallPackageModel model) { var repo = global::umbraco.cms.businesslogic.packager.repositories.Repository.getByGuid(RepoGuid); if (repo == null) { return(Json( new { success = false, error = "No repository found with id " + RepoGuid }, HttpStatusCode.OK)); } if (repo.HasConnection() == false) { return(Json( new { success = false, error = "cannot_connect" }, HttpStatusCode.OK)); } var installer = new global::umbraco.cms.businesslogic.packager.Installer(UmbracoContext.Current.Security.CurrentUser.Id); var tempFile = installer.Import(repo.fetch(model.KitGuid.ToString(), UmbracoContext.Current.Security.CurrentUser.Id)); installer.LoadConfig(tempFile); var pId = installer.CreateManifest(tempFile, model.KitGuid.ToString(), RepoGuid); return(Json(new { success = true, manifestId = pId, packageFile = tempFile, percentage = 10, message = "Downloading starter kit files..." }, HttpStatusCode.OK)); }
public JsonResult DownloadPackageFiles(Guid kitGuid) { var repo = global::umbraco.cms.businesslogic.packager.repositories.Repository.getByGuid(RepoGuid); if (repo == null) { return Json(new { success = false, error = "No repository found with id " + RepoGuid }); } if (!repo.HasConnection()) { return Json(new {success = false, error = "cannot_connect"}); } var installer = new global::umbraco.cms.businesslogic.packager.Installer(); var tempFile = installer.Import(repo.fetch(kitGuid.ToString())); installer.LoadConfig(tempFile); var pId = installer.CreateManifest(tempFile, kitGuid.ToString(), RepoGuid); return Json(new { success = true, manifestId = pId, packageFile = tempFile, percentage = 10, message = "Downloading starter kit files..." }); }
public PackageInstallModel Import(PackageInstallModel model) { var ins = new global::umbraco.cms.businesslogic.packager.Installer(Security.CurrentUser.Id); model.TemporaryDirectoryPath = Path.Combine(SystemDirectories.Data, ins.Import(model.ZipFilePath)); model.Id = ins.CreateManifest(IOHelper.MapPath(model.TemporaryDirectoryPath), model.PackageGuid.ToString(), model.RepositoryGuid.ToString()); return(model); }
private void PopulateFromPackageData(LocalPackageInstallModel model) { var ins = new global::umbraco.cms.businesslogic.packager.Installer(Security.CurrentUser.Id); //this will load in all the metadata too var tempDir = ins.Import(model.ZipFilePath, false); model.TemporaryDirectoryPath = Path.Combine(SystemDirectories.Data, tempDir); model.Name = ins.Name; model.Author = ins.Author; model.AuthorUrl = ins.AuthorUrl; model.IconUrl = ins.IconUrl; model.License = ins.License; model.LicenseUrl = ins.LicenseUrl; model.ReadMe = ins.ReadMe; model.ConflictingMacroAliases = ins.ConflictingMacroAliases; model.ConflictingStyleSheetNames = ins.ConflictingStyleSheetNames; model.ConflictingTemplateAliases = ins.ConflictingTemplateAliases; model.ContainsBinaryFileErrors = ins.ContainsBinaryFileErrors; model.ContainsLegacyPropertyEditors = ins.ContainsLegacyPropertyEditors; model.ContainsMacroConflict = ins.ContainsMacroConflict; model.ContainsStyleSheetConflicts = ins.ContainsStyleSheeConflicts; model.ContainsTemplateConflicts = ins.ContainsTemplateConflicts; model.ContainsUnsecureFiles = ins.ContainsUnsecureFiles; model.Url = ins.Url; model.Version = ins.Version; model.UmbracoVersion = ins.RequirementsType == RequirementsType.Strict ? string.Format("{0}.{1}.{2}", ins.RequirementsMajor, ins.RequirementsMinor, ins.RequirementsPatch) : string.Empty; //now we need to check for version comparison model.IsCompatible = true; if (ins.RequirementsType == RequirementsType.Strict) { var packageMinVersion = new System.Version(ins.RequirementsMajor, ins.RequirementsMinor, ins.RequirementsPatch); if (UmbracoVersion.Current < packageMinVersion) { model.IsCompatible = false; } } }
public PackageInstallModel Import(PackageInstallModel model) { var ins = new global::umbraco.cms.businesslogic.packager.Installer(Security.CurrentUser.Id); var tempPath = ins.Import(model.ZipFilePath); //now we need to check for version comparison if (ins.RequirementsType == RequirementsType.Strict) { var packageMinVersion = new System.Version(ins.RequirementsMajor, ins.RequirementsMinor, ins.RequirementsPatch); if (UmbracoVersion.Current < packageMinVersion) { throw new HttpResponseException(Request.CreateNotificationValidationErrorResponse( Services.TextService.Localize("packager/targetVersionMismatch", new[] { packageMinVersion.ToString() }))); } } model.TemporaryDirectoryPath = Path.Combine(SystemDirectories.Data, tempPath); model.Id = ins.CreateManifest(IOHelper.MapPath(model.TemporaryDirectoryPath), model.PackageGuid.ToString(), model.RepositoryGuid.ToString()); return(model); }
public HttpResponseMessage DownloadPackageFiles(InstallPackageModel model) { var packageFile = _applicationContext.Services.PackagingService.FetchPackageFile( model.KitGuid, UmbracoVersion.Current, UmbracoContext.Current.Security.CurrentUser.Id); var installer = new global::umbraco.cms.businesslogic.packager.Installer(UmbracoContext.Current.Security.CurrentUser.Id); var tempFile = installer.Import(packageFile); installer.LoadConfig(tempFile); var pId = installer.CreateManifest(tempFile, model.KitGuid.ToString(), RepoGuid); return(Json(new { success = true, manifestId = pId, packageFile = tempFile, percentage = 10, message = "Downloading starter kit files..." }, HttpStatusCode.OK)); }
public JsonResult DownloadPackageFiles(Guid kitGuid) { var repo = global::umbraco.cms.businesslogic.packager.repositories.Repository.getByGuid(RepoGuid); if (!repo.HasConnection()) { return(Json(new { success = false, error = "cannot_connect" })); } var installer = new global::umbraco.cms.businesslogic.packager.Installer(); var tempFile = installer.Import(repo.fetch(kitGuid.ToString())); installer.LoadConfig(tempFile); var pId = installer.CreateManifest(tempFile, kitGuid.ToString(), RepoGuid); return(Json(new { success = true, manifestId = pId, packageFile = tempFile, percentage = 10, message = "Downloading starter kit files..." })); }
protected void SelectStarterKitDesign(object sender, EventArgs e) { InstallHelper.ClearProgress(); var kitGuid = new Guid(((LinkButton)sender).CommandArgument); if (!global::umbraco.cms.businesslogic.skinning.Skinning.IsSkinInstalled(kitGuid)) { InstallHelper.SetProgress(5, "Fetching starting kit from the repository", ""); var installer = new global::umbraco.cms.businesslogic.packager.Installer(); if (_repo.HasConnection()) { var p = new global::umbraco.cms.businesslogic.packager.Installer(); InstallHelper.SetProgress(15, "Connected to repository", ""); string tempFile = p.Import(_repo.fetch(kitGuid.ToString())); p.LoadConfig(tempFile); int pID = p.CreateManifest(tempFile, kitGuid.ToString(), RepoGuid); InstallHelper.SetProgress(30, "Installing skin files", ""); p.InstallFiles(pID, tempFile); InstallHelper.SetProgress(50, "Installing skin system objects", ""); p.InstallBusinessLogic(pID, tempFile); InstallHelper.SetProgress(60, "Finishing skin installation", ""); p.InstallCleanUp(pID, tempFile); library.RefreshContent(); InstallHelper.SetProgress(80, "Activating skin", ""); if (global::umbraco.cms.businesslogic.skinning.Skinning.GetAllSkins().Count > 0) { global::umbraco.cms.businesslogic.skinning.Skinning.ActivateAsCurrentSkin( global::umbraco.cms.businesslogic.skinning.Skinning.GetAllSkins()[0]); } InstallHelper.SetProgress(100, "Skin installation has been completed", ""); try { if (string.IsNullOrEmpty(GlobalSettings.ConfigurationStatus)) { GlobalSettings.ConfigurationStatus = UmbracoVersion.Current.ToString(3); Application["umbracoNeedConfiguration"] = false; } } catch { } try { InstallHelper.RedirectToNextStep(Page, GetCurrentStep()); } catch { OnStarterKitDesignInstalled(); } } else { ShowConnectionError(); } } }