Example #1
0
 $uUrl = "https://graph.facebook.com/me?access_token={$fb_token}";
 $uResponse = file_get_contents($uUrl);
 $UserData = json_decode($uResponse);
 $UserDataSerialized = serialize($UserData);
 $arFileds = (array) unserialize($UserDataSerialized);
 //    gender] => male
 //    graph.facebook.com/tabotaOG/picture?type=large
 //    printAr($arFileds);
 if (!$USER_ID) {
     $rsUser = CUser::GetByLogin($arFileds["email"]);
     if ($arUser = $rsUser->Fetch()) {
         //Если найден, то вот он наш пользователь авторизуем, если нет, то ищем по ID Facebook
         $ID = $arUser["ID"];
     } else {
         //Пользователь с логином не найден!';
         if ($userFromFB_ID = User::findFromFB($arFileds["id"])) {
             // ищем по ID Facebook
             $ID = $userFromFB_ID;
         } else {
             //тогда создаем нового пользователя
             $user = new CUser();
             $password = randString(7);
             $arFields = array("NAME" => $arFileds["first_name"], "LAST_NAME" => $arFileds["last_name"], "EMAIL" => $arFileds["email"], "LOGIN" => $arFileds["email"], "PERSONAL_BIRTHDAY" => str_replace("/", ".", $arFileds["birthday"]), "LID" => "ru", "ACTIVE" => "Y", "PASSWORD" => $password, "CONFIRM_PASSWORD" => $password, "PERSONAL_PHOTO" => CFile::MakeFileArray("http://graph.facebook.com/" . $arFileds["id"] . "/picture?type=large"));
             $ID = $user->Add($arFields);
         }
     }
     // Тут пользователь должен быть полюбому
     // Авторизуем его
     $userRes = new CUser();
     $userRes->Authorize($ID);
 }