/** * Logs calls and results of the logout() method of the Authentication Manager * * @afterreturning within(F3\FLOW3\Security\Authentication\AuthenticationManagerInterface) && method(.*->logout()) * @param \F3\FLOW3\AOP\JoinPointInterface $joinPoint The current joinpoint * @return mixed The result of the target method if it has not been intercepted * @author Robert Lemke <*****@*****.**> */ public function logManagerLogout(\F3\FLOW3\AOP\JoinPointInterface $joinPoint) { $accountIdentifiers = array(); foreach ($joinPoint->getProxy()->getSecurityContext()->getAuthenticationTokens() as $token) { $account = $token->getAccount(); if ($account !== NULL) { $accountIdentifiers[] = $account->getAccountIdentifier(); } } $this->systemLogger->log('Logged out ' . count($accountIdentifiers) . ' account(s). (' . implode(', ', $accountIdentifiers) . ')', LOG_INFO); }
/** * Mark object as cloned after cloning. * * Note: this is done even if an object explicitly implements the * DirtyMonitoringInterface to make sure it is proxied by the AOP * framework (we need that to happen) * * @param \F3\FLOW3\AOP\JoinPointInterface $joinPoint * @return void * @afterreturning method(.*->__clone()) * @author Robert Lemke <*****@*****.**> */ public function cloneObject(\F3\FLOW3\AOP\JoinPointInterface $joinPoint) { $proxy = $joinPoint->getProxy(); $proxy->FLOW3_Persistence_clone = TRUE; }