- Модуль: socialservices
- Путь к файлу: ~/bitrix/modules/socialservices/classes/general/authmanager.php
- Класс: CSocServAuth
- Вызов: CSocServAuth::GetTwitMessages
static function GetTwitMessages($lastTwitId = "1", $counter = 1)
{
$oAuthManager = new CSocServAuthManager();
if(!$oAuthManager->isActiveAuthService('Twitter') || !function_exists("hash_hmac"))
return false;
if(!CModule::IncludeModule("socialnetwork"))
return "CSocServAuthManager::GetTwitMessages("$lastTwitId", $counter);";
global $USER;
$bTmpUserCreated = false;
if(!isset($USER) || !(($USER instanceof CUser) && ('CUser' == get_class($USER))))
{
$bTmpUserCreated = true;
if(isset($USER))
{
$USER_TMP = $USER;
unset($USER);
}
$USER = new CUser();
}
if(intval($lastTwitId) <= 1 || $counter == 1)
$lastTwitId = COption::GetOptionString('socialservices', 'last_twit_id', '1');
$socServUserArray = self::GetUserArray('Twitter');
$arSiteId = array();
if(isset($socServUserArray[3]) && is_array($socServUserArray[3]))
$arSiteId = $socServUserArray[3];
$twitManager = new CSocServTwitter();
$arUserTwit = $twitManager->GetUserMessage($socServUserArray, $lastTwitId);
if(is_array($arUserTwit))
{
if(isset($arUserTwit["statuses"]) && !empty($arUserTwit["statuses"]))
$lastTwitId = self::PostIntoBuzz($arUserTwit, $lastTwitId, $arSiteId);
elseif((is_array($arUserTwit["search_metadata"]) && isset($arUserTwit["search_metadata"]["max_id_str"])) && ($arUserTwit["search_metadata"]["max_id_str"] <> ''))
$lastTwitId = $arUserTwit["search_metadata"]["max_id_str"];
}
$counter++;
if($counter >= 20)
{
// $oldLastId = COption::GetOptionString('socialservices', 'last_twit_id', '1');
// if((strlen($lastTwitId) > strlen($oldLastId)) && $oldLastId[0] != 9)
// $lastTwitId = substr($lastTwitId, 1);
COption::SetOptionString('socialservices', 'last_twit_id', $lastTwitId);
$counter = 1;
}
$lastTwitId = preg_replace("|D|", '', $lastTwitId);
if($bTmpUserCreated)
{
unset($USER);
if(isset($USER_TMP))
{
$USER = $USER_TMP;
unset($USER_TMP);
}
}
return "CSocServAuthManager::GetTwitMessages("$lastTwitId", $counter);";
}