[LON-CAPA-cvs] cvs: loncom(version_2_11_X) /interface lonmenu.pm
raeburn
raeburn at source.lon-capa.org
Mon Jan 14 13:04:33 EST 2013
raeburn Mon Jan 14 18:04:33 2013 EDT
Modified files: (Branch: version_2_11_X)
/loncom/interface lonmenu.pm
Log:
- For 2.11
"Edit" item in "Functions" box for HTML files uploaded directly to course
when Remote Control is active.
Index: loncom/interface/lonmenu.pm
diff -u loncom/interface/lonmenu.pm:1.369.2.36 loncom/interface/lonmenu.pm:1.369.2.37
--- loncom/interface/lonmenu.pm:1.369.2.36 Thu Jan 10 04:43:03 2013
+++ loncom/interface/lonmenu.pm Mon Jan 14 18:04:32 2013
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines to control the menu
#
-# $Id: lonmenu.pm,v 1.369.2.36 2013/01/10 04:43:03 raeburn Exp $
+# $Id: lonmenu.pm,v 1.369.2.37 2013/01/14 18:04:32 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -636,6 +636,9 @@
$forceview,$editbutton);
if (($resurl =~ m{^/adm/($match_domain)/($match_username)/aboutme$}) ||
($env{'request.role'} !~/^(aa|ca|au)/)) {
+ if (($env{'environment.remote'} eq 'on') && ($env{'request.symb'})) {
+ &Apache::lonhtmlcommon::clear_breadcrumbs();
+ }
$editbutton = &prepare_functions($resurl,$forcereg,$group);
}
if ($editbutton eq '') {
@@ -1220,15 +1223,31 @@
$icon = 'tolastloc.png';
$label = 'Exit Editing';
}
- &switch('','',6,1,$icon,$label,'resource[_2]',
- $jscall,"Edit this resource");
- return 1;
+ my $infunc = 1;
+ my $clearbutton;
+ if ($env{'environment.remote'} eq 'on') {
+ if ($cfile =~ m{^/priv/}) {
+ undef($infunc);
+ $label = 'edit';
+ } else {
+ $clearbutton = 1;
+ }
+ }
+ my $editor = &switch('','',6,1,$icon,$label,'resource[_2]',
+ $jscall,"Edit this resource",'','',$infunc);
+ if ($infunc) {
+ return 1;
+ } elsif ($clearbutton) {
+ return &clear(6,1);
+ } else {
+ return $editor;
+ }
}
return;
}
sub prepare_functions {
- my ($resurl,$forcereg,$group,$bread_crumbs,$advtools,$docscrumbs) = @_;
+ my ($resurl,$forcereg,$group,$bread_crumbs,$advtools,$docscrumbs,$forbodytag) = @_;
unless ($env{'request.registered'}) {
undef(@inlineremote);
}
@@ -1278,7 +1297,7 @@
&switch('','',6,1,'pcstr.png','Edit',
'resource[_2]',
"go('/adm/courseprefs?phase=display&actions=courseinfo')",
- 'Edit this resource');
+ 'Edit this resource','','',1);
$editbutton = 1;
} else {
$cfile = $resurl;
@@ -1332,7 +1351,7 @@
&switch('','',6,4,'mail-message-new-22x22.png','Message to user',
'',
"go('/adm/email?compose=individual&recname=$sname&recdom=$sdom')",
- 'Send message to specific user');
+ 'Send message to specific user','','',1);
}
my $hideprivileged = 1;
if (&Apache::lonnet::in_course($sdom,$sname,$cdom,$cnum,undef,
@@ -1348,19 +1367,19 @@
&switch('','',6,5,'trck-22x22.png','Activity',
'',
"go('/adm/trackstudent?selected_student=$sname:$sdom')",
- 'View recent activity by this person');
+ 'View recent activity by this person','','',1);
}
if ($perms{'vgr'}) {
&switch('','',6,6,'rsrv-22x22.png','Reservations',
'',
"go('/adm/slotrequest?command=showresv&origin=aboutme&uname=$sname&udom=$sdom')",
- 'Slot reservation history');
+ 'Slot reservation history','','',1);
}
if ($perms{'srm'}) {
&switch('','',6,7,'contact-new-22x22.png','Records',
'',
"go('/adm/email?recordftf=retrieve&recname=$sname&recdom=$sdom')",
- 'Add records');
+ 'Add records','','',1);
}
}
}
@@ -1376,7 +1395,7 @@
my $esc_path=&escape(&HTML::Entities::encode(&escape($env{'form.folderpath'}),'<>&"'));
&switch('','',7,4,'docs-22x22.png','Edit Folder','parms[_2]',
"location.href='/adm/coursedocs?command=direct&forcesupplement=1&supppath=$esc_path'",
- 'Folder/Page Content');
+ 'Folder/Page Content','','',1);
}
}
}
@@ -1386,7 +1405,7 @@
&Apache::lonhtmlcommon::clear_breadcrumb_tools();
&advtools_crumbs(@inlineremote);
return $editbutton;
- } elsif ($env{'request.registered'}) {
+ } elsif (($env{'request.registered'}) && (!ref($forbodytag))) {
return $editbutton;
} else {
if (ref($bread_crumbs) eq 'ARRAY') {
@@ -1399,9 +1418,13 @@
} elsif (@inlineremote > 0) {
&Apache::lonhtmlcommon::clear_breadcrumb_tools();
&advtools_crumbs(@inlineremote);
- return &Apache::lonhtmlcommon::scripttag('', 'start')
- . &Apache::lonhtmlcommon::breadcrumbs(undef,undef,0)
- . &Apache::lonhtmlcommon::scripttag('', 'end');
+ if (ref($forbodytag)) {
+ $$forbodytag =
+ &Apache::lonhtmlcommon::scripttag('', 'start')
+ .&Apache::lonhtmlcommon::breadcrumbs(undef,undef,0)
+ .&Apache::lonhtmlcommon::scripttag('', 'end');
+ }
+ return;
}
}
}
@@ -1438,7 +1461,7 @@
# The javascript is usually similar to "go('/adm/roles')" or "cstrgo(..)".
sub switch {
- my ($uname,$udom,$row,$col,$img,$top,$bot,$act,$desc,$cat,$nobreak)=@_;
+ my ($uname,$udom,$row,$col,$img,$top,$bot,$act,$desc,$cat,$nobreak,$infunc)=@_;
$act=~s/\$uname/$uname/g;
$act=~s/\$udom/$udom/g;
$top=&mt($top);
@@ -1447,7 +1470,7 @@
my $idx=10*$row+$col;
$category_members{$cat}.=':'.$idx;
- if ($env{'environment.remote'} eq 'on') {
+ if (($env{'environment.remote'} eq 'on') && (!$infunc)) {
if (($row<1) || ($row>13)) { return ''; }
if ($env{'request.state'} eq 'construct') {
my $text = $top.' '.$bot;
More information about the LON-CAPA-cvs
mailing list