/** * vérifier si l'utilisateur a les droits nécessaires, c'est-à-dire si l'utilisateur est propriétaire * ou le droit nécessaire est présent en base. * @author Alban Truc * @param MongoId|string $idElement * @param MongoId|string $idUser * @param array $refRightCodes * @since 31/05/2014 * @return bool|array contenant un message d'erreur */ function actionAllowed($idElement, $idUser, $refRightCodes) { $idElement = new MongoId($idElement); $idUser = new MongoId($idUser); $elementManager = new ElementManager(); $element = $elementManager->findById($idElement); if (!array_key_exists('error', $element)) { $isOwner = $hasRight = FALSE; if ($element['idOwner'] == $idUser) { $isOwner = TRUE; } else { $rightManager = new RightManager(); $hasRight = $rightManager->hasRightOnElement($idUser, $idElement, $refRightCodes); } if ($isOwner || $hasRight) { return TRUE; } else { return FALSE; } } else { return array('error' => 'Element does not exist'); } }