EMLOG私密评论仅博客可见制作教程
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']); ?>
转载于杨小杰博客
常见问题FAQ
- 链接地址失效了怎么办?
- 例如蓝奏盘,https://www.lanzous.com/i1b2oib 把S改成m或i即可解决,或者请联系本站修复!
- 本站资源和文章版权声明
- 版权声明:本站部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们,减少损失。联系邮箱:1453316800@qq.com
- 点击下载链接不跳转怎么回事?
- 您好,QQ内打开是不跳转的,少部分浏览器也不跳转,一般的谷歌,UC了,搜狗 360等浏览器都可以跳转。