Diff for /loncom/interface/lonmenu.pm between versions 1.106 and 1.113

version 1.106, 2003/12/09 22:10:23 version 1.113, 2004/08/13 20:12:11
Line 68  sub menubuttons { Line 68  sub menubuttons {
     my $forcereg=shift;      my $forcereg=shift;
     my $target  =shift;      my $target  =shift;
     my $registration=shift;      my $registration=shift;
       
       &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
       ['inhibitmenu']);
       if ($ENV{'form.inhibitmenu'} eq 'yes') { return ''; }
   
     my $navmaps='';      my $navmaps='';
     my $reloadlink='';      my $reloadlink='';
     my $escurl=&Apache::lonnet::escape($ENV{'request.noversionuri'});      my $escurl=&Apache::lonnet::escape($ENV{'request.noversionuri'});
Line 263  sub innerregister { Line 268  sub innerregister {
 # ============================ This is for URLs that actually can be registered  # ============================ This is for URLs that actually can be registered
     if (($ENV{'request.noversionuri'}!~/^\/(res\/)*adm\//) || ($forcereg)) {      if (($ENV{'request.noversionuri'}!~/^\/(res\/)*adm\//) || ($forcereg)) {
 # -- This applies to homework problems for users with grading privileges  # -- This applies to homework problems for users with grading privileges
         my $hwkadd='';   my $crs='/'.$ENV{'request.course.id'};
         if    if ($ENV{'request.course.sec'}) {
       ($ENV{'request.filename'}=~/\.(problem|exam|quiz|assess|survey|form)$/) {      $crs.='_'.$ENV{'request.course.sec'};
     my $crs='/'.$ENV{'request.course.id'};   }
     if ($ENV{'request.course.sec'}) {   $crs=~s/\_/\//g;
         $crs.='_'.$ENV{'request.course.sec'};  
     }  
     $crs=~s/\_/\//g;  
   
           my $hwkadd='';
           if ($ENV{'request.filename'}=~/\.(problem|exam|quiz|assess|survey|form)$/) {
     if (&Apache::lonnet::allowed('vgr',$crs)) {      if (&Apache::lonnet::allowed('vgr',$crs)) {
  $hwkadd.=&switch('','',7,1,'subm.gif','view sub-[_1]','missions[_1]',   $hwkadd.=&switch('','',7,1,'subm.gif','view sub-[_1]','missions[_1]',
                        "gocmd('/adm/grades','submission')",                         "gocmd('/adm/grades','submission')",
Line 282  sub innerregister { Line 286  sub innerregister {
                        "gocmd('/adm/grades','gradingmenu')",                         "gocmd('/adm/grades','gradingmenu')",
                        'Modify user grades for this assessment resource');                         'Modify user grades for this assessment resource');
             }              }
     if (&Apache::lonnet::allowed('opa',$crs)) {   }
  $hwkadd.=&switch('','',7,3,'pparm.gif','problem[_2]','parms[_2]',   if (&Apache::lonnet::allowed('opa',$crs)) {
                        "gocmd('/adm/parmset','set')",      $hwkadd.=&switch('','',7,3,'pparm.gif','problem[_2]','parms[_2]',
                        'Modify deadlines, etc, for this assessment resource');       "gocmd('/adm/parmset','set')",
             }       'Modify deadlines, etc, for this resource');
  }   }
 # -- End Homework  # -- End Homework
         ###          ###
Line 311  sub innerregister { Line 315  sub innerregister {
                 }                  }
                 # Check that we are on the correct machine                  # Check that we are on the correct machine
                 my $home = &Apache::lonnet::homeserver($caname,$cadom);                  my $home = &Apache::lonnet::homeserver($caname,$cadom);
                 if ($home eq $Apache::lonnet::perlvar{'lonHostID'}) {   my $allowed=0;
                     $editbutton=&switch   my @ids=&Apache::lonnet::current_machine_ids();
                         ('','',6,1,$top,,$bottom,$action,$desc);   foreach my $id (@ids) { if ($id eq $home) { $allowed=1; } }
    if (!$allowed) {
       $editbutton=&switch('','',6,1,$top,,$bottom,$action,$desc);
                 }                  }
             }              }
             ##              ##
Line 325  sub innerregister { Line 331  sub innerregister {
             if ($ENV{'request.filename'}) {              if ($ENV{'request.filename'}) {
                 my $file=&Apache::lonnet::declutter($ENV{'request.filename'});                  my $file=&Apache::lonnet::declutter($ENV{'request.filename'});
                 $file=~s/^(\w+)\/(\w+)/\/priv\/$2/;                  $file=~s/^(\w+)\/(\w+)/\/priv\/$2/;
                 # Chech that the user has permission to edit this resource                  # Check that the user has permission to edit this resource
                 ($cfuname,$cfudom)=&Apache::loncacc::constructaccess($file,$1);                  ($cfuname,$cfudom)=&Apache::loncacc::constructaccess($file,$1);
                 if (defined($cfudom)) {                  if (defined($cfudom)) {
                     if (&Apache::lonnet::homeserver($cfuname,$cfudom)       my $home=&Apache::lonnet::homeserver($cfuname,$cfudom);
                         eq $Apache::lonnet::perlvar{'lonHostID'}) {      my $allowed=0;
       my @ids=&Apache::lonnet::current_machine_ids();
       foreach my $id (@ids) { if ($id eq $home) { $allowed=1; } }
       if ($allowed) {
                         $cfile=$file;                          $cfile=$file;
                     }                      }
                 }                  }
Line 411  ENDREGTEXT Line 420  ENDREGTEXT
         } else {          } else {
     my $requri=(split(/\?/,$ENV{'request.noversionuri'}))[0];      my $requri=(split(/\?/,$ENV{'request.noversionuri'}))[0];
     $requri=&Apache::lonnet::unescape($requri);      $requri=&Apache::lonnet::unescape($requri);
       my $navstatus=&get_nav_status();
     $result = (<<ENDREGTHIS);      $result = (<<ENDREGTHIS);
             
 <script language="JavaScript">  <script language="JavaScript">
Line 428  var swmenu=null; Line 438  var swmenu=null;
           swmenu.currentSymb="$ENV{'request.symb'}";            swmenu.currentSymb="$ENV{'request.symb'}";
           swmenu.reloadSymb="$ENV{'request.symb'}";            swmenu.reloadSymb="$ENV{'request.symb'}";
           swmenu.currentStale=0;            swmenu.currentStale=0;
     $navstatus
           $hwkadd            $hwkadd
           $editbutton            $editbutton
     }      }
Line 444  var swmenu=null; Line 455  var swmenu=null;
           swmenu.clearbut(7,3);            swmenu.clearbut(7,3);
           swmenu.menucltim=swmenu.setTimeout(            swmenu.menucltim=swmenu.setTimeout(
  'clearbut(2,1);clearbut(2,3);clearbut(8,1);clearbut(8,2);clearbut(8,3);'+   '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)',   'clearbut(9,1);clearbut(9,3);clearbut(6,3);clearbut(6,1)',
   2000);    2000);
       }        }
   
Line 600  sub reopenmenu { Line 611  sub reopenmenu {
 sub open {  sub open {
     my $returnval='';      my $returnval='';
     if (($ENV{'browser.interface'} eq 'textual') ||      if (($ENV{'browser.interface'} eq 'textual') ||
         ($ENV{'environment.remote'} eq 'off')) { return ''; }          ($ENV{'environment.remote'} eq 'off')) { 
    return '<script type="text/javascript">self.name="loncapaclient";</script>';
       }
     my $menuname='LCmenu'.$Apache::lonnet::perlvar{'lonHostID'};      my $menuname='LCmenu'.$Apache::lonnet::perlvar{'lonHostID'};
     unless (shift eq 'unix') {      unless (shift eq 'unix') {
 # resizing does not work on linux because of virtual desktop sizes  # resizing does not work on linux because of virtual desktop sizes
Line 811  sub rawconfig { Line 824  sub rawconfig {
                     }                                             }                       
                     $act =~ s/\$caname/$caname/g;                      $act =~ s/\$caname/$caname/g;
                     my $home = &Apache::lonnet::homeserver($caname,$cadom);                      my $home = &Apache::lonnet::homeserver($caname,$cadom);
                     if ($home eq $Apache::lonnet::perlvar{'lonHostID'}) {      my $allowed=0;
       my @ids=&Apache::lonnet::current_machine_ids();
       foreach my $id (@ids) { if ($id eq $home) { $allowed=1; } }
       if ($allowed) {
                         $output.=switch($caname,$cadom,                          $output.=switch($caname,$cadom,
                                         $row,$col,$img,$top,$bot,$act,$desc);                                          $row,$col,$img,$top,$bot,$act,$desc);
                     }                      }
Line 915  sub serverform { Line 931  sub serverform {
 </form>  </form>
 ENDSERVERFORM  ENDSERVERFORM
 }  }
   
   sub get_nav_status {
       my $navstatus="swmenu.w_loncapanav_flag=";
       if ($ENV{'environment.remotenavmap'} eq 'on') {
    $navstatus.="1";
       } else {
    $navstatus.="-1";
       }
       return $navstatus;
   }
   
 # ================================================ Handler when called directly  # ================================================ Handler when called directly
   
   

Removed from v.1.106  
changed lines
  Added in v.1.113


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>