-->

Code

sub handler {
        my ($session) = @_;
        return undef unless $session->form->get('op') eq 'setLanguage';
        my $language = $session->form->get('language');

        #check whether a language has been given in the url
        if (!$language) {
                $session->errorHandler->error('There is no language given to this method');
                return undef;
        }
        #make it possible to delete the language scratch variable from the session
        if ($language eq 'delete' && $session->scratch->get('language')) {
                $session->scratch->delete('language');
                return undef;
        }
        #set a scratch variable language or throw error if language is not installed
        my $i = WebGUI::International->new($session);
        if($i->getLanguages()->{$language}) {
                $session->scratch->set("language",$language);
                return undef;
        }
        else {
                $session->errorHandler->error("Language $language is not installed in this site");
                return undef;
        }
}




English
Previous: Other method