getAccessToken($_GET['oauth_verifier']); if( !isset($access_token) ) { debug_event("Twitter", "Couldn't get access token", "5"); header('Location: ' . Config::get('web_path')); } // Save it in a session var $_SESSION['access_token'] = $access_token; // Let's get the user's info $user_info = $twitteroauth->get('account/verify_credentials'); debug_event("Twttier", "User ID:{$user_info->id}. ScreenName:{$user_info->screen_name}.", "5"); debug_event("Twitter", "access token:" . $access_token['oauth_token'], "5"); debug_event("Twitter", "access token secret:" . $access_token['oauth_token_secret'], "5"); if( isset($user_info->error)) { debug_event("Twitter", "Error verifying credentials", "5"); session_destroy(); header('Location: ' . Config::get('web_path')); } else { // Let's find the user by its twitterid and ampacheid $idselectquery = "SELECT * FROM twitter_users WHERE oauth_provider = 'twitter' AND oauth_uid = ". $user_info->id . " AND ampache_id = " . $_SESSION['userdata']['uid']; debug_event("Twitter", "Id query: " . $idselectquery, "6"); $idselectrun = Dba::read($idselectquery); $result = Dba::fetch_assoc($idselectrun); debug_event("Twitter", "ampache_id: {$_SESSION['userdata']['uid']}", "5"); debug_event("Twitter", "oauth_uid: {$user_info->id}", "5"); debug_event("Twitter", "oauth_token: {$access_token['oauth_token']}", "5"); debug_event("Twitter", "oauth_secret: {$access_token['oauth_token_secret']}", "5"); debug_event("Twitter", "username: {$user_info->screen_name}", "5"); // If not, let's add it to the database if(empty($result)){ debug_event("Twitter", "First time user. Add them to the DB.", "5"); $insert_query ="INSERT INTO twitter_users (ampache_id, oauth_provider, oauth_uid, oauth_token, oauth_secret, username) VALUES ( '{$_SESSION['userdata']['uid']}', 'twitter', '{$user_info->id}', '{$access_token['oauth_token']}', '{$access_token['oauth_token_secret']}', '{$user_info->screen_name}')"; debug_event("Twitter", "Insert query: " . $insert_query, "6"); $insert_run = Dba::write($insert_query); $select_query = "SELECT * FROM twitter_users WHERE username = '" . $user_info->screen_name . "' AND ampache_id = " . $_SESSION['userdata']['uid']; debug_event("Twitter", "Select query: {$query}", "6"); $select_run = Dba::read( $select_query ); $result = Dba::fetch_assoc($select_run); } else { debug_event("Twitter", "Update the DB to hold current tokens", "5"); $update_query = "UPDATE twitter_users SET oauth_token = '{$access_token['oauth_token']}', oauth_secret = '{$access_token['oauth_token_secret']}' WHERE oauth_provider = 'twitter' AND oauth_uid = {$user_info->id} AND ampache_id = {$_SESSION['userdata']['uid']}"; debug_event("Twitter", "update query: " . $update_query, "6"); $update_run = Dba::write($update_query); $select_query = "SELECT * FROM twitter_users WHERE username = '" . $user_info->screen_name . "'"; debug_event("Twitter", "select query: " . $select_query, "6"); $select_run = Dba::read($select_query); $result = Dba::fetch_assoc($select_run); } $_SESSION['id'] = $result['id']; $_SESSION['twitterusername'] = $result['username']; $_SESSION['oauth_uid'] = $result['oauth_uid']; $_SESSION['oauth_provider'] = $result['oauth_provider']; $_SESSION['oauth_token'] = $result['oauth_token']; $_SESSION['oauth_secret'] = $result['oauth_secret']; header('Location: ' . Config::get('web_path') . '/modules/twitter/twitter_update.php'); } ?>