public string GenerateNewFilename(string ThePageTitle, string GoLiveDate, string PageID, string Mode)
{
try {
CurrentPageGuid = new Guid(PageID);
DateTime goLiveDate = Convert.ToDateTime(GoLiveDate);
string sThePageTitle = CMSConfigHelper.DecodeBase64(ThePageTitle);
if (String.IsNullOrEmpty(sThePageTitle)) {
sThePageTitle = CurrentPageGuid.ToString();
}
sThePageTitle = sThePageTitle.Replace("/", "-");
string sTheFileName = ContentPageHelper.ScrubFilename(CurrentPageGuid, sThePageTitle);
if (Mode.ToLowerInvariant() == "page") {
string sTestRes = ValidateUniqueFilename(CMSConfigHelper.EncodeBase64(sTheFileName), PageID);
if (sTestRes != "OK") {
for (int i = 1; i < 1000; i++) {
string sTestFile = sThePageTitle + "-" + i.ToString();
sTestRes = ValidateUniqueFilename(CMSConfigHelper.EncodeBase64(sTestFile), PageID);
if (sTestRes == "OK") {
sTheFileName = ContentPageHelper.ScrubFilename(CurrentPageGuid, sTestFile);
break;
} else {
sTheFileName = String.Empty;
}
}
}
} else {
string sTestRes = ValidateUniqueBlogFilename(CMSConfigHelper.EncodeBase64(sTheFileName), GoLiveDate, PageID);
if (sTestRes != "OK") {
for (int i = 1; i < 1000; i++) {
string sTestFile = sThePageTitle + "-" + i.ToString();
sTestRes = ValidateUniqueBlogFilename(CMSConfigHelper.EncodeBase64(sTestFile), GoLiveDate, PageID);
if (sTestRes == "OK") {
sTheFileName = ContentPageHelper.ScrubFilename(CurrentPageGuid, sTestFile);
break;
} else {
sTheFileName = String.Empty;
}
}
}
}
return ContentPageHelper.ScrubFilename(CurrentPageGuid, sTheFileName).ToLowerInvariant();
} catch (Exception ex) {
SiteData.WriteDebugException("webservice", ex);
return "FAIL";
}
}