root/branches/release-33/lib/MT/ArchiveType/Page.pm @ 1741

Revision 1741, 2.5 kB (checked in by bsmith, 20 months ago)

bugzid:75115 - remove 'main_template' variable

Line 
1# Movable Type (r) Open Source (C) 2001-2008 Six Apart, Ltd.
2# This program is distributed under the terms of the
3# GNU General Public License, version 2.
4#
5# $Id$
6
7package MT::ArchiveType::Page;
8
9use strict;
10use base qw( MT::ArchiveType::Individual );
11
12sub name {
13    return 'Page';
14}
15
16sub archive_label {
17    return MT->translate("PAGE_ADV");
18}
19
20# archive_title proved by MT::ArchiveType::Individual
21sub dynamic_template {
22    return 'page/<$MTEntryID$>';
23}
24
25sub entry_class {
26    return 'page';
27}
28
29sub template_params {
30    return {
31        archive_class     => "page-archive",
32        page_archive      => 1,
33        archive_template  => 1,
34        page_template     => 1,
35        feedback_template => 1,
36    };
37}
38
39sub archive_file {
40    my $obj = shift;
41    my ( $ctx, %param ) = @_;
42    my $timestamp = $param{Timestamp};
43    my $file_tmpl = $param{Template};
44    my $blog      = $ctx->{__stash}{blog};
45    my $page      = $ctx->{__stash}{entry};
46
47    my $file;
48    Carp::croak("archive_file_for Page archive needs a page")
49      unless $page && $page->isa('MT::Page');
50    unless ($file_tmpl) {
51        my $basename = $page->basename();
52        my $folder   = $page->folder;
53        my $folder_path;
54        if ($folder) {
55            $folder_path = $folder->publish_path || '';
56            $file =
57              $folder_path ne '' ? $folder_path . '/' . $basename : $basename;
58        }
59        else {
60            $file = $basename;
61        }
62    }
63    return $file;
64}
65
66sub archive_group_iter {
67    my $obj = shift;
68    my ( $ctx, $args ) = @_;
69
70    require MT::Page;
71    my $blog_id = $ctx->stash('blog')->id;
72    my $iter    = MT::Page->load_iter(
73        {
74            blog_id => $blog_id,
75            status  => MT::Entry::RELEASE()
76        },
77        { sort => 'title', direction => 'ascend' }
78    );
79    return sub {
80        while ( my $entry = $iter->() ) {
81            return ( 1, entries => [$entry], entry => $entry );
82        }
83        undef;
84      }
85}
86
87sub default_archive_templates {
88    return [
89        {
90            label    => MT->translate('folder-path/page-basename.html'),
91            template => '%-c/%-f',
92            default  => 1
93        },
94        {
95            label =>
96              MT->translate('folder-path/page-basename/index.html'),
97            template => '%-c/%-b/%i'
98        },
99        {
100            label    => MT->translate('folder_path/page_basename.html'),
101            template => '%c/%f'
102        },
103        {
104            label =>
105              MT->translate('folder_path/page_basename/index.html'),
106            template => '%c/%b/%i'
107        },
108    ];
109}
110
1111;
Note: See TracBrowser for help on using the browser.