Installer: old to new update #1
This commit is contained in:
parent
cfe3210b58
commit
f34ff4f2c5
5 changed files with 2056 additions and 509 deletions
|
@ -596,13 +596,13 @@
|
||||||
<CustomAction Id="CA_InstallWebFeatures" BinaryKey="Assembly_CA" DllEntry="InstallWebFeatures" Impersonate="no" />
|
<CustomAction Id="CA_InstallWebFeatures" BinaryKey="Assembly_CA" DllEntry="InstallWebFeatures" Impersonate="no" />
|
||||||
<!--Run corresponding install scripts.-->
|
<!--Run corresponding install scripts.-->
|
||||||
<!--Server.-->
|
<!--Server.-->
|
||||||
<CustomAction Id="CA_PropertyOnServerInstall" Property="CA_OnServerInstall" Value="ApplicationName=$(var.NAME);ComponentName=$(var.ServerTitle);ComponentCode=server;ComponentDescription=$(var.ServerDescription);Version=$(var.VERSION);InstallationFolder=[INSTALLSERVERFOLDER];InstallerFolder=[WEBSITEPANELDIR];Installer=[];InstallerType=[];InstallerPath=[];IISVersion=[];SetupXml=[];WebSiteIP=[PI_SERVER_IP];WebSitePort=[PI_SERVER_PORT];WebSiteDomain=[PI_SERVER_HOST];UserDomain=[PI_SERVER_DOMAIN];UserAccount=[PI_SERVER_LOGIN];UserPassword=[PI_SERVER_PASSWORD];ServerPassword=[SERVER_ACCESS_PASSWORD];EnterpriseServerUrl=[PI_ESERVER_URL];ServerAdminPassword=[SERVERADMIN_PASSWORD];DatabaseServer=[DB_SERVER];DatabaseName=[DB_DATABASE];DbServerAdmin=[DB_LOGIN];DbServerAdminPassword=[DB_PASSWORD];BaseDirectory=[WEBSITEPANELDIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
<CustomAction Id="CA_PropertyOnServerInstall" Property="CA_OnServerInstall" Value="ApplicationName=$(var.NAME);ComponentName=$(var.ServerTitle);ComponentCode=server;ComponentDescription=$(var.ServerDescription);Version=$(var.VERSION);InstallationFolder=[INSTALLSERVERFOLDER];InstallerFolder=[WEBSITEPANELDIR];Installer=Microsoft Windows Installer;InstallerType=MSI;InstallerPath=[OriginalDatabase];IISVersion=[];SetupXml=[];WebSiteIP=[PI_SERVER_IP];WebSitePort=[PI_SERVER_PORT];WebSiteDomain=[PI_SERVER_HOST];UserDomain=[PI_SERVER_DOMAIN];UserAccount=[PI_SERVER_LOGIN];UserPassword=[PI_SERVER_PASSWORD];ServerPassword=[SERVER_ACCESS_PASSWORD];EnterpriseServerUrl=[PI_ESERVER_URL];ServerAdminPassword=[SERVERADMIN_PASSWORD];DatabaseServer=[DB_SERVER];DatabaseName=[DB_DATABASE];DbServerAdmin=[DB_LOGIN];DbServerAdminPassword=[DB_PASSWORD];BaseDirectory=[WEBSITEPANELDIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
||||||
<CustomAction Id="CA_OnServerInstall" BinaryKey ="Assembly_CA" DllEntry="OnServerInstall" Impersonate="no" Execute="deferred" HideTarget="no"/>
|
<CustomAction Id="CA_OnServerInstall" BinaryKey ="Assembly_CA" DllEntry="OnServerInstall" Impersonate="no" Execute="deferred" HideTarget="no"/>
|
||||||
<!--EServer.-->
|
<!--EServer.-->
|
||||||
<CustomAction Id="CA_PropertyOnEServerInstall" Property="CA_OnEServerInstall" Value="ApplicationName=$(var.NAME);ComponentName=$(var.EServerTitle);ComponentCode=enterprise server;ComponentDescription=$(var.EServerDescription);Version=$(var.VERSION);InstallationFolder=[INSTALLENTERPRISESERVERFOLDER];InstallerFolder=[WEBSITEPANELDIR];Installer=[];InstallerType=[];InstallerPath=[];IISVersion=[];SetupXml=[];WebSiteIP=[PI_ESERVER_IP];WebSitePort=[PI_ESERVER_PORT];WebSiteDomain=[PI_ESERVER_HOST];UserDomain=[PI_ESERVER_DOMAIN];UserAccount=[PI_ESERVER_LOGIN];UserPassword=[PI_ESERVER_PASSWORD];ServerPassword=[SERVER_ACCESS_PASSWORD];EnterpriseServerUrl=[PI_ESERVER_URL];ServerAdminPassword=[SERVERADMIN_PASSWORD];DatabaseServer=[DB_SERVER];DatabaseName=[DB_DATABASE];DbServerAdmin=[DB_LOGIN];DbServerAdminPassword=[DB_PASSWORD];BaseDirectory=[WEBSITEPANELDIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
<CustomAction Id="CA_PropertyOnEServerInstall" Property="CA_OnEServerInstall" Value="ApplicationName=$(var.NAME);ComponentName=$(var.EServerTitle);ComponentCode=enterprise server;ComponentDescription=$(var.EServerDescription);Version=$(var.VERSION);InstallationFolder=[INSTALLENTERPRISESERVERFOLDER];InstallerFolder=[WEBSITEPANELDIR];Installer=Microsoft Windows Installer;InstallerType=MSI;InstallerPath=[OriginalDatabase];IISVersion=[];SetupXml=[];WebSiteIP=[PI_ESERVER_IP];WebSitePort=[PI_ESERVER_PORT];WebSiteDomain=[PI_ESERVER_HOST];UserDomain=[PI_ESERVER_DOMAIN];UserAccount=[PI_ESERVER_LOGIN];UserPassword=[PI_ESERVER_PASSWORD];ServerPassword=[SERVER_ACCESS_PASSWORD];EnterpriseServerUrl=[PI_ESERVER_URL];ServerAdminPassword=[SERVERADMIN_PASSWORD];DatabaseServer=[DB_SERVER];DatabaseName=[DB_DATABASE];DbServerAdmin=[DB_LOGIN];DbServerAdminPassword=[DB_PASSWORD];BaseDirectory=[WEBSITEPANELDIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
||||||
<CustomAction Id="CA_OnEServerInstall" BinaryKey ="Assembly_CA" DllEntry="OnEServerInstall" Impersonate="no" Execute="deferred" HideTarget="no"/>
|
<CustomAction Id="CA_OnEServerInstall" BinaryKey ="Assembly_CA" DllEntry="OnEServerInstall" Impersonate="no" Execute="deferred" HideTarget="no"/>
|
||||||
<!--Portal.-->
|
<!--Portal.-->
|
||||||
<CustomAction Id="CA_PropertyOnPortalInstall" Property="CA_OnPortalInstall" Value="ApplicationName=$(var.NAME);ComponentName=$(var.PortalTitle);ComponentCode=portal;ComponentDescription=$(var.PortalDescription);Version=$(var.VERSION);InstallationFolder=[INSTALLPORTALFOLDER];InstallerFolder=[WEBSITEPANELDIR];Installer=[];InstallerType=[];InstallerPath=[];IISVersion=[];SetupXml=[];WebSiteIP=[PI_PORTAL_IP];WebSitePort=[PI_PORTAL_PORT];WebSiteDomain=[PI_PORTAL_HOST];UserDomain=[PI_PORTAL_DOMAIN];UserAccount=[PI_PORTAL_LOGIN];UserPassword=[PI_PORTAL_PASSWORD];ServerPassword=[SERVER_ACCESS_PASSWORD];EnterpriseServerUrl=[PI_ESERVER_URL];ServerAdminPassword=[SERVERADMIN_PASSWORD];DatabaseServer=[DB_SERVER];DatabaseName=[DB_DATABASE];DbServerAdmin=[DB_LOGIN];DbServerAdminPassword=[DB_PASSWORD];BaseDirectory=[WEBSITEPANELDIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
<CustomAction Id="CA_PropertyOnPortalInstall" Property="CA_OnPortalInstall" Value="ApplicationName=$(var.NAME);ComponentName=$(var.PortalTitle);ComponentCode=portal;ComponentDescription=$(var.PortalDescription);Version=$(var.VERSION);InstallationFolder=[INSTALLPORTALFOLDER];InstallerFolder=[WEBSITEPANELDIR];Installer=Microsoft Windows Installer;InstallerType=MSI;InstallerPath=[OriginalDatabase];IISVersion=[];SetupXml=[];WebSiteIP=[PI_PORTAL_IP];WebSitePort=[PI_PORTAL_PORT];WebSiteDomain=[PI_PORTAL_HOST];UserDomain=[PI_PORTAL_DOMAIN];UserAccount=[PI_PORTAL_LOGIN];UserPassword=[PI_PORTAL_PASSWORD];ServerPassword=[SERVER_ACCESS_PASSWORD];EnterpriseServerUrl=[PI_ESERVER_URL];ServerAdminPassword=[SERVERADMIN_PASSWORD];DatabaseServer=[DB_SERVER];DatabaseName=[DB_DATABASE];DbServerAdmin=[DB_LOGIN];DbServerAdminPassword=[DB_PASSWORD];BaseDirectory=[WEBSITEPANELDIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
||||||
<CustomAction Id="CA_OnPortalInstall" BinaryKey ="Assembly_CA" DllEntry="OnPortalInstall" Impersonate="no" Execute="deferred" HideTarget="no"/>
|
<CustomAction Id="CA_OnPortalInstall" BinaryKey ="Assembly_CA" DllEntry="OnPortalInstall" Impersonate="no" Execute="deferred" HideTarget="no"/>
|
||||||
<!--Run corresponding uninstall scripts.-->
|
<!--Run corresponding uninstall scripts.-->
|
||||||
<CustomAction Id="CA_PropertyOnServerRemove" Property="CA_OnServerRemove" Value="InstallerFolder=[WEBSITEPANELDIR];ComponentCode=server;BaseDirectory=[WEBSITEPANELDIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
<CustomAction Id="CA_PropertyOnServerRemove" Property="CA_OnServerRemove" Value="InstallerFolder=[WEBSITEPANELDIR];ComponentCode=server;BaseDirectory=[WEBSITEPANELDIR];MODE_UP=[WIX_UPGRADE_DETECTED];MODE_RUP=[UPGRADINGPRODUCTCODE]" />
|
||||||
|
|
|
@ -3928,6 +3928,13 @@ namespace WebsitePanel.Setup.Internal
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
XmlDocumentMerge.KeyAttributes = new List<string> { "name", "id", "key", "pageID", "localName", "xmlns", "privatePath", "moduleDefinitionID", "ref", "verb;path", "controlRenderingCompatibilityVersion;clientIDMode" };
|
||||||
|
XmlDocumentMerge.FrozenAttributes = new List<XmlDocumentMerge.FrozenAttrTag>
|
||||||
|
{
|
||||||
|
new XmlDocumentMerge.FrozenAttrTag() { Path="configuration/microsoft.web.services3/security/securityTokenManager/add", Attributes = new List<string>() {"localName"} },
|
||||||
|
new XmlDocumentMerge.FrozenAttrTag(true) { Path="compilation", Attributes = new List<string>() {"targetFramework"} },
|
||||||
|
new XmlDocumentMerge.FrozenAttrTag() { Path="configuration/startup/supportedRuntime", Attributes = new List<string>() {"version", "sku" } }
|
||||||
|
};
|
||||||
Log.WriteStart("RestoreXmlConfigs");
|
Log.WriteStart("RestoreXmlConfigs");
|
||||||
var Backup = BackupRestore.Find(Ctx.InstallerFolder, Global.DefaultProductName, Ctx.ComponentName);
|
var Backup = BackupRestore.Find(Ctx.InstallerFolder, Global.DefaultProductName, Ctx.ComponentName);
|
||||||
switch(Ctx.ComponentCode)
|
switch(Ctx.ComponentCode)
|
||||||
|
@ -3940,21 +3947,13 @@ namespace WebsitePanel.Setup.Internal
|
||||||
case Global.EntServer.ComponentCode:
|
case Global.EntServer.ComponentCode:
|
||||||
{
|
{
|
||||||
Backup.XmlFiles.Add("Web.config");
|
Backup.XmlFiles.Add("Web.config");
|
||||||
|
Backup.XmlFiles.Add(@"bin\WebsitePanel.SchedulerService.exe.config");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Global.WebPortal.ComponentCode:
|
case Global.WebPortal.ComponentCode:
|
||||||
{
|
{
|
||||||
Backup.XmlFiles.Add("Web.config");
|
Backup.XmlFiles.Add("Web.config");
|
||||||
Backup.XmlFiles.Add(@"App_Data\Countries.config");
|
|
||||||
Backup.XmlFiles.Add(@"App_Data\CountryStates.config");
|
|
||||||
Backup.XmlFiles.Add(@"App_Data\Ecommerce_Modules.config");
|
|
||||||
Backup.XmlFiles.Add(@"App_Data\Ecommerce_Pages.config");
|
|
||||||
Backup.XmlFiles.Add(@"App_Data\ESModule_ControlsHierarchy.config");
|
|
||||||
Backup.XmlFiles.Add(@"App_Data\ModulesData.config");
|
|
||||||
Backup.XmlFiles.Add(@"App_Data\SiteSettings.config");
|
Backup.XmlFiles.Add(@"App_Data\SiteSettings.config");
|
||||||
Backup.XmlFiles.Add(@"App_Data\SupportedLocales.config");
|
|
||||||
Backup.XmlFiles.Add(@"App_Data\SupportedThemes.config");
|
|
||||||
Backup.XmlFiles.Add(@"App_Data\WebsitePanel_Modules.config");
|
|
||||||
Backup.XmlFiles.Add(@"App_Data\WebsitePanel_Pages.config");
|
Backup.XmlFiles.Add(@"App_Data\WebsitePanel_Pages.config");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -8,14 +8,46 @@ namespace WebsitePanel.Setup.Internal
|
||||||
{
|
{
|
||||||
public static class XmlDocumentMerge
|
public static class XmlDocumentMerge
|
||||||
{
|
{
|
||||||
|
public class AttrTag
|
||||||
|
{
|
||||||
|
public AttrTag()
|
||||||
|
: this(null)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
public AttrTag(params string[] Attributes)
|
||||||
|
{
|
||||||
|
this.Attributes = Attributes;
|
||||||
|
Priority = Attributes == null ? 0 : (ulong)Attributes.LongLength;
|
||||||
|
}
|
||||||
|
public ulong Priority { get; private set; }
|
||||||
|
public string[] Attributes;
|
||||||
|
}
|
||||||
|
public class FrozenAttrTag
|
||||||
|
{
|
||||||
|
public FrozenAttrTag()
|
||||||
|
: this(false)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
public FrozenAttrTag(bool Relative)
|
||||||
|
{
|
||||||
|
IsRelative = Relative;
|
||||||
|
}
|
||||||
|
public string Path { get; set; }
|
||||||
|
public IList<string> Attributes { get; set; }
|
||||||
|
public bool IsRelative { get; private set; }
|
||||||
|
}
|
||||||
const string SuccessFormat = "Success: {0}.";
|
const string SuccessFormat = "Success: {0}.";
|
||||||
const string ErrorFormat = "Error: {0}.";
|
const string ErrorFormat = "Error: {0}.";
|
||||||
const string MergeCompleted = "XmlDocumentMerge completed";
|
const string MergeCompleted = "XmlDocumentMerge completed";
|
||||||
static XmlDocumentMerge()
|
static XmlDocumentMerge()
|
||||||
{
|
{
|
||||||
KeyAttributes = new List<string> { "name", "id", "key" };
|
KeyAttributes = new List<string>();
|
||||||
|
FrozenAttributes = new List<FrozenAttrTag>();
|
||||||
}
|
}
|
||||||
public static List<string> KeyAttributes { get; set; }
|
public static IList<string> KeyAttributes { get; set; }
|
||||||
|
public static IList<FrozenAttrTag> FrozenAttributes { get; set; }
|
||||||
public static string Process(string Src, string Dst, string SaveTo = "")
|
public static string Process(string Src, string Dst, string SaveTo = "")
|
||||||
{
|
{
|
||||||
var Result = string.Empty;
|
var Result = string.Empty;
|
||||||
|
@ -83,57 +115,97 @@ namespace WebsitePanel.Setup.Internal
|
||||||
}
|
}
|
||||||
private static string NodeView(XPathNavigator Navi)
|
private static string NodeView(XPathNavigator Navi)
|
||||||
{
|
{
|
||||||
foreach (var Attr in KeyAttributes)
|
foreach (var Item in GetProcessingChain(KeyAttributes))
|
||||||
{
|
{
|
||||||
var Value = Navi.GetAttribute(Attr, string.Empty);
|
string Result = string.Empty;
|
||||||
if (!string.IsNullOrWhiteSpace(Value))
|
foreach (var Attr in Item.Attributes)
|
||||||
return string.Format("{0}[@{1}='{2}']", Navi.Name, Attr, Value);
|
{
|
||||||
|
var Value = Navi.GetAttribute(Attr, string.Empty);
|
||||||
|
if (string.IsNullOrWhiteSpace(Value))
|
||||||
|
{
|
||||||
|
Result = string.Empty;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(Result))
|
||||||
|
Result = string.Format("@{0}='{1}'", Attr, Value);
|
||||||
|
else
|
||||||
|
Result = string.Format("{0} and @{1}='{2}'", Result, Attr, Value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!string.IsNullOrWhiteSpace(Result))
|
||||||
|
return string.Format("{0}[{1}]", Navi.Name, Result);
|
||||||
}
|
}
|
||||||
return Navi.Name;
|
return Navi.Name;
|
||||||
}
|
}
|
||||||
private static void Merge(XPathNavigator DstNavi, XmlDocument SrcDoc, string Parent)
|
private static void Merge(XPathNavigator DstNavi, XmlDocument SrcDoc, string Parent)
|
||||||
{
|
{
|
||||||
if (DstNavi.NodeType == XPathNodeType.Element)
|
var Current = NodePath(Parent, NodeView(DstNavi));
|
||||||
|
if (!string.IsNullOrWhiteSpace(Current))
|
||||||
{
|
{
|
||||||
var SrcElem = SrcDoc.SelectSingleNode(NodePath(Parent, NodeView(DstNavi)));
|
if (DstNavi.NodeType == XPathNodeType.Element)
|
||||||
if (SrcElem != null)
|
|
||||||
{
|
{
|
||||||
if (DstNavi.MoveToFirstAttribute())
|
var SrcElem = SrcDoc.SelectSingleNode(Current);
|
||||||
|
if (SrcElem != null)
|
||||||
{
|
{
|
||||||
do
|
var Frozen = GetFrozenAttributes(Current, FrozenAttributes);
|
||||||
|
if (DstNavi.MoveToFirstAttribute())
|
||||||
{
|
{
|
||||||
var SrcElemAttr = SrcElem.Attributes[DstNavi.LocalName];
|
do
|
||||||
if (SrcElemAttr != null)
|
{
|
||||||
DstNavi.SetValue(SrcElemAttr.Value);
|
var SrcElemAttr = SrcElem.Attributes[DstNavi.LocalName];
|
||||||
|
if (SrcElemAttr != null && CanProcess(DstNavi.LocalName, Frozen))
|
||||||
|
DstNavi.SetValue(SrcElemAttr.Value);
|
||||||
|
}
|
||||||
|
while (DstNavi.MoveToNextAttribute());
|
||||||
|
DstNavi.MoveToParent();
|
||||||
}
|
}
|
||||||
while (DstNavi.MoveToNextAttribute());
|
|
||||||
DstNavi.MoveToParent();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
else if (DstNavi.NodeType == XPathNodeType.Text)
|
||||||
else if (DstNavi.NodeType == XPathNodeType.Text)
|
|
||||||
{
|
|
||||||
var SrcElem = SrcDoc.SelectSingleNode(NodePath(Parent, NodeView(DstNavi)));
|
|
||||||
if (SrcElem != null)
|
|
||||||
DstNavi.SetValue(SrcElem.InnerText);
|
|
||||||
}
|
|
||||||
var Here = NodeView(DstNavi);
|
|
||||||
if (DstNavi.MoveToFirstChild())
|
|
||||||
{
|
|
||||||
do
|
|
||||||
{
|
{
|
||||||
Merge(DstNavi, SrcDoc, NodePath(Parent, Here));
|
var SrcElem = SrcDoc.SelectSingleNode(Current);
|
||||||
|
if (SrcElem != null)
|
||||||
|
DstNavi.SetValue(SrcElem.InnerText);
|
||||||
|
}
|
||||||
|
if (DstNavi.MoveToFirstChild())
|
||||||
|
{
|
||||||
|
do
|
||||||
|
{
|
||||||
|
Merge(DstNavi, SrcDoc, Current);
|
||||||
|
}
|
||||||
|
while (DstNavi.MoveToNext());
|
||||||
|
DstNavi.MoveToParent();
|
||||||
|
}
|
||||||
|
else if (DstNavi.NodeType == XPathNodeType.Element)
|
||||||
|
{
|
||||||
|
var SrcElem = SrcDoc.SelectSingleNode(Current);
|
||||||
|
if (SrcElem != null && !string.IsNullOrWhiteSpace(SrcElem.InnerXml))
|
||||||
|
foreach (XmlNode Child in SrcElem.ChildNodes)
|
||||||
|
DstNavi.AppendChild(Child.CloneNode(true).CreateNavigator());
|
||||||
}
|
}
|
||||||
while (DstNavi.MoveToNext());
|
|
||||||
DstNavi.MoveToParent();
|
|
||||||
}
|
|
||||||
else if (DstNavi.NodeType == XPathNodeType.Element)
|
|
||||||
{
|
|
||||||
var SrcElem = SrcDoc.SelectSingleNode(NodePath(Parent, Here));
|
|
||||||
if (SrcElem != null && !string.IsNullOrWhiteSpace(SrcElem.InnerXml))
|
|
||||||
foreach (XmlNode Child in SrcElem.ChildNodes)
|
|
||||||
DstNavi.AppendChild(Child.CloneNode(true).CreateNavigator());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
private static IList<AttrTag> GetProcessingChain(IEnumerable<string> Attributes)
|
||||||
|
{
|
||||||
|
var Delimiter = ";";
|
||||||
|
var Chain = new List<AttrTag>();
|
||||||
|
foreach (var Attribute in Attributes)
|
||||||
|
Chain.Add(new AttrTag(Attribute.Split(new string[] { Delimiter }, StringSplitOptions.RemoveEmptyEntries)));
|
||||||
|
Chain.Sort(delegate(AttrTag a, AttrTag b) { return a.Priority == b.Priority ? 0 : a.Priority > b.Priority ? -1 : 1; });
|
||||||
|
return Chain;
|
||||||
|
}
|
||||||
|
private static FrozenAttrTag GetFrozenAttributes(string Path, IEnumerable<FrozenAttrTag> Frozens)
|
||||||
|
{
|
||||||
|
foreach (var Frozen in Frozens)
|
||||||
|
if (Frozen.IsRelative ? Path.IndexOf(Frozen.Path, 1) == -1 : Path.StartsWith(Frozen.Path))
|
||||||
|
return Frozen;
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
private static bool CanProcess(string Name, FrozenAttrTag Frozen)
|
||||||
|
{
|
||||||
|
return Frozen == null ? true : !Frozen.Attributes.Contains(Name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -44364,7 +44364,7 @@ Hello #user.FirstName#,
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Please, find below details of your control panel account.
|
Please, find below details of your control panel account. The one time password was generated for you. You should change the password after login.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h1>Control Panel URL</h1>
|
<h1>Control Panel URL</h1>
|
||||||
|
@ -44373,7 +44373,7 @@ Please, find below details of your control panel account.
|
||||||
<tr>
|
<tr>
|
||||||
<th>Control Panel URL</th>
|
<th>Control Panel URL</th>
|
||||||
<th>Username</th>
|
<th>Username</th>
|
||||||
<th>Password</th>
|
<th>One Time Password</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
@ -44411,11 +44411,11 @@ INSERT [dbo].[UserSettings] ([UserID], [SettingsName], [PropertyName], [Property
|
||||||
|
|
||||||
Hello #user.FirstName#,
|
Hello #user.FirstName#,
|
||||||
|
|
||||||
Please, find below details of your control panel account.
|
Please, find below details of your control panel account. The one time password was generated for you. You should change the password after login.
|
||||||
|
|
||||||
Control Panel URL: http://panel.AcmeHosting.com
|
Control Panel URL: http://panel.AcmeHosting.com
|
||||||
Username: #user.Username#
|
Username: #user.Username#
|
||||||
Password: #user.Password#
|
One Time Password: #user.Password#
|
||||||
|
|
||||||
If you have any questions regarding your hosting account, feel free to contact our support department at any time.
|
If you have any questions regarding your hosting account, feel free to contact our support department at any time.
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue