2021-08-17 19:45:38 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
|
|
|
|
namespace WapplerSystems\BookmarksLikesRatings\Widgets\Provider;
|
|
|
|
|
2021-08-20 13:33:13 +02:00
|
|
|
use TYPO3\CMS\Backend\Utility\BackendUtility;
|
|
|
|
use TYPO3\CMS\Core\Utility\DebugUtility;
|
|
|
|
use WapplerSystems\BookmarksLikesRatings\Domain\Repository\LikeRepository;
|
2021-08-17 19:45:38 +02:00
|
|
|
|
2021-08-20 13:33:13 +02:00
|
|
|
class TopLikesDataProvider
|
2021-08-17 19:45:38 +02:00
|
|
|
{
|
|
|
|
|
2021-08-20 13:33:13 +02:00
|
|
|
/** @var LikeRepository */
|
|
|
|
protected $likeRepository;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param \WapplerSystems\BookmarksLikesRatings\Domain\Repository\LikeRepository $bookmarkRepository
|
|
|
|
*/
|
|
|
|
public function injectLikeRepository(LikeRepository $likeRepository) {
|
|
|
|
$this->likeRepository = $likeRepository;
|
|
|
|
}
|
|
|
|
|
2021-08-17 19:45:38 +02:00
|
|
|
|
|
|
|
public function __construct()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2021-08-20 13:33:13 +02:00
|
|
|
public function getItems()
|
2021-08-17 19:45:38 +02:00
|
|
|
{
|
2021-08-20 13:33:13 +02:00
|
|
|
|
|
|
|
|
|
|
|
$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;
|
2021-08-17 19:45:38 +02:00
|
|
|
}
|
|
|
|
}
|