@@ -9,3 +9,9 @@ | |||
font-family: inherit; | |||
font-size: inherit; | |||
} | |||
.verticaltext { | |||
width:35px !important; | |||
word-wrap: break-word; | |||
white-space:pre-wrap; | |||
} |
@@ -1,74 +0,0 @@ | |||
<!-- | |||
# @name: index.html | |||
# @version: 0.1 | |||
# @creation_date: 2021-09-24 | |||
# @license: The MIT License <https://opensource.org/licenses/MIT> | |||
# @author: Simon Bowie <ad7588@coventry.ac.uk> | |||
# @purpose: Home page for the application | |||
--> | |||
<!DOCTYPE html> | |||
<html lang="en"> | |||
<head> | |||
<meta charset="utf-8"> | |||
<meta name="viewport" content="width=device-width, initial-scale=1"> | |||
<link rel="stylesheet" type="text/css" href="css/style.css"> | |||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous"> | |||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script> | |||
</head> | |||
<body> | |||
<div class="container-fluid p-5 my-5 border"> | |||
<div class="row"> | |||
<div class="col text-center"> | |||
<p class="h1">Politics of Patents</p> | |||
</div> | |||
</div> | |||
<div class="row justify-content-center p-3"> | |||
<div class="col-sm-6 text-center"> | |||
<form action="search.php" method="POST"> | |||
<input type="text" name="search" placeholder="search for a patent record"> | |||
<select name="searchopt" id="searchopt"> | |||
<option value="all">all</option> | |||
<option value="active">active</option> | |||
<option value="expanding">expanding</option> | |||
<option value="invisible">invisible</option> | |||
<option value="multispecies">multi-species</option> | |||
<option value="surviving">surviving</option> | |||
</select> | |||
<input type="submit" id="submit" value="search"> | |||
</form> | |||
</div> | |||
</div> | |||
<div class="row p-3"> | |||
<div class="col text-center"> | |||
<a href="./random.php">show a random record</a> | |||
</div> | |||
<div class="col text-center"> | |||
<a href="./compare.php">compare two random records</a> | |||
</div> | |||
</div> | |||
<div class="row p-3"> | |||
<div class="col text-center"> | |||
<a href="./titles.php">ten random titles</a> | |||
</div> | |||
<div class="col text-center"> | |||
<a href="./abstracts.php">ten random abstracts</a> | |||
</div> | |||
<div class="col text-center"> | |||
<a href="./random_images.php">ten random images (takes a long time to load)</a> | |||
</div> | |||
</div> | |||
</div> | |||
</body> | |||
</html> |
@@ -0,0 +1,121 @@ | |||
<?php | |||
# @name: index.php | |||
# @version: 0.1 | |||
# @creation_date: 2021-09-24 | |||
# @license: The MIT License <https://opensource.org/licenses/MIT> | |||
# @author: Simon Bowie <ad7588@coventry.ac.uk> | |||
# @purpose: Home page for the application | |||
include '../solr.php'; | |||
$cores = array("active", "expanding", "invisible", "multispecies", "surviving"); | |||
?> | |||
<!DOCTYPE html> | |||
<html lang="en"> | |||
<head> | |||
<meta charset="utf-8"> | |||
<meta name="viewport" content="width=device-width, initial-scale=1"> | |||
<link rel="stylesheet" type="text/css" href="css/style.css"> | |||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous"> | |||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script> | |||
</head> | |||
<body class="d-flex flex-column min-vh-100"> | |||
<main class="flex-shrink-0"> | |||
<div class="container-fluid p-5 my-5 border"> | |||
<div class="row"> | |||
<div class="col text-center"> | |||
<p class="h1">Politics of Patents</p> | |||
</div> | |||
</div> | |||
<div class="row justify-content-center p-3"> | |||
<div class="col-sm-6 text-center"> | |||
<form action="search.php" method="POST"> | |||
<input type="text" name="search" placeholder="search for a patent record"> | |||
<select name="searchopt" id="searchopt"> | |||
<option value="all">all</option> | |||
<option value="active">active</option> | |||
<option value="expanding">expanding</option> | |||
<option value="invisible">invisible</option> | |||
<option value="multispecies">multi-species</option> | |||
<option value="surviving">surviving</option> | |||
</select> | |||
<input type="submit" id="submit" value="search"> | |||
</form> | |||
</div> | |||
</div> | |||
<div class="row p-3"> | |||
<div class="col text-center"> | |||
<a href="./random.php">show a random record</a> | |||
</div> | |||
<div class="col text-center"> | |||
<a href="./compare.php">compare two random records</a> | |||
</div> | |||
</div> | |||
<div class="row p-3"> | |||
<div class="col text-center"> | |||
<a href="./titles.php">ten random titles</a> | |||
</div> | |||
<div class="col text-center"> | |||
<a href="./abstracts.php">ten random abstracts</a> | |||
</div> | |||
<div class="col text-center"> | |||
<a href="./random_images.php">ten random images (takes a long time to load)</a> | |||
</div> | |||
</div> | |||
<?php | |||
foreach($cores as $core): | |||
?> | |||
<div class="row p-3 m-3 border"> | |||
<div class="col-1 border border-dark text-center verticaltext"> | |||
<span class="text-uppercase"><?php echo $core; ?></span> | |||
</div> | |||
<div class="col-11"> | |||
<div class="row p-3"> | |||
<?php | |||
$random_record = one_random_record($core); | |||
?> | |||
<a href="id_search.php?id=<? echo $random_record['id']; ?>&core=<? echo $core; ?>"> | |||
<?php | |||
if(isset($random_record['title'])){ | |||
echo $random_record['title']; | |||
} | |||
?> | |||
</a> | |||
</div> | |||
<div class="row p-3"> | |||
<?php | |||
if(isset($random_record['abstract'])){ | |||
echo $random_record['abstract']; | |||
} | |||
?> | |||
</div> | |||
</div> | |||
</div> | |||
<?php | |||
endforeach; | |||
?> | |||
</div> | |||
</main> | |||
<footer class="footer py-3 mt-auto bg-light"> | |||
<div class="container"> | |||
<span class="text-muted">Data from the <a href="https://www.epo.org/">European Patent Office's</a> <a href="https://worldwide.espacenet.com/">Espacenet patent search engine</a> and reconfigured by Goldsmiths University's Archival Conversations project.</span> | |||
</div> | |||
</footer> | |||
</body> | |||
</html> |
@@ -10,7 +10,8 @@ | |||
include '../solr.php'; | |||
include '../ops_api.php'; | |||
$random_record = one_random_record(); | |||
$core = 'all'; | |||
$random_record = one_random_record($core); | |||
$publication_details = get_publication_details($random_record['doc_ref']); | |||
?> |
@@ -72,8 +72,9 @@ function parse_result($id, $input){ | |||
$output['id'] = $id; | |||
//Set document reference number (used for OPS API) | |||
preg_match('/=D\s(([^\s]*)\s([^\s]*)\s([^\s]*))/', $input, $doc_ref); | |||
$output['doc_ref'] = str_replace(' ','',$doc_ref[1]); | |||
if (preg_match('/=D\s(([^\s]*)\s([^\s]*)\s([^\s]*))/', $input, $doc_ref)){ | |||
$output['doc_ref'] = str_replace(' ','',$doc_ref[1]); | |||
} | |||
// Search for the application ID in the content element and display it | |||
preg_match('/Application.*\n(.*)\n/', $input, $application_id); | |||
@@ -88,28 +89,28 @@ function parse_result($id, $input){ | |||
$output['ipc_publication_url'] = $ipc_publication[1]; | |||
// Search for the title in the content element and display it | |||
preg_match('/Title.*\n(.*)\n/', $input, $title); | |||
$output['title'] = $title[1]; | |||
if (preg_match('/Title.*\n(.*)\n/', $input, $title)){ | |||
$output['title'] = $title[1]; | |||
} | |||
// Search for the abstract in the content element and display it | |||
if (preg_match('/Abstract.*\n(.*)\n/', $input, $abstract)){ | |||
$output['abstract'] = $abstract[1]; | |||
} | |||
else { | |||
preg_match('/\(.\) \\n\\n(.*)\\n/', $input, $abstract); | |||
elseif (preg_match('/\(.\) \\n\\n(.*)\\n/', $input, $abstract)) { | |||
$output['abstract'] = $abstract[1]; | |||
} | |||
return $output; | |||
} | |||
function get_random_record(){ | |||
function get_random_record($core){ | |||
// Generate a random number for sorting by random | |||
$random = rand(); | |||
// Assemble a query string to send to Solr. This uses the Solr hostname from config.env. Solr's query syntax can be found at many sites including https://lucene.apache.org/solr/guide/6_6/the-standard-query-parser.html | |||
// This query retrieves only the bib identifier field for records which satisfy the search query | |||
$solrurl = 'http://' . $_ENV["SOLR_HOSTNAME"] . ':' . $_ENV["SOLR_PORT"] . '/solr/' . $_ENV["SOLR_CORE"] . '/select?q.op=OR&q=*%3A*&wt=json&sort=random_' . $random . '%20asc'; | |||
$solrurl = 'http://' . $_ENV["SOLR_HOSTNAME"] . ':' . $_ENV["SOLR_PORT"] . '/solr/' . $core . '/select?q.op=OR&q=*%3A*&wt=json&sort=random_' . $random . '%20asc'; | |||
// Perform Curl request on the Solr API | |||
$ch = curl_init(); | |||
@@ -138,9 +139,9 @@ function get_random_record(){ | |||
return $result_array; | |||
} | |||
function one_random_record (){ | |||
function one_random_record ($core){ | |||
$random = get_random_record(); | |||
$random = get_random_record($core); | |||
foreach ($random as $id => $content){ | |||
$output = parse_result($id, $content); |