1
This commit is contained in:
@@ -184,7 +184,22 @@ class Typeset extends Controller
|
|||||||
if(!$rule->check($data)){
|
if(!$rule->check($data)){
|
||||||
return jsonError($rule->getError());
|
return jsonError($rule->getError());
|
||||||
}
|
}
|
||||||
$this->ts_refer_obj->where('ts_refer_id',$data['ts_refer_id'])->update(['refer_frag'=>$data['refer_frag']]);
|
$this->ts_refer_obj->where('ts_refer_id',$data['ts_refer_id'])->update(['refer_frag'=>$data['refer_frag'],'cs'=>1]);
|
||||||
|
return jsonSuccess([]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 改成可修改状态
|
||||||
|
*/
|
||||||
|
public function beginEdit(){
|
||||||
|
$data = $this->request->post();
|
||||||
|
$rule = new Validate([
|
||||||
|
'ts_refer_id'=>'require'
|
||||||
|
]);
|
||||||
|
if(!$rule->check($data)){
|
||||||
|
return jsonError($rule->getError());
|
||||||
|
}
|
||||||
|
$this->ts_refer_obj->where('ts_refer_id',$data['ts_refer_id'])->update(['cs'=>0]);
|
||||||
return jsonSuccess([]);
|
return jsonSuccess([]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -209,17 +224,17 @@ class Typeset extends Controller
|
|||||||
/**
|
/**
|
||||||
* 参考文献识别doi
|
* 参考文献识别doi
|
||||||
*/
|
*/
|
||||||
public function referToDoi()
|
public function referToDoi($article_id)
|
||||||
{
|
{
|
||||||
$data = $this->request->post();
|
// $data = $this->request->post();
|
||||||
// 验证规则
|
// // 验证规则
|
||||||
$rule = new Validate([
|
// $rule = new Validate([
|
||||||
'article_id' => 'require|number'
|
// 'article_id' => 'require|number'
|
||||||
]);
|
// ]);
|
||||||
if (!$rule->check($data)) {
|
// if (!$rule->check($data)) {
|
||||||
return jsonError($rule->getError());
|
// return jsonError($rule->getError());
|
||||||
}
|
// }
|
||||||
$ts_info = $this->ts_obj->where('article_id', $data['article_id'])->where('ts_state',0)->find();
|
$ts_info = $this->ts_obj->where('article_id', $article_id)->where('ts_state',0)->find();
|
||||||
$refers = $this->ts_refer_obj->where('ts_id', $ts_info['ts_id'])->where('refer_state', 0)->select();
|
$refers = $this->ts_refer_obj->where('ts_id', $ts_info['ts_id'])->where('refer_state', 0)->select();
|
||||||
foreach ($refers as $v) { //处理doi
|
foreach ($refers as $v) { //处理doi
|
||||||
if (strpos($v['refer_content'], 'doi:') == false && strpos($v['refer_content'], 'doi.org/') == false) {
|
if (strpos($v['refer_content'], 'doi:') == false && strpos($v['refer_content'], 'doi.org/') == false) {
|
||||||
@@ -249,20 +264,20 @@ class Typeset extends Controller
|
|||||||
/**
|
/**
|
||||||
* doi获取格式化的参考文献信息
|
* doi获取格式化的参考文献信息
|
||||||
*/
|
*/
|
||||||
public function doiTofrag()
|
public function doiTofrag($article_id)
|
||||||
{
|
{
|
||||||
$data = $this->request->post();
|
// $data = $this->request->post();
|
||||||
// 验证规则
|
// // 验证规则
|
||||||
$rule = new Validate([
|
// $rule = new Validate([
|
||||||
'article_id' => 'require|number'
|
// 'article_id' => 'require|number'
|
||||||
]);
|
// ]);
|
||||||
if (!$rule->check($data)) {
|
// if (!$rule->check($data)) {
|
||||||
return jsonError($rule->getError());
|
// return jsonError($rule->getError());
|
||||||
}
|
// }
|
||||||
$ts_info = $this->ts_obj->where('article_id', $data['article_id'])->where('ts_state',0)->find();
|
$ts_info = $this->ts_obj->where('article_id', $article_id)->where('ts_state',0)->find();
|
||||||
$refers = $this->ts_refer_obj->where('ts_id', $ts_info['ts_id'])->where('refer_state', 0)->select();
|
$refers = $this->ts_refer_obj->where('ts_id', $ts_info['ts_id'])->where('refer_state', 0)->select();
|
||||||
//清空frag,百分比用,重新生成
|
//清空frag,百分比用,重新生成
|
||||||
$this->ts_refer_obj->where('ts_id', $ts_info['ts_id'])->where('refer_doi', '<>', '')->update(['refer_frag' => '']);
|
// $this->ts_refer_obj->where('ts_id', $ts_info['ts_id'])->where('refer_doi', '<>', '')->update(['refer_frag' => '']);
|
||||||
foreach ($refers as $v) {
|
foreach ($refers as $v) {
|
||||||
if($v['refer_doi']==''){
|
if($v['refer_doi']==''){
|
||||||
$this->ts_refer_obj->where('ts_refer_id',$v['ts_refer_id'])->update(['refer_frag'=>$v['refer_content']]);
|
$this->ts_refer_obj->where('ts_refer_id',$v['ts_refer_id'])->update(['refer_frag'=>$v['refer_content']]);
|
||||||
@@ -274,6 +289,36 @@ class Typeset extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证参考文献是否全部通过
|
||||||
|
*/
|
||||||
|
public function checkRefer(){
|
||||||
|
$data = $this->request->post();
|
||||||
|
$rule = new Validate([
|
||||||
|
'ts_id'=>'require'
|
||||||
|
]);
|
||||||
|
if(!$rule->check($data)){
|
||||||
|
return jsonError($rule->getError());
|
||||||
|
}
|
||||||
|
$list = $this->ts_refer_obj->where('ts_id',$data['ts_id'])->where('refer_state',0)->select();
|
||||||
|
if(!$list){
|
||||||
|
return jsonError('references error');
|
||||||
|
}
|
||||||
|
$frag = 1;
|
||||||
|
foreach($list as $v){
|
||||||
|
if($v['cs']==0){
|
||||||
|
$frag = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if($frag==0){
|
||||||
|
return jsonError('references check error');
|
||||||
|
}else{
|
||||||
|
return jsonSuccess([]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public function getFragBF()
|
public function getFragBF()
|
||||||
{
|
{
|
||||||
$data = $this->request->post();
|
$data = $this->request->post();
|
||||||
@@ -428,7 +473,6 @@ class Typeset extends Controller
|
|||||||
'acknowledgment' => 'require',
|
'acknowledgment' => 'require',
|
||||||
'abbreviation' => 'require',
|
'abbreviation' => 'require',
|
||||||
'ts_doi' => 'require',
|
'ts_doi' => 'require',
|
||||||
'trdition' => 'require',
|
|
||||||
'ts_topic' => 'require',
|
'ts_topic' => 'require',
|
||||||
'ts_main' => 'require'
|
'ts_main' => 'require'
|
||||||
]);
|
]);
|
||||||
@@ -572,7 +616,8 @@ class Typeset extends Controller
|
|||||||
$cache_insert['refer_ctime'] = time();
|
$cache_insert['refer_ctime'] = time();
|
||||||
$insert_all[] = $cache_insert;
|
$insert_all[] = $cache_insert;
|
||||||
}
|
}
|
||||||
$res_refer = $this->ts_refer_obj->insertAll($insert_all);
|
//暂时撤掉自动存储引用文献
|
||||||
|
// $res_refer = $this->ts_refer_obj->insertAll($insert_all);
|
||||||
}
|
}
|
||||||
if ($ts_id && $res_refer) {
|
if ($ts_id && $res_refer) {
|
||||||
Db::commit();
|
Db::commit();
|
||||||
@@ -652,6 +697,9 @@ class Typeset extends Controller
|
|||||||
$this->ts_refer_obj->insert($cache_insert);
|
$this->ts_refer_obj->insert($cache_insert);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->referToDoi($data['article_id']);
|
||||||
|
$this->doiTofrag($data['article_id']);
|
||||||
|
return jsonSuccess([]);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function authorFormate($article_id)
|
private function authorFormate($article_id)
|
||||||
|
|||||||
@@ -241,8 +241,16 @@ function my_doiToFrag($data){
|
|||||||
$url = "https://citation.crosscite.org/format?doi=$doi&style=american-veterinary-medical-association&lang=en-US";
|
$url = "https://citation.crosscite.org/format?doi=$doi&style=american-veterinary-medical-association&lang=en-US";
|
||||||
$res = myGet($url);
|
$res = myGet($url);
|
||||||
$frag = trim(substr($res,strpos($res,'.')+1));
|
$frag = trim(substr($res,strpos($res,'.')+1));
|
||||||
$frag1 = $frag==""?"none":$frag;
|
$f = '';
|
||||||
$ts_refer_obj->where('ts_refer_id',$data['ts_refer_id'])->update(['refer_frag'=>$frag1]);
|
$cs = 0;
|
||||||
|
if($frag==""){
|
||||||
|
$f = $data['refer_content'];
|
||||||
|
}else{
|
||||||
|
$c_frag = rtrim($frag,'.');
|
||||||
|
$f = substr_replace($c_frag,PHP_EOL,strripos($c_frag,"http"),0);
|
||||||
|
$cs = 1;
|
||||||
|
}
|
||||||
|
$ts_refer_obj->where('ts_refer_id',$data['ts_refer_id'])->update(['refer_frag'=>$f,"cs"=>$cs]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user