# The LearningOnline Network with CAPA
# Metadata Database Handler
#
# 02/20/2001 Scott Harrison
package Apache::lonsql;
use strict;
use Opcode;
use Apache::lonnet;
use Apache::Constants qw(:common :http);
use CGI;
# ================================================================ Main handler
#
# Interactive call to screen
#
#
sub handler {
my $r=shift;
if ($r->header_only) {
$r->content_type('text/html');
$r->send_http_header;
return OK;
}
# ------------------------------------------------------------------- Open page
my $query=new CGI;
my $searchquery;
my $searchresults;
my @regexps;
my $logic;
my $logic_operator;
if ($query->{'SUBMIT'}) {
$logic_operator=$query->{'logic'}->[0];
$searchquery="<BR>Your search was:\n";
$searchquery.="<BR><STRONG>$_</STRONG>: " . $query->{$_}->[0] . "\n" for ('title','author','subject','notes','abstract','mime','language','creationdate','lastrevisiondate','owner','copyright');
for ('title','author','subject','notes','abstract','mime','language','creationdate','lastrevisiondate','owner','copyright') {
push @regexps, ($_ . " regexp '" . $query->{$_}->[0] . "'") if $query->{$_}->[0];
}
$logic="where " . join(" $logic_operator ",@regexps) if @regexps;
}
my $sqlcommand="SELECT * FROM metadata $logic";
$searchquery.="<P><STRONG>SQL command:</STRONG> $sqlcommand</P>\n";
$r->content_type('text/html');
$r->header_out('Cache-control','no-cache');
$r->header_out('Pragma','no-cache');
$r->send_http_header;
my $output=<<END;
<P>
<H1>MySQL search engine</H1>
<FORM METHOD="GET" ACTION="/adm/sqltest">
<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR><TD><STRONG>title</STRONG></TD>
<TD><INPUT TYPE="TEXT" NAME="title"></TD>
<TR><TD><STRONG>author</STRONG></TD>
<TD><INPUT TYPE="TEXT" NAME="author"></TD>
<TR><TD><STRONG>subject</STRONG></TD>
<TD><INPUT TYPE="TEXT" NAME="subject"></TD>
<TR><TD><STRONG>notes</STRONG></TD>
<TD><INPUT TYPE="TEXT" NAME="notes"></TD>
<TR><TD><STRONG>abstract</STRONG></TD>
<TD><INPUT TYPE="TEXT" NAME="abstract"></TD>
<TR><TD><STRONG>mime</STRONG></TD>
<TD><INPUT TYPE="TEXT" NAME="mime"></TD>
<TR><TD><STRONG>language</STRONG></TD>
<TD><INPUT TYPE="TEXT" NAME="language"></TD>
<TR><TD><STRONG>creationdate</STRONG></TD>
<TD><INPUT TYPE="TEXT" NAME="creationdate"></TD>
<TR><TD><STRONG>lastrevisiondate</STRONG></TD>
<TD><INPUT TYPE="TEXT" NAME="lastrevisiondate"></TD>
<TR><TD><STRONG>owner</STRONG></TD>
<TD><INPUT TYPE="TEXT" NAME="owner"></TD>
<TR><TD><STRONG>copyright</STRONG></TD>
<TD><INPUT TYPE="TEXT" NAME="copyright"></TD>
</TR>
</TABLE>
<SELECT NAME="logic">
<OPTION SELECTED>and</OPTION>
<OPTION>or</OPTION>
</SELECT>
<INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE="SEARCH MySQL DATABASE">
</P>
<P>
$searchquery
</P>
<P>
$searchresults
</P>
END
$r->print($output);
return OK;
}
1;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>