示例#1
0
 /**
  * Receives notifications of points events.
  *
  * @param GenericEvent $event
  * @return void
  */
 public function update(GenericEvent $event)
 {
     $params = $event->getArguments();
     $method = str_replace('.', '_', $event->getName());
     $this->{$method}($params);
     $this->em->flush();
 }
示例#2
0
 /**
  * Update community ticker
  *
  * @param GenericEvent $event
  * @return void
  */
 public function update(GenericEvent $event)
 {
     $params = $event->getArguments();
     $user = array_key_exists('user', $params) ? $params['user'] : null;
     unset($params['user']);
     $this->getRepository()->save(new CommunityTickerEvent(), array('event' => $event->getName(), 'user' => $user, 'params' => $params));
     $this->em->flush();
 }
示例#3
0
 /**
  * Update audit
  *
  * @param GenericEvent $event
  * @return void
  */
 public function update(GenericEvent $event)
 {
     list($resource, $action) = explode('.', $event->getName());
     $user = isset($event['user']) ? $event['user'] : $this->userService->getCurrentUser();
     $params = $event->getArguments();
     $auditEvent = new AuditEvent();
     $values = array('user' => $user, 'action' => $action, 'resource_id' => !empty($params['id']) ? $params['id'] : null, 'resource_type' => $resource, 'resource_diff' => !empty($params['diff']) ? $params['diff'] : null, 'resource_title' => !empty($params['title']) ? $params['title'] : null);
     $this->em->getRepository('Newscoop\\Entity\\AuditEvent')->save($auditEvent, $values);
     $this->em->flush();
 }
示例#4
0
 /**
  * Receives notifications of points events.
  *
  * @param GenericEvent $event
  * @return 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');
         $user = $user_repo->find($user);
     }
     if (empty($user)) {
         return;
     }
     $points = $user->getPoints();
     $points_action = $this->getRepository()->getPointValueForAction($action);
     $user->setPoints($points + $points_action);
     $this->em->flush();
 }
示例#5
0
 /**
  * Receives notifications of points events.
  *
  * @param GenericEvent $event
  * @return 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');
         $user = $user_repo->find($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();
 }
示例#6
0
 /**
  * Receives notifications of points events.
  *
  * @param GenericEvent $event
  *
  * @return void
  */
 public function update(GenericEvent $event)
 {
     $params = $event->getArguments();
     $method = str_replace('.', '_', $event->getName());
     $this->{$method}($params);
     $this->em->flush();
     $cacheService = \Zend_Registry::get('container')->getService('newscoop.cache');
     $cacheService->clearNamespace('comment');
 }