--- loncom/interface/Attic/lonremote.pm	2009/10/01 23:02:11	1.34
+++ loncom/interface/Attic/lonremote.pm	2022/01/16 17:32:44	1.34.4.1
@@ -1,7 +1,7 @@
 # The LearningOnline Network
 # User Authentication Module
 #
-# $Id: lonremote.pm,v 1.34 2009/10/01 23:02:11 raeburn Exp $
+# $Id: lonremote.pm,v 1.34.4.1 2022/01/16 17:32:44 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -102,6 +102,24 @@ ENDCOLLAPSE
     &Apache::lonnet::appenv({'environment.remote' => 'off'});
 }
 
+sub no_remote_launch {
+    my ($r)=@_;
+    my $brcrum = [{href=>"/adm/preferences",text=>"Set User Preferences"},
+                  {href=>"/adm/remote?url=/adm/preferences&action=launch",text=>"Launch Remote Control"}];
+    my $start_page = &Apache::loncommon::start_page('Remote Control Unavailable','',
+                                                    {'bread_crumbs' => $brcrum,});
+    my $end_page = &Apache::loncommon::end_page();
+    my $message='<p class="LC_info">'
+               .&mt('Launching of the Remote Control menu is unavailable in courses with customized menu collections.')
+               .'</p>';
+    $r->print(<<ENDLAUNCH);
+$start_page
+$message
+$end_page
+ENDLAUNCH
+    return;
+}
+
 sub handler {
     my $r = shift;
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
@@ -122,7 +140,18 @@ sub handler {
     return OK if $r->header_only;
 
     if ($env{'form.action'} eq 'launch') {
-	&launchremote($r,$lowerurl);
+        my $nolaunch;
+        if ($env{'request.course.id'}) {
+            my ($menucoll,$deeplinkmenu,$menuref) = &Apache::loncommon::menucoll_in_effect();
+            if ($menucoll) {
+                $nolaunch = 1;
+            }
+        }
+        if ($nolaunch) {
+            &no_remote_launch($r);
+        } else {
+	    &launchremote($r,$lowerurl);
+        }
     } else {
         &collapseremote($r,$lowerurl);
     }