Carrotware.CMS.UI.Admin.c3_admin.CMS.ValidateUniqueFilename C# (CSharp) Method

ValidateUniqueFilename() private method

private ValidateUniqueFilename ( string TheFileName, string PageID ) : string
TheFileName string
PageID string
return string
        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();
            }
        }