/** * @param $lead * @param MauticFactory $factory * @param $action * @param $config * @param $form */ public static function changePoints($lead, MauticFactory $factory, $action, $config, $form) { $model = $factory->getModel('lead'); //create a new points change event $event = new PointsChangeLog(); $event->setType('form'); $event->setEventName($form->getId() . ":" . $form->getName()); $event->setActionName($action->getName()); $event->setIpAddress($factory->getIpAddress()); $event->setDateAdded(new \DateTime()); $event->setDelta($config['points']); $event->setLead($lead); $lead->addPointsChangeLog($event); $lead->addToPoints($config['points']); $model->saveEntity($lead, false); }
/** * @param $event * @param $lead * * @return bool */ public static function changePoints($event, $lead, MauticFactory $factory) { $points = $event['properties']['points']; $somethingHappened = false; if ($lead != null && !empty($points)) { $lead->addToPoints($points); //add a lead point change log $log = new PointsChangeLog(); $log->setDelta($points); $log->setLead($lead); $log->setType('campaign'); $log->setEventName("{$event['campaign']['id']}: {$event['campaign']['name']}"); $log->setActionName("{$event['id']}: {$event['name']}"); $log->setIpAddress($factory->getIpAddress()); $log->setDateAdded(new \DateTime()); $lead->addPointsChangeLog($log); $somethingHappened = true; } return $somethingHappened; }