/** * Disallow resource * * @param integer $roleId * @param integer $resourceId * @return boolean|string */ public function disallowResource($roleId, $resourceId) { try { $this->adapter->getDriver()->getConnection()->beginTransaction(); $delete = $this->delete()->from('acl_resource_connection')->where(['role' => $roleId, 'resource' => $resourceId]); $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 disallow acl resource event AclEvent::fireDisallowAclResourceEvent($resourceId, $roleId); return true; }