GBrowse
view release on metacpan or search on metacpan
lib/Bio/Graphics/Browser2/Render.pm view on Meta::CPAN
-value => $id,
-path => $path,
-httponly=> 1,
-expires => '+'.$globals->time2sec($globals->remember_settings_time).'s',
);
return $cookie;
}
sub auth_cookie {
my $self = shift;
my $path = url(-absolute => 1);
$path =~ s!gbrowse/?$!!;
my $auth = (shift || param('authority')) or return;
my $globals = $self->globals;
my $remember = $self->session->remember_auth;
my @args = (-name => 'authority',
-value=> $auth,
-httponly=>1,
-path => $path);
if ($remember) {
push @args,(-expires => '+'.$globals->time2sec($globals->remember_settings_time).'s');
}
return CGI::Cookie->new(@args);
}
# for backward compatibility
sub create_cookie {
my $self = shift;
return [
$self->state_cookie,
$self->auth_cookie
];
}
# For debugging
sub allparams {
my $args = {};
for my $key (param()) {
$args->{$key} = param($key)
}
"<pre>".Data::Dumper::Dumper($args)."</pre>";
}
#print "All params:<br>\n".dumperonscreen($self->allparams);
sub render_body {
my $self = shift;
warn "render_body()" if DEBUG;
my $region = $self->region;
my $features = $region->features;
my $settings = $self->state;
my $source = $self->data_source;
my $title = $self->generate_title($features);
my $output;
my @post_load = $self->get_post_load_functions;
$output .= $self->render_html_start($title,@post_load);
$output .= $self->render_user_header;
$output .= $self->render_busy_signal;
$output .= $self->render_actionmenu;
$output .= $self->render_top($title,$features);
my $main_page .= $self->render_navbar($region->seg);
if ($region->feature_count > 1) {
$main_page .= $self->render_multiple_choices($features,$self->state->{name});
$main_page .= $self->render_select_track_link;
}
elsif (my $seg = $region->seg) {
$main_page .= $self->render_panels($seg,{overview => $source->show_section('overview'),
regionview => $source->show_section('region'),
detailview => $source->show_section('detail')});
$main_page .= $self->render_galaxy_form($seg);
}
elsif ($region->feature_count > 0) { # feature but no segment? Admin error
my $message = $self->translate('CHROM_NOT_FOUND');
my $details = $self->translate('CHROM_NOT_FOUND_DETAILS', $features->[0]->display_name, $features->[0]->seq_id);
$main_page .= script({-type=>'text/javascript'},"Controller.show_error('$message','$details')")
}
my $tracks = $self->render_tracks_section;
my $snapshots = $self->snapshot_manager->render_snapshots_section;
my $community = $self->user_tracks->database? $self->render_community_tracks_section : "";
my $custom = $self->render_custom_tracks_section;
my $global_config = $self->render_global_config;
$output .= $self->render_tabbed_pages($main_page,$tracks,$snapshots,$community,$custom,$global_config);
$output .= $self->login_manager->render_confirm;
$output .= $self->render_bottom($features);
print $output;
}
sub render_tracks_section {
my $self = shift;
return $self->render_toggle_track_table;
}
sub generate_title {
my $self = shift;
my $features = shift;
my $dsn = $self->data_source;
my $state = $self->state;
my $description = $dsn->description;
my $divider = $self->data_source->unit_divider;
return $description unless $features;
return !$features || !$state->{name} ? $description
: @$features == 0 ? $self->translate('NOT_FOUND',$state->{name})
: @$features == 1 ? "$description: ".
$self->translate('SHOWING_FROM_TO',
scalar $dsn->unit_label($state->{view_stop} - $state->{view_start}+1),
$state->{ref},
$dsn->commas($state->{view_start}),
$dsn->commas($state->{view_stop}))
: $description;
( run in 0.405 second using v1.01-cache-2.11-cpan-600a1bdf6e4 )