- Модуль: socialservices
- Путь к файлу: ~/bitrix/modules/socialservices/classes/general/authmanager.php
- Класс: CSocServAuthManager
- Вызов: CSocServAuthManager::SendSocialservicesMessages
static function SendSocialservicesMessages()
{
$oAuthManager = new CSocServAuthManager();
if(!$oAuthManager->isActiveAuthService('Twitter') || !function_exists("hash_hmac"))
return false;
$ttl = 86400;
$cache_id = 'socserv_mes_user';
$obCache = new CPHPCache;
$cache_dir = '/bx/socserv_mes_user';
$arSocServMessage = array();
if($obCache->InitCache($ttl, $cache_id, $cache_dir))
$arSocServMessage = $obCache->GetVars();
else
{
$dbSocServMessage = CSocServMessage::GetList(array(), array('SUCCES_SENT' => 'N'), false, array("nTopCount" => 5), array("ID", "SOCSERV_USER_ID", "PROVIDER", "MESSAGE"));
while($arSocMessage = $dbSocServMessage->Fetch())
$arSocServMessage[] = $arSocMessage;
if(empty($arSocServMessage))
if($obCache->StartDataCache())
$obCache->EndDataCache($arSocServMessage);
}
if(is_array($arSocServMessage) && !empty($arSocServMessage))
foreach($arSocServMessage as $arSocMessage)
{
$arResult = CSocServAuthManager::SendUserMessage($arSocMessage['SOCSERV_USER_ID'], $arSocMessage['PROVIDER'], $arSocMessage['MESSAGE'], $arSocMessage['ID']);
if($arResult !== false && is_array($arResult) && !preg_match("/error/i", join(",", array_keys($arResult))))
self::MarkMessageAsSent($arSocMessage['ID']);
}
return "CSocServAuthManager::SendSocialservicesMessages();";
}