Вход Регистрация
Файл: _rootinc/qtelecom.inc.php
Строк: 57
<?

class QTELECOM
{
    public 
$url null;
    public 
$user null;
    public 
$password null;
    public 
$error null;

    public function 
init($url,$user,$password)
    {
        
$this->url=$url;
        
$this->user=$user;
        
$this->password=$password;
    }

    private function 
send($request)
    {
        
$fp curl_init(); 
        
curl_setopt($fpCURLOPT_URL$this->url);
        
curl_setopt($fpCURL_HTTP_VERSION_1_11);
        
curl_setopt($fpCURLOPT_POST1);
        
curl_setopt($fpCURLOPT_POSTFIELDS$request);
        
curl_setopt($fpCURLOPT_SSL_VERIFYPEER0);
        
curl_setopt($fpCURLOPT_SSL_VERIFYHOST0);
        
curl_setopt($fpCURLOPT_RETURNTRANSFER,1);
        
curl_setopt($fpCURLOPT_TIMEOUT120);

        
$result curl_exec($fp);

        if (@
curl_errno($fp)) {
            
$this->error "cURL Error ".@curl_errno($fp).": ".@curl_error($fp);
            return 
false;
        }

        
curl_close($fp);  

        return 
xmlToArrayL($result);
    }

    public function 
sendSMS($mobile$sender$smsmsg)
    {
$request = <<<EOF
<?xml version="1.0" encoding="UTF-8" ?>
<xml_request name="sms_send">
    <xml_user lgn="
$this->user" pwd="$this->password"/>
    <sms number="
$mobile" source_number="$sender">$smsmsg</sms>
</xml_request>
EOF;

        
$result $this->send($request);

        if (
$result[xml_result][push_attr][res] == "0") {
            return 
$result[xml_result][push_attr][push_id];
        } else if (
$result[xml_result][push_attr][res]) {
            
$this->error "sendSMS: Code ".$result[xml_result][push_attr][res]." (".$result[xml_result][push_attr][description].")";
            return 
false;
        } else if (
$result[xml_result_attr][res]) {
            
$this->error "sendSMS: Code ".$result[xml_result_attr][res]." (".$result[xml_result_attr][description].")";
            return 
false;
        } else {
            
$this->error "sendSMS: no result or cant parse result";
            return 
false;
        }
    }

    public function 
getSMSStatus($id)
    {
$request = <<<EOF
<?xml version="1.0" encoding="UTF-8" ?>
<xml_request name="sms_status2">
    <xml_user lgn="
$this->user" pwd="$this->password"/>
    <sms push_id="
$id"/>
</xml_request>
EOF;

        
$result $this->send($request);

        if (
$result[xml_result][sms_attr][status] and $result[xml_result][sms_attr][status] != "-1") {
            
$date $result[xml_result][sms_attr][delivery_date];
            
$time $result[xml_result][sms_attr][delivery_time];
            
$status $result[xml_result][sms_attr][status];

            if (
$date) { $date fromMyDate($date); } else { $date "0000-00-00";}
            if (!
$time) { $time "00:00:00"; }
                
            if (
$status == "-1004") { $status "Ошибка доставки"; }
            else if (
$status == "1") { $status "В очереди"; }
            else if (
$status == "2") { $status "Отправлено"; }
            else if (
$status == "4") { $status "Доставлено"; }
            else { 
$status $result[xml_result][sms_attr][description]; }

            
$res[date] = $date." ".$time;
            
$res[status] = $status;

            return 
$res;

        } else if (
$result[xml_result_attr][res]) {
            
$this->error "getSMSStatus: Code ".$result[xml_result_attr][res]." (".$result[xml_result_attr][description].")";
            return 
false;
        } else {
            
$this->error "getSMSStatus: no result or cant parse result";
            return 
false;
        }
    }

}
?>
Онлайн: 1
Реклама