20201112
This commit is contained in:
@@ -800,9 +800,9 @@ class Article extends Controller {
|
||||
$inset_data['user_id'] = $user_res['user_id'];
|
||||
$inset_data['journal_id'] = $data['journal'];
|
||||
$inset_data['editor_id'] = $journal_info['editor_id'];
|
||||
$inset_data['title'] = $data['title'];
|
||||
$inset_data['title'] = trim($data['title']);
|
||||
$inset_data['keywords'] = $data['keyWords'];
|
||||
$inset_data['fund'] = $data['fund'];
|
||||
$inset_data['fund'] = trim($data['fund']);
|
||||
$inset_data['accept_sn'] = getArticleSN($journal_info['abbr'],$data['type']);
|
||||
$inset_data['type'] = $data['type'];
|
||||
$inset_data['major_id'] = $data['major'];
|
||||
@@ -820,14 +820,15 @@ class Article extends Controller {
|
||||
continue;
|
||||
}
|
||||
$i['article_id'] = $res;
|
||||
$i['firstname'] = $v['firstname'];
|
||||
$i['lastname'] = $v['lastname'];
|
||||
$i['company'] = $v['company'];
|
||||
$i['department'] = $v['department'];
|
||||
$i['firstname'] = trim($v['firstname']);
|
||||
$i['lastname'] = trim($v['lastname']);
|
||||
$i['orcid'] = trim($v['orcid']);
|
||||
$i['company'] = trim($v['company']);
|
||||
$i['department'] = trim($v['department']);
|
||||
$i['author_title'] = $v['title'];
|
||||
$i['country'] = $v['country'];
|
||||
$i['email'] = $v['email'];
|
||||
$i['address'] = $v['address'];
|
||||
$i['email'] = trim($v['email']);
|
||||
$i['address'] = trim($v['address']);
|
||||
$i['is_super'] = $v['isSuper'] == 'true' ? 1 : 0;
|
||||
$i['is_report'] = $v['isReport'] == 'true'?1:0;
|
||||
$authors[] = $i;
|
||||
|
||||
@@ -57,7 +57,6 @@ class User extends Controller {
|
||||
// $where['account'] = $data['username'];
|
||||
// $where['password'] = md5($data['password']);
|
||||
// $user_info = $this->user_obj->where($where)->find();
|
||||
|
||||
$user_info = $this->user_obj
|
||||
->where('account|email', $data['username'])
|
||||
->where('password', md5($data['password']))
|
||||
@@ -73,6 +72,16 @@ class User extends Controller {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取orcid
|
||||
*/
|
||||
public function checkOrcid() {
|
||||
$data = $this->request->post();
|
||||
$account = $data['account'];
|
||||
$user = $this->user_obj->where('account', $account)->find();
|
||||
return json(['code' => 0, 'userinfo' => $user]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据account获取用户信息
|
||||
*/
|
||||
@@ -96,7 +105,7 @@ class User extends Controller {
|
||||
*/
|
||||
public function register() {
|
||||
$data = $this->request->post();
|
||||
//检测是否用户名和密码已经占用
|
||||
//检测是否用户名和邮箱已经占用
|
||||
$account = $data['username'];
|
||||
$email = $data['email'];
|
||||
$res_once = $this->user_obj->where("account='$account' or email = '$email'")->find();
|
||||
@@ -248,6 +257,7 @@ class User extends Controller {
|
||||
$mbcode = authcode($code);
|
||||
return $nowcode == $mbcode ? true : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取审稿人列表
|
||||
*/
|
||||
@@ -272,6 +282,7 @@ class User extends Controller {
|
||||
return json(['code' => 1]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取审核员申请列表
|
||||
*/
|
||||
@@ -290,6 +301,7 @@ class User extends Controller {
|
||||
$count = $this->user_reviewer_obj->where($where)->count();
|
||||
return json(['total' => $count, 'data' => $res]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取申请详情
|
||||
*/
|
||||
@@ -373,6 +385,7 @@ class User extends Controller {
|
||||
return json(['code' => 1]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户消息
|
||||
*/
|
||||
@@ -429,6 +442,7 @@ class User extends Controller {
|
||||
|
||||
return json(['code' => 0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取专业列表
|
||||
*/
|
||||
@@ -438,18 +452,209 @@ class User extends Controller {
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试发邮件
|
||||
* orcid登陆
|
||||
*/
|
||||
public function test_email() {
|
||||
$email = '751475802@qq.com';
|
||||
$title = 'Dear ' . '王金磊';
|
||||
$tt = config('email_hello');
|
||||
$content = $tt . '<p>Username:wangjinlei<br>Password:29698073</p>';
|
||||
$res = sendEmail($email, $title, 'TMR', $content,);
|
||||
public function OrcidLogin() {
|
||||
$data = $this->request->post();
|
||||
$url = 'https://orcid.org/oauth/token';
|
||||
$param['client_id'] = "APP-PKF0BGRP6DWM6FUB";
|
||||
$param['client_secret'] = "755a0e59-9282-44d0-afb4-ef9771942bab";
|
||||
$param['grant_type'] = "authorization_code";
|
||||
$param['code'] = $data['code'];
|
||||
$param['redirect_uri'] = "https://submission.tmrjournals.com/orcidLink";
|
||||
$res = $this->myUrl($url, $param);
|
||||
$r = json_decode($res);
|
||||
//确定用户是否存在
|
||||
$user = $this->user_obj->where('orcid', $r->orcid)->find();
|
||||
if ($user == null) {
|
||||
Cache::set($r->orcid, $res, 3600);
|
||||
}
|
||||
$re['user'] = $user;
|
||||
$re['orcid'] = $r->orcid;
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
/**
|
||||
* 登陆后绑定orcid账号
|
||||
*/
|
||||
public function OrcidBinding(){
|
||||
$data = $this->request->post();
|
||||
$url = 'https://orcid.org/oauth/token';
|
||||
$param['client_id'] = "APP-PKF0BGRP6DWM6FUB";
|
||||
$param['client_secret'] = "755a0e59-9282-44d0-afb4-ef9771942bab";
|
||||
$param['grant_type'] = "authorization_code";
|
||||
$param['code'] = $data['code'];
|
||||
$param['redirect_uri'] = "https://submission.tmrjournals.com/orcidBind";
|
||||
$res = $this->myUrl($url, $param);
|
||||
$r = json_decode($res);
|
||||
|
||||
|
||||
$update['orcid'] = $r->orcid;
|
||||
$update['orcid_code'] = $res;
|
||||
|
||||
$this->user_obj->where('account',$data['account'])->update($update);
|
||||
return jsonSuccess([]);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 绑定orcid到系统内的用户
|
||||
*/
|
||||
public function orcidBind() {
|
||||
$data = $this->request->post();
|
||||
//确定系统内部有此账户
|
||||
$serch['account'] = trim($data['username']);
|
||||
$serch['password'] = md5($data['password']);
|
||||
$user_info = $this->user_obj->where($serch)->find();
|
||||
if ($user_info == null) {
|
||||
return jsonError('The account does not exist or the password is wrong!');
|
||||
}
|
||||
$cache = Cache::get($data['orcid']);
|
||||
if (!$cache) {
|
||||
return jsonError('To complete the operation within one hour after verification, you have timed out');
|
||||
}
|
||||
$orcid_obj = $this->object2array(json_decode($cache));
|
||||
$update['orcid'] = $orcid_obj['orcid'];
|
||||
$update['orcid_code'] = $cache;
|
||||
$this->user_obj->where('user_id', $user_info['user_id'])->update($update);
|
||||
$new_info = $this->user_obj->where('user_id', $user_info['user_id'])->find();
|
||||
|
||||
$re['user'] = $new_info;
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册绑定orcid至我们的账户
|
||||
*/
|
||||
public function orcidRegister() {
|
||||
$data = $this->request->post();
|
||||
$cache = Cache::get($data['orcid']);
|
||||
$res = $this->object2array(json_decode($cache));
|
||||
$insert['account'] = trim($data['username']);
|
||||
$insert['password'] = md5($data['password']);
|
||||
$insert['realname'] = trim($data['name']);
|
||||
$insert['phone'] = trim($data['phone']);
|
||||
$insert['email'] = trim($data['email']);
|
||||
$insert['orcid'] = $res['orcid'];
|
||||
$insert['orcid_code'] = $cache;
|
||||
$insert['ctime'] = time();
|
||||
$id = $this->user_obj->insertGetId($insert);
|
||||
$user_info = $this->user_obj->where('user_id', $id)->find();
|
||||
|
||||
$re['user'] = $user_info;
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户为了绑定orcid
|
||||
*/
|
||||
// public function getUserForOrcid(){
|
||||
// $data = $this->request->post();
|
||||
// $url = 'https://orcid.org/oauth/token';
|
||||
// $param['client_id'] = "APP-PKF0BGRP6DWM6FUB";
|
||||
// $param['client_secret'] = "755a0e59-9282-44d0-afb4-ef9771942bab";
|
||||
// $param['grant_type'] = "authorization_code";
|
||||
// $param['code'] = $data['code'];
|
||||
// $param['redirect_uri'] = "https://www.tmrjournals.com";
|
||||
// $res = $this->myUrl($url, $param);
|
||||
// $res1 = json_decode($res);
|
||||
// $orcidID = $res1->orcid;
|
||||
// $update['orcid'] = $orcidID;
|
||||
// $update['orcid_code'] = $res;
|
||||
// $this->user_obj->where('account',$data['account'])->update($update);
|
||||
// return json(['code' => 0]);
|
||||
// }
|
||||
|
||||
/**
|
||||
* 授权码转化成令牌,并存贮
|
||||
* object(stdClass)#31 (7) {
|
||||
["access_token"]=>
|
||||
string(36) "28924261-b2a9-4ed0-952c-e2647843d1ba"
|
||||
["token_type"]=>
|
||||
string(6) "bearer"
|
||||
["refresh_token"]=>
|
||||
string(36) "ef66ffc7-1004-4d10-abe4-bdede248af47"
|
||||
["expires_in"]=>
|
||||
int(631138518)
|
||||
["scope"]=>
|
||||
string(13) "/authenticate"
|
||||
["name"]=>
|
||||
string(8) "Nuoxi Pi"
|
||||
["orcid"]=>
|
||||
string(19) "0000-0003-3278-0964"
|
||||
}
|
||||
*/
|
||||
public function sq_to_lp(){
|
||||
$url = 'https://orcid.org/oauth/token';
|
||||
$param['client_id'] = "APP-PKF0BGRP6DWM6FUB";
|
||||
$param['client_secret'] = "755a0e59-9282-44d0-afb4-ef9771942bab";
|
||||
$param['grant_type'] = "authorization_code";
|
||||
$param['code'] = "7wv2wR";
|
||||
$param['redirect_uri'] = "https://www.tmrjournals.com";
|
||||
$res = $this->myUrl($url, $param);
|
||||
$r = json_decode($res);
|
||||
echo $r->orcid;
|
||||
}
|
||||
|
||||
|
||||
private function myUrl($url, $param) {
|
||||
$header = array('Accept: application/json', 'Content-type:application/x-www-form-urlencoded');
|
||||
$pp = http_build_query($param);
|
||||
$httph = curl_init($url);
|
||||
curl_setopt($httph, CURLOPT_AUTOREFERER, true);
|
||||
curl_setopt($httph, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($httph, CURLOPT_SSL_VERIFYHOST, false);
|
||||
curl_setopt($httph, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($httph, CURLOPT_POST, true); //设置为POST方式
|
||||
curl_setopt($httph, CURLOPT_POSTFIELDS, $pp);
|
||||
curl_setopt($httph, CURLOPT_HTTPHEADER, $header);
|
||||
|
||||
$rst = curl_exec($httph);
|
||||
curl_close($httph);
|
||||
|
||||
return $rst;
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目转数组
|
||||
*/
|
||||
private function object2array($object) {
|
||||
if (is_object($object)) {
|
||||
foreach ($object as $key => $value) {
|
||||
$array[$key] = $value;
|
||||
}
|
||||
} else {
|
||||
$array = $object;
|
||||
}
|
||||
return $array;
|
||||
}
|
||||
|
||||
/**
|
||||
* curl -i -H "Accept: application/vnd.orcid+xml" -H 'Authorization: Bearer dd91868d-d29a-475e-9acb-bd3fdf2f43f4' 'https://api.sandbox.orcid.org/v2.1/0000-0002-9227-8514/education/22423'
|
||||
*/
|
||||
public function geturl() {
|
||||
// $url = "https://api.orcid.org/v3.0/0000-0003-3278-0964/record";
|
||||
$url = "https://pub.orcid.org/v3.0/expanded-search/?q=0000-0003-3440-7901";
|
||||
$headerArray = array("Content-type: application/vnd.orcid+json", "Authorization: Bearer 28924261-b2a9-4ed0-952c-e2647843d1ba");
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headerArray);
|
||||
$output = curl_exec($ch);
|
||||
$err = curl_error($ch);
|
||||
curl_close($ch);
|
||||
$output = json_decode($output, true);
|
||||
echo '<pre>';
|
||||
var_dump($res);
|
||||
var_dump($output);
|
||||
echo '</pre>';
|
||||
echo '<pre>';
|
||||
var_dump($err);
|
||||
echo '</pre>';
|
||||
die;
|
||||
die;
|
||||
// return $output;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user