/** * Will tie in ALL registered administrator interfaces in the framework; * * This method will do a scan of all modules defined in the framework, and WILL do a CALL to each bonding method of those * respective methods; For the Authentication and Administration module, proper code is implemented, because of the strict * bonding between these two modules; * @return void Will not return a thing, but probably error if something goes wrong; */ private function tieALLRegisteredAdminInterfaces() { // Set some predefined defaults, just to be sure we have something; TPL::manageTTL(self::$objHeaderText); TPL::switchTTL(); // Add the current page, or subpage to the <title> ... TPL::manageTTL(isset($_GET[ADMIN_PAGE]) ? $_GET[ADMIN_PAGE] : new S()); TPL::manageTTL(isset($_GET[ADMIN_SUBPAGE]) ? $_GET[ADMIN_SUBPAGE] : new S()); // Do a for-each on ALL registered modules within' the framework; $objRegisteredModules = $this->getRegisteredModules(); foreach ($objRegisteredModules as $k => $v) { // IGNORE: Administration, because it's manually tied; if ($this->getPathToModule()->toRelativePath() == $v['dir']->toString()) { $this->tieInWithAdministration($this); continue; } // IGNORE: Authentication, because it's manually tied; if ($this->getObjectCLASS(self::$objAuthenticationMech) == $v['obj']) { if (self::$objAuthenticationMech->checkCurrentUserZoneACL($this->getObjectCLASS(self::$objAuthenticationMech))->toBoolean() == TRUE) { self::$objAuthenticationMech->tieInWithAdministration($this); } continue; } else { // Make the object, and store it; $objMod = $this->activateModule(new FilePath($v['dir']), new B(TRUE)); $objMod->tieInWithAuthentication(self::$objAuthenticationMech); if (self::$objAuthenticationMech->checkCurrentUserZoneACL($this->getObjectCLASS($objMod))->toBoolean() == TRUE) { // Do the tie; $objMod->tieInWithAdministration($this); } } } // Set some predefines; if (self::$objMenuArray == NULL) { self::$objMenuArray = new A(); } if (self::$objSubMArray == NULL) { self::$objSubMArray = new A(); } // Set the script end; self::setExeTime(new S('administration_end')); // After we know all the details, execute the viewer whit these parameters; $tpF = new FilePath($this->getPathToSkin()->toRelativePath() . 'administration.tp'); TPL::tpSet(new F(self::getExeTime(new S('administration_start'), new S('administration_end'))), new S('objExeTime'), $tpF); TPL::tpSet(self::$objSwitcherLink, new S('objSwitcherLink'), $tpF); TPL::tpSet(self::$objHeaderText, new S('objHeaderText'), $tpF); TPL::tpSet(self::$objFooterText, new S('objFooterText'), $tpF); TPL::tpSet(self::$objMenuArray, new S('objMenuArray'), $tpF); TPL::tpSet(self::$objSubMArray, new S('objSubMArray'), $tpF); TPL::tpSet(self::$objLogOutLink, new S('objLogOutLink'), $tpF); TPL::tpExe($tpF); }