Newscoop\Services\UserAttributeService::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();
        $attribute_name = 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;
        }
        $attribute_value = $user->getAttribute($attribute_name);
        $attribute_value = isset($attribute_value) ? $attribute_value + 1 : 1;
        $user->addAttribute($attribute_name, $attribute_value);
        $this->em->flush();
    }