diff --git a/inc/Main.php b/inc/Main.php index b11d40b..7d5221c 100755 --- a/inc/Main.php +++ b/inc/Main.php @@ -27,7 +27,7 @@ abstract class Main extends PhpObject * DB Handle * @var Db */ - protected $oDb; + protected Db $oDb; //Dates format const URL_DATE_FORMAT = 'Ymd'; @@ -43,7 +43,7 @@ abstract class Main extends PhpObject * Language Translator * @var Translator */ - protected $oLang; + protected Translator $oLang; /** * Main constructor @@ -112,7 +112,15 @@ abstract class Main extends PhpObject /* Building main pages */ - public function getMainPage($asGlobalVars=array(), $sMainPage='index', $asMainPageTags=array(), $asCachePages=array()) + /** + * Build the main page + * @param array $asGlobalVars + * @param string $sMainPage Main page HTML file name + * @param array $asMainPageInfo array with 2 entries: tags & instances + * @param array $asCachePages Pages to cache in constants + * @return string HTML Mask + */ + public function getMainPage($asGlobalVars=array(), $sMainPage='index', $asMainPageInfo=array(), $asCachePages=array()) { $asDefaultConsts = array( 'success' => self::SUCCESS, @@ -138,9 +146,15 @@ abstract class Main extends PhpObject } $oMainMask = new Mask($sMainPage, $this->oLang); - $oMainMask->setTag('APP_CONFIG', json_encode($asGlobalVars)); + $oMainMask->setTag('app_config', json_encode($asGlobalVars)); $oMainMask->setTags($asDefaultConsts); - $oMainMask->setTags($asMainPageTags); + $oMainMask->setTags($asMainPageInfo['tags'] ?? []); + $asMainMaskInstances = $asMainPageInfo['instances'] ?? [] ; + foreach($asMainMaskInstances as $sPartName => $asInstances) { + foreach($asInstances as $asInstanceTags) { + $oMainMask->addInstance($sPartName, $asInstanceTags); + } + } return $oMainMask->getMask(); }