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(); } ?>