Advertisement
Guest User

Untitled

a guest
Apr 9th, 2015
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. $/ = undef;
  2. my $text = <>;
  3. # Don't replace existing form
  4. if ($text !~ /^\%META:FORM{/m) {
  5. # Extract form data from text
  6. my %data = (
  7. Author => "ProjectContributor",
  8. Release => '%$RELEASE%',
  9. Version => '%$VERSION%',
  10. Copyright => 'Foswiki Contributors, All Rights Reserved',
  11. License => 'GPL ([[http://www.gnu.org/copyleft/gpl.html][GNU General Pub
  12. lic License]])',
  13. Home => 'http://foswiki.org/Extensions/%$ROOTMODULE%',
  14. Support => 'http://foswiki.org/Support/%$ROOTMODULE%',
  15. Repository => 'https://github.com/foswiki/distro'
  16. );
  17. my $form = "\n\%META:FORM{name=\"PackageForm\"}%\n";
  18. foreach my $field ( sort keys %data ) {
  19. if ($text =~ s/\n\|\s*(?:Plugin\s+)?$field(?:\(s\)|s)?:?\s*\|\s*(.*?)\s*
  20. \|\n/\n/i) {
  21. $data{$field} = $1;
  22. $data{$field} =~ s/%TOPIC%/%\$ROOTMODULE%/g;
  23. $data{$field} =~ s/(["\r\n])/'%'.sprintf('%02x',ord($1))/ge;
  24. }
  25. $form .= "\%META:FIELD{name=\"$field\" ";
  26. $form .= "title=\"$field\" value=\"$data{$field}\"}%\n";
  27. }
  28. $text .= $form;
  29. }
  30. print $text;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement