|
- <?php
-
- # @name: ops_image.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: Display images from OPS API image service
- # @acknowledgements:
- # OPS documented at https://www.epo.org/searching-for-patents/data/web-services/ops.html
- # OPS RESTful API specification at http://documents.epo.org/projects/babylon/eponet.nsf/0/F3ECDCC915C9BCD8C1258060003AA712/$File/ops_v3.2_documentation_-_version_1.3.16_en.pdf
- # OPS API functions list at https://developers.epo.org/ops-v3-2/apis
-
- include '../ops_api.php';
-
- if(isset($_GET["doc_ref"])){
-
- $access_token = get_access_token();
-
- // OPS API credentials (details at http://documents.epo.org/projects/babylon/eponet.nsf/0/F3ECDCC915C9BCD8C1258060003AA712/$File/ops_v3.2_documentation_-_version_1.3.16_en.pdf)
- $ops_url = $_ENV["OPS_URL"] . 'rest-services/published-data/publication/epodoc/' . $document_reference . '/images';
-
- // Set up API call
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $ops_url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $access_token"));
-
- // Give back curl result
- $response = curl_exec($ch);
- curl_close($ch);
-
- if (strpos($response,"No results found") === false ) {
-
- // Turn the API response into useful XML
- $xml = new SimpleXMLElement($response);
-
- // Retrieve image path from that XML
- $drawings_url = $_ENV["OPS_URL_IMAGES"] . '3.2/rest-services/' . $xml->xpath("///ops:document-instance[@desc='Drawing']/@link")[0][0]->__toString() . '?Range=1';
-
- // Set up API call
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $drawings_url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $access_token"));
-
- // Give back curl result
- $response = curl_exec($ch);
- curl_close($ch);
-
- //Display the image in the browser
- header('Content-type: image/jpeg');
- echo $response;
-
- }
-
- }
-
- ?>
|