36 public function initializeObject() {
39 $defaultQuerySettings = $this->objectManager->get(
'TYPO3\\CMS\\Extbase\\Persistence\\Generic\\QuerySettingsInterface');
53 if (!empty($queryConstraints)) {
54 $query->matching($query->logicalAnd($queryConstraints));
56 $query->setOrderings(array(
'uid' => \
TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_DESCENDING));
57 $query->setLimit($constraint->getNumber());
58 return $query->execute();
69 $queryConstraints = array();
74 $queryConstraints[] = $query->equals(
'workspace', $constraint->getWorkspaceUid());
77 if ($constraint->getAction() > 0) {
78 $queryConstraints[] = $query->equals(
'type', $constraint->getAction());
79 } elseif ($constraint->getAction() == -1) {
80 $queryConstraints[] = $query->in(
'error', array(-1,1,2,3));
84 $queryConstraints[] = $query->greaterThanOrEqual(
'tstamp', $constraint->getStartTimestamp());
85 $queryConstraints[] = $query->lessThan(
'tstamp', $constraint->getEndTimestamp());
87 $this->addPageTreeConstraintsToQuery($constraint, $query, $queryConstraints);
88 return $queryConstraints;
100 protected function addPageTreeConstraintsToQuery(\
TYPO3\CMS\Belog\Domain\Model\Constraint $constraint, \
TYPO3\CMS\Extbase\Persistence\QueryInterface $query, array &$queryConstraints) {
101 if (!$constraint->getIsInPageContext()) {
106 if ($constraint->getDepth() > 0) {
109 $pageTree->init(
'AND ' .
$GLOBALS[
'BE_USER']->getPagePermsClause(1));
110 $pageTree->makeHTML = 0;
111 $pageTree->fieldArray = array(
'uid');
112 $pageTree->getTree($constraint->getPageId(), $constraint->getDepth());
113 $pageIds = $pageTree->ids;
115 $pageIds[] = $constraint->getPageId();
116 $queryConstraints[] = $query->in(
'eventPid', $pageIds);
128 $userOrGroup = $constraint->getUserOrGroup();
129 if ($userOrGroup ===
'') {
133 if (substr($userOrGroup, 0, 3) ===
'gr-') {
134 $groupId = (int)substr($userOrGroup, 3);
136 foreach ($this->beUserList as $userId => $userData) {
137 if (\
TYPO3\CMS\Core\Utility\GeneralUtility::inList($userData[
'usergroup_cached_list'], $groupId)) {
138 $userIds[] = $userId;
141 if (!empty($userIds)) {
142 $queryConstraints[] = $query->in(
'userid', $userIds);
145 $queryConstraints[] = $query->in(
'userid', array(-1));
147 } elseif (substr($userOrGroup, 0, 3) ===
'us-') {
148 $queryConstraints[] = $query->equals(
'userid', (
int)substr($userOrGroup, 3));
149 } elseif ($userOrGroup ===
'-1') {
150 $queryConstraints[] = $query->equals(
'userid', (
int)
$GLOBALS[
'BE_USER']->user[
'uid']);
createQueryConstraints(\TYPO3\CMS\Extbase\Persistence\QueryInterface $query, \TYPO3\CMS\Belog\Domain\Model\Constraint $constraint)
static makeInstance($className)
setDefaultQuerySettings(\TYPO3\CMS\Extbase\Persistence\Generic\QuerySettingsInterface $defaultQuerySettings)
static getUserNames($fields='username, usergroup, usergroup_cached_list, uid', $where='')
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]
findByConstraint(\TYPO3\CMS\Belog\Domain\Model\Constraint $constraint)
addUsersAndGroupsToQueryConstraints(\TYPO3\CMS\Belog\Domain\Model\Constraint $constraint, \TYPO3\CMS\Extbase\Persistence\QueryInterface $query, array &$queryConstraints)