59 lines
1.5 KiB
PHP
59 lines
1.5 KiB
PHP
|
<?php
|
||
|
namespace GergelyPolonkai\SmsSenderBundle\Service;
|
||
|
|
||
|
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||
|
use RuntimeException;
|
||
|
use GergelyPolonkai\SmsSender\OvhSoapSender as BaseSender;
|
||
|
|
||
|
/**
|
||
|
* @author Gergely Polonkai
|
||
|
*
|
||
|
* SMS Sending service for OVH Soap based SMS Sender server
|
||
|
*/
|
||
|
class OvhSoapSender
|
||
|
{
|
||
|
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('sms_account_id'),
|
||
|
$this->container->getParameter('from'));
|
||
|
}
|
||
|
|
||
|
public function login()
|
||
|
{
|
||
|
if ($this->sender->login($this->container->getParameter('username'), $this->container->getParameter('password'))){
|
||
|
$this->loggedIn = true;
|
||
|
} else {
|
||
|
throw new \RuntimeException('Unable to login to gateway!');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public function sendMessage($recipient, $message, array $passwordLocations)
|
||
|
{
|
||
|
if (!$this->loggedIn) {
|
||
|
return false;
|
||
|
}
|
||
|
$this->sender->sendMessage($recipient, $message, $passwordLocations);
|
||
|
}
|
||
|
|
||
|
public function logout()
|
||
|
{
|
||
|
if (!$this->loggedIn) {
|
||
|
return false;
|
||
|
}
|
||
|
$this->sender->logout();
|
||
|
}
|
||
|
}
|