Return Type | Function name | Arguments |
---|---|---|
hzEcode | hdsApp::ExportStrings | (void) |
Declared in file: hzDissemino.h
Defined in file : hdsResource.cpp
Function Logic:
Function body:
hzEcode hdsApp::ExportStrings (void) { _hzfunc("hdsApp::ExportStrings") ; hzList<hdsVE*>::Iter ih ; hdsArticle* pArt ; hdsArticleStd* pArtStd ; ofstream os ; hzChain Z ; hdsNavtree* pAG ; hdsPage* pPage ; hdsBlock* pBlok ; hdsVE* pVE ; hzString filepath ; hzString S ; uint32_t nG ; uint32_t n ; uint32_t nV ; Z.Printf("%s/website.%s.txt", *m_Docroot, *m_DefaultLang) ; filepath = Z ; Z.Clear() ; os.open(*filepath) ; if (os.fail()) return hzerr(E_OPENFAIL, "Cannot open file [%s]\n", *filepath) ; for (n = 0; n < m_setPgSubjects.Count() ; n++) { S = m_setPgSubjects.GetObj(n) ; Z.Printf("s%d) %s\n\n", n, *S) ; } for (n = 0; n < m_Includes.Count() ; n++) { pBlok = m_Includes.GetObj(n) ; for (pVE = pBlok->Children() ; pVE ; pVE = pVE->Sibling()) _exportStr(Z, pVE, n+1); } for (n = 0; n < m_vecPages.Count() ; n++) { pPage = m_vecPages[n] ; if (!(pPage->m_flagVE & VE_LANG)) { m_pLog->Log("Skipping page %s\n", *pPage->m_Url) ; continue ; } m_pLog->Log("Doing Page %s\n", *pPage->m_Url) ; for (nV = 0; nV < pPage->m_VEs.Count() ; nV++) { pVE = pPage->m_VEs[nV] ; _exportStr(Z, pVE, pPage->m_RID) ; } } os << Z ; os.close() ; os.clear() ; Z.Clear() ; m_pLog->Log("File %s Total %d pages\n", *filepath, n) ; for (nG = 0; nG < m_ArticleGroups.Count() ; nG++) { pAG = m_ArticleGroups.GetObj(nG) ; m_pLog->Out("Doing article group %s (total %d articles)\n", *pAG->m_Groupname, pAG->Count()) ; Z.Printf("%s/%s.%s.txt", *m_Docroot, *pAG->m_Groupname, *m_DefaultLang) ; filepath = Z ; Z.Clear() ; os.open(*filepath) ; if (os.fail()) { m_pLog->Out("%s. Cannot open file [%s]\n", *filepath) ; return E_OPENFAIL ; } for (n = 0; n < pAG->Count() ; n++) { pArt = (hdsArticle*) pAG->GetItem(n) ; if (!pArt) continue ; pArtStd = dynamic_cast<hdsArticleStd*>(pArt) ; if (pArtStd) { if (!(pArtStd->m_flagVE & VE_LANG)) { m_pLog->Out("Skipping article %s\n", *pArtStd->m_Title) ; continue ; } for (nV = 0; nV < pArtStd->m_VEs.Count() ; nV++) { pVE = pArtStd->m_VEs[nV] ; _exportStr(Z, pVE, pArtStd->m_RID) ; } } } os << Z ; os.close() ; os.clear() ; Z.Clear() ; m_pLog->Log("File %s Total %d articles (size now %d)\n", *filepath, n, Z.Size()) ; } return E_OK ; }