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.
7
package MT::ArchiveType::Individual;
10
use base qw( MT::ArchiveType );
17
return MT->translate("INDIVIDUAL_ADV");
23
archive_template => 1,
25
feedback_template => 1,
26
archive_class => "entry-archive",
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};
39
Carp::confess("archive_file_for Individual archive needs an entry")
42
$ctx->{current_timestamp} = $entry->authored_on;
45
my $basename = $entry->basename();
46
$basename ||= dirify( $entry->title() );
47
$file = sprintf( "%04d/%02d/%s",
48
unpack( 'A4A2', $entry->authored_on ), $basename );
58
sub archive_group_iter {
60
my ( $ctx, $args ) = @_;
63
( $args->{sort_order} || '' ) eq 'ascend' ? 'ascend' : 'descend';
65
my $blog_id = $ctx->stash('blog')->id;
67
my $iter = MT::Entry->load_iter(
70
status => MT::Entry::RELEASE()
73
'sort' => 'authored_on',
75
$args->{lastn} ? ( limit => $args->{lastn} ) : ()
79
while ( my $entry = $iter->() ) {
80
return ( 1, entries => [$entry], entry => $entry );
86
sub dynamic_template {
87
'entry/<$MTEntryID$>';
90
sub default_archive_templates {
93
label => MT->translate('yyyy/mm/entry-basename.html'),
94
template => '%y/%m/%-f',
98
label => MT->translate('yyyy/mm/entry_basename.html'),
99
template => '%y/%m/%f'
102
label => MT->translate('yyyy/mm/entry-basename/index.html'),
103
template => '%y/%m/%-b/%i'
106
label => MT->translate('yyyy/mm/entry_basename/index.html'),
107
template => '%y/%m/%b/%i'
110
label => MT->translate('yyyy/mm/dd/entry-basename.html'),
111
template => '%y/%m/%d/%-f'
114
label => MT->translate('yyyy/mm/dd/entry_basename.html'),
115
template => '%y/%m/%d/%f'
119
MT->translate('yyyy/mm/dd/entry-basename/index.html'),
120
template => '%y/%m/%d/%-b/%i'
124
MT->translate('yyyy/mm/dd/entry_basename/index.html'),
125
template => '%y/%m/%d/%b/%i'
128
label => MT->translate(
129
'category/sub-category/entry-basename.html'),
130
template => '%-c/%-f'
133
label => MT->translate(
134
'category/sub-category/entry-basename/index.html'),
135
template => '%-c/%-b/%i'
138
label => MT->translate(
139
'category/sub_category/entry_basename.html'),
143
label => MT->translate(
144
'category/sub_category/entry_basename/index.html'),
145
template => '%c/%b/%i'