- Timestamp:
- 2000-01-13T14:57:57+13:00 (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/perllib/plugins/HTMLPlug.pm
r808 r850 46 46 @ISA = ('BasPlug'); 47 47 } 48 49 use strict; 48 50 49 51 sub print_usage { … … 72 74 sub new { 73 75 my $class = shift (@_); 74 $self = new BasPlug ();76 my $self = new BasPlug (); 75 77 76 78 if (!parsargv::parse(\@_, … … 132 134 } 133 135 134 $self-> add_external_metadata ($metadata, $doc_obj, $cursection);136 $self->extra_metadata ($doc_obj, $cursection, $metadata); 135 137 $self->extract_metadata (\$text, $metadata, $doc_obj, $cursection) 136 138 unless $self->{'no_metadata'}; … … 204 206 my ($href, $hash_part, $rl) = $self->format_link ($link, $base_dir, $file); 205 207 206 if (($rl == 0) || ($href =~ /$self->{'process_exp'}/) || 208 my ($filename) = $href =~ /^(?:.*?):(?:\/\/)?(.*)/; 209 if (($rl == 0) || ($filename =~ /$self->{'process_exp'}/) || 207 210 ($href =~ /\/$/) || ($href =~ /^(mailto|news|gopher|nntp|telnet|javascript):/i)) { 208 211 $link = $href . $hash_part; … … 245 248 $hash_part = "" if !defined $hash_part; 246 249 if (!defined $before_hash || $before_hash !~ /[\w\.\/]/) { 247 print STDERR "HTMLPlug: ERROR - badly formatted tag ignored ($ front$link$back)\n"250 print STDERR "HTMLPlug: ERROR - badly formatted tag ignored ($link)\n" 248 251 if $self->{'verbosity'}; 249 252 return ($link, "", 0); … … 307 310 } 308 311 309 # Add metadata that has been provided externally (i.e. by310 # a previous (recursive) plugin311 sub add_external_metadata {312 my $self = shift (@_);313 my ($metadata, $doc_obj, $section) = @_;314 315 foreach $field (keys(%$metadata)) {316 # $metadata->{$field} may be an array reference317 if (ref ($metadata->{$field}) eq "ARRAY") {318 map {319 $doc_obj->add_metadata ($section, $field, $_);320 } @{$metadata->{$field}};321 } else {322 $doc_obj->add_metadata ($section, $field, $metadata->{$field});323 }324 }325 }326 327 312 sub extract_metadata { 328 313 my $self = shift (@_); 329 314 my ($textref, $metadata, $doc_obj, $section) = @_; 330 315 331 foreach $field (split /,/, $self->{'metadata_fields'}) {316 foreach my $field (split /,/, $self->{'metadata_fields'}) { 332 317 333 318 # don't need to extract field if it was passed in from a previous … … 385 370 386 371 my @eval_dirs = (); 387 foreach $d (@dirsep) {372 foreach my $d (@dirsep) { 388 373 if ($d eq "..") { 389 374 pop(@eval_dirs);
Note:
See TracChangeset
for help on using the changeset viewer.