forked from verdnatura/hedera-web
55 lines
1.1 KiB
PHP
55 lines
1.1 KiB
PHP
<?php
|
|
|
|
use Vn\Lib;
|
|
|
|
class Sms extends Vn\Web\JsonRequest
|
|
{
|
|
const PARAMS = [
|
|
'destination'
|
|
,'message'
|
|
];
|
|
|
|
const OK_STATES = [
|
|
0, // Ok
|
|
200 // Processing
|
|
];
|
|
|
|
function run ($db)
|
|
{
|
|
$smsConfig = $db->getObject ('SELECT uri, user, password, title FROM vn.smsConfig');
|
|
|
|
$sClient = new SoapClient ($smsConfig->uri);
|
|
$xmlString = $sClient->sendSMS (
|
|
$smsConfig->user
|
|
,$smsConfig->password
|
|
,$smsConfig->title
|
|
,$_REQUEST['destination']
|
|
,$_REQUEST['message']
|
|
);
|
|
$xmlResponse = new SimpleXMLElement ($xmlString);
|
|
$res = $xmlResponse->sms;
|
|
|
|
$db->query (
|
|
'INSERT INTO vn.sms SET
|
|
`senderFk` = account.myUserGetId(),
|
|
`destinationFk` = #,
|
|
`destination` = #,
|
|
`message` = #,
|
|
`statusCode` = #,
|
|
`status` = #',
|
|
[
|
|
empty ($_REQUEST['destinationId']) ? NULL : $_REQUEST['destinationId']
|
|
,$_REQUEST['destination']
|
|
,$_REQUEST['message']
|
|
,$res->codigo
|
|
,$res->descripcion
|
|
]
|
|
);
|
|
|
|
if (!in_array ((int) $res->codigo, self::OK_STATES))
|
|
throw new Lib\UserException ($res->descripcion);
|
|
|
|
return TRUE;
|
|
}
|
|
}
|