예제 #1
0
/************************************************************************************
 Входные данные
************************************************************************************/
$sms = new SMS();
$sms->smsid = $_REQUEST['smsid'];
$sms->service_phone = $_REQUEST['num'];
$sms->carrier_id = $_REQUEST['operator_id'];
$sms->user_phone = $_REQUEST['user_id'];
$sms->service_earning = doubleval($_REQUEST['cost']);
$sms->msg = $_REQUEST['msg'];
$sms->confidence_rate = $_REQUEST['ran'];
//if (strlen($carrier) == 0)
//	$carrier    = $_REQUEST['operator'];
$sms->suffix = trim($sms->msg);
if (substr($sms->suffix, 0, strlen(REATESTER_SMS_PREFIX)) != REATESTER_SMS_PREFIX) {
    $sms->put(sprintf(SMS_REPLY_INVALID_PREFIX, $sms->suffix));
    reply();
}
$sms->suffix = trim(substr($sms->suffix, strlen(REATESTER_SMS_PREFIX)));
$sms->status = SMS_STATUS_PROCESSING;
$sms->put();
/************************************************************************************
 Распознавание суффикса
************************************************************************************/
if (strlen($sms->suffix) != REATESTER_SMS_CHAL_LENGTH) {
    $sms->status = SMS_STATUS_INVALID_SUFFIX_FORMAT;
    $sms->put();
    reply(sprintf(SMS_REPLY_WRONG_SUFFIX_FORMAT, $sms->msg));
}
$session = TestSession::get("WHERE sms_chal = ? AND sms_received_at IS NULL AND finished_at >= DATE_SUB(NOW(), INTERVAL " . REATESTER_SMS_CAN_BE_SENT_IN_HOURS . " HOUR)", $sms->suffix);
if (!$session) {