%PDF- %PDF-
| Direktori : /proc/self/root/home/bitrix/www/local/php_interface/include/ |
| Current File : //proc/self/root/home/bitrix/www/local/php_interface/include/parse_push.php |
<?
require_once dirname(__DIR__).'/include/parse-php-sdk-master/autoload.php';
use Parse\ParseInstallation;
use Parse\ParsePush;
use Parse\ParseClient;
class NotifyPusher
{
public static function setUp()
{
/*
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
// */
ParseClient::initialize(
'qm4k9D3nakNrnOEAUs697M9hXHx0tMv8hQVFPimr',
'mqLsbsPI923Z1Yz7PNbBeJzmWmPszRJlsYHtXXTj'
);
}
static function sendNewCasting($country=0)
{
self::sendToAll(
[
'ru' => 'Для Вас добавлен новый кастинг',
'en' => 'Here’s a new casting just for you!',
],
intval($country) > 0 ? array('PROPERTY_COUNTRY'=>$country) : array()
);
}
static function sendToAll($arMessage, $arProfileFilter = array())
{
$arResult = array();
$bProfileFilter = count($arProfileFilter)>0;
if ($bProfileFilter) $arProfileFilter = array_merge($arProfileFilter, array('IBLOCK_ID'=> IBLOCK_PROFILE_ID,'ACTIVE'=>'Y'));
$rsUsers = CUser::GetList(
($by="id"),($order="asc"),
array('!UF_TOKEN'=>false,'!UF_LANG'=>false),
array('SELECT'=>array('UF_TOKEN','UF_LANG'))
);
while($arUser = $rsUsers->Fetch())
{
if ($bProfileFilter)
{
$arProfileFilter['PROPERTY_ACCOUNT'] = $arUser['ID'];
$dbProfile = CIBlockElement::GetList(array(), $arProfileFilter, false, false, array('ID','IBLOCK_ID'));
if ($arProfile = $dbProfile->Fetch())
{
if (isset($arMessage[$arUser['UF_LANG']])) $arResult[$arUser['UF_LANG']][] = $arUser['UF_TOKEN'];
}
}
}
if (count($arResult)>0)
{
self::setUp();
foreach($arResult as $lang=>$arDeviceToken)
{
self::send($arMessage[$lang],$arDeviceToken);
}
}
}
static function send($message,$arDeviceToken)
{
$query = ParseInstallation::query();
$query->containedIn('deviceToken', $arDeviceToken);
ParsePush::send(
[
'data' =>
[
'alert' => $message,
'badge' => 'Increment',
'sound' => 'default'
],
'where' => $query,
]
);
}
}
?>