예제 #1
0
function getsms($phone)
{
    require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/sms_gate_a1.php";
    if ($_SESSION['send_sms_time'] > time()) {
        return;
    }
    $_SESSION['send_sms_time'] = strtotime("+" . sms_gate::TIMEOUT_SEND);
    // таймаут до следующей отсылки СМС
    if (!preg_match("/^\\+[0-9]{10,15}/mi", $phone)) {
        $sms = new sms_gate_a1($phone);
        $msg = $sms->getTextMessage(sms_gate::TYPE_ACTIVATE, $sms->generateCode());
        $success = $sms->sendSMS($msg);
        if ($success) {
            $message = $sms->getLimitMessage($count);
        } else {
            $message = sms_gate::LIMIT_EXCEED_LINK_TEXT;
            $count = sms_gate::SMS_ON_NUMBER_PER_24_HOURS;
        }
        $_SESSION['send_sms_phone'] = $phone;
        $_SESSION['send_sms_code'] = $sms->getAuthCode();
        $result = array('success' => true, 'message' => iconv("Windows-1251", "UTF-8//IGNORE", $message), 'count' => $count);
        if (SMS_GATE_DEBUG) {
            $result['c'] = $sms->getAuthCode();
        }
        echo json_encode($result);
        return;
    }
    return;
}