Diff for /loncom/publisher/lonpublisher.pm between versions 1.48 and 1.58

version 1.48, 2001/10/16 08:53:19 version 1.58, 2001/12/05 20:37:06
Line 1 Line 1
 # The LearningOnline Network with CAPA  # The LearningOnline Network with CAPA
 # Publication Handler  # Publication Handler
   #
   # $Id$
   #
   # Copyright Michigan State University Board of Trustees
   #
   # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
   #
   # LON-CAPA is free software; you can redistribute it and/or modify
   # it under the terms of the GNU General Public License as published by
   # the Free Software Foundation; either version 2 of the License, or
   # (at your option) any later version.
   #
   # LON-CAPA is distributed in the hope that it will be useful,
   # but WITHOUT ANY WARRANTY; without even the implied warranty of
   # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   # GNU General Public License for more details.
   #
   # You should have received a copy of the GNU General Public License
   # along with LON-CAPA; if not, write to the Free Software
   # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   #
   # /home/httpd/html/adm/gpl.txt
   #
   # http://www.lon-capa.org/
   #
 #   # 
 # (TeX Content Handler  # (TeX Content Handler
 #  #
Line 12 Line 37
 # 05/03,05/05,05/07 Gerd Kortemeyer  # 05/03,05/05,05/07 Gerd Kortemeyer
 # 05/28/2001 Scott Harrison  # 05/28/2001 Scott Harrison
 # 06/23,08/07,08/11,8/13,8/17,8/18,8/24,9/26,10/16 Gerd Kortemeyer  # 06/23,08/07,08/11,8/13,8/17,8/18,8/24,9/26,10/16 Gerd Kortemeyer
   # 12/04,12/05 Guy Albertelli
   # 12/05 Gerd Kortemeyer
   
 package Apache::lonpublisher;  package Apache::lonpublisher;
   
Line 56  sub metaeval { Line 83  sub metaeval {
                  $unikey.='_'.$token->[2]->{'part'};                    $unikey.='_'.$token->[2]->{'part'}; 
       }        }
               if (defined($token->[2]->{'id'})) {                 if (defined($token->[2]->{'id'})) { 
                   $unikey.='.'.$token->[2]->{'id'};                    $unikey.='_'.$token->[2]->{'id'};
               }                 } 
               if (defined($token->[2]->{'name'})) {                 if (defined($token->[2]->{'name'})) { 
                  $unikey.='_'.$token->[2]->{'name'};                    $unikey.='_'.$token->[2]->{'name'}; 
Line 225  sub publish { Line 252  sub publish {
       }        }
           my $outstring='';            my $outstring='';
           my $parser=HTML::TokeParser->new(\$content);            my $parser=HTML::TokeParser->new(\$content);
             $parser->xml_mode(1);
           my $token;            my $token;
           while ($token=$parser->get_token) {            while ($token=$parser->get_token) {
               if ($token->[0] eq 'S') {                if ($token->[0] eq 'S') {
                 my $counter;                  my $counter;
                 my $tag=$token->[1];                  my $tag=$token->[1];
                 unless ($tag eq 'allow') {                    my $lctag=lc($tag);
                   unless ($lctag eq 'allow') {  
                   my %parms=%{$token->[2]};                    my %parms=%{$token->[2]};
   if ($counter=$addid{$tag}) {                    $counter=$addid{$tag};
                     if (!$counter) { $counter=$addid{$lctag}; }
                     if ($counter) {
       if ($counter eq 'id') {        if ($counter eq 'id') {
   unless (defined($parms{'id'})) {    unless (defined($parms{'id'})) {
                               $maxid++;                                $maxid++;
Line 261  sub publish { Line 292  sub publish {
                       }                        }
                   } ('src','href','background');                    } ('src','href','background');
   
                   if ($tag eq 'applet') {                    if ($lctag eq 'applet') {
       my $codebase='';        my $codebase='';
                       if (defined($parms{'codebase'})) {                        if (defined($parms{'codebase'})) {
          my $oldcodebase=$parms{'codebase'};           my $oldcodebase=$parms{'codebase'};
Line 302  sub publish { Line 333  sub publish {
                       $newparmstring.=' '.$_.'='.$quote.$parms{$_}.$quote;                        $newparmstring.=' '.$_.'='.$quote.$parms{$_}.$quote;
     }      }
                   } keys %parms;                    } keys %parms;
       if (!$endtag) { if ($token->[4]=~m:/>$:) { $endtag=' /'; }; }
   $outstring.='<'.$tag.$newparmstring.$endtag.'>';    $outstring.='<'.$tag.$newparmstring.$endtag.'>';
          } else {           } else {
    $allow{$token->[2]->{'src'}}=1;     $allow{$token->[2]->{'src'}}=1;
  }   }
               } elsif ($token->[0] eq 'E') {                } elsif ($token->[0] eq 'E') {
    if ($token->[2]) {
                   unless ($token->[1] eq 'allow') {                    unless ($token->[1] eq 'allow') {
                      $outstring.='</'.$token->[1].'>';                       $outstring.='</'.$token->[1].'>';
   }    }
    }
               } else {                } else {
                   $outstring.=$token->[1];                    $outstring.=$token->[1];
               }                }
Line 328  sub publish { Line 361  sub publish {
            $scrout.='<tt>'.$_.'</tt>';             $scrout.='<tt>'.$_.'</tt>';
            unless ($_=~/\*/) {             unless ($_=~/\*/) {
        $scrout.='</a>';         $scrout.='</a>';
                  if (&Apache::lonnet::getfile(
                      $Apache::lonnet::perlvar{'lonDocRoot'}.'/'.
                                               $_.'.meta') eq '-1') {
      $scrout.=
                              ' - <font color=red>Currently not available</font>';
                  }
            }             }
         } keys %allow;          } keys %allow;
         $outstring=~s/(\<\/[^\>]+\>\s*)$/$allowstr$1/s;          $outstring=~s/(\<\/[^\>]+\>\s*)$/$allowstr$1/s;
Line 461  sub publish { Line 500  sub publish {
           &hiddenfield('phase','two').            &hiddenfield('phase','two').
           &hiddenfield('filename',$ENV{'form.filename'}).            &hiddenfield('filename',$ENV{'form.filename'}).
   &hiddenfield('allmeta',&Apache::lonnet::escape($allmeta)).    &hiddenfield('allmeta',&Apache::lonnet::escape($allmeta)).
             &hiddenfield('dependencies',join(',',keys %allow)).
           &textfield('Title','title',$metadatafields{'title'}).            &textfield('Title','title',$metadatafields{'title'}).
           &textfield('Author(s)','author',$metadatafields{'author'}).            &textfield('Author(s)','author',$metadatafields{'author'}).
   &textfield('Subject','subject',$metadatafields{'subject'});    &textfield('Subject','subject',$metadatafields{'subject'});
Line 502  sub publish { Line 542  sub publish {
                 }                  }
                 $colcount++;                  $colcount++;
             } sort keys %keywords;              } sort keys %keywords;
   
         } else {          } else {
             $keywordout.='<td>File too large, scan omitted</td>';      $keywordout.='<td>File too long for keyword analysis</td>';
         }          }         
            
         $keywordout.='</tr></table>';  
                   
  $scrout.=$keywordout;   $keywordout.='</tr></table>';
   
           $scrout.=$keywordout;
   
         $scrout.=&textfield('Additional Keywords','addkey','');          $scrout.=&textfield('Additional Keywords','addkey','');
   

Removed from v.1.48  
changed lines
  Added in v.1.58


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