Diff for /rat/lonwrapper.pm between versions 1.49.2.11.2.3 and 1.49.2.11.2.5

version 1.49.2.11.2.3, 2023/01/21 23:25:16 version 1.49.2.11.2.5, 2023/10/06 17:35:54
Line 38  use Apache::loncommon(); Line 38  use Apache::loncommon();
 use Apache::lonhtmlcommon();  use Apache::lonhtmlcommon();
 use Apache::lonextresedit();  use Apache::lonextresedit();
 use Apache::lonexttool();  use Apache::lonexttool();
   use Apache::lonhomework();
 use Apache::lonnavmaps();  use Apache::lonnavmaps();
 use LONCAPA qw(:DEFAULT :match);  use LONCAPA qw(:DEFAULT :match);
 use HTML::Entities();  use HTML::Entities();
Line 52  sub wrapper { Line 53  sub wrapper {
     unless ($env{'form.folderpath'}) {      unless ($env{'form.folderpath'}) {
         $forcereg = 1;          $forcereg = 1;
     }      }
   
     my %lt = &Apache::lonlocal::texthash(      my %lt = &Apache::lonlocal::texthash(
                                           'noif' => 'No iframe support.',                                            'noif' => 'No iframe support.',
                                           'show' => 'Show content in pop-up window',                                            'show' => 'Show content in pop-up window',
Line 95  sub wrapper { Line 95  sub wrapper {
     }      }
     if ($env{'form.only_body'}) {      if ($env{'form.only_body'}) {
         $args->{'only_body'} = $env{'form.only_body'};          $args->{'only_body'} = $env{'form.only_body'};
       } elsif (($is_supp) && ($env{'form.folderpath'} ne '')) {
           $args->{'bread_crumbs_nomenu'} = 1;
     }      }
   
     my $headjs;      my ($countdown,$donemsg,$headjs);
       if (($exttool) && (&Apache::lonnet::EXT('resource.0.gradable') =~ /^yes$/i)) {
           $Apache::lonhomework::browse = &Apache::lonnet::allowed('bre',$url);
           if ($env{'form.markaccess'}) {
               my $symb=&Apache::lonnet::symbread($url);
               my @interval=&Apache::lonnet::EXT('resource.0.interval',$symb);
               my ($timelimit) = split(/_/,$interval[0]);
               my $setres = &Apache::lonnet::set_first_access($interval[1],$timelimit);
               if ($setres eq 'ok') {
                   delete($env{'form.markaccess'});
               }
           } elsif ($env{'form.LC_interval_done'} eq 'true') {
               my $symb=&Apache::lonnet::symbread($url);
               if ($symb) {
                   (my $donebuttonresult,$donemsg) = &Apache::lonhomework::zero_timer($symb);
                   undef($env{'form.LC_interval_done'});
                   undef($env{'form.LC_interval_done_proctorpass'});
               }
           }
           my ($status,$result,$resource_due) =
               &Apache::lonexttool::gradabletool_access_check();
           undef($Apache::lonhomework::browse);
           if ($status eq 'CAN_ANSWER') {
               if ($resource_due) {
                   my $time_left = $resource_due - time();
                   if ($resource_due && ($time_left > 0)) {
                       $countdown ='
   <script type="text/javascript">
   // <![CDATA['."\n".
                                &Apache::lonhtmlcommon::countdown().'
   // ]]>
   </script>'."\n".
                       &Apache::lonhtmlcommon::set_due_date($resource_due);
                   }
               }
           } else {
               if ($status eq 'SHOW_ANSWER') {
                   $result = &Apache::lonexttool::display_score().
                             &Apache::lonfeedback::list_discussion('tool','OPEN');
               }
               return &Apache::loncommon::start_page('Menu',undef,$args).
                      $result.
                      &Apache::loncommon::end_page();
           }
       }
   
 #  #
 # Where iframe is in use, if window.onload() executes before the custom resize function  # Where iframe is in use, if window.onload() executes before the custom resize function
Line 116  var LCresizedef = 0; Line 162  var LCresizedef = 0;
 </script>'."\n";  </script>'."\n";
     }      }
   
     my $startpage = &Apache::loncommon::start_page('Menu',$headjs,$args);      my $startpage = &Apache::loncommon::start_page('Menu',$headjs,$args).$countdown.$donemsg;
     my $endpage = &Apache::loncommon::end_page();      my $endpage = &Apache::loncommon::end_page();
   
     if (($uselink) && ($title eq '')) {      if (($uselink) && ($title eq '')) {
Line 233  ENDLINK Line 279  ENDLINK
                 if ($explanation ne '') {                  if ($explanation ne '') {
                     $output .= '<div>'.$explanation.'</div>';                      $output .= '<div>'.$explanation.'</div>';
                 }                  }
                   if (&Apache::lonnet::EXT('resource.0.gradable')) {
                       $output .= &Apache::lonfeedback::list_discussion('tool','OPEN');
                   }
             }              }
         } else {          } else {
             if ($uselink) {              if ($uselink) {
Line 255  ENDLINK Line 304  ENDLINK
     } else {      } else {
         my $offset = 5;          my $offset = 5;
         &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['inhibitmenu']);          &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['inhibitmenu']);
         if ($env{'form.inhibitmenu'} eq 'yes') {          if (($env{'form.inhibitmenu'} eq 'yes') || ($env{'form.only_body'})) {
             $offset = 0;              $offset = 0;
         }          }
         my $script = &Apache::lonhtmlcommon::scripttag(<<SCRIPT);          my $script = &Apache::lonhtmlcommon::scripttag(<<SCRIPT);
Line 378  sub handler { Line 427  sub handler {
         my %toolhash = &Apache::lonnet::get('exttool_'.$marker,['target','linktext','explanation','id','width','height'],          my %toolhash = &Apache::lonnet::get('exttool_'.$marker,['target','linktext','explanation','id','width','height'],
                                             $cdom,$cnum);                                              $cdom,$cnum);
         if ($toolhash{'id'}) {          if ($toolhash{'id'}) {
             my %ltitools = &Apache::lonnet::get_domain_lti($cdom,'consumer');              my ($idx,%ltitools);
             if (ref($ltitools{$toolhash{'id'}}) eq 'HASH') {              if ($toolhash{'id'} =~ /^c(\d+)$/) {
                 $exttoolremote = $ltitools{$toolhash{'id'}}{'url'};                  $idx = $1;
                   %ltitools = &Apache::lonnet::get_course_lti($cnum,$cdom,'consumer');
               } else {
                   $idx = $toolhash{'id'};
                   %ltitools = &Apache::lonnet::get_domain_lti($cdom,'consumer');
               }
               if (ref($ltitools{$idx}) eq 'HASH') {
                   $exttoolremote = $ltitools{$idx}{'url'};
             }              }
         }          }
         if ($toolhash{'target'} eq 'window') {          if ($toolhash{'target'} eq 'window') {
Line 399  sub handler { Line 455  sub handler {
     }      }
     if (($is_ext) || ($exttool)) {      if (($is_ext) || ($exttool)) {
         &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},          &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
             ['forceedit','register','folderpath','symb','idx','title','anchor']);              ['forceedit','register','folderpath','symb','idx','title','anchor','only_body']);
         if (($env{'form.forceedit'}) &&          if (($env{'form.forceedit'}) &&
             (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) &&              (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) &&
             (($env{'form.folderpath'} =~ /^supplemental/) ||              (($env{'form.folderpath'} =~ /^supplemental/) ||
Line 444  sub handler { Line 500  sub handler {
                 $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};                  $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
                 &Apache::loncommon::validate_folderpath(1,'',$cnum,$cdom);                  &Apache::loncommon::validate_folderpath(1,'',$cnum,$cdom);
             }              }
             $brcrum =              unless ($env{'form.only_body'}) { 
                 &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$title,1);                  $brcrum =
                       &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$title,1);
               }
         }          }
     } elsif ($env{'request.course.id'}) {      } elsif ($env{'request.course.id'}) {
         my $courseurl = &Apache::lonnet::courseid_to_courseurl($env{'request.course.id'});          my $courseurl = &Apache::lonnet::courseid_to_courseurl($env{'request.course.id'});
Line 453  sub handler { Line 511  sub handler {
         if ($url =~ m{^\Q/uploaded/$courseurl/supplemental/\E}) {          if ($url =~ m{^\Q/uploaded/$courseurl/supplemental/\E}) {
             $is_supp = 1;              $is_supp = 1;
             &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},              &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
                                                     ['folderpath','title']);                                                      ['folderpath','title','only_body']);
             if ($env{'form.folderpath'}) {              if ($env{'form.folderpath'}) {
                 $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};                  $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
                 $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};                  $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
Line 462  sub handler { Line 520  sub handler {
             my $title = $env{'form.title'};              my $title = $env{'form.title'};
             $title = &HTML::Entities::encode($title,'\'"<>&');              $title = &HTML::Entities::encode($title,'\'"<>&');
             my $crstype = &Apache::loncommon::course_type();              my $crstype = &Apache::loncommon::course_type();
             $brcrum =              unless ($env{'form.only_body'}) {
                 &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$title,1);                  $brcrum =
                       &Apache::lonhtmlcommon::docs_breadcrumbs(undef,$crstype,undef,$title,1);
               }
         }          }
     }      }
   

Removed from v.1.49.2.11.2.3  
changed lines
  Added in v.1.49.2.11.2.5


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