/// <summary> /// Converts the static entity. /// </summary> /// <param name="staticEntity">The static entity.</param> /// <returns></returns> private WpPostEntity ConvertStaticEntity(PhpStaticEntity staticEntity) { var excerpt = string.Empty; if (staticEntity.Content.Contains("<br />")) { excerpt = staticEntity.Content.Substring(0, staticEntity.Content.IndexOf("<br />")); } var postEntity = new WpPostEntity { ID = null, PostAuthor = 1, PostDate = staticEntity.DateConverted, PostDateGmt = staticEntity.DateConverted.ToUniversalTime(), PostContent = staticEntity.Content, PostTitle = staticEntity.Subject, PostExcerpt = excerpt, PostStatus = "publish", CommentStatus = "open", PingStatus = "open", PostPassword = string.Empty, PostName = staticEntity.Subject, ToPing = string.Empty, Pinged = string.Empty, PostModified = staticEntity.DateConverted, PostModifiedGmt = staticEntity.DateConverted.ToUniversalTime(), PostContentFiltered = string.Empty, PostParent = 0, Guid = Guid.NewGuid().ToString().ToUpper(), MenuOrder = 0, PostType = "page", PostMimeType = string.Empty, RelatedLink = string.Empty, CommentCount = 0 }; return postEntity; }
/// <summary> /// Parses the static page. /// </summary> /// <param name="file">The file.</param> /// <returns></returns> private bool ParseStaticPage(FileInfo file) { if (ValidateFile(file, Parser.Static)) { var content = m_fileContent.ToString().Split('|'); var staticEntity = new PhpStaticEntity(); for (int i = 0; i < content.Length; i++) { staticEntity.FileName = file.Name.Replace(".gz", string.Empty).Replace(".txt", string.Empty); switch (content[i]) { case "VERSION": try { staticEntity.Version = content[i + 1]; } catch { staticEntity.Version = string.Empty; } break; case "SUBJECT": try { staticEntity.Subject = ParseContent(content[i + 1]); } catch { staticEntity.Subject = string.Empty; } break; case "CONTENT": try { staticEntity.Content = ParseContent(content[i + 1]); } catch { staticEntity.Content = string.Empty; } staticEntity.Content = staticEntity.Content.Replace(Environment.NewLine, "<br />"); break; case "MENU_VISIBLE": try { staticEntity.MenuVisible = content[i + 1]; } catch { staticEntity.MenuVisible = string.Empty; } break; case "DATE": try { staticEntity.Date = Convert.ToInt64(content[i + 1]); } catch { staticEntity.Date = 0; } break; } } if (m_staticEntries == null) { m_staticEntries = new List<PhpStaticEntity>(); } var phpStaticEntity = m_staticEntries.Find( item => item.Date == staticEntity.Date && item.Subject == staticEntity.Subject && item.FileName == staticEntity.FileName); if (phpStaticEntity == null) { m_staticEntries.Add(staticEntity); } return true; } return false; }