--- loncom/interface/courseprefs.pm 2023/10/06 23:01:38 1.49.2.28.2.18 +++ loncom/interface/courseprefs.pm 2024/02/25 05:53:47 1.49.2.28.2.20 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set configuration settings for a course # -# $Id: courseprefs.pm,v 1.49.2.28.2.18 2023/10/06 23:01:38 raeburn Exp $ +# $Id: courseprefs.pm,v 1.49.2.28.2.20 2024/02/25 05:53:47 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -372,6 +372,12 @@ sub handler { my %values=&Apache::lonnet::dump('environment',$cdom,$cnum); my %linkprot=&Apache::lonnet::dump('lti',$cdom,$cnum,undef,undef,undef,1); + my %domdefs = &Apache::lonnet::get_domain_defaults($cdom); + unless ($phase eq 'process') { + if (ref($domdefs{'linkprotsuggested'}) eq 'HASH') { + $values{'suggested'} = $domdefs{'linkprotsuggested'}; + } + } my %ltienc = &Apache::lonnet::dump('nohist_ltienc',$cdom,$cnum,undef,undef,undef,1); my %ltitools = &Apache::lonnet::dump('ltitools',$cdom,$cnum,undef,undef,undef,1); my %ltitoolsenc = &Apache::lonnet::dump('nohist_toolsenc',$cdom,$cnum,undef,undef,undef,1); @@ -778,9 +784,38 @@ sub print_config_box { '; + if ($action eq 'linkprot') { + if ((ref($settings) eq 'HASH') && (ref($settings->{'suggested'}) eq 'HASH')) { + my $hints; + my $hintcount = 0; + foreach my $key (sort { $a <=> $b } keys(%{$settings->{'suggested'}})) { + if ((ref($settings->{'suggested'}->{$key}) eq 'HASH')) { + if (($settings->{'suggested'}->{$key}-{'name'} ne '') && + ($settings->{'suggested'}->{$key}-{'info'} ne '')) { + my $css_class = $hintcount%2?' class="LC_odd_row"':' class="LC_even_row"'; + $hints .= ''. + ''; + $hintcount ++; + } + } + } + if ($hintcount) { + $output .= ''. + ''. + ''."\n". + ''. + ''. + ''."\n". + $hints; + } + } + } if (exists $item->{'header'}->[0]->{'col1'} || exists $item->{'header'}->[0]->{'col2'}) { - $output .= ' + $output .= ' '; if (($action eq 'courseinfo') || ($action eq 'localization') || @@ -6827,7 +6862,7 @@ sub menuitems_categories { shown => ['top','inline','foot','main'], text => ['name','role','crs','disc','fdbk'], links => ['pers','logo','comm','roles','help','logout'], - list => ['about','prefs','port','wish','anno','rss'], + list => ['about','prefs','port','wish','anno','rss','srch','brse'], inline => ['cont','grades','chat','people','groups','resv','syll','feeds'], ); return (\@order,\%categories); @@ -6866,6 +6901,8 @@ sub menuitems_fields { wish => 'Stored Links', anno => 'Calendar', rss => 'RSS Feeds', + srch => 'Search Library', + brse => 'Browse Library', cont => 'Contents', grades => 'Grades', chat => 'Chat',
'. + $settings->{'suggested'}->{$key}->{'name'}.'
'.
+                                      $settings->{'suggested'}->{$key}->{'info'}.
+                                      '
'.&mt('Recommendation(s) for specific launcher application(s)').'
'.&mt('Launcher Application').''.&mt('Recommendation(s)').'
'.&mt($item->{'header'}->[0]->{'col1'}).'