function facebook_callback() { $facebook = new Facebook(array('appId' => FACEBOOK_API_KEY, 'secret' => FACEBOOK_API_SECRET)); try { $fbuser = $facebook->api('/me'); if ($id = user_email_exists($fbuser['email'])) { $user = new User($id); $user->facebook = $fbuser['id']; $user->save(); $user->fb_login(); redirect('/user'); } else { $user = new User(); $user->set_default(); $user->email = $fbuser['email']; $user->password = md5(time()); $user->status = 1; if (isset($fbuser['username'])) { $user->username = $fbuser['username']; } else { $user->username = $fbuser['name']; } $user->firstname = $fbuser['first_name']; $user->lastname = $fbuser['last_name']; $user->facebook = $fbuser['id']; $user->gender = $fbuser['gender']; $user->picture = new File(); $user->picture->load_from_url('https://graph.facebook.com/' . $fbuser['id'] . '/picture?type=large'); $created = $user->create(); if ($created) { $user->fb_login(); redirect('/user'); } else { redirect('/register'); } } } catch (Exception $e) { redirect('/'); } }