/** * constructor * Deze constructor controleert of de gebruiker is ingelogd, is dat het geval, * dan wordt het ingelogde menu gecreeerd. Als de gebruiker de rechten admin heeft, * wordt het adminmenu gecreeerd. * @param string $p_sTitel De getoonde titel op het scherm * @param array $p_aRechten array bevat alle benodigde rechten om deze pagina op te roepen. Een lege array * @throws InsufficientRightsException */ public function __construct($p_sTitel, $p_aRechten) { $this->m_sTitel = $p_sTitel; $this->m_sHTML = ''; $this->m_aData = array(); $this->m_aScripts = array(); $this->m_oSmarty = null; $this->m_sTemplate = ''; if (is_array($p_aRechten)) { $this->m_aBenodigdeRechten = $p_aRechten; } else { $this->m_aBenodigdeRechten = array(Gebruiker::TOEGANG_GEWEIGERD); } // genereer het menu aan de hand van de gebruikerrechten if (Registry::exists('Bezoeker')) { $this->m_oGebruiker = Registry::get('Bezoeker'); if ($this->m_oGebruiker->isIngelogd()) { $oValidator = InputValidator::instantiate(); $nPagina = intVal($oValidator->getValue('page', InputValidator::SCOPE_GET | InputValidator::SCOPE_POST)); if ($nPagina >= MenuGenerator::BEHEER) { $aRechten = $this->m_oGebruiker->__get('Rechten'); $this->m_oMenu = MenuGenerator::genereerMenuObject(MenuGenerator::BEHEER, $aRechten); if (!$this->checkRechten()) { // genereer een Exception zodat dit scherm nooit per ongeluk getoond kan worden throw new OnvoldoendeRechtenException('Pagina ' . $p_sTitel); } } else { $this->m_oMenu = MenuGenerator::genereerMenuObject(MenuGenerator::BEZOEKER, array()); } } else { $this->m_oMenu = MenuGenerator::genereerMenuObject(MenuGenerator::BEZOEKER, array()); } } else { $this->m_oGebruiker = null; } }