This is run as part of the hdsApp initislization sequence. It adds the navbar handler script and the user dependent navbar menu scripts. These are places in m_rawScripts (the unzipped versions) and m_zipScripts (the zipped versions). Note. As the navigation bar is multi-lingual, this function must be called after the language files have been imported. Arguments: None
| Return Type | Function name | Arguments |
|---|---|---|
| hzEcode | hdsApp::SetupScripts | (void) |
Declared in file: hzDissemino.h
Defined in file : hdsScript.cpp
Function Logic:
Function body:
hzEcode hdsApp::SetupScripts (void)
{
// This is run as part of the hdsApp initislization sequence. It adds the navbar handler script and the user dependent navbar menu scripts.
// These are places in m_rawScripts (the unzipped versions) and m_zipScripts (the zipped versions).
//
// Note. As the navigation bar is multi-lingual, this function must be called after the language files have been imported.
//
// Arguments: None
//
// Returns: E_SETONCE Duplicate call
// E_OK Operation Successful
_hzfunc("hdsApp::setupScripts") ;
static bool bBeenHere = false ; // No repeat call
hzChain Z ; // Script chain
hzChain X ; // Zipped version
hzChain S ; // For building script names
hdsLang* pLang ; // Language
hdsNavtree* pAG ; // Article group
hzString name ; // Name of script
hzString tmpStr ; // Temp string
uint32_t n ; // User type iterator
uint32_t x ; // User type iterator
char fnBuf[200]; // Filename buffer
if (!this)
hzexit(E_CORRUPT, "No instance") ;
if (!m_Appname)
Fatal("No Application Name") ;
if (bBeenHere)
return hzerr(E_SETONCE, "DUPLICATE CALL") ;
bBeenHere = true ;
/*
** ** Navigation Bars
** */
threadLog("CREATING Standard Scripts\n") ;
threadLog("CREATING Standard Scripts for Webapp %s\n", *m_Appname) ;
// General script
name = "navhdl.js" ;
Z = _dsmScript_navbarMenu ;
Gzip(X, Z) ;
m_pLog->Log("Created navhdl.js script %s (sizes %d and %d)\n", *name, Z.Size(), X.Size()) ;
tmpStr = X ;
m_rawScripts.Insert(name, _dsmScript_navbarMenu) ;
m_pLog->Log("Case 1\n") ;
m_zipScripts.Insert(name, tmpStr) ;
// Default language
m_pLog->Log("Default Language\n") ;
// Default language Navbar for public access
name = "nav-public.js" ;
MakeNavbarJS(Z, pLang, ACCESS_PUBLIC) ;
Gzip(X, Z) ;
m_pLog->Log("Created nav-public.js script %s (sizes %d and %d)\n", *name, Z.Size(), X.Size()) ;
tmpStr = Z ;
m_rawScripts.Insert(name, tmpStr) ;
m_pLog->Log("Case 1\n") ;
tmpStr = X ;
m_zipScripts.Insert(name, tmpStr) ;
m_pLog->Log("Case 2\n") ;
// Default language Navbar for admin access
name = "nav-admin.js" ;
MakeNavbarJS(Z, pLang, ACCESS_ADMIN) ;
Gzip(X, Z) ;
m_pLog->Log("Created nav-admin.js script %s (sizes %d and %d)\n", *name, Z.Size(), X.Size()) ;
tmpStr = Z ;
m_rawScripts.Insert(name, tmpStr) ;
m_pLog->Log("Case 1\n") ;
tmpStr = X ;
m_zipScripts.Insert(name, tmpStr) ;
m_pLog->Log("Case 2\n") ;
// Default language Navbar for access of each user type
for (x = 0; x < m_UserTypes.Count() ; x++)
{
tmpStr = m_UserTypes.GetKey(x) ;
sprintf(fnBuf, "nav-%s.js", *tmpStr) ;
name = fnBuf ;
MakeNavbarJS(Z, pLang, m_UserTypes.GetObj(x)) ; // ut.m_Access) ;
tmpStr = Z ;
m_rawScripts.Insert(name, tmpStr) ;
Gzip(X, Z) ;
tmpStr = X ;
m_zipScripts.Insert(name, tmpStr) ;
}
// Language dependent data scripts
for (n = 0; n < m_Languages.Count() ; n++)
{
pLang = m_Languages.GetObj(n) ;
m_pLog->Log("Lang Specific - %s\n", *pLang->m_Code) ;
// Navbar for public access
sprintf(fnBuf, "/%s/nav-public.js", *pLang->m_Code) ;
name = fnBuf ;
MakeNavbarJS(Z, pLang, ACCESS_PUBLIC) ;
tmpStr = Z ;
m_rawScripts.Insert(name, tmpStr) ;
Gzip(X, Z) ;
tmpStr = X ;
m_zipScripts.Insert(name, tmpStr) ;
// Navbar for admin access
sprintf(fnBuf, "/%s/nav-admin.js", *pLang->m_Code) ;
name = fnBuf ;
MakeNavbarJS(Z, pLang, ACCESS_ADMIN) ;
tmpStr = Z ;
m_rawScripts.Insert(name, tmpStr) ;
Gzip(X, Z) ;
tmpStr = X ;
m_zipScripts.Insert(name, tmpStr) ;
// Navbar for access of each user type
for (x = 0; x < m_UserTypes.Count() ; x++)
{
tmpStr = m_UserTypes.GetKey(x) ;
sprintf(fnBuf, "/%s/nav-%s.js", *pLang->m_Code, *tmpStr) ;
name = fnBuf ;
MakeNavbarJS(Z, pLang, m_UserTypes.GetObj(x)) ; // ut.m_Access) ;
tmpStr = Z ;
m_rawScripts.Insert(name, tmpStr) ;
Gzip(X, Z) ;
tmpStr = X ;
m_zipScripts.Insert(name, tmpStr) ;
}
}
// LANGUAGE SELECTOR
// Email checker
name = "ckExists.js" ;
Z = _dsmScript_ckExists ;
Gzip(X, Z) ;
tmpStr = X ;
m_rawScripts.Insert(name, _dsmScript_ckExists) ;
m_zipScripts.Insert(name, tmpStr) ;
m_pLog->Log("Created script ckExists.js of sizes %d and %d\n", Z.Size(), X.Size()) ;
/*
** ** NAVIGATION TREES
** */
name = "tog.js" ;
Z = _dsmScript_tog ;
Gzip(X, Z) ;
tmpStr = X ;
m_rawScripts.Insert(name, _dsmScript_tog) ;
m_zipScripts.Insert(name, tmpStr) ;
m_pLog->Log("Created script tog.js of sizes %d and %d\n", Z.Size(), X.Size()) ;
name = "loadArticle.js" ;
Z = _dsmScript_loadArticle ;
Gzip(X, Z) ;
tmpStr = X ;
m_rawScripts.Insert(name, _dsmScript_loadArticle) ;
m_zipScripts.Insert(name, tmpStr) ;
m_pLog->Log("Created script loadArticle.js of sizes %d and %d\n", Z.Size(), X.Size()) ;
for (n = 0; n < m_ArticleGroups.Count() ; n++)
{
pAG = m_ArticleGroups.GetObj(n) ;
if (!pAG)
continue ;
S.Clear() ;
S.Printf("navtree-%s.js", *pAG->m_Groupname) ;
name = S ;
// name = "navtree-" ;
// name += pAG->m_Groupname ;
// name += ".js" ;
// name = "navtree-public.js" ;
Z = _dsmScript_navtree ;
Z.Printf("makeTree('%s');\n", *pAG->m_Groupname) ;
tmpStr = Z ;
m_rawScripts.Insert(name, tmpStr) ;
Gzip(X, Z) ;
tmpStr = X ;
m_zipScripts.Insert(name, tmpStr) ;
m_pLog->Log("Created script %s of sizes %d and %d\n", *name, Z.Size(), X.Size()) ;
}
// Do the admin navtree
name = "navtree-master_dme.js" ;
Z = _dsmScript_navtree ;
Z << "makeTree(\"adm_dme\");\n" ;
tmpStr = Z ;
m_rawScripts.Insert(name, tmpStr) ;
Gzip(X, Z) ;
tmpStr = X ;
m_zipScripts.Insert(name, tmpStr) ;
// Report
m_pLog->Log("Script Summary\n") ;
for (n = 0; n < m_Languages.Count() ; n++)
{
pLang = m_Languages.GetObj(n) ;
for (x = 0; x < m_rawScripts.Count() ; x++)
{
name = m_rawScripts.GetKey(x) ;
m_pLog->Out("Lang %s: Script %s\n", *pLang->m_Code, *name) ;
}
}
return E_OK ;
}