Update of /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24219
Modified Files:
Request.pm
Log Message:
rename find_language() to assign_languages(), and document; get rid of
the custom language class thing (yuck)
Index: Request.pm
===================================================================
RCS file: /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/Request.pm,v
retrieving revision 1.51
retrieving revision 1.52
diff -C2 -d -r1.51 -r1.52
*** Request.pm 17 Feb 2005 05:01:55 -0000 1.51
--- Request.pm 25 Feb 2005 05:37:45 -0000 1.52
***************
*** 348,353 ****
}
! sub find_language {
! my ( $self ) = @_;
my @lang = ();
my $lang_config = CTX->lookup_language_config;
--- 348,361 ----
}
! sub assign_languages {
! my ( $self, @assigned ) = @_;
! if ( scalar @assigned ) {
! delete $self->{_lang_handle}; # clear out cache
! $self->{_user_language} = \@assigned;
! $log->is_debug &&
! $log->debug( "Request property 'language' assigned to: ",
! join( ', ', @assigned ) );
! return;
! }
my @lang = ();
my $lang_config = CTX->lookup_language_config;
***************
*** 384,393 ****
}
! if ( my @clubber_lang = $self->_find_custom_languages( @lang ) ) {
! $self->{_user_language} = \@clubber_lang;
! }
! else {
! $self->{_user_language} = \@lang;
! }
$log->is_debug &&
$log->debug( "Request property 'language' now: ",
--- 392,396 ----
}
! $self->{_user_language} = \@lang;
$log->is_debug &&
$log->debug( "Request property 'language' now: ",
***************
*** 419,444 ****
}
- sub _find_custom_languages {
- my ( $self, @oi_lang ) = @_;
- my $lang_info = CTX->lookup_language_config;
- return unless ( $lang_info->{custom_language_id_class} );
- $log ||= get_logger( LOG_REQUEST );
-
- my $lang_class = $lang_info->{custom_language_id_class};
- $log->is_debug &&
- $log->debug( "Running custom lang ID class '$lang_class'" );
- my @new_langs = eval {
- $lang_class->identify_languages( @oi_lang )
- };
- if ( $@ ) {
- $log->error( "Failed to get custom languages from ",
- "'$lang_class': $@" );
- return ();
- }
- else {
- return @new_langs;
- }
- }
-
sub language_handle {
my ( $self ) = @_;
--- 422,425 ----
***************
*** 706,709 ****
--- 687,724 ----
localized messages.
+ B<assign_languages( [ @assigned ] )>
+
+ Typically called only by an adapter or the authentication classes
+ which use the default behavior described below. But you can also
+ assign languages directly to the request object with this:
+
+ $request->assign_languages( 'en', 'jp', 'sv' );
+
+ If you do assign languages directly any language handle previously
+ cached for the request is removed.
+
+ Otherwise we find the language from one of:
+
+ =over 4
+
+ =item *
+
+ the user (if logged in)
+
+ =item *
+
+ session (from 'language' key);
+
+ =item *
+
+ parameter value (listed in server configuration of
+ 'language.choice_param_name';
+
+ =item *
+
+ or default language set in 'language.default_language'.
+
+ =back
+
=head2 Properties
|