コード例 #1
0
ファイル: functions.php プロジェクト: at69/beta-nestbox
/** Permet de vérifier si l'utilisateur possède les droits maximums dans le dossier courant
 * @author Harry Bellod
 * @param $serverPath | path actuel
 * @param $idUser | id de l'user connecté
 * @return bool | true si l'user à les droits maximums (écriture/lecture)
 */
function checkRightOnCurrentDirectory($serverPath, $idUser)
{
    $elementManager = new ElementPdoManager();
    $rightManager = new RightPdoManager();
    $refRightManager = new RefRightPdoManager();
    if ($serverPath != "/") {
        // on récupère le nom du dossier ou l'on se trouve
        $explode = explode("/", $serverPath);
        $currentDirectory = $explode[sizeof($explode) - 2];
        // on récupère son serverPath
        $pattern = "#" . $currentDirectory . "/#";
        $path = preg_replace($pattern, "", $serverPath, 1);
        $criteria = array('name' => $currentDirectory, 'serverPath' => $path, 'state' => 1);
        $element = $elementManager->findOne($criteria);
        $rightCriteria = array('idElement' => $element->getId(), 'idUser' => $idUser);
        $right = $rightManager->findOne($rightCriteria);
        $refRight = $refRightManager->findById($right->getRefRight());
        //si l'utilisateur n'a que les droits de lecture alors return false, sinon true
        if ($refRight->getCode() == '01') {
            return false;
        } else {
            return true;
        }
    }
}