<?php
defined('BASEPATH') or exit('No direct script access allowed');

class ControllerArisanMotor extends CI_Controller
{

    public function __construct()
    {
        parent::__construct();
        check_not_login();
        if ($this->session->userdata('level') != 4) {
            redirect();
        }
        $this->set_timezone();
        $this->load->library('encrypt');
        $this->load->library('form_validation');
        $this->load->library('Mycustom');
        $this->load->library('pdfgenerator');
        $this->load->model('notifikasi_arisan');
        $this->load->model('kabag_arisan/insert_model');
        $this->load->model('kabag_arisan/select_model');
        $this->load->model('kabag_arisan/update_model');
    }
    public function set_timezone()
    {
        date_default_timezone_set("Asia/Jakarta");
    }
    public function index()
    {
        // Notifikasi
        $jml_pengajuan        = count($this->notifikasi_arisan->Notifikasi_pengajuan());
        // End_notifikasi 
        // Data Login
        $data_login            = $this->userlogin->user_login();
        $data_id_login         = $this->session->userdata('isloggedin');
        // Query SQL Data atau isi data page  
        $data_arisan_aktif     = $this->select_model->vd_arisanMotorAktif(); // Data Semua Arisan Motor Aktif
        $data_arisan_selesai   = $this->select_model->vd_arisanMotorSelesai(); // Data Semua Arisan Motor Aktif
        // Bagian Arisan Heboh
        // echo '<pre>';
        // var_dump($data_arisan_aktif);
        // die;
        $anggota_aktif         = $this->select_model->getDataAnggotaAktifMotor(); // Data Semua Anggota Arisan Status Aktif
        $anggota_menang        = $this->select_model->getDataAnggotaMenang(); // Data Semua Anggota Arisan Menang
        $anggota_mundur        = $this->select_model->getDataAnggotaMundur(); // Data Semua Anggota Arisan Mundur 
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'folder'              => 'operasional/motor',
            'page'                => 'index',
            'judul'               => 'Data Operasional Arisan Motor || Bagian Kabag Arisan',
            'data_id_login'       => $data_id_login,
            'data_login'          => $data_login,
            // Isi data konten 
            'arisan_aktif'        => $data_arisan_aktif,
            'arisan_selesai'      => $data_arisan_selesai,
            // Jumlah anggota arisan
            'anggota_aktif'       => $anggota_aktif,
            'anggota_menang'      => $anggota_menang,
            'anggota_mundur'      => $anggota_mundur,
            'jml_pengajuan'       => $jml_pengajuan
        );
        $this->load->view('arisan/index', $data);
    }
    // Jadwal Arisan Motor
    public function jadwal($id)
    {
        // Notifikasi
        $jml_pengajuan          = count($this->notifikasi_arisan->Notifikasi_pengajuan());
        // End_notifikasi 
        $regist_arisan          = $this->encrypt->decode($id);
        // Data Login Identitas Karyawan
        $data_id_login          = $this->session->userdata('isloggedin');
        $data_login             = $this->userlogin->user_login();
        // Query SQL Data atau isi data page.
        $data_arisan            = $this->db->get_where('p_arisan', ['id' => $regist_arisan])->row_array();
        $data_pemenang          = $this->select_model->vd_anggotaArisanMenang($regist_arisan); // Data Anggota Pemenang Arisan
        $anggota                = count($this->select_model->vd_anggotaAktifArisan($regist_arisan)); // Data Anggota Aktif Arisan
        $anggota_mundur         = count($this->select_model->vd_anggotaMundurArisan($regist_arisan)); // Data Anggota Mundur Arisan
        $anggota_menang         = count($data_pemenang);
        $realisasi_tagihan      = $this->select_model->getDataRealisasiTagihan($regist_arisan); // Data Realisasi Tagihan bulan dan tahun berjalan
        $data_saldo             = $this->select_model->getDataSaldoKelompok($regist_arisan);  // Data Saldo Kelompok
        $data_laporan           = $this->db->get_where('lap_arisan')->result();
        if ($data_saldo > 0) :
            $saldo_kelompok = $data_saldo['saldo_lelang'];
        else :
            $saldo_kelompok = 0;
        endif;
        $jadwal_undian          = $this->select_model->vd_jadwalArisan($regist_arisan);
        $data_anggota           = $this->select_model->vd_allDataAnggotaArisan($regist_arisan);
        // echo '<pre>';
        // var_dump($data_anggota);
        // die;
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'folder'              => 'operasional/motor/jadwal',
            'page'                => 'index',
            'judul'               => 'Operasional Jadwal Arisan ' . $regist_arisan . ' || Bagian Kabag Arisan',
            'data_id_login'       => $data_id_login,
            'data_login'          => $data_login,
            'data_laporan'        => $data_laporan,
            // Isi data
            'data_arisan'         => $data_arisan,
            'anggota_arisan'      => $data_anggota,
            'data_pemenang'       => $data_pemenang,
            'saldo_kelompok'      => $saldo_kelompok,
            'anggota_aktif'       => $anggota,
            'anggota_mundur'      => $anggota_mundur,
            'anggota_menang'      => $anggota_menang,
            'realisasi'           => $realisasi_tagihan,
            'jadwal_undian'       => $jadwal_undian,
            'jml_pengajuan'       => $jml_pengajuan
        );
        $this->load->view('arisan/index', $data);
    }
    // Jadwal Histori Arisan Motor
    public function jadwal_histori($id)
    {
        // Notifikasi
        $jml_pengajuan          = count($this->notifikasi_arisan->Notifikasi_pengajuan());
        // End_notifikasi 
        $jadwal_id              = $this->encrypt->decode($id);
        // Data Jadwal
        $data_jadwal            = $this->db->get_where('p_arisan_jadwal', ['id' => $jadwal_id])->row_array();
        // echo '<pre>';
        // var_dump($data_jadwal);
        // die;
        if ($data_jadwal['status_undian'] != 'SELESAI') :
            redirect('arisan/operasional/tagihan_motor/' . $this->encrypt->encode($data_jadwal['regist_arisan']));
        endif;
        if ($data_jadwal['status_undian'] == 'PROSES') :
            redirect('arisan/operasional/kegiatan/lelang_motor/proses/' . $this->encrypt->encode($regist_arisan));
        endif;
        // Notifikasi
        $jml_pengajuan                = count($this->notifikasi_arisan->Notifikasi_pengajuan());
        // End_notifikasi 
        // Cek ID Arisan atau Kode Jadwal
        $regist_arisan                = $data_jadwal['regist_arisan'];
        // Data Login Identitas Karyawan
        $data_id_login                = $this->session->userdata('isloggedin');
        $data_login                   = $this->userlogin->user_login();
        // Data Konten Isi
        $data_arisan                  = $this->db->get_where('p_arisan', ['id' => $regist_arisan])->row_array(); // Menampilkan data arisan sesuai kode arisan
        $anggota_aktif                = $this->select_model->vd_allDataAnggotaArisanMotor($regist_arisan); // Menampilkan data anggota aktif
        $data_anggota_belum_bayar     = $this->select_model->vd_anggotaArisanMotorBelumBayar($jadwal_id, $regist_arisan);  // Menampilkan anggota arisan heboh yang belum bayar
        $data_anggota_bayar           = $this->select_model->vd_anggotaArisanMotorSudahBayar($jadwal_id, $regist_arisan); // Menampilkan anggota arisan heboh yang sudah bayar
        // echo '<pre>';
        // var_dump($data_anggota_bayar);
        // die;
        $ttl_belum_bayar              = count($data_anggota_belum_bayar); // Menampilkan total anggota yang belum bayar
        $jml_aktif                    = count($anggota_aktif);  // Menampilkan total anggota aktif
        $syarat_mulai_undian          = $this->db->get_where('sistem_option')->row_array();
        $jml_bayar                    = count($data_anggota_bayar);
        if (($jml_aktif / $syarat_mulai_undian['min_mulai_undian']) > $jml_bayar) :
            $undian_mulai = 0;
        else :
            $undian_mulai = 1;
        endif;
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'folder'              => 'operasional/motor/tagihan',
            'page'                => 'index',
            'judul'               => 'Detail Tagihan Arisan || Bagian Arisan',
            // Memanggil data identitas login
            'data_id_login'       => $data_id_login,
            'data_login'          => $data_login,
            // Isi data konten
            'data_arisan'         => $data_arisan,
            'jadwal_arisan'        => $data_jadwal,
            'anggota_belum_bayar' => $data_anggota_belum_bayar,
            'blm_bayar'           => $ttl_belum_bayar,
            'jml_aktif'           => $jml_aktif,
            'anggota_bayar'       => $data_anggota_bayar,
            'jml_pengajuan'       => $jml_pengajuan,
            'undian_mulai'        => $undian_mulai
        );
        $this->load->view('arisan/index', $data);
    }
    // Tagihan Arisan Motor
    public function tagihan($id)
    {
        // Notifikasi
        $jml_pengajuan                = count($this->notifikasi_arisan->Notifikasi_pengajuan());
        // End_notifikasi 
        // Cek ID Arisan atau Kode Jadwal
        $regist_arisan                = $this->encrypt->decode($id);
        $data_jadwal                  = $this->db->get_where('p_arisan_jadwal', ['regist_arisan' => $regist_arisan, 'status_undian !=' => 'SELESAI'])->row_array();
        // Cek apakah jadwal itu sedang proses undian
        if ($data_jadwal['status_undian'] == 'PROSES') :
            redirect('arisan/operasional/kegiatan/lelang_motor/proses/' . $this->encrypt->encode($regist_arisan));
        endif;
        $jadwal_id                    = $data_jadwal['id'];
        // Data Login Identitas Karyawan
        $data_id_login                = $this->session->userdata('isloggedin');
        $data_login                   = $this->userlogin->user_login();
        // Data Konten Isi
        $data_arisan                  = $this->db->get_where('p_arisan', ['id' => $regist_arisan])->row_array(); // Menampilkan data arisan sesuai kode arisan
        $anggota_aktif                = $this->select_model->vd_allDataAnggotaArisanMotor($regist_arisan); // Menampilkan data anggota aktif
        $data_anggota_belum_bayar     = $this->select_model->vd_anggotaArisanMotorBelumBayar($jadwal_id, $regist_arisan);  // Menampilkan anggota arisan heboh yang belum bayar
        $data_anggota_bayar           = $this->select_model->vd_anggotaArisanMotorSudahBayar($jadwal_id, $regist_arisan); // Menampilkan anggota arisan heboh yang sudah bayar
        // echo '<pre>';
        // var_dump($data_arisan);
        // die;
        $ttl_belum_bayar              = count($data_anggota_belum_bayar); // Menampilkan total anggota yang belum bayar
        $jml_aktif                    = count($anggota_aktif);  // Menampilkan total anggota aktif
        $syarat_mulai_undian          = $this->db->get_where('sistem_option')->row_array();
        $jml_bayar                    = count($data_anggota_bayar);
        if (($jml_aktif / $syarat_mulai_undian['min_mulai_undian']) > $jml_bayar) :
            $undian_mulai = 0;
        else :
            $undian_mulai = 1;
        endif;
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'folder'              => 'operasional/motor/tagihan',
            'page'                => 'index',
            'judul'               => 'Detail Tagihan Arisan || Bagian Arisan',
            // Memanggil data identitas login
            'data_id_login'       => $data_id_login,
            'data_login'          => $data_login,
            // Isi data konten
            'data_arisan'         => $data_arisan,
            'jadwal_arisan'        => $data_jadwal,
            'anggota_belum_bayar' => $data_anggota_belum_bayar,
            'blm_bayar'           => $ttl_belum_bayar,
            'jml_aktif'           => $jml_aktif,
            'anggota_bayar'       => $data_anggota_bayar,
            'jml_pengajuan'       => $jml_pengajuan,
            'undian_mulai'        => $undian_mulai
        );
        $this->load->view('arisan/index', $data);
    }
    // Bagian Create Read Update Delete
    public function crud()
    {
        if (isset($_POST['ubahJadwalArisanMotor'])) :
            $regist_arisan = htmlspecialchars($this->input->post('kode_regist'));
            $data = array(
                'tgl_undian'   => htmlspecialchars($this->input->post('tgl_undian'))
            );
            $this->db->where('regist_arisan', $regist_arisan);
            $this->db->where('undian_ke', htmlspecialchars($this->input->post('undian_ke')));
            $this->db->update('p_arisan_jadwal', $data);
            $this->session->set_flashdata('pesan_berhasil', '<div class="alert alert-success" id="pesan_berhasil" role="alert">Berhasil Ubah Jadwal Arisan!</div>');
            redirect('arisan/operasional/jadwal_motor/' . $this->encrypt->encode($regist_arisan));
        endif;
        if (isset($_POST['bayarIuranArisan'])) :
            $regist_undian                       = htmlspecialchars($this->input->post('regist_undian'));
            $regist_arisan                       = htmlspecialchars($this->input->post('arisan_id'));
            $data_arisan                         = $this->db->get_where('p_arisan', ['id' => $regist_arisan])->row_array();
            $data_jadwal                         = $this->db->get_where('p_arisan_jadwal', ['regist_arisan' => $regist_arisan, 'status_undian' => 'BELUM'])->row_array();
            $jadwal_id                           = $data_jadwal['id'];
            $cek_anggota                         = $this->db->get_where('p_arisan_anggota', ['regist_undian' => $regist_undian])->row_array();
            // Menampilkan data terakhir invoice
            $data_invoice           = $this->select_model->getDataTagihanUrutMotor();
            $cek_nomor_urut         = substr($data_invoice['id'], 8, 5);
            $no_invoice_selanjutnya = $cek_nomor_urut + 1;
            $total_huruf            = strlen($no_invoice_selanjutnya);
            // Membuat kode invoice
            if ($total_huruf == 1) :
                $nomor_invoice = date('ymd') . '22000' . $no_invoice_selanjutnya;
            elseif ($total_huruf == 2) :
                $nomor_invoice = date('ymd') . '2200' . $no_invoice_selanjutnya;
            elseif ($total_huruf == 3) :
                $nomor_invoice = date('ymd') . '220' . $no_invoice_selanjutnya;
            else :
                $nomor_invoice = date('ymd') . '22' . $no_invoice_selanjutnya;
            endif;
            // Data untuk tabel invoice
            $data_voice = array(
                'id'              => $nomor_invoice,
                'produk_id'       => 22,
                'anggota_id'      => $cek_anggota['anggota_id'],
                'tgl_pembayaran'  => date('Y-m-d'),
                'qty_pembayaran'  => 1,
                'ttl_bayar'       => $data_arisan['tagihan_iuran'] * 1,
                'status_kas'      => 'MASUK',
                'status_nota'     => 'PROSES',
                'ket_nota'        => 'Iuran Arisan ' . $regist_arisan . ' Nomor Undian ' . $regist_undian,
                'petugas'         => $this->session->userdata('isloggedin')
            );
            $this->db->insert('nota', $data_voice);
            $data_rinci = array(
                'nota_id'       => $nomor_invoice,
                'jadwal_id'     => $jadwal_id,
                'regist_arisan' => $regist_arisan,
                'regist_undian' => $regist_undian,
                'bayar'         => $data_arisan['tagihan_iuran'],
                'status_bayar'  => 'LANCAR',
            );
            $this->db->insert('p_arisan_nota', $data_rinci);
            $this->_cetakTandaTerima($nomor_invoice);
            $this->session->set_flashdata('pesan_berhasil', '<div class="alert alert-success" id="pesan_berhasil" role="alert">Berhasil Bayar Tagihan Arisan!</div>');
            redirect('arisan/operasional/tagihan_motor/' . $this->encrypt->encode($regist_arisan));
        endif;
        if (isset($_POST['kirimIuranArisan'])) :
            $kd_invoice       = htmlspecialchars($this->input->post('nota_id'));
            $data_invoice     = $this->select_model->getDataInvoice($kd_invoice); // DONE
            $bulan            = date('m', strtotime($data_invoice['tgl_pembayaran']));
            $tahun            = date('Y', strtotime($data_invoice['tgl_pembayaran']));
            $nama_file        = $data_invoice['invoice_pdf'];
            $lokasi_file      = base_url() . 'assets/invoice/arisan_motor/' . $tahun . '/' . $bulan . '/' . $nama_file;
            $this->_notifKirimBuktiSetor($lokasi_file, $data_invoice);
            $this->session->set_flashdata('pesan_berhasil', '<div class="alert alert-success" id="pesan_berhasil" role="alert">Berhasil Kirim Invoice Iuran Arisan!</div>');
            redirect('arisan/operasional/tagihan_motor/' . $this->encrypt->encode(htmlspecialchars($this->input->post('arisan_id'))));
        endif;
        if (isset($_POST['mulaiLelangArisan'])) :
            $regist_arisan  = htmlspecialchars($this->input->post('regist_arisan'));
            $jadwal_id      = htmlspecialchars($this->input->post('jadwal_id'));
            $data = array(
                'status_undian' => 'PROSES'
            );
            $this->db->where('regist_arisan', $regist_arisan);
            $this->db->where('id', $jadwal_id);
            $this->db->update('p_arisan_jadwal', $data);
            // $this->_notifUndianDimulaiLelang($regist_arisan, $jadwal_id);
            $this->session->set_flashdata('pesan_berhasil', '<div class="alert alert-success" id="pesan_berhasil" role="alert">Berhasil Memulai Undian!</div>');
            redirect('arisan/operasional/kegiatan/lelang_motor/proses/' . $this->encrypt->encode($regist_arisan));
        endif;
    }
    // Bagian Private Function
    // Konversi Nota Tanda Terima
    private function _cetakTandaTerima($nomor_invoice)
    {
        $kd_invoice            = $nomor_invoice;
        $data_invoice          = $this->select_model->getDataInvoice($kd_invoice); // DONE
        $data_rinci            = $this->select_model->getDataInvoiceRinci($kd_invoice);
        // Data Login
        $data_login            = $this->userlogin->user_login();
        $data_id_login         = $this->session->userdata('isloggedin');
        // Nama Marketing
        $data_marketing        = $this->select_model->getDataMarketing($kd_invoice);
        $data = array(
            // Untuk memanggil halaman sesuai menu
            'title_pdf'           => 'Invoice Pembayaran Arisan Motor',
            'data_id_login'       => $data_id_login,
            'data_login'          => $data_login,
            // Data isi konten
            'data_invoice'        => $data_invoice,
            'data_rinci'          => $data_rinci,
            'data_marketing'      => $data_marketing
        );
        // $this->load->view('nota/nota_bayar_arisan', $data_halaman);
        // filename dari pdf ketika didownload
        $file_pdf = 'invoice_' . $kd_invoice;
        // setting paper
        $paper = 'A5';
        //orientasi paper potrait / landscape
        $orientation = "landscape";

        // $this->load->view('nota/nota_bayar_arisan_petugas', $data);
        $html = $this->load->view('document/nota/nota_bayar_arisan_petugas', $data, true);
        $tahun = date('Y');
        $bulan = date('m');
        // run dompdf
        $lokasi_file = 'assets/invoice/arisan_motor/' . $tahun . '/' . $bulan . '/';
        $this->pdfgenerator->generate($html, $file_pdf, $paper, $lokasi_file, $orientation);
        $data_update22     = array(
            'invoice_pdf' => $file_pdf . '.pdf'
        );
        $this->db->where('id', $kd_invoice);
        $this->db->update('nota', $data_update22);
        $nama_file = $file_pdf . '.pdf';
        $this->_notifWABuktiSetorAsli($nama_file, $lokasi_file, $data_invoice);
    }
    // Notifikasi WA Bukti Kirim
    private function _notifKirimBuktiSetor($lokasi_file, $data_invoice)
    {
        // setting WA
        $sett_wa = $this->db->get_where('sistem_wa', ['id' => 2])->row_array();
        $cek_nomor = substr(htmlspecialchars($this->input->post('no_hp')), 0, 1);
        if ($cek_nomor == 0) :
            $no_hp = '62' . substr(htmlspecialchars($this->input->post('no_hp')), 1, 20);
        else :
            $no_hp = htmlspecialchars($this->input->post('no_hp'));
        endif;
        // Contoh URL http://localhost/binaartha/assets/slip_gaji/2025016.pdf
        $caption = 'Hei, *_' . $data_invoice['nm_anggota'] . '_*,

Terimakasih sudah melakukan pembayaran iuran Arisan Motor, Ini adalah Pesan Otomatis memberitahu Bukti Setor Pembayaran.

*Info :* 085162800600
*_PESAN OTOMATIS ROBIN_*';

        $footer = '*KSP Bina Artha Prima*';
        $data_inputan = array(
            'api_key'    => $sett_wa['api_key'],
            'sender'     => $sett_wa['no_hp'],
            'number'     => $no_hp,
            'media_type' => 'document',
            'caption'    => $caption,
            'footer'     => $footer,
            'url'        => $lokasi_file
        );
        $curl = curl_init($sett_wa['endpoint_url']);
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data_inputan));
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_exec($curl);
        curl_close($curl);
    }
    // Notifikasi WA Bukti Setor Bayar dari Petugas
    private function _notifWABuktiSetorAsli($nama_file, $lokasi_file, $data_invoice)
    {
        // setting WA
        $sett_wa = $this->db->get_where('sistem_wa', ['id' => 2])->row_array();
        $cek_nomor = substr(htmlspecialchars($this->input->post('no_hp')), 0, 1);
        if ($cek_nomor == 0) :
            $no_hp = '62' . substr(htmlspecialchars($this->input->post('no_hp')), 1, 20);
        else :
            $no_hp = htmlspecialchars($this->input->post('no_hp'));
        endif;
        // Contoh URL http://localhost/binaartha/assets/slip_gaji/2025016.pdf
        $url = base_url('/') . $lokasi_file .  $nama_file;
        $caption = 'Hei, *_' . $data_invoice['nm_anggota'] . '_*,

Terimakasih sudah melakukan pembayaran iuran Arisan Motor, Ini adalah Pesan Otomatis memberitahu Bukti Setor Pembayaran.

*Info :* 085162800600
*_PESAN OTOMATIS ROBIN_*';

        $footer = '*KSP Bina Artha Prima*';
        $data_inputan = array(
            'api_key'    => $sett_wa['api_key'],
            'sender'     => $sett_wa['no_hp'],
            'number'     => $no_hp,
            'media_type' => 'document',
            'caption'    => $caption,
            'footer'     => $footer,
            'url'        => $lokasi_file
        );
        $curl = curl_init($sett_wa['endpoint_url']);
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data_inputan));
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_exec($curl);
        curl_close($curl);
    }
    private function _notifUndianDimulaiLelang($regist_arisan, $jadwal_id)
    {
        $data_peserta  = $this->select_model->vd_anggotaAktifArisan($regist_arisan);
        $opt           = $this->db->get_where('sistem_option')->row_array();
        $jadwal_undian = $this->db->get_where('p_arisan_jadwal', ['id' => $jadwal_id])->row_array();
        $data_arisan   = $this->db->get_where('p_arisan', ['id' => $regist_arisan])->row_array();  //Data Identitas Arisan
        foreach ($data_peserta as $Peserta) :
            $cek_nomor = substr($Peserta->no_hp, 0, 1);
            if ($cek_nomor == 0) :
                $no_hp = '62' . substr($Peserta->no_hp, 1, 20);
            else :
                $no_hp = $Peserta->no_hp;
            endif;
            $pesan = 'Hei, *_' . $Peserta->nm_anggota . '_*,

INFORMASI!!!
            
Arisan Motor ' . $data_arisan['ket_arisan'] . ' Ke-' . $data_arisan['nm_kelompok'] . ' Bina Artha akan melakukan pengundian ke-' . $jadwal_undian['undian_ke'] . ' dan lelang ke-' . $jadwal_undian['lelang_ke'] . ' pada :
Hari : ' . $this->mycustom->hariIndo(date('l', strtotime($jadwal_undian['tgl_undian']))) . ', ' . date('d', strtotime($jadwal_undian['tgl_undian'])) . ' ' . $this->mycustom->bulanIndo(date('m', strtotime($jadwal_undian['tgl_undian']))) . ' ' . date('Y', strtotime($jadwal_undian['tgl_undian'])) . '
Jam : 15.00 WIB - Selesai
Lokasi : KSP Bina Artha Prima

Terimakasih,

*Info :* ' . $opt['cs_arisan'] . '
*_PESAN OTOMATIS ROBIN_*';
            $body = array(
                "api_key" => $opt['api_arisan'],
                "receiver" => $no_hp,
                "data" => array("message" => $pesan)
            );

            $curl = curl_init();
            curl_setopt_array($curl, [
                CURLOPT_URL => $opt['web_api_pesan'],
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_ENCODING => "",
                CURLOPT_MAXREDIRS => 10,
                CURLOPT_TIMEOUT => 30,
                CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                CURLOPT_CUSTOMREQUEST => "POST",
                CURLOPT_POSTFIELDS => json_encode($body),
                CURLOPT_HTTPHEADER => [
                    "Accept: */*",
                    "Content-Type: application/json",
                ],
            ]);

            $response = curl_exec($curl);
            $err = curl_error($curl);

            curl_close($curl);
        endforeach;
    }
}

/* End of file ControllerArisanMotor.php and path \application\controllers\arisan\operasional\ControllerArisanMotor.php */