2015-05-30 06:50:44 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Skobkin\Bundle\PointToolsBundle\Controller;
|
|
|
|
|
|
|
|
use Doctrine\DBAL\Query\QueryBuilder;
|
|
|
|
use Doctrine\ORM\EntityManager;
|
2015-05-31 02:48:12 +00:00
|
|
|
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
|
|
|
|
use Skobkin\Bundle\PointToolsBundle\Entity\User;
|
|
|
|
use Skobkin\Bundle\PointToolsBundle\Service\UserApi;
|
2015-05-30 06:50:44 +00:00
|
|
|
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
|
|
|
|
|
|
|
class UserController extends Controller
|
|
|
|
{
|
2015-05-31 02:48:12 +00:00
|
|
|
/**
|
|
|
|
* @param
|
|
|
|
* @ParamConverter("user", class="SkobkinPointToolsBundle:User", options={"login" = "login"})
|
|
|
|
*/
|
|
|
|
public function showAction(User $user)
|
2015-05-30 06:50:44 +00:00
|
|
|
{
|
2015-05-31 02:48:12 +00:00
|
|
|
$userApi = $this->container->get('skobkin_point_tools.api_user');
|
|
|
|
|
|
|
|
/** @var QueryBuilder $qb */
|
|
|
|
$qb = $this->getDoctrine()->getManager()->getRepository('SkobkinPointToolsBundle:SubscriptionEvent')->createQueryBuilder('se');
|
|
|
|
|
|
|
|
$subscriptionsEvents = $qb
|
|
|
|
->select()
|
|
|
|
->where('se.author = :author')
|
|
|
|
->orderBy('se.date', 'desc')
|
|
|
|
->setMaxResults(30)
|
|
|
|
->setParameter('author', $user)
|
|
|
|
->getQuery()->getResult()
|
|
|
|
;
|
|
|
|
|
|
|
|
return $this->render('SkobkinPointToolsBundle:User:show.html.twig', [
|
|
|
|
'user' => $user,
|
|
|
|
'log' => $subscriptionsEvents,
|
|
|
|
'avatar_url' => $userApi->getAvatarUrl($user, UserApi::AVATAR_SIZE_LARGE),
|
|
|
|
]);
|
2015-05-30 06:50:44 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public function topAction()
|
|
|
|
{
|
|
|
|
/** @var EntityManager $em */
|
|
|
|
$em = $this->getDoctrine()->getManager();
|
|
|
|
|
|
|
|
/** @var QueryBuilder $qb */
|
|
|
|
$qb = $em->getRepository('SkobkinPointToolsBundle:Subscription')->createQueryBuilder('us');
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|