示例#1
0
 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();";
 }
示例#2
0
	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']);
				}
			}
		}
	}