$myTitle = "Poetry Explorer- Classic Contemporary Poetry Search Results";
include('header.php'); ?>
include('menu.php'); ?>
Search Classic and Contemporary Poetry
include('Common.php');
include('Connect.php');
$mode=$_GET['rm'];
$msub=$_GET['msub'];
$ssub=$_GET['ssub'];
//$sub=$_GET['sub'];
$sub = empty($_GET['sub']) ? "" : $_GET['sub'];
if ($mode == 'msub') {
msubit ( $con, $msub );
} elseif ($mode == 'ssub') {
ssubit ( $con, $msub, $ssub );
} elseif ($mode == 'sub') {
subit ( $con, $msub, $ssub, $sub );
}
function msubit( $mycon, $msub ){
# echo "This is the master sub: $msub
";
$query="SELECT DISTINCT ssub FROM mastersub";
$query.= " WHERE msub = '$msub'";
$query.= " ORDER BY ssub";
# echo "$query";
# die;
// $result=mysqli_query($mycon,$query);
$result=mysqli_query($mycon,$query);
$num=mysqli_num_rows($result);
# echo "Secondary Subjects
";
echo "Back to search
";
echo "Searching...
";
$utmpm = urlencode($msub);
if ( $msub ) echo "Category: $msub
";
echo "Matches Found: $num
";
echo "
";
if ( $num == 0 ) {
echo "No Results Found.
";
}
for($i = 0; $i < mysqli_num_rows( $result ); $i++)
{
$tmp = mysqli_fetch_row( $result );
$utmps = urlencode($tmp[0]);
$utmpm = urlencode($msub);
// $sub = ucwords(strtolower($tmp[0]));
$sub = my_ttlcase($tmp[0]);
$sub = preg_replace('/\bAnd\b/', '&', $sub);
print("$sub
\r\n");
}
mysql_close($mycon);
} //end of msubit function;
function ssubit( $mycon, $msub, $ssub ){
# echo "This is the master sub: $msub
";
# echo "This is the secondary sub: $ssub
";
$query="SELECT DISTINCT M.subject FROM mastersub M";
$query.= " INNER JOIN subject S ON M.subject = S.subject";
$query.= " INNER JOIN poem P on S.poem_id = P.id";
$query.= " WHERE M.msub = '$msub'";
$query.= " AND M.ssub = '$ssub'";
$query.= " AND P.text_link IS NOT NULL";
$query.= " ORDER BY subject";
# echo "$query";
# die;
$result=mysqli_query($mycon,$query);
$num=mysqli_num_rows($result);
# echo "Subjects
";
echo "Back to search
";
echo "Searching...
";
$utmpm = urlencode($msub);
$utmps = urlencode($ssub);
if ( $msub ) echo "Category: $msub / $ssub
";
echo "Matches Found: $num
";
echo "
";
if ( $num == 0 ) {
echo "No Results Found.
";
}
for($i = 0; $i < mysqli_num_rows( $result ); $i++)
{
$tmp = mysqli_fetch_row( $result );
$utmp = urlencode($tmp[0]);
$utmps = urlencode($ssub);
$utmpm = urlencode($msub);
// $sub = ucwords(strtolower($tmp[0]));
$sub = my_ttlcase($tmp[0]);
$sub = preg_replace('/\bAnd\b/', '&', $sub);
// print("$sub
\r\n");
print("$sub
\r\n");
}
mysqli_close($mycon);
} //end of ssubit function;
function subit( $mycon, $msub, $ssub, $sub ){
// ***********************
// not used as of 20130319
// ***********************
echo "This is the master sub: $msub
";
echo "This is the secondary sub: $ssub
";
echo "This is the tertiary sub: $sub
";
return;
$query="SELECT DISTINCT subject FROM mastersub";
$query.= " WHERE msub = '$msub'";
$query.= " AND ssub = '$ssub'";
$query.= " ORDER BY subject";
echo "$query";
# die;
$result=mysqli_query($mycon, $query);
$num=mysqli_num_rows($result);
# echo "Subjects
";
echo "Back to search
";
echo "Searching...
";
if ( $msub ) echo "Category: $msub / $ssub
";
echo "Matches Found: $num
";
echo "
";
if ( $num == 0 ) {
echo "No Results Found.
";
}
for($i = 0; $i < mysqli_num_rows( $result ); $i++)
{
$tmp = mysqli_fetch_row( $result );
$utmp = urlencode($tmp[0]);
// $sub = ucwords(strtolower($tmp[0]));
$sub = my_ttlcase($tmp[0]);
$sub = preg_replace('/\bAnd\b/', '&', $sub);
print("$sub
\r\n");
}
mysqli_close($mycon);
} //end of subit function;
function xsubit( $mycon ){
// ***********************
// not used as of 20130319
// ***********************
$query="SELECT DISTINCT P.*, CONCAT(P.author, ' ', P.title, ' ', P.first_line, P.last_line, ' ', P.variant) AS kword FROM poem P LEFT JOIN subject S ON S.poem_id = P.id LEFT JOIN mastersub M ON M.subject = S.subject WHERE M.msub = '$msub' AND (P.text_link IS NOT NULL";
$query.= ") ";
$condition= "";
$authonly = False;
$query.= "$condition";
if ($authonly) {
$query.= " ORDER BY P.author, P.title";
}
else {
$query.= " ORDER BY P.title, P.author";
}
# echo "$query";
# die;
$result=mysqli_query($mycon,$query);
$num=mysqli_num_rows($result);
echo "Search Results
";
echo "Back to search
";
echo "Searching...
";
if ( $msub ) echo "Category: $msub
";
echo "Matches Found: $num
";
echo "
";
if ( $num == 0 ) {
echo "No Results Found.
";
}
if ($authonly) {
myAuthSearch( $num, $result );
}
else {
myAllSearch( $num, $result, $mycon );
}
mysqli_close($mycon);
} //end of subit function;
function myAllSearch( $num, $result, $mycon ){
$i=0;
while ($i < $num) {
$pid=mysqli_result($result,$i,"id");
$txt_query="SELECT T.* FROM text T WHERE T.poem_id = $pid";
// echo "$query
";
$txt_result=mysqli_query($mycon,$query);
$txt_num=mysqli_num_rows($txt_result);
// echo "$txt_num
";
// die;
$author=mysqli_result($result,$i,"author");
$author_aka=mysqli_result($result,$i,"author_aka");
$author_aka=substr($author_aka, 0, -1);
$bio_link=mysqli_result($result,$i,"bio_link");
$title=mysqli_result($result,$i,"title");
$first_line=mysqli_result($result,$i,"first_line");
$last_line=mysqli_result($result,$i,"last_line");
$text_link=mysqli_result($result,$i,"text_link");
$recitation_link=mysqli_result($result,$i,"recitation_link");
$rec_by_auth=mysqli_result($result,$i,"rec_by_auth");
$subjects=trim(mysqli_result($result,$i,"subjects"));
$subjects=substr($subjects, 0, -1);
$variants=trim(mysqli_result($result,$i,"variant"));
$variants=substr($variants, 0, -1);
$revauthARR = explode(", ", $author);
$tmp = array_reverse($revauthARR);
$revauth = implode(" ", $tmp);
$tmpAKA = explode(";", $author_aka);
$author_aka = implode("; ", $tmpAKA);
$revauth = case_revauth($revauth);
$title = case_title($title);
$author = case_author($author);
$author_aka = case_authoraka($author_aka);
$first_line = case_firstline($first_line);
$last_line = case_firstline($last_line);
$subjects = case_subject($subjects);
$variants = case_variant($variants);
/*
if ( $subjects === "" ) {
unset($subjects) ;
}
*/
/* original 2012OCT17
$author " . ( ($bio_link) ? "\t\tPoet's Biography" : "" ) . "
$title " . ( ($text_link) ? "\t\tPoem Text" : "" ) . " " . ( ($recitation_link) ? "\t\t" . ( ( $rec_by_auth ) ? "Recitation by Author" : "Recitation" ) . "" : "" ) . "
*/
unset($text_src);
$text_win="_blank";
if ( $txt_num > 0 ){
if ( $text_link ) {
$text_src=$text_link;
}
$text_link="../poem.php?id=$pid";
$text_win="_self";
if ( $text_link == $text_src ) {
unset($text_src);
}
}
/* echo "$txt_num
Text: $text_link
Src: $text_src
"; */
echo "
${title}, by $revauth " . ( ($text_link) ? "\t\tPoem Text" : "" ) . " " . ( ($text_src) ? "\t\tPoem Source" : "" ) . " " . ( ($recitation_link) ? "\t\t" . ( ( $rec_by_auth ) ? "Recitation by Author" : "Recitation" ) . "" : "" ) . " " .( ($bio_link) ? "\t\tPoet's Biography" : "" ) . "
";
if ( $first_line ) {
echo " First Line: $first_line
";
}
if ( $last_line ) {
echo " Last Line: $last_line
";
}
if ( $author_aka ) {
echo " Alternate Author Name(s): $author_aka
";
}
if ( $variants ) {
echo " Variant Title(s): $variants
";
}
if ( $subjects ) {
echo " Subject(s): $subjects
";
}
echo "
";
$i++;
}
} //end of function
function myAuthSearch( $num, $result ){
global $hostname, $username, $password, $database;
$con = @mysqli_connect($hostname,$username,$password,$database);
// mysql_connect($hostname,$username,$password);
// @mysql_select_db($database) or die( "Unable to select database");
$i=0;
$last_author="";
while ($i < $num) {
$author=mysqli_result($result,$i,"author");
$bio_link=mysqli_result($result,$i,"bio_link");
$title=mysqli_result($result,$i,"title");
$first_line=mysqli_result($result,$i,"first_line");
$last_line=mysqli_result($result,$i,"last_line");
$text_link=mysqli_result($result,$i,"text_link");
$recitation_link=mysqli_result($result,$i,"recitation_link");
$rec_by_auth=mysqli_result($result,$i,"rec_by_auth");
$subjects=trim(mysqli_result($result,$i,"subjects"));
$subjects=substr($subjects, 0, -1);
$revauth = case_revauth($revauth);
$title = case_title($title);
$author = case_author($author);
$author_aka = case_authoraka($author_aka);
$first_line = case_firstline($first_line);
$last_line = case_firstline($last_line);
$subjects = case_subject($subjects);
$variants = case_variant($variants);
if ($author != $last_author) {
$query="SELECT COUNT(title) as numpoems FROM poem WHERE (text_link IS NOT NULL OR recitation_link IS NOT NULL) AND author = '$author'";
$cresult=mysqli_query($mycon,$query);
if (!$cresult) echo mysqli_error();
$numpoems_cnt=mysqli_fetch_array($cresult);
$numpoems=$numpoems_cnt['numpoems'];
/* echo "$query";
*/
echo "
$author " . ( ($bio_link) ? "\t\tPoet's Biography" : "" ) . "
$numpoems poems available by this author
";
$last_author = $author;
}
echo "
$title " . ( ($text_link) ? "\t\tPoem Text" : "" ) . " " . ( ($recitation_link) ? "\t\t" . ( ( $rec_by_auth ) ? "Recitation by Author" : "Recitation" ) . "" : "" ) . "
";
if ( $first_line ) {
echo " First Line: $first_line
";
}
if ( $last_line ) {
echo " Last Line: $last_line
";
}
if ( $subjects ) {
echo " Subjects: $subjects
";
}
echo "
";
$i++;
}
} //end of function
function search_transform_term($term){
$term = preg_replace("/(\s)/e", "'{WHITESPACE-'.ord('\$1').'}'", $term);
$term = preg_replace("/,/", "{COMMA}", $term);
return $term;
}
function search_split_terms($terms){
/* $terms = preg_replace('!\s+!', ' ', $terms);*/
$terms = str_replace(",", "",$terms);
$terms = preg_replace("/\"(.*?)\"/e", "search_transform_term('\$1')", $terms);
$terms = preg_split("/\s+|,/", $terms);
$out = array();
foreach($terms as $term){
$term = preg_replace("/\{WHITESPACE-([0-9]+)\}/e", "chr(\$1)", $term);
$term = preg_replace("/\{COMMA\}/", ",", $term);
$out[] = $term;
}
return $out;
}
function search_escape_rlike($string){
return preg_replace("/([.\[\]*^\$])/", '\\\$1', $string);
}
function search_db_escape_terms($terms){
$out = array();
foreach($terms as $term){
$out[] = '[[:<:]]'.AddSlashes(search_escape_rlike($term)).'[[:>:]]';
}
return $out;
}
?>