Zwischenstand

This commit is contained in:
Sven Wappler
2021-08-20 13:33:13 +02:00
parent ce6b9e38dc
commit 508d3d2759
32 changed files with 2807 additions and 602 deletions

View File

@@ -5,34 +5,52 @@ declare(strict_types=1);
namespace WapplerSystems\BookmarksLikesRatings\Widgets\Provider;
use TYPO3\CMS\Core\Database\Connection;
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\Database\Query\QueryBuilder;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Dashboard\Widgets\ListDataProviderInterface;
use TYPO3\CMS\Backend\Utility\BackendUtility;
use TYPO3\CMS\Core\Utility\DebugUtility;
use WapplerSystems\BookmarksLikesRatings\Domain\Repository\LikeRepository;
class TopLikesDataProvider implements ListDataProviderInterface
class TopLikesDataProvider
{
/** @var LikeRepository */
protected $likeRepository;
/**
* @param \WapplerSystems\BookmarksLikesRatings\Domain\Repository\LikeRepository $bookmarkRepository
*/
public function injectLikeRepository(LikeRepository $likeRepository) {
$this->likeRepository = $likeRepository;
}
public function __construct()
{
}
public function getItems(): array
public function getItems()
{
/** @var QueryBuilder $queryBuilder */
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('be_users');
return $queryBuilder
->count('*')
->from('be_users')
->where(
$queryBuilder->expr()->eq(
'admin',
$queryBuilder->createNamedParameter(0, Connection::PARAM_INT)
)
)
->execute();
$objs = $this->likeRepository->getTop(10);
$items = [];
foreach ($objs as $obj) {
$title = '';
if ($obj['tablename'] === 'pages') {
$page = BackendUtility::getRecord('pages',$obj['object_uid'],'title');
if ($page) {
$title = $page['title'];
}
}
$items[] = [
'title' => $title,
'number' => $obj['number']
];
}
return $items;
}
}