Files
journal/application/common.php
wangjinlei 63c7fe6111 20201112
2020-12-07 14:25:25 +08:00

142 lines
4.9 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
use PHPMailer\PHPMailer\PHPMailer;
use think\Db;
//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);
}
/**
* @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]; //返回值(可选)
}
/**
* 生成文章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]);
}