Changeset 2825
- Timestamp:
- 07/21/08 20:50:30 (4 months ago)
- Files:
-
- branches/release-41/lib/MT/CMS/Template.pm (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/release-41/lib/MT/CMS/Template.pm
r2824 r2825 1706 1706 my $refreshed; 1707 1707 my $can_refresh_system = $user->is_superuser() ? 1 : 0; 1708 foreachmy $blog_id (@id) {1708 BLOG: for my $blog_id (@id) { 1709 1709 my $blog; 1710 1710 if ($blog_id) { 1711 1711 $blog = MT::Blog->load($blog_id); 1712 next unless $blog;1712 next BLOG unless $blog; 1713 1713 } 1714 1714 … … 1723 1723 if (!$can_refresh_blog) { 1724 1724 push @blogs_not_refreshed, $blog->id; 1725 next ;1725 next BLOG; 1726 1726 } 1727 1727 } 1728 1728 1729 1729 my $tmpl_list; 1730 if ($blog_id) { 1731 1732 if ($refresh_type eq 'clean') { 1733 # the user wants to back up all templates and 1734 # install the new ones 1735 1736 my @ts = MT::Util::offset_time_list( $t, $blog_id ); 1737 my $ts = sprintf "%04d-%02d-%02d %02d:%02d:%02d", 1738 $ts[5] + 1900, $ts[4] + 1, @ts[ 3, 2, 1, 0 ]; 1739 1740 my $tmpl_iter = MT::Template->load_iter({ 1741 blog_id => $blog_id, 1742 type => { not => 'backup' }, 1743 }); 1744 1745 while (my $tmpl = $tmpl_iter->()) { 1746 if ($backup) { 1747 # zap all template maps 1748 require MT::TemplateMap; 1749 MT::TemplateMap->remove({ 1750 template_id => $tmpl->id, 1751 }); 1752 $tmpl->type('backup'); 1753 $tmpl->name( 1754 $tmpl->name . ' (Backup from ' . $ts . ')' ); 1755 $tmpl->identifier(undef); 1756 $tmpl->rebuild_me(0); 1757 $tmpl->linked_file(undef); 1758 $tmpl->outfile(''); 1759 $tmpl->save; 1760 } else { 1761 $tmpl->remove; 1762 } 1730 1731 if ($refresh_type eq 'clean') { 1732 # the user wants to back up all templates and 1733 # install the new ones 1734 1735 my @ts = MT::Util::offset_time_list( $t, $blog_id ); 1736 my $ts = sprintf "%04d-%02d-%02d %02d:%02d:%02d", 1737 $ts[5] + 1900, $ts[4] + 1, @ts[ 3, 2, 1, 0 ]; 1738 1739 # Backup/delete all the existing templates. 1740 my $tmpl_iter = MT::Template->load_iter({ 1741 blog_id => $blog_id, 1742 type => { not => 'backup' }, 1743 }); 1744 while (my $tmpl = $tmpl_iter->()) { 1745 if ($backup) { 1746 # zap all template maps 1747 require MT::TemplateMap; 1748 MT::TemplateMap->remove({ 1749 template_id => $tmpl->id, 1750 }); 1751 $tmpl->type('backup'); 1752 $tmpl->name( 1753 $tmpl->name . ' (Backup from ' . $ts . ')' ); 1754 $tmpl->identifier(undef); 1755 $tmpl->rebuild_me(0); 1756 $tmpl->linked_file(undef); 1757 $tmpl->outfile(''); 1758 $tmpl->save; 1759 } else { 1760 $tmpl->remove; 1763 1761 } 1764 1765 # This also creates our template mappings 1762 } 1763 1764 if ($blog_id) { 1765 # Create the default templates and mappings for the selected 1766 # set here, instead of below. 1766 1767 $blog->create_default_templates( $template_set || 1767 1768 $blog->template_set || 'mt_blog' ); … … 1773 1774 } 1774 1775 1775 next; 1776 } 1777 1778 $tmpl_list = MT::DefaultTemplates->templates($template_set || $blog->template_set) || MT::DefaultTemplates->templates(); 1779 } 1780 else { 1781 $tmpl_list = MT::DefaultTemplates->templates(); 1782 } 1783 1784 foreach my $val (@$tmpl_list) { 1776 next BLOG; 1777 } 1778 } 1779 1780 # Load default templates for the given template set, if any. 1781 if ($blog_id) { 1782 $tmpl_list = MT::DefaultTemplates->templates($template_set || $blog->template_set); 1783 } 1784 $tmpl_list ||= MT::DefaultTemplates->templates(); 1785 1786 TEMPLATE: for my $val (@$tmpl_list) { 1785 1787 if ($blog_id) { 1786 1788 # when refreshing blog templates, 1787 1789 # skip over global templates which 1788 1790 # specify a blog_id of 0... 1789 next if $val->{global};1791 next TEMPLATE if $val->{global}; 1790 1792 } 1791 1793 else { 1792 next unless exists $val->{global};1794 next TEMPLATE unless exists $val->{global}; 1793 1795 } 1794 1796
