1
This commit is contained in:
@@ -44,6 +44,17 @@ class Article extends Controller {
|
||||
$this->article_main_obj = Db::name('article_main');
|
||||
}
|
||||
|
||||
|
||||
public function mmmttt(){
|
||||
$data = $this->request->post();
|
||||
$get_url = "https://doi.crossref.org/servlet/getForwardLinks";
|
||||
$get_data["usr"] = "books@tmrjournals.com/tmrp";
|
||||
$get_data["pwd"] = "849192806pnX";
|
||||
$get_data["doi"] = $data["doi"];
|
||||
$r = xml_to_array(myGet($get_url,$get_data));
|
||||
return jsonSuccess($r);
|
||||
}
|
||||
|
||||
/**
|
||||
* @title 获取文章详情
|
||||
* @description 获取文章详情
|
||||
@@ -88,39 +99,11 @@ class Article extends Controller {
|
||||
} else {
|
||||
$cite = $article_info['abbr'] . '. ' . $article_info['title'] . '. <i>' . choiseJabbr($article_info['article_id'], $journal_info['jabbr']) . '</i>. ' . $stage_info['stage_year'] . ';' . $stage_info['stage_vol'] . $no . $article_info['npp'] . '. doi:' . $article_info['doi'];
|
||||
}
|
||||
|
||||
// //获取html
|
||||
// if($article_info['file_html']==''){
|
||||
// $caches = $this->article_main_obj->where('article_id',$article_info['article_id'])->where('state',0)->select();
|
||||
// if($caches){
|
||||
// $article_info['file_html'] = $caches;
|
||||
// }
|
||||
// }
|
||||
|
||||
if (stripos($article_info['npp'], '-')) {
|
||||
$cc = explode('-', $article_info['npp']);
|
||||
$article_info['first_page'] = $cc[0];
|
||||
$article_info['last_page'] = $cc[1];
|
||||
}
|
||||
|
||||
//添加orDoi
|
||||
// if($article_info['journal_id']==1&&$article_info['article_id']<1540){
|
||||
// $article_info['ordoi'] = str_replace("10.53388", "10.12032", $article_info['doi']);
|
||||
// }elseif($article_info['journal_id']==14&&$article_info['article_id']<1540){
|
||||
// $article_info['ordoi'] = str_replace("10.53388", "10.12032", $article_info['doi']);
|
||||
// }elseif($article_info['journal_id']==17&&$article_info['article_id']>=735&&$article_info['article_id']<=1534){
|
||||
// $article_info['ordoi'] = str_replace("10.53388", "10.12032", $article_info['doi']);
|
||||
// }elseif($article_info['journal_id']==8&&$article_info['article_id']>=591&&$article_info['article_id']<=1535){
|
||||
// $article_info['ordoi'] = str_replace("10.53388", "10.12032", $article_info['doi']);
|
||||
// }elseif($article_info['journal_id']==13&&$article_info['article_id']>=256&&$article_info['article_id']<=1486){
|
||||
// $article_info['ordoi'] = str_replace("10.53388", "10.12032", $article_info['doi']);
|
||||
// }elseif($article_info['journal_id']==4&&$article_info['article_id']>=872&&$article_info['article_id']<=1508){
|
||||
// $article_info['ordoi'] = str_replace("10.53388", "10.12032", $article_info['doi']);
|
||||
// }elseif($article_info['journal_id']==24&&($article_info['journal_stage_id']==242||$article_info['journal_stage_id']==251)){
|
||||
// $article_info['ordoi'] = str_replace("10.53388", "10.12032", $article_info['doi']);
|
||||
// }else{
|
||||
// $article_info['ordoi'] = '';
|
||||
// }
|
||||
if($article_info['journal_id']==1&&$article_info['article_id']<1540){
|
||||
$article_info['ordoi'] = str_replace("10.53388", "10.12032", $article_info['doi']);
|
||||
}elseif($article_info['journal_id']==14&&$article_info['article_id']<1540){
|
||||
@@ -138,15 +121,18 @@ class Article extends Controller {
|
||||
}else{
|
||||
$article_info['ordoi'] = '';
|
||||
}
|
||||
|
||||
|
||||
$article_info['publication'] = date('Y/m/d', strtotime($article_info['pub_date']));
|
||||
|
||||
//修改keywords
|
||||
$article_info['keywords'] = str_replace(',', ' ', $article_info['keywords']);
|
||||
|
||||
//更改适应期刊改名后的期刊名称
|
||||
$journal_info['title'] = choiseti1($article_info['article_id'],$journal_info['title']);
|
||||
//获取文章引用信息
|
||||
$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['crossref_cite'] = isset($r['crossref_result']['query_result']["body"]['forward_link'])?$r['crossref_result']['query_result']["body"]['forward_link']:null;
|
||||
//返回数据
|
||||
$re['articleInfo'] = $article_info;
|
||||
$re['journalInfo'] = $journal_info;
|
||||
@@ -167,8 +153,8 @@ class Article extends Controller {
|
||||
}else{
|
||||
$stack = [];
|
||||
}
|
||||
|
||||
$re["track"] = $stack;
|
||||
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
use PHPMailer\PHPMailer\PHPMailer;
|
||||
use think\Db;
|
||||
use think\Env;
|
||||
|
||||
//use TCPDF;
|
||||
|
||||
// +----------------------------------------------------------------------
|
||||
@@ -15,7 +16,8 @@ use think\Env;
|
||||
// | Author: 流年 <liu21st@gmail.com>
|
||||
// +----------------------------------------------------------------------
|
||||
// 应用公共文件
|
||||
function authcode($str) {
|
||||
function authcode($str)
|
||||
{
|
||||
$key = substr(md5('ThinkPHP.CN'), 5, 8);
|
||||
$str1 = substr(md5($str), 8, 10);
|
||||
return md5($key . $str1);
|
||||
@@ -27,7 +29,8 @@ function authcode($str) {
|
||||
* @param object $obj 对象
|
||||
* @return array
|
||||
*/
|
||||
function object_to_array($obj) {
|
||||
function object_to_array($obj)
|
||||
{
|
||||
$obj = (array)$obj;
|
||||
foreach ($obj as $k => $v) {
|
||||
if (gettype($v) == 'resource') {
|
||||
@@ -40,7 +43,8 @@ function object_to_array($obj) {
|
||||
return $obj;
|
||||
}
|
||||
|
||||
function choiseJabbr($article_id,$jabbr){
|
||||
function choiseJabbr($article_id, $jabbr)
|
||||
{
|
||||
if ($article_id < 1799 && $jabbr == "Cancer Adv") {
|
||||
return "TMR Cancer";
|
||||
}
|
||||
@@ -84,7 +88,8 @@ function choiseJabbr($article_id,$jabbr){
|
||||
return $jabbr;
|
||||
}
|
||||
|
||||
function getArticleMains($article_id){
|
||||
function getArticleMains($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)->select();
|
||||
$frag = [];
|
||||
@@ -104,7 +109,8 @@ function getArticleMains($article_id){
|
||||
return $frag;
|
||||
}
|
||||
|
||||
function getArticleRefers($article_id){
|
||||
function getArticleRefers($article_id)
|
||||
{
|
||||
$article_obj = Db::name("article");
|
||||
$article_info = $article_obj->where('article_id', $article_id)->find();
|
||||
$url = "http://api.tmrjournals.com/public/index.php/api/Web/getRefers";
|
||||
@@ -116,7 +122,8 @@ function getArticleRefers($article_id){
|
||||
return $refers;
|
||||
}
|
||||
|
||||
function getArticleTracks($doi){
|
||||
function getArticleTracks($doi)
|
||||
{
|
||||
$url = "http://api.tmrjournals.com/public/index.php/api/Web/getStackByDoi";
|
||||
$program["doi"] = $doi;
|
||||
$res = object_to_array(json_decode(myPost($url, $program)));
|
||||
@@ -127,14 +134,16 @@ function getArticleTracks($doi){
|
||||
}
|
||||
}
|
||||
|
||||
function choiseJtitle($list){
|
||||
function choiseJtitle($list)
|
||||
{
|
||||
foreach ($list as $k => $v) {
|
||||
$list[$k]['journal_title'] = choiseti($v);
|
||||
}
|
||||
return $list;
|
||||
}
|
||||
|
||||
function choiseti($v){
|
||||
function choiseti($v)
|
||||
{
|
||||
if ($v['article_id'] < 1799 && $v['journal_title'] == "Cancer Advances") {
|
||||
return "TMR Cancer";
|
||||
}
|
||||
@@ -177,7 +186,8 @@ function choiseti($v){
|
||||
return $v['journal_title'];
|
||||
}
|
||||
|
||||
function choiseti1($article_id,$journal_title){
|
||||
function choiseti1($article_id, $journal_title)
|
||||
{
|
||||
if ($article_id < 1799 && $journal_title == "Cancer Advances") {
|
||||
return "TMR Cancer";
|
||||
}
|
||||
@@ -232,7 +242,8 @@ function choiseti1($article_id,$journal_title){
|
||||
* @param $attachmentFile 附件 (string | array)
|
||||
* @return array
|
||||
*/
|
||||
function sendEmail($email = '', $title = '', $from_name = '', $content = '', $memail = '', $mpassword = '', $attachmentFile = '') {
|
||||
function sendEmail($email = '', $title = '', $from_name = '', $content = '', $memail = '', $mpassword = '', $attachmentFile = '')
|
||||
{
|
||||
date_default_timezone_set('PRC');
|
||||
//Create a new PHPMailer instance
|
||||
$mail = new PHPMailer;
|
||||
@@ -283,8 +294,7 @@ function sendEmail($email = '', $title = '', $from_name = '', $content = '', $me
|
||||
//send the message, check for errors
|
||||
if (!$mail->send()) {
|
||||
$status = 0;
|
||||
$data = "邮件发送失败" . $mail->ErrorInfo;
|
||||
;
|
||||
$data = "邮件发送失败" . $mail->ErrorInfo;;
|
||||
} else {
|
||||
$status = 1;
|
||||
$data = "邮件发送成功";
|
||||
@@ -292,7 +302,8 @@ function sendEmail($email = '', $title = '', $from_name = '', $content = '', $me
|
||||
return ['status' => $status, 'data' => $data]; //返回值(可选)
|
||||
}
|
||||
|
||||
function sendEmail_data($email = '', $title = '', $from_name = '', $content = '', $memail = '', $mpassword = '', $attachmentFile = '') {
|
||||
function sendEmail_data($email = '', $title = '', $from_name = '', $content = '', $memail = '', $mpassword = '', $attachmentFile = '')
|
||||
{
|
||||
ini_set('memory_limit', '3200M');
|
||||
date_default_timezone_set('PRC');
|
||||
//Create a new PHPMailer instance
|
||||
@@ -344,8 +355,7 @@ function sendEmail_data($email = '', $title = '', $from_name = '', $content = ''
|
||||
//send the message, check for errors
|
||||
if (!$mail->send()) {
|
||||
$status = 0;
|
||||
$data = "邮件发送失败" . $mail->ErrorInfo;
|
||||
;
|
||||
$data = "邮件发送失败" . $mail->ErrorInfo;;
|
||||
} else {
|
||||
$status = 1;
|
||||
$data = "邮件发送成功";
|
||||
@@ -353,7 +363,8 @@ function sendEmail_data($email = '', $title = '', $from_name = '', $content = ''
|
||||
return ['status' => $status, 'data' => $data]; //返回值(可选)
|
||||
}
|
||||
|
||||
function sendEmail1($email = '', $title = '', $from_name = '', $content = '', $memail = '', $mpassword = '', $attachmentFile = '') {
|
||||
function sendEmail1($email = '', $title = '', $from_name = '', $content = '', $memail = '', $mpassword = '', $attachmentFile = '')
|
||||
{
|
||||
date_default_timezone_set('PRC');
|
||||
//Create a new PHPMailer instance
|
||||
$mail = new PHPMailer;
|
||||
@@ -413,7 +424,8 @@ function sendEmail1($email = '', $title = '', $from_name = '', $content = '', $m
|
||||
return ['status' => $status, 'data' => $data]; //返回值(可选)
|
||||
}
|
||||
|
||||
function aliemail($email,$title,$content){
|
||||
function aliemail($email, $title, $content)
|
||||
{
|
||||
// file_put_contents('/usr/a.txt', $email,FILE_APPEND);
|
||||
vendor('aliemail.email');
|
||||
$mailto = $email;
|
||||
@@ -449,7 +461,8 @@ function aliemail($email,$title,$content){
|
||||
* 生成文章sn号
|
||||
* @return type
|
||||
*/
|
||||
function getArticleSN($abbr,$type) {
|
||||
function getArticleSN($abbr, $type)
|
||||
{
|
||||
$str = $abbr;
|
||||
$str .= date('Y', time()) . $type . date('md', time());
|
||||
$where['accept_sn'] = ['like', "$str%"];
|
||||
@@ -470,7 +483,8 @@ function getArticleSN($abbr,$type) {
|
||||
/**
|
||||
* 增加usermsg
|
||||
*/
|
||||
function add_usermsg($userid, $content, $url) {
|
||||
function add_usermsg($userid, $content, $url)
|
||||
{
|
||||
$msg_obj = Db::name('user_msg');
|
||||
$msg_info = $msg_obj->where('user_id', $userid)
|
||||
->where('url', $url)
|
||||
@@ -486,15 +500,18 @@ function add_usermsg($userid, $content, $url) {
|
||||
return $msg_obj->insert($msgdata);
|
||||
}
|
||||
|
||||
function jsonSuccess($data){
|
||||
function jsonSuccess($data)
|
||||
{
|
||||
return json(['code' => 0, 'msg' => 'success', 'data' => $data]);
|
||||
}
|
||||
|
||||
function jsonError($msg){
|
||||
function jsonError($msg)
|
||||
{
|
||||
return json(['code' => 1, 'msg' => $msg]);
|
||||
}
|
||||
|
||||
function myPost($url, $param=array()){
|
||||
function myPost($url, $param = array())
|
||||
{
|
||||
|
||||
if (!is_array($param)) {
|
||||
|
||||
@@ -528,7 +545,59 @@ function myPost($url, $param=array()){
|
||||
|
||||
}
|
||||
|
||||
function ORCIDPost($url, $param=array()){
|
||||
|
||||
function myGet($url,$params)
|
||||
{
|
||||
$query_string = http_build_query($params);
|
||||
$full_url = $url . '?' . $query_string;
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $full_url); // 设置请求URL
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 设置返回数据而不是直接输出
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 禁用SSL验证
|
||||
$response = curl_exec($ch);
|
||||
if (curl_errno($ch)) {
|
||||
echo 'Error:' . curl_error($ch);
|
||||
}
|
||||
curl_close($ch);
|
||||
return $response;
|
||||
}
|
||||
|
||||
function xml_to_array($xml)
|
||||
{
|
||||
$reg = "/<(\\w+)[^>]*?>([\\x00-\\xFF]*?)<\\/\\1>/";
|
||||
if(preg_match_all($reg, $xml, $matches))
|
||||
{
|
||||
$count = count($matches[0]);
|
||||
$arr = array();
|
||||
for($i = 0; $i < $count; $i++)
|
||||
{
|
||||
$key = $matches[1][$i];
|
||||
$val = xml_to_array( $matches[2][$i] ); // 递归
|
||||
if(array_key_exists($key, $arr))
|
||||
{
|
||||
if(is_array($arr[$key]))
|
||||
{
|
||||
if(!array_key_exists(0,$arr[$key]))
|
||||
{
|
||||
$arr[$key] = array($arr[$key]);
|
||||
}
|
||||
}else{
|
||||
$arr[$key] = array($arr[$key]);
|
||||
}
|
||||
$arr[$key][] = $val;
|
||||
}else{
|
||||
$arr[$key] = $val;
|
||||
}
|
||||
}
|
||||
return $arr;
|
||||
}else{
|
||||
return $xml;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function ORCIDPost($url, $param = array())
|
||||
{
|
||||
|
||||
if (!is_array($param)) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user