200 lines
4.6 KiB
PHP
200 lines
4.6 KiB
PHP
![]() |
<?php
|
||
|
|
||
|
$w = $_POST['w']??'';
|
||
|
|
||
|
//require ('../settings.php');
|
||
|
require ('settings_api.php');
|
||
|
|
||
|
switch ($w) {
|
||
|
|
||
|
case 'search_suggestions':
|
||
|
$search = new search();
|
||
|
$results = $search->txtSearch(true);
|
||
|
|
||
|
response (200, "OK", $results);
|
||
|
|
||
|
break;
|
||
|
|
||
|
|
||
|
case 'search':
|
||
|
$search = new search();
|
||
|
$results = $search->txtSearch(false);
|
||
|
|
||
|
response (200, "OK", $results);
|
||
|
|
||
|
break;
|
||
|
|
||
|
case 'total_records_published':
|
||
|
$browse = new browse();
|
||
|
$data = $browse->numRecords();
|
||
|
|
||
|
response (200, "OK", $data);
|
||
|
|
||
|
case 'search_query_text':
|
||
|
$search = new search();
|
||
|
$results = $search->queryText();
|
||
|
|
||
|
response (200, "OK", $results);
|
||
|
|
||
|
break;
|
||
|
|
||
|
case 'display_item':
|
||
|
$item = new item();
|
||
|
$data = $item->getData();
|
||
|
|
||
|
response (200, "OK", $data);
|
||
|
|
||
|
break;
|
||
|
|
||
|
case 'list_countries':
|
||
|
$c = new country();
|
||
|
$results = $c->listAll();
|
||
|
|
||
|
response (200, "OK", $results);
|
||
|
|
||
|
break;
|
||
|
|
||
|
case 'list_languages':
|
||
|
$c = new language();
|
||
|
$results = $c->listAll();
|
||
|
|
||
|
response (200, "OK", $results);
|
||
|
|
||
|
break;
|
||
|
|
||
|
case 'list_topics':
|
||
|
$c = new topic();
|
||
|
$results = $c->listAll();
|
||
|
|
||
|
response (200, "OK", $results);
|
||
|
|
||
|
break;
|
||
|
|
||
|
case 'list_items':
|
||
|
$c = new item();
|
||
|
$results = $c->listAll();
|
||
|
|
||
|
response (200, "OK", $results);
|
||
|
|
||
|
break;
|
||
|
|
||
|
case 'list_modules':
|
||
|
$c = new module();
|
||
|
$results = $c->listAll();
|
||
|
|
||
|
response (200, "OK", $results);
|
||
|
|
||
|
break;
|
||
|
|
||
|
case 'list_rounds':
|
||
|
$c = new round();
|
||
|
$results = $c->listAll();
|
||
|
|
||
|
response (200, "OK", $results);
|
||
|
|
||
|
break;
|
||
|
|
||
|
case 'list_journalField':
|
||
|
$c = new journalField();
|
||
|
$results = $c->listAll();
|
||
|
|
||
|
response (200, "OK", $results);
|
||
|
|
||
|
break;
|
||
|
|
||
|
case 'list_pubType':
|
||
|
$c = new pubType();
|
||
|
$results = $c->listAll();
|
||
|
|
||
|
response (200, "OK", $results);
|
||
|
|
||
|
break;
|
||
|
|
||
|
case 'browse':
|
||
|
$browse = new browse();
|
||
|
$data = $browse->getRecords();
|
||
|
|
||
|
response (200, "OK", $data);
|
||
|
|
||
|
break;
|
||
|
|
||
|
case 'browse2spreadsheet':
|
||
|
$browse = new browse();
|
||
|
$data = $browse->spreadsheet_export();
|
||
|
|
||
|
response (200, "OK", $data);
|
||
|
|
||
|
break;
|
||
|
|
||
|
case 'item_citations':
|
||
|
$browse = new browse();
|
||
|
$data = $browse->item_citations();
|
||
|
|
||
|
response (200, "OK", $data);
|
||
|
|
||
|
break;
|
||
|
|
||
|
case 'item2spreadsheet':
|
||
|
$browse = new browse();
|
||
|
$data = $browse->spreadsheet_item();
|
||
|
|
||
|
response (200, "OK", $data);
|
||
|
|
||
|
break;
|
||
|
|
||
|
case 'doi':
|
||
|
$data = doi::fetchData($_POST['doi']);
|
||
|
|
||
|
response (200, "OK", $data);
|
||
|
break;
|
||
|
|
||
|
case 'do_insert':
|
||
|
$myData = filter_input(INPUT_POST, 'content', FILTER_SANITIZE_STRING);
|
||
|
|
||
|
$insert = new publish();
|
||
|
$data = $insert->consider($myData);
|
||
|
if ($data == "OK") {
|
||
|
response (200, "OK", $data);
|
||
|
}
|
||
|
else {
|
||
|
response (406, 'ERROR', $data);
|
||
|
}
|
||
|
|
||
|
|
||
|
default:
|
||
|
|
||
|
response (400, "Invalid Request", $_POST['w']);
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
function response($status,$status_message,$data)
|
||
|
{
|
||
|
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
|
||
|
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
|
||
|
header("Cache-Control: post-check=0, pre-check=0", false);
|
||
|
header("Pragma: no-cache"); // HTTP/1.0
|
||
|
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
|
||
|
header("Content-Type:application/json");
|
||
|
header("HTTP/1.1 ".$status);
|
||
|
|
||
|
$response['status']=$status;
|
||
|
$response['status_message']=$status_message;
|
||
|
$response['data']=str_replace (array ('{','}','[',']'), array ('','','',''), $data);
|
||
|
$json_response = json_encode($response);
|
||
|
echo $json_response;
|
||
|
|
||
|
|
||
|
|
||
|
if ($status!=200) {
|
||
|
// mail or log
|
||
|
}
|
||
|
|
||
|
die();
|
||
|
|
||
|
}
|
||
|
|
||
|
?>
|