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

Revision 1741, 3.7 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::Individual;
8
9use strict;
10use base qw( MT::ArchiveType );
11
12sub name {
13    return 'Individual';
14}
15
16sub archive_label {
17    return MT->translate("INDIVIDUAL_ADV");
18}
19
20sub template_params {
21    return {
22        entry_archive     => 1,
23        archive_template  => 1,
24        entry_template    => 1,
25        feedback_template => 1,
26        archive_class     => "entry-archive",
27    };
28}
29
30sub archive_file {
31    my $obj = shift;
32    my ( $ctx, %param ) = @_;
33    my $timestamp = $param{Timestamp};
34    my $file_tmpl = $param{Template};
35    my $blog      = $ctx->{__stash}{blog};
36    my $entry     = $ctx->{__stash}{entry};
37
38    my $file;
39    Carp::confess("archive_file_for Individual archive needs an entry")
40      unless $entry;
41    if ($file_tmpl) {
42        $ctx->{current_timestamp} = $entry->authored_on;
43    }
44    else {
45        my $basename = $entry->basename();
46        $basename ||= dirify( $entry->title() );
47        $file = sprintf( "%04d/%02d/%s",
48            unpack( 'A4A2', $entry->authored_on ), $basename );
49    }
50    $file;
51}
52
53sub archive_title {
54    my $obj = shift;
55    $_[1]->title;
56}
57
58sub archive_group_iter {
59    my $obj = shift;
60    my ( $ctx, $args ) = @_;
61
62    my $order =
63      ( $args->{sort_order} || '' ) eq 'ascend' ? 'ascend' : 'descend';
64
65    my $blog_id = $ctx->stash('blog')->id;
66    require MT::Entry;
67    my $iter = MT::Entry->load_iter(
68        {
69            blog_id => $blog_id,
70            status  => MT::Entry::RELEASE()
71        },
72        {
73            'sort'    => 'authored_on',
74            direction => $order,
75            $args->{lastn} ? ( limit => $args->{lastn} ) : ()
76        }
77    );
78    return sub {
79        while ( my $entry = $iter->() ) {
80            return ( 1, entries => [$entry], entry => $entry );
81        }
82        undef;
83      }
84}
85
86sub dynamic_template {
87    'entry/<$MTEntryID$>';
88}
89
90sub default_archive_templates {
91    return [
92        {
93            label    => MT->translate('yyyy/mm/entry-basename.html'),
94            template => '%y/%m/%-f',
95            default  => 1
96        },
97        {
98            label    => MT->translate('yyyy/mm/entry_basename.html'),
99            template => '%y/%m/%f'
100        },
101        {
102            label => MT->translate('yyyy/mm/entry-basename/index.html'),
103            template => '%y/%m/%-b/%i'
104        },
105        {
106            label => MT->translate('yyyy/mm/entry_basename/index.html'),
107            template => '%y/%m/%b/%i'
108        },
109        {
110            label    => MT->translate('yyyy/mm/dd/entry-basename.html'),
111            template => '%y/%m/%d/%-f'
112        },
113        {
114            label    => MT->translate('yyyy/mm/dd/entry_basename.html'),
115            template => '%y/%m/%d/%f'
116        },
117        {
118            label =>
119              MT->translate('yyyy/mm/dd/entry-basename/index.html'),
120            template => '%y/%m/%d/%-b/%i'
121        },
122        {
123            label =>
124              MT->translate('yyyy/mm/dd/entry_basename/index.html'),
125            template => '%y/%m/%d/%b/%i'
126        },
127        {
128            label => MT->translate(
129                'category/sub-category/entry-basename.html'),
130            template => '%-c/%-f'
131        },
132        {
133            label => MT->translate(
134                'category/sub-category/entry-basename/index.html'),
135            template => '%-c/%-b/%i'
136        },
137        {
138            label => MT->translate(
139                'category/sub_category/entry_basename.html'),
140            template => '%c/%f'
141        },
142        {
143            label => MT->translate(
144                'category/sub_category/entry_basename/index.html'),
145            template => '%c/%b/%i'
146        },
147    ];
148}
149
1501;
Note: See TracBrowser for help on using the browser.