| 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 ;
}