From: <de...@de...> - 2006-12-04 19:26:23
|
Author: MichaelDaum Date: 2006-12-04 13:25:45 -0600 (Mon, 04 Dec 2006) New Revision: 12154 Modified: twiki/branches/MAIN/twikiplugins/TwistyPlugin/lib/TWiki/Plugins/TwistyPlugin.pm Log: Item3159: don't remove interim _TWISTYSCRIPT tags before they have been processed correctly by the postRenderingHandler Modified: twiki/branches/MAIN/twikiplugins/TwistyPlugin/lib/TWiki/Plugins/TwistyPlugin.pm =================================================================== --- twiki/branches/MAIN/twikiplugins/TwistyPlugin/lib/TWiki/Plugins/TwistyPlugin.pm 2006-12-04 13:52:10 UTC (rev 12153) +++ twiki/branches/MAIN/twikiplugins/TwistyPlugin/lib/TWiki/Plugins/TwistyPlugin.pm 2006-12-04 19:25:45 UTC (rev 12154) @@ -31,7 +31,7 @@ use vars qw( $VERSION $RELEASE $pluginName $debug @modes $doneHeader $twistyCount $prefMode $prefShowLink $prefHideLink $prefRemember -$defaultMode $defaultShowLink $defaultHideLink $defaultRemember ); +$defaultMode $defaultShowLink $defaultHideLink $defaultRemember $needPostRenderingHandler ); # 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 @@ -61,6 +61,7 @@ $doneHeader = 0; $twistyCount = 0; + $needPostRenderingHandler = 0; $prefMode = TWiki::Func::getPreferencesValue( 'TWISTYMODE' ) || TWiki::Func::getPluginPreferencesValue( 'TWISTYMODE' ) || $defaultMode; $prefShowLink = TWiki::Func::getPreferencesValue( 'TWISTYSHOWLINK' ) || TWiki::Func::getPluginPreferencesValue( 'TWISTYSHOWLINK' ) || $defaultShowLink; @@ -161,8 +162,12 @@ =cut sub beforeCommonTagsHandler { - # do not uncomment, use $_[0], $_[1]... instead - $_[0] =~ s/%_TWISTYSCRIPT{\"(.*?)\"}%/$1/g; + + return if $needPostRenderingHandler; # don't remove _TWISTYSCRIPT too early + # see Item3159 + + # do not uncomment, use $_[0], $_[1]... instead + $_[0] =~ s/\%_TWISTYSCRIPT{\"(.*?)\"}\%/$1/g; } =pod @@ -173,7 +178,9 @@ sub postRenderingHandler { # do not uncomment, use $_[0], $_[1]... instead - $_[0] =~ s/%_TWISTYSCRIPT{\"(.*?)\"}%/<script type="text\/javascript\"\>$1<\/script>/g; + if ($_[0] =~ s/\%_TWISTYSCRIPT{\"(.*?)\"}\%/<script type="text\/javascript\"\>$1<\/script>/g) { + $needPostRenderingHandler = 0; + } } sub _twistyBtn { @@ -270,6 +277,7 @@ sub _createJavascriptTriggerCall { my($idTag) = @_; + $needPostRenderingHandler = 1; # notifies postRenderingHandler and beforeCommonTagsHandler return '%_TWISTYSCRIPT{"TWiki.TwistyPlugin.init("'.$idTag.'");"}%'; } |