2 declare(strict_types = 1);
43 if (empty($persistenceIdentifier)) {
44 throw new \InvalidArgumentException(
'$persistenceIdentifier must not be empty.', 1472238493);
47 $resourceFactory = GeneralUtility::makeInstance(ResourceFactory::class);
48 $file = $resourceFactory->retrieveFileOrFolderObject($persistenceIdentifier);
54 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable(
'sys_refindex');
58 ->from(
'sys_refindex')
60 $queryBuilder->expr()->eq(
'deleted', 0),
61 $queryBuilder->expr()->eq(
'softref_key', $queryBuilder->createNamedParameter(
'formPersistenceIdentifier', \PDO::PARAM_STR)),
62 $queryBuilder->expr()->orX(
63 $queryBuilder->expr()->eq(
'ref_string', $queryBuilder->createNamedParameter($persistenceIdentifier, \PDO::PARAM_STR)),
64 $queryBuilder->expr()->eq(
'ref_uid', $queryBuilder->createNamedParameter($file->getUid(), \PDO::PARAM_INT))
66 $queryBuilder->expr()->eq(
'tablename', $queryBuilder->createNamedParameter(
'tt_content', \PDO::PARAM_STR))
83 $items[$item[
'identifier']] = $item[
'items'];
99 $items[$item[
'identifier']] = $item[
'items'];
111 if ($column !==
'ref_string' && $column !==
'ref_uid') {
112 throw new \InvalidArgumentException(
'$column must not be "ref_string" or "ref_uid".', 1535406600);
115 $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable(
'sys_refindex');
117 $constraints = [$queryBuilder->expr()->eq(
'softref_key', $queryBuilder->createNamedParameter(
'formPersistenceIdentifier', \PDO::PARAM_STR))];
119 if ($column ===
'ref_string') {
120 $constraints[] = $queryBuilder->expr()->neq(
'ref_string', $queryBuilder->createNamedParameter(
'', \PDO::PARAM_STR));
122 $constraints[] = $queryBuilder->expr()->gt(
'ref_uid', $queryBuilder->createNamedParameter(0, \PDO::PARAM_INT));
126 ->select($column .
' AS identifier')
127 ->addSelectLiteral(
'COUNT(' . $queryBuilder->quoteIdentifier($column) .
') AS ' . $queryBuilder->quoteIdentifier(
'items'))
128 ->from(
'sys_refindex')
129 ->where(...$constraints)