--- loncom/interface/loncommon.pm 2006/07/17 19:47:20 1.429 +++ loncom/interface/loncommon.pm 2006/07/18 21:55:24 1.430 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.429 2006/07/17 19:47:20 www Exp $ +# $Id: loncommon.pm,v 1.430 2006/07/18 21:55:24 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -706,8 +706,68 @@ sub helpLatexCheatsheet { .''; } +sub general_help { + my $helptopic='Student_Intro'; + if ($env{'request.role'}=~/^(ca|au)/) { + $helptopic='Authoring_Intro'; + } elsif ($env{'request.role'}=~/^cc/) { + $helptopic='Course_Coordination_Intro'; + } + return $helptopic; +} + +sub update_help_link { + my ($topic,$component_help,$faq,$bug,$stayOnPage) = @_; + my $origurl = $ENV{'REQUEST_URI'}; + $origurl=~s|^/~|/priv/|; + my $timestamp = time; + foreach my $datum (\$topic,\$component_help,\$faq,\$bug,\$origurl) { + $$datum = &escape($$datum); + } + + my $banner_link = "/adm/helpmenu?page=banner&topic=$topic&component_help=$component_help&faq=$faq&bug=$bug&origurl=$origurl&stamp=$timestamp&stayonpage=$stayOnPage"; + my $output .= <<"ENDOUTPUT"; + +ENDOUTPUT + return $output; +} + +# now just updates the help link and generates a blue icon sub help_open_menu { - my ($topic,$component_help,$faq,$bug,$stayOnPage,$width,$height,$text) = @_; + my ($topic,$component_help,$faq,$bug,$stayOnPage,$width,$height,$text) + = @_; + + $stayOnPage = 0 if (not defined $stayOnPage); + if ($env{'browser.interface'} eq 'textual' || + $env{'environment.remote'} eq 'off' ) { + $stayOnPage=1; + } + my $output; + if ($component_help) { + if (!$text) { + $output=&help_open_topic($component_help,undef,$stayOnPage, + $width,$height); + } else { + my $help_text; + $help_text=&unescape($topic); + $output='
'. + &help_open_topic($component_help,$help_text,$stayOnPage, + $width,$height).'
'; + } + } + my $banner_link = &update_help_link($topic,$component_help,$faq,$bug,$stayOnPage); + return $output.$banner_link; +} + +sub top_nav_help { + my ($text) = @_; + + my ($topic,$component_help,$faq,$bug,$stayOnPage,$width,$height); + $text = "" if (not defined $text); $stayOnPage = 0 if (not defined $stayOnPage); if ($env{'browser.interface'} eq 'textual' || @@ -718,25 +778,15 @@ sub help_open_menu { $height = 600 if (not defined $height); my $link=''; my $title = &mt('Get help'); - my $origurl = $ENV{'REQUEST_URI'}; - $origurl=~s|^/~|/priv/|; - my $timestamp = time; - foreach my $datum (\$topic,\$component_help,\$faq,\$bug,\$origurl) { - $$datum = &escape($$datum); - } - if (!$stayOnPage) { - $link = "javascript:helpMenu('open')"; + if ($stayOnPage) { + $link = "javascript:helpMenu('display')"; } else { - $link = "javascript:helpMenu('display')"; + $link = "javascript:helpMenu('open')"; } - my $banner_link = "/adm/helpmenu?page=banner&topic=$topic&component_help=$component_help&faq=$faq&bug=$bug&origurl=$origurl&stamp=$timestamp&stayonpage=$stayOnPage"; - my $details_link = "/adm/helpmenu?page=body&topic=$topic&component_help=$component_help&faq=$faq&bug=$bug&origurl=$origurl&stamp=$timestamp"; + my $helptopic=&general_help(); + my $banner_link = &update_help_link($topic,$component_help,$faq,$bug,$stayOnPage); + my $details_link = '/adm/help/'.$helptopic.'.hlp'; my $template; - if ($text ne "") { - $template .= - "". - "
$text"; - } my $nothing=&Apache::lonhtmlcommon::javascript_nothing(); my $helpicon=&lonhttpdurl("/adm/lonIcons/helpgateway.gif"); my $start_page = @@ -754,6 +804,7 @@ sub help_open_menu { - (Help Menu) +$banner_link + $text(Help Menu) ENDTEMPLATE - if ($component_help) { - if (!$text) { - $template=&help_open_topic($component_help,undef,$stayOnPage, - $width,$height).' '.$template; - } else { - my $help_text; - $help_text=&unescape($topic); - $template='
'. - &help_open_topic($component_help,$help_text,$stayOnPage, - $width,$height).''.$template. - '
'; - } - } - if ($text ne '') { $template.='
' }; return $template; }