/**
  * Init events
  * 
  * @param \Zend\ModuleManager\ModuleEvent $e
  */
 public function initEvents(ModuleEvent $e)
 {
     $model = $this->serviceLocator->get('Application\\Model\\ModelManager')->getInstance('ActionTracker\\Model\\ActionTrackerBase');
     $actions = $model->getActivatedActions();
     // bind all activated events
     if (count($actions)) {
         $eventManager = ActionTrackerEvent::getEventManager();
         foreach ($actions as $action) {
             $eventManager->attach($action->name, function ($e) use($model, $action) {
                 if ($model->getModuleInfo('ActionTracker')) {
                     $model->logAction($action->action_id, $e->getParam('description'), $e->getParam('description_params'));
                 }
             });
         }
     }
 }
 /**
  * Delete action log
  *
  * @param integer $actionId
  * @return boolean|string
  */
 public function deleteActionLog($actionId)
 {
     try {
         $this->adapter->getDriver()->getConnection()->beginTransaction();
         $delete = $this->delete()->from('action_tracker_log')->where(['id' => $actionId]);
         $statement = $this->prepareStatementForSqlObject($delete);
         $result = $statement->execute();
         $this->adapter->getDriver()->getConnection()->commit();
     } catch (Exception $e) {
         $this->adapter->getDriver()->getConnection()->rollback();
         ApplicationErrorLogger::log($e);
         return $e->getMessage();
     }
     // fire the delete action log event
     ActionTrackerEvent::fireDeleteActionEvent($actionId);
     return $result->count() ? true : false;
 }