--- loncom/interface/lonmenu.pm 2003/02/14 15:14:37 1.37
+++ loncom/interface/lonmenu.pm 2003/02/14 21:22:04 1.39
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines to control the menu
#
-# $Id: lonmenu.pm,v 1.37 2003/02/14 15:14:37 www Exp $
+# $Id: lonmenu.pm,v 1.39 2003/02/14 21:22:04 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -41,6 +41,223 @@ use Apache::loncommon;
use Apache::File;
use vars qw(@desklines $readdesk);
+# ======================================================= Make the menu buttons
+
+sub menubuttons {
+ my $forcereg=shift;
+ my $target =shift;
+ unless ($ENV{'browser.interface'} eq 'textual') { return ''; }
+ my $output='Main Menu
';
+ return $output."
";
+}
+
+# ============================================== Register a URL with the remote
+
+
+sub registerurl {
+ my $forcereg=shift;
+ my $target = shift;
+ my $result = '';
+
+ if ($target eq 'edit') {
+ $result .="\n";
+ }
+ if (($ENV{'browser.interface'} eq 'textual') ||
+ ((($ENV{'request.publicaccess'}) ||
+ (!&Apache::lonnet::is_on_map($ENV{'REQUEST_URI'}))) &&
+ (!$forcereg))) {
+ return $result.
+ '';
+ }
+ if ($Apache::lonxml::registered && !$forcereg) { return ''; }
+ $Apache::lonxml::registered=1;
+ my $reopen=&Apache::lonmenu::reopenmenu();
+ my $newmail='';
+ if (&Apache::lonmsg::newmail()) {
+ $newmail='swmenu.setstatus("you have","messages");';
+ }
+ my $timesync='swmenu.syncclock(1000*'.time.');';
+ if (($ENV{'REQUEST_URI'}!~/^\/(res\/)*adm\//) || ($forcereg)) {
+ my $hwkadd='';
+ if ($ENV{'request.filename'}=~/\.(problem|exam|quiz|assess|survey|form)$/) {
+ if (&Apache::lonnet::allowed('vgr',$ENV{'request.course.id'})) {
+ $hwkadd.=(<
+// BEGIN LON-CAPA Internal
+
+ function LONCAPAreg() {
+ swmenu=$reopen;
+ swmenu.clearTimeout(swmenu.menucltim);
+ $timesync
+ $newmail
+ swmenu.currentURL=window.location.pathname;
+ swmenu.reloadURL=window.location.pathname;
+ swmenu.currentSymb="$ENV{'request.symb'}";
+ swmenu.reloadSymb="$ENV{'request.symb'}";
+ swmenu.currentStale=0;
+ swmenu.clearbut(3,1);
+ swmenu.switchbutton
+ (6,3,'catalog.gif','catalog','info','catalog_info()','Show catalog information');
+ swmenu.switchbutton
+ (8,1,'eval.gif','evaluate','this','gopost("/adm/evaluate",currentURL)','Provide my evaluation of this resource');
+ swmenu.switchbutton
+ (8,2,'fdbk.gif','feedback','discuss','gopost("/adm/feedback",currentURL)','Provide feedback messages or contribute to the course discussion about this resource');
+ swmenu.switchbutton
+ (8,3,'prt.gif','prepare','printout','gopost("/adm/printout",currentURL)','Prepare a printable document');
+ swmenu.switchbutton
+ (2,1,'back.gif','backward','','gopost("/adm/flip","back:"+currentURL)','Go to the previous resource in the course sequence');
+ swmenu.switchbutton
+ (2,3,'forw.gif','forward','','gopost("/adm/flip","forward:"+currentURL)','Go to the next resource in the course sequence');
+ swmenu.switchbutton
+ (9,1,'sbkm.gif','set','bookmark','set_bookmark()','Set a bookmark for this resource');
+ swmenu.switchbutton
+ (9,2,'vbkm.gif','view','bookmark','edit_bookmarks()','Use or edit my bookmark collection');
+ swmenu.switchbutton
+ (9,3,'anot.gif','anno-','tations','annotate()','Make notes and annotations about this resource');
+ $hwkadd
+ $editbutton
+ }
+
+ function LONCAPAstale() {
+ swmenu=$reopen
+ swmenu.currentStale=1;
+ if (swmenu.reloadURL!='' && swmenu.reloadURL!= null) {
+ swmenu.switchbutton
+ (3,1,'reload.gif','return','location','go(reloadURL)','Return to the last known location in the course sequence');
+ }
+ swmenu.clearbut(7,1);
+ swmenu.clearbut(7,2);
+ swmenu.clearbut(7,3);
+ swmenu.menucltim=swmenu.setTimeout(
+ 'clearbut(2,1);clearbut(2,3);clearbut(8,1);clearbut(8,2);clearbut(8,3);'+
+ 'clearbut(9,1);clearbut(9,2);clearbut(9,3);clearbut(6,3);clearbut(6,1)',
+ 2000);
+
+ }
+
+// END LON-CAPA Internal
+
+ENDREGTHIS
+
+ } else {
+ $result = (<
+// BEGIN LON-CAPA Internal
+
+ function LONCAPAreg() {
+ swmenu=$reopen
+ $timesync
+ swmenu.currentStale=1;
+ swmenu.clearbut(2,1);
+ swmenu.clearbut(2,3);
+ swmenu.clearbut(8,1);
+ swmenu.clearbut(8,2);
+ swmenu.clearbut(8,3);
+ if (swmenu.currentURL) {
+ swmenu.switchbutton
+ (3,1,'reload.gif','return','location','go(currentURL)');
+ } else {
+ swmenu.clearbut(3,1);
+ }
+ }
+
+ function LONCAPAstale() {
+ }
+
+// END LON-CAPA Internal
+
+ENDDONOTREGTHIS
+ }
+ return $result;
+}
+
+sub loadevents() {
+ return 'LONCAPAreg();';
+}
+
+sub unloadevents() {
+ return 'LONCAPAstale();';
+}
+
# ============================================================= Start up remote
sub startupremote {