[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