<& '/widgets/search/search.mc', object => 'media', state_key => 'rel_media', type => 'media', field => 'title', insert => $insert, use_form_tag => 0 &> <& '/widgets/wrappers/table_top.mc', caption => 'Choose Related Media' &> <& /widgets/listManager/listManager.mc, object => 'media', state_key => 'rel_media', sortBy => 'name', select => undef, profile => undef, constrain => { location => '/%' }, # Must have a file associated. featured => $relate_id ? [$relate_id] : undef, exclude => $excl_sub, fields => [(USE_THUMBNAILS ? 'thumb' : ()), qw(id name uri cover_date action)], addition => '', behavior => 'expand', field_values => $field_values, field_titles => { thumb => $lang->maketext('Thumb'), action => ''}, &> <& '/widgets/wrappers/table_bottom.mc' &> <& '/widgets/buttons/submit.mc', disp => 'Return', name => 'return', button => 'return_dgreen', value => 'Return', js => qq{onclick="window.close()"}, useTable => 0, &> <%args> $widget $element => undef $args $formName => 'theForm' <%init>; # The element object. $element ||= get_state_data($widget, 'element'); my $relate_id = $element->get_related_media_id; my $obj_type = $element->get_object_type; my $excl_sub; if ($obj_type eq 'media') { my $asset_id = get_state_data('media_prof', 'media')->get_id; $excl_sub = sub { return 1 if $_[0]->get_id == $asset_id; return !chk_authz($_[0], READ, 1); }; } else { $excl_sub = sub { return !chk_authz($_[0], READ, 1) }; } my $field_values = sub { my ($o, $field) = @_; if ($field eq 'thumb') { # If we get a thumbnail URI, we have an image. Otherwise, simply return # a space to fill the column properly because we aren't an image object # but USE_THUMBNAILS is on. my $thumb_uri = $o->thumbnail_uri or return ' '; return qq{ }; } elsif ($field eq 'action') { if ($relate_id == $o->get_id) { return qq{Un-relate}; } else { return qq{Relate}; } } }; my $insert = ''; if (RELATED_MEDIA_UPLOAD) { # Give 'em an upload form. if (my $uploader = $m->scomp('/widgets/profile/media_upload.mc', widget => $widget, file_widget => 'container_prof', formName => $formName, site_id => get_state_data("$obj_type\_prof", $obj_type)->get_site_id, )) { $insert = qq{
$uploader
\n}; } }