1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92:
<?php
class PHPShopPush {
var $API_KEY = 'AAAAYW3WqtA:APA91bH7s1xdQwl3Ge8TqU2dKKZ3Z24_jDjoqoY850sj04ruPwF32sbw4WD0tiNnVFI6Phz5_Z9XPUR4XWkIWO6cy4Yw3kTMsfsnVg4nLPQJjZMf1amFKoVI9ITNjeW8UigLj__4ciIS';
var $API_ID = '418454612688';
public function __construct() {
global $PHPShopSystem;
if ($PHPShopSystem->ifSerilizeParam('admoption.push_token'))
$this->API_KEY = $PHPShopSystem->getSerilizeParam('admoption.push_token');
if ($PHPShopSystem->ifSerilizeParam('admoption.push_id'))
$this->API_ID = $PHPShopSystem->getSerilizeParam('admoption.push_id');
$this->enabled = $PHPShopSystem->getSerilizeParam('admoption.push_enabled');
$this->PHPShopOrm = new PHPShopOrm($GLOBALS['SysValue']['base']['push']);
}
public function init(){
if ($this->enabled == 1) {
echo '<script>var messagingSenderId = \''.$this->API_ID.'\';</script>'
. '<script src="./js/firebase.js" data-rocketoptimized="false" data-cfasync="false"></script>'
. '<script src="./js/push.js" data-rocketoptimized="false" data-cfasync="false"></script>';
}
}
public function add($token) {
if ($this->enabled == 1) {
$this->PHPShopOrm->insert(array('token_new' => $token));
}
}
public function clean(){
$this->PHPShopOrm->delete(array('token'=>'!=""'));
}
public function send($push_text) {
$data = $this->PHPShopOrm->select(array('token'), false, false, array('limit' => 15));
if (is_array($data)) {
foreach ($data as $row) {
$registration_ids[] = $row['token'];
}
}
$request_body = array(
'notification' => array(
'title' => iconv("windows-1251", "utf-8", $_SERVER['SERVER_NAME']),
'body' => iconv("windows-1251", "utf-8", $push_text),
'click_action' => 'https://' . $_SERVER['SERVER_NAME'] . '/phpshop/admpanel/?path=order',
),
'registration_ids' => $registration_ids,
);
$fields = json_encode($request_body);
$request_headers = array(
'Content-Type: application/json',
'Authorization: key=' . $this->API_KEY,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
}
}
?>