Annotation of loncom/metadata_database/searchcat.pm, revision 1.1
1.1 ! harris41 1: # The LearningOnline Network with CAPA
! 2: # Metadata Database Handler
! 3: #
! 4: # 02/20/2001 Scott Harrison
! 5:
! 6: package Apache::lonsql;
! 7:
! 8: use strict;
! 9: use Opcode;
! 10: use Apache::lonnet;
! 11: use Apache::Constants qw(:common :http);
! 12:
! 13: use CGI;
! 14:
! 15: # ================================================================ Main handler
! 16: #
! 17: # Interactive call to screen
! 18: #
! 19: #
! 20:
! 21: sub handler {
! 22: my $r=shift;
! 23:
! 24: if ($r->header_only) {
! 25: $r->content_type('text/html');
! 26: $r->send_http_header;
! 27: return OK;
! 28: }
! 29:
! 30: # ------------------------------------------------------------------- Open page
! 31:
! 32: my $query=new CGI;
! 33:
! 34: my $searchquery;
! 35: my $searchresults;
! 36: my @regexps;
! 37: my $logic;
! 38: my $logic_operator;
! 39:
! 40: if ($query->{'SUBMIT'}) {
! 41: $logic_operator=$query->{'logic'}->[0];
! 42: $searchquery="<BR>Your search was:\n";
! 43: $searchquery.="<BR><STRONG>$_</STRONG>: " . $query->{$_}->[0] . "\n" for ('title','author','subject','notes','abstract','mime','language','creationdate','lastrevisiondate','owner','copyright');
! 44: for ('title','author','subject','notes','abstract','mime','language','creationdate','lastrevisiondate','owner','copyright') {
! 45: push @regexps, ($_ . " regexp '" . $query->{$_}->[0] . "'") if $query->{$_}->[0];
! 46: }
! 47: $logic="where " . join(" $logic_operator ",@regexps) if @regexps;
! 48: }
! 49: my $sqlcommand="SELECT * FROM metadata $logic";
! 50: $searchquery.="<P><STRONG>SQL command:</STRONG> $sqlcommand</P>\n";
! 51:
! 52: $r->content_type('text/html');
! 53: $r->header_out('Cache-control','no-cache');
! 54: $r->header_out('Pragma','no-cache');
! 55: $r->send_http_header;
! 56: my $output=<<END;
! 57:
! 58: <P>
! 59: <H1>MySQL search engine</H1>
! 60: <FORM METHOD="GET" ACTION="/adm/sqltest">
! 61: <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>
! 62: <TR><TD><STRONG>title</STRONG></TD>
! 63: <TD><INPUT TYPE="TEXT" NAME="title"></TD>
! 64: <TR><TD><STRONG>author</STRONG></TD>
! 65: <TD><INPUT TYPE="TEXT" NAME="author"></TD>
! 66: <TR><TD><STRONG>subject</STRONG></TD>
! 67: <TD><INPUT TYPE="TEXT" NAME="subject"></TD>
! 68: <TR><TD><STRONG>notes</STRONG></TD>
! 69: <TD><INPUT TYPE="TEXT" NAME="notes"></TD>
! 70: <TR><TD><STRONG>abstract</STRONG></TD>
! 71: <TD><INPUT TYPE="TEXT" NAME="abstract"></TD>
! 72: <TR><TD><STRONG>mime</STRONG></TD>
! 73: <TD><INPUT TYPE="TEXT" NAME="mime"></TD>
! 74: <TR><TD><STRONG>language</STRONG></TD>
! 75: <TD><INPUT TYPE="TEXT" NAME="language"></TD>
! 76: <TR><TD><STRONG>creationdate</STRONG></TD>
! 77: <TD><INPUT TYPE="TEXT" NAME="creationdate"></TD>
! 78: <TR><TD><STRONG>lastrevisiondate</STRONG></TD>
! 79: <TD><INPUT TYPE="TEXT" NAME="lastrevisiondate"></TD>
! 80: <TR><TD><STRONG>owner</STRONG></TD>
! 81: <TD><INPUT TYPE="TEXT" NAME="owner"></TD>
! 82: <TR><TD><STRONG>copyright</STRONG></TD>
! 83: <TD><INPUT TYPE="TEXT" NAME="copyright"></TD>
! 84: </TR>
! 85: </TABLE>
! 86: <SELECT NAME="logic">
! 87: <OPTION SELECTED>and</OPTION>
! 88: <OPTION>or</OPTION>
! 89: </SELECT>
! 90: <INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE="SEARCH MySQL DATABASE">
! 91: </P>
! 92: <P>
! 93: $searchquery
! 94: </P>
! 95: <P>
! 96: $searchresults
! 97: </P>
! 98: END
! 99: $r->print($output);
! 100: return OK;
! 101: }
! 102:
! 103:
! 104:
! 105: 1;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>