/** * Will bind with the authentication mechanism; * * This method will take the authentication object as a parameter, as long as that object implements the IFaceAuthentication * interface. Thus we allow for different authentication schemes, without too much headache. Also, it will check that the * current administration zone exists in the database, because we need a proper mapping scheme; * * @param IFaceAuthentication $objAuthMech The authentication object, passed as a parameter; * @return void Doesn't return a thing. It will probably error if something goes wrong; */ public function tieInWithAuthenticationMechanism(IFaceAuthentication $objAuthMech) { // Tie the authentication object with me; self::$objAuthenticationMech = $objAuthMech; // Get the administrative 'Log Out' <a href="; self::$objLogOutLink = URL::rewriteURL(new A(array(ADMIN_INTERFACE_ACTION)), new A(array(ADMIN_LOG_OUT))); self::$objSwitcherLink = URL::rewriteURL(new A(array(ADMIN_INTERFACE_ACTION)), new A(array(ADMIN_SWITCH_THEME))); // Set the proper ZONE; if (self::$objAuthenticationMech->checkZoneByName($this->getObjectCLASS())->toBoolean() == FALSE) { self::$objAuthenticationMech->doMakeZone($this->getObjectCLASS()); } if (self::$objAuthenticationMech->checkAdministratorIsMappedToZone($this->getObjectCLASS())->toBoolean() == FALSE) { self::$objAuthenticationMech->doMapAdministratorToZone($this->getObjectCLASS()); } }