/** * Comments list * * @param $request * @param $matches * @return mixed */ public function likes_list($request, $matches) { $post = trim($matches->get('post'), '-+ '); $filter = ['conditions' => ['post = ?', $post], 'order' => 'created_at DESC']; /** @var Listing $paginator */ $paginator = NCService::load('Paginator.Listing', [$request->page, \Like::count($filter)]); $filter = array_merge($filter, $paginator->limit()); // Likes $likes = \Like::find('all', $filter); $likes = \Like::as_array($likes); // Context $context = ['rating' => \Like::rating($post), 'likes' => $likes, 'page' => $paginator->cur_page, 'listing' => $paginator->pages()]; // Build response if ($request->get('type', 'html') == 'json') { unset($context['listing']); $context['pages'] = $paginator->pages; $context['rows'] = $paginator->num_rows; return static::json_response($context); } return $this->view->render('likes/list.twig', $context); }