记录:修改emlog默认评论提示为json输出
2
1166
2019年12月30日
大家都知道emlog默认的emMsg非常的丑 长的样子是这样的 当然大家可以自己美化成其他的
然后经过我的一番折腾 把emMsg改成了json 有什么用呢
用处就是这样子
方法也很简单 就是改成json即可
首先找到/include/controller/comment_controller.php 文件
首先找到下面代码 在113-140行
if($Comment_Model->isLogCanComment($blogId) === false) {
emMsg('评论失败:该文章已关闭评论');
} elseif ($Comment_Model->isCommentExist($blogId, $name, $content) === true) {
emMsg('评论失败:已存在相同内容评论');
} elseif (ROLE == ROLE_VISITOR && $Comment_Model->isCommentTooFast() === true) {
emMsg('评论失败:您提交评论的速度太快了,请稍后再发表评论');
} elseif (empty($name)) {
emMsg('评论失败:请填写姓名');
} elseif (strlen($name) > 20) {
emMsg('评论失败:姓名不符合规范');
} elseif ($mail != '' && !checkMail($mail)) {
emMsg('评论失败:邮件地址不符合规范');
} elseif (ISLOGIN == false && $Comment_Model->isNameAndMailValid($name, $mail) === false) {
emMsg('评论失败:禁止使用管理员昵称或邮箱评论');
} elseif (!empty($url) && preg_match("/^(http|https)\:\/\/[^<>'\"]*$/", $url) == false) {
emMsg('评论失败:主页地址不符合规范','javascript:history.back(-1);');
} elseif (empty($content)) {
emMsg('评论失败:请填写评论内容');
} elseif (strlen($content) > 8000) {
emMsg('评论失败:内容不符合规范');
} elseif (ROLE == ROLE_VISITOR && Option::get('comment_needchinese') == 'y' && !preg_match('/[\x{4e00}-\x{9fa5}]/iu', $content)) {
emMsg('评论失败:评论内容需包含中文');
} elseif (ISLOGIN == false && Option::get('comment_code') == 'y' && session_start() && (empty($imgcode) || $imgcode !== $_SESSION['code'])) {
emMsg('评论失败:验证码错误');
} else {
$_SESSION['code'] = null;
$Comment_Model->addComment($name, $content, $mail, $url, $imgcode, $blogId, $pid);
}
替换为下面
if($Comment_Model->isLogCanComment($blogId) === false) {
//emMsg('评论失败:该文章已关闭评论');
$json = array(
'code' => '0',
'info' => '评论失败:该文章已关闭评论'
);
} elseif ($Comment_Model->isCommentExist($blogId, $name, $content) === true) {
//emMsg('评论失败:已存在相同内容评论');
$json = array(
'code' => '0',
'info' => '评论失败:已存在相同内容评论名'
);
} elseif (ROLE == ROLE_VISITOR && $Comment_Model->isCommentTooFast() === true) {
//emMsg('评论失败:您提交评论的速度太快了,请稍后再发表评论');
$json = array(
'code' => '0',
'info' => '评论失败:您提交评论的速度太快了,请稍后再发表评论'
);
} elseif (empty($name)) {
//emMsg('评论失败:请填写姓名');
$json = array(
'code' => '0',
'info' => '评论失败:请填写姓名'
);
} elseif (strlen($name) > 20) {
//emMsg('评论失败:姓名不符合规范');
$json = array(
'code' => '0',
'info' => '评论失败:姓名不符合规范'
);
} elseif ($mail != '' && !checkMail($mail)) {
//emMsg('评论失败:邮件地址不符合规范');
$json = array(
'code' => '0',
'info' => '评论失败:邮件地址不符合规范'
);
} elseif (ISLOGIN == false && $Comment_Model->isNameAndMailValid($name, $mail) === false) {
//emMsg('评论失败:禁止使用管理员昵称或邮箱评论');
$json = array(
'code' => '0',
'info' => '评论失败:禁止使用管理员昵称或邮箱评论'
);
} elseif (!empty($url) && preg_match("/^(http|https)\:\/\/[^<>'\"]*$/", $url) == false) {
//emMsg('评论失败:主页地址不符合规范','javascript:history.back(-1);');
$json = array(
'code' => '0',
'info' => '评论失败:主页地址不符合规范'
);
} elseif (empty($content)) {
//emMsg('评论失败:请填写评论内容');
$json = array(
'code' => '0',
'info' => '评论失败:请填写评论内容'
);
} elseif (strlen($content) > 8000) {
//emMsg('评论失败:内容不符合规范');
$json = array(
'code' => '0',
'info' => '评论失败:内容不符合规范'
);
} elseif (ROLE == ROLE_VISITOR && Option::get('comment_needchinese') == 'y' && !preg_match('/[\x{4e00}-\x{9fa5}]/iu', $content)) {
//emMsg('评论失败:评论内容需包含中文');
$json = array(
'code' => '0',
'info' => '评论失败:评论内容需包含中文'
);
} elseif (ISLOGIN == false && Option::get('comment_code') == 'y' && session_start() && (empty($imgcode) || $imgcode !== $_SESSION['code'])) {
//emMsg('评论失败:验证码错误');
$json = array(
'code' => '0',
'info' => '评论失败:验证码错'
);
} else {
$_SESSION['code'] = null;
$Comment_Model->addComment($name, $content, $mail, $url, $imgcode, $blogId, $pid);
}
echo json_encode($json);
其实还有更快捷的方法 大家可以自己发掘 对于我来说这种就是最简单的 因为其他的我不知道咋改啊!!菜啊
这个主题简介啊