Version = "09.08.2011"; $this->UserKey = $u; $this->Password = $p; $this->ServiceUrl = $surl; $this->Recipients = ""; $this->Originator = ""; $this->MessageText = ""; $this->DeferredDeliveryTime = ""; $this->FlashingSMS = ""; $this->TimeZone = ""; $this->URLBufferedMessageNotification = ""; $this->URLDeliveryNotification = ""; $this->URLNonDeliveryNotification = ""; $this->AffiliateId = ""; $this->OriginatorUnlockCode = ""; $this->TokenReference = ""; $this->TokenValidity = ""; $this->TokenMask = ""; $this->VerificationCode = ""; $this->TokenCaseSensitive = ""; $this->PhoneNumber = ""; $this->WapDescription = ""; $this->WapURL = ""; } function ExecutePost($Action) { //url-ify the data for the POST foreach ($this->fields as $key => $value) { $fields_string .= $key . '=' . $value . '&'; } rtrim($fields_string, '&'); //open connection $ch = curl_init(); //set the url, number of POST vars, POST data curl_setopt($ch, CURLOPT_URL, $this->ServiceUrl . $Action); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, count($this->fields)); curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //execute post $result = curl_exec($ch); //close connection curl_close($ch); //parse results $doc = new DOMDocument(); $doc->loadXML($result); return $doc->firstChild->textContent; } function SendTextSMS() { //set parameters $this->fields = array( 'UserKey' => urlencode($this->UserKey), 'Password' => urlencode($this->Password), 'Recipients' => urlencode($this->Recipients), 'Originator' => urlencode($this->Originator), 'MessageText' => urlencode(utf8_encode($this->MessageText)), 'DeferredDeliveryTime' => urlencode($this->DeferredDeliveryTime), 'FlashingSMS' => urlencode($this->FlashingSMS), 'TimeZone' => urlencode($this->TimeZone), 'URLBufferedMessageNotification' => urlencode($this->URLBufferedMessageNotification), 'URLDeliveryNotification' => urlencode($this->URLDeliveryNotification), 'URLNonDeliveryNotification' => urlencode($this->URLNonDeliveryNotification), 'AffiliateId' => urlencode($this->AffiliateId), ); //print_r($this->fields); return $this->ExecutePost("SendTextSMS"); } function SimpleWAPPush() { //set parameters $this->fields = array( 'UserKey' => urlencode($this->UserKey), 'Password' => urlencode($this->Password), 'Recipients' => urlencode($this->Recipients), 'Originator' => urlencode($this->Originator), 'WapDescription' => urlencode(utf8_encode($this->WapDescription)), 'WapURL' => urlencode(utf8_encode($this->WapURL)), 'DeferredDeliveryTime' => urlencode($this->DeferredDeliveryTime), 'FlashingSMS' => urlencode($this->FlashingSMS), 'TimeZone' => urlencode($this->TimeZone), 'URLBufferedMessageNotification' => urlencode($this->URLBufferedMessageNotification), 'URLDeliveryNotification' => urlencode($this->URLDeliveryNotification), 'URLNonDeliveryNotification' => urlencode($this->URLNonDeliveryNotification), 'AffiliateId' => urlencode($this->AffiliateId), ); //print_r($this->fields); return $this->ExecutePost("SimpleWAPPush"); } function SendTokenSMS() { //set parameters $this->fields = array( 'UserKey' => urlencode($this->UserKey), 'Password' => urlencode($this->Password), 'Recipients' => urlencode($this->Recipients), 'Originator' => urlencode($this->Originator), 'MessageData' => urlencode(utf8_encode($this->MessageText)), 'TokenReference' => urlencode(utf8_encode($this->TokenReference)), 'TokenValidity' => urlencode($this->TokenValidity), 'TokenMask' => urlencode($this->TokenMask), 'VerificationCode' => urlencode($this->VerificationCode), 'TokenCaseSensitive' => urlencode($this->TokenCaseSensitive), 'URLBufferedMessageNotification' => urlencode($this->URLBufferedMessageNotification), 'URLDeliveryNotification' => urlencode($this->URLDeliveryNotification), 'URLNonDeliveryNotification' => urlencode($this->URLNonDeliveryNotification), 'AffiliateId' => urlencode($this->AffiliateId), ); //print_r($this->fields); return $this->ExecutePost("SendTokenSMS"); } function VerifyToken() { //set parameters $this->fields = array( 'UserKey' => urlencode($this->UserKey), 'Password' => urlencode($this->Password), 'PhoneNumber' => urlencode($this->PhoneNumber), 'TokenReference' => urlencode(utf8_encode($this->TokenReference)), 'VerificationCode' => urlencode($this->VerificationCode), ); //print_r($this->fields); return $this->ExecutePost("VerifyToken"); } function CheckCredits() { //set parameters $this->fields = array( 'UserKey' => urlencode($this->UserKey), 'Password' => urlencode($this->Password), ); return $this->ExecutePost("CheckCredits"); } function CheckOriginatorAuthorization() { //set parameters $this->fields = array( 'UserKey' => urlencode($this->UserKey), 'Password' => urlencode($this->Password), 'Originator' => urlencode($this->Originator), ); return $this->ExecutePost("CheckOriginatorAuthorization"); } function SendOriginatorUnlockCode() { //set parameters $this->fields = array( 'UserKey' => urlencode($this->UserKey), 'Password' => urlencode($this->Password), 'Originator' => urlencode($this->Originator), ); return $this->ExecutePost("SendOriginatorUnlockCode"); } function UnlockOriginator() { //set parameters $this->fields = array( 'UserKey' => urlencode($this->UserKey), 'Password' => urlencode($this->Password), 'Originator' => urlencode($this->Originator), 'OriginatorUnlockCode' => urlencode($this->OriginatorUnlockCode), ); return $this->ExecutePost("UnlockOriginator"); } function InquireDeliveryNotifications($trn) { if ($trn != null) { $this->TransactionReferenceNumbers = $trn; } //set parameters $this->fields = array( 'UserKey' => urlencode($this->UserKey), 'Password' => urlencode($this->Password), 'TransactionReferenceNumbers' => urlencode($this->TransactionReferenceNumbers), ); return $this->ExecutePost("InquireDeliveryNotifications"); } function GetStatusCodeDescription($StatusCode) { //set parameters $this->fields = array( 'StatusCode' => urlencode($StatusCode), ); return $this->ExecutePost("GetStatusCodeDescription"); } } ?>