Changeset 2606
- Timestamp:
- 06/19/08 05:52:32 (6 months ago)
- Files:
-
- branches/release-40/lib/MT/Blog.pm (modified) (1 diff)
- branches/release-40/lib/MT/Template/ContextHandlers.pm (modified) (2 diffs)
- branches/release-40/php/lib/block.mtarchivelist.php (modified) (1 diff)
- branches/release-40/php/lib/block.mtifarchivetypeenabled.php (modified) (1 diff)
- branches/release-40/php/lib/mtdb_base.php (modified) (1 diff)
- branches/release-40/t/lib/MT/Test.pm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/release-40/lib/MT/Blog.pm
r2559 r2606 486 486 my ($type) = @_; 487 487 my %at = map { lc $_ => 1 } split(/,/, $blog->archive_type); 488 return exists $at{lc $type} ? 1 : 0; 488 my $has = exists $at{lc $type} ? 1 : 0; 489 if ($has) { 490 my $map_class = MT->model('templatemap'); 491 my $map = $map_class->load({ archive_type => $type, blog_id => $blog->id }); 492 $has = defined $map ? 1 : 0; 493 } 494 return $has; 489 495 } 490 496 branches/release-40/lib/MT/Template/ContextHandlers.pm
r2602 r2606 4300 4300 my ($ctx, $args) = @_; 4301 4301 my $blog = $ctx->stash('blog'); 4302 my $at = lc($args->{type} || $args->{archive_type});4302 my $at = ($args->{type} || $args->{archive_type}); 4303 4303 return $blog->has_archive_type($at); 4304 4304 } … … 11700 11700 my $archiver = MT->publisher->archiver($at); 11701 11701 return '' unless $archiver; 11702 my $map_class = MT->model('templatemap'); 11703 my $map = $map_class->load({ archive_type => $at, blog_id => $blog->id }); 11704 return '' unless $map; 11702 11705 11703 11706 my $save_stamps; 11704 11705 11707 if ($ctx->{current_archive_type} && $arg_at && ($ctx->{current_archive_type} eq $arg_at)) { 11706 11708 $save_stamps = 1; branches/release-40/php/lib/block.mtarchivelist.php
r2294 r2606 25 25 $repeat = false; 26 26 return ''; 27 } 28 $map = $ctx->mt->db->fetch_templatemap( 29 array('type' => $at, 'blog_id' => $blog['blog_id'])); 30 if (empty($map)) { 31 $repeat = false; 32 return ''; 27 33 } 28 34 $ctx->localize($localvars); branches/release-40/php/lib/block.mtifarchivetypeenabled.php
r1174 r2606 15 15 $blog_at = ',' . $blog['blog_archive_type'] . ','; 16 16 $enabled = preg_match("/,$at,/", $blog_at); 17 $map = $ctx->mt->db->fetch_templatemap( 18 array('type' => $at, 'blog_id' => $blog['blog_id'])); 19 if (empty($map)) 20 $enabled = 0; 17 21 return $ctx->_hdlr_if($args, $content, $ctx, $repeat, $enabled); 18 22 } else { branches/release-40/php/lib/mtdb_base.php
r2589 r2606 150 150 $type_filter 151 151 order by template_name"; 152 $result = $this->get_results($sql, ARRAY_A); 153 return $result; 154 } 155 156 function fetch_templatemap($args) { 157 if (isset($args['type'])) { 158 $type_filter = 'and templatemap_archive_type = \'' . $this->escape($args['type']) . '\''; 159 } 160 if (isset($args['blog_id'])) { 161 $blog_filter = 'and templatemap_blog_id = ' . intval($args['blog_id']); 162 } 163 $sql = "select * 164 from mt_templatemap 165 where 1 = 1 166 $blog_filter 167 $type_filter 168 order by templatemap_archive_type"; 152 169 $result = $this->get_results($sql, ARRAY_A); 153 170 return $result; branches/release-40/t/lib/MT/Test.pm
r2601 r2606 682 682 diag "Saved blog-name template"; 683 683 684 my $tmpl_map = new MT::TemplateMap; 685 $tmpl_map->blog_id(1); 686 $tmpl_map->template_id($tmpl->id); 687 $tmpl_map->archive_type('Daily'); 688 $tmpl_map->is_preferred(1); 689 $tmpl_map->build_type(1); 690 $tmpl_map->save or die "Couldn't save template map record (Daily): ".$tmpl_map->errstr; 691 692 my $tmpl_map = new MT::TemplateMap; 693 $tmpl_map->blog_id(1); 694 $tmpl_map->template_id($tmpl->id); 695 $tmpl_map->archive_type('Weekly'); 696 $tmpl_map->is_preferred(1); 697 $tmpl_map->build_type(1); 698 $tmpl_map->save or die "Couldn't save template map record (Weekly): ".$tmpl_map->errstr; 699 700 # Revert into default for test... 701 $blog->archive_type('Individual,Monthly,Weekly,Daily,Category,Page'); 702 $blog->save; 703 684 704 ### Asset 685 705 use MT::Asset;
