function mytwconnect_usercp()
{
    global $mybb, $lang, $inlinesuccess;
    // Load API in certain areas
    if (in_array($mybb->input['action'], array('twlink', 'do_twlink')) or $_SESSION['twlogin'] or $mybb->input['action'] == 'mytwconnect' and $mybb->request_method == 'post') {
        require_once MYBB_ROOT . "inc/plugins/MyTwitterConnect/class_twitter.php";
        $TwitterConnect = new MyTwitter();
    }
    $settingsToCheck = array('twavatar', 'twbio', 'twlocation');
    if (!$lang->mytwconnect) {
        $lang->load('mytwconnect');
    }
    // Authenticate
    if ($mybb->input['action'] == 'twlink') {
        $TwitterConnect->set_fallback('usercp.php?action=do_twlink');
        $TwitterConnect->authenticate();
    }
    // Link account to his Twitter's one
    if ($mybb->input['action'] == 'do_twlink') {
        $TwitterConnect->obtain_tokens();
        $user = $TwitterConnect->get_user();
        if ($user) {
            $TwitterConnect->link_user('', $user['id']);
        } else {
            error($lang->mytwconnect_error_noauth);
        }
        $TwitterConnect->redirect('usercp.php?action=mytwconnect', '', $lang->mytwconnect_success_linked);
    }
    // Settings page
    if ($mybb->input['action'] == 'mytwconnect') {
        global $db, $lang, $theme, $templates, $headerinclude, $header, $footer, $plugins, $usercpnav;
        add_breadcrumb($lang->nav_usercp, 'usercp.php');
        add_breadcrumb($lang->mytwconnect_page_title, 'usercp.php?action=mytwconnect');
        // The user is changing his settings
        if ($mybb->request_method == 'post' or $_SESSION['twlogin']) {
            if ($mybb->request_method == 'post') {
                verify_post_check($mybb->input['my_post_key']);
            }
            // He's unlinking his account
            if ($mybb->input['unlink']) {
                $TwitterConnect->unlink_user();
                redirect('usercp.php?action=mytwconnect', $lang->mytwconnect_success_accunlinked, $lang->mytwconnect_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];
                }
                // Process the tokens
                if ($_SESSION['twlogin']) {
                    $TwitterConnect->obtain_tokens();
                }
                $user = $TwitterConnect->get_user();
                // This user is not logged in with Twitter
                if (!$user) {
                    // Store a token in the session, we will check for it in the next call
                    $_SESSION['twlogin'] = 1;
                    $TwitterConnect->set_fallback("usercp.php?action=mytwconnect" . $loginUrlExtra);
                    $TwitterConnect->authenticate();
                    return;
                }
                if ($db->update_query('users', $settings, 'uid = ' . (int) $mybb->user['uid'])) {
                    unset($_SESSION['twlogin']);
                    $newUser = array_merge($mybb->user, $settings);
                    $TwitterConnect->sync($newUser, $user);
                    redirect('usercp.php?action=mytwconnect', $lang->mytwconnect_success_settingsupdated, $lang->mytwconnect_success_settingsupdated_title);
                }
            }
        }
        $options = '';
        if ($mybb->user['mytw_uid']) {
            // Checking if admins and users want to sync that stuff
            foreach ($settingsToCheck as $setting) {
                $tempKey = 'mytwconnect_' . $setting;
                if (!$mybb->settings[$tempKey]) {
                    continue;
                }
                $userSettings[$setting] = 0;
                if ($mybb->user[$setting]) {
                    $userSettings[$setting] = 1;
                }
            }
            $text = $lang->setting_mytwconnect_whattosync;
            $unlink = "<input type=\"submit\" class=\"button\" name=\"unlink\" value=\"{$lang->mytwconnect_settings_unlink}\" />";
            if ($userSettings) {
                foreach ($userSettings as $setting => $value) {
                    $tempKey = 'mytwconnect_settings_' . $setting;
                    $checked = '';
                    if ($value) {
                        $checked = " checked=\"checked\"";
                    }
                    $label = $lang->{$tempKey};
                    $altbg = alt_trow();
                    eval("\$options .= \"" . $templates->get('mytwconnect_usercp_settings_setting') . "\";");
                }
            } else {
                $text = $lang->setting_mytwconnect_connected;
            }
        } else {
            $text = $lang->setting_mytwconnect_linkaccount;
            eval("\$options = \"" . $templates->get('mytwconnect_usercp_settings_linkprofile') . "\";");
        }
        eval("\$content = \"" . $templates->get('mytwconnect_usercp_settings') . "\";");
        output_page($content);
    }
}
     $settingsToCheck = array("twavatar", "twbio", "twlocation");
     foreach ($settingsToCheck as $setting) {
         if ($mybb->input[$setting] == 1) {
             $settingsToAdd[$setting] = 1;
         } else {
             $settingsToAdd[$setting] = 0;
         }
     }
     // Register him
     $user = $TwitterConnect->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);
         $TwitterConnect->sync($newUser);
         // Login
         $TwitterConnect->login($user);
         // Redirect
         $TwitterConnect->redirect($mybb->input['redUrl'], $lang->sprintf($lang->mytwconnect_redirect_title, $user['username']), $lang->mytwconnect_redirect_registered);
     } else {
         $errors = inline_error($user['error']);
     }
 }
 $options = '';
 $settingsToBuild = array();
 // Checking if we want to sync that stuff (admin)
 $settingsToCheck = array('twavatar', 'twbio', 'twlocation');
 foreach ($settingsToCheck as $setting) {
     $tempKey = 'mytwconnect_' . $setting;
     if ($mybb->settings[$tempKey]) {