main/core/Repository/WorkspaceRepository.php
public function findWorkspaceByWorkspaceAndRoles(
        Workspace $workspace,
        array $roles,
        $orderedToolType = 0
    ) {
        if (count($roles) > 0) {
            $dql = '
                SELECT DISTINCT w
                FROM Claroline\\CoreBundle\\Entity\\Workspace\\Workspace w
                JOIN w.orderedTools ot
                JOIN ot.rights otr
                JOIN otr.role r
                WHERE w = :workspace
                AND ot.type = :type
                AND r.name IN (:roles)
                AND BIT_AND(otr.mask, :openValue) = :openValue
            ';

            $query = $this->_em->createQuery($dql);
            $query->setParameter('workspace', $workspace);
            $query->setParameter('roles', $roles);
            $query->setParameter('openValue', ToolMaskDecoder::$defaultValues['open']);
            $query->setParameter('type', $orderedToolType);

            return $query->getOneOrNullResult();
        }

        return null;
    }
public function findWorkspaceByWorkspaceAndRoles(
        Workspace $workspace,
        array $roles,
        $orderedToolType = 0
    ) {
        if (count($roles) > 0) {
            $dql = '
                SELECT DISTINCT w
                FROM Claroline\\CoreBundle\\Entity\\Workspace\\Workspace w
                JOIN w.orderedTools ot
                JOIN ot.rights otr
                JOIN otr.role r
                WHERE w = :workspace
                AND ot.type = :type
                AND r.name IN (:roles)
                AND BIT_AND(otr.mask, :openValue) = :openValue
            ';

            $query = $this->_em->createQuery($dql);
            $query->setParameter('workspace', $workspace);
            $query->setParameter('roles', $roles);
            $query->setParameter('openValue', ToolMaskDecoder::$defaultValues['open']);
            $query->setParameter('type', $orderedToolType);

            return $query->getOneOrNullResult();
        }

        return null;
    }
public function findWorkspaceByWorkspaceAndRoles ( Workspace $ workspace , array $ roles , $ orderedToolType = 0 ) { if ( count ( $ roles ) > 0 ) { $ dql = '
                SELECT DISTINCT w
                FROM Claroline\\CoreBundle\\Entity\\Workspace\\Workspace w
                JOIN w.orderedTools ot
                JOIN ot.rights otr
                JOIN otr.role r
                WHERE w = :workspace
                AND ot.type = :type
                AND r.name IN (:roles)
                AND BIT_AND(otr.mask, :openValue) = :openValue
            ' ; $ query = $ this -> _em -> createQuery ( $ dql ) ; $ query -> setParameter ( 'workspace' , $ workspace ) ; $ query -> setParameter ( 'roles' , $ roles ) ; $ query -> setParameter ( 'openValue' , ToolMaskDecoder :: $ defaultValues [ 'open' ] ) ; $ query -> setParameter ( 'type' , $ orderedToolType ) ; return $ query -> getOneOrNullResult ( ) ; } return null ; }
Used By claro_workspace_update_favourite.
Used By claro_workspace_update_favourite .