#!/usr/bin/perl -w # # use DBI; use CGI qw(:standard *table :cgi-lib); use CGI::Pretty; require "hydro_file_tools.pl"; # Local structure variables $base_dir = ""; $file_base = "/Users/Shared/cchdo2/public/data/$base_dir"; #$file_base = "/var/www/hydro/cchdo/public/data/$base_dir"; $base_url ="http://cchdo.ucsd.edu"; $datahist_url = $base_url."/data_history?ExpoCode="; $lineentry_url = $base_url."/data_access?ExpoCode="; $dataparam_url = $base_url."/cgi/public/basin_tables/new_param.cgi?Expo="; # Variables for database interaction $database = 'DBI:mysql:cchdo'; $user = 'jfields'; $passwd = 'hydr0d@t@'; @basin_order = ('North Atlantic','Central Atlantic','South Atlantic','East Pacific','South West Pacific', 'West Pacific','Indian','Southern'); #Begin HTML print header; #start_html(-title=>"Data Histories", # -style=>{-src=>"$base_url/style.css"}, # -script=>{-src=>"gmap.js",-type=>"text/javascript"}, # -script=>{-src=>'http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAZICfw-7ifUWoyrSbSFaNixSFdTZeOB4GIl_XiWXVYYElhJSuoxTjIA2MnqBrs6duw1DN6Gr0tKlAhQ',-type=>"text/javascript"}, # -onload=>"load()", # -onunload=>"GUnload()"); #cchdo => ABQIAAAAZICfw-7ifUWoyrSbSFaNixTec8MiBufSHvQnWG6NDHYU8J6t-xTRqsJkl7OBlM2_ox3MeNhe_0-jXA # cchdo => ABQIAAAAZICfw-7ifUWoyrSbSFaNixRkZzjLi0nUJ4TwOC8xt4Ov2IJhKBTtZSVhnjKeLlrh2pPmjzyAFgBIdA # cchdo.ucsd.edu => ABQIAAAAZICfw-7ifUWoyrSbSFaNixRz6rsNmenKPKujDhOQdQ7stlkpShSXsD_WCcTY2gZCHEPjXNnq5iLMSA print < CCHDO | CLIVAR & Carbon Hydrographic Data Office
CCHDO Home
 
  Main_r4_c4
 
  HTML print start_table(); print Tr, td; print " | "; $basin_ctr = 0; foreach (@basin_order) { $basin_ctr++; print a({-href=>"$base_url/maps?basin=$_"},"$_")," | "; if($basin_ctr == 4){print br;} } #print td,td,Tr,td, # start_form,"Filter for:",textfield({-name=>"filter",-size=>"10"}),end_form; print hr({-align=>"left"}); print end_table; print start_table,Tr,td,div({-id=>"message"}),end_table; $ctr=1; %arguments = Vars(); if($arguments{'Basin'}) { print start_table({-class=>"Basin_table"}); my $basin = $arguments{'Basin'}; $img_name = $basin; $img_name =~ s/\s/_/g; $image = "$base_url/images/$img_name.gif"; print Tr,td,h1({-id=>"Basin"},"$basin"), Tr,td(div({-id=>"map",-style=>"width:670px; height: 420px"})); $lines_ref = print_list($basin); %lines = %$lines_ref; $line_ctr=1; print start_table; print Tr; foreach (reverse sort {sort_func($a,$b)} keys %lines) { print td,a({-id=>"$_",-href=>"$lineentry_url$lines{$_}"},"$_"); if($line_ctr % 6 eq 0){print Tr;} $line_ctr++; } #print end_table; # print end_table; } else { foreach (keys %basins) { print start_table({-class=>"Basin_table"}); my $img_name =$_; $img_name =~ s/\s/_/g; if($ctr %2 == 0) { $image = "$base_url/images/$img_name.gif"; print Tr,td,h1($_),Tr,td,img({-height=>"200px",-src=>$image}),td; $lines_ref = print_list($_); %lines = %$lines_ref; $line_ctr=1; print start_table; foreach (keys %lines) { print td,a({-href=>"$lineentry_url$lines{$_}"},"$_"); if($line_ctr % 6 eq 0){print Tr;} $line_ctr++; } print end_table; print Tr,td; print end_table; } else { $image = "$base_url/images/$img_name.gif"; print Tr,td,h1($_), Tr,td; $lines_ref = print_list($_); %lines = %$lines_ref; $line_ctr=1; print start_table; foreach (keys %lines) { print td,a({-href=>"$lineentry_url$lines{$_}"},"$_"); if($line_ctr % 6 eq 0){print Tr;} $line_ctr++; } print end_table; print td, img({-height=>"200px",-src=>$image}),td; print end_table; } $ctr++; } } print end_table; print <  
 
 
 
END print end_html; sub print_list { my $search = shift; my %lines; my $db = DBI->connect('DBI:mysql:cchdo',$user,$passwd) or die "couldn't connect to documents"; my $statement = qq{SELECT distinct(cruises.Line), cruises.ExpoCode FROM internal,cruises WHERE internal.Basin = '$search' AND internal.ExpoCode = cruises.ExpoCode}; my $sh = $db->prepare($statement); $sh->execute() or die "couldn't retrieve data from documents"; my $ctr = 0; while($ref = $sh->fetchrow_hashref) { $lines{$ref->{'Line'}}=$ref->{'ExpoCode'}; $ctr++; } return \%lines; } sub sort_func { my $a = shift; my $b = shift; my $complete_a = $complete_b = 1; if($a =~ /^([a-z]+)([0-9]+)/i) { $a_basin = $1; $a_number = $2; }else{$complete_a = 0;} if($b =~ /^([a-z]+)([0-9]+)/i) { $b_basin = $1; $b_number = $2; }else{$complete_b = 0;} if( $complete_a and $complete_b) { @a = split //, $a_basin; @b = split //,$b_basin; if($#a eq $#b) { if($a_number > $b_number) {$ret_val = -1;} elsif($b_number > $a_number) {$ret_val = 1;} else { $ret_val = 0; } #print h1($a,"a: ",$a_basin," ",$a_number," ",$b,"b: ",$b_basin," ",$b_number); } else { if($#a > $#b) { $ret_val = -1;} elsif($#b >$#a) { $ret_val = 1;} else{$ret_val = 0;} } } else { $ret_val = 0;} return $ret_val; }