Beispiel #1
0
 /**
  * Log a SMS.
  *
  * @param Resultinterface $sms            The SMS to log.
  * @param float           $duration       The time required to send the SMS (in seconds).
  * @param string          $provider_class The class name of the provider which sent the SMS.
  */
 public function logMessage(ResultInterface $sms, $duration, $provider_class)
 {
     $this->smsList[] = array('sms' => $sms, 'duration' => $duration, 'provider_class' => $provider_class);
     if ($this->logger !== null) {
         $message = sprintf('SMS sent to %s, from %s %0.2f ms (%s), status: %s', $sms->getRecipient(), $sms->getOriginator(), $duration * 1000, $provider_class, $sms->getStatus());
         $this->logger->info($message);
     }
 }
 /**
  * @param ResultInterface $result
  *
  * @return RecordInterface
  */
 public function storeResult(ResultInterface $result)
 {
     $number = PhoneNumberUtil::getInstance()->parse($result->getRecipient(), 'TH');
     $provider = $this->provider->getActivedProvider();
     $object = $this->createNew();
     $object->setMessage($result->getBody());
     $object->setTransactionId($result->getId());
     $object->setNumber($number);
     $object->setState($object::STATE_SENT);
     $object->setPrice($provider->getPrice());
     $object->setProvider($provider);
     $object->setCurrency($provider->getCurrency());
     $event = new GenericEvent($object);
     $this->dispatchEvent('dos_sms_record_pre_store', $event);
     $this->manager->persist($object);
     $this->manager->flush();
     $this->dispatchEvent('dos_sms_record_post_store', $event);
     return $object;
 }