function biblio_pm_check_md5 in Bibliography Module 7.2
Same name and namespace in other branches
- 6.2 modules/pubmed/biblio_pm.module \biblio_pm_check_md5()
- 6 pubmed/biblio_pm.module \biblio_pm_check_md5()
- 7 modules/pubmed/biblio_pm.module \biblio_pm_check_md5()
1 call to biblio_pm_check_md5()
- _biblio_pm_create_node_from_xml in modules/
pubmed/ biblio_pm.module
File
- modules/
pubmed/ biblio_pm.module, line 336
Code
function biblio_pm_check_md5($pmid, $md5) {
static $pm_md5s = array();
static $pm_bids = array();
if (empty($pm_md5s)) {
$result = db_query("SELECT * FROM {biblio_pubmed} ");
foreach ($result as $row) {
$pm_md5s[$row->biblio_pubmed_md5] = $row->bid;
$pm_bids[$row->biblio_pubmed_id] = $row->bid;
}
}
if (isset($pm_bids[$pmid]) && isset($pm_md5s[$md5])) {
// must be an exact duplicate of an existing node (return the bid)
return $pm_md5s[$md5];
}
elseif (isset($pm_bids[$pmid]) && !isset($pm_md5s[$md5])) {
//pmid has been save previously but content must have changed (return negative bid)
return -$pm_bids[$pmid];
}
else {
$pm_md5s[$md5] = TRUE;
// gaurd against duplicates in the same import
$pm_bids[$pmid] = TRUE;
return;
}
}