public string ValidateUniqueFilename(string TheFileName, string PageID)
{
try {
CurrentPageGuid = new Guid(PageID);
TheFileName = CMSConfigHelper.DecodeBase64(TheFileName);
if (TheFileName.Length < 6) {
return "FAIL";
}
TheFileName = ContentPageHelper.ScrubFilename(CurrentPageGuid, TheFileName);
TheFileName = TheFileName.ToLowerInvariant();
if (SiteData.IsPageSpecial(TheFileName) || TheFileName.Length < 6) {
return "FAIL";
}
if (SiteData.CurrentSite.GetSpecialFilePathPrefixes().Where(x => TheFileName.StartsWith(x.ToLowerInvariant())).Count() > 0
|| TheFileName.StartsWith(SiteData.CurrentSite.BlogFolderPath.ToLowerInvariant())) {
return "FAIL";
}
ContentPage fn = pageHelper.FindByFilename(SiteData.CurrentSite.SiteID, TheFileName);
ContentPage cp = pageHelper.FindContentByID(SiteData.CurrentSite.SiteID, CurrentPageGuid);
if (cp == null && CurrentPageGuid != Guid.Empty) {
cp = pageHelper.GetVersion(SiteData.CurrentSite.SiteID, CurrentPageGuid);
}
if (fn == null || (fn != null && cp != null && fn.Root_ContentID == cp.Root_ContentID)) {
return "OK";
} else {
return "FAIL";
}
} catch (Exception ex) {
SiteData.WriteDebugException("webservice", ex);
return ex.ToString();
}
}