Unverified Commit 90c2c650 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Use Accept-Language header if user has no preferred languages

parent 814cb4a4
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -164,14 +164,13 @@ sub startup {

			# TODO load languages from user profile, if set

			my @languages = ('en-GB');
			if ( $self->is_user_authenticated ) {
			my @languages;
			if ( $self->is_user_authenticated
				and @{ $self->current_user->{languages} } )
			{
				@languages = @{ $self->current_user->{languages} };
			}
			elsif ( my $languages = $self->req->headers->accept_language ) {
				@languages = ();

				#say "-- Accept-Language: $languages";
				for my $lang ( split( qr{ \s* , \s* }x, $languages ) ) {
					if ( $lang =~ m{ ^ de }x ) {
						push( @languages, 'de-DE' );
+6 −5
Original line number Diff line number Diff line
@@ -413,7 +413,7 @@ sub get {

	my $user = $db->select(
		'users_with_backend',
		'id, name, status, public_level, email, '
		'id, name, status, public_level, email, language, '
		  . 'accept_follows, notifications, '
		  . 'extract(epoch from registered_at) as registered_at_ts, '
		  . 'extract(epoch from last_seen) as last_seen_ts, '
@@ -425,6 +425,7 @@ sub get {
		return {
			id            => $user->{id},
			name          => $user->{name},
			languages     => [ split( qr{[|]}, $user->{language} // q{} ) ],
			status        => $user->{status},
			notifications => $user->{notifications},
			accept_follows         => $user->{accept_follows} == 2 ? 1 : 0,