Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
--- lib/MT/Template.pm (4.23) +++ lib/MT/Template.pm (4.32) @@ -232,6 +232,8 @@ my $page_layout; if (my $blog_id = $tmpl->blog_id) { $ctx->stash('blog_id', $blog_id); + $ctx->stash('local_blog_id', $blog_id) + unless $ctx->stash('local_blog_id'); my $blog = $ctx->stash('blog'); unless ($blog) { $blog = MT::Blog->load($blog_id) or @@ -240,6 +242,8 @@ $ctx->stash('blog', $blog); } else { $ctx->stash('blog_id', $blog->id); + $ctx->stash('local_blog_id', $blog->id) + unless $ctx->stash('local_blog_id'); } MT->config->TimeOffset($blog->server_offset); $page_layout = $blog->page_layout; --- lib/MT/Template/ContextHandlers.pm (4.23) +++ lib/MT/Template/ContextHandlers.pm (4.32) @@ -4689,7 +4775,14 @@ $type = 'widget'; $tmpl_name =~ s/^Widget: ?//; } - my $blog_id = $arg->{blog_id} || $ctx->{__stash}{blog_id} || 0; + my $blog_id = defined($arg->{blog_id}) + ? $arg->{blog_id} + : ( $arg->{global} ) + ? 0 + : defined($ctx->{__stash}{blog_id}) + ? $ctx->{__stash}{blog_id} + : 0; + $blog_id = $ctx->stash('local_blog_id') if $arg->{local}; my $stash_id = 'template_' . $type . '::' . $blog_id . '::' . $tmpl_name; return $ctx->error(MT->translate("Recursion attempt on [_1]: [_2]", MT->translate($name), $tmpl_name)) if $include_stack{$stash_id};
This paste will be private.
From the Design Piracy series on my blog: