源创宝库吧 新一代精品资源网 在线工具箱 ⚡3BBS论坛 - 发现更多有趣的⚡ SanS三石导航页 DJ音乐吧-优质的DJ音乐分享平台 任推邦 - 不扣量的项目拉新平台 此位置招租 此位置招租 ⚡3BBS论坛 - 发现更多有趣的⚡ 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租 ⚡3BBS论坛 - 发现更多有趣的⚡ 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租 ⚡3BBS论坛 - 发现更多有趣的⚡ 此位置招租 此位置招租 此位置招租
返回列表 发布新帖
查看: 155|回复: 1

[其他源码] 给typecho程序Joe主题添加隐私评论功能(其他主题部分通用)

  离线 
灌水成绩
2
2
20
主题
回帖
积分

等级头衔
UID : 205
等级 : 版主

积分成就
威望 : 4 点
贡献 : 12 点
蛋壳 : 982 枚
在线时间 : 4 小时
注册时间 : 2024-7-30
最后登录 : 2024-10-14

荣誉勋章
发表于 2024-7-30 22:20:22 | 查看全部 |阅读模式 来自: 美国–弗吉尼亚州–费尔法克斯县–赫恩登

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 kingkare 于 2024-7-30 22:26 编辑

教程开始


将下面这段代码插入评论区(请自行美化样式),一般放在提交评论的按钮前

  1. <input type="checkbox" name="is-private" id="PrivateComments"><label for="PrivateComments" class="PrivateCommentsLable">
复制代码



代码位置在Joe主题public\comment.php中查找如下代码



  1. <span class="cancle joe_comment__cancle">取消</span>
  2. <button type="submit">发送评论</button>
复制代码

其他主题可以在comment.php搜索你主题提交评论按钮的汉字,并放入前方

插入JS,将下面这段代码插入 comment.php 最下方

  1. <script>
  2. document.getElementById('PrivateComments').addEventListener('click',function(){var commentField=document.getElementById('comment');if(document.getElementById('PrivateComments').checked){Qmsg.info('已开启密语');var currentValue=commentField.value;commentField.value='密语# '+currentValue;commentField.addEventListener('input',preventDeletingText)}else{Qmsg.info('已关闭密语');commentField.value=commentField.value.replace('密语# ','');commentField.removeEventListener('input',preventDeletingText)}});function preventDeletingText(){var commentField=document.getElementById('comment');if(!commentField.value.startsWith('密语# ')){commentField.value='密语# '+commentField.value.substring(3)}}
  3. </script>
复制代码


修改评论输出语句(以Joe主题为例) 在comment.php


  1. <?php _parseCommentReply($comments->content);
复制代码


修改为以下代码

  1. <?php _getParentReply($comments->parent) ?>
  2.                            <?php
  3.                         $db = Typecho_Db::get();
  4. $smyk = $db->fetchRow($db->select('mail')->from('table.comments')->where('coid = ?', $comments->parent)->limit(1));
  5. $smhf = $comments->mail;
  6. $user = Typecho_Widget::widget('Widget_User');
  7. if (strpos($comments->content, '密语# ') == true) {
  8.     $ykmail = Typecho_Cookie::get('__typecho_remember_mail');
  9.     if ($smhf == $user->mail or $smhf == $ykmail or $user->group == 'administrator' or $smyk['mail'] == $ykmail and !empty($smyk['mail'])) {
  10.         _parseCommentReply(str_replace('密语# ', '', $comments->content));
  11.     } else {
  12.         echo '<div class="secret">此条为密语,发布者可见</div>';
  13.     }
  14. } else {
  15.     echo _parseCommentReply($comments->content);
  16. }
  17. ?>
复制代码


修改文本输入框,给文本框添加 id="comment"



  1. <div class="body">
  2.                     <textarea class="text joe_owo__target" name="text" value="" autocomplete="new-password" placeholder="说点什么吧,点击右上方切换成画图试试?"><?php echo random_comment(); ?></textarea>
复制代码


如果你的主题输入框已有id值,就将js中的'comment' 修改为主题的id值

评分

参与人数 1蛋壳 +10 收起 理由
七夏 + 10 很给力!

查看全部评分

新帖通知群(钉钉群):点击查看
荷包蛋部落(QQ群):荷包蛋部落 - HBD0.CN
💥荷包蛋联盟-免费的自助广告-为广大用户提供宣传服务!💯
  离线 
灌水成绩
792
820
4557
主题
回帖
积分

等级头衔
UID : 1
等级 : 管理员

积分成就
威望 : 794 点
贡献 : 1991 点
蛋壳 : 6479 枚
在线时间 : 1477 小时
注册时间 : 2023-12-27
最后登录 : 2024-11-21

荣誉勋章

最佳新人活跃会员热心会员推广达人宣传达人灌水之王部落真神优秀版主荣誉会员论坛元老优秀作者实习版主超级版主帅哥认证管理员

发表于 2024-7-30 22:26:20 | 查看全部 来自: 中国–山东–泰安
💪 强力顶贴,内容非常有价值! 💪
—— 来自:荷包蛋部落(HBD0.CN)已读乱回
新帖通知群(钉钉群):点击查看
荷包蛋部落(QQ群):荷包蛋部落 - HBD0.CN
💥荷包蛋联盟-免费的自助广告-为广大用户提供宣传服务!💯
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼
投诉/建议联系

8641340@qq.com

欢迎各位朋友加入本社区,
共同维护良好的社区氛围
  • QQ用户交流群
  • 钉钉新帖推送群
Powered by Discuz! X3.5 Licensed  Copyright © 2001-2024 荷包蛋部落 版权所有 All Rights Reserved. 鲁ICP备20023396号-6
关灯 在本版发帖
加入钉钉新帖推送群
QQ客服返回顶部
快速回复 返回顶部 返回列表