$settingsToCheck = array("fbavatar", "fbsex", "fbdetails", "fbbio", "fbbday", "fblocation");
     foreach ($settingsToCheck as $setting) {
         if ($mybb->input[$setting] == 1) {
             $settingsToAdd[$setting] = 1;
         } else {
             $settingsToAdd[$setting] = 0;
         }
     }
     // Register him
     $user = $FacebookConnect->register($newuser);
     // Insert options and extra data and login
     if (!$user['error']) {
         $db->update_query('users', $settingsToAdd, 'uid = ' . (int) $user['uid']);
         // Sync
         $newUser = array_merge($user, $settingsToAdd);
         $FacebookConnect->sync($newUser);
         // Login
         $FacebookConnect->login($user);
         // Redirect
         $FacebookConnect->redirect($mybb->input['redUrl'], $lang->sprintf($lang->myfbconnect_redirect_title, $user['username']), $lang->myfbconnect_redirect_registered);
     } else {
         $errors = inline_error($user['error']);
     }
 }
 $options = '';
 $settingsToBuild = '';
 // Checking if we want to sync that stuff (admin)
 $settingsToCheck = array('fbavatar', 'fbbday', 'fbsex', 'fbdetails', 'fbbio', 'fblocation');
 foreach ($settingsToCheck as $setting) {
     $tempKey = 'myfbconnect_' . $setting;
     if ($mybb->settings[$tempKey]) {
function myfbconnect_usercp()
{
    global $mybb, $lang, $inlinesuccess;
    // Load API in certain areas
    if (in_array($mybb->input['action'], array('fblink', 'do_fblink')) or $_SESSION['fblogin'] or $mybb->input['action'] == 'myfbconnect' and $mybb->request_method == 'post') {
        require_once MYBB_ROOT . "inc/plugins/MyFacebookConnect/class_facebook.php";
        $FacebookConnect = new MyFacebook();
    }
    $settingsToCheck = array('fbavatar', 'fbbday', 'fbsex', 'fbdetails', 'fbbio', 'fblocation');
    if (!$lang->myfbconnect) {
        $lang->load('myfbconnect');
    }
    // Authenticate
    if ($mybb->input['action'] == 'fblink') {
        $FacebookConnect->set_fallback('usercp.php?action=do_fblink');
        $FacebookConnect->authenticate();
    }
    // Link account to his Facebook's one
    if ($mybb->input['action'] == 'do_fblink') {
        if (!$FacebookConnect->check_user()) {
            error($lang->myfbconnect_error_noauth);
        }
        $user = $FacebookConnect->get_user('id,verified');
        if ($user) {
            $FacebookConnect->link_user('', $user['id']);
        }
        $FacebookConnect->redirect('usercp.php?action=myfbconnect', '', $lang->myfbconnect_success_linked);
    }
    // Settings page
    if ($mybb->input['action'] == 'myfbconnect') {
        global $db, $theme, $templates, $headerinclude, $header, $footer, $plugins, $usercpnav;
        add_breadcrumb($lang->nav_usercp, 'usercp.php');
        add_breadcrumb($lang->myfbconnect_page_title, 'usercp.php?action=myfbconnect');
        // The user is changing his settings
        if ($mybb->request_method == 'post' or $_SESSION['fblogin']) {
            if ($mybb->request_method == 'post') {
                verify_post_check($mybb->input['my_post_key']);
            }
            // He's unlinking his account
            if ($mybb->input['unlink']) {
                $FacebookConnect->unlink_user();
                redirect('usercp.php?action=myfbconnect', $lang->myfbconnect_success_accunlinked, $lang->myfbconnect_success_accunlinked_title);
            } else {
                $settings = array();
                foreach ($settingsToCheck as $setting) {
                    $settings[$setting] = 0;
                    if ($mybb->input[$setting] == 1) {
                        $settings[$setting] = 1;
                    }
                    // Build a list of parameters to include in the fallback URL
                    $loginUrlExtra .= "&{$setting}=" . $settings[$setting];
                }
                // This user is not logged in with Facebook
                if (!$FacebookConnect->check_user()) {
                    // Store a token in the session, we will check for it in the next call
                    $_SESSION['fblogin'] = 1;
                    $FacebookConnect->set_fallback("usercp.php?action=myfbconnect" . $loginUrlExtra);
                    $FacebookConnect->authenticate();
                    return;
                }
                if ($db->update_query('users', $settings, 'uid = ' . (int) $mybb->user['uid'])) {
                    unset($_SESSION['fblogin']);
                    $newUser = array_merge($mybb->user, $settings);
                    $FacebookConnect->sync($newUser);
                    redirect('usercp.php?action=myfbconnect', $lang->myfbconnect_success_settingsupdated, $lang->myfbconnect_success_settingsupdated_title);
                }
            }
        }
        $options = '';
        if ($mybb->user['myfb_uid']) {
            $userSettings = array();
            // Checking if admins and users want to sync that stuff
            foreach ($settingsToCheck as $setting) {
                $tempKey = 'myfbconnect_' . $setting;
                if (!$mybb->settings[$tempKey]) {
                    continue;
                }
                $userSettings[$setting] = 0;
                if ($mybb->user[$setting]) {
                    $userSettings[$setting] = 1;
                }
            }
            $text = $lang->myfbconnect_settings_whattosync;
            $unlink = "<input type=\"submit\" class=\"button\" name=\"unlink\" value=\"{$lang->myfbconnect_settings_unlink}\" />";
            if ($userSettings) {
                foreach ($userSettings as $setting => $value) {
                    $tempKey = 'myfbconnect_settings_' . $setting;
                    $checked = '';
                    if ($value) {
                        $checked = " checked=\"checked\"";
                    }
                    $label = $lang->{$tempKey};
                    $altbg = alt_trow();
                    eval("\$options .= \"" . $templates->get('myfbconnect_usercp_settings_setting') . "\";");
                }
            } else {
                $text = $lang->myfbconnect_settings_connected;
            }
        } else {
            $text = $lang->myfbconnect_settings_linkaccount;
            eval("\$options = \"" . $templates->get('myfbconnect_usercp_settings_linkprofile') . "\";");
        }
        eval("\$content = \"" . $templates->get('myfbconnect_usercp_settings') . "\";");
        output_page($content);
    }
}