/** * Init * * @param \Zend\ModuleManager\ModuleManagerInterface $moduleManager * @return void */ public function init(ModuleManagerInterface $moduleManager) { $eventManager = MembershipEvent::getEventManager(); // someone forced a user's role, and now we must clean all the user's membership queue $eventManager->attach(UserEvent::EDIT_ROLE, function ($e) use($moduleManager) { if ($e->getParam('user_id') != UserBaseModel::DEFAULT_SYSTEM_ID) { $this->deleteUserMembershipLevels($moduleManager, $e->getParam('object_id')); } }); }