| @@ -12,9 +12,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/ckeditor/plugins/codesnippet/lib/highlight/styles/default.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/ckeditor/plugins/codesnippet/lib/highlight/styles/default.css"> | ||||
| <script>const PHPURL = '{dede:field name="phpurl"/}';</script> | |||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| <script src="{dede:global.cfg_cmsurl/}/static/ckeditor/plugins/codesnippet/lib/highlight/highlight.pack.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -75,7 +72,178 @@ | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </main> | </main> | ||||
| <script>const PHPURL = '{dede:field name="phpurl"/}';</script> | |||||
| {dede:include filename='foot.htm'/} | {dede:include filename='foot.htm'/} | ||||
| <script src="{dede:global.cfg_cmsurl/}/static/ckeditor/plugins/codesnippet/lib/highlight/highlight.pack.js"></script> | |||||
| <script>hljs.initHighlightingOnLoad();</script> | <script>hljs.initHighlightingOnLoad();</script> | ||||
| <script> | |||||
| //获取顶踩数据 | |||||
| function GetDigg(aid,cid) { | |||||
| let url = `{dede:global.cfg_phpurl/}/digg_ajax.php?id=${aid}&cid=${cid}&format=json`; | |||||
| $.get(url, function (data) { | |||||
| let reval = JSON.parse(data); | |||||
| if (reval.code === 200) { | |||||
| $("#goodpost").html(reval.data.goodpost); | |||||
| $("#badpost").html(reval.data.badpost); | |||||
| $("#goodper").css("width", `${reval.data.goodper}%`) | |||||
| $("#badper").css("width", `${reval.data.badper}%`) | |||||
| } | |||||
| }) | |||||
| } | |||||
| function PostDigg(ftype, aid) { | |||||
| var saveid = GetCookie('diggid'); | |||||
| if (saveid != null) { | |||||
| var saveids = saveid.split(','); | |||||
| var hasid = false; | |||||
| saveid = ''; | |||||
| j = 1; | |||||
| for (i = saveids.length - 1; i >= 0; i--) { | |||||
| if (saveids[i] == aid && hasid) continue; | |||||
| else { | |||||
| if (saveids[i] == aid && !hasid) hasid = true; | |||||
| saveid += (saveid == '' ? saveids[i] : ',' + saveids[i]); | |||||
| j++; | |||||
| if (j == 20 && hasid) break; | |||||
| if (j == 19 && !hasid) break; | |||||
| } | |||||
| } | |||||
| if (hasid) { ShowMsg("您已经顶过该帖,请不要重复顶帖 "); return; } | |||||
| else saveid += ',' + aid; | |||||
| SetCookie('diggid', saveid, 1); | |||||
| } | |||||
| else { | |||||
| SetCookie('diggid', aid, 1); | |||||
| } | |||||
| let url = "{dede:global.cfg_phpurl/}/digg_ajax.php?action=" + ftype + "&id=" + aid + "&format=json&cid={dede:field.channel/}"; | |||||
| $.get(url, function (data) { | |||||
| let reval = JSON.parse(data); | |||||
| if (reval.code === 200) { | |||||
| $("#goodpost").html(reval.data.goodpost); | |||||
| $("#badpost").html(reval.data.badpost); | |||||
| $("#goodper").css("width", `${reval.data.goodper}%`) | |||||
| $("#badper").css("width", `${reval.data.badper}%`) | |||||
| } | |||||
| }); | |||||
| } | |||||
| GetDigg("{dede:field.id/}", "{dede:field.channel/}"); | |||||
| //发表评论 | |||||
| function SendFeedback() { | |||||
| let feedback = { | |||||
| action: "send", | |||||
| comtype: "comments", | |||||
| aid: "{dede:field name='id'/}", | |||||
| msg: $("#iptMsg").val(), | |||||
| username: $("#iptUsername").val(), | |||||
| validate: $("#iptValidate").val(), | |||||
| notuser: $("#iptAny").is(":checked") ? "1" : "", | |||||
| }; | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", feedback, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| if (result.code === 200) { | |||||
| ShowAlert("#feedback-alert", result.msg, "success"); | |||||
| $("#iptMsg").val(""); | |||||
| $("#iptValidate").val(""); | |||||
| ($("#iptUsername").attr("disabled") !== "disabled") && $("#iptUsername").val(""); | |||||
| $("#validateimg").attr("src", '{dede:global.cfg_cmspath/}/apps/vdimgck.php?' + new Date().getTime() + Math.round(Math.random() * 10000)); | |||||
| } else { | |||||
| ShowAlert("#feedback-alert", `评论失败:${result.msg}`, "danger"); | |||||
| $("#validateimg").attr("src", '{dede:global.cfg_cmspath/}/apps/vdimgck.php?' + new Date().getTime() + Math.round(Math.random() * 10000)); | |||||
| } | |||||
| }); | |||||
| } | |||||
| //进行回复,回复必须登录 | |||||
| function SendReplyFeedback(fid) { | |||||
| let content = $(`._feedback_reply[for="${fid}"]`).find(".iptReplyContent").val(); | |||||
| let reply = { | |||||
| action : "send", | |||||
| comtype : "reply", | |||||
| fid : fid, | |||||
| aid : "{dede:field name='id'/}", | |||||
| msg : content, | |||||
| } | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", reply, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| if (result.code === 200) { | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, result.msg, "success"); | |||||
| } else { | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, `评论失败:${result.msg}`, "danger"); | |||||
| } | |||||
| }) | |||||
| $(`._feedback_reply[for="${fid}"]`).find(".btn-send").attr("disabled", "disabled"); | |||||
| } | |||||
| //回复某个评论 | |||||
| function ReplyFeedback(fid) { | |||||
| let replyPannel = `<div class="form-group"> | |||||
| <div class="input-group"> | |||||
| <input type="text" class="form-control iptReplyContent"> | |||||
| <button type="button" class="btn btn-success btn-send" onclick='SendReplyFeedback(${fid})'>评论</button> | |||||
| </div> | |||||
| </div>`; | |||||
| $.get("{dede:global.cfg_cmsurl/}/user/api.php?format=json", function(result) { | |||||
| if (result.code !== 200) { | |||||
| $(`._feedback_reply`).html(""); | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, '回复需要登录会员中心,您可以<a href="{dede:global.cfg_cmsurl/}/user/login.php">点击登录</a>后再来回复', 'warning', 5000); | |||||
| } else { | |||||
| $(`._feedback_reply`).html(""); | |||||
| $(`._feedback_reply[for="${fid}"]`).html(replyPannel); | |||||
| } | |||||
| }); | |||||
| $(`._feedback_reply[for="${fid}"]`).html('<i class="fa fa-spinner"></i>'); | |||||
| } | |||||
| //加载回复评论 | |||||
| function LoadReplyFeedbacks(fid) { | |||||
| $(`.feedback_replies[for="${fid}"]`).html('<i class="fa fa-spinner"></i>'); | |||||
| $.get("{dede:field name='phpurl'/}/feedback.php", { | |||||
| "aid" : "{dede:field name='id'/}", | |||||
| "fid" : fid, | |||||
| }, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| let tpl = `<div class="media py-3"> | |||||
| <img src="~face~" class="face mr-3"> | |||||
| <div class="media-body"> | |||||
| <div class="feedback-infos pb-3"> | |||||
| <div class="feedback-basic"> | |||||
| <span>~username~</span> | |||||
| <span>~dtimestr~</span> | |||||
| </div> | |||||
| <div class="feedback-action"> | |||||
| <a href="javascript:GoodFeedback(~id~, ~good~)"> | |||||
| <i class="fa fa-thumbs-up"></i> | |||||
| <i id="feedbackGood~id~">~good~</i> | |||||
| </a> | |||||
| </div> | |||||
| </div> | |||||
| <div class="feedback-content">~msg~</div> | |||||
| </div> | |||||
| </div>`; | |||||
| if (result.code === 200) { | |||||
| $(`.feedback_replies[for="${fid}"]`).html(""); | |||||
| for (let i = 0; i < result.data.length; i++) { | |||||
| const feedback = result.data[i]; | |||||
| let rs = tpl; | |||||
| for (const key in feedback) { | |||||
| if (feedback.hasOwnProperty(key)) { | |||||
| rs = rs.replace(new RegExp(`~${key}~`,"gm"), feedback[key]) | |||||
| } | |||||
| } | |||||
| $(`.feedback_replies[for="${fid}"]`).append(rs); | |||||
| } | |||||
| } | |||||
| }) | |||||
| } | |||||
| //赞 | |||||
| function GoodFeedback(fid, g) { | |||||
| let good = { | |||||
| action : "send", | |||||
| feedbacktype : "good", | |||||
| good : g, | |||||
| fid : fid, | |||||
| } | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", good, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| $(`#feedbackGood${fid}`).html(result.data); | |||||
| }) | |||||
| } | |||||
| </script> | |||||
| </body> | </body> | ||||
| </html> | </html> | ||||
| @@ -11,9 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script>const PHPURL = '{dede:field name="phpurl"/}';</script> | |||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/bootstrap.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -86,6 +83,176 @@ | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </main> | </main> | ||||
| <script>const PHPURL = '{dede:field name="phpurl"/}';</script> | |||||
| {dede:include filename='foot.htm'/} | {dede:include filename='foot.htm'/} | ||||
| <script> | |||||
| //获取顶踩数据 | |||||
| function GetDigg(aid,cid) { | |||||
| let url = `{dede:global.cfg_phpurl/}/digg_ajax.php?id=${aid}&cid=${cid}&format=json`; | |||||
| $.get(url, function (data) { | |||||
| let reval = JSON.parse(data); | |||||
| if (reval.code === 200) { | |||||
| $("#goodpost").html(reval.data.goodpost); | |||||
| $("#badpost").html(reval.data.badpost); | |||||
| $("#goodper").css("width", `${reval.data.goodper}%`) | |||||
| $("#badper").css("width", `${reval.data.badper}%`) | |||||
| } | |||||
| }) | |||||
| } | |||||
| function PostDigg(ftype, aid) { | |||||
| var saveid = GetCookie('diggid'); | |||||
| if (saveid != null) { | |||||
| var saveids = saveid.split(','); | |||||
| var hasid = false; | |||||
| saveid = ''; | |||||
| j = 1; | |||||
| for (i = saveids.length - 1; i >= 0; i--) { | |||||
| if (saveids[i] == aid && hasid) continue; | |||||
| else { | |||||
| if (saveids[i] == aid && !hasid) hasid = true; | |||||
| saveid += (saveid == '' ? saveids[i] : ',' + saveids[i]); | |||||
| j++; | |||||
| if (j == 20 && hasid) break; | |||||
| if (j == 19 && !hasid) break; | |||||
| } | |||||
| } | |||||
| if (hasid) { ShowMsg("您已经顶过该帖,请不要重复顶帖 "); return; } | |||||
| else saveid += ',' + aid; | |||||
| SetCookie('diggid', saveid, 1); | |||||
| } | |||||
| else { | |||||
| SetCookie('diggid', aid, 1); | |||||
| } | |||||
| let url = "{dede:global.cfg_phpurl/}/digg_ajax.php?action=" + ftype + "&id=" + aid + "&format=json&cid={dede:field.channel/}"; | |||||
| $.get(url, function (data) { | |||||
| let reval = JSON.parse(data); | |||||
| if (reval.code === 200) { | |||||
| $("#goodpost").html(reval.data.goodpost); | |||||
| $("#badpost").html(reval.data.badpost); | |||||
| $("#goodper").css("width", `${reval.data.goodper}%`) | |||||
| $("#badper").css("width", `${reval.data.badper}%`) | |||||
| } | |||||
| }); | |||||
| } | |||||
| GetDigg("{dede:field.id/}", "{dede:field.channel/}"); | |||||
| //发表评论 | |||||
| function SendFeedback() { | |||||
| let feedback = { | |||||
| action: "send", | |||||
| comtype: "comments", | |||||
| aid: "{dede:field name='id'/}", | |||||
| msg: $("#iptMsg").val(), | |||||
| username: $("#iptUsername").val(), | |||||
| validate: $("#iptValidate").val(), | |||||
| notuser: $("#iptAny").is(":checked") ? "1" : "", | |||||
| }; | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", feedback, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| if (result.code === 200) { | |||||
| ShowAlert("#feedback-alert", result.msg, "success"); | |||||
| $("#iptMsg").val(""); | |||||
| $("#iptValidate").val(""); | |||||
| ($("#iptUsername").attr("disabled") !== "disabled") && $("#iptUsername").val(""); | |||||
| $("#validateimg").attr("src", '{dede:global.cfg_cmspath/}/apps/vdimgck.php?' + new Date().getTime() + Math.round(Math.random() * 10000)); | |||||
| } else { | |||||
| ShowAlert("#feedback-alert", `评论失败:${result.msg}`, "danger"); | |||||
| $("#validateimg").attr("src", '{dede:global.cfg_cmspath/}/apps/vdimgck.php?' + new Date().getTime() + Math.round(Math.random() * 10000)); | |||||
| } | |||||
| }); | |||||
| } | |||||
| //进行回复,回复必须登录 | |||||
| function SendReplyFeedback(fid) { | |||||
| let content = $(`._feedback_reply[for="${fid}"]`).find(".iptReplyContent").val(); | |||||
| let reply = { | |||||
| action : "send", | |||||
| comtype : "reply", | |||||
| fid : fid, | |||||
| aid : "{dede:field name='id'/}", | |||||
| msg : content, | |||||
| } | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", reply, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| if (result.code === 200) { | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, result.msg, "success"); | |||||
| } else { | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, `评论失败:${result.msg}`, "danger"); | |||||
| } | |||||
| }) | |||||
| $(`._feedback_reply[for="${fid}"]`).find(".btn-send").attr("disabled", "disabled"); | |||||
| } | |||||
| //回复某个评论 | |||||
| function ReplyFeedback(fid) { | |||||
| let replyPannel = `<div class="form-group"> | |||||
| <div class="input-group"> | |||||
| <input type="text" class="form-control iptReplyContent"> | |||||
| <button type="button" class="btn btn-success btn-send" onclick='SendReplyFeedback(${fid})'>评论</button> | |||||
| </div> | |||||
| </div>`; | |||||
| $.get("{dede:global.cfg_cmsurl/}/user/api.php?format=json", function(result) { | |||||
| if (result.code !== 200) { | |||||
| $(`._feedback_reply`).html(""); | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, '回复需要登录会员中心,您可以<a href="{dede:global.cfg_cmsurl/}/user/login.php">点击登录</a>后再来回复', 'warning', 5000); | |||||
| } else { | |||||
| $(`._feedback_reply`).html(""); | |||||
| $(`._feedback_reply[for="${fid}"]`).html(replyPannel); | |||||
| } | |||||
| }); | |||||
| $(`._feedback_reply[for="${fid}"]`).html('<i class="fa fa-spinner"></i>'); | |||||
| } | |||||
| //加载回复评论 | |||||
| function LoadReplyFeedbacks(fid) { | |||||
| $(`.feedback_replies[for="${fid}"]`).html('<i class="fa fa-spinner"></i>'); | |||||
| $.get("{dede:field name='phpurl'/}/feedback.php", { | |||||
| "aid" : "{dede:field name='id'/}", | |||||
| "fid" : fid, | |||||
| }, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| let tpl = `<div class="media py-3"> | |||||
| <img src="~face~" class="face mr-3"> | |||||
| <div class="media-body"> | |||||
| <div class="feedback-infos pb-3"> | |||||
| <div class="feedback-basic"> | |||||
| <span>~username~</span> | |||||
| <span>~dtimestr~</span> | |||||
| </div> | |||||
| <div class="feedback-action"> | |||||
| <a href="javascript:GoodFeedback(~id~, ~good~)"> | |||||
| <i class="fa fa-thumbs-up"></i> | |||||
| <i id="feedbackGood~id~">~good~</i> | |||||
| </a> | |||||
| </div> | |||||
| </div> | |||||
| <div class="feedback-content">~msg~</div> | |||||
| </div> | |||||
| </div>`; | |||||
| if (result.code === 200) { | |||||
| $(`.feedback_replies[for="${fid}"]`).html(""); | |||||
| for (let i = 0; i < result.data.length; i++) { | |||||
| const feedback = result.data[i]; | |||||
| let rs = tpl; | |||||
| for (const key in feedback) { | |||||
| if (feedback.hasOwnProperty(key)) { | |||||
| rs = rs.replace(new RegExp(`~${key}~`,"gm"), feedback[key]) | |||||
| } | |||||
| } | |||||
| $(`.feedback_replies[for="${fid}"]`).append(rs); | |||||
| } | |||||
| } | |||||
| }) | |||||
| } | |||||
| //赞 | |||||
| function GoodFeedback(fid, g) { | |||||
| let good = { | |||||
| action : "send", | |||||
| feedbacktype : "good", | |||||
| good : g, | |||||
| fid : fid, | |||||
| } | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", good, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| $(`#feedbackGood${fid}`).html(result.data); | |||||
| }) | |||||
| } | |||||
| </script> | |||||
| </body> | </body> | ||||
| </html> | </html> | ||||
| @@ -12,10 +12,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/ckeditor/plugins/codesnippet/lib/highlight/styles/default.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/ckeditor/plugins/codesnippet/lib/highlight/styles/default.css"> | ||||
| <script>const PHPURL = '{dede:field name="phpurl"/}';</script> | |||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/bootstrap.min.js"></script> | |||||
| <script src="{dede:global.cfg_cmsurl/}/static/ckeditor/plugins/codesnippet/lib/highlight/highlight.pack.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -88,7 +84,178 @@ | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </main> | </main> | ||||
| <script>const PHPURL = '{dede:field name="phpurl"/}';</script> | |||||
| {dede:include filename='foot.htm'/} | {dede:include filename='foot.htm'/} | ||||
| <script src="{dede:global.cfg_cmsurl/}/static/ckeditor/plugins/codesnippet/lib/highlight/highlight.pack.js"></script> | |||||
| <script>hljs.initHighlightingOnLoad();</script> | <script>hljs.initHighlightingOnLoad();</script> | ||||
| <script> | |||||
| //获取顶踩数据 | |||||
| function GetDigg(aid,cid) { | |||||
| let url = `{dede:global.cfg_phpurl/}/digg_ajax.php?id=${aid}&cid=${cid}&format=json`; | |||||
| $.get(url, function (data) { | |||||
| let reval = JSON.parse(data); | |||||
| if (reval.code === 200) { | |||||
| $("#goodpost").html(reval.data.goodpost); | |||||
| $("#badpost").html(reval.data.badpost); | |||||
| $("#goodper").css("width", `${reval.data.goodper}%`) | |||||
| $("#badper").css("width", `${reval.data.badper}%`) | |||||
| } | |||||
| }) | |||||
| } | |||||
| function PostDigg(ftype, aid) { | |||||
| var saveid = GetCookie('diggid'); | |||||
| if (saveid != null) { | |||||
| var saveids = saveid.split(','); | |||||
| var hasid = false; | |||||
| saveid = ''; | |||||
| j = 1; | |||||
| for (i = saveids.length - 1; i >= 0; i--) { | |||||
| if (saveids[i] == aid && hasid) continue; | |||||
| else { | |||||
| if (saveids[i] == aid && !hasid) hasid = true; | |||||
| saveid += (saveid == '' ? saveids[i] : ',' + saveids[i]); | |||||
| j++; | |||||
| if (j == 20 && hasid) break; | |||||
| if (j == 19 && !hasid) break; | |||||
| } | |||||
| } | |||||
| if (hasid) { ShowMsg("您已经顶过该帖,请不要重复顶帖 "); return; } | |||||
| else saveid += ',' + aid; | |||||
| SetCookie('diggid', saveid, 1); | |||||
| } | |||||
| else { | |||||
| SetCookie('diggid', aid, 1); | |||||
| } | |||||
| let url = "{dede:global.cfg_phpurl/}/digg_ajax.php?action=" + ftype + "&id=" + aid + "&format=json&cid={dede:field.channel/}"; | |||||
| $.get(url, function (data) { | |||||
| let reval = JSON.parse(data); | |||||
| if (reval.code === 200) { | |||||
| $("#goodpost").html(reval.data.goodpost); | |||||
| $("#badpost").html(reval.data.badpost); | |||||
| $("#goodper").css("width", `${reval.data.goodper}%`) | |||||
| $("#badper").css("width", `${reval.data.badper}%`) | |||||
| } | |||||
| }); | |||||
| } | |||||
| GetDigg("{dede:field.id/}", "{dede:field.channel/}"); | |||||
| //发表评论 | |||||
| function SendFeedback() { | |||||
| let feedback = { | |||||
| action: "send", | |||||
| comtype: "comments", | |||||
| aid: "{dede:field name='id'/}", | |||||
| msg: $("#iptMsg").val(), | |||||
| username: $("#iptUsername").val(), | |||||
| validate: $("#iptValidate").val(), | |||||
| notuser: $("#iptAny").is(":checked") ? "1" : "", | |||||
| }; | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", feedback, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| if (result.code === 200) { | |||||
| ShowAlert("#feedback-alert", result.msg, "success"); | |||||
| $("#iptMsg").val(""); | |||||
| $("#iptValidate").val(""); | |||||
| ($("#iptUsername").attr("disabled") !== "disabled") && $("#iptUsername").val(""); | |||||
| $("#validateimg").attr("src", '{dede:global.cfg_cmspath/}/apps/vdimgck.php?' + new Date().getTime() + Math.round(Math.random() * 10000)); | |||||
| } else { | |||||
| ShowAlert("#feedback-alert", `评论失败:${result.msg}`, "danger"); | |||||
| $("#validateimg").attr("src", '{dede:global.cfg_cmspath/}/apps/vdimgck.php?' + new Date().getTime() + Math.round(Math.random() * 10000)); | |||||
| } | |||||
| }); | |||||
| } | |||||
| //进行回复,回复必须登录 | |||||
| function SendReplyFeedback(fid) { | |||||
| let content = $(`._feedback_reply[for="${fid}"]`).find(".iptReplyContent").val(); | |||||
| let reply = { | |||||
| action : "send", | |||||
| comtype : "reply", | |||||
| fid : fid, | |||||
| aid : "{dede:field name='id'/}", | |||||
| msg : content, | |||||
| } | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", reply, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| if (result.code === 200) { | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, result.msg, "success"); | |||||
| } else { | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, `评论失败:${result.msg}`, "danger"); | |||||
| } | |||||
| }) | |||||
| $(`._feedback_reply[for="${fid}"]`).find(".btn-send").attr("disabled", "disabled"); | |||||
| } | |||||
| //回复某个评论 | |||||
| function ReplyFeedback(fid) { | |||||
| let replyPannel = `<div class="form-group"> | |||||
| <div class="input-group"> | |||||
| <input type="text" class="form-control iptReplyContent"> | |||||
| <button type="button" class="btn btn-success btn-send" onclick='SendReplyFeedback(${fid})'>评论</button> | |||||
| </div> | |||||
| </div>`; | |||||
| $.get("{dede:global.cfg_cmsurl/}/user/api.php?format=json", function(result) { | |||||
| if (result.code !== 200) { | |||||
| $(`._feedback_reply`).html(""); | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, '回复需要登录会员中心,您可以<a href="{dede:global.cfg_cmsurl/}/user/login.php">点击登录</a>后再来回复', 'warning', 5000); | |||||
| } else { | |||||
| $(`._feedback_reply`).html(""); | |||||
| $(`._feedback_reply[for="${fid}"]`).html(replyPannel); | |||||
| } | |||||
| }); | |||||
| $(`._feedback_reply[for="${fid}"]`).html('<i class="fa fa-spinner"></i>'); | |||||
| } | |||||
| //加载回复评论 | |||||
| function LoadReplyFeedbacks(fid) { | |||||
| $(`.feedback_replies[for="${fid}"]`).html('<i class="fa fa-spinner"></i>'); | |||||
| $.get("{dede:field name='phpurl'/}/feedback.php", { | |||||
| "aid" : "{dede:field name='id'/}", | |||||
| "fid" : fid, | |||||
| }, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| let tpl = `<div class="media py-3"> | |||||
| <img src="~face~" class="face mr-3"> | |||||
| <div class="media-body"> | |||||
| <div class="feedback-infos pb-3"> | |||||
| <div class="feedback-basic"> | |||||
| <span>~username~</span> | |||||
| <span>~dtimestr~</span> | |||||
| </div> | |||||
| <div class="feedback-action"> | |||||
| <a href="javascript:GoodFeedback(~id~, ~good~)"> | |||||
| <i class="fa fa-thumbs-up"></i> | |||||
| <i id="feedbackGood~id~">~good~</i> | |||||
| </a> | |||||
| </div> | |||||
| </div> | |||||
| <div class="feedback-content">~msg~</div> | |||||
| </div> | |||||
| </div>`; | |||||
| if (result.code === 200) { | |||||
| $(`.feedback_replies[for="${fid}"]`).html(""); | |||||
| for (let i = 0; i < result.data.length; i++) { | |||||
| const feedback = result.data[i]; | |||||
| let rs = tpl; | |||||
| for (const key in feedback) { | |||||
| if (feedback.hasOwnProperty(key)) { | |||||
| rs = rs.replace(new RegExp(`~${key}~`,"gm"), feedback[key]) | |||||
| } | |||||
| } | |||||
| $(`.feedback_replies[for="${fid}"]`).append(rs); | |||||
| } | |||||
| } | |||||
| }) | |||||
| } | |||||
| //赞 | |||||
| function GoodFeedback(fid, g) { | |||||
| let good = { | |||||
| action : "send", | |||||
| feedbacktype : "good", | |||||
| good : g, | |||||
| fid : fid, | |||||
| } | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", good, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| $(`#feedbackGood${fid}`).html(result.data); | |||||
| }) | |||||
| } | |||||
| </script> | |||||
| </body> | </body> | ||||
| </html> | </html> | ||||
| @@ -11,9 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script>const PHPURL = '{dede:field name="phpurl"/}';</script> | |||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/bootstrap.min.js"></script> | |||||
| <script> | <script> | ||||
| var shortname = "{dede:global.art_shortname/}"; | var shortname = "{dede:global.art_shortname/}"; | ||||
| var npage = parseInt("{dede:field name = 'nowpage'/}"); | var npage = parseInt("{dede:field name = 'nowpage'/}"); | ||||
| @@ -150,6 +147,176 @@ | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </main> | </main> | ||||
| <script>const PHPURL = '{dede:field name="phpurl"/}';</script> | |||||
| {dede:include filename='foot.htm'/} | {dede:include filename='foot.htm'/} | ||||
| <script> | |||||
| //获取顶踩数据 | |||||
| function GetDigg(aid,cid) { | |||||
| let url = `{dede:global.cfg_phpurl/}/digg_ajax.php?id=${aid}&cid=${cid}&format=json`; | |||||
| $.get(url, function (data) { | |||||
| let reval = JSON.parse(data); | |||||
| if (reval.code === 200) { | |||||
| $("#goodpost").html(reval.data.goodpost); | |||||
| $("#badpost").html(reval.data.badpost); | |||||
| $("#goodper").css("width", `${reval.data.goodper}%`) | |||||
| $("#badper").css("width", `${reval.data.badper}%`) | |||||
| } | |||||
| }) | |||||
| } | |||||
| function PostDigg(ftype, aid) { | |||||
| var saveid = GetCookie('diggid'); | |||||
| if (saveid != null) { | |||||
| var saveids = saveid.split(','); | |||||
| var hasid = false; | |||||
| saveid = ''; | |||||
| j = 1; | |||||
| for (i = saveids.length - 1; i >= 0; i--) { | |||||
| if (saveids[i] == aid && hasid) continue; | |||||
| else { | |||||
| if (saveids[i] == aid && !hasid) hasid = true; | |||||
| saveid += (saveid == '' ? saveids[i] : ',' + saveids[i]); | |||||
| j++; | |||||
| if (j == 20 && hasid) break; | |||||
| if (j == 19 && !hasid) break; | |||||
| } | |||||
| } | |||||
| if (hasid) { ShowMsg("您已经顶过该帖,请不要重复顶帖 "); return; } | |||||
| else saveid += ',' + aid; | |||||
| SetCookie('diggid', saveid, 1); | |||||
| } | |||||
| else { | |||||
| SetCookie('diggid', aid, 1); | |||||
| } | |||||
| let url = "{dede:global.cfg_phpurl/}/digg_ajax.php?action=" + ftype + "&id=" + aid + "&format=json&cid={dede:field.channel/}"; | |||||
| $.get(url, function (data) { | |||||
| let reval = JSON.parse(data); | |||||
| if (reval.code === 200) { | |||||
| $("#goodpost").html(reval.data.goodpost); | |||||
| $("#badpost").html(reval.data.badpost); | |||||
| $("#goodper").css("width", `${reval.data.goodper}%`) | |||||
| $("#badper").css("width", `${reval.data.badper}%`) | |||||
| } | |||||
| }); | |||||
| } | |||||
| GetDigg("{dede:field.id/}", "{dede:field.channel/}"); | |||||
| //发表评论 | |||||
| function SendFeedback() { | |||||
| let feedback = { | |||||
| action: "send", | |||||
| comtype: "comments", | |||||
| aid: "{dede:field name='id'/}", | |||||
| msg: $("#iptMsg").val(), | |||||
| username: $("#iptUsername").val(), | |||||
| validate: $("#iptValidate").val(), | |||||
| notuser: $("#iptAny").is(":checked") ? "1" : "", | |||||
| }; | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", feedback, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| if (result.code === 200) { | |||||
| ShowAlert("#feedback-alert", result.msg, "success"); | |||||
| $("#iptMsg").val(""); | |||||
| $("#iptValidate").val(""); | |||||
| ($("#iptUsername").attr("disabled") !== "disabled") && $("#iptUsername").val(""); | |||||
| $("#validateimg").attr("src", '{dede:global.cfg_cmspath/}/apps/vdimgck.php?' + new Date().getTime() + Math.round(Math.random() * 10000)); | |||||
| } else { | |||||
| ShowAlert("#feedback-alert", `评论失败:${result.msg}`, "danger"); | |||||
| $("#validateimg").attr("src", '{dede:global.cfg_cmspath/}/apps/vdimgck.php?' + new Date().getTime() + Math.round(Math.random() * 10000)); | |||||
| } | |||||
| }); | |||||
| } | |||||
| //进行回复,回复必须登录 | |||||
| function SendReplyFeedback(fid) { | |||||
| let content = $(`._feedback_reply[for="${fid}"]`).find(".iptReplyContent").val(); | |||||
| let reply = { | |||||
| action : "send", | |||||
| comtype : "reply", | |||||
| fid : fid, | |||||
| aid : "{dede:field name='id'/}", | |||||
| msg : content, | |||||
| } | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", reply, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| if (result.code === 200) { | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, result.msg, "success"); | |||||
| } else { | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, `评论失败:${result.msg}`, "danger"); | |||||
| } | |||||
| }) | |||||
| $(`._feedback_reply[for="${fid}"]`).find(".btn-send").attr("disabled", "disabled"); | |||||
| } | |||||
| //回复某个评论 | |||||
| function ReplyFeedback(fid) { | |||||
| let replyPannel = `<div class="form-group"> | |||||
| <div class="input-group"> | |||||
| <input type="text" class="form-control iptReplyContent"> | |||||
| <button type="button" class="btn btn-success btn-send" onclick='SendReplyFeedback(${fid})'>评论</button> | |||||
| </div> | |||||
| </div>`; | |||||
| $.get("{dede:global.cfg_cmsurl/}/user/api.php?format=json", function(result) { | |||||
| if (result.code !== 200) { | |||||
| $(`._feedback_reply`).html(""); | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, '回复需要登录会员中心,您可以<a href="{dede:global.cfg_cmsurl/}/user/login.php">点击登录</a>后再来回复', 'warning', 5000); | |||||
| } else { | |||||
| $(`._feedback_reply`).html(""); | |||||
| $(`._feedback_reply[for="${fid}"]`).html(replyPannel); | |||||
| } | |||||
| }); | |||||
| $(`._feedback_reply[for="${fid}"]`).html('<i class="fa fa-spinner"></i>'); | |||||
| } | |||||
| //加载回复评论 | |||||
| function LoadReplyFeedbacks(fid) { | |||||
| $(`.feedback_replies[for="${fid}"]`).html('<i class="fa fa-spinner"></i>'); | |||||
| $.get("{dede:field name='phpurl'/}/feedback.php", { | |||||
| "aid" : "{dede:field name='id'/}", | |||||
| "fid" : fid, | |||||
| }, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| let tpl = `<div class="media py-3"> | |||||
| <img src="~face~" class="face mr-3"> | |||||
| <div class="media-body"> | |||||
| <div class="feedback-infos pb-3"> | |||||
| <div class="feedback-basic"> | |||||
| <span>~username~</span> | |||||
| <span>~dtimestr~</span> | |||||
| </div> | |||||
| <div class="feedback-action"> | |||||
| <a href="javascript:GoodFeedback(~id~, ~good~)"> | |||||
| <i class="fa fa-thumbs-up"></i> | |||||
| <i id="feedbackGood~id~">~good~</i> | |||||
| </a> | |||||
| </div> | |||||
| </div> | |||||
| <div class="feedback-content">~msg~</div> | |||||
| </div> | |||||
| </div>`; | |||||
| if (result.code === 200) { | |||||
| $(`.feedback_replies[for="${fid}"]`).html(""); | |||||
| for (let i = 0; i < result.data.length; i++) { | |||||
| const feedback = result.data[i]; | |||||
| let rs = tpl; | |||||
| for (const key in feedback) { | |||||
| if (feedback.hasOwnProperty(key)) { | |||||
| rs = rs.replace(new RegExp(`~${key}~`,"gm"), feedback[key]) | |||||
| } | |||||
| } | |||||
| $(`.feedback_replies[for="${fid}"]`).append(rs); | |||||
| } | |||||
| } | |||||
| }) | |||||
| } | |||||
| //赞 | |||||
| function GoodFeedback(fid, g) { | |||||
| let good = { | |||||
| action : "send", | |||||
| feedbacktype : "good", | |||||
| good : g, | |||||
| fid : fid, | |||||
| } | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", good, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| $(`#feedbackGood${fid}`).html(result.data); | |||||
| }) | |||||
| } | |||||
| </script> | |||||
| </body> | </body> | ||||
| </html> | </html> | ||||
| @@ -11,8 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script>const PHPURL = '{dede:field name="phpurl"/}';</script> | |||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -81,6 +79,176 @@ | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </main> | </main> | ||||
| <script>const PHPURL = '{dede:field name="phpurl"/}';</script> | |||||
| {dede:include filename='foot.htm'/} | {dede:include filename='foot.htm'/} | ||||
| <script> | |||||
| //获取顶踩数据 | |||||
| function GetDigg(aid,cid) { | |||||
| let url = `{dede:global.cfg_phpurl/}/digg_ajax.php?id=${aid}&cid=${cid}&format=json`; | |||||
| $.get(url, function (data) { | |||||
| let reval = JSON.parse(data); | |||||
| if (reval.code === 200) { | |||||
| $("#goodpost").html(reval.data.goodpost); | |||||
| $("#badpost").html(reval.data.badpost); | |||||
| $("#goodper").css("width", `${reval.data.goodper}%`) | |||||
| $("#badper").css("width", `${reval.data.badper}%`) | |||||
| } | |||||
| }) | |||||
| } | |||||
| function PostDigg(ftype, aid) { | |||||
| var saveid = GetCookie('diggid'); | |||||
| if (saveid != null) { | |||||
| var saveids = saveid.split(','); | |||||
| var hasid = false; | |||||
| saveid = ''; | |||||
| j = 1; | |||||
| for (i = saveids.length - 1; i >= 0; i--) { | |||||
| if (saveids[i] == aid && hasid) continue; | |||||
| else { | |||||
| if (saveids[i] == aid && !hasid) hasid = true; | |||||
| saveid += (saveid == '' ? saveids[i] : ',' + saveids[i]); | |||||
| j++; | |||||
| if (j == 20 && hasid) break; | |||||
| if (j == 19 && !hasid) break; | |||||
| } | |||||
| } | |||||
| if (hasid) { ShowMsg("您已经顶过该帖,请不要重复顶帖 "); return; } | |||||
| else saveid += ',' + aid; | |||||
| SetCookie('diggid', saveid, 1); | |||||
| } | |||||
| else { | |||||
| SetCookie('diggid', aid, 1); | |||||
| } | |||||
| let url = "{dede:global.cfg_phpurl/}/digg_ajax.php?action=" + ftype + "&id=" + aid + "&format=json&cid={dede:field.channel/}"; | |||||
| $.get(url, function (data) { | |||||
| let reval = JSON.parse(data); | |||||
| if (reval.code === 200) { | |||||
| $("#goodpost").html(reval.data.goodpost); | |||||
| $("#badpost").html(reval.data.badpost); | |||||
| $("#goodper").css("width", `${reval.data.goodper}%`) | |||||
| $("#badper").css("width", `${reval.data.badper}%`) | |||||
| } | |||||
| }); | |||||
| } | |||||
| GetDigg("{dede:field.id/}", "{dede:field.channel/}"); | |||||
| //发表评论 | |||||
| function SendFeedback() { | |||||
| let feedback = { | |||||
| action: "send", | |||||
| comtype: "comments", | |||||
| aid: "{dede:field name='id'/}", | |||||
| msg: $("#iptMsg").val(), | |||||
| username: $("#iptUsername").val(), | |||||
| validate: $("#iptValidate").val(), | |||||
| notuser: $("#iptAny").is(":checked") ? "1" : "", | |||||
| }; | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", feedback, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| if (result.code === 200) { | |||||
| ShowAlert("#feedback-alert", result.msg, "success"); | |||||
| $("#iptMsg").val(""); | |||||
| $("#iptValidate").val(""); | |||||
| ($("#iptUsername").attr("disabled") !== "disabled") && $("#iptUsername").val(""); | |||||
| $("#validateimg").attr("src", '{dede:global.cfg_cmspath/}/apps/vdimgck.php?' + new Date().getTime() + Math.round(Math.random() * 10000)); | |||||
| } else { | |||||
| ShowAlert("#feedback-alert", `评论失败:${result.msg}`, "danger"); | |||||
| $("#validateimg").attr("src", '{dede:global.cfg_cmspath/}/apps/vdimgck.php?' + new Date().getTime() + Math.round(Math.random() * 10000)); | |||||
| } | |||||
| }); | |||||
| } | |||||
| //进行回复,回复必须登录 | |||||
| function SendReplyFeedback(fid) { | |||||
| let content = $(`._feedback_reply[for="${fid}"]`).find(".iptReplyContent").val(); | |||||
| let reply = { | |||||
| action : "send", | |||||
| comtype : "reply", | |||||
| fid : fid, | |||||
| aid : "{dede:field name='id'/}", | |||||
| msg : content, | |||||
| } | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", reply, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| if (result.code === 200) { | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, result.msg, "success"); | |||||
| } else { | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, `评论失败:${result.msg}`, "danger"); | |||||
| } | |||||
| }) | |||||
| $(`._feedback_reply[for="${fid}"]`).find(".btn-send").attr("disabled", "disabled"); | |||||
| } | |||||
| //回复某个评论 | |||||
| function ReplyFeedback(fid) { | |||||
| let replyPannel = `<div class="form-group"> | |||||
| <div class="input-group"> | |||||
| <input type="text" class="form-control iptReplyContent"> | |||||
| <button type="button" class="btn btn-success btn-send" onclick='SendReplyFeedback(${fid})'>评论</button> | |||||
| </div> | |||||
| </div>`; | |||||
| $.get("{dede:global.cfg_cmsurl/}/user/api.php?format=json", function(result) { | |||||
| if (result.code !== 200) { | |||||
| $(`._feedback_reply`).html(""); | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, '回复需要登录会员中心,您可以<a href="{dede:global.cfg_cmsurl/}/user/login.php">点击登录</a>后再来回复', 'warning', 5000); | |||||
| } else { | |||||
| $(`._feedback_reply`).html(""); | |||||
| $(`._feedback_reply[for="${fid}"]`).html(replyPannel); | |||||
| } | |||||
| }); | |||||
| $(`._feedback_reply[for="${fid}"]`).html('<i class="fa fa-spinner"></i>'); | |||||
| } | |||||
| //加载回复评论 | |||||
| function LoadReplyFeedbacks(fid) { | |||||
| $(`.feedback_replies[for="${fid}"]`).html('<i class="fa fa-spinner"></i>'); | |||||
| $.get("{dede:field name='phpurl'/}/feedback.php", { | |||||
| "aid" : "{dede:field name='id'/}", | |||||
| "fid" : fid, | |||||
| }, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| let tpl = `<div class="media py-3"> | |||||
| <img src="~face~" class="face mr-3"> | |||||
| <div class="media-body"> | |||||
| <div class="feedback-infos pb-3"> | |||||
| <div class="feedback-basic"> | |||||
| <span>~username~</span> | |||||
| <span>~dtimestr~</span> | |||||
| </div> | |||||
| <div class="feedback-action"> | |||||
| <a href="javascript:GoodFeedback(~id~, ~good~)"> | |||||
| <i class="fa fa-thumbs-up"></i> | |||||
| <i id="feedbackGood~id~">~good~</i> | |||||
| </a> | |||||
| </div> | |||||
| </div> | |||||
| <div class="feedback-content">~msg~</div> | |||||
| </div> | |||||
| </div>`; | |||||
| if (result.code === 200) { | |||||
| $(`.feedback_replies[for="${fid}"]`).html(""); | |||||
| for (let i = 0; i < result.data.length; i++) { | |||||
| const feedback = result.data[i]; | |||||
| let rs = tpl; | |||||
| for (const key in feedback) { | |||||
| if (feedback.hasOwnProperty(key)) { | |||||
| rs = rs.replace(new RegExp(`~${key}~`,"gm"), feedback[key]) | |||||
| } | |||||
| } | |||||
| $(`.feedback_replies[for="${fid}"]`).append(rs); | |||||
| } | |||||
| } | |||||
| }) | |||||
| } | |||||
| //赞 | |||||
| function GoodFeedback(fid, g) { | |||||
| let good = { | |||||
| action : "send", | |||||
| feedbacktype : "good", | |||||
| good : g, | |||||
| fid : fid, | |||||
| } | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", good, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| $(`#feedbackGood${fid}`).html(result.data); | |||||
| }) | |||||
| } | |||||
| </script> | |||||
| </body> | </body> | ||||
| </html> | </html> | ||||
| @@ -11,8 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script>const PHPURL = '{dede:field name="phpurl"/}';</script> | |||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -89,6 +87,176 @@ | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </main> | </main> | ||||
| <script>const PHPURL = '{dede:field name="phpurl"/}';</script> | |||||
| {dede:include filename='foot.htm'/} | {dede:include filename='foot.htm'/} | ||||
| <script> | |||||
| //获取顶踩数据 | |||||
| function GetDigg(aid,cid) { | |||||
| let url = `{dede:global.cfg_phpurl/}/digg_ajax.php?id=${aid}&cid=${cid}&format=json`; | |||||
| $.get(url, function (data) { | |||||
| let reval = JSON.parse(data); | |||||
| if (reval.code === 200) { | |||||
| $("#goodpost").html(reval.data.goodpost); | |||||
| $("#badpost").html(reval.data.badpost); | |||||
| $("#goodper").css("width", `${reval.data.goodper}%`) | |||||
| $("#badper").css("width", `${reval.data.badper}%`) | |||||
| } | |||||
| }) | |||||
| } | |||||
| function PostDigg(ftype, aid) { | |||||
| var saveid = GetCookie('diggid'); | |||||
| if (saveid != null) { | |||||
| var saveids = saveid.split(','); | |||||
| var hasid = false; | |||||
| saveid = ''; | |||||
| j = 1; | |||||
| for (i = saveids.length - 1; i >= 0; i--) { | |||||
| if (saveids[i] == aid && hasid) continue; | |||||
| else { | |||||
| if (saveids[i] == aid && !hasid) hasid = true; | |||||
| saveid += (saveid == '' ? saveids[i] : ',' + saveids[i]); | |||||
| j++; | |||||
| if (j == 20 && hasid) break; | |||||
| if (j == 19 && !hasid) break; | |||||
| } | |||||
| } | |||||
| if (hasid) { ShowMsg("您已经顶过该帖,请不要重复顶帖 "); return; } | |||||
| else saveid += ',' + aid; | |||||
| SetCookie('diggid', saveid, 1); | |||||
| } | |||||
| else { | |||||
| SetCookie('diggid', aid, 1); | |||||
| } | |||||
| let url = "{dede:global.cfg_phpurl/}/digg_ajax.php?action=" + ftype + "&id=" + aid + "&format=json&cid={dede:field.channel/}"; | |||||
| $.get(url, function (data) { | |||||
| let reval = JSON.parse(data); | |||||
| if (reval.code === 200) { | |||||
| $("#goodpost").html(reval.data.goodpost); | |||||
| $("#badpost").html(reval.data.badpost); | |||||
| $("#goodper").css("width", `${reval.data.goodper}%`) | |||||
| $("#badper").css("width", `${reval.data.badper}%`) | |||||
| } | |||||
| }); | |||||
| } | |||||
| GetDigg("{dede:field.id/}", "{dede:field.channel/}"); | |||||
| //发表评论 | |||||
| function SendFeedback() { | |||||
| let feedback = { | |||||
| action: "send", | |||||
| comtype: "comments", | |||||
| aid: "{dede:field name='id'/}", | |||||
| msg: $("#iptMsg").val(), | |||||
| username: $("#iptUsername").val(), | |||||
| validate: $("#iptValidate").val(), | |||||
| notuser: $("#iptAny").is(":checked") ? "1" : "", | |||||
| }; | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", feedback, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| if (result.code === 200) { | |||||
| ShowAlert("#feedback-alert", result.msg, "success"); | |||||
| $("#iptMsg").val(""); | |||||
| $("#iptValidate").val(""); | |||||
| ($("#iptUsername").attr("disabled") !== "disabled") && $("#iptUsername").val(""); | |||||
| $("#validateimg").attr("src", '{dede:global.cfg_cmspath/}/apps/vdimgck.php?' + new Date().getTime() + Math.round(Math.random() * 10000)); | |||||
| } else { | |||||
| ShowAlert("#feedback-alert", `评论失败:${result.msg}`, "danger"); | |||||
| $("#validateimg").attr("src", '{dede:global.cfg_cmspath/}/apps/vdimgck.php?' + new Date().getTime() + Math.round(Math.random() * 10000)); | |||||
| } | |||||
| }); | |||||
| } | |||||
| //进行回复,回复必须登录 | |||||
| function SendReplyFeedback(fid) { | |||||
| let content = $(`._feedback_reply[for="${fid}"]`).find(".iptReplyContent").val(); | |||||
| let reply = { | |||||
| action : "send", | |||||
| comtype : "reply", | |||||
| fid : fid, | |||||
| aid : "{dede:field name='id'/}", | |||||
| msg : content, | |||||
| } | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", reply, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| if (result.code === 200) { | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, result.msg, "success"); | |||||
| } else { | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, `评论失败:${result.msg}`, "danger"); | |||||
| } | |||||
| }) | |||||
| $(`._feedback_reply[for="${fid}"]`).find(".btn-send").attr("disabled", "disabled"); | |||||
| } | |||||
| //回复某个评论 | |||||
| function ReplyFeedback(fid) { | |||||
| let replyPannel = `<div class="form-group"> | |||||
| <div class="input-group"> | |||||
| <input type="text" class="form-control iptReplyContent"> | |||||
| <button type="button" class="btn btn-success btn-send" onclick='SendReplyFeedback(${fid})'>评论</button> | |||||
| </div> | |||||
| </div>`; | |||||
| $.get("{dede:global.cfg_cmsurl/}/user/api.php?format=json", function(result) { | |||||
| if (result.code !== 200) { | |||||
| $(`._feedback_reply`).html(""); | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, '回复需要登录会员中心,您可以<a href="{dede:global.cfg_cmsurl/}/user/login.php">点击登录</a>后再来回复', 'warning', 5000); | |||||
| } else { | |||||
| $(`._feedback_reply`).html(""); | |||||
| $(`._feedback_reply[for="${fid}"]`).html(replyPannel); | |||||
| } | |||||
| }); | |||||
| $(`._feedback_reply[for="${fid}"]`).html('<i class="fa fa-spinner"></i>'); | |||||
| } | |||||
| //加载回复评论 | |||||
| function LoadReplyFeedbacks(fid) { | |||||
| $(`.feedback_replies[for="${fid}"]`).html('<i class="fa fa-spinner"></i>'); | |||||
| $.get("{dede:field name='phpurl'/}/feedback.php", { | |||||
| "aid" : "{dede:field name='id'/}", | |||||
| "fid" : fid, | |||||
| }, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| let tpl = `<div class="media py-3"> | |||||
| <img src="~face~" class="face mr-3"> | |||||
| <div class="media-body"> | |||||
| <div class="feedback-infos pb-3"> | |||||
| <div class="feedback-basic"> | |||||
| <span>~username~</span> | |||||
| <span>~dtimestr~</span> | |||||
| </div> | |||||
| <div class="feedback-action"> | |||||
| <a href="javascript:GoodFeedback(~id~, ~good~)"> | |||||
| <i class="fa fa-thumbs-up"></i> | |||||
| <i id="feedbackGood~id~">~good~</i> | |||||
| </a> | |||||
| </div> | |||||
| </div> | |||||
| <div class="feedback-content">~msg~</div> | |||||
| </div> | |||||
| </div>`; | |||||
| if (result.code === 200) { | |||||
| $(`.feedback_replies[for="${fid}"]`).html(""); | |||||
| for (let i = 0; i < result.data.length; i++) { | |||||
| const feedback = result.data[i]; | |||||
| let rs = tpl; | |||||
| for (const key in feedback) { | |||||
| if (feedback.hasOwnProperty(key)) { | |||||
| rs = rs.replace(new RegExp(`~${key}~`,"gm"), feedback[key]) | |||||
| } | |||||
| } | |||||
| $(`.feedback_replies[for="${fid}"]`).append(rs); | |||||
| } | |||||
| } | |||||
| }) | |||||
| } | |||||
| //赞 | |||||
| function GoodFeedback(fid, g) { | |||||
| let good = { | |||||
| action : "send", | |||||
| feedbacktype : "good", | |||||
| good : g, | |||||
| fid : fid, | |||||
| } | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", good, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| $(`#feedbackGood${fid}`).html(result.data); | |||||
| }) | |||||
| } | |||||
| </script> | |||||
| </body> | </body> | ||||
| </html> | </html> | ||||
| @@ -11,9 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script>const PHPURL = '{dede:field name="phpurl"/}';</script> | |||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/bootstrap.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -54,6 +51,7 @@ | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </main> | </main> | ||||
| <script>const PHPURL = '{dede:field name="phpurl"/}';</script> | |||||
| {dede:include filename='foot.htm'/} | {dede:include filename='foot.htm'/} | ||||
| </body> | </body> | ||||
| </html> | </html> | ||||
| @@ -7,13 +7,14 @@ | |||||
| <div class="scroll-top"> | <div class="scroll-top"> | ||||
| <button id="returntop" title="返回顶部"><i class="fa fa-chevron-up"></i> </button> | <button id="returntop" title="返回顶部"><i class="fa fa-chevron-up"></i> </button> | ||||
| </div> | </div> | ||||
| <script src="/static/web/js/bootstrap.min.js"></script> | |||||
| <script src="/static/web/js/style.js"></script> | |||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/bootstrap.min.js"></script> | |||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/style.js"></script> | |||||
| {dede:statistics/} | {dede:statistics/} | ||||
| <script> | <script> | ||||
| $.get("/user/api.php?format=json",function(result) { | |||||
| $.get("{dede:global.cfg_memberurl/}/api.php?format=json",function(result) { | |||||
| if (result.code === 200) { | if (result.code === 200) { | ||||
| $("#_login").html(`<a href="/user" class="mr-3"><img src="${result.data.facepic}" alt="${result.data.username}" title="${result.data.username}" class="user-img-xs mr-1">${result.data.username}</a><a href="/user/pm.php" class="btn btn-primary btn-sm rounded-circle"><i class="fa fa-bell"></i></a><a href="/user/index_do.php?fmdo=login&dopost=exit" class="btn btn-success btn-sm rounded-circle"><i class="fa fa-sign-out"></i></a>`); | |||||
| $("#_login").html(`<a href="{dede:global.cfg_memberurl/}/" class="mr-3"><img src="${result.data.facepic}" alt="${result.data.username}" title="${result.data.username}" class="user-img-xs mr-1">${result.data.username}</a><a href="{dede:global.cfg_memberurl/}/pm.php" class="btn btn-primary btn-sm rounded-circle"><i class="fa fa-bell"></i></a><a href="{dede:global.cfg_memberurl/}/index_do.php?fmdo=login&dopost=exit" class="btn btn-success btn-sm rounded-circle"><i class="fa fa-sign-out"></i></a>`); | |||||
| $("#iptUsername").val(result.data.username); | $("#iptUsername").val(result.data.username); | ||||
| $("#iptUsername").attr("disabled", "disabled"); | $("#iptUsername").attr("disabled", "disabled"); | ||||
| $(".areaValidate").hide(); | $(".areaValidate").hide(); | ||||
| @@ -11,7 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -11,7 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -11,7 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -11,7 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -11,7 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -11,7 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -11,7 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -11,7 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -11,7 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -11,7 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -11,7 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -11,7 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -12,7 +12,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <style>.form-control{display:block;margin-right:0;margin-bottom:10px;width:100%}</style> | <style>.form-control{display:block;margin-right:0;margin-bottom:10px;width:100%}</style> | ||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -11,7 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -11,7 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -11,7 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -12,8 +12,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <style>.tags{padding-top:10px}.tags a{float:left;margin:5px 10px}.tagc1{color:darkolivegreen}.tagc2{color:blue}.tagc3{color:blueviolet}.tagc4{color:brown}.tagc5{color:cadetblue}.tagc6{color:green}.tagc7{color:coral}.tagc8{color:cornflowerblue}.tagc9{color:black}</style> | <style>.tags{padding-top:10px}.tags a{float:left;margin:5px 10px}.tagc1{color:darkolivegreen}.tagc2{color:blue}.tagc3{color:blueviolet}.tagc4{color:brown}.tagc5{color:cadetblue}.tagc6{color:green}.tagc7{color:coral}.tagc8{color:cornflowerblue}.tagc9{color:black}</style> | ||||
| <script>const currentNavTypeID = '{dede:field.id/}';</script> | |||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -48,6 +46,7 @@ | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </main> | </main> | ||||
| <script>const currentNavTypeID = '{dede:field.id/}';</script> | |||||
| {dede:include filename='foot.htm'/} | {dede:include filename='foot.htm'/} | ||||
| </body> | </body> | ||||
| </html> | </html> | ||||
| @@ -11,8 +11,6 @@ | |||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | <link rel="stylesheet" href="{dede:global.cfg_cmsurl/}/static/web/css/style.css"> | ||||
| <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | <link rel="shortcut icon" href="{dede:global.cfg_cmsurl/}/static/web/img/favicon.ico"> | ||||
| <script>const currentNavTypeID = '{dede:field.id/}';</script> | |||||
| <script src="{dede:global.cfg_cmsurl/}/static/web/js/jquery.min.js"></script> | |||||
| </head> | </head> | ||||
| <body class="body-bg"> | <body class="body-bg"> | ||||
| {dede:include filename='top.htm'/} | {dede:include filename='top.htm'/} | ||||
| @@ -66,6 +64,7 @@ | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </main> | </main> | ||||
| <script>const currentNavTypeID = '{dede:field.id/}';</script> | |||||
| {dede:include filename='foot.htm'/} | {dede:include filename='foot.htm'/} | ||||
| </body> | </body> | ||||
| </html> | </html> | ||||
| @@ -54,124 +54,4 @@ | |||||
| </div> | </div> | ||||
| {/dede:feedback} | {/dede:feedback} | ||||
| </div> | </div> | ||||
| </div> | |||||
| <script async> | |||||
| //发表评论 | |||||
| function SendFeedback() { | |||||
| let feedback = { | |||||
| action: "send", | |||||
| comtype: "comments", | |||||
| aid: "{dede:field name='id'/}", | |||||
| msg: $("#iptMsg").val(), | |||||
| username: $("#iptUsername").val(), | |||||
| validate: $("#iptValidate").val(), | |||||
| notuser: $("#iptAny").is(":checked") ? "1" : "", | |||||
| }; | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", feedback, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| if (result.code === 200) { | |||||
| ShowAlert("#feedback-alert", result.msg, "success"); | |||||
| $("#iptMsg").val(""); | |||||
| $("#iptValidate").val(""); | |||||
| ($("#iptUsername").attr("disabled") !== "disabled") && $("#iptUsername").val(""); | |||||
| $("#validateimg").attr("src", '{dede:global.cfg_cmspath/}/apps/vdimgck.php?' + new Date().getTime() + Math.round(Math.random() * 10000)); | |||||
| } else { | |||||
| ShowAlert("#feedback-alert", `评论失败:${result.msg}`, "danger"); | |||||
| $("#validateimg").attr("src", '{dede:global.cfg_cmspath/}/apps/vdimgck.php?' + new Date().getTime() + Math.round(Math.random() * 10000)); | |||||
| } | |||||
| }); | |||||
| } | |||||
| //进行回复,回复必须登录 | |||||
| function SendReplyFeedback(fid) { | |||||
| let content = $(`._feedback_reply[for="${fid}"]`).find(".iptReplyContent").val(); | |||||
| let reply = { | |||||
| action : "send", | |||||
| comtype : "reply", | |||||
| fid : fid, | |||||
| aid : "{dede:field name='id'/}", | |||||
| msg : content, | |||||
| } | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", reply, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| if (result.code === 200) { | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, result.msg, "success"); | |||||
| } else { | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, `评论失败:${result.msg}`, "danger"); | |||||
| } | |||||
| }) | |||||
| $(`._feedback_reply[for="${fid}"]`).find(".btn-send").attr("disabled", "disabled"); | |||||
| } | |||||
| //回复某个评论 | |||||
| function ReplyFeedback(fid) { | |||||
| let replyPannel = `<div class="form-group"> | |||||
| <div class="input-group"> | |||||
| <input type="text" class="form-control iptReplyContent"> | |||||
| <button type="button" class="btn btn-success btn-send" onclick='SendReplyFeedback(${fid})'>评论</button> | |||||
| </div> | |||||
| </div>`; | |||||
| $.get("{dede:global.cfg_cmsurl/}/user/api.php?format=json", function(result) { | |||||
| if (result.code !== 200) { | |||||
| $(`._feedback_reply`).html(""); | |||||
| ShowAlert(`._feedback_reply[for="${fid}"]`, '回复需要登录会员中心,您可以<a href="{dede:global.cfg_cmsurl/}/user/login.php">点击登录</a>后再来回复', 'warning', 5000); | |||||
| } else { | |||||
| $(`._feedback_reply`).html(""); | |||||
| $(`._feedback_reply[for="${fid}"]`).html(replyPannel); | |||||
| } | |||||
| }); | |||||
| $(`._feedback_reply[for="${fid}"]`).html('<i class="fa fa-spinner"></i>'); | |||||
| } | |||||
| //加载回复评论 | |||||
| function LoadReplyFeedbacks(fid) { | |||||
| $(`.feedback_replies[for="${fid}"]`).html('<i class="fa fa-spinner"></i>'); | |||||
| $.get("{dede:field name='phpurl'/}/feedback.php", { | |||||
| "aid" : "{dede:field name='id'/}", | |||||
| "fid" : fid, | |||||
| }, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| let tpl = `<div class="media py-3"> | |||||
| <img src="~face~" class="face mr-3"> | |||||
| <div class="media-body"> | |||||
| <div class="feedback-infos pb-3"> | |||||
| <div class="feedback-basic"> | |||||
| <span>~username~</span> | |||||
| <span>~dtimestr~</span> | |||||
| </div> | |||||
| <div class="feedback-action"> | |||||
| <a href="javascript:GoodFeedback(~id~, ~good~)"> | |||||
| <i class="fa fa-thumbs-up"></i> | |||||
| <i id="feedbackGood~id~">~good~</i> | |||||
| </a> | |||||
| </div> | |||||
| </div> | |||||
| <div class="feedback-content">~msg~</div> | |||||
| </div> | |||||
| </div>`; | |||||
| if (result.code === 200) { | |||||
| $(`.feedback_replies[for="${fid}"]`).html(""); | |||||
| for (let i = 0; i < result.data.length; i++) { | |||||
| const feedback = result.data[i]; | |||||
| let rs = tpl; | |||||
| for (const key in feedback) { | |||||
| if (feedback.hasOwnProperty(key)) { | |||||
| rs = rs.replace(new RegExp(`~${key}~`,"gm"), feedback[key]) | |||||
| } | |||||
| } | |||||
| $(`.feedback_replies[for="${fid}"]`).append(rs); | |||||
| } | |||||
| } | |||||
| }) | |||||
| } | |||||
| //赞 | |||||
| function GoodFeedback(fid, g) { | |||||
| let good = { | |||||
| action : "send", | |||||
| feedbacktype : "good", | |||||
| good : g, | |||||
| fid : fid, | |||||
| } | |||||
| $.post("{dede:field name='phpurl'/}/feedback.php", good, function (data) { | |||||
| let result = JSON.parse(data); | |||||
| $(`#feedbackGood${fid}`).html(result.data); | |||||
| }) | |||||
| } | |||||
| </script> | |||||
| </div> | |||||
| @@ -17,55 +17,4 @@ | |||||
| <div class="progress-bar bg-danger" role="progressbar" id="badper" style="width:{dede:field.badper/}%" aria-valuenow="{dede:field.badper/}" aria-valuemin="0" aria-valuemax="100"></div> | <div class="progress-bar bg-danger" role="progressbar" id="badper" style="width:{dede:field.badper/}%" aria-valuenow="{dede:field.badper/}" aria-valuemin="0" aria-valuemax="100"></div> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </div> | |||||
| <script> | |||||
| //获取顶踩数据 | |||||
| function GetDigg(aid,cid) { | |||||
| let url = `{dede:global.cfg_phpurl/}/digg_ajax.php?id=${aid}&cid=${cid}&format=json`; | |||||
| $.get(url, function (data) { | |||||
| let reval = JSON.parse(data); | |||||
| if (reval.code === 200) { | |||||
| $("#goodpost").html(reval.data.goodpost); | |||||
| $("#badpost").html(reval.data.badpost); | |||||
| $("#goodper").css("width", `${reval.data.goodper}%`) | |||||
| $("#badper").css("width", `${reval.data.badper}%`) | |||||
| } | |||||
| }) | |||||
| } | |||||
| function PostDigg(ftype, aid) { | |||||
| var saveid = GetCookie('diggid'); | |||||
| if (saveid != null) { | |||||
| var saveids = saveid.split(','); | |||||
| var hasid = false; | |||||
| saveid = ''; | |||||
| j = 1; | |||||
| for (i = saveids.length - 1; i >= 0; i--) { | |||||
| if (saveids[i] == aid && hasid) continue; | |||||
| else { | |||||
| if (saveids[i] == aid && !hasid) hasid = true; | |||||
| saveid += (saveid == '' ? saveids[i] : ',' + saveids[i]); | |||||
| j++; | |||||
| if (j == 20 && hasid) break; | |||||
| if (j == 19 && !hasid) break; | |||||
| } | |||||
| } | |||||
| if (hasid) { ShowMsg("您已经顶过该帖,请不要重复顶帖 "); return; } | |||||
| else saveid += ',' + aid; | |||||
| SetCookie('diggid', saveid, 1); | |||||
| } | |||||
| else { | |||||
| SetCookie('diggid', aid, 1); | |||||
| } | |||||
| let url = "{dede:global.cfg_phpurl/}/digg_ajax.php?action=" + ftype + "&id=" + aid + "&format=json&cid={dede:field.channel/}"; | |||||
| $.get(url, function (data) { | |||||
| let reval = JSON.parse(data); | |||||
| if (reval.code === 200) { | |||||
| $("#goodpost").html(reval.data.goodpost); | |||||
| $("#badpost").html(reval.data.badpost); | |||||
| $("#goodper").css("width", `${reval.data.goodper}%`) | |||||
| $("#badper").css("width", `${reval.data.badper}%`) | |||||
| } | |||||
| }); | |||||
| } | |||||
| GetDigg("{dede:field.id/}", "{dede:field.channel/}"); | |||||
| </script> | |||||
| </div> | |||||