0

I am using the code below for verification purposes.

login.php:

include "smsGateway.php";
$smsGateway = new SmsGateway('someone@mysite.com', 'password');

$dId = 98751;

$numb = '30xxxxx';

date_default_timezone_set('Asia/Karachi');

$dated = date('d-m-y h:i a', time());

$msg = "Fraudlent activity was detected on prescription data website on ".$dated." .";

$deviceID = $dId;
$number = '+92'.$numb;
$message = $msg;

$result = $smsGateway->sendMessageToNumber($number, $message, $deviceID);

smsGateway.php:

<?php

class SmsGateway {

    static $baseUrl = "https://smsgateway.me";


    function __construct($email,$password) {
        $this->email = $email;
        $this->password = $password;
    }

    function createContact ($name,$number) {
        return $this->makeRequest('/api/v3/contacts/create','POST',['name' => $name, 'number' => $number]);
    }

    function getContacts ($page=1) {
       return $this->makeRequest('/api/v3/contacts','GET',['page' => $page]);
    }

    function getContact ($id) {
        return $this->makeRequest('/api/v3/contacts/view/'.$id,'GET');
    }


    function getDevices ($page=1)
    {
        return $this->makeRequest('/api/v3/devices','GET',['page' => $page]);
    }

    function getDevice ($id)
    {
        return $this->makeRequest('/api/v3/devices/view/'.$id,'GET');
    }

    function getMessages($page=1)
    {
        return $this->makeRequest('/api/v3/messages','GET',['page' => $page]);
    }

    function getMessage($id)
    {
        return $this->makeRequest('/api/v3/messages/view/'.$id,'GET');
    }

    function sendMessageToNumber($to, $message, $device, $options=[]) {
        $query = array_merge(['number'=>$to, 'message'=>$message, 'device' => $device], $options);
        return $this->makeRequest('/api/v3/messages/send','POST',$query);
    }

    function sendMessageToManyNumbers ($to, $message, $device, $options=[]) {
        $query = array_merge(['number'=>$to, 'message'=>$message, 'device' => $device], $options);
        return $this->makeRequest('/api/v3/messages/send','POST', $query);
    }

    function sendMessageToContact ($to, $message, $device, $options=[]) {
        $query = array_merge(['contact'=>$to, 'message'=>$message, 'device' => $device], $options);
        return $this->makeRequest('/api/v3/messages/send','POST', $query);
    }

    function sendMessageToManyContacts ($to, $message, $device, $options=[]) {
        $query = array_merge(['contact'=>$to, 'message'=>$message, 'device' => $device], $options);
        return $this->makeRequest('/api/v3/messages/send','POST', $query);
    }

    function sendManyMessages ($data) {
        $query['data'] = $data;
        return $this->makeRequest('/api/v3/messages/send','POST', $query);
    }

    private function makeRequest ($url, $method, $fields=[]) {

        $fields['email'] = $this->email;
        $fields['password'] = $this->password;

        $url = smsGateway::$baseUrl.$url;

        $fieldsString = http_build_query($fields);


        $ch = curl_init();

        if($method == 'POST')
        {
            curl_setopt($ch,CURLOPT_POST, count($fields));
            curl_setopt($ch,CURLOPT_POSTFIELDS, $fieldsString);
        }
        else
        {
            $url .= '?'.$fieldsString;
        }

        curl_setopt($ch, CURLOPT_URL,$url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
        curl_setopt($ch, CURLOPT_HEADER , false);  // we want headers
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

        $result = curl_exec ($ch);

        $return['response'] = json_decode($result,true);

        if($return['response'] == false)
            $return['response'] = $result;

        $return['status'] = curl_getinfo($ch, CURLINFO_HTTP_CODE);

        curl_close ($ch);

        return $return;
    }
}

?>

When I try to login without that code everything works like a charm. But when I try to login with this code included, it shows HTTP ERROR 500 in the browser. Error log shows this: PHP Parse error: syntax error, unexpected '[' in /home/xxxx/public_html/xxxx/smsGateway.php on line 18

X3NTiN3
  • 13
  • 4

1 Answers1

2

Maybe its php version issure. Try array('page' => $page), insted of ['page' => $page]

Playeasy
  • 36
  • 2