--- loncom/interface/loncommon.pm 2016/04/04 01:09:47 1.1239
+++ 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.1239 2016/04/04 01:09:47 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;
@@ -5996,6 +6008,12 @@ ul.LC_breadcrumb_tools_outerlist li {
float: right;
}
+.LC_placement_prog {
+ padding-right: 20px;
+ font-weight: bold;
+ font-size: 90%;
+}
+
table#LC_title_bar td {
background: $tabbg;
}
@@ -6012,6 +6030,10 @@ table#LC_menubuttons img {
vertical-align: middle;
}
+.LC_breadcrumbs_hoverable {
+ background: $sidebg;
+}
+
td.LC_table_cell_checkbox {
text-align: center;
}
@@ -7955,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 .= '
';