public static function SendSocialservicesMessages() { $oAuthManager = new CSocServAuthManager(); $arActiveSocServ = $oAuthManager->GetActiveAuthServices(array()); if (!(isset($arActiveSocServ["Twitter"]) && isset($arActiveSocServ["Twitter"]["__active"])) || !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();"; }
function OnAfterTMDayStart($arFields) { global $USER; $arResult = array(); $arResult['ENABLED'] = CUserOptions::GetOption("socialservices", "user_socserv_enable", "N", $USER->GetID()); if($arResult['ENABLED'] == 'Y') { $arResult['STARTSEND'] = CUserOptions::GetOption("socialservices", "user_socserv_start_day", "N", $USER->GetID()); if($arResult['STARTSEND'] == 'Y') { $arResult['STARTTEXT'] = CUserOptions::GetOption("socialservices", "user_socserv_start_text", GetMessage("JS_CORE_SS_WORKDAY_START"), $USER->GetID()); $arResult['SOCSERVARRAY'] = unserialize(CUserOptions::GetOption("socialservices", "user_socserv_array", "array()", $USER->GetID())); if(is_array($arResult['SOCSERVARRAY']) && count($arResult['SOCSERVARRAY']) > 0) { foreach($arResult['SOCSERVARRAY'] as $id => $providerName) CSocServAuthManager::SendUserMessage($id, $providerName, $arResult['STARTTEXT']); } } } }