Exemplo n.º 1
0
        public PackageInstallResult CleanUp(PackageInstallModel model)
        {
            var definition = Services.PackagingService.GetInstalledPackageById(model.Id);

            if (definition == null)
            {
                throw new InvalidOperationException("Not package definition found with id " + model.Id);
            }

            var zipFile = new FileInfo(definition.PackagePath);

            var packageInfo = Services.PackagingService.GetCompiledPackageInfo(zipFile);

            zipFile.Delete();

            //bump cdf to be safe
            var clientDependencyConfig  = new ClientDependencyConfiguration(Logger);
            var clientDependencyUpdated = clientDependencyConfig.UpdateVersionNumber(
                UmbracoVersion.SemanticVersion, DateTime.UtcNow, "yyyyMMdd");

            var redirectUrl = "";

            if (!packageInfo.PackageView.IsNullOrWhiteSpace())
            {
                redirectUrl = $"/packages/packages/options/{model.Id}";
            }

            return(new PackageInstallResult
            {
                Id = model.Id,
                ZipFileName = model.ZipFileName,
                PackageGuid = model.PackageGuid,
                PostInstallationPath = redirectUrl
            });
        }
        public PackageInstallResult CleanUp(PackageInstallModel model)
        {
            var ins     = new global::Umbraco.Web._Legacy.Packager.Installer(Security.CurrentUser.Id);
            var tempDir = IOHelper.MapPath(model.TemporaryDirectoryPath);

            ins.LoadConfig(IOHelper.MapPath(model.TemporaryDirectoryPath));
            ins.InstallCleanUp(model.Id, IOHelper.MapPath(model.TemporaryDirectoryPath));

            var clientDependencyConfig  = new ClientDependencyConfiguration(Logger);
            var clientDependencyUpdated = clientDependencyConfig.UpdateVersionNumber(
                UmbracoVersion.SemanticVersion, DateTime.UtcNow, "yyyyMMdd");


            var redirectUrl = "";

            if (ins.Control.IsNullOrWhiteSpace() == false)
            {
                redirectUrl = string.Format("/developer/framed/{0}",
                                            Uri.EscapeDataString(
                                                string.Format("/umbraco/developer/Packages/installer.aspx?installing=custominstaller&dir={0}&pId={1}&customControl={2}&customUrl={3}", tempDir, model.Id, ins.Control, ins.Url)));
            }

            return(new PackageInstallResult
            {
                Id = model.Id,
                ZipFilePath = model.ZipFilePath,
                PackageGuid = model.PackageGuid,
                RepositoryGuid = model.RepositoryGuid,
                TemporaryDirectoryPath = model.TemporaryDirectoryPath,
                PostInstallationPath = redirectUrl
            });
        }
        public override InstallSetupResult Execute(object model)
        {
            //This is synonymous with library.RefreshContent() - but we don't want to use library
            // for anything anymore so welll use the method that it is wrapping. This will just make sure
            // the correct xml structure exists in the xml cache file. This is required by some upgrade scripts
            // that may modify the cmsContentXml table directly.
            DistributedCache.Instance.RefreshAllPageCache();

            // Update configurationStatus
            GlobalSettings.ConfigurationStatus = UmbracoVersion.GetSemanticVersion().ToSemanticString();

            // Update ClientDependency version
            var clientDependencyConfig  = new ClientDependencyConfiguration(_applicationContext.ProfilingLogger.Logger);
            var clientDependencyUpdated = clientDependencyConfig.IncreaseVersionNumber();

            var security = new WebSecurity(_httpContext, _applicationContext);

            security.PerformLogin(0);

            //reports the ended install
            var ih = new InstallHelper(UmbracoContext.Current);

            ih.InstallStatus(true, "");

            return(null);
        }
 /// <summary>
 ///  changes the client dependency number (and cleans the cache) - so we get no browser odds
 /// </summary>
 private void IncrementClientDependency(HttpContextBase httpContext)
 {
     // Update ClientDependency version
     var clientDependencyConfig  = new ClientDependencyConfiguration(logger);
     var clientDependencyUpdated = clientDependencyConfig.UpdateVersionNumber(
         UmbracoVersion.SemanticVersion, DateTime.UtcNow, "yyyyMMdd");
     // Delete ClientDependency temp directories to make sure we get fresh caches
     var clientDependencyTempFilesDeleted = clientDependencyConfig.ClearTempFiles(httpContext);
 }
        public ActionResult Index()
        {
            if (ApplicationContext.Current.IsConfigured)
            {
                return(Redirect(SystemDirectories.Umbraco.EnsureEndsWith('/')));
            }

            if (ApplicationContext.Current.IsUpgrading)
            {
                // Update ClientDependency version
                var clientDependencyConfig  = new ClientDependencyConfiguration(_umbracoContext.Application.ProfilingLogger.Logger);
                var clientDependencyUpdated = clientDependencyConfig.UpdateVersionNumber(
                    UmbracoVersion.GetSemanticVersion(), DateTime.UtcNow, "yyyyMMdd");
                // Delete ClientDependency temp directories to make sure we get fresh caches
                var clientDependencyTempFilesDeleted = clientDependencyConfig.ClearTempFiles(HttpContext);

                var result = _umbracoContext.Security.ValidateCurrentUser(false);

                switch (result)
                {
                case ValidateRequestAttempt.FailedNoPrivileges:
                case ValidateRequestAttempt.FailedNoContextId:
                    return(Redirect(SystemDirectories.Umbraco + "/AuthorizeUpgrade?redir=" + Server.UrlEncode(Request.RawUrl)));
                }
            }


            //gen the install base url
            ViewBag.InstallApiBaseUrl = Url.GetUmbracoApiService("GetSetup", "InstallApi", "UmbracoInstall").TrimEnd("GetSetup");

            //get the base umbraco folder
            ViewBag.UmbracoBaseFolder = IOHelper.ResolveUrl(SystemDirectories.Umbraco);

            InstallHelper ih = new InstallHelper(_umbracoContext);

            ih.InstallStatus(false, "");

            //always ensure full path (see NOTE in the class remarks)
            return(View(GlobalSettings.Path.EnsureEndsWith('/') + "install/views/index.cshtml"));
        }
Exemplo n.º 6
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            // Update configurationStatus
            try
            {
                GlobalSettings.ConfigurationStatus      = UmbracoVersion.Current.ToString(3);
                Application["umbracoNeedConfiguration"] = false;
            }
            catch (Exception)
            {
                //errorLiteral.Text = ex.ToString();
            }

            // Update ClientDependency version
            var clientDependencyConfig  = new ClientDependencyConfiguration();
            var clientDependencyUpdated = clientDependencyConfig.IncreaseVersionNumber();

            if (!global::umbraco.cms.businesslogic.skinning.Skinning.IsStarterKitInstalled())
            {
                customizeSite.Visible = false;
            }
        }