--- loncom/interface/loncommon.pm 2016/04/05 02:02:27 1.1240 +++ loncom/interface/loncommon.pm 2016/05/04 05:14:45 1.1243 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.1240 2016/04/05 02:02:27 raeburn Exp $ +# $Id: loncommon.pm,v 1.1243 2016/05/04 05:14:45 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -72,7 +72,7 @@ use Apache::lonuserstate(); use Apache::courseclassifier(); use LONCAPA qw(:DEFAULT :match); use DateTime::TimeZone; -use DateTime::Locale::Catalog; +use DateTime::Locale; use Encode(); use Text::Aspell; use Authen::Captcha; @@ -974,15 +974,16 @@ sub select_datelocale { } $output .= '> '; } + my @languages = &Apache::lonlocal::preferred_languages(); my (@possibles,%locale_names); - my @locales = DateTime::Locale::Catalog::Locales; - foreach my $locale (@locales) { - if (ref($locale) eq 'HASH') { - my $id = $locale->{'id'}; - if ($id ne '') { - my $en_terr = $locale->{'en_territory'}; - my $native_terr = $locale->{'native_territory'}; - my @languages = &Apache::lonlocal::preferred_languages(); + my @locales = DateTime::Locale->ids(); + foreach my $id (@locales) { + if ($id ne '') { + my ($en_terr,$native_terr); + my $loc = DateTime::Locale->load($id); + if (ref($loc)) { + $en_terr = $loc->name(); + $native_terr = $loc->native_name(); if (grep(/^en$/,@languages) || !@languages) { if ($en_terr ne '') { $locale_names{$id} = '('.$en_terr.')'; @@ -997,8 +998,8 @@ sub select_datelocale { } } $locale_names{$id} = Encode::encode('UTF-8',$locale_names{$id}); - push (@possibles,$id); - } + push(@possibles,$id); + } } } foreach my $item (sort(@possibles)) { @@ -5587,7 +5588,7 @@ sub bodytag { if (($crstype eq 'Placement') && (!$env{'request.role.adv'})) { undef($role); } else { - $role = '('.$role.')' if $role; + $role = '('.$role.')' if ($role && !$env{'browser.mobile'}); } if ($env{'request.state'} eq 'construct') { $forcereg=1; } @@ -5891,6 +5892,17 @@ div.LC_confirm_box .LC_success img { vertical-align: middle; } +.LC_maxwidth { + max-width: 100%; + height: auto; +} + +.LC_textsize_mobile { + \@media only screen and (max-device-width: 480px) { + -webkit-text-size-adjust:100%; -moz-text-size-adjust:100%; -ms-text-size-adjust:100%; + } +} + .LC_icon { border: none; vertical-align: middle; @@ -6018,6 +6030,10 @@ table#LC_menubuttons img { vertical-align: middle; } +.LC_breadcrumbs_hoverable { + background: $sidebg; +} + td.LC_table_cell_checkbox { text-align: center; } @@ -7961,7 +7977,13 @@ OFFLOAD $result .= '>' .$inhibitprint .$head_extra; - if ($env{'browser.mobile'}) { + my $clientmobile; + if (($env{'user.name'} eq '') && ($env{'user.domain'} eq '')) { + (undef,undef,undef,undef,undef,undef,$clientmobile) = &decode_user_agent(); + } else { + $clientmobile = $env{'browser.mobile'}; + } + if ($clientmobile) { $result .= ' ';