Diff for /loncom/interface/lonmenu.pm between versions 1.342 and 1.346

version 1.342, 2011/01/16 22:45:05 version 1.346, 2011/01/27 14:38:44
Line 155  use Apache::lonenc(); Line 155  use Apache::lonenc();
 use Apache::lonlocal;  use Apache::lonlocal;
 use LONCAPA qw(:DEFAULT :match);  use LONCAPA qw(:DEFAULT :match);
 use HTML::Entities();  use HTML::Entities();
   use Apache::lonwishlist();
   
 use vars qw(@desklines %category_names %category_members %category_positions   use vars qw(@desklines %category_names %category_members %category_positions 
             $readdesk @primary_menu @secondary_menu);              $readdesk @primary_menu @secondary_menu);
Line 271  sub secondary_menu { Line 272  sub secondary_menu {
     my $canmodifyuser = &Apache::lonnet::allowed('cst', $crs_sec);       my $canmodifyuser = &Apache::lonnet::allowed('cst', $crs_sec); 
     my $canviewwnew   = &Apache::lonnet::allowed('whn', $crs_sec);       my $canviewwnew   = &Apache::lonnet::allowed('whn', $crs_sec); 
     my $canmodpara    = &Apache::lonnet::allowed('opa', $crs_sec);      my $canmodpara    = &Apache::lonnet::allowed('opa', $crs_sec);
     my $canvgr        = &Apache::lonnet::allowed('vgr', $crs_sec);       my $canvgr        = &Apache::lonnet::allowed('vgr', $crs_sec);
     my $author        = getauthor();      my $canmgr        = &Apache::lonnet::allowed('mgr', $crs_sec); 
       my $author        = &getauthor();
   
     my %groups = &Apache::lonnet::get_active_groups(      my %groups = &Apache::lonnet::get_active_groups(
                      $env{'user.domain'}, $env{'user.name'},                       $env{'user.domain'}, $env{'user.name'},
Line 293  sub secondary_menu { Line 295  sub secondary_menu {
                 && !$canvgr;                  && !$canvgr;
         next if    $$menuitem[4]   eq 'cst'          next if    $$menuitem[4]   eq 'cst'
                 && !$canmodifyuser;                  && !$canmodifyuser;
           next if    $$menuitem[4]   eq 'ncst'
                   && $canmodifyuser;
           next if    $$menuitem[4]   eq 'mgr'
                   && !$canmgr;
           next if    $$menuitem[4]   eq 'nmgr'
                   && $canmgr;
         next if    $$menuitem[4]   eq 'whn'          next if    $$menuitem[4]   eq 'whn'
                 && !$canviewwnew;                  && !$canviewwnew;
         next if    $$menuitem[4]   eq 'opa'          next if    $$menuitem[4]   eq 'opa'
Line 404  sub innerregister { Line 412  sub innerregister {
         if ($env{'request.symb'} ne '' &&          if ($env{'request.symb'} ne '' &&
     $env{'request.filename'}=~/\.(problem|exam|quiz|assess|survey|form|task)$/) {      $env{'request.filename'}=~/\.(problem|exam|quiz|assess|survey|form|task)$/) {
     if (&Apache::lonnet::allowed('mgr',$crs)) {      if (&Apache::lonnet::allowed('mgr',$crs)) {
  $hwkadd.=&switch('','',7,2,'pgrd.png','problem[_1]','grades[_4]',   $hwkadd.=&switch('','',7,2,'pgrd.png','Content Grades','grades[_4]',
                        "gocmd('/adm/grades','gradingmenu')",                         "gocmd('/adm/grades','gradingmenu')",
                        'Modify user grades for this assessment resource');                         'Content Grades');
             } elsif (&Apache::lonnet::allowed('vgr',$crs)) {              } elsif (&Apache::lonnet::allowed('vgr',$crs)) {
  $hwkadd.=&switch('','',7,2,'subm.png','view sub-[_1]','missions[_1]',   $hwkadd.=&switch('','',7,2,'subm.png','Content Submissions','missions[_1]',
                        "gocmd('/adm/grades','submission')",                         "gocmd('/adm/grades','submission')",
        'View user submissions for this assessment resource');         'Content Submissions');
             }              }
  }   }
  if ($env{'request.symb'} ne '' &&   if ($env{'request.symb'} ne '' &&
     &Apache::lonnet::allowed('opa',$crs)) {      &Apache::lonnet::allowed('opa',$crs)) {
     $hwkadd.=&switch('','',7,3,'pparm.png','problem[_2]','parms[_2]',      $hwkadd.=&switch('','',7,3,'pparm.png','Content Settings','parms[_2]',
      "gocmd('/adm/parmset','set')",       "gocmd('/adm/parmset','set')",
      'Modify parameter settings for this resource');       'Content Settings');
  }   }
 # -- End Homework  # -- End Homework
         ###          ###
Line 523  sub innerregister { Line 531  sub innerregister {
                         }                          }
                     }                      }
                     $editbutton=&switch                      $editbutton=&switch
                        ('','',6,1,'pcstr.png','edit[_1]','resource[_2]',                         ('','',6,1,'pcstr.png','Edit','resource[_2]',
                         $bot,"Edit this resource");                          $bot,"Edit this resource");
                     $noeditbutton = 0;                      $noeditbutton = 0;
                 }                  }
Line 539  sub innerregister { Line 547  sub innerregister {
                         my $cfile = &edit_course_upload($file,$cnum,$cdom);                          my $cfile = &edit_course_upload($file,$cnum,$cdom);
                         if ($cfile) {                          if ($cfile) {
                             $editbutton=&switch                              $editbutton=&switch
                                         ('','',6,1,'pcstr.png','edit[_1]',                                          ('','',6,1,'pcstr.png','Edit',
                                          'resource[_2]',"go('".$cfile."');",                                           'resource[_2]',"go('".$cfile."');",
                                          'Edit this resource');                                           'Edit this resource');
                         }                          }
Line 568  sub innerregister { Line 576  sub innerregister {
 # Probably should be in mydesk.tab  # Probably should be in mydesk.tab
 #  #
                 $menuitems=(<<ENDMENUITEMS);                  $menuitems=(<<ENDMENUITEMS);
 s&6&1&list.png&list[_1]&dir[_1]&golist('$esc_currdir')&List current directory  s&6&1&list.png&Directory&dir[_1]&golist('$esc_currdir')&List current directory
 s&6&2&rtrv.png&retrieve[_1]&version[_1]&gocstr('/adm/retrieve','/~$uname/$cleandisfn')&Retrieve old version  s&6&2&rtrv.png&Retrieve&version[_1]&gocstr('/adm/retrieve','/~$uname/$cleandisfn')&Retrieve old version
 s&6&3&pub.png&publish[_1]&resource[_3]&gocstr('/adm/publish','/~$uname/$cleandisfn')&Publish this resource  s&6&3&pub.png&Publish&resource[_3]&gocstr('/adm/publish','/~$uname/$cleandisfn')&Publish this resource
 s&7&1&del.png&delete[_1]&resource[_2]&gocstr('/adm/cfile?action=delete','/~$uname/$cleandisfn')&Delete this resource  s&7&1&del.png&Delete&resource[_2]&gocstr('/adm/cfile?action=delete','/~$uname/$cleandisfn')&Delete this resource
 s&7&2&prt.png&prepare[_1]&printout[_1]&gocstr('/adm/printout','/~$uname/$cleandisfn')&Prepare a printable document  s&7&2&prt.png&Print&printout[_1]&gocstr('/adm/printout','/~$uname/$cleandisfn')&Prepare a printable document
 ENDMENUITEMS  ENDMENUITEMS
             }              }
                 if (ref($bread_crumbs) eq 'ARRAY') {                  if (ref($bread_crumbs) eq 'ARRAY') {
Line 589  ENDMENUITEMS Line 597  ENDMENUITEMS
 #  #
     $menuitems=(<<ENDMENUITEMS);      $menuitems=(<<ENDMENUITEMS);
 c&3&1  c&3&1
 s&2&1&back.png&backward[_1]&&gopost('/adm/flip','back:'+currentURL)&Previous content resource&&1  s&2&1&back.png&&&gopost('/adm/flip','back:'+currentURL)&Previous content resource&&1
 s&2&3&forw.png&forward[_1]&&gopost('/adm/flip','forward:'+currentURL)&Next content resource&&3  s&2&3&forw.png&&&gopost('/adm/flip','forward:'+currentURL)&Next content resource&&3
 c&6&3  c&6&3
 c&8&1  c&8&1
 c&8&2  c&8&2
 s&8&3&prt.png&prepare[_1]&printout[_1]&gopost('/adm/printout',currentURL)&Prepare a printable document  s&8&3&prt.png&Print&printout[_1]&gopost('/adm/printout',currentURL)&Prepare a printable document
 ENDMENUITEMS  ENDMENUITEMS
             if (&Apache::lonnet::allowed('bre', $env{'request.course.id'}) eq 'F' && $env{'request.uri'} =~ /^\/res/) {              if (&Apache::lonnet::allowed('bre', $env{'request.course.id'}) eq 'F' && $env{'request.uri'} =~ /^\/res/) {
                 # wishlist is only available for users with access to resource-pool                  # wishlist is only available for users with access to resource-pool
                 # and links can only be set for resources within the resource-pool                  # and links can only be set for resources within the resource-pool
                 $menuitems .= (<<ENDMENUITEMS);                  $menuitems .= (<<ENDMENUITEMS);
 s&9&1&wishlist-link.png&set[_1]&wishlistlink[_2]&set_wishlistlink()&Set a link for this resource to wishlist&&1  s&9&1&wishlist-link.png&Wishlist&wishlistlink[_2]&set_wishlistlink()&Set a link for this resource to wishlist&&1
 ENDMENUITEMS  ENDMENUITEMS
             }              }
   
Line 613  if(length($annotation) > 0){ Line 621  if(length($annotation) > 0){
 }else{  }else{
  $menuitems.="anot.png";   $menuitems.="anot.png";
 }  }
 $menuitems.="&anno-[_1]&tations[_1]&annotate()&";  $menuitems.="&Notes&&annotate()&";
 $menuitems.="Make notes and annotations about this resource&&1\n";  $menuitems.="Make notes and annotations about this resource&&1\n";
   
             unless ($env{'request.noversionuri'}=~/\/(bulletinboard|smppg|navmaps|syllabus|aboutme|viewclasslist|portfolio)(\?|$)/) {              unless ($env{'request.noversionuri'}=~/\/(bulletinboard|smppg|navmaps|syllabus|aboutme|viewclasslist|portfolio)(\?|$)/) {
  if ((!$env{'request.enc'}) && ($env{'request.noversionuri'} !~ m{^/adm/wrapper/ext/})) {   if ((!$env{'request.enc'}) && ($env{'request.noversionuri'} !~ m{^/adm/wrapper/ext/})) {
     $menuitems.=(<<ENDREALRES);      $menuitems.=(<<ENDREALRES);
 s&6&3&catalog.png&catalog[_2]&info[_1]&catalog_info()&Show Metadata  s&6&3&catalog.png&Info&info[_1]&catalog_info()&Show Metadata
 ENDREALRES  ENDREALRES
                 }                  }
         $menuitems.=(<<ENDREALRES);          $menuitems.=(<<ENDREALRES);
 s&8&1&eval.png&evaluate[_1]&this[_1]&gopost('/adm/evaluate',currentURL,1)&Provide my evaluation of this resource  s&8&1&eval.png&Evaluate&this[_1]&gopost('/adm/evaluate',currentURL,1)&Provide my evaluation of this resource
 s&8&2&fdbk.png&feedback[_1]&discuss[_1]&gopost('/adm/feedback',currentURL,1)&Provide feedback messages or contribute to the course discussion about this resource  s&8&2&fdbk.png&Communicate&discuss[_1]&gopost('/adm/feedback',currentURL,1)&Provide feedback messages or contribute to the course discussion about this resource
 ENDREALRES  ENDREALRES
     }      }
         }          }
  if ($env{'request.uri'} =~ /^\/res/) {   if ($env{'request.uri'} =~ /^\/res/) {
     $menuitems .= (<<ENDMENUITEMS);      $menuitems .= (<<ENDMENUITEMS);
 s&8&3&prt.png&prepare[_1]&printout[_1]&gopost('/adm/printout',currentURL)&Prepare a printable document  s&8&3&prt.png&Print&printout[_1]&gopost('/adm/printout',currentURL)&Prepare a printable document
 ENDMENUITEMS  ENDMENUITEMS
             if (&Apache::lonnet::allowed('bre', $env{'request.course.id'}) eq 'F') {              if (&Apache::lonnet::allowed('bre', $env{'request.course.id'}) eq 'F') {
                 # wishlist is only available for users with access to resource-pool                  # wishlist is only available for users with access to resource-pool
                 $menuitems .= (<<ENDMENUITEMS);                  $menuitems .= (<<ENDMENUITEMS);
 s&9&1&wishlist-link.png&set[_1]&wishlistlink[_2]&set_wishlistlink()&Set a link for this resource to wishlist&&1  s&9&1&wishlist-link.png&Wishlist&wishlistlink[_2]&set_wishlistlink()&Set a link for this resource to wishlist&&1
 ENDMENUITEMS  ENDMENUITEMS
             }              }
  }   }
Line 782  sub switch { Line 790  sub switch {
 # Inline Menu  # Inline Menu
       $inlineremote[$idx]=        $inlineremote[$idx]=
        '<a title="'.$desc.'" class="LC_menubuttons_link" href="javascript:'.$act.';">'.$pic.         '<a title="'.$desc.'" class="LC_menubuttons_link" href="javascript:'.$act.';">'.$pic.
        '<span class="LC_menubuttons_inline_text">'.$desc.'</span></a>';         '<span class="LC_menubuttons_inline_text">'.$top.'&nbsp;</span></a>';
     }      }
     return '';      return '';
 }  }
Line 1098  sub utilityfunctions { Line 1106  sub utilityfunctions {
     my $confirm_switch = &mt("Editing requires switching to the resource's home server.").'\n'.      my $confirm_switch = &mt("Editing requires switching to the resource's home server.").'\n'.
                          &mt('Switch server?');                           &mt('Switch server?');
   
     my $start_page_wishlistlink =       my $wishlistpopup;
         &Apache::loncommon::start_page('Set link to wishlist',undef,      if (&Apache::lonwishlist::getWishlist() ne 'error') {
        {'only_body' => 1,          $wishlistpopup = &Apache::lonwishlist::makePopUpNewLink();
  'js_ready'  => 1,      }
  'bgcolor'   => '#FFFFFF',});  
   
     my $warningLink = &mt('You must insert a title!');  
   
     # HTML-Markup for 'Set a link for this resource to wishlist'  
     # this is written via JavaScript document.write (function set_wishlistlink)   
     # it is split into 3 parts and the inputfields for title and path are left out  
     # these fields are inserted later to set the values for title and path  
     # automatically via JavaScript (document.title and location.pathname)   
     my %folders = &Apache::lonnet::get('wishlist',['folders']);  
     if ($folders{'folders'} eq '') {  
         $folders{'folders'} = '<option value="" selected="selected">('.&mt('Top level').')</option>';  
     }  
     my $in_page_wishlistlink1 = '<h1>'.&mt('Set a link to wishlist').'</h1>'.  
                                 '<form method="post" name="newlink" action="/adm/wishlist?mode=set" '.  
                                 'onsubmit="return newlinksubmit();" >'.  
                                 &Apache::lonhtmlcommon::start_pick_box().  
                                 &Apache::lonhtmlcommon::row_title(&mt('Link Title'));  
   
     my $in_page_wishlistlink2 = &Apache::lonhtmlcommon::row_closure().  
                                 &Apache::lonhtmlcommon::row_title(&mt('Path'));  
   
     my $in_page_wishlistlink3 = &Apache::lonhtmlcommon::row_closure().  
                                 &Apache::lonhtmlcommon::row_title(&mt('Note')).  
                                 '<textarea name="note" rows="3" cols="35" style="width:100%"></textarea>'.  
                                 &Apache::lonhtmlcommon::row_closure(1).  
                                 &Apache::lonhtmlcommon::end_pick_box().  
                                 '<br/><br/>'.  
                                 '<input type="submit" value="'.&mt('Save in').'" />'.  
                                 '<select name="folders">'.  
                                 $folders{'folders'}.  
                                 '</select>'.  
                                 '<input type="button" value="'.&mt('cancel').'" onclick="javascript:window.close();" />'.  
                                 '</form>';  
   
     # remove all \n for inserting on javascript document.write  
     $in_page_wishlistlink1 =~ s/\n//g;  
     $in_page_wishlistlink2 =~ s/\n//g;  
     $in_page_wishlistlink3 =~ s/\n//g;  
   
     my $end_page_wishlistlink =   
         &Apache::loncommon::end_page({'js_ready' => 1});  
   
 return (<<ENDUTILITY)  return (<<ENDUTILITY)
   
Line 1269  function annotate() { Line 1235  function annotate() {
 }  }
   
 function set_wishlistlink(title, path) {  function set_wishlistlink(title, path) {
    if (!title) {      $wishlistpopup
        title=document.title;  
    }  
    if (!path) {  
        path=location.pathname;  
    }  
    title = title.replace(/^LON-CAPA /,'');  
    wishlistlink=window.open('','wishlistNewLink','width=560,height=350,scrollbars=0');  
    wishlistlink.document.write(  
    '$start_page_wishlistlink'  
    +'<script type="text\/javascript">'  
    +'function newlinksubmit(){'  
    +'var title = document.getElementsByName("title")[0].value;'  
    +'if (!title) {'  
    +'alert("$warningLink");'  
    +'return false;}'  
    +'return true;}'  
    +'<\/scr'+'ipt>'  
    +'$in_page_wishlistlink1'  
    +'<input type="text" name="title" size="45" value="'+title+'"/>'  
    +'$in_page_wishlistlink2'  
    +'<input type="text" name="path" size="45" value="'+path+'" '  
    +'readonly="readonly" style="background-color: #DDDDDD"/>'  
    +'$in_page_wishlistlink3'  
    +'$end_page_wishlistlink' );  
    wishlistlink.document.close();  
 }  }
   
 function open_Wishlist_Import(rat) {  function open_Wishlist_Import(rat) {

Removed from v.1.342  
changed lines
  Added in v.1.346


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