--- loncom/interface/loncommon.pm 2007/09/10 23:03:38 1.581 +++ loncom/interface/loncommon.pm 2007/09/11 20:36:30 1.582 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.581 2007/09/10 23:03:38 albertel Exp $ +# $Id: loncommon.pm,v 1.582 2007/09/11 20:36:30 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2563,6 +2563,29 @@ sub preferred_languages { return @genlanguages; } +sub languages { + my ($possible_langs) = @_; + my @preferred_langs = &preferred_languages(); + if (!ref($possible_langs)) { + if( wantarray ) { + return @preferred_langs; + } else { + return $preferred_langs[0]; + } + } + my %possibilities = map { $_ => 1 } (@$possible_langs); + my @preferred_possibilities; + foreach my $preferred_lang (@preferred_langs) { + if (exists($possibilities{$preferred_lang})) { + push(@preferred_possibilities, $preferred_lang); + } + } + if( wantarray ) { + return @preferred_possibilities; + } + return $preferred_possibilities[0]; +} + ############################################################### ## Student Answer Attempts ## ###############################################################