本文整理汇总了PHP中CSocServAuthManager::CheckUniqueKey方法的典型用法代码示例。如果您正苦于以下问题:PHP CSocServAuthManager::CheckUniqueKey方法的具体用法?PHP CSocServAuthManager::CheckUniqueKey怎么用?PHP CSocServAuthManager::CheckUniqueKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSocServAuthManager
的用法示例。
在下文中一共展示了CSocServAuthManager::CheckUniqueKey方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Authorize
public function Authorize()
{
$GLOBALS["APPLICATION"]->RestartBuffer();
$bSuccess = false;
if(isset($_REQUEST["code"]) && $_REQUEST["code"] <> '')
{
if(CSocServAuthManager::CheckUniqueKey())
{
$redirect_uri = CSocServUtil::GetCurUrl('auth_service_id='.self::ID, array("code"));
$appID = self::GetOption("facebook_appid");
$appSecret = self::GetOption("facebook_appsecret");
$fb = new CFacebookInterface($appID, $appSecret, $_REQUEST["code"]);
if($fb->GetAccessToken($redirect_uri) !== false)
{
$arFBUser = $fb->GetCurrentUser();
if(isset($arFBUser["id"]))
{
$arFields = array(
'EXTERNAL_AUTH_ID' => self::ID,
'XML_ID' => $arFBUser["id"],
'LOGIN' => "FB_".$arFBUser["email"],
'EMAIL' => $arFBUser["email"],
'NAME'=> $arFBUser["first_name"],
'LAST_NAME'=> $arFBUser["last_name"],
);
if(isset($arFBUser['picture']['data']['url']) && self::CheckPhotoURI($arFBUser['picture']['data']['url']))
if ($arPic = CFile::MakeFileArray($arFBUser['picture']['data']['url']))
$arFields["PERSONAL_PHOTO"] = $arPic;
if(isset($arFBUser['birthday']))
if ($date = MakeTimeStamp($arFBUser['birthday'], "MM/DD/YYYY"))
$arFields["PERSONAL_BIRTHDAY"] = ConvertTimeStamp($date);
if(isset($arFBUser['gender']) && $arFBUser['gender'] != '')
{
if ($arFBUser['gender'] == 'male')
$arFields["PERSONAL_GENDER"] = 'M';
elseif ($arFBUser['gender'] == 'female')
$arFields["PERSONAL_GENDER"] = 'F';
}
$arFields["PERSONAL_WWW"] = "http://www.facebook.com/".$arFBUser["id"];
$bSuccess = $this->AuthorizeUser($arFields);
}
}
}
}
$aRemove = array("logout", "auth_service_error", "auth_service_id", "code", "error_reason", "error", "error_description", "check_key");
$url = $GLOBALS['APPLICATION']->GetCurPageParam(($bSuccess? '':'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();
}
示例2: Authorize
public function Authorize()
{
$GLOBALS["APPLICATION"]->RestartBuffer();
$bSuccess = 1;
if (isset($_REQUEST["code"]) && $_REQUEST["code"] != '') {
if (CSocServAuthManager::CheckUniqueKey()) {
if (IsModuleInstalled('bitrix24') && defined('BX24_HOST_NAME')) {
$redirect_uri = self::CONTROLLER_URL . "/redirect.php?redirect_to=" . urlencode(CSocServUtil::GetCurUrl('auth_service_id=' . self::ID, array("code")));
} else {
$redirect_uri = CSocServUtil::GetCurUrl('auth_service_id=' . self::ID, array("code"));
}
$appID = trim(self::GetOption("facebook_appid"));
$appSecret = trim(self::GetOption("facebook_appsecret"));
$fb = new CFacebookInterface($appID, $appSecret, $_REQUEST["code"]);
if ($fb->GetAccessToken($redirect_uri) !== false) {
$arFBUser = $fb->GetCurrentUser();
if (is_array($arFBUser) && isset($arFBUser["id"])) {
$email = $arFBUser["email"] != '' ? $arFBUser["email"] : '';
$arFields = array('EXTERNAL_AUTH_ID' => self::ID, 'XML_ID' => $arFBUser["id"], 'LOGIN' => "FB_" . $arFBUser["id"], 'EMAIL' => $email, 'NAME' => $arFBUser["first_name"], 'LAST_NAME' => $arFBUser["last_name"]);
if (isset($arFBUser['picture']['data']['url']) && self::CheckPhotoURI($arFBUser['picture']['data']['url'])) {
if ($arPic = CFile::MakeFileArray($arFBUser['picture']['data']['url'])) {
$arFields["PERSONAL_PHOTO"] = $arPic;
}
}
if (isset($arFBUser['birthday'])) {
if ($date = MakeTimeStamp($arFBUser['birthday'], "MM/DD/YYYY")) {
$arFields["PERSONAL_BIRTHDAY"] = ConvertTimeStamp($date);
}
}
if (isset($arFBUser['gender']) && $arFBUser['gender'] != '') {
if ($arFBUser['gender'] == 'male') {
$arFields["PERSONAL_GENDER"] = 'M';
} elseif ($arFBUser['gender'] == 'female') {
$arFields["PERSONAL_GENDER"] = 'F';
}
}
$arFields["PERSONAL_WWW"] = "http://www.facebook.com/" . $arFBUser["id"];
if (strlen(SITE_ID) > 0) {
$arFields["SITE_ID"] = SITE_ID;
}
$bSuccess = $this->AuthorizeUser($arFields);
}
}
}
}
$aRemove = array("logout", "auth_service_error", "auth_service_id", "code", "error_reason", "error", "error_description", "check_key", "current_fieldset");
$url = $GLOBALS['APPLICATION']->GetCurPageParam($bSuccess === true ? '' : 'auth_service_id=' . self::ID . '&auth_service_error=' . $bSuccess, $aRemove);
if (CModule::IncludeModule("socialnetwork") && strpos($url, "current_fieldset=") === false) {
$url = preg_match("/\\?/", $url) ? $url . "¤t_fieldset=SOCSERV" : $url . "?current_fieldset=SOCSERV";
}
echo '
<script type="text/javascript">
if(window.opener)
window.opener.location = \'' . CUtil::JSEscape($url) . '\';
window.close();
</script>
';
die;
}
示例3: Authorize
public function Authorize()
{
$GLOBALS["APPLICATION"]->RestartBuffer();
$bSuccess = 1;
$appID = trim(self::GetOption("twitter_key"));
$appSecret = trim(self::GetOption("twitter_secret"));
if (!isset($_REQUEST["oauth_token"]) || $_REQUEST["oauth_token"] == '') {
$tw = new CTwitterInterface($appID, $appSecret);
$callback = CSocServUtil::GetCurUrl('auth_service_id=' . self::ID);
//$callback = 'http://algerman.sam:6448/script.php?auth_service_id='.self::ID;
if ($tw->GetRequestToken($callback)) {
$tw->RedirectAuthUrl();
}
} elseif (CSocServAuthManager::CheckUniqueKey()) {
$tw = new CTwitterInterface($appID, $appSecret, $_REQUEST["oauth_token"], $_REQUEST["oauth_verifier"]);
if (($arResult = $tw->GetAccessToken()) !== false && $arResult["user_id"] != '') {
$twUser = $tw->GetUserInfo($arResult["user_id"]);
$first_name = $last_name = "";
if ($twUser["name"] != '') {
$aName = explode(" ", $twUser["name"]);
$first_name = $aName[0];
if (isset($aName[1])) {
$last_name = $aName[1];
}
}
$arFields = array('EXTERNAL_AUTH_ID' => self::ID, 'XML_ID' => $arResult["user_id"], 'LOGIN' => $arResult["screen_name"], 'NAME' => $first_name, 'LAST_NAME' => $last_name);
if (isset($twUser["profile_image_url"]) && self::CheckPhotoURI($twUser["profile_image_url"])) {
if ($arPic = CFile::MakeFileArray($twUser["profile_image_url"])) {
$arFields["PERSONAL_PHOTO"] = $arPic;
}
}
$arFields["PERSONAL_WWW"] = "https://twitter.com/" . $arResult["screen_name"];
if (strlen(SITE_ID) > 0) {
$arFields["SITE_ID"] = SITE_ID;
}
if (COption::GetOptionString('socialservices', 'last_twit_id', '1') == 1) {
if (isset($twUser["status"]["id_str"])) {
COption::SetOptionString('socialservices', 'last_twit_id', $twUser["status"]["id_str"]);
}
}
$bSuccess = $this->AuthorizeUser($arFields);
}
}
$aRemove = array("logout", "auth_service_error", "auth_service_id", "oauth_token", "oauth_verifier", "check_key", "current_fieldset");
$url = $GLOBALS['APPLICATION']->GetCurPageParam($bSuccess === true ? '' : 'auth_service_id=' . self::ID . '&auth_service_error=' . $bSuccess, $aRemove);
if (CModule::IncludeModule("socialnetwork")) {
$url = preg_match("/\\?/", $url) ? $url . "¤t_fieldset=SOCSERV" : $url . "?current_fieldset=SOCSERV";
}
echo '
<script type="text/javascript">
if(window.opener)
window.opener.location = \'' . CUtil::JSEscape($url) . '\';
window.close();
</script>
';
die;
}
示例4: Authorize
public function Authorize()
{
$GLOBALS["APPLICATION"]->RestartBuffer();
$bSuccess = false;
$appID = self::GetOption("twitter_key");
$appSecret = self::GetOption("twitter_secret");
if(!isset($_REQUEST["oauth_token"]) || $_REQUEST["oauth_token"] == '')
{
$tw = new CTwitterInterface($appID, $appSecret);
$callback = CSocServUtil::GetCurUrl('auth_service_id='.self::ID);
if($tw->GetRequestToken($callback))
$tw->RedirectAuthUrl();
}
elseif(CSocServAuthManager::CheckUniqueKey())
{
$tw = new CTwitterInterface($appID, $appSecret, $_REQUEST["oauth_token"], $_REQUEST["oauth_verifier"]);
if(($arResult = $tw->GetAccessToken()) !== false && $arResult["user_id"] <> '')
{
$twUser = $tw->GetUserInfo($arResult["user_id"]);
$first_name = $last_name = "";
if($twUser["name"] <> '')
{
$aName = explode(" ", $twUser["name"]);
$first_name = $aName[0];
if(isset($aName[1]))
$last_name = $aName[1];
}
$arFields = array(
'EXTERNAL_AUTH_ID' => self::ID,
'XML_ID' => $arResult["user_id"],
'LOGIN' => $arResult["screen_name"],
'NAME'=> $first_name,
'LAST_NAME'=> $last_name,
);
$arFields["PERSONAL_WWW"] = "https://twitter.com/".$twUser["screen_name"];
$bSuccess = $this->AuthorizeUser($arFields);
}
}
$aRemove = array("logout", "auth_service_error", "auth_service_id", "oauth_token", "oauth_verifier", "check_key");
$url = $GLOBALS['APPLICATION']->GetCurPageParam(($bSuccess? '':'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();
}
示例5: Authorize
public function Authorize()
{
$GLOBALS["APPLICATION"]->RestartBuffer();
$bSuccess = 1;
$bProcessState = false;
if (isset($_REQUEST["code"]) && $_REQUEST["code"] != '' && CSocServAuthManager::CheckUniqueKey()) {
$bProcessState = true;
$redirect_uri = CSocServUtil::GetCurUrl('auth_service_id=' . self::ID, array("code", "state", "check_key", "backurl"));
$appID = trim(self::GetOption("mailru_id"));
$appSecret = trim(self::GetOption("mailru_secret_key"));
$gAuth = new CMailRuOAuthInterface($appID, $appSecret, $_REQUEST["code"]);
if ($gAuth->GetAccessToken($redirect_uri) !== false) {
$arMRUser = $gAuth->GetCurrentUser();
if (is_array($arMRUser) && $arMRUser['0']['uid'] != '') {
$email = $first_name = $last_name = $gender = "";
if ($arMRUser['0']['first_name'] != '') {
$first_name = $arMRUser['0']['first_name'];
}
if ($arMRUser['0']['last_name'] != '') {
$last_name = $arMRUser['0']['last_name'];
}
if ($arMRUser['0']['email'] != '') {
$email = $arMRUser['0']['email'];
}
if (isset($arMRUser['0']['sex']) && $arMRUser['0']['sex'] != '') {
if ($arMRUser['0']['sex'] == '0') {
$gender = 'M';
} elseif ($arMRUser['0']['sex'] == '1') {
$gender = 'F';
}
}
$arFields = array('EXTERNAL_AUTH_ID' => self::ID, 'XML_ID' => $arMRUser['0']['uid'], 'LOGIN' => "MM_" . $email, 'NAME' => $first_name, 'EMAIL' => $email, 'LAST_NAME' => $last_name, 'PERSONAL_GENDER' => $gender);
if (isset($arMRUser['0']['birthday'])) {
if ($date = MakeTimeStamp($arMRUser['0']['birthday'], "DD.MM.YYYY")) {
$arFields["PERSONAL_BIRTHDAY"] = ConvertTimeStamp($date);
}
}
if (isset($arMRUser['0']['pic_190']) && self::CheckPhotoURI($arMRUser['0']['pic_190'])) {
if ($arPic = CFile::MakeFileArray($arMRUser['0']['pic_190'] . '?name=/' . md5($arMRUser['0']['pic_190']) . '.jpg')) {
$arFields["PERSONAL_PHOTO"] = $arPic;
}
}
$arFields["PERSONAL_WWW"] = $arMRUser['0']['link'];
if (strlen(SITE_ID) > 0) {
$arFields["SITE_ID"] = SITE_ID;
}
$bSuccess = $this->AuthorizeUser($arFields);
}
}
}
if (!$bProcessState) {
unset($_REQUEST["state"]);
}
$url = $GLOBALS["APPLICATION"]->GetCurDir() == "/login/" ? "" : $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 ($bSuccess !== true) {
$url = $GLOBALS['APPLICATION']->GetCurPageParam('auth_service_id=' . self::ID . '&auth_service_error=' . $bSuccess, $aRemove);
}
echo '
<script type="text/javascript">
if(window.opener)
window.opener.location = \'' . CUtil::JSEscape($url) . '\';
window.close();
</script>
';
die;
}
示例6: 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?redirect_to=" . urlencode(CSocServUtil::GetCurUrl('auth_service_id=' . self::ID, array("code")));
} else {
$redirect_uri = CSocServUtil::GetCurUrl('auth_service_id=' . self::ID, array("code"));
}
$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);
}
}
}
$url = $GLOBALS["APPLICATION"]->GetCurDir() == "/login/" ? "" : $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", "current_fieldset");
if (isset($_REQUEST["current_fieldset"])) {
$url = $GLOBALS['APPLICATION']->GetCurPageParam('current_fieldset=' . $_REQUEST["current_fieldset"], $aRemove);
}
if ($bSuccess !== true) {
$url = $GLOBALS['APPLICATION']->GetCurPageParam('auth_service_id=' . self::ID . '&auth_service_error=' . $bSuccess, $aRemove);
}
echo '
<script type="text/javascript">
if(window.opener)
window.opener.location = \'' . CUtil::JSEscape($url) . '\';
window.close();
</script>
';
die;
}
示例7: Validate
public function Validate()
{
if (CSocServAuthManager::CheckUniqueKey()) {
if ($arOpenidServerTags = $this->GetOpenIDServerTags($_GET['openid_identity'])) {
$arParams = array('openid.assoc_handle' => $_GET['openid_assoc_handle'], 'openid.signed' => $_GET['openid_signed'], 'openid.sig' => $_GET['openid_sig']);
$arSigned = explode(',', $_GET['openid_signed']);
foreach ($arSigned as $s) {
$arParams['openid.' . $s] = $_GET['openid_' . str_replace('.', '_', $s)];
}
$arParams['openid.mode'] = 'check_authentication';
if (isset($_SESSION['BX_OPENID_RETURN_TO'])) {
$arParams['openid.return_to'] = $_SESSION['BX_OPENID_RETURN_TO'];
unset($_SESSION['BX_OPENID_RETURN_TO']);
}
$str = CHTTP::sPost($arOpenidServerTags['server'], $arParams, true);
if (preg_match('/is_valid\\s*\\:\\s*/' . BX_UTF_PCRE_MODIFIER, $str)) {
return array('server' => $arOpenidServerTags['server'], 'identity' => $_GET['openid_identity']);
} else {
$GLOBALS['APPLICATION']->ThrowException(GetMessage('OPENID_CLIENT_ERROR_AUTH'));
}
}
}
// self::CleanParam('ERROR');
$GLOBALS['APPLICATION']->ThrowException(GetMessage('OPENID_CLIENT_ERROR_AUTH'));
return false;
}
示例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;
}
示例9: Authorize
public function Authorize()
{
global $APPLICATION;
$APPLICATION->RestartBuffer();
$bSuccess = false;
$authError = SOCSERV_AUTHORISATION_ERROR;
if (isset($_REQUEST["code"]) && $_REQUEST["code"] != '' && CSocServAuthManager::CheckUniqueKey()) {
if (IsModuleInstalled('bitrix24') && defined('BX24_HOST_NAME')) {
$redirect_uri = static::CONTROLLER_URL . "/redirect.php";
} else {
$redirect_uri = CSocServUtil::ServerName() . "/bitrix/tools/oauth/google.php";
}
$this->entityOAuth = $this->getEntityOAuth($_REQUEST['code']);
if ($this->entityOAuth->GetAccessToken($redirect_uri) !== false) {
$arGoogleUser = $this->entityOAuth->GetCurrentUser();
if (is_array($arGoogleUser)) {
$first_name = "";
$last_name = "";
if (is_array($arGoogleUser['name'])) {
$first_name = $arGoogleUser['name']['givenName'];
$last_name = $arGoogleUser['name']['familyName'];
} elseif ($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];
}
}
$id = $arGoogleUser['id'];
$email = $arGoogleUser['email'];
if (strlen($arGoogleUser['email']) > 0) {
$dbRes = \Bitrix\Main\UserTable::getList(array('filter' => array('=EXTERNAL_AUTH_ID' => 'socservices', '=XML_ID' => $email), 'select' => array('ID'), 'limit' => 1));
if ($dbRes->fetch()) {
$id = $email;
}
}
$arFields = array('EXTERNAL_AUTH_ID' => static::ID, 'XML_ID' => $id, 'LOGIN' => static::LOGIN_PREFIX . $id, 'EMAIL' => $email, 'NAME' => $first_name, 'LAST_NAME' => $last_name, 'OATOKEN' => $this->entityOAuth->getToken(), 'OATOKEN_EXPIRES' => $this->entityOAuth->getAccessTokenExpires(), 'REFRESH_TOKEN' => $this->entityOAuth->getRefreshToken());
if ($arGoogleUser['gender'] != '') {
if ($arGoogleUser['gender'] == 'male') {
$arFields["PERSONAL_GENDER"] = 'M';
} elseif ($arGoogleUser['gender'] == 'female') {
$arFields["PERSONAL_GENDER"] = 'F';
}
}
if (isset($arGoogleUser['picture']) && static::CheckPhotoURI($arGoogleUser['picture'])) {
$arGoogleUser['picture'] = preg_replace("/\\?.*\$/", '', $arGoogleUser['picture']);
$arPic = CFile::MakeFileArray($arGoogleUser['picture']);
if ($arPic) {
$arFields["PERSONAL_PHOTO"] = $arPic;
}
}
$arFields["PERSONAL_WWW"] = isset($arGoogleUser['link']) ? $arGoogleUser['link'] : $arGoogleUser['url'];
if (strlen(SITE_ID) > 0) {
$arFields["SITE_ID"] = SITE_ID;
}
$authError = $this->AuthorizeUser($arFields);
$bSuccess = $authError === true;
}
}
}
$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 ($authError === SOCSERV_REGISTRATION_DENY) {
$url = preg_match("/\\?/", $url) ? $url . '&' : $url . '?';
$url .= 'auth_service_id=' . static::ID . '&auth_service_error=' . SOCSERV_REGISTRATION_DENY;
} elseif ($bSuccess !== true) {
$url = isset($urlPath) ? $urlPath . '?auth_service_id=' . static::ID . '&auth_service_error=' . $authError : $APPLICATION->GetCurPageParam('auth_service_id=' . static::ID . '&auth_service_error=' . $authError, $aRemove);
}
if (CModule::IncludeModule("socialnetwork") && strpos($url, "current_fieldset=") === false) {
$url = preg_match("/\\?/", $url) ? $url . "¤t_fieldset=SOCSERV" : $url . "?current_fieldset=SOCSERV";
}
$url = CUtil::JSEscape($url);
//.........这里部分代码省略.........
示例10: 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 . "¤t_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;
}
示例11: Authorize
public function Authorize()
{
$GLOBALS["APPLICATION"]->RestartBuffer();
$bSuccess = 1;
if (isset($_REQUEST["code"]) && $_REQUEST["code"] != '' && CSocServAuthManager::CheckUniqueKey()) {
$redirect_uri = CSocServUtil::GetCurUrl('auth_service_id=' . self::ID, array("code", "state", "backurl", "check_key"));
$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 ($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 (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'])) {
$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", "current_fieldset", "backurl", "state");
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 . "¤t_fieldset=SOCSERV" : $url . "?current_fieldset=SOCSERV";
}
echo '
<script type="text/javascript">
if(window.opener)
window.opener.location = \'' . CUtil::JSEscape($url) . '\';
window.close();
</script>
';
die;
}
示例12: 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 . "¤t_fieldset=SOCSERV" : $url . "?current_fieldset=SOCSERV";
}
echo '
<script type="text/javascript">
if(window.opener)
window.opener.location = \'' . CUtil::JSEscape($url) . '\';
window.close();
</script>
';
die;
}
示例13: Authorize
public function Authorize()
{
global $APPLICATION;
$APPLICATION->RestartBuffer();
$authError = 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?redirect_to=" . urlencode(CSocServUtil::GetCurUrl('auth_service_id=' . self::ID, array("code")));
} else {
$redirect_uri = CSocServUtil::GetCurUrl('auth_service_id=' . self::ID, array("code"));
}
$this->entityOAuth = $this->getEntityOAuth($_REQUEST['code']);
if ($this->entityOAuth->GetAccessToken($redirect_uri) !== false) {
$arFBUser = $this->entityOAuth->GetCurrentUser();
if (is_array($arFBUser) && isset($arFBUser["id"])) {
$arFields = self::prepareUser($arFBUser);
$authError = $this->AuthorizeUser($arFields);
}
}
}
$bSuccess = $authError === true;
$aRemove = array("logout", "auth_service_error", "auth_service_id", "code", "error_reason", "error", "error_description", "check_key", "current_fieldset");
if ($bSuccess) {
CSocServUtil::checkOAuthProxyParams();
$url = $GLOBALS["APPLICATION"]->GetCurDir() == "/login/" ? "" : $GLOBALS["APPLICATION"]->GetCurDir();
if (isset($_REQUEST['backurl'])) {
$parseUrl = parse_url($_REQUEST['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 ($authError === SOCSERV_REGISTRATION_DENY) {
$url = preg_match("/\\?/", $url) ? $url . '&' : $url . '?';
$url .= 'auth_service_id=' . self::ID . '&auth_service_error=' . $authError;
} elseif ($bSuccess !== true) {
$url = isset($urlPath) ? $urlPath . '?auth_service_id=' . self::ID . '&auth_service_error=' . $authError : $GLOBALS['APPLICATION']->GetCurPageParam('auth_service_id=' . self::ID . '&auth_service_error=' . $authError, $aRemove);
}
if (CModule::IncludeModule("socialnetwork") && strpos($url, "current_fieldset=") === false) {
$url .= (strpos($url, "?") === false ? '?' : '&') . "current_fieldset=SOCSERV";
}
?>
<script type="text/javascript">
if(window.opener)
window.opener.location = '<?php
echo CUtil::JSEscape($url);
?>
';
window.close();
</script>
<?php
die;
}
示例14: Authorize
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();
}
示例15: 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::GetCurUrl('auth_service_id=' . self::ID, array("code", "state", "backurl", "check_key"));
}
$appID = trim(self::GetOption("vkontakte_appid"));
$appSecret = trim(self::GetOption("vkontakte_appsecret"));
$gAuth = new CVKontakteOAuthInterface($appID, $appSecret, $_REQUEST["code"]);
if ($gAuth->GetAccessToken($redirect_uri) !== false) {
$arVkUser = $gAuth->GetCurrentUser();
if ($arVkUser['response']['0']['uid'] != '') {
$first_name = $last_name = $gender = "";
if ($arVkUser['response']['0']['first_name'] != '') {
$first_name = $arVkUser['response']['0']['first_name'];
}
if ($arVkUser['response']['0']['last_name'] != '') {
$last_name = $arVkUser['response']['0']['last_name'];
}
if (isset($arVkUser['response']['0']['sex']) && $arVkUser['response']['0']['sex'] != '') {
if ($arVkUser['response']['0']['sex'] == '2') {
$gender = 'M';
} elseif ($arVkUser['response']['0']['sex'] == '1') {
$gender = 'F';
}
}
$arFields = array('EXTERNAL_AUTH_ID' => self::ID, 'XML_ID' => $arVkUser['response']['0']['uid'], 'LOGIN' => "VKuser" . $arVkUser['response']['0']['uid'], 'NAME' => $first_name, 'LAST_NAME' => $last_name, 'PERSONAL_GENDER' => $gender);
if (isset($arVkUser['response']['0']['photo_big']) && self::CheckPhotoURI($arVkUser['response']['0']['photo_big'])) {
if ($arPic = CFile::MakeFileArray($arVkUser['response']['0']['photo_big'])) {
$arFields["PERSONAL_PHOTO"] = $arPic;
}
}
if (isset($arVkUser['response']['0']['bdate'])) {
if ($date = MakeTimeStamp($arVkUser['response']['0']['bdate'], "DD.MM.YYYY")) {
$arFields["PERSONAL_BIRTHDAY"] = ConvertTimeStamp($date);
}
}
$arFields["PERSONAL_WWW"] = "http://vk.com/id" . $arVkUser['response']['0']['uid'];
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'])) {
$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", "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 . "¤t_fieldset=SOCSERV" : $url . "?current_fieldset=SOCSERV";
}
echo '
<script type="text/javascript">
if(window.opener)
window.opener.location = \'' . CUtil::JSEscape($url) . '\';
window.close();
</script>
';
die;
}