forked from verdnatura/hedera-web
53 lines
1.1 KiB
PHP
53 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;
|
|
}
|
|
}
|