コード例 #1
0
        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));
        }
コード例 #2
0
        public HttpResponseMessage InstallPackageFiles(InstallPackageModel model)
        {
            model.PackageFile = HttpUtility.UrlDecode(model.PackageFile);
            var installer = new global::umbraco.cms.businesslogic.packager.Installer(UmbracoContext.Current.Security.CurrentUser.Id);

            installer.LoadConfig(model.PackageFile);
            installer.InstallFiles(model.ManifestId, model.PackageFile);
            return(Json(new
            {
                success = true,
                model.ManifestId,
                model.PackageFile,
                percentage = 20,
                message = "Installing starter kit files"
            }, HttpStatusCode.OK));
        }
コード例 #3
0
        public HttpResponseMessage CleanupInstallation(InstallPackageModel model)
        {
            model.PackageFile = HttpUtility.UrlDecode(model.PackageFile);
            var installer = new global::umbraco.cms.businesslogic.packager.Installer(UmbracoContext.Current.Security.CurrentUser.Id);

            installer.LoadConfig(model.PackageFile);
            installer.InstallCleanUp(model.ManifestId, model.PackageFile);

            library.RefreshContent();

            return(Json(new
            {
                success = true,
                model.ManifestId,
                model.PackageFile,
                percentage = 100,
                message = "Starter kit has been installed"
            }, HttpStatusCode.OK));
        }
コード例 #4
0
        public HttpResponseMessage CleanupInstallation(InstallPackageModel model)
        {
            model.PackageFile = HttpUtility.UrlDecode(model.PackageFile);
            var installer = new global::Umbraco.Web._Legacy.Packager.Installer(UmbracoContext.Current.Security.CurrentUser.Id);

            installer.LoadConfig(model.PackageFile);
            installer.InstallCleanUp(model.ManifestId, model.PackageFile);

            // library.RefreshContent is obsolete, would need to RefreshAll... snapshot,
            // but it should be managed automatically by services and caches!
            //DistributedCache.Instance.RefreshAll...();

            return(Json(new
            {
                success = true,
                model.ManifestId,
                model.PackageFile,
                percentage = 100,
                message = "Starter kit has been installed"
            }, HttpStatusCode.OK));
        }
コード例 #5
0
        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));
        }