杨小杰博客(Youngxj)提供免费教程下载和网站搭建技术教程,主要分享和发布网站源码,致力创造一个高质量网络资源教程的分享平台

EMlog私密评论仅博客可见

Young小杰2018-9-22 21:15网站搭建(7)1286查询中……小标签: 网站优化 emlog emlog优化 emlog博客

这里我说下这个私密评论教程 你评论的私密内容 只能你自己和管理员看见 别人是看不见的 内容 会 显示“私密评论仅博客可见”  教程很详细 希望你能学习到!

效果截图.png

module.php增加以下代码

<?php
//私密评论
function comcontent($pl) {
	$patterns = array ("/@/","/\[blockquote\](.*?)\[\/blockquote\]/","/\[F(([1-4]?[0-9])|50)\]/"); 
	$replace = array ('回复了','<blockquote>$1</blockquote>','<img alt="表情" src="'.TEMPLATE_URL.'img/face/$1.png" />'); 
	$pl=preg_replace($patterns, $replace, $pl);
	return $pl;
}
// 判断是否为私密评论
function isPrivateComment($comments){
	return(strstr($comments,"[私密评论]"));
}
// 显示私密评论
function showPrivateComment($comments,$post_email,$current_email){
	// 如果是私密评论 是管理员身份或者发布私密者本身才会显示
	if(isPrivateComment($comments)){
		if($post_email===$current_email or ROLE == ROLE_ADMIN){
			return $comments;
		}else{
			return "<font color='red'>##私密评论仅博主可见##</font>";
		}
	}else{
		return $comments;
	}
}
?>

这段JS放在模板公用JS

function addNumber(a) {
	document.getElementById("comment").value += a
}

修改module.php中的echo $comment['content'];

echo showPrivateComment(comcontent($comment['content']),$comment['mail'],$_COOKIE["postermail"]);
再加一个触发按钮即可,随便放哪儿
<a  href="javascript:addNumber('[私密评论]')"><i class="fa fa-lock"></i></a>

ps:和蓝优大佬简单探讨了一下关于$post_email==$current_email应该使用===全等于的问题,最后得出结论,必须使用===符号,否则会导致不填写邮箱使这个功能变得毫无意义,本文已修改此bug。

ps:如果开启评论侧边栏的一定要记得修改侧边栏的内容输出为

<?php echo isPrivateComment(comcontent($value['content']))?'<font color="red">##机密吐槽##</font>':comcontent($value['content']); ?>



发表评论:

发表评论:

  • avatar
    A 岂不是小晨 Lv 1

    module.ph找不到echo $comment['content']; 怎么办

    • Young小杰 站长

      回复了A  岂不是小晨:那就找其他输出content的

  • 所實用的功能

  • 诗梦 Lv 1

    ##私密评论仅博主可见##

  • 岁月 Lv 1

    ##私密评论仅博主可见##

  • I AM I Lv 1

    对方不想跟你说话并向你丢了一朵小黄花回复了(献花)

  • 这是我的一楼嘛