1
This commit is contained in:
@@ -109,6 +109,58 @@ function getArticleMains($article_id)
|
||||
return $frag;
|
||||
}
|
||||
|
||||
function grabCiteFromCrossref($article_id,$act="zd"){
|
||||
$article_obj = Db::name("article_id");
|
||||
$article_cite_obj = Db::name("article_cite");
|
||||
$article_info = $article_obj->where("article_id",$article_id)->find();
|
||||
$cite_days = (time()-$article_info['cite_time'])/3600*24;
|
||||
if($act=="zd"&&$cite_days<7){
|
||||
return ;
|
||||
}
|
||||
$rr = pCrossrefCite($article_id);
|
||||
foreach ($rr as $v){
|
||||
$c = $article_cite_obj->where("doi",$v['doi'])->find();
|
||||
if($c){continue;}
|
||||
$articleEntity['article_id'] = $article_id;
|
||||
$articleEntity['journal_id'] = $article_info['journal_id'];
|
||||
$articleEntity['doi'] = $v['doi'];
|
||||
$articleEntity['journal_name'] = $v['journal_title'];
|
||||
$articleEntity['article_name'] = $v['article_title'];
|
||||
$articleEntity['ctime'] = time();
|
||||
$articleEntity['state'] = 1;
|
||||
$article_cite_obj->insert($articleEntity);
|
||||
}
|
||||
$article_obj->where("article_id",$article_id)->update(['cite_time'=>time()]);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function pCrossrefCite($article_id){
|
||||
$article_obj = Db::name("article_id");
|
||||
$article_info = $article_obj->where("article_id",$article_id)->find();
|
||||
$get_url = "https://doi.crossref.org/servlet/getForwardLinks";
|
||||
$get_data["usr"] = "books@tmrjournals.com/tmrp";
|
||||
$get_data["pwd"] = "849192806pnX";
|
||||
$get_data["doi"] = $article_info['doi'];
|
||||
$r = xml_to_array(myGet($get_url,$get_data));
|
||||
$re = isset($r['crossref_result']['query_result']["body"]['forward_link'])?$r['crossref_result']['query_result']["body"]['forward_link']:null;
|
||||
if($re==null){
|
||||
return jsonSuccess(null);
|
||||
}
|
||||
$rr = [];
|
||||
if(isset($re['journal_cite'])){
|
||||
$rr[] = $re['journal_cite'];
|
||||
}else{
|
||||
foreach ($re as $k){
|
||||
$rr[] = $k['journal_cite'];
|
||||
}
|
||||
}
|
||||
return $rr;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function hasHtml($article_id){
|
||||
$article_main_obj = Db::name("article_main");
|
||||
$list = $article_main_obj->where('article_id', $article_id)->where('state', 0)->where('is_add', 0)->find();
|
||||
|
||||
Reference in New Issue
Block a user