--- loncom/interface/loncommon.pm 2004/06/11 02:21:45 1.192 +++ loncom/interface/loncommon.pm 2004/07/03 18:49:42 1.193 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.192 2004/06/11 02:21:45 taceyjo1 Exp $ +# $Id: loncommon.pm,v 1.193 2004/07/03 18:49:42 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -637,6 +637,73 @@ sub helpLatexCheatsheet { .''; } +sub help_open_menu { + my ($color,$topic,$component_help,$function,$faq,$bug,$stayOnPage,$width,$height,$text) = @_; + $text = "" if (not defined $text); + $stayOnPage = 0 if (not defined $stayOnPage); + if ($ENV{'browser.interface'} eq 'textual' || + $ENV{'environment.remote'} eq 'off' ) { + $stayOnPage=1; + } + $width = 620 if (not defined $width); + $height = 600 if (not defined $height); + my $link=''; + my $title = &mt('Choose your help'); + my $origurl = $ENV{'REQUEST_URI'}; + my $timestamp = time; + my %formhash = (); + if ($ENV{'request.course.fn'}) { + open(FILE,">$ENV{'request.course.fn'}.formdata"); + &get_unprocessed_cgi($ENV{'QUERY_STRING'},undef); + foreach (keys %ENV) { + if ($_ =~ m/^form\.(.+)$/) { + if (ref($ENV{$_}) eq 'ARRAY') { + my $valstr = join(",",@{$ENV{$_}}); + print FILE "$1 = $valstr\n"; + } else { + print FILE "$1 = $ENV{$_}\n"; + } + } + } + close(FILE); + } + foreach (\$color,\$function,\$topic,\$component_help,\$faq,\$bug,\$origurl) { + $$_ = &Apache::lonnet::escape($$_); + } + + if (!$stayOnPage) + { + $link = "javascript:helpMenu('open')"; + } + else + { + $link = "javascript:helpMenu('display')"; + } + my $banner_link = "/adm/helpmenu?page=banner&color=$color&function=$function&topic=$topic&component_help=$component_help&faq=$faq&bug=$bug&origurl=$origurl&stamp=$timestamp"; + my $details_link = "/adm/helpmenu?page=body&color=$color&function=$function&topic=$topic&component_help=$component_help&faq=$faq&bug=$bug&origurl=$origurl&stamp=$timestamp"; + my $template .= <<"ENDTEMPLATE"; + + (Help Menu) +ENDTEMPLATE + return $template; +} + sub help_open_bug { my ($topic, $text, $stayOnPage, $width, $height) = @_; unless ($ENV{'user.adv'}) { return ''; }