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

version 1.111.2.10.2.3, 2020/11/13 02:46:48 version 1.111.2.13.2.6, 2023/09/11 12:11:26
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 266  sub handler { Line 268  sub handler {
                   my $nforms=0;                    my $nforms=0;
                   my $nuploads=0;                    my $nuploads=0;
                   my $ntimers=0;                    my $ntimers=0;
                     my $hasnumresp;
                   my %turninpaths;                    my %turninpaths;
                   my %multiresps;                    my %multiresps;
                   my $turninparent;                    my $turninparent;
Line 513  ENDEXT Line 516  ENDEXT
                                       $ntimers++;                                        $ntimers++;
                                       $hastimer = 1;                                        $hastimer = 1;
                                   }                                    }
                                     unless ($hasnumresp) {
                                         if ($output=~/\<input[^\>]+class\s*=\s*[\'\"]*([^\'\"\>]+|)LC_numresponse_text/) {
                                             $hasnumresp = 1;
                                         }
                                     }
                                   $output=~                                    $output=~
       s/\<((?:input|select|button|textarea)[^\>]+)name\s*\=\s*[\'\"]*([^\'\"]+)[\'\"]*([^\>]*)\>/\<$1 name="$prefix$2" $3\>/gsi;        s/\<((?:input|select|button|textarea)[^\>]+)name\s*\=\s*[\'\"]*([^\'\"]+)[\'\"]*([^\>]*)\>/\<$1 name="$prefix$2" $3\>/gsi;
                                   $output=~                                    $output=~
Line 684  ENDEXT Line 692  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');
Line 743  ENDEXT Line 751  ENDEXT
                                       $uniquetimes{$item} = 1;                                        $uniquetimes{$item} = 1;
                                   }                                    }
                               }                                }
                               if (scalar(keys(%uniquetimes)) == 1) {                                if (scalar(keys(%uniquetimes)) == 1) { 
                                   my (%uniquedisplays,%uniquedones,$currdisp,$donebuttontime,                                    my (%uniquedisplays,%uniquedones,$currdisp,$donebuttontime,
                                       $donebuttonextras);                                        $donebuttonextras);
                                   if (keys(%countdowndisp)) {                                    if (keys(%countdowndisp)) {
Line 954  ENDEXT Line 962  ENDEXT
                           &mt('Processing your submission ...').'</div></form>');                            &mt('Processing your submission ...').'</div></form>');
                       }                        }
       unless (($target eq 'tex') || ($target eq 'tex_answer')) {        unless (($target eq 'tex') || ($target eq 'tex_answer')) {
   $r->print(&Apache::loncommon::end_page({'discussion'                            my $args = {'discussion' => 1};
       => 1,}));                            if ($hasnumresp) {
                                 $args->{'dashjs'} = 1;
                             }
     $r->print(&Apache::loncommon::end_page($args));
       } else {        } else {
   $r->print('\end{document}'.$number_of_columns);    $r->print('\end{document}'.$number_of_columns);
       }        }
Line 966  ENDEXT Line 977  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 {
                             $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 1022  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 1073  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 1086  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 1116  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;

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


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.