Diff for /rat/lonpage.pm between versions 1.120.4.4 and 1.121

version 1.120.4.4, 2018/02/28 23:03:10 version 1.121, 2017/02/20 18:29:33
Line 42  use Apache::lonlocal; Line 42  use Apache::lonlocal;
 use Apache::lonmenu;  use Apache::lonmenu;
 use Apache::lonhomework;  use Apache::lonhomework;
 use Apache::lonparmset;  use Apache::lonparmset;
 use Apache::lonenc();  
 use HTML::TokeParser;  use HTML::TokeParser;
 use GDBM_File;  use GDBM_File;
 use Apache::lonsequence;  use Apache::lonsequence;
Line 323  ENDEXT Line 322  ENDEXT
                               }                                }
                           } elsif ($cellemb{$_} eq 'ssi') {                            } elsif ($cellemb{$_} eq 'ssi') {
 # --------------------------------------------------------- This is an SSI cell  # --------------------------------------------------------- This is an SSI cell
       my $prefix='p_'.$_.'_';        my $prefix=$_.'_';
                               my $idprefix='p_'.join('_',($mapid,$resid,''));                                my $idprefix= 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 357  ENDEXT Line 356  ENDEXT
       $posthash{'all_submit'}='yes';        $posthash{'all_submit'}='yes';
   }    }
       }        }
                               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 446  ENDEXT Line 442  ENDEXT
       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=~
                                       s/\<((?:input|select|button|textarea)[^\>]+)id\s*\=\s*[\'\"]*([^\'\"]+)[\'\"]*([^\>]*)\>/\<$1 id="$idprefix$2" $3\>/gsi;                                        s/\<((?:input|select|button|textarea)[^\>]+)id\s*\=\s*[\'\"]*([^\'\"]+)[\'\"]*([^\>]*)\>/\<$1 id="$idprefix$2" $3\>/gsi;
                                   $output=~  
                                       s/(\Qthis.form.elements['\E)(HW(?:VAL|CHK)_[^']+\'\]\.(?:value=\'|checked))/$1$prefix$2/gsi;  
                                   if ($hastimer) {                                    if ($hastimer) {
                                       $output=~                                        $output=~
                                           s/\<(input[^\>]+name=\Q"$prefix\Eaccessbutton"[^\>]+)(?:\Qdocument.markaccess.submit();\E)([^\>]*)\>/\<$1pageTimer(this.form,'$prefix')$2\>/gsi;                                            s/\<(input[^\>]+name=\Q"$prefix\Eaccessbutton"[^\>]+)(?:\Qdocument.markaccess.submit();\E)([^\>]*)\>/\<$1pageTimer(this.form,'$prefix')$2\>/gsi;
Line 950  sub get_buttons { Line 944  sub get_buttons {
  '</a>';   '</a>';
  }   }
     }      }
     if ($env{'request.course.id'}) {      if (($env{'request.course.id'}) && (&Apache::lonnet::allowed('mdc',$env{'request.course.id'}))) {
         my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};          my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
         my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};          my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
         my $file=&Apache::lonnet::declutter($hash->{'src_'.$rid});          my $file=&Apache::lonnet::declutter($hash->{'src_'.$rid});
         my $editbutton = '';          my ($cfile,$home,$switchserver,$forceedit,$forceview) =
         if (&Apache::lonnet::allowed('mdc',$env{'request.course.id'})) {              &Apache::lonnet::can_edit_resource($file,$cnum,$cdom,$hash->{'src_'.$rid},$symb);
             my ($cfile,$home,$switchserver,$forceedit,$forceview) =          if ($cfile ne '') {
                 &Apache::lonnet::can_edit_resource($file,$cnum,$cdom,$hash->{'src_'.$rid},$symb);              my $hostname = $r->hostname();
             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,undef,                                                                   &escape($env{'form.title'}),
                                                                      &escape($env{'form.title'}));                                                                   $hostname);
                 if ($jscall) {              if ($jscall) {
                     $editbutton = 1;  
                     my $icon = 'pcstr.png';  
                     my $label = &mt('Edit');  
                     my $title = &mt('Edit this resource');  
                     my $pic = '<img src="'.&Apache::loncommon::lonhttpdurl('/res/adm/pages/'.$icon).'"'.  
                               ' class="LC_icon" alt="'.$label.'" title="'.$title.'" />';  
                     $metainfo .= '&nbsp;<a href="javascript:'.$jscall.';">'.$pic.'</a>';  
                 }  
             }  
         }  
         if ((!$editbutton) && ($file=~/$LONCAPA::assess_re/)) {  
             my $url = &Apache::lonnet::clutter($file);  
             my $viewsrcbutton;  
             if ((&Apache::lonnet::allowed('cre','/')) &&  
                 (&Apache::lonnet::metadata($url,'sourceavail') eq 'open')) {  
                 $viewsrcbutton = 1;  
             } elsif (&Apache::lonnet::allowed('vxc',$env{'request.course.id'})) {  
                 if ($url =~ m{^\Q/res/$cdom/\E($LONCAPA::match_username)/}) {  
                     my $auname = $1;  
                     if (($env{'request.course.adhocsrcaccess'} ne '') &&  
                         (grep(/^\Q$auname\E$/,split(/,/,$env{'request.course.adhocsrcaccess'})))) {  
                         $viewsrcbutton = 1;  
                     }  
                 }  
             }  
             if ($viewsrcbutton) {  
                 my $icon = 'pcstr.png';                  my $icon = 'pcstr.png';
                 my $label = &mt('View Source');                  my $label = &mt('Edit');
                 my $title = &mt('View source code');                  my $title = &mt('Edit this resource');
                 my $jsrid = $rid;  
                 $jsrid =~ s/\./_/g;  
                 my $showurl = &escape(&Apache::lonenc::check_encrypt($url));  
                 my $pic = '<img src="'.&Apache::loncommon::lonhttpdurl('/res/adm/pages/'.$icon).'"'.                  my $pic = '<img src="'.&Apache::loncommon::lonhttpdurl('/res/adm/pages/'.$icon).'"'.
                           ' class="LC_icon" alt="'.$label.'" title="'.$title.'" />';                            ' class="LC_icon" alt="'.$label.'" title="'.$title.'" />';
                 $metainfo .= '&nbsp;<a href="javascript:open_source_'.$jsrid.'();">'.$pic.'</a>'."\n".                  $metainfo .= '&nbsp;<a href="javascript:'.$jscall.';">'.$pic.'</a>';
                              '<script type="text/javascript">'."\n".  
                              "function open_source_$jsrid() {\n".  
                              "  sourcewin=window.open('/adm/source?inhibitmenu=yes&viewonly=1&filename=$showurl','LONsource',".  
                              "'height=500,width=600,resizable=yes,location=no,menubar=no,toolbar=no,scrollbars=yes');\n".  
                              "}\n".  
                              "</script>\n";  
             }              }
         }          }
     }      }

Removed from v.1.120.4.4  
changed lines
  Added in v.1.121


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