Newscoop\NewscoopBundle\Controller\UsersController::loadUsersAction PHP Метод

loadUsersAction() публичный Метод

public loadUsersAction ( Request $request )
$request Symfony\Component\HttpFoundation\Request
    public function loadUsersAction(Request $request)
    {
        $em = $this->get('em');
        $zendRouter = $this->get('zend_router');
        $userService = $this->get('user');
        $cacheService = $this->get('newscoop.cache');
        $criteria = $userService->extractCriteriaFromRequest($request);
        $criteria->is_public = null;
        $registered = $userService->countBy(array('status' => User::STATUS_ACTIVE));
        $pending = $userService->countBy(array('status' => User::STATUS_INACTIVE));
        $cacheKey = $cacheService->getCacheKey(array('users__' . md5(serialize($criteria)), $registered, $pending));
        if ($cacheService->contains($cacheKey)) {
            $responseArray = $cacheService->fetch($cacheKey);
        } else {
            $users = $em->getRepository('Newscoop\\Entity\\User')->getListByCriteria($criteria);
            $pocessed = array();
            foreach ($users as $user) {
                $pocessed[] = $this->processUser($user, $zendRouter);
            }
            $responseArray = array('records' => $pocessed, 'queryRecordCount' => $users->count, 'totalRecordCount' => count($users->items));
            $cacheService->save($cacheKey, $responseArray);
        }
        return new JsonResponse($responseArray);
    }