alert

function untuk membuat notifikasi yang ditujukan untuk pengguna baik member maupun admin

includes/function/alert.php

alert_add

mengirimkan notifikasi ke member/admin atau ke global baik di admin maupun public area

alert_add($title, $description, $params = array(), $user_id='none', $group_id=0, $module = '');

Contoh penggunaan
$title    = 'judul';
$message  = 'message description';
$params   = array(
  'url'       => 'string (public url if user opened from member area)',
  'url_admin' => 'string (admin url for admin section)'
  );
$user_id  = number|array(numbers)|email|admin|member|public
$group_id = number|array

## MENGIRIM KE USER TERTENTU:
// ke user dgn user_id=1
alert_add($title, $message, $params, 1);
// ke banyak user dengan user_id= 1 atau 2 atau 3
alert_add($title, $message, $params, array(1,2,3));
// ke user yang punya email tertentu
alert_add($title, $message, $params, 'danang@fisip.net');

## MENGIRIM KE ADMIN (**)
// siapapun yang login ke admin
alert_add($title, $message, $params, 'admin');
// user_id=1/2/3 yang login ke admin
alert_add($title, $message, $params, array('admin', 1, 2, 3));

## MENGIRIM KE MEMBER (**)
// siapapun yang login ke member area
alert_add($title, $message, $params, 'member');
// user_id=1/2/3 yang login ke member area
alert_add($title, $message, $params, array('member', 1, 2, 3));

## MENGIRIM KE PUBLIC (PENGUNJUNG YANG BELUM LOGIN) (**)
// siapapun yang mengunjungi web (jika block notif di pasang di template public)
alert_add($title, $message, $params, 'public');

## MENGIRIM KE GROUP USER TERTENTU (**)
// ke user yang masuk ke dalam group_id=1
alert_add($title, $message, $params, 0, 1);
// ke user dengan group_id 1/2/3
alert_add($title, $message, $params, 0, array(1,2,3));
#Keterangan:

alert_push

untuk mengirimkan notifikasi kepada pengguna mobile app

alert_push($to, $title, $message, $module = 'content', $arguments = array(), $action = 'default');

function ini hanya menyimpan data message yang akan dikirimkan, sedangkan pengiriman nya akan di lakukan secara background pada function alert_push_send untuk menjaga performa system dan stabilitas server. Sedangkan setiap notifikasi ketika di baca oleh user maka anda HARUS mengkonfirmasi kembali bahwa message atau notif tersebut telah terbaca ke URL dari domain yang mengirim notif semisal domain nya adalah aku.com maka url yang perlu anda akses adalah url aku.com/user/push-read dengan parameter POST notif_id dan secretkey.

sedangkan untuk mengkases daftar notifikasi bisa diambil dari url aku.com/user/push-notif menggunakan method POST dengan parameter:
$user_id   = [opsional]
$group_id  = [opsional]
$last_id   = [opsional] ID notifikasi yang paling terakhir diambil (Method: GET)
$secretkey = _class('crypt')->encode(_SALT.'|'.date()'Y-m-d H:i:s');
$group_id jika dikosongkan atau tidak ada maka daftar notifikasi yang di listkan adalah semua notifikasi untuk user tersebut, tidak perduli dia berada di group user apapun

untuk key 'secretkey' sendiri adalah hasil encode dari format _SALT.'|'.yyyy-mm-dd HH:ii:ss

alert_push_send

function yang otomatis akan dipanggil ketika alert_push dieksekusi

alert_push_send($id, $last_id);

function ini dipanggil otomatis oleh system, jadi anda tidak perlu menggunakan function ini ketika ingin mengirimkan notifikasi, yang perlu anda gunakan adalah function alert_push dimana function tersebut secara otomatis akan mengeksekusi function ini satu per satu untuk tiap pengguna aplikasi mobile

alert_push_signup

meyimpan data token dari para pengguna aplikasi mobile yang terintegrasi dengan project yang anda buat

alert_push_signup($token, $user_id, $group_ids, $username, $device, $os, $push_id = 0);

Fungsi ini adalah hookable function, jadi anda bisa membuat function di dalam module yang anda buat sendiri untuk menambahkan proses penyimpanan token, semisal ingin mengkelompokkan user berdasarkan category, wilayah atau lainya,
adapun argument dari function anda sendiri sama persis seperti function ini, hanya saja pada $push_id akan terisi ID yang baru saja dimasukkan

Return dari function ini adalah $push_id yaitu ID dari table `bbc_user_push` yang barusan dimasukkan ke dalam table atau id yang diedit saat itu

Untuk mengakses function ini dari URL anda bisa mem-POST-kan parameter ke url domainanda/user/push-token lalu valriable POST nya adalah:
$user_id   = [opsional]
$group_id  = [opsional] comma separated or Array
$username  = [opsional]
$token     = [wajib]
$push_id   = [optional] ID dari hasil return push-token sebelumnya untuk diupdate
$old_id    = [optional] ID dari hasil return push-token sebelumnya untuk dihapus
$device    = [optional] nama atau jenis device yang digunakan untuk membuka app
$os        = [optional] nama atau jenis os yang digunakan untuk membuka app
$secretkey = _class('crypt')->encode(_SALT.'|'.date()'Y-m-d H:i:s');
dengan return nya berupa array:
{"ok": 1,
    "message": "success",
    "result": "integer ID dari table `bbc_user_push`"
}
sedangkan untuk mengirimkan notificationnya, anda bisa menggunakan function alert_push

alert_view

menampilkan pesan ke daftar notifikasi jika ada notifikasi baru

alert_view($data);

function ini adalah hookable function dimana bisa anda tambahkan proses di dalam module anda