Вход Регистрация
Файл: system/connections/cheader/web_push.php
Строк: 52
<?php
  
if (user('ID') > 0) {
  
  
$url 'https://onesignal.com/api/v1/notifications';
  
$APP_ID config('WEB_PUSH_APP_ID');
  
$REST_API_KEY config('WEB_PUSH_KEY');
  
$fields null;
  
  
$wbp_data db::get_string_all("SELECT * FROM `WEB_PUSH_LIST` LIMIT 10");
  while (
$wbp $wbp_data->fetch()) {    
    
    
$token_data db::get_string_all("SELECT * FROM `WEB_PUSH_TOKEN` WHERE `USER_ID` = ? ORDER BY `ID` DESC LIMIT 3", [$wbp['USER_ID']]);
    while (
$token $token_data->fetch()) {
      
      
/*
      ----------------
      Личные сообщения
      ----------------
      */
      
      
if ($wbp['TYPE'] == 'message') {
        
        
$fields = array(
          
          
'app_id' => $APP_ID,
          
'target_channel' => 'push',
          
'include_subscription_ids' => [$token['TOKEN']],
          
'data' => array("foo" => "bar"),
          
'contents' => array("en" => 'от '.user::login_mini($wbp['MY_ID'])),
          
'headings' => array("en" => '+1 новое сообщение в почте'),
          
'large_icon' => '',
          
'url' => 'https://'.HTTP_HOST.'/account/mail/'
        
        
);
        
      }
      
      
/*
      ---------------------
      Уведомления с журнала
      ---------------------
      */
      
      
if ($wbp['TYPE'] == 'comments' || $wbp['TYPE'] == 'users' || $wbp['TYPE'] == 'user' || $wbp['TYPE'] == 'likes') {
        
        
$fields = array(
          
          
'app_id' => $APP_ID,
          
'target_channel' => 'push',
          
'include_subscription_ids' => [$token['TOKEN']],
          
'data' => array("foo" => "bar"),
          
'contents' => array("en" => 'от '.user::login_mini($wbp['MY_ID'])),
          
'headings' => array("en" => '+1 новое уведомление в журнале'),
          
'large_icon' => '',
          
'url' => 'https://'.HTTP_HOST.'/account/journal/'
        
        
);
        
      }
      
      
$fields json_encode($fields);        
      
$ch curl_init();
      
curl_setopt($chCURLOPT_URL$url);
      
curl_setopt($chCURLOPT_HTTPHEADER, array('Content-Type: application/json''Authorization: Basic '.$REST_API_KEY.''));
      
curl_setopt($chCURLOPT_RETURNTRANSFERTRUE);
      
curl_setopt($chCURLOPT_HEADERFALSE);
      
curl_setopt($chCURLOPT_POSTTRUE);
      
curl_setopt($chCURLOPT_POSTFIELDS$fields);
      
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);        
      
$response curl_exec($ch);
      
curl_close($ch);
      
    }
    
    
db::get_set("DELETE FROM `WEB_PUSH_LIST` WHERE `ID` = ? LIMIT 1", [$wbp['ID']]);
  
  }
  
}
Онлайн: 2
Реклама