| 
				
			 | 
			
			 | 
			@@ -3,7 +3,6 @@ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			function solr_search($search){ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  // 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=content%3A' . $search . '&wt=json'; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  // Perform Curl request on the Solr API | 
		
		
	
	
		
			
			| 
				
			 | 
			
			 | 
			@@ -32,6 +31,40 @@ function solr_search($search){ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  return $results; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			function solr_search_id($id){ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  // URL encode the ID string | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  $id = urlencode($id); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  // 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 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  $solrurl = 'http://' . $_ENV["SOLR_HOSTNAME"] . ':' . $_ENV["SOLR_PORT"] . '/solr/' . $_ENV["SOLR_CORE"] . '/select?q.op=OR&q=id%3A"' . $id . '"&wt=json'; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  // Perform Curl request on the Solr API | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  $ch = curl_init(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  curl_setopt($ch, CURLOPT_URL, $solrurl); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  curl_setopt($ch, CURLOPT_HEADER, FALSE); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  $response = curl_exec($ch); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  curl_close($ch); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  // Turn the API response into useful Json | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  $json = json_decode($response); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  // If no results are found, display a message | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  if ($json->response->numFound == '0'){ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    $output = 'No results found'; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  else{ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    foreach ($json->response->docs as $result){ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      $content = $result->content; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      $result_output = parse_result($content); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      $results[] = $result_output; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  return $results; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			function parse_result($input){ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  //Set document reference number (used for OPS API) | 
		
		
	
	
		
			
			| 
				
			 | 
			
			 | 
			@@ -91,17 +124,25 @@ function get_random_record(){ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    // Pick a random key out of the docs array | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    $random = array_rand($json->response->docs); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    //Set ID variable | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    $id = $json->response->docs[$random]->id; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    //Set content variable | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    $content = $json->response->docs[$random]->content; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    return $content; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    //Construct associative array with ID and content | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    $result_array = array($id=>$content); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    return $result_array; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			} | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			function one_random_record (){ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  $content = get_random_record(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  $random = get_random_record(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  $output = parse_result($content); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  foreach ($random as $id => $content){ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    $output = parse_result($content); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  return $output; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
	
		
			
			| 
				
			 | 
			
			 | 
			@@ -111,9 +152,14 @@ function ten_random_titles (){ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  for ($x=0; $x <= 9; $x++) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    $random = get_random_record(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    // Search for the title in the content element and display it | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    preg_match('/Title.*\n(.*)\n/', $random, $title); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    $output[$x] = $title[1]; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      foreach($random as $id => $content){ | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        // Search for the title in the content element and display it | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        preg_match('/Title.*\n(.*)\n/', $content, $title); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        $output[$x] = array($id=>$title[1]); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  return $output; |