Newscoop\Services\UserPointsService::update PHP Метод

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

Receives notifications of points events.
public update ( GenericEvent $event ) : void
$event Newscoop\EventDispatcher\Events\GenericEvent
Результат void
    public function update(GenericEvent $event)
    {
        $params = $event->getArguments();
        $action = str_replace('.', '_', $event->getName());
        $user = $params['user'];
        if (is_int($user)) {
            $user_repo = $this->em->getRepository('Newscoop\\Entity\\User');
            try {
                $user = $user_repo->findOneById($user);
            } catch (\Exception $e) {
                $user = '';
            }
        }
        if (empty($user)) {
            return;
        }
        $points = $user->getPoints();
        $points_action = $this->getRepository()->getPointValueForAction($action);
        $user->setPoints($points + $points_action);
        $this->em->flush();
    }