public static function get_by_info($info, $update_oauth_token=true) {
	$mysql = bootstrap::get_library('mysql');
	
	// find via the oauth token
	$sql   = "SELECT * FROM `login_github` WHERE `oauth_token` = '%s';";
	$login = $mysql::select('row', $sql, $info['oauth_token']);
	if (!empty($login)) {
		return new static($login['id']);
	}
	
	// find via the github username
	$sql   = "SELECT * FROM `login_github` WHERE `github_username` = '%s';";
	$login = $mysql::select('row', $sql, $info['github_username']);
	if (empty($login)) {
		return false;
	}
	
	$object = new static($login['id']);
	
	// keep token up to date
	if ($update_oauth_token && $info['oauth_token'] != $login['oauth_token']) {
		$object->update_oauth_token($info['oauth_token']);
	}
	
	return $object;
}