当前位置: 首页>>代码示例>>PHP>>正文


PHP CSocServUtil::ServerName方法代码示例

本文整理汇总了PHP中CSocServUtil::ServerName方法的典型用法代码示例。如果您正苦于以下问题:PHP CSocServUtil::ServerName方法的具体用法?PHP CSocServUtil::ServerName怎么用?PHP CSocServUtil::ServerName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CSocServUtil的用法示例。


在下文中一共展示了CSocServUtil::ServerName方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getFriendsList

 public function getFriendsList($limit, &$next)
 {
     if (IsModuleInstalled('bitrix24') && defined('BX24_HOST_NAME')) {
         $redirect_uri = static::CONTROLLER_URL . "/redirect.php";
     } else {
         $redirect_uri = CSocServUtil::ServerName() . "/bitrix/tools/oauth/google.php";
     }
     $ob = $this->getEntityOAuth();
     if ($ob->GetAccessToken($redirect_uri) !== false) {
         $res = $ob->getCurrentUserFriends($limit, $next);
         foreach ($res["items"] as $key => $contact) {
             $contact["uid"] = $contact["id"];
             if (array_key_exists("name", $contact)) {
                 $contact["first_name"] = $contact["name"]["givenName"];
                 $contact["last_name"] = $contact["name"]["familyName"];
             } else {
                 list($contact["first_name"], $contact["last_name"]) = explode(" ", $contact["displayName"], 2);
             }
             if (array_key_exists("image", $contact)) {
                 $contact["picture"] = preg_replace("/\\?.*\$/", "", $contact["image"]["url"]);
             }
             $res["items"][$key] = $contact;
         }
         return $res["items"];
     }
     return false;
 }
开发者ID:webgksupport,项目名称:alpina,代码行数:27,代码来源:googleplus.php

示例2: GetSettings

	public function GetSettings()
	{
		return array(
			array("liveid_appid", GetMessage("socserv_liveid_client_id"), "", Array("text", 40)),
			array("liveid_appsecret", GetMessage("socserv_liveid_client_secret"), "", Array("text", 40)),
			array("note"=>GetMessage("socserv_liveid_form_note", array('#URL#'=>CSocServUtil::ServerName()))),
		);
	}
开发者ID:nProfessor,项目名称:Mytb,代码行数:8,代码来源:liveidoauth.php

示例3: Authorize

	public function Authorize()
	{
		global $APPLICATION;
		$APPLICATION->RestartBuffer();
		$bSuccess = SOCSERV_AUTHORISATION_ERROR;
		if((isset($_REQUEST["code"]) && $_REQUEST["code"] <> '') && CSocServAuthManager::CheckUniqueKey())
		{
			if(IsModuleInstalled('freetrix24') && defined('BX24_HOST_NAME'))
				$redirect_uri = self::CONTROLLER_URL."/redirect.php";
			else
				$redirect_uri = CSocServUtil::ServerName()."/freetrix/tools/oauth/google.php";

			$appID = trim(self::GetOption("google_appid"));
			$appSecret = trim(self::GetOption("google_appsecret"));

			$gAuth = new CGoogleOAuthInterface($appID, $appSecret, $_REQUEST["code"]);

			$this->entityOAuth = $gAuth;

			if($gAuth->GetAccessToken($redirect_uri) !== false)
			{
				$arGoogleUser = $gAuth->GetCurrentUser();

				if(is_array($arGoogleUser) && ($arGoogleUser['email'] <> ''))
				{
					$first_name = $last_name = $gender = "";
					if($arGoogleUser['name'] <> '')
					{
						$aName = explode(" ", $arGoogleUser['name']);
						if($arGoogleUser['given_name'] <> '')
							$first_name = $arGoogleUser['given_name'];
						else
							$first_name = $aName[0];
						if($arGoogleUser['family_name'] <> '')
							$last_name = $arGoogleUser['family_name'];
						elseif(isset($aName[1]))
							$last_name = $aName[1];
					}
					$email = $arGoogleUser['email'];
					if($arGoogleUser['gender'] <> '')
						if($arGoogleUser['gender'] == 'male')
							$gender = 'M';
						elseif($arGoogleUser['gender'] == 'female')
							$gender = 'F';

					$arFields = array(
						'EXTERNAL_AUTH_ID' => self::ID,
						'XML_ID' => $email,
						'LOGIN' => "G_".$email,
						'EMAIL' => $email,
						'NAME'=> $first_name,
						'LAST_NAME'=> $last_name
					);

					if($gender != "")
						$arFields['PERSONAL_GENDER'] = $gender;

					if(isset($arGoogleUser['picture']) && self::CheckPhotoURI($arGoogleUser['picture']))
						if($arPic = CFile::MakeFileArray($arGoogleUser['picture']))
							$arFields["PERSONAL_PHOTO"] = $arPic;

					$arFields["PERSONAL_WWW"] = $arGoogleUser['link'];

					if(isset($arGoogleUser['access_token']))
						$arFields["OATOKEN"] = $arGoogleUser['access_token'];

					if(isset($arGoogleUser['refresh_token']))
						$arFields["REFRESH_TOKEN"] = $arGoogleUser['refresh_token'];

					if(isset($arGoogleUser['expires_in']))
						$arFields["OATOKEN_EXPIRES"] = $arGoogleUser['expires_in'];

					if(strlen(SITE_ID) > 0)
						$arFields["SITE_ID"] = SITE_ID;
					$bSuccess = $this->AuthorizeUser($arFields);
				}
			}
		}
		$url = ($APPLICATION->GetCurDir() == "/login/") ? "" : $APPLICATION->GetCurDir();
		$aRemove = array("logout", "auth_service_error", "auth_service_id", "code", "error_reason", "error", "error_description", "check_key", "current_fieldset");

		$mode = 'opener';
		if(isset($_REQUEST["state"]))
		{
			$arState = array();
			parse_str($_REQUEST["state"], $arState);
			if(isset($arState['backurl']))
			{
				$parseUrl = parse_url($arState['backurl']);
				$urlPath = $parseUrl["path"];
				$arUrlQuery = explode('&', $parseUrl["query"]);

				foreach($arUrlQuery as $key => $value)
				{
					foreach($aRemove as $param)
					{
						if(strpos($value, $param."=") === 0)
						{
							unset($arUrlQuery[$key]);
							break;
//.........这里部分代码省略.........
开发者ID:ASDAFF,项目名称:open_bx,代码行数:101,代码来源:google.php

示例4: Authorize

    public function Authorize()
    {
        global $APPLICATION;
        $APPLICATION->RestartBuffer();
        $bSuccess = SOCSERV_AUTHORISATION_ERROR;
        $bProcessState = false;
        if (isset($_REQUEST["code"]) && $_REQUEST["code"] != '' && CSocServAuthManager::CheckUniqueKey()) {
            $bProcessState = true;
            if (IsModuleInstalled('bitrix24') && defined('BX24_HOST_NAME')) {
                $redirect_uri = self::CONTROLLER_URL . "/redirect.php";
            } else {
                $redirect_uri = CSocServUtil::ServerName() . "/bitrix/tools/oauth/odnoklassniki.php";
            }
            $appID = trim(self::GetOption("odnoklassniki_appid"));
            $appSecret = trim(self::GetOption("odnoklassniki_appsecret"));
            $appKey = trim(self::GetOption("odnoklassniki_appkey"));
            $gAuth = new COdnoklassnikiInterface($appID, $appSecret, $appKey, $_REQUEST["code"]);
            if ($gAuth->GetAccessToken($redirect_uri) !== false) {
                $arOdnoklUser = $gAuth->GetCurrentUser();
                if (is_array($arOdnoklUser) && $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, '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;
                    if (strlen(SITE_ID) > 0) {
                        $arFields["SITE_ID"] = SITE_ID;
                    }
                    $bSuccess = $this->AuthorizeUser($arFields);
                }
            }
        }
        if (!$bProcessState) {
            unset($_REQUEST["state"]);
        }
        $url = $APPLICATION->GetCurDir() == "/login/" ? "" : $APPLICATION->GetCurDir();
        $aRemove = array("logout", "auth_service_error", "auth_service_id", "code", "error_reason", "error", "error_description", "check_key", "current_fieldset");
        $mode = 'opener';
        if (isset($_REQUEST["state"])) {
            $arState = array();
            parse_str($_REQUEST["state"], $arState);
            if (isset($arState['backurl']) || isset($arState['redirect_url'])) {
                $parseUrl = parse_url(!empty($arState['redirect_url']) ? $arState['redirect_url'] : $arState['backurl']);
                $urlPath = $parseUrl["path"];
                $arUrlQuery = explode('&', $parseUrl["query"]);
                foreach ($arUrlQuery as $key => $value) {
                    foreach ($aRemove as $param) {
                        if (strpos($value, $param . "=") === 0) {
                            unset($arUrlQuery[$key]);
                            break;
                        }
                    }
                }
                $url = !empty($arUrlQuery) ? $urlPath . '?' . implode("&", $arUrlQuery) : $urlPath;
            }
            if (isset($arState['mode'])) {
                $mode = $arState['mode'];
            }
        }
        if ($bSuccess === SOCSERV_REGISTRATION_DENY) {
            $url = preg_match("/\\?/", $url) ? $url . '&' : $url . '?';
            $url .= 'auth_service_id=' . self::ID . '&auth_service_error=' . SOCSERV_REGISTRATION_DENY;
        } elseif ($bSuccess !== true) {
            $url = isset($parseUrl) ? $urlPath . '?auth_service_id=' . self::ID . '&auth_service_error=' . $bSuccess : $APPLICATION->GetCurPageParam('auth_service_id=' . self::ID . '&auth_service_error=' . $bSuccess, $aRemove);
        }
        if (CModule::IncludeModule("socialnetwork") && strpos($url, "current_fieldset=") === false) {
            $url = preg_match("/\\?/", $url) ? $url . "&current_fieldset=SOCSERV" : $url . "?current_fieldset=SOCSERV";
        }
        $url = CUtil::JSEscape($url);
        $location = $mode == "opener" ? 'if(window.opener) window.opener.location = \'' . $url . '\'; window.close();' : ' window.location = \'' . $url . '\';';
        $JSScript = '
		<script type="text/javascript">
		' . $location . '
		</script>
		';
        echo $JSScript;
        die;
    }
开发者ID:Satariall,项目名称:izurit,代码行数:100,代码来源:odnoklassniki.php

示例5: getFriendsList

	public function getFriendsList($limit = 0, $offset = 0)
	{
		$li = new CLiveIDOAuthInterface();

		if(IsModuleInstalled('bitrix24') && defined('BX24_HOST_NAME'))
		{
			$redirect_uri = self::CONTROLLER_URL."/redirect.php";
		}
		else
		{
			$redirect_uri = CSocServUtil::ServerName()."/bitrix/tools/oauth/liveid.php";
		}

		if($li->GetAccessToken($redirect_uri) !== false)
		{
			$res = $li->GetCurrentUserFriends($limit, $offset);
		}

		if(is_array($res) && is_array($res['data']))
		{
			foreach($res['data'] as $key => $contact)
			{
				$res['data'][$key]['uid'] = $contact['id'];
				$res['data'][$key]['url'] = $this->getProfileUrl($contact['id']);
			}
			return $res['data'];
		}

		return false;
	}
开发者ID:ASDAFF,项目名称:entask.ru,代码行数:30,代码来源:liveidoauth.php

示例6: GetSettings

 public function GetSettings()
 {
     return array(array("odnoklassniki_appid", GetMessage("socserv_odnoklassniki_client_id"), "", array("text", 40)), array("odnoklassniki_appkey", GetMessage("socserv_odnoklassniki_client_key"), "", array("text", 40)), array("odnoklassniki_appsecret", GetMessage("socserv_odnoklassniki_client_secret"), "", array("text", 40)), array("note" => GetMessage("socserv_odnoklassniki_form_note", array('#URL#' => CSocServUtil::ServerName()))));
 }
开发者ID:spas-viktor,项目名称:books,代码行数:4,代码来源:odnoklassniki.php

示例7: Authorize

	public function Authorize()
	{
		$GLOBALS["APPLICATION"]->RestartBuffer();
		$bSuccess = 1;
		if((isset($_REQUEST["code"]) && $_REQUEST["code"] <> '') && CSocServAuthManager::CheckUniqueKey())
		{
			$redirect_uri = CSocServUtil::ServerName()."/bitrix/tools/oauth/google.php";
			$appID = trim(self::GetOption("google_appid"));
			$appSecret = trim(self::GetOption("google_appsecret"));

			$gAuth = new CGoogleOAuthInterface($appID, $appSecret, $_REQUEST["code"]);

			if($gAuth->GetAccessToken($redirect_uri) !== false)
			{
				$arGoogleUser = $gAuth->GetCurrentUser();

				if($arGoogleUser['feed']['author']['0']['email']['$t'] <> '')
				{
					$first_name = $last_name = "";
					if($arGoogleUser['feed']['author']['0']['name']['$t'] <> '')
					{
						$aName = explode(" ", $arGoogleUser['feed']['author']['0']['name']['$t']);
						$first_name = $aName[0];
						if(isset($aName[1]))
							$last_name = $aName[1];
					}
					$email = $arGoogleUser['feed']['author']['0']['email']['$t'];

					$arFields = array(
						'EXTERNAL_AUTH_ID' => self::ID,
						'XML_ID' => $email,
						'LOGIN' => "G_".$email,
						'EMAIL' => $email,
						'NAME'=> $first_name,
						'LAST_NAME'=> $last_name,
					);
					$arFields["PERSONAL_WWW"] = "https://accounts.google.com";
					$bSuccess = $this->AuthorizeUser($arFields);
				}
			}
		}
		$url = ($GLOBALS["APPLICATION"]->GetCurDir() == "/login/") ? "/auth/" : $GLOBALS["APPLICATION"]->GetCurDir();
		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(CModule::IncludeModule("socialnetwork"))
			$url = (preg_match("/\?/", $url)) ? $url."&current_fieldset=SOCSERV" : $url."?current_fieldset=SOCSERV";
		if($bSuccess !== true)
			$url = $GLOBALS['APPLICATION']->GetCurPageParam(('auth_service_id='.self::ID.'&auth_service_error='.$bSuccess), $aRemove);
		if($bSuccess === 2)
			$url = '/?auth_service_id='.self::ID.'&auth_service_error='.$bSuccess;
		echo '
<script type="text/javascript">
if(window.opener)
	window.opener.location = \''.CUtil::JSEscape($url).'\';
window.close();
</script>
';
		die();
	}
开发者ID:nProfessor,项目名称:Mytb,代码行数:66,代码来源:google.php

示例8: gadgetAuthorize

    public function gadgetAuthorize()
    {
        global $APPLICATION;
        $APPLICATION->RestartBuffer();
        if (isset($_REQUEST["code"]) && $_REQUEST["code"] != '' && CSocServAuthManager::CheckUniqueKey()) {
            CUserOptions::SetOption('socialservices', 'bitrix24_task_planer_gadget_code', $_REQUEST["code"]);
        }
        $url = CSocServUtil::ServerName() . BX_ROOT;
        $mode = 'opener';
        $url = CUtil::JSEscape($url);
        $location = $mode == "opener" ? 'if(window.opener) window.opener.location = \'' . $url . '\'; window.close();' : ' window.location = \'' . $url . '\';';
        $JSScript = '
		<script type="text/javascript">
		' . $location . '
		</script>
		';
        echo $JSScript;
        die;
    }
开发者ID:webgksupport,项目名称:alpina,代码行数:19,代码来源:bitrix24.php

示例9: Authorize

	public function Authorize()
	{
		$GLOBALS["APPLICATION"]->RestartBuffer();
		$bSuccess = false;
		if((isset($_REQUEST["code"]) && $_REQUEST["code"] <> '') && CSocServAuthManager::CheckUniqueKey())
		{
			$redirect_uri = CSocServUtil::ServerName()."/bitrix/tools/oauth/google.php";
			$appID = self::GetOption("google_appid");
			$appSecret = self::GetOption("google_appsecret");

			$gAuth = new CGoogleOAuthInterface($appID, $appSecret, $_REQUEST["code"]);

			if($gAuth->GetAccessToken($redirect_uri) !== false)
			{
				$arGoogleUser = $gAuth->GetCurrentUser();

				if($arGoogleUser['feed']['author']['0']['email']['$t'] <> '')
				{
					$first_name = $last_name = "";
					if($arGoogleUser['feed']['author']['0']['name']['$t'] <> '')
					{
						$aName = explode(" ", $arGoogleUser['feed']['author']['0']['name']['$t']);
						$first_name = $aName[0];
						if(isset($aName[1]))
							$last_name = $aName[1];
					}
					$email = $arGoogleUser['feed']['author']['0']['email']['$t'];

					$arFields = array(
						'EXTERNAL_AUTH_ID' => self::ID,
						'XML_ID' => $email,
						'LOGIN' => "G_".$email,
						'EMAIL' => $email,
						'NAME'=> $first_name,
						'LAST_NAME'=> $last_name,
					);
					$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();
	}
开发者ID:nProfessor,项目名称:Mytb,代码行数:61,代码来源:google.php

示例10: CSocServBitrixOAuth

}
$arGadgetParams = $_SESSION["GD_PLANNER_PARAMS"][$rnd];
CModule::IncludeModule('socialservices');
CSocServAuthManager::SetUniqueKey();
$clientId = $arGadgetParams["APP_ID"];
$clientSecret = $arGadgetParams["APP_SECRET"];
$domain = $portalURI = $arGadgetParams["PORTAL_URI"];
?>
<div class="bx-gadgets-planner">
	<?php 
if ($clientId == '' || $clientSecret == '' || $portalURI == '') {
    exit;
}
$needAuthorize = false;
$accessToken = '';
$redirectURI = CSocServUtil::ServerName() . '/bitrix/tools/oauth/bitrix24.php';
$savedPortalURI = CUserOptions::GetOption('socialservices', 'bitrix24_task_planer_gadget_portal', '', $userId);
$requestCode = CUserOptions::GetOption('socialservices', 'bitrix24_task_planer_gadget_code', '', $userId);
if ($savedPortalURI !== $portalURI || $savedPortalURI == '') {
    $needAuthorize = true;
    CUserOptions::SetOption('socialservices', 'bitrix24_task_planer_gadget_portal', $portalURI, false, $userId);
}
if (!preg_match('|^http[s]?|', $portalURI)) {
    $portalURI = 'https://' . $portalURI;
}
$objBitrixOAuth = new CSocServBitrixOAuth($clientId, $clientSecret, $portalURI, $redirectURI, $userId);
$objBitrixOAuth->addScope(array('task', 'calendar'));
$arTasks = $arEvents = array();
if ($requestCode != '') {
    $accessToken = $objBitrixOAuth->getAccessToken($requestCode);
    CUserOptions::SetOption('socialservices', 'bitrix24_task_planer_gadget_code', '', false, $userId);
开发者ID:mrdeadmouse,项目名称:u136006,代码行数:31,代码来源:getdata.php

示例11: Authorize

    public function Authorize()
    {
        $GLOBALS["APPLICATION"]->RestartBuffer();
        $bSuccess = 1;
        if (isset($_REQUEST["code"]) && $_REQUEST["code"] != '' && CSocServAuthManager::CheckUniqueKey()) {
            if (IsModuleInstalled('bitrix24') && defined('BX24_HOST_NAME')) {
                $redirect_uri = self::CONTROLLER_URL . "/redirect.php";
            } else {
                $redirect_uri = CSocServUtil::ServerName() . "/bitrix/tools/oauth/google.php";
            }
            $appID = trim(self::GetOption("google_appid"));
            $appSecret = trim(self::GetOption("google_appsecret"));
            $gAuth = new CGoogleOAuthInterface($appID, $appSecret, $_REQUEST["code"]);
            if ($gAuth->GetAccessToken($redirect_uri) !== false) {
                $arGoogleUser = $gAuth->GetCurrentUser();
                if ($arGoogleUser['email'] != '') {
                    $first_name = $last_name = $gender = "";
                    if ($arGoogleUser['name'] != '') {
                        $aName = explode(" ", $arGoogleUser['name']);
                        if ($arGoogleUser['given_name'] != '') {
                            $first_name = $arGoogleUser['given_name'];
                        } else {
                            $first_name = $aName[0];
                        }
                        if ($arGoogleUser['family_name'] != '') {
                            $last_name = $arGoogleUser['family_name'];
                        } elseif (isset($aName[1])) {
                            $last_name = $aName[1];
                        }
                    }
                    $email = $arGoogleUser['email'];
                    if ($arGoogleUser['gender'] != '') {
                        if ($arGoogleUser['gender'] == 'male') {
                            $gender = 'M';
                        } elseif ($arGoogleUser['gender'] == 'female') {
                            $gender = 'F';
                        }
                    }
                    $arFields = array('EXTERNAL_AUTH_ID' => self::ID, 'XML_ID' => $email, 'LOGIN' => "G_" . $email, 'EMAIL' => $email, 'NAME' => $first_name, 'LAST_NAME' => $last_name);
                    if ($gender != "") {
                        $arFields['PERSONAL_GENDER'] = $gender;
                    }
                    if (isset($arGoogleUser['picture']) && self::CheckPhotoURI($arGoogleUser['picture'])) {
                        if ($arPic = CFile::MakeFileArray($arGoogleUser['picture'])) {
                            $arFields["PERSONAL_PHOTO"] = $arPic;
                        }
                    }
                    $arFields["PERSONAL_WWW"] = $arGoogleUser['link'];
                    if (strlen(SITE_ID) > 0) {
                        $arFields["SITE_ID"] = SITE_ID;
                    }
                    $bSuccess = $this->AuthorizeUser($arFields);
                }
            }
        }
        $url = $GLOBALS["APPLICATION"]->GetCurDir() == "/login/" ? "/auth/" : $GLOBALS["APPLICATION"]->GetCurDir();
        if (isset($_REQUEST["state"])) {
            $arState = array();
            parse_str($_REQUEST["state"], $arState);
            if (isset($arState['backurl'])) {
                $parseUrl = parse_url($arState['backurl'], PHP_URL_PATH);
                $url = $parseUrl;
            }
        }
        $aRemove = array("logout", "auth_service_error", "auth_service_id", "code", "error_reason", "error", "error_description", "check_key", "current_fieldset");
        if ($bSuccess === 2) {
            $url = preg_match("/\\?/", $url) ? $url . '&' : $url . '?';
            $url .= 'auth_service_id=' . self::ID . '&auth_service_error=' . $bSuccess;
        } elseif ($bSuccess !== true) {
            $url = isset($parseUrl) ? $parseUrl . '?auth_service_id=' . self::ID . '&auth_service_error=' . $bSuccess : $GLOBALS['APPLICATION']->GetCurPageParam('auth_service_id=' . self::ID . '&auth_service_error=' . $bSuccess, $aRemove);
        }
        if (CModule::IncludeModule("socialnetwork")) {
            $url = preg_match("/\\?/", $url) ? $url . "&current_fieldset=SOCSERV" : $url . "?current_fieldset=SOCSERV";
        }
        echo '
<script type="text/javascript">
if(window.opener)
	window.opener.location = \'' . CUtil::JSEscape($url) . '\';
window.close();
</script>
';
        die;
    }
开发者ID:k-kalashnikov,项目名称:geekcon_new,代码行数:83,代码来源:google.php

示例12: Authorize

    public function Authorize()
    {
        global $APPLICATION;
        $APPLICATION->RestartBuffer();
        $bSuccess = SOCSERV_AUTHORISATION_ERROR;
        if (isset($_REQUEST["code"]) && $_REQUEST["code"] != '' && CSocServAuthManager::CheckUniqueKey()) {
            if (IsModuleInstalled('bitrix24') && defined('BX24_HOST_NAME')) {
                $redirect_uri = self::CONTROLLER_URL . "/redirect.php";
            } else {
                $redirect_uri = CSocServUtil::ServerName() . "/bitrix/tools/oauth/liveid.php";
            }
            $appID = trim(self::GetOption("liveid_appid"));
            $appSecret = trim(self::GetOption("liveid_appsecret"));
            $gAuth = new CLiveIDOAuthInterface($appID, $appSecret, $_REQUEST["code"]);
            if ($gAuth->GetAccessToken($redirect_uri) !== false) {
                $arLiveIDUser = $gAuth->GetCurrentUser();
                if (is_array($arLiveIDUser) && $arLiveIDUser['id'] != '') {
                    $email = $first_name = $last_name = "";
                    $login = "LiveID" . $arLiveIDUser['id'];
                    $uId = $arLiveIDUser['id'];
                    if ($arLiveIDUser['first_name'] != '') {
                        $first_name = $arLiveIDUser['first_name'];
                    }
                    if ($arLiveIDUser['last_name'] != '') {
                        $last_name = $arLiveIDUser['last_name'];
                    }
                    if ($arLiveIDUser['emails']['preferred'] != '') {
                        $email = $arLiveIDUser['emails']['preferred'];
                        $login = $arLiveIDUser['emails']['preferred'];
                        $uId = $arLiveIDUser['emails']['preferred'];
                    }
                    $arFields = array('EXTERNAL_AUTH_ID' => self::ID, 'XML_ID' => $uId, 'LOGIN' => $login, 'EMAIL' => $email, 'NAME' => $first_name, 'LAST_NAME' => $last_name);
                    $arFields["PERSONAL_WWW"] = $arLiveIDUser["link"];
                    if (isset($arLiveIDUser['access_token'])) {
                        $arFields["OATOKEN"] = $arLiveIDUser['access_token'];
                    }
                    if (isset($arLiveIDUser['refresh_token'])) {
                        $arFields["REFRESH_TOKEN"] = $arLiveIDUser['refresh_token'];
                    }
                    if (isset($arLiveIDUser['expires_in'])) {
                        $arFields["OATOKEN_EXPIRES"] = time() + $arLiveIDUser['expires_in'];
                    }
                    if (strlen(SITE_ID) > 0) {
                        $arFields["SITE_ID"] = SITE_ID;
                    }
                    $bSuccess = $this->AuthorizeUser($arFields);
                }
            }
        }
        $url = $APPLICATION->GetCurDir() == "/login/" ? "" : $APPLICATION->GetCurDir();
        $aRemove = array("logout", "auth_service_error", "auth_service_id", "code", "error_reason", "error", "error_description", "check_key", "current_fieldset");
        $mode = 'opener';
        if (isset($_REQUEST["state"])) {
            $arState = array();
            parse_str($_REQUEST["state"], $arState);
            if (isset($arState['backurl'])) {
                $parseUrl = parse_url($arState['backurl']);
                $urlPath = $parseUrl["path"];
                $arUrlQuery = explode('&', $parseUrl["query"]);
                foreach ($arUrlQuery as $key => $value) {
                    foreach ($aRemove as $param) {
                        if (strpos($value, $param . "=") === 0) {
                            unset($arUrlQuery[$key]);
                            break;
                        }
                    }
                }
                $url = !empty($arUrlQuery) ? $urlPath . '?' . implode("&", $arUrlQuery) : $urlPath;
            }
            if (isset($arState['mode'])) {
                $mode = $arState['mode'];
            }
        }
        if ($bSuccess === SOCSERV_REGISTRATION_DENY) {
            $url = preg_match("/\\?/", $url) ? $url . '&' : $url . '?';
            $url .= 'auth_service_id=' . self::ID . '&auth_service_error=' . SOCSERV_REGISTRATION_DENY;
        } elseif ($bSuccess !== true) {
            $url = isset($parseUrl) ? $parseUrl . '?auth_service_id=' . self::ID . '&auth_service_error=' . $bSuccess : $APPLICATION->GetCurPageParam('auth_service_id=' . self::ID . '&auth_service_error=' . $bSuccess, $aRemove);
        }
        if (CModule::IncludeModule("socialnetwork") && strpos($url, "current_fieldset=") === false) {
            $url = preg_match("/\\?/", $url) ? $url . "&current_fieldset=SOCSERV" : $url . "?current_fieldset=SOCSERV";
        }
        $url = CUtil::JSEscape($url);
        $location = $mode == "opener" ? 'if(window.opener) window.opener.location = \'' . $url . '\'; window.close();' : ' window.location = \'' . $url . '\';';
        $JSScript = '
		<script type="text/javascript">
		' . $location . '
		</script>
		';
        echo $JSScript;
        die;
    }
开发者ID:spas-viktor,项目名称:books,代码行数:92,代码来源:liveidoauth.php

示例13: GetRedirectURI

 public function GetRedirectURI()
 {
     return CSocServUtil::ServerName(true) . "/bitrix/tools/oauth/dropbox.php";
 }
开发者ID:mrdeadmouse,项目名称:u136006,代码行数:4,代码来源:dropbox.php

示例14: getFriendsList

 public function getFriendsList($limit, &$next)
 {
     if (IsModuleInstalled('bitrix24') && defined('BX24_HOST_NAME')) {
         $redirect_uri = static::CONTROLLER_URL . "/redirect.php";
     } else {
         $redirect_uri = CSocServUtil::ServerName() . "/bitrix/tools/oauth/google.php";
     }
     $ob = $this->getEntityOAuth();
     if ($ob->GetAccessToken($redirect_uri) !== false) {
         $res = $ob->getCurrentUserFriends($limit, $next);
         foreach ($res as $key => $contact) {
             $contact['uid'] = $contact['email'];
             $arName = $contact['name'];
             $contact['first_name'] = trim($arName['givenName']);
             $contact['last_name'] = trim($arName['familyName']);
             $contact['second_name'] = trim($arName['additionalName']);
             if (!$contact['first_name'] && !$contact['last_name']) {
                 $contact['first_name'] = $contact['uid'];
             }
             $res[$key] = $contact;
         }
     }
     return $res;
 }
开发者ID:rasuldev,项目名称:torino,代码行数:24,代码来源:google.php

示例15: GetRedirectURI

 public function GetRedirectURI()
 {
     return CSocServUtil::ServerName() . "/bitrix/tools/oauth/yandex.php";
 }
开发者ID:Satariall,项目名称:izurit,代码行数:4,代码来源:yandex.php


注:本文中的CSocServUtil::ServerName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。