Diff for /loncom/xml/lonxml.pm between versions 1.494.4.5 and 1.495

version 1.494.4.5, 2010/10/01 14:21:55 version 1.495, 2009/05/28 11:31:03
Line 243  sub tokeninputfield { Line 243  sub tokeninputfield {
         document.tokeninput.barcode.value='';          document.tokeninput.barcode.value='';
     }        }  
 </script>  </script>
 <form method="post" name="tokeninput" action="">  <form method="post" name="tokeninput">
 <table border="2" bgcolor="#FFFFBB">  <table border="2" bgcolor="#FFFFBB">
 <tr><th>DocID Checkin</th></tr>  <tr><th>DocID Checkin</th></tr>
 <tr><td>  <tr><td>
Line 251  sub tokeninputfield { Line 251  sub tokeninputfield {
 <tr>  <tr>
 <td>Scan in Barcode</td>  <td>Scan in Barcode</td>
 <td><input type="text" size="22" name="barcode"   <td><input type="text" size="22" name="barcode" 
 onchange="updatetoken()"/></td>  onChange="updatetoken()"/></td>
 </tr>  </tr>
 <tr><td><i>or</i> Type in DocID</td>  <tr><td><i>or</i> Type in DocID</td>
 <td>  <td>
Line 260  onchange="updatetoken()"/></td> Line 260  onchange="updatetoken()"/></td>
 <input type="text" size="5" name="codetwo" />  <input type="text" size="5" name="codetwo" />
 <b><font size="+2">*</font></b>  <b><font size="+2">*</font></b>
 <input type="text" size="10" name="codethree" value="$defhost"   <input type="text" size="10" name="codethree" value="$defhost" 
 onchange="this.value=this.value.toUpperCase()" />  onChange="this.value=this.value.toUpperCase()" />
 </td></tr>  </td></tr>
 </table>  </table>
 </td></tr>  </td></tr>
Line 757  sub init_safespace { Line 757  sub init_safespace {
   '&maxima_cas_formula_fix');    '&maxima_cas_formula_fix');
   
   $safehole->wrap(\&Apache::lonr::r_eval,$safeeval,'&r_eval');    $safehole->wrap(\&Apache::lonr::r_eval,$safeeval,'&r_eval');
   $safehole->wrap(\&Apache::lonr::Rentry,$safeeval,'&Rentry');  
   $safehole->wrap(\&Apache::lonr::Rarray,$safeeval,'&Rarray');  
   $safehole->wrap(\&Apache::lonr::r_check,$safeeval,'&r_check');    $safehole->wrap(\&Apache::lonr::r_check,$safeeval,'&r_check');
   $safehole->wrap(\&Apache::lonr::r_cas_formula_fix,$safeeval,    $safehole->wrap(\&Apache::lonr::r_cas_formula_fix,$safeeval,
                   '&r_cas_formula_fix');                    '&r_cas_formula_fix');
Line 1043  sub get_id { Line 1041  sub get_id {
     my ($parstack,$safeeval)=@_;      my ($parstack,$safeeval)=@_;
     my $id= &Apache::lonxml::get_param('id',$parstack,$safeeval);      my $id= &Apache::lonxml::get_param('id',$parstack,$safeeval);
     if ($env{'request.state'} eq 'construct' && $id =~ /([._]|[^\w\d\s[:punct:]])/) {      if ($env{'request.state'} eq 'construct' && $id =~ /([._]|[^\w\d\s[:punct:]])/) {
  &error(&mt("ID [_1] contains invalid characters, IDs are only allowed to contain letters, numbers, spaces and -",'<tt>'.$id.'</tt>'));   &error(&mt("ID &quot;[_1]&quot; contains invalid characters, IDs are only allowed to contain letters, numbers, spaces and -",'<tt>'.$id.'</tt>'));
     }      }
     if ($id =~ /^\s*$/) { $id = $Apache::lonxml::curdepth; }      if ($id =~ /^\s*$/) { $id = $Apache::lonxml::curdepth; }
     return $id;      return $id;
Line 1523  SIMPLECONTENT Line 1521  SIMPLECONTENT
   
 sub verify_html {  sub verify_html {
     my ($filecontents)=@_;      my ($filecontents)=@_;
     my ($is_html,$is_xml);      if ($filecontents!~/(?:\<|\&lt\;)(?:html|xml)[^\<]*(?:\>|\&gt\;)/is) {
     if ($filecontents =~/(?:\<|\&lt\;)\?xml[^\<]*\?(?:\>|\&gt\;)/is) {         return &mt('File does not have [_1] or [_2] starting tag','&lt;html&gt;','&lt;xml&gt;');
         $is_xml = 1;      }
     } elsif ($filecontents =~/(?:\<|\&lt\;)html(?:\s+[^\<]+|\s*)(?:\>|\&gt\;)/is) {      if ($filecontents!~/(?:\<|\&lt\;)\/(?:html|xml)(?:\>|\&gt\;)/is) {
         $is_html = 1;         return &mt('File does not have [_1] or [_2] ending tag','&lt;html&gt;','&lt;xml&gt;');
     }      }
     unless ($is_xml || $is_html) {      if ($filecontents!~/(?:\<|\&lt\;)(?:body|frameset)[^\<]*(?:\>|\&gt\;)/is) {
         return &mt('File does not have [_1] or [_2] starting tag','&lt;html&gt;','&lt;?xml ?&gt;');         return &mt('File does not have [_1] or [_2] starting tag','&lt;body&gt;','&lt;frameset&gt;');
     }      }
     if ($is_html) {      if ($filecontents!~/(?:\<|\&lt\;)\/(?:body|frameset)[^\<]*(?:\>|\&gt\;)/is) {
         if ($filecontents!~/(?:\<|\&lt\;)\/html(?:\>|\&gt\;)/is) {         return &mt('File does not have [_1] or [_2] ending tag','&lt;body&gt;','&lt;frameset&gt;');
             return &mt('File does not have [_1] ending tag','&lt;html&gt;');  
         }  
         if ($filecontents!~/(?:\<|\&lt\;)(?:body|frameset)[^\<]*(?:\>|\&gt\;)/is) {  
             return &mt('File does not have [_1] or [_2] starting tag','&lt;body&gt;','&lt;frameset&gt;');  
         }  
         if ($filecontents!~/(?:\<|\&lt\;)\/(?:body|frameset)[^\<]*(?:\>|\&gt\;)/is) {  
             return &mt('File does not have [_1] or [_2] ending tag','&lt;body&gt;','&lt;frameset&gt;');  
         }  
     }      }
     return '';      return '';
 }  }
Line 1554  sub renderingoptions { Line 1544  sub renderingoptions {
                        = &Apache::loncommon::plainlanguagedescription($_);                         = &Apache::loncommon::plainlanguagedescription($_);
         }          }
     }      }
     my $output;      return
     unless ($env{'form.forceedit'}) {         '<span class="LC_nobreak">'.
        $output .=         &mt('Language:').' '.
            '<span class="LC_nobreak">'.         &Apache::loncommon::select_form($env{'form.languages'},'languages',
            &mt('Language:').' '.                                                       %langchoices).'
            &Apache::loncommon::select_form(       </span>
                $env{'form.languages'},       <span class="LC_nobreak">'.
                'languages',  
                &Apache::lonlocal::texthash(%langchoices)).  
            '</span>';  
     }  
     $output .=  
      ' <span class="LC_nobreak">'.  
        &mt('Math Rendering:').' '.         &mt('Math Rendering:').' '.
        &Apache::loncommon::select_form(         &Apache::loncommon::select_form($env{'form.texengine'},'texengine',
            $env{'form.texengine'},                                                       ('' => '',
            'texengine',                                                        'tth' => 'tth (TeX to HTML)',
            &Apache::lonlocal::texthash                                                        'jsMath' => 'jsMath',
                (''        => '',                                                        'mimetex' => 'mimetex (Convert to Images)')).'
                 'tth'     => 'tth (TeX to HTML)',       </span>';
                 'jsMath'  => 'jsMath',  
                 'mimetex' => 'mimetex (Convert to Images)')).  
      '</span>';  
     return $output;  
 }  }
   
 sub inserteditinfo {  sub inserteditinfo {
Line 1724  sub handler { Line 1704  sub handler {
  $request->set_last_modified(&Apache::lonnet::metadata($request->uri,   $request->set_last_modified(&Apache::lonnet::metadata($request->uri,
       'lastrevisiondate'));        'lastrevisiondate'));
     }      }
     # Embedded Flash movies (e.g., from Camtasia) served from https will not display in IE  
     #   if XML config file has expired from cache.  
     if ($ENV{'SERVER_PORT'} == 443) {  
         if ($request->uri =~ /\.xml$/) {  
             my ($httpbrowser,$clientbrowser) =  
                 &Apache::loncommon::decode_user_agent($request);  
             if ($clientbrowser =~ /^explorer$/i) {  
                 delete $request->headers_out->{'Cache-control'};  
                 delete $request->headers_out->{'Pragma'};  
                 my $expiration = time + 60;  
                 my $date=strftime("%a, %d %b %Y %H:%M:%S GMT",gmtime($expiration));  
                 $request->headers_out->set("Expires" => $date);  
             }  
         }  
     }  
     $request->send_http_header;      $request->send_http_header;
           
     return OK if $request->header_only;      return OK if $request->header_only;
Line 1770  sub handler { Line 1735  sub handler {
     if ($filecontents eq -1) {      if ($filecontents eq -1) {
  my $start_page=&Apache::loncommon::start_page('File Error');   my $start_page=&Apache::loncommon::start_page('File Error');
  my $end_page=&Apache::loncommon::end_page();   my $end_page=&Apache::loncommon::end_page();
  my $fnf=&mt('File not found');          my $errormsg='<p class="LC_error">'
                       .&mt('File not found: [_1]'
                           ,'<span class="LC_filename">'.$file.'</span>')
                       .'</p>';
  $result=(<<ENDNOTFOUND);   $result=(<<ENDNOTFOUND);
 $start_page  $start_page
 <b>$fnf: $file</b>  $errormsg
 $end_page  $end_page
 ENDNOTFOUND  ENDNOTFOUND
         $filecontents='';          $filecontents='';
Line 1812  ENDNOTFOUND Line 1780  ENDNOTFOUND
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
     ['rawmode']);      ['rawmode']);
     if ($env{'form.rawmode'}) { $result = $filecontents; }      if ($env{'form.rawmode'}) { $result = $filecontents; }
     if ($filetype ne 'html') {              if ($filetype ne 'html') {
                 my $nochgview = 1;                   my $nochgview = 1; 
  my $controls =                  my $controls = '';
     ($env{'request.state'} eq 'construct') ? &Apache::londefdef::edit_controls($nochgview)                      if ($env{'request.state'} eq 'construct') {
                                            : '';                          $controls = &Apache::loncommon::head_subbox(
                                           &Apache::loncommon::CSTR_pageheader()
                                          .&Apache::londefdef::edit_controls($nochgview));
                       }
                 if ($filetype ne 'sty') {                  if ($filetype ne 'sty') {
                     $result =~ s/</&lt;/g;                      $result =~ s/</&lt;/g;
                     $result =~ s/>/&gt;/g;                      $result =~ s/>/&gt;/g;
Line 1825  ENDNOTFOUND Line 1796  ENDNOTFOUND
                               '</pre></b></td></tr></table>';                                '</pre></b></td></tr></table>';
                 }                  }
                 if ($env{'environment.remote'} eq 'off') {                  if ($env{'environment.remote'} eq 'off') {
                     my %options = ('bgcolor' => '#FFFFFF');                      my $brcrum;
     $result =                       if ($env{'request.state'} eq 'construct') {
         &Apache::loncommon::start_page(undef,undef,\%options).                          $brcrum = [{'href' => '', # FIXME Add link to /priv/[user]
         $controls.                                      'text' => 'Construction Space'},
         $result.                                     {'href' => '',
         &Apache::loncommon::end_page();                                      'text' => 'Editor'}];
                       } else {
                           $brcrum = ''; # FIXME: Where are we?
                       }
                       my %options = ('bread_crumbs' => $brcrum,
                                      'bgcolor'      => '#FFFFFF');
                       $result =
                           &Apache::loncommon::start_page(undef,undef,\%options)
                          .$controls
                          .$result
                          .&Apache::loncommon::end_page();
                 } else {                  } else {
                     $result = $controls.$result;                      $result = $controls.$result;
                 }                  }
             }              }
  }          }
     }      }
   
 #  #
Line 1852  ENDNOTFOUND Line 1833  ENDNOTFOUND
   
     my %options =       my %options = 
  ('add_entries' =>   ('add_entries' =>
                    {'onresize' => $add_to_onresize,                     {'onresize'     => $add_to_onresize,
     'onload'   => $add_to_onload,   });                      'onload'       => $add_to_onload,   });
   
            $options{'bread_crumbs'} = [{
                           'href' => '', # FIXME Add link to /priv/[user]
                           'text' => 'Construction Space'},
                          {'href' => '',
                           'text' => 'HTML Editor'}];
   
     if ($env{'environment.remote'} ne 'off') {      if ($env{'environment.remote'} ne 'off') {
  $options{'bgcolor'}   = '#FFFFFF';   $options{'bgcolor'}   = '#FFFFFF';
Line 1864  ENDNOTFOUND Line 1851  ENDNOTFOUND
  &Apache::loncommon::resize_textarea_js();   &Apache::loncommon::resize_textarea_js();
     my $start_page = &Apache::loncommon::start_page(undef,$js,      my $start_page = &Apache::loncommon::start_page(undef,$js,
     \%options);      \%options);
     $result=$start_page.              $result = $start_page
  &Apache::lonxml::message_location().                       .&Apache::loncommon::head_subbox(
  $edit_info.                            &Apache::loncommon::CSTR_pageheader())
  &Apache::loncommon::end_page();                       .&Apache::lonxml::message_location()
                        .$edit_info
                        .&Apache::loncommon::end_page();
         }          }
     }      }
     if ($filetype eq 'html') { &writeallows($request->uri); }      if ($filetype eq 'html') { &writeallows($request->uri); }

Removed from v.1.494.4.5  
changed lines
  Added in v.1.495


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