Example #1
0
 /*
  * получаем местоположение пользователя
  */
 $us_phone = $vk_res->mobile_phone ? $vk_res->mobile_phone : ($vk_res->home_phone ? $vk_res->home_phone : false);
 /*
  * формируем массив данных пользователя
  */
 $vk_ses["user"]["id"] = $vk_res->uid;
 $vk_ses["user"]["first_name"] = $vk_res->first_name;
 $vk_ses["user"]["last_name"] = $vk_res->last_name;
 $_REQUEST["vk_session"] = $vk_ses;
 /*
  * Получаем ID нового пользователя или старого
  */
 $ID = false;
 if ($userFromVK_ID = User::findFromVK($vk_res->uid)) {
     $ID = $userFromVK_ID;
 } else {
     //создаем нового
     $user = new CUser();
     $password = randString(7);
     $arFields = array("NAME" => $vk_res->first_name, "LAST_NAME" => $vk_res->last_name, "LOGIN" => "uid" . $vk_res->uid, "PERSONAL_BIRTHDAY" => $vk_res->bdate, "EXTERNAL_AUTH_ID" => "VKontakte", "LID" => "ru", "ACTIVE" => "Y", "PERSONAL_MOBILE" => $vk_res->home_phone, "PASSWORD" => $password, "CONFIRM_PASSWORD" => $password, "PERSONAL_PHOTO" => CFile::MakeFileArray($vk_res->photo_big));
     $ID = $user->Add($arFields);
 }
 if ($ID) {
     // Тут пользователь должен быть полюбому
     // Авторизуем его
     $userRes = new CUser();
     $userRes->Authorize($ID);
     $ob = CIBlockElement::GetList(array("SORT" => "ASC"), array("PROPERTY_USER" => $ID, "IBLOCK_ID" => IB_USER_PROPS), FALSE, FALSE, array("ID", "PROPERTY_USER"))->Fetch();
     if ($ob) {