$arxiv_id = trim($uid_array2[1]); } if ($uid_array2[0] == 'NASAADS') { $nasa_id = trim($uid_array2[1]); } } //FETCH FROM ARXIV if (isset($_POST['fetch-arxiv']) && !empty($arxiv_id) && empty($doi) && isset($_POST['fetch-arxiv'])) { $response = array(); fetch_from_arxiv($arxiv_id); $_POST = array_merge($_POST, $response); } //FETCH FROM PUBMED if (isset($_POST['fetch-pubmed']) && (!empty($pmid) || !empty($doi)) && isset($_POST['fetch-pubmed'])) { $response = array(); fetch_from_pubmed($doi, $pmid); $_POST = array_merge($_POST, $response); } // FETCH FROM NASA ADS if (isset($_POST['fetch-nasaads']) && (!empty($doi) || !empty($nasa_id)) && empty($pmid) && isset($_POST['fetch-nasaads'])) { $response = array(); fetch_from_nasaads($doi, $nasa_id); $_POST = array_merge($_POST, $response); } // FETCH FROM CROSSREF if (!empty($doi) && empty($pmid)) { $response = array(); fetch_from_crossref($doi); $_POST = array_merge($_POST, $response); } ########## check for duplicate titles in table library ##########
} if (isset($_GET['database_nasaads']) && $_GET['database_nasaads'] == '1' && empty($title)) { fetch_from_nasaads($doi, ''); extract($response); $uid = join("|", (array) $uid); $url = join("|", (array) $url); } if (isset($_GET['database_crossref']) && $_GET['database_crossref'] == '1' && empty($title)) { fetch_from_crossref($doi); extract($response); } //TRY AGAIN WITH DOI ONE CHARACTER SHORTER if (empty($title)) { $doi = substr($doi, 0, -1); if (isset($_GET['database_pubmed']) && $_GET['database_pubmed'] == '1') { fetch_from_pubmed($doi, ''); extract($response); $uid = join("|", (array) $uid); $url = join("|", (array) $url); } if (isset($_GET['database_nasaads']) && $_GET['database_nasaads'] == '1' && empty($title)) { fetch_from_nasaads($doi, ''); extract($response); $uid = join("|", (array) $uid); $url = join("|", (array) $url); } if (isset($_GET['database_crossref']) && $_GET['database_crossref'] == '1' && empty($title)) { fetch_from_crossref($doi); extract($response); } }
if (isset($_SESSION['proxy_port'])) { $proxy_port = $_SESSION['proxy_port']; } if (isset($_SESSION['proxy_username'])) { $proxy_username = $_SESSION['proxy_username']; } if (isset($_SESSION['proxy_password'])) { $proxy_password = $_SESSION['proxy_password']; } } include_once 'functions.php'; ########## reference fetching from PubMed ########## if (isset($_GET['id'])) { ########## open efetch, read xml ########## $response = array(); fetch_from_pubmed('', intval($_GET['id'])); extract($response); ########## print results into table ########## print '<form enctype="application/x-www-form-urlencoded" action="upload.php" method="POST" class="fetch-form">'; print '<div class="items">'; print '<div>'; if (!empty($journal_abbr)) { print htmlspecialchars($journal_abbr); } if (empty($journal_abbr) && !empty($secondary_title)) { print htmlspecialchars($secondary_title); } if (!empty($year)) { print " (" . htmlspecialchars($year) . ")"; } if (!empty($volume)) {
if (!empty($_POST['doi'])) { $pubmed_query = $_POST['doi'] . '[AID]'; } $request_url = "http://www.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=Pubmed&term={$pubmed_query}&usehistory=y&retstart=0&retmax=1&sort=&tool=I,Librarian&email=i.librarian.software@gmail.com"; $xml = proxy_simplexml_load_file($request_url, $proxy_name, $proxy_port, $proxy_username, $proxy_password); if (empty($xml)) { die('Error! I, Librarian could not connect with an external web service. This usually indicates that you access the Web through a proxy server. Enter your proxy details in Tools->Settings. Alternatively, the external service may be temporarily down. Try again later.'); } $count = $xml->Count; if ($count == 1) { $pmid = $xml->IdList->Id; } } if (!empty($pmid)) { //FETCH FROM PUBMED fetch_from_pubmed('', $pmid); if (isset($response['uid'])) { $response['uid'] = array_merge_recursive($_POST['uid'], $response['uid']); $response['uid'] = array_unique($response['uid']); } $_POST = array_replace_recursive($_POST, $response); } else { $error = "Error! Unique record not found in PubMed."; } if (empty($response['title'])) { $error = "Error! Unique record not found in PubMed."; } } if ($_POST['database'] == 'nasaads') { if (empty($nasa_id) && empty($doi)) { $lookfor_query = array();