/**
 * Load the Twitter widget and required files
 *
 * Normally I would load this on genesis_init skip the function_exists( 'genesis' ) 
 * but this needs to load on widgets_init
 */
function gltw_load_widget()
{
    // Remove Genesis Twiter Widget
    if (function_exists('genesis')) {
        unregister_widget('Genesis_Latest_Tweets_Widget');
        require_once GLTW_INC . '/functions.php';
        gltw_log('inc-functions');
        gltw_log('twitter-api-core');
        require_once GLTW_API . '/twitter-api-core.php';
        gltw_log('twitter-api');
        require_once GLTW_API . '/twitter-api.php';
        gltw_log('inc-widget');
        require_once GLTW_INC . '/xhtml-widget.php';
        register_widget('Genesis_Latest_Tweets');
        // Include application settings panel if in admin area
        if (is_admin()) {
            require_once GLTW_INC . '/admin.php';
        }
    }
}
 /**
  * Exchange request token for an access token after authentication/authorization by user
  * @return TwitterOAuthToken Access token
  */
 public static function api_oauth_access_token($consumer_key, $consumer_secret, $request_key, $request_secret, $oauth_verifier)
 {
     gltw_log();
     $Client = GLTW_API::api_client('oauth');
     $Client->set_oauth($consumer_key, $consumer_secret, $request_key, $request_secret);
     $params = $Client->oauth_exchange(OAUTH_ACCESS_TOKEN_URL, compact('oauth_verifier'));
     return new TwitterOAuthToken($params['oauth_token'], $params['oauth_token_secret']);
 }