2 namespace TYPO3\CMS\Beuser\Domain\Repository;
31 return $query->matching($query->in(
'uid',
$GLOBALS[
'TYPO3_DB']->cleanIntArray($uidList)))->execute();
40 public function findDemanded(\TYPO3\CMS\Beuser\Domain\Model\Demand $demand)
42 $constraints = array();
45 $constraints[] = $query->equals(
'deleted', 0);
46 $query->setOrderings(array(
'userName' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING));
48 if ($demand->getUserName() !==
'') {
49 $constraints[] = $query->like(
51 '%' .
$GLOBALS[
'TYPO3_DB']->escapeStrForLike($demand->getUserName(),
'be_users') .
'%'
55 if ($demand->getUserType() == \TYPO3\CMS\Beuser\Domain\Model\Demand::USERTYPE_ADMINONLY) {
56 $constraints[] = $query->equals(
'admin', 1);
59 if ($demand->getUserType() == \TYPO3\CMS\Beuser\Domain\Model\Demand::USERTYPE_USERONLY) {
60 $constraints[] = $query->equals(
'admin', 0);
63 if ($demand->getStatus() == \TYPO3\CMS\Beuser\Domain\Model\Demand::STATUS_ACTIVE) {
64 $constraints[] = $query->equals(
'disable', 0);
67 if ($demand->getStatus() == \TYPO3\CMS\Beuser\Domain\Model\Demand::STATUS_INACTIVE) {
68 $constraints[] = $query->logicalOr($query->equals(
'disable', 1));
71 if ($demand->getLogins() == \TYPO3\CMS\Beuser\Domain\Model\Demand::LOGIN_NONE) {
72 $constraints[] = $query->equals(
'lastlogin', 0);
75 if ($demand->getLogins() == \TYPO3\CMS\Beuser\Domain\Model\Demand::LOGIN_SOME) {
76 $constraints[] = $query->logicalNot($query->equals(
'lastlogin', 0));
80 if ($demand->getBackendUserGroup()) {
81 $constraints[] = $query->logicalOr(
82 $query->equals(
'usergroup', (
int)$demand->getBackendUserGroup()->getUid()),
83 $query->like(
'usergroup', (
int)$demand->getBackendUserGroup()->getUid() .
',%'),
84 $query->like(
'usergroup',
'%,' . (
int)$demand->getBackendUserGroup()->getUid()),
85 $query->like(
'usergroup',
'%,' . (
int)$demand->getBackendUserGroup()->getUid() .
',%')
87 $query->contains(
'usergroup', $demand->getBackendUserGroup());
89 $query->matching($query->logicalAnd($constraints));
90 return $query->execute();
101 $res =
$GLOBALS[
'TYPO3_DB']->exec_SELECTquery(
'DISTINCT ses_userid',
'be_sessions',
'');
102 while ($row =
$GLOBALS[
'TYPO3_DB']->sql_fetch_assoc($res)) {
103 $uids[] = $row[
'ses_userid'];
105 $GLOBALS[
'TYPO3_DB']->sql_free_result($res);
107 $query->matching($query->in(
'uid', $uids));
108 return $query->execute();
118 $query = parent::createQuery();
119 $query->getQuerySettings()->setIgnoreEnableFields(
true);
120 $query->getQuerySettings()->setIncludeDeleted(
true);