Files
BE_CPONE/application/libraries/Wa_sas.php
2026-04-27 10:26:26 +07:00

160 lines
5.0 KiB
PHP

<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Wa_sas
{
var $username, $host, $password;
function __construct()
{
// $this->host = "http://sasdev.jala.my.id:3000/send/";
//$this->host = "http://139.59.235.205:3000/send/";
$this->host = "http://devkedungdoro.aplikasi.web.id:7001/send/";
$this->username = "sasdev";
$this->password = "sasdev!#102938";
}
function fix_phone($phone)
{
//remove - and space
$phone = str_replace("-", "", $phone);
$phone = str_replace(" ", "", $phone);
//remove 1st +
if (substr($phone, 0, 1) == "+") {
$phone = substr($phone, 1);
}
if (substr($phone, 0, 1) == "0") {
$phone = "62" . substr($phone, 1);
}
if (substr($phone, 0, 2) != "62") {
$phone = "62" . $phone;
}
return $phone;
}
function send_image_group(
$phone,
$caption,
$url_image,
$contentType,
$file_name,
$extension,
$view_once = false,
$compress = false
) {
$tmpFile = tempnam(sys_get_temp_dir(), 'sasdev') . ".$extension";
file_put_contents($tmpFile, file_get_contents($url_image));
$data = [
"phone" => $phone,
"caption" => $caption,
"view_once" => $view_once,
"compress" => $compress,
"image" => curl_file_create($tmpFile, $contentType, $file_name)
];
$ch = curl_init($this->host . "image");
//curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERPWD, $this->username . ":" . $this->password);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data'));
$return = curl_exec($ch);
curl_close($ch);
unlink($tmpFile);
$j_return = json_decode($return, true);
if (json_last_error() != 0) {
return ["code" => "ERROR", "message" => "Error Json Decode : $return"];
}
return $j_return;
}
function send_message($phone, $message, $is_group = false)
{
$data = [
"phone" => $is_group ? $phone : $this->fix_phone($phone),
"message" => $message
];
$ch = curl_init($this->host . "message");
curl_setopt($ch, CURLOPT_USERPWD, $this->username . ":" . $this->password);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$return = curl_exec($ch);
curl_close($ch);
$j_return = json_decode($return, true);
if (json_last_error() != 0) {
return ["code" => "ERROR", "message" => "Error Json Decode : $return"];
}
return $j_return;
}
function send_image(
$phone,
$caption,
$url_image,
$contentType,
$file_name,
$extension,
$view_once = false,
$compress = false
) {
$tmpFile = tempnam(sys_get_temp_dir(), 'sasdev') . ".$extension";
file_put_contents($tmpFile, file_get_contents($url_image));
$data = [
"phone" => $this->fix_phone($phone),
"caption" => $caption,
"view_once" => $view_once,
"compress" => $compress,
"image" => curl_file_create($tmpFile, $contentType, $file_name)
];
$ch = curl_init($this->host . "image");
//curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERPWD, $this->username . ":" . $this->password);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data'));
$return = curl_exec($ch);
curl_close($ch);
unlink($tmpFile);
$j_return = json_decode($return, true);
if (json_last_error() != 0) {
return ["code" => "ERROR", "message" => "Error Json Decode : $return"];
}
return $j_return;
}
function send_file(
$phone,
$caption,
$url_file,
$contentType,
$file_name,
$extension,
$compress = false
) {
$tmpFile = tempnam(sys_get_temp_dir(), 'sasdev') . ".$extension";
file_put_contents($tmpFile, file_get_contents($url_file));
$data = [
"phone" => $this->fix_phone($phone),
"caption" => $caption,
"compress" => $compress,
"file" => curl_file_create($tmpFile, $contentType, $file_name)
];
$ch = curl_init($this->host . "file");
//curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERPWD, $this->username . ":" . $this->password);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: multipart/form-data'));
$return = curl_exec($ch);
curl_close($ch);
unlink($tmpFile);
$j_return = json_decode($return, true);
if (json_last_error() != 0) {
return ["code" => "ERROR", "message" => "Error Json Decode : $return"];
}
return $j_return;
}
}