parent
							
								
									88bc49f75b
								
							
						
					
					
						commit
						791a25abe9
					
				@ -1,14 +1,14 @@ | 
				
			||||
<?php | 
				
			||||
/* For licensing terms, see /license.txt */ | 
				
			||||
 | 
				
			||||
namespace Chamilo\CoreBundle\Entity\Repository; | 
				
			||||
namespace Chamilo\CoreBundle\Repository; | 
				
			||||
 | 
				
			||||
use Doctrine\ORM\EntityRepository; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * Class AccessUrlRepository. | 
				
			||||
 * | 
				
			||||
 * @package Chamilo\CoreBundle\Entity\Repository | 
				
			||||
 * @package Chamilo\CoreBundle\Repository | 
				
			||||
 */ | 
				
			||||
class AccessUrlRepository extends EntityRepository | 
				
			||||
{ | 
				
			||||
@ -1,14 +1,14 @@ | 
				
			||||
<?php | 
				
			||||
/* For licensing terms, see /license.txt */ | 
				
			||||
 | 
				
			||||
namespace Chamilo\CoreBundle\Entity\Repository; | 
				
			||||
namespace Chamilo\CoreBundle\Repository; | 
				
			||||
 | 
				
			||||
use Gedmo\Tree\Entity\Repository\NestedTreeRepository; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * Class BranchSyncRepository. | 
				
			||||
 * | 
				
			||||
 * @package Chamilo\CoreBundle\Entity\Repository | 
				
			||||
 * @package Chamilo\CoreBundle\Repository | 
				
			||||
 */ | 
				
			||||
class BranchSyncRepository extends NestedTreeRepository | 
				
			||||
{ | 
				
			||||
@ -1,7 +1,7 @@ | 
				
			||||
<?php | 
				
			||||
/* For licensing terms, see /license.txt */ | 
				
			||||
 | 
				
			||||
namespace Chamilo\CoreBundle\Entity\Repository; | 
				
			||||
namespace Chamilo\CoreBundle\Repository; | 
				
			||||
 | 
				
			||||
use Chamilo\CoreBundle\Entity\Course; | 
				
			||||
use Chamilo\CoreBundle\Entity\Session; | 
				
			||||
@ -1,14 +1,14 @@ | 
				
			||||
<?php | 
				
			||||
/* For licensing terms, see /license.txt */ | 
				
			||||
 | 
				
			||||
namespace Chamilo\CoreBundle\Entity\Repository; | 
				
			||||
namespace Chamilo\CoreBundle\Repository; | 
				
			||||
 | 
				
			||||
use Doctrine\ORM\EntityRepository; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * Class LanguageRepository. | 
				
			||||
 * | 
				
			||||
 * @package Chamilo\CoreBundle\Entity\Repository | 
				
			||||
 * @package Chamilo\CoreBundle\Repository | 
				
			||||
 */ | 
				
			||||
class LanguageRepository extends EntityRepository | 
				
			||||
{ | 
				
			||||
@ -0,0 +1,53 @@ | 
				
			||||
<?php | 
				
			||||
/* For licensing terms, see /license.txt */ | 
				
			||||
 | 
				
			||||
namespace Chamilo\CoreBundle\Repository; | 
				
			||||
 | 
				
			||||
use Doctrine\ORM\EntityRepository; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * Class LegalRepository. | 
				
			||||
 * | 
				
			||||
 * @package Chamilo\CoreBundle\Repository | 
				
			||||
 */ | 
				
			||||
class LegalRepository extends EntityRepository | 
				
			||||
{ | 
				
			||||
    /** | 
				
			||||
     * Count the legal terms by language (only count one set of terms for each | 
				
			||||
     * language). | 
				
			||||
     * | 
				
			||||
     * @throws \Exception | 
				
			||||
     * | 
				
			||||
     * @return int | 
				
			||||
     */ | 
				
			||||
    public function countAllActiveLegalTerms() | 
				
			||||
    { | 
				
			||||
        $qb = $this->createQueryBuilder('l'); | 
				
			||||
        $qb->select('l.languageId, COUNT(l.id)') | 
				
			||||
            ->groupBy('l.languageId'); | 
				
			||||
 | 
				
			||||
        return count($qb->getQuery()->getResult()); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get the latest version of terms of the given type and language. | 
				
			||||
     * | 
				
			||||
     * @param int $typeId     The type of terms: | 
				
			||||
     *                        0 for general text, | 
				
			||||
     *                        1 for general HTML link, | 
				
			||||
     *                        101 for private data collection, | 
				
			||||
     *                        etc - see personal_data.php | 
				
			||||
     * @param int $languageId The Id of the language | 
				
			||||
     * | 
				
			||||
     * @return array The terms for those type and language | 
				
			||||
     */ | 
				
			||||
    public function findOneByTypeAndLanguage($typeId, $languageId) | 
				
			||||
    { | 
				
			||||
        $qb = $this->createQueryBuilder('l'); | 
				
			||||
        $qb->select('l.content') | 
				
			||||
            ->where($qb->expr()->eq('l.type', $typeId)) | 
				
			||||
            ->andWhere($qb->expr()->eq('l.languageId', $languageId)); | 
				
			||||
 | 
				
			||||
        return $qb->getQuery()->getResult(); | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
@ -1,7 +1,7 @@ | 
				
			||||
<?php | 
				
			||||
/* For licensing terms, see /license.txt */ | 
				
			||||
 | 
				
			||||
namespace Chamilo\CoreBundle\Entity\Repository; | 
				
			||||
namespace Chamilo\CoreBundle\Repository; | 
				
			||||
 | 
				
			||||
use Chamilo\CoreBundle\Entity\Course; | 
				
			||||
use Chamilo\CoreBundle\Entity\Session; | 
				
			||||
@ -1,7 +1,7 @@ | 
				
			||||
<?php | 
				
			||||
/* For licensing terms, see /license.txt */ | 
				
			||||
 | 
				
			||||
namespace Chamilo\CoreBundle\Entity\Repository; | 
				
			||||
namespace Chamilo\CoreBundle\Repository; | 
				
			||||
 | 
				
			||||
use Chamilo\CoreBundle\Entity\Course; | 
				
			||||
use Chamilo\UserBundle\Entity\User; | 
				
			||||
@ -0,0 +1,40 @@ | 
				
			||||
<?php | 
				
			||||
/* For licensing terms, see /license.txt */ | 
				
			||||
 | 
				
			||||
namespace Chamilo\CourseBundle\Component\CourseCopy\Resources; | 
				
			||||
 | 
				
			||||
use Chamilo\CourseBundle\Entity\CLpCategory; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * Class LearnPathCategory. | 
				
			||||
 * | 
				
			||||
 * @package Chamilo\CourseBundle\Component\CourseCopy\Resources | 
				
			||||
 */ | 
				
			||||
class LearnPathCategory extends Resource | 
				
			||||
{ | 
				
			||||
    /** | 
				
			||||
     * @var CLpCategory | 
				
			||||
     */ | 
				
			||||
    public $object; | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * @param int    $id | 
				
			||||
     * @param string $object | 
				
			||||
     */ | 
				
			||||
    public function __construct( | 
				
			||||
        $id, | 
				
			||||
        $object | 
				
			||||
    ) { | 
				
			||||
        parent::__construct($id, RESOURCE_LEARNPATH_CATEGORY); | 
				
			||||
        $this->object = $object; | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Show this resource. | 
				
			||||
     */ | 
				
			||||
    public function show() | 
				
			||||
    { | 
				
			||||
        parent::show(); | 
				
			||||
        echo $this->object->getName(); | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
@ -1,14 +1,14 @@ | 
				
			||||
<?php | 
				
			||||
/* For licensing terms, see /license.txt */ | 
				
			||||
 | 
				
			||||
namespace Chamilo\CourseBundle\Entity\Repository; | 
				
			||||
namespace Chamilo\CourseBundle\Repository; | 
				
			||||
 | 
				
			||||
use Sylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepository; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * Class CCourseSettingRepository. | 
				
			||||
 * | 
				
			||||
 * @package Chamilo\CourseBundle\Entity\Repository | 
				
			||||
 * @package Chamilo\CourseBundle\Repository | 
				
			||||
 */ | 
				
			||||
class CCourseSettingRepository extends EntityRepository | 
				
			||||
{ | 
				
			||||
@ -1,321 +0,0 @@ | 
				
			||||
<?php | 
				
			||||
/* For licensing terms, see /license.txt */ | 
				
			||||
 | 
				
			||||
namespace Chamilo\UserBundle\Entity\Repository; | 
				
			||||
 | 
				
			||||
use Chamilo\CoreBundle\Entity\Course; | 
				
			||||
use Chamilo\CoreBundle\Entity\Session; | 
				
			||||
use Chamilo\CoreBundle\Entity\SessionRelCourseRelUser; | 
				
			||||
use Chamilo\UserBundle\Entity\User; | 
				
			||||
use Doctrine\ORM\EntityRepository; | 
				
			||||
use Doctrine\ORM\Query\Expr\Join; | 
				
			||||
 | 
				
			||||
//use Symfony\Component\Security\Core\Exception\UsernameNotFoundException; | 
				
			||||
//use Symfony\Component\Security\Core\Exception\UnsupportedUserException; | 
				
			||||
 | 
				
			||||
/** | 
				
			||||
 * Class UserRepository. | 
				
			||||
 * | 
				
			||||
 * All functions that query the database (selects) | 
				
			||||
 * Functions should return query builders. | 
				
			||||
 * | 
				
			||||
 * @package Chamilo\UserBundle\Repository | 
				
			||||
 */ | 
				
			||||
class UserRepository extends EntityRepository | 
				
			||||
{ | 
				
			||||
    /** | 
				
			||||
     * @param string $keyword | 
				
			||||
     * | 
				
			||||
     * @return mixed | 
				
			||||
     */ | 
				
			||||
    public function searchUserByKeyword($keyword) | 
				
			||||
    { | 
				
			||||
        $qb = $this->createQueryBuilder('a'); | 
				
			||||
 | 
				
			||||
        // Selecting user info | 
				
			||||
        $qb->select('DISTINCT b'); | 
				
			||||
 | 
				
			||||
        $qb->from('Chamilo\UserBundle\Entity\User', 'b'); | 
				
			||||
 | 
				
			||||
        // Selecting courses for users | 
				
			||||
        //$qb->innerJoin('u.courses', 'c'); | 
				
			||||
 | 
				
			||||
        //@todo check app settings | 
				
			||||
        $qb->add('orderBy', 'b.firstname ASC'); | 
				
			||||
        $qb->where('b.firstname LIKE :keyword OR b.lastname LIKE :keyword '); | 
				
			||||
        $qb->setParameter('keyword', "%$keyword%"); | 
				
			||||
        $query = $qb->getQuery(); | 
				
			||||
 | 
				
			||||
        return $query->execute(); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get course user relationship based in the course_rel_user table. | 
				
			||||
     * | 
				
			||||
     * @return array | 
				
			||||
     */ | 
				
			||||
    /*public function getCourses(User $user) | 
				
			||||
    { | 
				
			||||
        $queryBuilder = $this->createQueryBuilder('user'); | 
				
			||||
 | 
				
			||||
        // Selecting course info. | 
				
			||||
        $queryBuilder->select('c'); | 
				
			||||
 | 
				
			||||
        // Loading User. | 
				
			||||
        //$qb->from('Chamilo\UserBundle\Entity\User', 'u'); | 
				
			||||
 | 
				
			||||
        // Selecting course | 
				
			||||
        $queryBuilder->innerJoin('Chamilo\CoreBundle\Entity\Course', 'c'); | 
				
			||||
 | 
				
			||||
        //@todo check app settings | 
				
			||||
        //$qb->add('orderBy', 'u.lastname ASC'); | 
				
			||||
 | 
				
			||||
        $wherePart = $queryBuilder->expr()->andx(); | 
				
			||||
 | 
				
			||||
        // Get only users subscribed to this course | 
				
			||||
        $wherePart->add($queryBuilder->expr()->eq('user.userId', $user->getUserId())); | 
				
			||||
 | 
				
			||||
        $queryBuilder->where($wherePart); | 
				
			||||
        $query = $queryBuilder->getQuery(); | 
				
			||||
 | 
				
			||||
        return $query->execute(); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    public function getTeachers() | 
				
			||||
    { | 
				
			||||
        $queryBuilder = $this->createQueryBuilder('u'); | 
				
			||||
 | 
				
			||||
        // Selecting course info. | 
				
			||||
        $queryBuilder | 
				
			||||
            ->select('u') | 
				
			||||
            ->where('u.groups.id = :groupId') | 
				
			||||
            ->setParameter('groupId', 1); | 
				
			||||
 | 
				
			||||
        $query = $queryBuilder->getQuery(); | 
				
			||||
 | 
				
			||||
        return $query->execute(); | 
				
			||||
    }*/ | 
				
			||||
 | 
				
			||||
    /*public function getUsers($group) | 
				
			||||
    { | 
				
			||||
        $queryBuilder = $this->createQueryBuilder('u'); | 
				
			||||
 | 
				
			||||
        // Selecting course info. | 
				
			||||
        $queryBuilder | 
				
			||||
            ->select('u') | 
				
			||||
            ->where('u.groups = :groupId') | 
				
			||||
            ->setParameter('groupId', $group); | 
				
			||||
 | 
				
			||||
        $query = $queryBuilder->getQuery(); | 
				
			||||
 | 
				
			||||
        return $query->execute(); | 
				
			||||
    }*/ | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get a filtered list of user by status and (optionally) access url. | 
				
			||||
     * | 
				
			||||
     * @param string $query       The query to filter | 
				
			||||
     * @param int    $status      The status | 
				
			||||
     * @param int    $accessUrlId The access URL ID | 
				
			||||
     * | 
				
			||||
     * @return array | 
				
			||||
     */ | 
				
			||||
    public function searchUsersByStatus($query, $status, $accessUrlId = null) | 
				
			||||
    { | 
				
			||||
        $accessUrlId = intval($accessUrlId); | 
				
			||||
 | 
				
			||||
        $queryBuilder = $this->createQueryBuilder('u'); | 
				
			||||
 | 
				
			||||
        if ($accessUrlId > 0) { | 
				
			||||
            $queryBuilder->innerJoin( | 
				
			||||
                'ChamiloCoreBundle:AccessUrlRelUser', | 
				
			||||
                'auru', | 
				
			||||
                \Doctrine\ORM\Query\Expr\Join::WITH, | 
				
			||||
                'u.id = auru.userId' | 
				
			||||
            ); | 
				
			||||
        } | 
				
			||||
 | 
				
			||||
        $queryBuilder->where('u.status = :status') | 
				
			||||
            ->andWhere('u.username LIKE :query OR u.firstname LIKE :query OR u.lastname LIKE :query') | 
				
			||||
            ->setParameter('status', $status) | 
				
			||||
            ->setParameter('query', "$query%"); | 
				
			||||
 | 
				
			||||
        if ($accessUrlId > 0) { | 
				
			||||
            $queryBuilder->andWhere('auru.accessUrlId = :url') | 
				
			||||
                ->setParameter(':url', $accessUrlId); | 
				
			||||
        } | 
				
			||||
 | 
				
			||||
        return $queryBuilder->getQuery()->getResult(); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get the coaches for a course within a session. | 
				
			||||
     * | 
				
			||||
     * @param Session $session The session | 
				
			||||
     * @param Course  $course  The course | 
				
			||||
     * | 
				
			||||
     * @return \Doctrine\ORM\QueryBuilder | 
				
			||||
     */ | 
				
			||||
    public function getCoachesForSessionCourse(Session $session, Course $course) | 
				
			||||
    { | 
				
			||||
        $queryBuilder = $this->createQueryBuilder('u'); | 
				
			||||
 | 
				
			||||
        $queryBuilder->select('u') | 
				
			||||
            ->innerJoin( | 
				
			||||
                'ChamiloCoreBundle:SessionRelCourseRelUser', | 
				
			||||
                'scu', | 
				
			||||
                Join::WITH, | 
				
			||||
                'scu.user = u' | 
				
			||||
            ) | 
				
			||||
            ->where( | 
				
			||||
                $queryBuilder->expr()->andX( | 
				
			||||
                    $queryBuilder->expr()->eq('scu.session', $session->getId()), | 
				
			||||
                    $queryBuilder->expr()->eq('scu.course', $course->getId()), | 
				
			||||
                    $queryBuilder->expr()->eq('scu.status', SessionRelCourseRelUser::STATUS_COURSE_COACH) | 
				
			||||
                ) | 
				
			||||
            ); | 
				
			||||
 | 
				
			||||
        return $queryBuilder->getQuery()->getResult(); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get the sessions admins for a user. | 
				
			||||
     * | 
				
			||||
     * @param User $user The user | 
				
			||||
     * | 
				
			||||
     * @return array | 
				
			||||
     */ | 
				
			||||
    public function getSessionAdmins($user) | 
				
			||||
    { | 
				
			||||
        $queryBuilder = $this->createQueryBuilder('u'); | 
				
			||||
        $queryBuilder | 
				
			||||
            ->distinct() | 
				
			||||
            ->innerJoin( | 
				
			||||
                'ChamiloCoreBundle:SessionRelUser', | 
				
			||||
                'su', | 
				
			||||
                Join::WITH, | 
				
			||||
                $queryBuilder->expr()->eq('u', 'su.user') | 
				
			||||
            ) | 
				
			||||
            ->innerJoin( | 
				
			||||
                'ChamiloCoreBundle:SessionRelCourseRelUser', | 
				
			||||
                'scu', | 
				
			||||
                Join::WITH, | 
				
			||||
                $queryBuilder->expr()->eq('su.session', 'scu.session') | 
				
			||||
            ) | 
				
			||||
            ->where( | 
				
			||||
                $queryBuilder->expr()->eq('scu.user', $user->getId()) | 
				
			||||
            ) | 
				
			||||
            ->andWhere( | 
				
			||||
                $queryBuilder->expr()->eq('su.relationType', SESSION_RELATION_TYPE_RRHH) | 
				
			||||
            ); | 
				
			||||
 | 
				
			||||
        return $queryBuilder->getQuery()->getResult(); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Get the student bosses for a user. | 
				
			||||
     * | 
				
			||||
     * @param User $user The user | 
				
			||||
     * | 
				
			||||
     * @return array | 
				
			||||
     */ | 
				
			||||
    public function getStudentBosses($user) | 
				
			||||
    { | 
				
			||||
        $queryBuilder = $this->createQueryBuilder('u'); | 
				
			||||
        $queryBuilder | 
				
			||||
            ->distinct() | 
				
			||||
            ->innerJoin( | 
				
			||||
                'ChamiloCoreBundle:UserRelUser', | 
				
			||||
                'uu', | 
				
			||||
                Join::WITH, | 
				
			||||
                $queryBuilder->expr()->eq('u.id', 'uu.friendUserId') | 
				
			||||
            ) | 
				
			||||
            ->where( | 
				
			||||
                $queryBuilder->expr()->eq('uu.relationType', USER_RELATION_TYPE_BOSS) | 
				
			||||
            ) | 
				
			||||
            ->andWhere( | 
				
			||||
                $queryBuilder->expr()->eq('uu.userId', $user->getId()) | 
				
			||||
            ); | 
				
			||||
 | 
				
			||||
        return $queryBuilder->getQuery()->getResult(); | 
				
			||||
    } | 
				
			||||
 | 
				
			||||
    /** | 
				
			||||
     * Find potential users to send a message. | 
				
			||||
     * | 
				
			||||
     * @param int    $currentUserId The current user ID | 
				
			||||
     * @param string $search        The search text to filter the user list | 
				
			||||
     * @param int    $limit         Optional. Sets the maximum number of results to retrieve | 
				
			||||
     * | 
				
			||||
     * @return mixed | 
				
			||||
     */ | 
				
			||||
    public function findUsersToSendMessage($currentUserId, $search, $limit = 10) | 
				
			||||
    { | 
				
			||||
        $allowSendMessageToAllUsers = api_get_setting('allow_send_message_to_all_platform_users'); | 
				
			||||
        $accessUrlId = api_get_multiple_access_url() ? api_get_current_access_url_id() : 1; | 
				
			||||
 | 
				
			||||
        if (api_get_setting('allow_social_tool') === 'true' && | 
				
			||||
            api_get_setting('allow_message_tool') === 'true' | 
				
			||||
        ) { | 
				
			||||
            // All users | 
				
			||||
            if ($allowSendMessageToAllUsers === 'true' || api_is_platform_admin()) { | 
				
			||||
                $dql = "SELECT DISTINCT U | 
				
			||||
                        FROM ChamiloUserBundle:User U | 
				
			||||
                        LEFT JOIN ChamiloCoreBundle:AccessUrlRelUser R | 
				
			||||
                        WITH U = R.user | 
				
			||||
                        WHERE | 
				
			||||
                            U.active = 1 AND | 
				
			||||
                            U.status != 6  AND | 
				
			||||
                            U.id != $currentUserId AND | 
				
			||||
                            R.portal = $accessUrlId"; | 
				
			||||
            } else { | 
				
			||||
                $dql = "SELECT DISTINCT U | 
				
			||||
                        FROM ChamiloCoreBundle:AccessUrlRelUser R, ChamiloCoreBundle:UserRelUser UF | 
				
			||||
                        INNER JOIN ChamiloUserBundle:User AS U  | 
				
			||||
                        WITH UF.friendUserId = U | 
				
			||||
                        WHERE | 
				
			||||
                            U.active = 1 AND | 
				
			||||
                            U.status != 6 AND | 
				
			||||
                            UF.relationType NOT IN(".USER_RELATION_TYPE_DELETED.", ".USER_RELATION_TYPE_RRHH.") AND | 
				
			||||
                            UF.userId = $currentUserId AND | 
				
			||||
                            UF.friendUserId != $currentUserId AND | 
				
			||||
                            U = R.user AND | 
				
			||||
                            R.portal = $accessUrlId"; | 
				
			||||
            } | 
				
			||||
        } elseif ( | 
				
			||||
            api_get_setting('allow_social_tool') === 'false' && | 
				
			||||
            api_get_setting('allow_message_tool') === 'true' | 
				
			||||
        ) { | 
				
			||||
            if ($allowSendMessageToAllUsers === 'true') { | 
				
			||||
                $dql = "SELECT DISTINCT U | 
				
			||||
                        FROM ChamiloUserBundle:User U | 
				
			||||
                        LEFT JOIN ChamiloCoreBundle:AccessUrlRelUser R  | 
				
			||||
                        WITH U = R.user | 
				
			||||
                        WHERE | 
				
			||||
                            U.active = 1 AND | 
				
			||||
                            U.status != 6  AND | 
				
			||||
                            U.id != $currentUserId AND | 
				
			||||
                            R.portal = $accessUrlId"; | 
				
			||||
            } else { | 
				
			||||
                $time_limit = api_get_setting('time_limit_whosonline'); | 
				
			||||
                $online_time = time() - $time_limit * 60; | 
				
			||||
                $limit_date = api_get_utc_datetime($online_time); | 
				
			||||
                $dql = "SELECT DISTINCT U | 
				
			||||
                        FROM ChamiloUserBundle:User U | 
				
			||||
                        INNER JOIN ChamiloCoreBundle:TrackEOnline T  | 
				
			||||
                        WITH U.id = T.loginUserId | 
				
			||||
                        WHERE  | 
				
			||||
                          U.active = 1 AND  | 
				
			||||
                          T.loginDate >= '".$limit_date."'"; | 
				
			||||
            } | 
				
			||||
        } | 
				
			||||
 | 
				
			||||
        $dql .= ' AND (U.firstname LIKE :search OR U.lastname LIKE :search OR U.email LIKE :search OR U.username LIKE :search)'; | 
				
			||||
 | 
				
			||||
        return $this->getEntityManager() | 
				
			||||
            ->createQuery($dql) | 
				
			||||
            ->setMaxResults($limit) | 
				
			||||
            ->setParameters(['search' => "%$search%"]) | 
				
			||||
            ->getResult(); | 
				
			||||
    } | 
				
			||||
} | 
				
			||||
					Loading…
					
					
				
		Reference in new issue