--- loncom/interface/lonhtmlcommon.pm 2008/12/17 12:59:49 1.196
+++ loncom/interface/lonhtmlcommon.pm 2009/06/16 15:17:12 1.225
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common html routines
#
-# $Id: lonhtmlcommon.pm,v 1.196 2008/12/17 12:59:49 harmsja Exp $
+# $Id: lonhtmlcommon.pm,v 1.225 2009/06/16 15:17:12 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -62,6 +62,31 @@ use Apache::lonlocal;
use Apache::lonnet;
use LONCAPA;
+##############################################
+##############################################
+
+=pod
+
+=item confirm_success
+
+Successful completion of an operation message
+
+=cut
+
+sub confirm_success {
+ my ($message,$failure)=@_;
+ if ($failure) {
+ return ''."\n"
+ .' '."\n"
+ .$message."\n"
+ .''."\n";
+ } else {
+ return ''."\n"
+ .' '."\n"
+ .$message."\n"
+ .''."\n";
+ }
+}
##############################################
##############################################
@@ -105,11 +130,13 @@ sub dragmath_js {
my ($popup) = @_;
return <
+ //
ENDDRAGMATHJS
@@ -136,7 +163,7 @@ sub authorbombs {
foreach (keys %bombs) {
if ($_=~/^$udom\/$uname\//) {
return ''.
+ '">'.
&Apache::loncommon::help_open_topic('About_Bombs');
}
}
@@ -285,7 +312,7 @@ sub checkbox {
$Str .= 'value="'.$value.'"';
}
if ($checked) {
- $Str .= ' checked="1"';
+ $Str .= ' checked="checked"';
}
$Str .= ' />';
return $Str;
@@ -307,7 +334,7 @@ sub radio {
$Str .= 'value="'.$value.'"';
}
if ($checked eq $value) {
- $Str .= ' checked="1"';
+ $Str .= ' checked="checked"';
}
$Str .= ' />';
return $Str;
@@ -405,6 +432,7 @@ sub date_setter {
my $result = "\n\n";
$result .= <
+//
ENDJS
$result .= ' ';
@@ -950,17 +979,20 @@ sub Create_PrgWin {
#the whole function called through timeout is due to issues
#in mozilla Read BUG #2665 if you want to know the whole story
&r_print($r,'");
+ "\nwindow.setTimeout(openpopwin,0)".
+ '// ]]>'.
+ '');
$prog_state{'formname'}='popremain';
$prog_state{'inputname'}="remaining";
} elsif ($type eq 'inline') {
@@ -993,10 +1025,14 @@ sub Create_PrgWin {
# update progress
sub Update_PrgWin {
my ($r,$prog_state,$displayString)=@_;
- &r_print($r,'');
+ $displayString.'";'.
+ '// ]]>'.
+ '');
$$prog_state{'laststart'}=&Time::HiRes::time();
}
@@ -1049,11 +1085,15 @@ sub Increment_PrgWin {
if ($user_browser eq 'explorer' && $user_os =~ 'mac') {
$lasttime = '';
}
- &r_print($r,'');
+ ': '.$time_est.' '.&mt('remaining').' '.$lasttime.'";'.
+ '// ]]>'.
+ '');
$$prog_state{'laststart'}=&Time::HiRes::time();
}
@@ -1061,7 +1101,11 @@ sub Increment_PrgWin {
sub Close_PrgWin {
my ($r,$prog_state)=@_;
if ($$prog_state{'type'} eq 'popup') {
- &r_print($r,''."\n");
+ &r_print($r,''."\n");
} elsif ($$prog_state{'type'} eq 'inline') {
&Update_PrgWin($r,$prog_state,&mt('Done'));
}
@@ -1143,6 +1187,7 @@ sub spellheader {
my $nothing=&javascript_nothing();
return (<
+//
+// ]]>
ENDCHECK
}
@@ -1226,7 +1272,8 @@ sub htmlareaselectactive {
my @fields=@_;
unless (&htmlareabrowser()) { return ''; }
if (&htmlareablocked()) { return ' '.&enablelink(@fields); }
- my $output=' ".
+ $output.="\nwindow.status='Activated Editfields';\n"
+ .'// ]]>'
+ .' '.
&disablelink(@fields);
return $output;
}
@@ -1265,19 +1314,19 @@ sub htmlareabrowser {
=item breadcrumbs
Compiles the previously registered breadcrumbs into an series of links.
-FAQ and BUG links will be placed on the left side of the table if they
-are defined for the last registered breadcrumb.
Additionally supports a 'component', which will be displayed on the
-right side of the table (without a link).
+right side of the breadcrumbs enclosing div (without a link).
A link to help for the component will be included if one is specified.
All inputs can be undef without problems.
-Inputs: $component (the large text on the right side of the table),
+Inputs: $component (the text on the right side of the breadcrumbs trail),
$component_help
$menulink (boolean, controls whether to include a link to /adm/menu)
$helplink (if 'nohelp' don't include the orange help link)
$css_class (optional name for the class to apply to the table for CSS)
+ $no_mt (optional flag, 1 if &mt() is _not_ to be applied to $component
+ when including the text on the right.
Returns a string containing breadcrumbs for the current page.
=item clear_breadcrumbs
@@ -1303,22 +1352,21 @@ returns: nothing
my @Crumbs;
sub breadcrumbs {
- my ($component,$component_help,$menulink,$helplink,$css_class) = @_;
- #
- $css_class ||= 'LC_breadcrumbs';
- my $Str = "\n".'
';
+ my ($component,$component_help,$menulink,$helplink,$css_class,$no_mt, $CourseBreadcrumbs) = @_;
#
+ $css_class ||= 'LC_breadcrumbs';
+
# Make the faq and bug data cascade
- my $faq = '';
- my $bug = '';
- my $help='';
- # Crumb Symbol
- my $crumbsymbol = ' ▶ ';
+ my $faq = '';
+ my $bug = '';
+ my $help = '';
+ # Crumb Symbol
+ my $crumbsymbol = '»';
# The last breadcrumb does not have a link, so handle it separately.
my $last = pop(@Crumbs);
#
# The first one should be the course or a menu link
- if (!defined($menulink)) { $menulink=1; }
+ if (!defined($menulink)) { $menulink=1; }
if ($menulink) {
my $description = 'Menu';
my $no_mt_descr = 0;
@@ -1328,44 +1376,46 @@ returns: nothing
$env{'course.'.$env{'request.course.id'}.'.description'};
$no_mt_descr = 1;
}
- unshift(@Crumbs,{
- href =>'/adm/menu',
- title =>'Go to main menu',
- target =>'_top',
- text =>$description,
- no_mt =>$no_mt_descr,
- });
+ $menulink = { href =>'/adm/menu',
+ title =>'Go to main menu',
+ target =>'_top',
+ text =>$description,
+ no_mt =>$no_mt_descr, };
+ if($last) {
+ #$last set, so we have some crumbs
+ unshift(@Crumbs,$menulink);
+ } else {
+ #only menulink crumb present
+ $last = $menulink;
+ }
}
- my $links .=
- join($crumbsymbol,
+ my $links = join "",
map {
- $faq = $_->{'faq'} if (exists($_->{'faq'}));
- $bug = $_->{'bug'} if (exists($_->{'bug'}));
+ $faq = $_->{'faq'} if (exists($_->{'faq'}));
+ $bug = $_->{'bug'} if (exists($_->{'bug'}));
$help = $_->{'help'} if (exists($_->{'help'}));
- my $result = '