From: <de...@de...> - 2007-05-28 17:13:20
|
Author: CrawfordCurrie Date: 2007-05-28 12:13:18 -0500 (Mon, 28 May 2007) New Revision: 13966 Modified: twiki/branches/MAIN/twikiplugins/SubscribePlugin/data/TWiki/SubscribePlugin.txt twiki/branches/MAIN/twikiplugins/SubscribePlugin/lib/TWiki/Plugins/SubscribePlugin.pm Log: Item4155: fixed url creation for 4.0, and removed assumption that LoginNameFilterIn is defined. Now works on 4.0, as claimed. Modified: twiki/branches/MAIN/twikiplugins/SubscribePlugin/data/TWiki/SubscribePlugin.txt =================================================================== --- twiki/branches/MAIN/twikiplugins/SubscribePlugin/data/TWiki/SubscribePlugin.txt 2007-05-28 15:26:41 UTC (rev 13965) +++ twiki/branches/MAIN/twikiplugins/SubscribePlugin/data/TWiki/SubscribePlugin.txt 2007-05-28 17:13:18 UTC (rev 13966) @@ -69,6 +69,7 @@ | Dependencies: | %$DEPENDENCIES% | | Dependencies: | TWiki:Plugins.MailerContrib >=13511,perl,TWiki 4 mailer module | | Change History: | | +| 13966 | Bugs:Item4155 Fixed for 4.0.x and 4.1.x | | 13787 | <a rel='nofollow' href='http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item4010'>Item4010</a>fix web subscription, and =format= parameters. - TWiki:Main.SvenDowideit | | 13525 | <a rel='nofollow' href='http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item3731'>Item3731</a> Update documentation topic. | | 13512 | <a rel='nofollow' href='http://develop.twiki.org/~develop/cgi-bin/view/Bugs/Item3731'>Item3731</a> final pre-release tweaks, result of testing on 4.1.2 | Modified: twiki/branches/MAIN/twikiplugins/SubscribePlugin/lib/TWiki/Plugins/SubscribePlugin.pm =================================================================== --- twiki/branches/MAIN/twikiplugins/SubscribePlugin/lib/TWiki/Plugins/SubscribePlugin.pm 2007-05-28 15:26:41 UTC (rev 13965) +++ twiki/branches/MAIN/twikiplugins/SubscribePlugin/lib/TWiki/Plugins/SubscribePlugin.pm 2007-05-28 17:13:18 UTC (rev 13966) @@ -53,9 +53,9 @@ $form = _alert("$who cannot subscribe"); } else { my $unsubscribe = $query->param('subscribe_remove'); - _subscribe($web, $topics, $who, $cur_user, $unsubscribe); + _subscribe($web, $topics, $who, $cur_user, $unsubscribe); } - } + } return _getbutton($session, $params, $topic, $web); } @@ -74,7 +74,7 @@ $form = ''; } else { my $topics = $params->{topic} || $topic; - + # checking if the has subscribed for that topic already eval { require TWiki::Contrib::MailerContrib::WebNotify }; my ($sweb, $stopics) = TWiki::Func::normalizeWebTopicName($web, $topics); @@ -85,15 +85,22 @@ if ( $subscriber->isSubscribedTo($stopics) ) { $unsubscribe = 'yes'; } - - my $url = TWiki::Func::getScriptUrl( - $WEB, $TOPIC, 'view', - subscribe_topic => $topics, - subscribe_subscriber => $who, - subscribe_remove => $unsubscribe, - subscribe_uid => $uid); - - $form = $params->{format}; + + my $url; + if( $TWiki::Plugins::VERSION < 1.2) { + $url = TWiki::Func::getScriptUrl( + $WEB, $TOPIC, 'view'). + "?subscribe_topic=$topics;subscribe_subscriber=$who;subscribe_remove=$unsubscribe;subscribe_uid=$uid"; + } else { + $url = TWiki::Func::getScriptUrl( + $WEB, $TOPIC, 'view', + subscribe_topic => $topics, + subscribe_subscriber => $who, + subscribe_remove => $unsubscribe, + subscribe_uid => $uid); + } + + $form = $params->{format}; my $actionName = 'Subscribe'; if ($unsubscribe eq 'yes') { $form = $params->{formatunsubscribe} if ($params->{formatunsubscribe}); @@ -107,9 +114,9 @@ } else { $form = CGI::a({href => $url}, $actionName); - } + } } - + $uid++; return $form; } @@ -128,10 +135,11 @@ if $@; return _alert("bad subscriber '$subscriber'") if - !($subscriber =~ m/($TWiki::cfg{LoginNameFilterIn})/ || - $subscriber =~ m/^([A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4})$/i || - $subscriber =~ m/($TWiki::regex{wikiWordRegex})/o) || - $subscriber eq $TWiki::cfg{DefaultUserWikiName}; + !(($TWiki::cfg{LoginNameFilterIn} && + $subscriber =~ m/($TWiki::cfg{LoginNameFilterIn})/) || + $subscriber =~ m/^([A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4})$/i || + $subscriber =~ m/($TWiki::regex{wikiWordRegex})/o) || + $subscriber eq $TWiki::cfg{DefaultUserWikiName}; $subscriber = $1; # untaint # replace wildcards for checking - we want them |