--- loncom/interface/lonhtmlcommon.pm 2004/08/05 16:59:29 1.86
+++ loncom/interface/lonhtmlcommon.pm 2004/11/23 16:04:33 1.99
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common html routines
#
-# $Id: lonhtmlcommon.pm,v 1.86 2004/08/05 16:59:29 albertel Exp $
+# $Id: lonhtmlcommon.pm,v 1.99 2004/11/23 16:04:33 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -117,15 +117,22 @@ sub store_recent {
time.'&'.&Apache::lonnet::escape($value) });
}
+sub remove_recent {
+ my ($area,$names)=@_;
+ my $file=&recent_filename($area);
+ return &Apache::lonnet::del($file,$names);
+}
+
sub select_recent {
my ($area,$fieldname,$event)=@_;
my %recent=&Apache::lonnet::dump(&recent_filename($area));
my $return="\n\n";
+ my $minuteselector = qq{};
+ my $secondselector= qq{};
+ my $cal_link = qq{};
+ #
+ if ($no_hh_mm_ss) {
+ $result .= &mt('[_1] [_2] [_3] [_4]Select Date[_5]',
+ $monthselector,$dayselector,$yearselector,
+ $cal_link,'');
+ } else {
+ $result .= &mt('[_1] [_2] [_3] [_4] [_5]m [_6]s [_7]Select Date[_8]',
+ $monthselector,$dayselector,$yearselector,
+ $hourselector,$minuteselector,$secondselector,
+ $cal_link,'');
+ }
+ $result .= "\n\n";
return $result;
}
@@ -519,6 +548,27 @@ sub javascript_nothing {
return $nothing;
}
+##############################################
+##############################################
+sub javascript_docopen {
+ # safari does not understand document.open() and loads "text/html"
+ my $nothing = "''";
+ my $user_browser;
+ my $user_os;
+ $user_browser = $ENV{'browser.type'} if (exists($ENV{'browser.type'}));
+ $user_os = $ENV{'browser.os'} if (exists($ENV{'browser.os'}));
+ if (! defined($user_browser) || ! defined($user_os)) {
+ (undef,$user_browser,undef,undef,undef,$user_os) =
+ &Apache::loncommon::decode_user_agent();
+ }
+ if ($user_browser eq 'safari' && $user_os =~ 'mac') {
+ $nothing = "document.clear()";
+ } else {
+ $nothing = "document.open('text/html','replace')";
+ }
+ return $nothing;
+}
+
##############################################
##############################################
@@ -777,8 +827,10 @@ sub Increment_PrgWin {
my $sec = $time_est % 60;
#
my $str;
- if ($min == 1 && $sec > 1) {
+ if ($min == 0 && $sec > 1) {
$str = '[_2] seconds';
+ } elsif ($min == 1 && $sec > 1) {
+ $str = '1 minute [_2] seconds';
} elsif ($min == 1 && $sec < 2) {
$str = '1 minute';
} elsif ($min < 10 && $sec > 1) {
@@ -852,15 +904,20 @@ sub crumbs {
$output.=''.$prefix.'/';
if ($ENV{'user.adv'}) {
my $path=$prefix.'/';
- foreach (split('/',$uri)) {
- unless ($_) { next; }
- $path.=$_;
+ foreach my $dir (split('/',$uri)) {
+ if (! $dir) { next; }
+ $path .= $dir;
unless ($path eq $uri) { $path.='/'; }
- my $linkpath=$path;
- if ($form) {
- $linkpath="javascript:$form.action='$path';$form.submit();";
- }
- $output.=''.$_.'/';
+ my $linkpath = &Apache::loncommon::escape_single($path);
+ if ($form) {
+ $linkpath=
+ qq{javascript:$form.action='$linkpath';$form.submit();};
+ }
+ if ($target) {
+ $target = ' target="'.
+ &Apache::loncommon::escape_single($target).'"';
+ }
+ $output.=qq{$dir/};
}
} else {
$output.=$uri;
@@ -875,7 +932,7 @@ sub spellheader {
my $nothing = &javascript_nothing();
return (<
-// BEGIN LON-CAPA Internal
+//
ENDCHECK
}
@@ -926,14 +983,14 @@ sub htmlareaaddbuttons {
config.registerButton('ed_math','LaTeX Inline',
'/htmlarea/images/ed_math.gif',false,
function(editor,id) {
- editor.surroundHTML('\$','\$');
+ editor.surroundHTML(' \$','\$ ');
}
);
config.registerButton('ed_math_eqn','LaTeX Equation',
'/htmlarea/images/ed_math_eqn.gif',false,
function(editor,id) {
editor.surroundHTML(
- '\\\\[','\\\\]');
+ ' \\n\\\\[','\\\\]\\n ');
}
);
config.toolbar.push(['ed_math','ed_math_eqn']);
@@ -947,7 +1004,7 @@ sub disablelink {
if (defined($#fields)) {
unless ($#fields>=0) { return ''; }
}
- return ''.&mt('Disable WYSIWYG Editor').'';
+ return ''.&mt('Disable WYSIWYG Editor').'';
}
sub enablelink {
@@ -955,7 +1012,7 @@ sub enablelink {
if (defined($#fields)) {
unless ($#fields>=0) { return ''; }
}
- return ''.&mt('Enable WYSIWYG Editor').'';
+ return ''.&mt('Enable WYSIWYG Editor').'';
}
# ----------------------------------------- Script to activate only some fields
@@ -1034,8 +1091,8 @@ returns: nothing
my @Crumbs;
sub breadcrumbs {
- my ($color,$component,$component_help,$function,$domain,$menulink) =
- @_;
+ my ($color,$component,$component_help,$function,$domain,$menulink,
+ $helplink) = @_;
if (! defined($color)) {
if (! defined($function)) {
$function = &Apache::loncommon::get_users_function();
@@ -1097,7 +1154,9 @@ returns: nothing
# if ($bug ne '') {
# $icons .= &Apache::loncommon::help_open_bug($bug);
# }
- $icons .= &Apache::loncommon::help_open_menu($color,$component,$component_help,$function,$faq,$bug);
+ if ($helplink ne 'nohelp') {
+ $icons .= &Apache::loncommon::help_open_menu($color,$component,$component_help,$function,$faq,$bug);
+ }
if ($icons ne '') {
$Str .= $icons.' ';
}