%perl>
my $note_img = $story->has_notes ? 'note_fill' : 'note';
my $toText = qq{
};
$m->comp("/widgets/wrappers/sharky/table_top.mc",
caption => "Information",
number => ++$number,
id => 'storyinfo',
toText => $toText
);
%perl>
- <%$lang->maketext('UUID')%>:
- <% $story->get_uuid %>
- <%$lang->maketext('Story Type')%>:
- <% $story->get_element_name %>
- <% $lang->maketext('Title') %>:
- <% $story->get_name %>
- <% $lang->maketext('Slug') %>:
- <% $story->get_slug || ' ' %>
- <% $lang->maketext('URI') %>:
% if (@ocs == 1) {
- <% $m->comp(
'/widgets/profile/preview_link.mc',
doc => $story,
)%>
% } else {
% my $oc_opts = [
% map { [ $_->get_id => $_->get_name ] }
% $story->get_output_channels
% ];
- <% $story->get_primary_uri %>
- <% $lang->maketext('Preview in') %>:
- <&
'/widgets/profile/select.mc',
options => $oc_opts,
name => 'ocSelect',
useTable => 0,
value => $story->get_primary_oc_id,
&>
<% $m->comp('/widgets/profile/preview_link.mc',
type => 'story',
value => $story->get_primary_uri,
doc => $story,
oc_js => 'window.document.theForm.ocSelect.options[window.document.theForm.ocSelect.selectedIndex].value',
style => 'blackUnderlinedLink',
) %>
% }
- <% $lang->maketext('Source') %>:
- <% Bric::Biz::Org::Source->lookup({ id => $story->get_source__id })->get_source_name %>
% unless (ENABLE_CATEGORY_BROWSER) {
- <% $lang->maketext('Categories') %>:
- <%perl>
$m->print(join '
', sort { $a cmp $b }
map { $_->get_uri } $story->get_categories);
%perl>
% } # unless ENABLE_CATEGORY_BROWSER
- <% $lang->maketext('Cover Date') %>:
- <% $story->get_cover_date %>
- <% $lang->maketext('Current Version') %>:
- <% $story->get_current_version %>
- <% $lang->maketext('Published Version') %>:
- <% $story->get_published_version || ' ' %>
- <% $lang->maketext('First Published') %>:
- <% $story->get_first_publish_date || ' ' %>
- <% $lang->maketext('Last Published') %>:
- <% $story->get_publish_date || ' ' %>
- <% $lang->maketext('Expire Date') %>:
- <% $story->get_expire_date || ' ' %>
- <% $lang->maketext('Output Channels') %>:
- <% join ', ', (map { $_->get_name } $story->get_output_channels) %>
<& '/widgets/wrappers/sharky/table_bottom.mc' &>
<%perl>;
if ($param->{diff}) {
my $version = $story->get_version;
my $from = $param->{from};
my $to = $param->{to};
my $from_ver = $param->{from_version};
my $to_ver = $param->{to_version};
$m->comp(
'/widgets/wrappers/sharky/table_top.mc',
number => ++$number,
caption => $lang->maketext(
'Diff between versions [_1] and [_2]',
$from_ver, $to_ver
),
);
$m->print(
'' . join( "
\n", split /\r?\n|\r/,
Text::WordDiff::word_diff(
\$from->get_element->serialize_to_pod,
\$to->get_element->serialize_to_pod, {
STYLE => 'HTML',
FILENAME_A => $from->get_uri . " v.$from_ver",
FILENAME_B => $to->get_uri . " v.$to_ver",
MTIME_A => $param->{from_time},
MTIME_B => $param->{to_time},
}
)) . '
'
);
$m->comp('/widgets/wrappers/sharky/table_bottom.mc');
}
else {
%perl>
<& '/widgets/container_prof/container_prof.mc',
element => $element,
element_type => 'story',
action => 'view',
start_count => ++$number,
num => 2
&>
<& '/widgets/wrappers/sharky/table_top.mc',
caption => "Associations",
number => ++$number
&>
<% $lang->maketext('Categories') %>: |
<%perl>
my @cats;
foreach my $cat ($story->get_categories) {
push @cats, $cat->get_name;
}
$m->out(scalar(@cats) ? join(", ", @cats) : $lang->maketext("No categories defined."));
%perl> |
<% $lang->maketext('Keywords') %>: |
<%perl>
my @keywords;
foreach my $kw ($story->get_keywords) {
push @keywords, $kw->get_name;
}
$m->out(scalar(@keywords) ? join(", ", @keywords) : $lang->maketext("No keywords defined."));
%perl> |
<% $lang->maketext('Contributors') %>: |
<%perl>
my @contribs;
foreach my $cntr ($story->get_contributors) {
push @contribs, $cntr->get_name;
}
$m->out(scalar(@contribs) ? join(", ", @contribs) : $lang->maketext("No contributors defined."));
%perl> |
<& '/widgets/wrappers/sharky/table_bottom.mc' &>
% }
% if ($curr_ver > 1) {
<& '/widgets/wrappers/sharky/table_top.mc',
caption => 'Select Diff Version',
number => ++$number,
&>
<& '/widgets/profile/select.mc',
name => 'from_version',
disp => 'From Version',
options => $versions,
value => $param->{from_version} || $story->get_version,
&>
<& '/widgets/profile/select.mc',
name => 'to_version',
disp => 'To Version',
options => $versions,
value => $param->{to_version},
&>
<& '/widgets/profile/button.mc',
name => 'diff',
button => 'view_diff',
useTable => 1,
value => 1,
&>
<& '/widgets/wrappers/sharky/table_bottom.mc' &>
% }
<& '/widgets/profile/button.mc',
disp => $lang->maketext("Return"),
widget => $widget,
cb => 'return_cb',
button => 'return_dgreen',
useTable => 0 &>
<%args>
$widget
$param
%args>
<%init>
my $story = get_state_data($widget, 'story');
my $id = $story->get_id;
my $element = $story->get_element;
my @ocs = $story->get_output_channels;
my $curr_ver = $story->get_current_version;
my $versions = [ map { [ $_ => $_] } reverse 1 .. $curr_ver ];
my $number = 0;
%init>