497 lines
17 KiB
PHP
497 lines
17 KiB
PHP
<?php
|
||
|
||
use PHPMailer\PHPMailer\PHPMailer;
|
||
use think\Db;
|
||
use think\Env;
|
||
//use TCPDF;
|
||
|
||
// +----------------------------------------------------------------------
|
||
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
|
||
// +----------------------------------------------------------------------
|
||
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
|
||
// +----------------------------------------------------------------------
|
||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||
// +----------------------------------------------------------------------
|
||
// | Author: 流年 <liu21st@gmail.com>
|
||
// +----------------------------------------------------------------------
|
||
// 应用公共文件
|
||
function authcode($str) {
|
||
$key = substr(md5('ThinkPHP.CN'), 5, 8);
|
||
$str1 = substr(md5($str), 8, 10);
|
||
return md5($key . $str1);
|
||
}
|
||
|
||
/**
|
||
* 对象 转 数组
|
||
*
|
||
* @param object $obj 对象
|
||
* @return array
|
||
*/
|
||
function object_to_array($obj) {
|
||
$obj = (array)$obj;
|
||
foreach ($obj as $k => $v) {
|
||
if (gettype($v) == 'resource') {
|
||
return;
|
||
}
|
||
if (gettype($v) == 'object' || gettype($v) == 'array') {
|
||
$obj[$k] = (array)object_to_array($v);
|
||
}
|
||
}
|
||
return $obj;
|
||
}
|
||
|
||
function choiseJabbr($article_id,$jabbr){
|
||
if($article_id<1799&&$jabbr=="Cancer Adv"){
|
||
return "TMR Cancer";
|
||
}
|
||
if($article_id<910&&$jabbr=="Microenviron Microecol Res"){
|
||
return "Tumor Microenviron Res";
|
||
}
|
||
if($article_id<1799&&$jabbr=="Med Theor Hypothesis"){
|
||
return "TMR Theory Hypoth";
|
||
}
|
||
if($article_id<1821&&$jabbr=="Clin Res Commun"){
|
||
return "TMR Clin Res";
|
||
}
|
||
if($article_id<1665&&$jabbr=="Aging Commun"&&$article_id!=1612){
|
||
return "TMR Aging";
|
||
}
|
||
if($article_id<1869&&$jabbr=="Nurs Commun"){
|
||
return "TMR Integr Nurs";
|
||
}
|
||
if($article_id<1981&&$jabbr=="Toxicol Adv"){
|
||
return "Asian Toxicol Res";
|
||
}
|
||
if($article_id>=1981&&$article_id<2358&&$jabbr=='Toxicol Adv'){
|
||
return "Toxicol Commun";
|
||
}
|
||
if($article_id<2190&&$jabbr=="Food Health"){
|
||
return "Food Ther Health Care";
|
||
}
|
||
if($article_id<2520&&$jabbr=="Chin Quintessence Res"){
|
||
return "经典中医研究";
|
||
}
|
||
return $jabbr;
|
||
}
|
||
|
||
function choiseJtitle($list){
|
||
foreach ($list as $k => $v){
|
||
$list[$k]['journal_title'] = choiseti($v);
|
||
}
|
||
return $list;
|
||
}
|
||
|
||
function choiseti($v){
|
||
if($v['article_id']<1799&&$v['journal_title']=="Cancer Advances"){
|
||
return "TMR Cancer";
|
||
}
|
||
if($v['article_id']<910&&$v['journal_title']=="Microenvironment & Microecology Research"){
|
||
return "Tumor Microenvironment Research";
|
||
}
|
||
if($v['article_id']<1799&&$v['journal_title']=="Medical Theory and Hypothesis"){
|
||
return "TMR Theory and Hypothesis";
|
||
}
|
||
if($v['article_id']<1821&&$v['journal_title']=="Clinical Research Communications"){
|
||
return "TMR Clinical Research";
|
||
}
|
||
if($v['article_id']<1665&&$v['journal_title']=="Aging Communications"&&$v['article_id']!=1612){
|
||
return "TMR Aging";
|
||
}
|
||
if($v['article_id']<1869&&$v['journal_title']=="Nursing Communications"){
|
||
return "TMR Integrative Nursing";
|
||
}
|
||
if($v['article_id']<1981&&$v['journal_title']=="Toxicology Advances"){
|
||
return "Asian Toxicology Research";
|
||
}
|
||
if($v['article_id']>=1981&&$v['article_id']<2358&&$v['journal_title']=="Toxicology Advances"){
|
||
return "Toxicology Communications";
|
||
}
|
||
if($v['article_id']<2190&&$v['journal_title']=="Food and Health"){
|
||
return "Food Therapy and Health Care";
|
||
}
|
||
if($v['article_id']<2520&&$v['journal_title']=="Chin Quintessence Res"){
|
||
return "经典中医研究";
|
||
// return "CCMR";
|
||
}
|
||
return $v['journal_title'];
|
||
}
|
||
|
||
function choiseti1($article_id,$journal_title){
|
||
if($article_id<1799&&$journal_title=="Cancer Advances"){
|
||
return "TMR Cancer";
|
||
}
|
||
if($article_id<910&&$journal_title=="Microenvironment & Microecology Research"){
|
||
return "Tumor Microenvironment Research";
|
||
}
|
||
if($article_id<1799&&$journal_title=="Medical Theory and Hypothesis"){
|
||
return "TMR Theory and Hypothesis";
|
||
}
|
||
if($article_id<1821&&$journal_title=="Clinical Research Communications"){
|
||
return "TMR Clinical Research";
|
||
}
|
||
if($article_id<1665&&$journal_title=="Aging Communications"&&$article_id!=1612){
|
||
return "TMR Aging";
|
||
}
|
||
if($article_id<1869&&$journal_title=="Nursing Communications"){
|
||
return "TMR Integrative Nursing";
|
||
}
|
||
if($article_id<1981&&$journal_title=="Toxicology Advances"){
|
||
return "Asian Toxicology Research";
|
||
}
|
||
if($article_id>=1981&&$article_id<2358&&$journal_title=="Toxicology Advances"){
|
||
return "Toxicology Communications";
|
||
}
|
||
if($article_id<2190&&$journal_title=="Food and Health"){
|
||
return "Food Therapy and Health Care";
|
||
}
|
||
if($article_id<2520&&$journal_title=="Chinese Quintessence Research"){
|
||
return "Classical Chinese Medicine Research";
|
||
}
|
||
return $journal_title;
|
||
}
|
||
|
||
/**
|
||
* @function sendEmail
|
||
* @intro 发送邮件(带附件)
|
||
* @param $email 接收邮箱
|
||
* @param $title 邮件标题
|
||
* @param $from_name 发件人
|
||
* @param $content 邮件内容
|
||
* @param $memail 邮件内容
|
||
* @param $mpassword 邮件内容
|
||
* @param $attachmentFile 附件 (string | array)
|
||
* @return array
|
||
*/
|
||
function sendEmail($email = '', $title = '', $from_name = '', $content = '', $memail = '', $mpassword = '', $attachmentFile = '') {
|
||
date_default_timezone_set('PRC');
|
||
//Create a new PHPMailer instance
|
||
$mail = new PHPMailer;
|
||
//Tell PHPMailer to use SMTP
|
||
$mail->isSMTP();
|
||
//Enable SMTP debugging
|
||
// 0 = off (for production use)
|
||
// 1 = client messages
|
||
// 2 = client and server messages
|
||
$mail->SMTPDebug = 0;
|
||
//Ask for HTML-friendly debug output
|
||
$mail->Debugoutput = 'html';
|
||
//charset
|
||
$mail->CharSet = 'UTF-8';
|
||
//Set the hostname of the mail server
|
||
$mail->Host = "smtp.qiye.aliyun.com"; //请填写你的邮箱服务器
|
||
//Set the SMTP port number - likely to be 25, 465 or 587
|
||
$mail->Port = 25; //端口号
|
||
//Whether to use SMTP authentication
|
||
$mail->SMTPAuth = true;
|
||
//Username to use for SMTP authentication
|
||
$mail->Username = $memail == '' ? "tmrweb@tmrjournals.com" : $memail; //发件邮箱用户名
|
||
//Password to use for SMTP authentication
|
||
$mail->Password = $mpassword == '' ? "Wu999999tmrwe" : $mpassword; //发件邮箱密码
|
||
//Set who the message is to be sent from
|
||
$mail->setFrom($memail == '' ? "tmrweb@tmrjournals.com" : $memail, $from_name);
|
||
//Set an alternative reply-to address(用户直接回复邮件的地址)
|
||
$mail->addReplyTo($memail == '' ? "tmrweb@tmrjournals.com" : $memail, $from_name);
|
||
//Set who the message is to be sent to
|
||
$mail->addAddress($email);
|
||
//Set the subject line
|
||
$mail->Subject = $title;
|
||
//Read an HTML message body from an external file, convert referenced images to embedded,
|
||
//convert HTML into a basic plain-text alternative body
|
||
$mail->msgHTML($content);
|
||
//Replace the plain text body with one created manually
|
||
$mail->AltBody = '';
|
||
if (is_array($attachmentFile)) {
|
||
for ($i = 0; $i < count($attachmentFile); $i++) {
|
||
$mail->addAttachment($attachmentFile[$i], 'thanks.pdf' . $i); //这里可以是多维数组,然后循环附件的文件和名称
|
||
}
|
||
} else {
|
||
if ($attachmentFile != '') {
|
||
//Attach an image file
|
||
$mail->addAttachment($attachmentFile, 'thanks.pdf');
|
||
}
|
||
}
|
||
//send the message, check for errors
|
||
if (!$mail->send()) {
|
||
$status = 0;
|
||
$data = "邮件发送失败" . $mail->ErrorInfo;
|
||
;
|
||
} else {
|
||
$status = 1;
|
||
$data = "邮件发送成功";
|
||
}
|
||
return ['status' => $status, 'data' => $data]; //返回值(可选)
|
||
}
|
||
|
||
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
|
||
$mail = new PHPMailer;
|
||
//Tell PHPMailer to use SMTP
|
||
$mail->isSMTP();
|
||
//Enable SMTP debugging
|
||
// 0 = off (for production use)
|
||
// 1 = client messages
|
||
// 2 = client and server messages
|
||
$mail->SMTPDebug = 0;
|
||
//Ask for HTML-friendly debug output
|
||
$mail->Debugoutput = 'html';
|
||
//charset
|
||
$mail->CharSet = 'UTF-8';
|
||
//Set the hostname of the mail server
|
||
$mail->Host = "smtp.qiye.aliyun.com"; //请填写你的邮箱服务器
|
||
//Set the SMTP port number - likely to be 25, 465 or 587
|
||
$mail->Port = 25; //端口号
|
||
//Whether to use SMTP authentication
|
||
$mail->SMTPAuth = true;
|
||
//Username to use for SMTP authentication
|
||
$mail->Username = $memail == '' ? "tmrweb@tmrjournals.com" : $memail; //发件邮箱用户名
|
||
//Password to use for SMTP authentication
|
||
$mail->Password = $mpassword == '' ? "Wu999999tmrwe" : $mpassword; //发件邮箱密码
|
||
//Set who the message is to be sent from
|
||
$mail->setFrom($memail == '' ? "tmrweb@tmrjournals.com" : $memail, $from_name);
|
||
//Set an alternative reply-to address(用户直接回复邮件的地址)
|
||
$mail->addReplyTo($memail == '' ? "tmrweb@tmrjournals.com" : $memail, $from_name);
|
||
//Set who the message is to be sent to
|
||
$mail->addAddress($email);
|
||
//Set the subject line
|
||
$mail->Subject = $title;
|
||
//Read an HTML message body from an external file, convert referenced images to embedded,
|
||
//convert HTML into a basic plain-text alternative body
|
||
$mail->msgHTML($content);
|
||
//Replace the plain text body with one created manually
|
||
$mail->AltBody = '';
|
||
// if (is_array($attachmentFile)) {
|
||
// for ($i = 0; $i < count($attachmentFile); $i++) {
|
||
// $mail->addAttachment($attachmentFile[$i], 'thanks.pdf' . $i); //这里可以是多维数组,然后循环附件的文件和名称
|
||
// }
|
||
// } else {
|
||
if ($attachmentFile != '') {
|
||
//Attach an image file
|
||
$mail->addAttachment($attachmentFile, 'journal.zip');
|
||
}
|
||
// }
|
||
//send the message, check for errors
|
||
if (!$mail->send()) {
|
||
$status = 0;
|
||
$data = "邮件发送失败" . $mail->ErrorInfo;
|
||
;
|
||
} else {
|
||
$status = 1;
|
||
$data = "邮件发送成功";
|
||
}
|
||
return ['status' => $status, 'data' => $data]; //返回值(可选)
|
||
}
|
||
|
||
function sendEmail1($email = '', $title = '', $from_name = '', $content = '', $memail = '', $mpassword = '', $attachmentFile = '') {
|
||
date_default_timezone_set('PRC');
|
||
//Create a new PHPMailer instance
|
||
$mail = new PHPMailer;
|
||
//Tell PHPMailer to use SMTP
|
||
$mail->isSMTP();
|
||
//Enable SMTP debugging
|
||
// 0 = off (for production use)
|
||
// 1 = client messages
|
||
// 2 = client and server messages
|
||
$mail->SMTPDebug = 0;
|
||
//Ask for HTML-friendly debug output
|
||
$mail->Debugoutput = 'html';
|
||
//charset
|
||
$mail->CharSet = 'UTF-8';
|
||
//Set the hostname of the mail server
|
||
$mail->Host = "smtp.yeah.net"; //请填写你的邮箱服务器
|
||
// $mail->Host = "smtp.126.com";
|
||
//Set the SMTP port number - likely to be 25, 465 or 587
|
||
$mail->Port = 25; //端口号
|
||
//Whether to use SMTP authentication
|
||
$mail->SMTPAuth = true;
|
||
//Username to use for SMTP authentication
|
||
$mail->Username = $memail == '' ? "tmrweb@tmrjournals.com" : $memail; //发件邮箱用户名
|
||
//Password to use for SMTP authentication
|
||
$mail->Password = 'OBRTWMJCTWRKRMRP';//$mpassword == '' ? "Wu999999tmrwe" : $mpassword; //发件邮箱密码
|
||
//Set who the message is to be sent from
|
||
$mail->setFrom($memail == '' ? "tmrweb@tmrjournals.com" : $memail, $from_name);
|
||
//Set an alternative reply-to address(用户直接回复邮件的地址)
|
||
$mail->addReplyTo($memail == '' ? "tmrweb@tmrjournals.com" : $memail, $from_name);
|
||
//Set who the message is to be sent to
|
||
$mail->addAddress($email);
|
||
//Set the subject line
|
||
$mail->Subject = $title;
|
||
//Read an HTML message body from an external file, convert referenced images to embedded,
|
||
//convert HTML into a basic plain-text alternative body
|
||
$mail->msgHTML($content);
|
||
//Replace the plain text body with one created manually
|
||
$mail->AltBody = '';
|
||
if (is_array($attachmentFile)) {
|
||
for ($i = 0; $i < count($attachmentFile); $i++) {
|
||
$mail->addAttachment($attachmentFile[$i], 'thanks.pdf' . $i); //这里可以是多维数组,然后循环附件的文件和名称
|
||
}
|
||
} else {
|
||
if ($attachmentFile != '') {
|
||
//Attach an image file
|
||
$mail->addAttachment($attachmentFile, 'thanks.pdf');
|
||
}
|
||
}
|
||
//send the message, check for errors
|
||
if (!$mail->send()) {
|
||
$status = 0;
|
||
$data = "邮件发送失败" . $mail->ErrorInfo;
|
||
} else {
|
||
$status = 1;
|
||
$data = "邮件发送成功";
|
||
}
|
||
return ['status' => $status, 'data' => $data]; //返回值(可选)
|
||
}
|
||
|
||
function aliemail($email,$title,$content){
|
||
// file_put_contents('/usr/a.txt', $email,FILE_APPEND);
|
||
vendor('aliemail.email');
|
||
$mailto=$email;
|
||
$mailsubject=$title;
|
||
//组合邮件公共样式
|
||
$pre = Env::get('emailtemplete.pre');
|
||
$net = Env::get('emailtemplete.net');
|
||
$net1 = str_replace("{{email}}",$email,$net);
|
||
$mailbody=$pre.$content.$net1;
|
||
$smtpserver = "smtpdm-ap-southeast-1.aliyun.com";
|
||
$smtpserverport = 80;
|
||
$smtpusermail = "propa@hellotmr.top";
|
||
// 发件人的账号,填写控制台配置的发信地址,比如xxx@xxx.com
|
||
$smtpuser = "propa@hellotmr.top";
|
||
// 访问SMTP服务时需要提供的密码(在控制台选择发信地址进行设置)
|
||
$smtppass = "Wu751019Pnx";
|
||
$mailsubject = "=?UTF-8?B?" . base64_encode($mailsubject) . "?=";
|
||
$mailtype = "HTML";
|
||
//可选,设置回信地址
|
||
$smtpreplyto = "tmr@tmrjournals.com";
|
||
$smtp = new \smtp($smtpserver, $smtpserverport, true, $smtpuser, $smtppass);
|
||
$smtp->debug = false;
|
||
$cc ="";
|
||
$bcc = "";
|
||
$additional_headers = "";
|
||
//设置发件人名称,名称用户可以自定义填写。
|
||
$sender = $title;
|
||
$res = $smtp->sendmail($mailto,$smtpusermail, $mailsubject, $mailbody, $mailtype, $cc, $bcc, $additional_headers, $sender, $smtpreplyto);
|
||
return $res;
|
||
}
|
||
|
||
/**
|
||
* 生成文章sn号
|
||
* @return type
|
||
*/
|
||
function getArticleSN($abbr,$type) {
|
||
$str = $abbr;
|
||
$str .= date('Y', time()).$type.date('md', time());
|
||
$where['accept_sn'] = ['like', "$str%"];
|
||
$nowres = Db::name('article')->where($where)->select();
|
||
$last_num = 1;
|
||
if ($nowres) {
|
||
foreach ($nowres as $v) {
|
||
$now_num = intval(substr($v['accept_sn'], -3));
|
||
$last_num = $now_num > $last_num ? $now_num : $last_num;
|
||
}
|
||
$last_num += 1;
|
||
}
|
||
$last_str = sprintf("%03d", $last_num);
|
||
$str .= $last_str;
|
||
return $str;
|
||
}
|
||
|
||
/**
|
||
* 增加usermsg
|
||
*/
|
||
function add_usermsg($userid, $content, $url) {
|
||
$msg_obj = Db::name('user_msg');
|
||
$msg_info = $msg_obj->where('user_id', $userid)
|
||
->where('url', $url)
|
||
->where('state', 0)
|
||
->find();
|
||
if ($msg_info) {
|
||
return true;
|
||
}
|
||
$msgdata['user_id'] = $userid;
|
||
$msgdata['content'] = $content;
|
||
$msgdata['url'] = $url;
|
||
$msgdata['ctime'] = time();
|
||
return $msg_obj->insert($msgdata);
|
||
}
|
||
|
||
function jsonSuccess($data){
|
||
return json(['code'=>0,'msg'=>'success','data'=>$data]);
|
||
}
|
||
|
||
function jsonError($msg){
|
||
return json(['code'=>1,'msg'=>$msg]);
|
||
}
|
||
|
||
function myPost($url, $param=array()){
|
||
|
||
if(!is_array($param)){
|
||
|
||
throw new Exception("参数必须为array");
|
||
|
||
}
|
||
|
||
$httph =curl_init($url);
|
||
|
||
// curl_setopt($httph, CURLOPT_SSL_VERIFYPEER, 0);
|
||
|
||
// curl_setopt($httph, CURLOPT_SSL_VERIFYHOST, 1);
|
||
|
||
curl_setopt($httph,CURLOPT_RETURNTRANSFER,1);
|
||
|
||
curl_setopt($httph, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
|
||
|
||
curl_setopt($httph, CURLOPT_POST, 1);//设置为POST方式
|
||
|
||
curl_setopt($httph, CURLOPT_POSTFIELDS, $param);
|
||
|
||
// curl_setopt($httph, CURLOPT_RETURNTRANSFER,0);
|
||
|
||
// curl_setopt($httph, CURLOPT_HEADER,1);
|
||
|
||
$rst=curl_exec($httph);
|
||
|
||
curl_close($httph);
|
||
|
||
return $rst;
|
||
|
||
}
|
||
|
||
function ORCIDPost($url, $param=array()){
|
||
|
||
if(!is_array($param)){
|
||
|
||
throw new Exception("参数必须为array");
|
||
|
||
}
|
||
$headerArray = ['Content-Type: application/x-www-form-urlencoded'];
|
||
$httph =curl_init($url);
|
||
|
||
curl_setopt($httph, CURLOPT_SSL_VERIFYPEER, false);
|
||
|
||
// curl_setopt($httph, CURLOPT_SSL_VERIFYHOST, 1);
|
||
|
||
curl_setopt($httph,CURLOPT_RETURNTRANSFER,1);
|
||
|
||
curl_setopt($httph, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
|
||
|
||
curl_setopt($httph, CURLOPT_POST, 1);//设置为POST方式
|
||
|
||
curl_setopt($httph, CURLOPT_POSTFIELDS, $param);
|
||
|
||
curl_setopt($httph, CURLOPT_HTTPHEADER,$headerArray);
|
||
|
||
// curl_setopt($httph, CURLOPT_RETURNTRANSFER,0);
|
||
|
||
// curl_setopt($httph, CURLOPT_HEADER,1);
|
||
|
||
$rst=curl_exec($httph);
|
||
|
||
curl_close($httph);
|
||
|
||
return $rst;
|
||
|
||
}
|
||
|