From: <de...@de...> - 2010-11-11 03:54:27
|
Author: PeterThoeny Date: 2010-11-10 21:54:18 -0600 (Wed, 10 Nov 2010) New Revision: 19818 Trac url: http://develop.twiki.org/trac/changeset/19818 Modified: twiki/branches/TWikiRelease05x00/RevisionLinkPlugin/data/TWiki/RevisionLinkPlugin.txt twiki/branches/TWikiRelease05x00/RevisionLinkPlugin/lib/TWiki/Plugins/RevisionLinkPlugin.pm Log: Item6530: Updating plugin based on related project. Thanks GPL and thanks TWiki:Main.KennethLavrsen Modified: twiki/branches/TWikiRelease05x00/RevisionLinkPlugin/data/TWiki/RevisionLinkPlugin.txt =================================================================== --- twiki/branches/TWikiRelease05x00/RevisionLinkPlugin/data/TWiki/RevisionLinkPlugin.txt 2010-11-11 03:53:22 UTC (rev 19817) +++ twiki/branches/TWikiRelease05x00/RevisionLinkPlugin/data/TWiki/RevisionLinkPlugin.txt 2010-11-11 03:54:18 UTC (rev 19818) @@ -1,91 +1,111 @@ -%META:TOPICINFO{author="TWikiContributor" date="1147820697" format="1.0" version="$Rev$"}% ----+ Revision Link Plugin +%META:TOPICINFO{author="TWikiContributor" date="1289445421" format="1.1" version="$Rev$"}% +---+!! Revision Link Plugin +<!-- + Contributions to this TWiki plugin are appreciated. Please update the plugin page at + http://twiki.org/cgi-bin/view/Plugins/RevisionLinkPlugin or provide feedback at + http://twiki.org/cgi-bin/view/Plugins/RevisionLinkPluginDev. + If you are a TWiki contributor please update the plugin in the SVN repository. +--> +<sticky><div style="float:right; background-color:#EBEEF0; margin:0 0 20px 20px; padding: 0 10px 0 10px;"> +%TOC{title="Page contents"}% +</div></sticky> +%SHORTDESCRIPTION% -This plugin enables the author of a TWiki page to specify a particular version of a topic to link to. You can use also negative numbers when specifying the revision number. +---++ Introduction -Some examples of how the plugin works when installed.<br /> +This plugin enables the author of a TWiki page to specify a particular version of a topic to link to. You can use also negative numbers when specifying the revision number which means a revision back in time relative to the current revision. -=%<nop>REV{"WebHome" rev="1"}%= becomes [[%SCRIPTURL%/view/%WEB%/WebHome?rev=1][WebHome(1)]] +Some examples of how the plugin works when installed. -=%<nop>REV{"WebHome" web="TWiki" rev="1.1" format="$web.$topic(rev=$rev)"}%= becomes [[%SCRIPTURL%/view/TWiki/WebHome?rev=1][WebHome(1.1)]] +=%<nop>REV{"WebHome" rev="1"}%= becomes [[%SCRIPTURLPATH{"view"}%/%WEB%/WebHome?rev=1][WebHome(1)]] +=%<nop>REV{"WebHome" web="System" rev="1" format="$web.$topic(rev: $rev)"}%= becomes [[%SCRIPTURLPATH{"view"}%/System/WebHome?rev=1][WebHome(rev: 1)]] + ---++ Syntax Rules -| =%<nop>REV{"1"}%= | Points to current topic in specified revision, TWiki4 revision syntax | + +| =%<nop>REV{"1"}%= | Points to current topic in specified revision, TWiki/TWiki4 revision syntax | | =%<nop>REV{"1.1"}%= | Points to current topic in specified revision, Cairo revision syntax | | =%<nop>REV{"-2"}%= | Points to current topic in revision which was two times back | -| =%<nop>REV{"SomeTopic" rev="1.1"}%= | Points to specified topic in specified revision | -| =%<nop>REV{rev='1.1' "SomeTopic"}%= | Same as above. Syntax is very flexible. | +| =%<nop>REV{"SomeTopic" rev="1"}%= | Points to specified topic in specified revision | +| =%<nop>REV{rev='1' "SomeTopic"}%= | Same as above. Syntax is very flexible. | | =%<nop>REV{"SomeTopic" web="AWeb" rev="1"}%= | Points to specified topic in web | | =%<nop>REV{"SomeTopic" web="AWeb" rev="1" format="$web.$topic(rev=$rev)"}%= | Points to specified topic in web and formats the output | -| =%<nop>REV['SomeTopic' web='AWeb' rev='1' format='$web.$topic(rev=$rev)'}%= | Same as above but using [] and '' syntax | +| =%<nop>REV{"SomeTopic" web="AWeb" rev="1" attachment="filename.png" format="$web.$topic - $attachment(rev=$rev)"}%= | Points to specified attachment of topic formats the output | -You can specify also the topic by topic attribute, i.e. %<nop>REV{topic="ATopic" rev="1.1"}% +You can specify also the topic by topic attribute, i.e. %<nop>REV{topic="ATopic" rev="1"}% -If you want to add this plugin to metadata than you can use character *[ ]* instead of *{ }* and *' '* instead of *" "*. These characters should not be in conflict with the syntax of metadata. The plugin is is very forgiving with syntax and accepts a mix of "" and '' syntax for the attributes. Space is not allowed round the *=*. +Revision can be given as input either in TWiki/TWiki4 format (1, 2, 3,...) or the old Cairo syntax (1.1, 1.2, 1.3, ...). Revision is however always shown in TWiki/TWiki4 syntax (without the 1. prefix). -Revision can be either in TWiki4 format (1, 2, 3,...) or the old Cairo syntax (1.1, 1.2, 1.3, ...). In TWiki4 the revision is written the same way as you write it. In Cairo the 1.X format is always displayed. - ---+++ Syntax and variables in 'format' attribute -You can use these variables: *$web*, *$topic*, *$rev*, *$date*, *$user*, *$comment*. +You can use these variables: -As default the whole string is used as link to appropriate revision. If you write more complex format string and you don't want to link only part of the string encapsulate it with *!*. Ex. %<nop>REV{"ATopic" web="AWeb" rev="1.1" format="| $date | $user | !$web.$topic(rev=$rev)! | $comment |"}%. +| *Variable* | *Description* | +| =$web= | The web name for the target topic | +| =$topic= | The name of the target topic | +| =$attachment= | The filename of an attachment | +| =$rev= | The revision of the target topic or attachment | +| =$date= | The date (in epoch) of the target topic or attachment. | +| =$user= | The author of the target topic or attachment | +| =$comment= | The comment given when uploading an attachment | +As default the whole string is used as link to appropriate revision. If you write more complex format string and you don't want to link only part of the string encapsulate it with *!*. Ex. %<nop>REV{"ATopic" web="AWeb" rev="1" format="| $date | $user | !$web.$topic(rev=$rev)! |"}%. + ---++ Examples | %REV{1}% | Points to current topic in specified revision | -| %REV{"1.1"}% | Points to current topic in specified revision | -| %REV['-2']% | Points to current topic in revision which was two times back | +| %REV{"1"}% | Points to current topic in specified revision | +| %REV{"1.1"}% | Points to current topic in specified revision (Cairo syntax as input but TWiki as output) | | %REV{"CommentPlugin" rev="3"}% | Points to specified topic in specified revision | -| %REV["CommentPlugin" rev="-2"]% | Points to specified topic in revision which was two times back | -| %REV{"WebHome" web="TWiki" rev="1.1"}% | Points to specified topic in web | -| %REV{"WebHome" web="TWiki" rev="1.1" format="$web.$topic(rev=$rev)"}% | Points to specified topic in web and formats the output | +| %REV{"WebHome" web="System" rev="1"}% | Points to specified topic in web | +| %REV{"WebHome" web="System" rev="1" format="$web.$topic(rev=$rev)"}% | Points to specified topic in web and formats the output | +| %REV{"ProjectLogos" web="System" rev="1" attachment="twiki-logo.png" format="$web.$topic - $attachment(rev=$rev)"}% | Points to specified attachment of topic formats the output | -Example of more complex format attribute:<br> -%REV{"WebHome" web="TWiki" rev="1" format="| $date | <nop>$user | !$web.$topic(rev=$rev)! | $comment |"}% +Example of more complex format attribute:<br /> +%REV{"WebHome" web="System" rev="1" format="| $date | <nop>$user | !$web.$topic(rev: $rev)! | $comment |"}% + ---++ <nop>%TOPIC% Settings Plugin settings are stored as preferences variables. The following variables are used for this plugin. - * One line description, is shown in the %TWIKIWEB%.TextFormattingRules topic: - * Set SHORTDESCRIPTION = This plugin enables linking to specific topic revisions. + * One line description, is shown in the %SYSTEMWEB%.TextFormattingRules topic: + * Set SHORTDESCRIPTION = Enable linking to specific topic revisions - * Debug plugin: (See output in =data/debug.txt=) - * Set DEBUG = 0 + * Debug plugin: (See output in =data/debug.txt=) + * Set DEBUG = 0 ---+++ Plugin Installation Instructions + *Note:* You do not need to install anything on the browser to use this plugin. The following instructions are for the administrator who installs the plugin on the TWiki server. - * Download the ZIP file from the Plugin web (see below) - * Unzip ==%TOPIC%.zip== in your twiki installation directory. Content: - | *File:* | *Description:* | - | ==data/TWiki/%TOPIC%.txt== | Plugin topic | - | ==lib/TWiki/Plugins/%TOPIC%.pm== | Plugin Perl module | - * (Dakar) Visit =configure= in your TWiki installation, and enable the plugin in the {Plugins} section. - * Test if the installation was successful: - * %REV{"1.1"}% + * Download the ZIP file from the plugin web (see below) + * Unzip ==%TOPIC%.zip== in your TWiki installation directory. Content: + | *File:* | *Description:* | + | ==data/System/%TOPIC%.txt== | Plugin topic | + | ==lib/TWiki/Plugins/%TOPIC%.pm== | Plugin Perl module | + * Visit =configure= in your TWiki installation, and enable the plugin in the {Plugins} section. + * Test if the installation was successful: + * %REV{"1"}% ---+++ Plugin Info | Plugin Author: | TWiki:Main.RichardBaar, TWiki:Main.KennethLavrsen | -| Copyright: | © 2003 TWiki:Main.RichardBaar, 2006 TWiki:Main.KennethLavrsen | +| Copyright: | © 2003 TWiki:Main.RichardBaar, <br /> 2006-2009 TWiki:Main.KennethLavrsen <br /> © 2006-2010 TWiki:TWiki/TWikiContributor | | License: | GPL ([[http://www.gnu.org/copyleft/gpl.html][GNU General Public License]]) | -| Plugin Version: | 2.1 (%$VERSION%) | +| Plugin Version: | 2.2 (27 Jan 2009) | | Change History: | <!-- versions below in reverse order --> | -| 16 Feb 2007 (2.1)<br />SVN %$VERSION% | TWiki:Main.KennethLavrsen<br />Fixed bug when having more than one REV tag in same topic | -| 18 May 2006 (2.0)<br />SVN 10228 | TWiki:Main.KennethLavrsen<br />updated plugin to Dakar while maintaining Cairo compatibility.<br />Enhanced the syntax robustness.<br />Fixed some rendering errors when plugin was used several times on same topic.<br />Fixed the plugin so only official API is used. | +| 27 Jan 2009 (2.2) | TWiki:Main.KennethLavrsen<br />Added support for linking to revisions of attachments<br />Removed the odd alternative square bracket syntax. It is probably few that ever used it because the many past years it has not been a problem using the normal syntax in form fields. The removal of this syntax enabled using the registerTagHandler instead of the much less efficient commonTagsHandler | +| 16 Feb 2007 (2.1) | TWiki:Main.KennethLavrsen<br />Fixed bug when having more than one REV tag in same topic | +| 18 May 2006 (2.0) | TWiki:Main.KennethLavrsen<br />updated plugin to Dakar while maintaining Cairo compatibility.<br />Enhanced the syntax robustness.<br />Fixed some rendering errors when plugin was used several times on same topic.<br />Fixed the plugin so only official API is used. | | 27 Aug 2003 (1.11) | Repaired link when "web" attribute specified | | 14 Aug 2003 (1.1) | You can specify revision only with one number (ex. %<nop>REV{"5"}%)<br>You can use negative numbers for revision (ex. %<nop>REV{"-2"}%)<br>Enhanced syntax (added characters *[* and *'*)<br>Added variables $date, $user and $comment to format attribute | | 05 Aug 2003 (1.0) | Initial version | | TWiki Dependency: | $TWiki::Plugins::VERSION 1.0 | | CPAN Dependencies: | none | | Other Dependencies: | none | -| Perl Version: | 5.005 | | -| [[TWiki:Plugins/Benchmark][Benchmarks]]: | Author does not have test environment. Feel free to add them | -| Plugin Home: | http://TWiki.org/cgi-bin/view/Plugins/%TOPIC% | -| Feedback: | http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev | -| Appraisal: | http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Appraisal | +| Perl Version: | 5.008 | +| Plugin Home: | http://twiki.org/cgi-bin/view/Plugins/%TOPIC% | +| Feedback: | http://twiki.org/cgi-bin/view/Plugins/%TOPIC%Dev | -__Related Topics:__ %TWIKIWEB%.TWikiPreferences, %TWIKIWEB%.TWikiPlugins +__Related Topics:__ %SYSTEMWEB%.TWikiPreferences, [[%USERSWEB%.TWikiPreferences]], %SYSTEMWEB%.TWikiPlugins This work was sponsored by [[http://www.systinet.com][Systinet Corp.]] - Modified: twiki/branches/TWikiRelease05x00/RevisionLinkPlugin/lib/TWiki/Plugins/RevisionLinkPlugin.pm =================================================================== --- twiki/branches/TWikiRelease05x00/RevisionLinkPlugin/lib/TWiki/Plugins/RevisionLinkPlugin.pm 2010-11-11 03:53:22 UTC (rev 19817) +++ twiki/branches/TWikiRelease05x00/RevisionLinkPlugin/lib/TWiki/Plugins/RevisionLinkPlugin.pm 2010-11-11 03:54:18 UTC (rev 19818) @@ -1,11 +1,11 @@ # Plugin for TWiki Enterprise Collaboration Platform, http://TWiki.org/ # -# Copyright (C) 2003 Richard Baar, ric...@ce... -# Copyright (C) 2006 Kenneth Lavrsen, ke...@la... # Copyright (C) 2001-2006 Peter Thoeny, pe...@th... -# and TWiki Contributors. All Rights Reserved. TWiki Contributors -# are listed in the AUTHORS file in the root of this distribution. -# NOTE: Please extend that file, not this notice. +# Copyright (C) 2003 Richard Baar, ric...@ce... +# Copyright (C) 2009 Kenneth Lavrsen, ke...@la... +# Copyright (C) 2006-2010 TWiki Contributors. All Rights Reserved. +# TWiki Contributors are listed in the AUTHORS file in the root of +# this distribution. NOTE: Please extend that file, not this notice. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -16,8 +16,6 @@ # This program 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. -# -# For licensing info read LICENSE file in the TWiki root. =pod @@ -42,12 +40,12 @@ # This should always be $Rev$ so that TWiki can determine the checked-in # status of the plugin. It is used by the build automation tools, so # you should leave it alone. -$VERSION = '2.1 ($Rev$)'; +$VERSION = '$Rev$'; # This is a free-form string you can use to "name" your own plugin version. # It is *not* used by the build automation tools, but is reported as part # of the version number in PLUGINDESCRIPTIONS. -$RELEASE = 'Dakar'; +$RELEASE = '2.2'; # Name of this Plugin, only used in this module $pluginName = 'RevisionLinkPlugin'; @@ -82,186 +80,90 @@ sub initPlugin { - my ( $topic, $web, $user, $installWeb ) = @_; + my ( $topic, $web, $user, $installWeb ) = @_; - # check for Plugins.pm versions - if( $TWiki::Plugins::VERSION < 1 ) { - &TWiki::Func::writeWarning( "Version mismatch between RevisionLinkPlugin and Plugins.pm" ); - return 0; - } + # check for Plugins.pm versions + if( $TWiki::Plugins::VERSION < 1 ) { + &TWiki::Func::writeWarning( "Version mismatch between RevisionLinkPlugin and Plugins.pm" ); + return 0; + } - # Get plugin debug flag - $debug = &TWiki::Func::getPreferencesFlag( "REVISIONLINKPLUGIN_DEBUG" ); + # Get plugin debug flag + $debug = &TWiki::Func::getPreferencesFlag( "REVISIONLINKPLUGIN_DEBUG" ); - # Plugin correctly initialized - &TWiki::Func::writeDebug( "- TWiki::Plugins::RevisionLinkPlugin::initPlugin( $web.$topic ) is OK" ) if $debug; - return 1; -} + TWiki::Func::registerTagHandler( 'REV', \&handleRevision, 'context-free' ); -=pod - ----++ commonTagsHandler($text, $topic, $web ) - * =$text= - text to be processed - * =$topic= - the name of the topic in the current CGI query - * =$web= - the name of the web in the current CGI query -This handler is called by the code that expands %TAGS% syntax in -the topic body and in form fields. It may be called many times while -a topic is being rendered. - -Plugins that want to implement their own %TAGS% with non-trivial -additional syntax should implement this function. Internal TWiki -variables (and any variables declared using =TWiki::Func::registerTagHandler=) -are expanded _before_, and then again _after_, this function is called -to ensure all %TAGS% are expanded. - -__NOTE:__ when this handler is called, <verbatim> blocks have been -removed from the text (though all other HTML such as <pre> blocks is -still present). - -__NOTE:__ meta-data is _not_ embedded in the text passed to this -handler. - -=cut - -sub commonTagsHandler -{ -### my ( $text, $topic, $web ) = @_; # do not uncomment, use $_[0], $_[1]... instead - - TWiki::Func::writeDebug( "- RevisionLinkPlugin::commonTagsHandler( $_[2].$_[1] )" ) if $debug; - - # This is the place to define customized tags and variables - # Called by sub handleCommonTags, after %INCLUDE:"..."% - - $_[0] =~ s/%REV[{\[](.*?)[}\]]%/&handleRevision($1, $_[1], $_[2])/geo; + # Plugin correctly initialized + return 1; } + sub handleRevision { - my ( $text, $topic, $web ) = @_; +# my ( $text, $topic, $web ) = @_; + my ($session, $params, $topic, $web) = @_; - my %params = extendedExtractParameters($text); + my $tmpWeb = $params->{'web'} || $web; + my $rev = $params->{'rev'} || ''; + my $format = $params->{'format'} || ''; + my $emptyAttr = $params->{'_DEFAULT'} || ''; + my $tmpAttachment = $params->{'attachment'} || ''; - #return "D:" . $params{'_DEFAULT'} . " R:" . $params{'rev'} . " T:" . $params{'topic'}; + my $tmpTopic = $topic; - my $tmpWeb = $params{'web'} || $web; - my $rev = $params{'rev'} || ''; - my $format = $params{'format'} || ''; - my $emptyAttr = $params{'_DEFAULT'} || ''; + if ( $emptyAttr ne '' ) { + if ( $rev eq '' ) { + $rev = $emptyAttr; + } + else { + $tmpTopic = $emptyAttr; + } + } - my $tmpTopic = $topic; + my $targetTopic = $params->{'topic'} || $tmpTopic; - if ( $emptyAttr ne '' ) { - if ( $rev eq '' ) { - $rev = $emptyAttr; + if ( $rev < 0 ) { + my $maxRev = (TWiki::Func::getRevisionInfo( $tmpWeb, $targetTopic, undef, $tmpAttachment ))[2]; + $rev = $maxRev + $rev; } - else { - $tmpTopic = $emptyAttr; + + # Remove 1. prefix in case the TWiki contains old Cairo topics and they + # use the plugin the old way + $rev =~ s/1\.(.*)/$1/; + + if ( $rev ne '' && $rev < 1 ) { + $rev = 1; } - } - - my $targetTopic = $params{'topic'} || $tmpTopic; - - if ( $rev < 0 ) { - my $maxRev = (TWiki::Func::getRevisionInfo( $tmpWeb, $targetTopic ))[2]; - #If Cairo we need to strip 1. - $maxRev =~ s/1\.(.*)/$1/; - $rev = $maxRev + $rev; - if ( $rev < 1 ) { $rev = 1; } - } - my ( $revDate, $revUser, $tmpRev, $revComment ) = TWiki::Func::getRevisionInfo( $tmpWeb, $targetTopic, $rev); - #If Cairo and we stripped the "1." we put it back - if ( $TWiki::Plugins::VERSION < 1.1 && index( $rev, "." ) < 0 ) { - $rev = "1.$rev"; - } + my ( $revDate, $revUser, $tmpRev, $revComment ) = TWiki::Func::getRevisionInfo( $tmpWeb, $targetTopic, $rev, $tmpAttachment); - if ( $format eq "" ) { - $format = "!$targetTopic($rev)!" - } - else { - if ( $format =~ /!(.*?)!/ eq "" ) { - $format = "!$format!"; - } - $format =~ s/\$topic/$targetTopic/geo; - $format =~ s/\$web/$tmpWeb/geo; - $format =~ s/\$rev/$rev/geo; - $format =~ s/\$date/$revDate/geo; - $format =~ s/\$user/$revUser/geo; - $format =~ s/\$comment/$revComment/geo; - } - - $format =~ s/!(.*?)!/[[%SCRIPTURL%\/view\/$tmpWeb\/$targetTopic\?rev=$rev][$1]]/g; - return $format; -} - -=pod - ----++ extendedExtractParameters($string) -> %parameters - -Extract all parameters from a variable string and returns a hash of parameters - - * =$string= - Attribute string from a TWiki Variable. - -return: =%parameters= Hash containing all parameters. The nameless parameter is stored in key =_DEFAULT= - -extendedExtractParameters is an extended version of TWiki::Func::extractParameters -which is capable of understanding both " and ' round strings and the default value at any -position. Dakar has the code in TWiki::Attrs::new but this will not work in Cairo and is not -part of published API. So the code below is actually a short version of Dakar's TWiki::Attrs::new -with $friendly true. - -=cut - -sub extendedExtractParameters { - my ( $string ) = @_; - my %parameters; - - return 0 unless defined( $string ); - - #First we substitute " and ' escaped with \ with \ord-value - $string =~ s/\\(["'])/"\0".sprintf("%.2u", ord($1))/ge; - - while ( $string =~ m/\S/s ) { - # name="value" pairs - if ( $string =~ s/^[\s,]*(\w+)\s*=\s*\"(.*?)\"//is ) { - $parameters{$1} = $2; + if ( $format eq "" ) { + if ( $tmpAttachment ) { + $format = "!$tmpAttachment($rev)!"; } - # simple double-quoted value with no name, sets the default - elsif ( $string =~ s/^[\s,]*\"(.*?)\"//os ) { - $parameters{'_DEFAULT'} = $1 - unless defined( $parameters{'_DEFAULT'} ); - } else { - # name='value' pairs - if ( $string =~ s/^[\s,]*(\w+)\s*=\s*'(.*?)'//is ) { - $parameters{$1} = $2; - } - # simple single-quoted value with no name, sets the default - elsif ( $string =~ s/^[\s,]*'(.*?)'//os ) { - $parameters{'_DEFAULT'} = $1 - unless defined( $parameters{'_DEFAULT'} ); - } - # simple name with no value (boolean, or _DEFAULT) - elsif ( $string =~ s/^[\s,]*([a-z]\w*)\b//s ) { - my $key = $1; - $parameters{$key} = 1; - } - # otherwise the whole string - without padding - is the default - else { - if( $string =~ m/^\s*(.*?)\s*$/s && - !defined($parameters{'_DEFAULT'})) { - $parameters{'_DEFAULT'} = $1; - } - last; - } + $format = "!$targetTopic($rev)!"; } } + else { + if ( $format =~ /!(.*?)!/ eq "" ) { + $format = "!$format!"; + } + $format =~ s/\$topic/$targetTopic/geo; + $format =~ s/\$web/$tmpWeb/geo; + $format =~ s/\$attachment/$tmpAttachment/geo; + $format =~ s/\$rev/$rev/geo; + $format =~ s/\$date/$revDate/geo; + $format =~ s/\$user/$revUser/geo; + $format =~ s/\$comment/$revComment/geo; + } - # Put back the escaped ' and " - foreach my $key ( keys %parameters ) { - $parameters{$key} =~ s/\0(\d\d)/chr($1)/ge; # escapes + if ( $tmpAttachment ) { + $format =~ s/!(.*?)!/[[%SCRIPTURLPATH{"viewfile"}%\/$tmpWeb\/$targetTopic\/$tmpAttachment\?rev=$rev][$1]]/g; } - - return %parameters; + else { + $format =~ s/!(.*?)!/[[%SCRIPTURLPATH{"view"}%\/$tmpWeb\/$targetTopic\?rev=$rev][$1]]/g; + } + return $format; } 1; |