% if (($link1) || ($link2)) {
% if ($link1) { _dgreen.gif"> % } if ($link2) { _dgreen.gif"> % }
% }

<% $caption %>

<& '/widgets/profile/select.mc', value => $sort_by_val, useTable => 0, width => 100, options => $sort_by->{$class}, name => $class . '_sort_by', js => qq{onchange="location.href='} . $r->uri . "?${class}_sort_by=' + " . qq{escape(this.options[this.selectedIndex].value)"}, &>
<%args> $class => 'story' $caption => '' $sort_by_val => undef $others => {} <%init>; $caption ||= $pl_names->{$class}; $sort_by_val = get_pref('Default Asset Sort') unless defined $sort_by_val; my ($link1, $link2, $lab1, $lab2, $img1, $img2); if ($class eq 'story') { ($link1, $lab1, $img1) = ('media', $pl_names->{media}, 'media') if $others->{media}; ($link2, $lab2, $img2) = ('template', $pl_names->{template}, 'templates') if $others->{template}; } elsif ($class eq 'media') { ($link1, $lab1, $img1) = ('story', $pl_names->{story}, 'stories') if $others->{story}; ($link2, $lab2, $img2) = ('template', $pl_names->{template}, 'templates') if $others->{template}; } else { ($link1, $lab1, $img1) = ('story', $pl_names->{story}, 'stories') if $others->{story}; ($link2, $lab2, $img2) = ('media', $pl_names->{media}, 'media') if $others->{media}; $sort_by_val = $sort_by_val eq 'cover_date' ? 'deploy_date' : $sort_by_val eq 'element_type' ? 'output_channel' : $sort_by_val; } my $sites = $c->get('__SITES__'); unless ($sites) { $sites = Bric::Biz::Site->list({ active => 1 }); $c->set('__SITES__', $sites); } if (@$sites > 1) { $sort_by->{$_}[5] ||= [ site_id => 'Site'] for qw(story media template); } else { delete $sort_by->{$_}[5] for qw(story media template); } <%once>; my $sort_by = { story => [ [ name => 'Title' ], [ uri => 'Primary URI' ], [ cover_date => 'Cover Date' ], [ element_type => 'Story Type' ], [ priority => 'Priority' ], ], media => [ [ name => 'Title' ], [ uri => 'Primary URI' ], [ cover_date => 'Cover Date' ], [ element_type => 'Media Type' ], [ priority => 'Priority' ], ], template => [ [ name => 'File Name' ], [ deploy_date => 'Deployed Date' ], [ output_channel => 'Output Channel' ], [ priority => 'Priority' ], ] }; my $pl_names = { story => get_class_info('story')->get_plural_name, media => get_class_info('media')->get_plural_name, template => get_class_info('template')->get_plural_name };