Diff for /rat/lonpage.pm between versions 1.111.2.10.2.3 and 1.142

version 1.111.2.10.2.3, 2020/11/13 02:46:48 version 1.142, 2022/10/04 20:39:57
Line 102  sub tracetable { Line 102  sub tracetable {
             } else {              } else {
                 $sofar++;                  $sofar++;
                 if ($hash{'src_'.$rid}) {                  if ($hash{'src_'.$rid}) {
                     my $brepriv=&Apache::lonnet::allowed('bre',$hash{'src_'.$rid});                      my ($mapid,$resid)=split(/\./,$rid);
                       my $symb = &Apache::lonnet::encode_symb($hash{'map_id_'.$mapid},$resid,$hash{'src_'.$rid});
                       my $brepriv=&Apache::lonnet::allowed('bre',$hash{'src_'.$rid},$symb);
                     if (($brepriv eq '2') || ($brepriv eq 'F')) {                      if (($brepriv eq '2') || ($brepriv eq 'F')) {
                         if (defined($rows[$sofar])) {                          if (defined($rows[$sofar])) {
                             $rows[$sofar].='&'.$rid;                              $rows[$sofar].='&'.$rid;
Line 202  sub handler { Line 204  sub handler {
                   my ($pagesymb,$courseid,$domain,$name)=&Apache::lonnet::whichuser();                    my ($pagesymb,$courseid,$domain,$name)=&Apache::lonnet::whichuser();
                   unless ($pagesymb) {                    unless ($pagesymb) {
                       $pagesymb=&Apache::lonnet::symbread($requrl);                        $pagesymb=&Apache::lonnet::symbread($requrl);
                   }                                      }
                   if ($pagesymb && ($courseid ne '') && ($domain ne '') && ($name ne '')) {                    if ($pagesymb && ($courseid ne '') && ($domain ne '') && ($name ne '')) {
                       my %times=&Apache::lonnet::get('firstaccesstimes',                        my %times=&Apache::lonnet::get('firstaccesstimes',
                                                      [$courseid."\0".$pagesymb],                                                       [$courseid."\0".$pagesymb],
Line 381  ENDEXT Line 383  ENDEXT
                           } elsif ($cellemb{$_} eq 'ssi') {                            } elsif ($cellemb{$_} eq 'ssi') {
 # --------------------------------------------------------- This is an SSI cell  # --------------------------------------------------------- This is an SSI cell
       my $prefix='p_'.$_.'_';        my $prefix='p_'.$_.'_';
                               my $idprefix='p_'.join('_',($mapid,$resid,''));                                my $idprefix= 'p_'.join('_',($mapid,$resid,''));
                               my %posthash=('request.prefix' => $prefix,                                my %posthash=('request.prefix' => $prefix,
     'LONCAPA_INTERNAL_no_discussion' => 'true',      'LONCAPA_INTERNAL_no_discussion' => 'true',
     'symb' => $symb);      'symb' => $symb);
Line 419  ENDEXT Line 421  ENDEXT
       } elsif ($env{'form.'.$prefix.'markaccess'} eq 'yes') {        } elsif ($env{'form.'.$prefix.'markaccess'} eq 'yes') {
                   $posthash{'markaccess'} = $env{'form.'.$prefix.'markaccess'};                    $posthash{'markaccess'} = $env{'form.'.$prefix.'markaccess'};
               }                }
                               if ($env{'environment.remote'} eq 'on') {  
                                   $posthash{'inhibitmenu'} = 'yes';  
                               }  
                               my $output=Apache::lonnet::ssi($src,%posthash);                                my $output=Apache::lonnet::ssi($src,%posthash);
       $output=~s|//(\s*<!--)? BEGIN LON-CAPA Internal.+?// END LON-CAPA Internal\s*(-->)?\s||gs;        $output=~s|//(\s*<!--)? BEGIN LON-CAPA Internal.+?// END LON-CAPA Internal\s*(-->)?\s||gs;
                               if (($target eq 'tex') || ($target eq 'tex_answer')) {                                if (($target eq 'tex') || ($target eq 'tex_answer')) {
Line 684  ENDEXT Line 683  ENDEXT
 # ---------------------------------------------------------------- End SSI cell  # ---------------------------------------------------------------- End SSI cell
                           }                            }
                       }                        }
                      }                        }
                   }                    }
                   unless ($contents) {                    unless ($contents) {
                       &Apache::loncommon::content_type($r,'text/html');                        &Apache::loncommon::content_type($r,'text/html');
                       $r->send_http_header;                        $r->send_http_header;
                       $r->print(&Apache::loncommon::start_page(undef,undef,                        $r->print(&Apache::loncommon::start_page(undef,undef,
        {'force_register' => 1}));         {'force_register' => 1,}));
                       $r->print(&mt('This page is either empty or it only contains resources that are currently hidden').'. ');                        $r->print(&mt('This page is either empty or it only contains resources that are currently hidden').'. ');
                       $r->print('<br /><br />'.&mt('Please use the LON-CAPA navigation arrows to move to another item in the course').                        $r->print('<br /><br />'.&mt('Please use the LON-CAPA navigation arrows to move to another item in the course').
  &Apache::loncommon::end_page());   &Apache::loncommon::end_page());
Line 966  ENDEXT Line 965  ENDEXT
                   }                                      }                  
 # ------------------------------------------------------------- End render page  # ------------------------------------------------------------- End render page
               } else {                } else {
                   &Apache::loncommon::content_type($r,'text/html');                    if ($hash{'map_type_'.$hash{'map_pc_'.$requrl}} eq 'none') {
                   $r->send_http_header;                        &Apache::loncommon::content_type($r,'text/html');
                   &Apache::lonsequence::viewmap($r,$requrl);                        $r->send_http_header;
                         $r->print(&Apache::loncommon::start_page(undef,undef,
                                                                  {'force_register' => 1,}));
                         my $crstype = &Apache::loncommon::course_type();
                         if (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) {
                             $r->print('<span class="LC_warning">'.&mt('Missing composite page file.').'</span><br />'.
                                       &mt("You may want to use the $crstype Editor to remove this item."));
                         } else {
                             if ($crstype eq 'Placement') {
                                 $r->print('<span class="LC_warning">'.&mt('Missing page').'</span>');
                             } else {
                                 $r->print('<span class="LC_info">'.
                                           &mt('This resource was unavailable when your '.lc($crstype).' session was loaded').'<br />'.
                                           &mt("Please use 'Contents' to list items available in the $crstype.").'</span>');
                             }
                         }
                         $r->print(&Apache::loncommon::end_page());
                     } else {
                         &Apache::loncommon::content_type($r,'text/html');
                         $r->send_http_header;
                         &Apache::lonsequence::viewmap($r,$requrl);
                     }
               }                }
 # ------------------------------------------------------------------ Untie hash  # ------------------------------------------------------------------ Untie hash
               unless (untie(%hash)) {                unless (untie(%hash)) {
Line 994  sub get_buttons { Line 1014  sub get_buttons {
     my $symb=&Apache::lonnet::encode_symb($hash->{'map_id_'.$mapid},      my $symb=&Apache::lonnet::encode_symb($hash->{'map_id_'.$mapid},
   $resid,    $resid,
   $hash->{'src_'.$rid});    $hash->{'src_'.$rid});
     my $aname;      my ($aname,$shownsymb);
     if (($hash->{'encrypted_'.$rid}) && (!$env{'request.role.adv'})) {      if (($hash->{'encrypted_'.$rid}) && (!$env{'request.role.adv'})) {
         $aname = 'LC_'.$rid;          $aname = 'LC_'.$rid;
           $shownsymb = &Apache::lonenc::encrypted($symb);
     } else {      } else {
         my $shownsymb = $symb;          $shownsymb = $symb;
           my $dispsymb = $symb;
         if ($symb =~ /\#([^\#]+)$/) {          if ($symb =~ /\#([^\#]+)$/) {
             my $escan = &escape('#');              my $escan = &escape('#');
             $shownsymb =~ s/#([^\#]+)$/$escan$1/;              $dispsymb =~ s/#([^\#]+)$/$escan$1/;
         }          }
         $aname = &escape($shownsymb);          $aname = &escape($dispsymb);
     }      }
     my $metainfo = '<a name="'.$aname.'"></a>';      my $metainfo = '<a name="'.$aname.'"></a>';
     unless ($env{'request.role.adv'}) {      unless ($env{'request.role.adv'}) {
Line 1043  sub get_buttons { Line 1065  sub get_buttons {
     if (($hash->{'src_'.$rid}=~/$LONCAPA::assess_re/) &&      if (($hash->{'src_'.$rid}=~/$LONCAPA::assess_re/) &&
  ($hash->{'src_'.$rid} !~ m-^/uploaded/-)) {   ($hash->{'src_'.$rid} !~ m-^/uploaded/-)) {
   
         if ((&Apache::lonnet::allowed('mgr',$crs_sec)) ||   if ((&Apache::lonnet::allowed('mgr',$crs_sec)) ||
             (&Apache::lonnet::allowed('vgr',$crs_sec))) {              (&Apache::lonnet::allowed('vgr',$crs_sec))) {
     $metainfo.=      $metainfo.=
  '<a href="/adm/grades?symb='.&escape($symb).   '<a href="/adm/grades?symb='.&escape($symb).
Line 1056  sub get_buttons { Line 1078  sub get_buttons {
         }          }
         if (&Apache::lonnet::allowed('mgr',$crs_sec)) {          if (&Apache::lonnet::allowed('mgr',$crs_sec)) {
             $metainfo.=              $metainfo.=
                 '<a href="/adm/grades?symb='.&escape($symb).   '<a href="/adm/grades?symb='.&escape($symb).
 #               '&command=gradingmenu" target="LONcatInfo">'.  #               '&command=gradingmenu" target="LONcatInfo">'.
  '&command=gradingmenu">'.   '&command=gradingmenu">'.
                 '<img src="/res/adm/pages/pgrd.png" class="LC_icon"'.                  '<img src="/res/adm/pages/pgrd.png" class="LC_icon"'.
                 ' alt="'.&mt('Content Grades').'"'.                  ' alt="'.&mt('Content Grades').'"'.
                 ' title="'.&mt('Content Grades').'" />'.                  ' title="'.&mt('Content Grades').'" />'.
                 '</a>';   '</a>';
         }   }
         if ((&Apache::lonnet::allowed('opa',$crs_sec)) ||   if ((&Apache::lonnet::allowed('opa',$crs_sec)) ||
             (&Apache::lonnet::allowed('vpa',$crs_sec))) {              (&Apache::lonnet::allowed('vpa',$crs_sec))) {
     $metainfo.=      $metainfo.=
  '<a href="/adm/parmset?symb='.&escape($symb).   '<a href="/adm/parmset?symb='.&escape($symb).
Line 1086  sub get_buttons { Line 1108  sub get_buttons {
                 &Apache::lonnet::can_edit_resource($file,$cnum,$cdom,$hash->{'src_'.$rid},$symb);                  &Apache::lonnet::can_edit_resource($file,$cnum,$cdom,$hash->{'src_'.$rid},$symb);
             if ($cfile ne '') {              if ($cfile ne '') {
                 my $jscall = &Apache::lonhtmlcommon::jump_to_editres($cfile,$home,$switchserver,                  my $jscall = &Apache::lonhtmlcommon::jump_to_editres($cfile,$home,$switchserver,
                                                                      $forceedit,1,$symb,undef,                                                                       $forceedit,1,$symb,$shownsymb,
                                                                      &escape($env{'form.title'}),                                                                       undef,&escape($env{'form.title'}),
                                                                      $hostname);                                                                       $hostname);
                 if ($jscall) {                  if ($jscall) {
                     $editbutton = 1;                      $editbutton = 1;
Line 1158  sub add_countdown_timer { Line 1180  sub add_countdown_timer {
             $donebuttontext = &mt('Done');              $donebuttontext = &mt('Done');
             $type = 'map';              $type = 'map';
         }          }
         $donebutton =          $donebutton = 
             &Apache::lonmenu::done_button_js($type,'','',$proctor,$donebuttontext);              &Apache::lonmenu::done_button_js($type,'','',$proctor,$donebuttontext);
     }      }
     unless ($env{'environment.icons'} eq 'iconsonly') {      unless ($env{'environment.icons'} eq 'iconsonly') {

Removed from v.1.111.2.10.2.3  
changed lines
  Added in v.1.142


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