hedera-web/rest/misc/sms.php

55 lines
1.1 KiB
PHP
Raw Normal View History

<?php
use Vn\Lib;
class Sms extends Vn\Web\JsonRequest
{
2016-09-06 14:25:02 +00:00
const PARAMS = [
2017-12-19 09:08:11 +00:00
'destination'
,'message'
];
const OK_STATES = [
0, // Ok
127 // Processing
2016-09-06 14:25:02 +00:00
];
2016-09-06 14:25:02 +00:00
function run ($db)
{
2017-12-19 09:08:11 +00:00
$smsConfig = $db->getObject ('SELECT uri, user, password, title FROM vn.smsConfig');
2017-12-13 18:28:54 +00:00
$sClient = new SoapClient ($smsConfig->uri);
$xmlString = $sClient->sendSMS (
2017-12-13 18:28:54 +00:00
$smsConfig->user
,$smsConfig->password
,$smsConfig->title
2017-12-19 09:08:11 +00:00
,$_REQUEST['destination']
,$_REQUEST['message']
);
$xmlResponse = new SimpleXMLElement ($xmlString);
2017-12-13 18:28:54 +00:00
$res = $xmlResponse->sms;
2017-12-13 18:28:54 +00:00
$db->query (
2017-12-19 09:08:11 +00:00
'INSERT INTO vn.sms SET
`senderFk` = account.userGetId(),
`destinationFk` = #,
`destination` = #,
`message` = #,
`statusCode` = #,
`status` = #',
2017-12-13 18:28:54 +00:00
[
2017-12-19 09:08:11 +00:00
empty ($_REQUEST['destinationId']) ? NULL : $_REQUEST['destinationId']
,$_REQUEST['destination']
,$_REQUEST['message']
2017-12-13 18:28:54 +00:00
,$res->codigo
,$res->descripcion
]
);
2017-12-19 09:08:11 +00:00
if (!in_array ($res->codigo, self::OK_STATES))
2017-12-13 18:28:54 +00:00
throw new Lib\UserException ($res->descripcion);
return TRUE;
}
}