| $DBTITLE Home |
| $mod_link Home |
| Logout |
| |
| $af_link Affymetrix Arrays: |
| $af_content |
~;
my $two_color_section = '';
unless ( $CONFIG_SETTING{MA_HIDE_TWO_COLOR} ) {
my $two_color =<<" END";
END
my ($tc_content, $tc_link) = $sbeams->make_toggle_section( content => $two_color,
sticky => 1,
name => 'ma_twocolor_toggle');
$two_color_section = qq~
| $tc_link Two Color Arrays: |
| $tc_content |
~;
}
my $admin_section = '';
if ($current_work_group_name eq "Microarray_admin" || $current_work_group_name eq "Admin" ) {
my $admin =<<" END";
END
my ($ad_content, $ad_link) = $sbeams->make_toggle_section( content => $admin,
name => 'ma_admin_toggle',
sticky => 1,
visible => 1 );
$admin_section =<<" END";
| $ad_link Administration: |
| $ad_content |
| |
END
}
my $message = $sbeams->get_page_message();
my $notice = $sbeams->get_notice( 'Microarray' );
if ( $message ) {
$message .= " $notice\n" if $message;
} else {
$message = $notice if $notice;
}
print qq~
$two_color_section
$admin_section
|
| $message
~;
} else {
print qq~
|
~;
}
}
###############################################################################
# printStyleSheet
#
# Print the standard style sheet for pages. Use a font size of 10pt if
# remote client is on Windows, else use 12pt. This ends up making fonts
# appear the same size on Windows+IE and Linux+Netscape. Other tweaks for
# different browsers might be appropriate.
###############################################################################
sub printStyleSheet {
my $self = shift;
#### Obtain main SBEAMS object and use its style sheet
$sbeams = $self->getSBEAMS();
$sbeams->printStyleSheet();
}
sub getBanner {
my $this = shift;
my $header_bkg = "bgcolor=\"$BGCOLOR\"";
$header_bkg = "background=\"/images/plaintop.jpg\"" if ($DBVERSION =~ /Primary/);
return <<" END_BANNER";
$DBTITLE - $SBEAMS_PART $DBVERSION |
END_BANNER
return <<" END_BANNER"
END_BANNER
}
sub getMenu {
my $self = shift;
my $sbeams = $self->getSBEAMS();
my $pad = ' ';
my $affy_docs = ( $CONFIG_SETTING{Microarray_affy_help_docs_url} =~ /http/ ) ?
"| $pad Affy Help Docs | " :
"| $pad Affy Help Docs | ";
$current_work_group_name = $sbeams->getCurrent_work_group_name();
my $admin_menu;
if ($current_work_group_name eq "Microarray_admin" || $current_work_group_name eq "Admin" ) {
$admin_menu =<<" END";
| Administration: |
| $pad Arrays |
| $pad Array scans |
| $pad Slide Lots |
| $pad Array Layouts |
| $pad Printing Batches |
| $pad Slide Types |
| $pad Protocols |
END
}
$BARCOLOR ||= '#FFFFFF';
my $mod_link = ucfirst( lc($SBEAMS_PART) );
my $menu =<<" END";
END
return $menu;
# This code never gets reached for now, update when needed.
if ( exists $CONFIG_SETTING{MA_AFFY_HELPDOCS_URL} && $CONFIG_SETTING{MA_AFFY_HELPDOCS_URL} =~ /http/){
$menu .=<<" END";
| Affy Help Docs |
END
} else {
$menu .=<<" END";
| Affy Help Docs |
END
}
}
###############################################################################
# printJavascriptFunctions
#
# Print the standard Javascript functions that should appear at the top of
# most pages. There probably should be some customization allowance here.
# Not sure how to design that yet.
###############################################################################
sub printJavascriptFunctions {
my $self = shift;
my $javascript_includes = shift;
print qq~
~;
}
###############################################################################
# printPageFooter
###############################################################################
sub printPageFooter {
my $self = shift;
#### Allow old-style single argument
my $n_params = scalar @_;
my %args;
#### If the old-style single argument exists, create args hash with it
if ($n_params == 1) {
my $flag = shift;
$args{close_tables} = 'NO';
$args{close_tables} = 'YES' if ($flag =~ /CloseTables/);
$args{display_footer} = 'NO';
$args{display_footer} = 'YES' if ($flag =~ /Footer/);
} else {
%args = @_;
}
#### If the output mode is interactive text, display text header
my $sbeams = $self->getSBEAMS();
if ($sbeams->output_mode() eq 'interactive') {
$sbeams->printTextHeader(%args);
return;
}
#### If the output mode is not html, then we don't want a header here
if ($sbeams->output_mode() ne 'html') {
return;
}
#### Process the arguments list
my $close_tables = $args{'close_tables'} || 'YES';
my $display_footer = $args{'display_footer'} || 'YES';
my $separator_bar = $args{'separator_bar'} || 'NO';
#### If closing the content tables is desired
if ($close_tables eq 'YES') {
print qq~
|