Changeset 5269 for branches/Release01x00/MailerContrib/lib/Foswiki/Contrib/MailerContrib/TopicContext.pm
- Timestamp:
- 10/15/09 19:28:59 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/Release01x00/MailerContrib/lib/Foswiki/Contrib/MailerContrib/TopicContext.pm
r1437 r5269 2 2 # by MailerContrib. 3 3 4 use strict; 5 4 6 sub Foswiki::Func::pushTopicContext { 5 my ( $web, $topic ) = @_;7 my ( $web, $topic ) = @_; 6 8 my $session = $Foswiki::Plugins::SESSION; 7 my ( $web, $topic ) = $session->normalizeWebTopicName( @_);9 my ( $web, $topic ) = $session->normalizeWebTopicName(@_); 8 10 my $old = { 9 web => $session->{webName},11 web => $session->{webName}, 10 12 topic => $session->{topicName}, 11 mark => $session->{prefs}->mark() }; 13 mark => $session->{prefs}->mark() 14 }; 12 15 13 push( @{ $session->{_FUNC_PREFS_STACK}}, $old );14 $session->{webName} = $web;16 push( @{ $session->{_FUNC_PREFS_STACK} }, $old ); 17 $session->{webName} = $web; 15 18 $session->{topicName} = $topic; 16 $session->{prefs}->pushWebPreferences( $web);19 $session->{prefs}->pushWebPreferences($web); 17 20 $session->{prefs}->pushPreferences( $web, $topic, 'TOPIC' ); 18 $session->{prefs}->pushPreferenceValues( 19 'SESSION',$session->{loginManager}->getSessionValues() );21 $session->{prefs}->pushPreferenceValues( 'SESSION', 22 $session->{loginManager}->getSessionValues() ); 20 23 } 21 24 22 25 sub Foswiki::Func::popTopicContext { 23 26 my $session = $Foswiki::Plugins::SESSION; 24 my $old = pop( @{$session->{_FUNC_PREFS_STACK}} );25 $session->{prefs}->restore( $old->{mark} );26 $session->{webName} = $old->{web};27 my $old = pop( @{ $session->{_FUNC_PREFS_STACK} } ); 28 $session->{prefs}->restore( $old->{mark} ); 29 $session->{webName} = $old->{web}; 27 30 $session->{topicName} = $old->{topic}; 28 31 }
Note: See TracChangeset
for help on using the changeset viewer.
