%PDF- %PDF-
Direktori : /proc/11976/task/11976/root/home/bitrix/www/local/php_interface/include/ |
Current File : //proc/11976/task/11976/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, ] ); } } ?>