smssender-bundle/Service/Sender.php

62 lines
1.6 KiB
PHP
Raw Normal View History

<?php
2012-10-08 18:45:50 +00:00
namespace GergelyPolonkai\SmsSenderBundle\Service;
use Symfony\Component\DependencyInjection\ContainerInterface;
use RuntimeException;
2012-12-26 14:07:44 +00:00
use GergelyPolonkai\SmsSender\OvhSoapSender as BaseSender;
/**
* @author Gergely Polonkai
*
2012-12-26 14:07:44 +00:00
* SMS Sending service for OVH Soap based SMS Sender server
*/
class Sender
{
private $loggedIn;
private $sender;
/**
* @var Symfony\Component\DependencyInjection\ContainerInterface $container
*/
private $container;
public function __construct(ContainerInterface $container)
{
$this->container = $container;
$this->sender = new BaseSender(
$this->container->getParameter('sender_url'),
$this->container->getParameter('content_type'),
$this->container->getParameter('content_encoding'),
$this->container->getParameter('verify_ssl'),
$this->container->getParameter('verbose_curl')
);
}
public function login()
{
if ($this->sender->login($this->container->getParameter('username'), $this->container->getParameter('password')) === true) {
2012-10-06 23:49:25 +00:00
$this->loggedIn = true;
} else {
throw new \RuntimeException('Unable to login to gateway!');
2012-10-06 23:49:25 +00:00
}
}
public function sendMessage($recipient, $message, array $passwordLocations)
{
2012-10-06 23:49:25 +00:00
if (!$this->loggedIn) {
return false;
}
$this->sender->sendMessage($recipient, $message, $passwordLocations);
}
public function logout()
{
2012-10-06 23:49:25 +00:00
if (!$this->loggedIn) {
return false;
}
$this->sender->logout();
}
}