2014-02-26 16:01:31 +01:00
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using System.Configuration;
|
|
|
|
|
|
using System.Web.Script.Serialization;
|
2013-02-03 05:06:11 +06:00
|
|
|
|
using System.Web.UI;
|
2014-02-26 16:01:31 +01:00
|
|
|
|
using Umbraco.Core.Configuration;
|
|
|
|
|
|
using Umbraco.Web.Install.InstallSteps;
|
|
|
|
|
|
using Umbraco.Web.Install.Models;
|
2013-02-03 05:06:11 +06:00
|
|
|
|
|
|
|
|
|
|
namespace Umbraco.Web.Install
|
|
|
|
|
|
{
|
|
|
|
|
|
internal static class InstallHelper
|
|
|
|
|
|
{
|
|
|
|
|
|
|
2014-02-26 16:01:31 +01:00
|
|
|
|
public static IEnumerable<InstallSetupStep> GetSteps(
|
|
|
|
|
|
UmbracoContext umbracoContext,
|
|
|
|
|
|
InstallStatus status)
|
2013-02-03 05:06:11 +06:00
|
|
|
|
{
|
2014-02-26 16:49:35 +01:00
|
|
|
|
//TODO: Add UserToken step to save our user token with Mother
|
|
|
|
|
|
|
2014-02-26 16:01:31 +01:00
|
|
|
|
var steps = new List<InstallSetupStep>();
|
|
|
|
|
|
if (status == InstallStatus.NewInstall)
|
|
|
|
|
|
{
|
|
|
|
|
|
//The step order returned here is how they will appear on the front-end
|
|
|
|
|
|
steps.AddRange(new InstallSetupStep[]
|
|
|
|
|
|
{
|
|
|
|
|
|
new FilePermissionsStep()
|
2014-02-26 16:30:25 +01:00
|
|
|
|
{
|
2014-02-26 16:01:31 +01:00
|
|
|
|
ServerOrder = 0,
|
|
|
|
|
|
},
|
|
|
|
|
|
new UserStep(umbracoContext.Application)
|
|
|
|
|
|
{
|
2014-02-26 16:30:25 +01:00
|
|
|
|
ServerOrder = 4,
|
2014-02-26 16:01:31 +01:00
|
|
|
|
},
|
|
|
|
|
|
new DatabaseConfigureStep(umbracoContext.Application)
|
|
|
|
|
|
{
|
|
|
|
|
|
ServerOrder = 1,
|
|
|
|
|
|
},
|
2014-02-26 16:30:25 +01:00
|
|
|
|
new DatabaseInstallStep(umbracoContext.Application)
|
|
|
|
|
|
{
|
|
|
|
|
|
ServerOrder = 2,
|
|
|
|
|
|
},
|
|
|
|
|
|
new DatabaseUpgradeStep(umbracoContext.Application)
|
2014-02-26 16:01:31 +01:00
|
|
|
|
{
|
|
|
|
|
|
ServerOrder = 3,
|
|
|
|
|
|
},
|
2014-02-26 16:30:25 +01:00
|
|
|
|
new StarterKitDownloadStep()
|
|
|
|
|
|
{
|
|
|
|
|
|
ServerOrder = 5,
|
|
|
|
|
|
},
|
2014-02-26 16:01:31 +01:00
|
|
|
|
new StarterKitInstallStep(umbracoContext.Application, umbracoContext.HttpContext)
|
|
|
|
|
|
{
|
2014-02-26 16:30:25 +01:00
|
|
|
|
ServerOrder = 6,
|
2014-02-26 16:01:31 +01:00
|
|
|
|
},
|
|
|
|
|
|
new StarterKitCleanupStep()
|
|
|
|
|
|
{
|
2014-02-26 16:30:25 +01:00
|
|
|
|
ServerOrder = 7,
|
2014-02-26 16:49:35 +01:00
|
|
|
|
},
|
|
|
|
|
|
new SetUmbracoVersionStep(umbracoContext.Application, umbracoContext.HttpContext) {
|
|
|
|
|
|
ServerOrder = 8
|
2014-02-26 16:01:31 +01:00
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
return steps;
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
//TODO: Add steps for upgrades
|
|
|
|
|
|
}
|
|
|
|
|
|
return null;
|
2013-02-03 05:06:11 +06:00
|
|
|
|
}
|
|
|
|
|
|
|
2014-02-26 16:01:31 +01:00
|
|
|
|
public static bool IsNewInstall
|
2013-02-03 05:06:11 +06:00
|
|
|
|
{
|
2014-02-26 16:01:31 +01:00
|
|
|
|
get
|
|
|
|
|
|
{
|
|
|
|
|
|
var databaseSettings = ConfigurationManager.ConnectionStrings[GlobalSettings.UmbracoConnectionName];
|
|
|
|
|
|
if (databaseSettings != null && (
|
|
|
|
|
|
databaseSettings.ConnectionString.Trim() == string.Empty
|
|
|
|
|
|
&& databaseSettings.ProviderName.Trim() == string.Empty
|
|
|
|
|
|
&& GlobalSettings.ConfigurationStatus == string.Empty))
|
|
|
|
|
|
{
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
2013-02-03 05:06:11 +06:00
|
|
|
|
|
2014-02-26 16:01:31 +01:00
|
|
|
|
return false;
|
|
|
|
|
|
}
|
2013-02-03 05:06:11 +06:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|