LepDetail.pl


#! /usr/bin/perl -w

use strict;
use CGI;
use DBI;

my $CGI = new CGI();
print $CGI ->header();

# open the accessDB file to retrieve the database name, host name, user name and password
open( ACCESS_INFO, "<../..\/accessDB" ) || die "Can't access login credentials";

my $database = <ACCESS_INFO>;
my $host     = <ACCESS_INFO>;
my $user     = <ACCESS_INFO>;
my $passwd   = <ACCESS_INFO>;

chomp( $database, $host, $user, $passwd );
close(ACCESS_INFO);

if ( $CGI->param() ) {
    my $xname    = $CGI->param('Name');
    my $author   = $CGI->param('Author');
    my $tribe    = $CGI->param('Tribe');
    my $subfam   = $CGI->param('Subfamily');
    my $family   = $CGI->param('Family');
    my $superfam = $CGI->param('Superfamily');
    my $photo    = $CGI->param('Photo');
    my $qsearch  = "Name = '$xname'";
    my @name     = split /\s+/, $xname;
    my $spec     = pop @name;
    my $genus    = shift @name;

###################### Access MySQL database ###############################

    my $dbconnection = "$database:$host:3306";
    my $data_source  = "dbi:mysql";              #define a mysql database

    my $dbh = DBI->connect( "$data_source:$dbconnection", $user, $passwd )
      or die "failed to connect to $dbconnection\n";

################ Prepare Output ############################################

    print <<EOT;
        <p align="center"><font size="+3" face="Times New Roman, Times, serif">
           Lepidoptera of French Polynesia - Species Account</font></p>
        <p align="center"><a FPLeps.htm"
           target="_parent">NEW SEARCH</a></p><p></p>
        <table align="center" width="810" border="0">
        <tr>
            <td width="800" height="100" align="left"
                valign="top"><p><span class="style3">
                <p><b>TAXONOMY</b></p>
                <b>$superfam : $family : $subfam : $tribe </b></p>
                <b><em>$xname</em>  $author</b></span></p>

EOT
############# Process Synonym query results ################################

    #  my $statement1 = qq< SELECT Name, Synonym, SynStatus,
    #                              PubYear, Source, Reference, Comments
    #                       FROM Lepsyn
    #                       WHERE $qsearch ORDER BY PubYear>;
    #
    my $statement1 =
        "SELECT Name, Synonym, SynStatus, "
      . "       PubYear, Source, Reference, Comments "
      . "FROM Lepsyn "
      . "WHERE ? "
      . "ORDER BY PubYear";

    my $cursor = $dbh->prepare($statement1);
    $cursor->execute($qsearch);

    while ( my $query = $cursor->fetch ) {

        print <<EOT;
            <em>$query->[1]</em> $query->[4] $query->[6] [$query->[2]]<br>
EOT

    }

############# Post photo carried over from LepQuery  #######################

    print <<EOT;
            <br>
            </td>
        </tr>
        <tr>
            <td width="800" height="100" align="left" valign="top"><a href=$photo><img src=$photo></a></td>
        </tr>
        <tr>
            <td width="800" height="100" align="left" valign="top">
            <p></p>
            <p><b>DISTRIBUTION</b></p>
EOT

########### Process Distribution query results  ###########################

    my $statement2 =
        "SELECT Name, RefName, Archipelago, "
      . "       Island, Source, Notes "
      . "FROM Lepdis "
      . "WHERE ? "
      . "ORDER BY Archipelago";

    my $cursor = $dbh->prepare($statement2);
    $cursor->execute($qsearch);

    while ( my $query = $cursor->fetch ) {

        print <<EOT;

        $query->[2]: $query->[3] - $query->[4] (as $query->[1])<br>

EOT

    }

############### Process Biology query results #############################

    print <<EOT;
          <br>
          </td>
        </tr>
        <tr>
          <td width="800" height="100" align="left" valign="top">
             <b>HOST RECORDS - BIOLOGY</b></p>
EOT

    my $statement3 =
        "SELECT Name, RefName, Host, Source, Notes "
      . "FROM Lepbio "
      . "WHERE ? ";

    my $cursor = $dbh->prepare($statement3);
    $cursor->execute($qsearch);

    while ( my $query = $cursor->fetch ) {

        print <<EOT;

            $query->[2] - $query->[3] (as $query->[1]) $query->[4]<br>

EOT

    }

    print <<EOT;
          <br>
          </td>
        </tr>
        <tr>
          <td width="800" height="100" align=left" valign="top">
             <b>EXTERNAL LINKS</b></p>
             Google Web Search: 
                <a href="http://www.google.com/search?q=$xname" target="_blank"><b><em>$xname</em></b></a><br>
             Google Image Search: 
                <a href="http://www.google.com/images?q=$xname" target="_blank"><b><em>$xname</em></b></a><br>
             Google Scholar Search: 
                <a href="http://scholar.google.com/scholar?q=$xname" target="_blank"><b><em>$xname</em></b></a><br>
             Bishop Museum Search: 
                <a href="http://www2.bishopmuseum.org/HBS/checklist/results.asp?grp=Arthropod&gen=$genus"  target="_blank"><b><em>$genus </em></b></a> or 
                <a href="http://www2.bishopmuseum.org/HBS/checklist/results.asp?grp=Arthropod&gen=&sp=$spec" target="_blank"><b><em> $spec</em></b></a><br>
             Cook Islands Search: 
                <a href="http://cookislands.pacificbiodiversity.net/cibed/dbs/cibd-results-page?t=$xname&c=1" target="_blank"><b><em>$xname</em></b></a><br>
             Funet (Finland) Search:
                <a href="http://www.nic.funet.fi/cgi-bin/life/goto?taxon=$genus" target="_blank"><b><em>$genus</em></b></a><br>
             LepIndex Search: 
                <a href="http://www.nhm.ac.uk/jdsml/research-curation/research/projects/lepindex/list.dsml?SCIENTIFIC_NAME_on_card=$genus" target="_blank"><b><em>$genus </em></b></a> or 
                <a href="http://www.nhm.ac.uk/jdsml/research-curation/research/projects/lepindex/list.dsml?SCIENTIFIC_NAME_on_card=$spec" target="_blank"><b><em> $spec</em></b></a><br>

             <p></p>   
             <a href="http://www1.ala.org.au/gallery2/main.php" target="_blank">Australia Moths Online</a><br>
             <a href="http://www.mothsofborneo.com/" target="_blank">Borneo Moths Online</a><br>
             <a href="http://www.usp.ac.fj/fijimoths/families-id.php?PHPSESSID=de4ffa1e167fb253e39e50c7bb15142e" target="_blank">Fiji Moths Online</a><br>
             <a href="http://www.landcareresearch.co.nz/research/biosystematics/invertebrates/lepidoptera/index_single.asp" target="_blank">New Zealand Arthropod Collection - Lepidoptera Type Specimens</a><br>

        </tr>
        </table>
        <p align="center">
        <a href="FPLeps.htm" target="_parent">NEW SEARCH</a>
        </p>
EOT

############## Close off database  ########################################

    $cursor->finish();     # close off cursor
    $dbh->disconnect();    # close off database
}