public static function SendUserFeed($userId, $message) { $appID = trim(self::GetOption("odnoklassniki_appid")); $appSecret = trim(self::GetOption("odnoklassniki_appsecret")); $appKey = trim(self::GetOption("odnoklassniki_appkey")); $gAuth = new COdnoklassnikiInterface($appID, $appSecret, $appKey); $result = $gAuth->SendFeed($userId, $message); return $result; }
public function Authorize() { $GLOBALS["APPLICATION"]->RestartBuffer(); $bSuccess = false; if((isset($_REQUEST["code"]) && $_REQUEST["code"] <> '') && CSocServAuthManager::CheckUniqueKey()) { $redirect_uri = CSocServUtil::GetCurUrl('auth_service_id='.self::ID, array("code")); $appID = self::GetOption("odnoklassniki_appid"); $appSecret = self::GetOption("odnoklassniki_appsecret"); $appKey = self::GetOption("odnoklassniki_appkey"); $gAuth = new COdnoklassnikiInterface($appID, $appSecret, $appKey, $_REQUEST["code"]); if($gAuth->GetAccessToken($redirect_uri) !== false) { $arOdnoklUser = $gAuth->GetCurrentUser(); if ($arOdnoklUser['uid'] <> '') { $uid = $arOdnoklUser['uid']; $first_name = $last_name = $gender = ""; if($arOdnoklUser['first_name'] <> '') $first_name = $arOdnoklUser['first_name']; if($arOdnoklUser['last_name'] <> '') $last_name = $arOdnoklUser['last_name']; if(isset($arOdnoklUser['gender']) && $arOdnoklUser['gender'] != '') { if ($arOdnoklUser['gender'] == 'male') $gender = 'M'; elseif ($arOdnoklUser['gender'] == 'female') $gender = 'F'; } $arFields = array( 'EXTERNAL_AUTH_ID' => self::ID, 'XML_ID' => "OK".$uid, 'LOGIN' => "OKuser".$uid, 'EMAIL'=> $uid."@".self::ID.".bitrix", 'NAME'=> $first_name, 'LAST_NAME'=> $last_name, 'PERSONAL_GENDER' => $gender, ); if(isset($arOdnoklUser['birthday'])) if ($date = MakeTimeStamp($arOdnoklUser['birthday'], "YYYY-MM-DD")) $arFields["PERSONAL_BIRTHDAY"] = ConvertTimeStamp($date); if(isset($arOdnoklUser['pic_2']) && self::CheckPhotoURI($arOdnoklUser['pic_2'])) if ($arPic = CFile::MakeFileArray($arOdnoklUser['pic_2'].'&name=/'.md5($arOdnoklUser['pic_2']).'.jpg')) $arFields["PERSONAL_PHOTO"] = $arPic; $arFields["PERSONAL_WWW"] = "http://odnoklassniki.ru/profile/".$uid; $bSuccess = $this->AuthorizeUser($arFields); } } } $url = '/personal/profile/'; if(isset($_REQUEST["state"])) { $arState = array(); parse_str($_REQUEST["state"], $arState); if(isset($arState['backurl'])) $url = parse_url($arState['backurl'], PHP_URL_PATH); } $aRemove = array("logout", "auth_service_error", "auth_service_id", "code", "error_reason", "error", "error_description", "check_key"); if(!$bSuccess) $url = $GLOBALS['APPLICATION']->GetCurPageParam(('auth_service_id='.self::ID.'&auth_service_error=1'), $aRemove); echo ' <script type="text/javascript"> if(window.opener) window.opener.location = \''.CUtil::JSEscape($url).'\'; window.close(); </script> '; die(); }