Loading... # 修复的Bug ## 0x01 -- 删除按钮失效 截图就忘了,点击删除的时候会提示选中,实际上是已经选中的状态。 把删除部分代码改成如下所示,大概在299行,因为我魔改和格式化过,可能有点差异,但是搜索【删除】字样,应该就八九不离十了。 ```js $('.dropdown-menu a[data-action="delete"]').click(function() { swal({ title: '你确定?', icon: "info", text: '你确认要删除这些记录吗?', icon: "warning", buttons: { confirm: { text: "删除", }, cancel: { text: "我再想想", visible: true, } }, dangerMode: true, }).then((confirm) => { if (confirm == true) { var ids = []; $('.typecho-list-table input[type="checkbox"]').each(function(index, elem) { if (elem.checked) { ids.push($(elem).data('id')); } }); if (ids.length == 0) { return swal('错误', '你并没有勾选任何内容', 'warning'); } $.ajax({ url: '<?php echo rtrim(Helper::options()->index, '/') . '/access/log/delete.json'; ?>', method: 'post', dataType: 'json', contentType: 'application/json', data: JSON.stringify(ids), success: function(data) { if (data.code == 0) { swal('删除成功', '所选记录已删除', 'success'); $.each(ids, function(index, elem) { $('.typecho-list-table tbody tr[data-id="' + elem + '"]').fadeOut(500).remove(); }); } else { swal('错误', '发生错误了', 'warning'); } } }); } }); var $this = $(this); $this.parents('.dropdown-menu').hide().prev().removeClass('active'); }); ``` ## 0x002 权限问题 如果不希望普通用户可以查看Access记录,只允许管理员权限访问,修改第25行。原来的叫什么我忘了,我喜欢这样命名。后面改成administrator。这样就是管理员权限才会在[控制台]中显示。 ```php Helper::addPanel(1, self::$panel, _t('访问控制台'), _t('Access插件控制台'), 'administrator'); ``` 首页中还存在一个入口,方法名是adminFooter,里面内容改成如下所示。 ```php public static function adminFooter() { $access = new Access_Core(); $url = $_SERVER['PHP_SELF']; $filename = substr($url, strrpos($url, '/') + 1); if ($filename == 'index.php' && $access->isAdmin()) { echo '<script> $(document).ready(function() { $("#start-link").append("<li><a href=\"'; Helper::options()->adminUrl('extending.php?panel=' . self::$panel); echo '\">' . _t('Access控制台') . '</a></li>"); }); </script>'; }); } ``` 这样的话就是管理员才能显示,其他用户不会显示。 然而我也不知道其他用户直接通过URL能否访问,也没有测试,直接加了个校验,不是管理员就抛出异常。在console.php中加入下面的代码,一定要放在在$access定义之后嗷。如果不想让别人知道有这个插件,可以直接重定向到404页面。 ```php <?php if (!$access->isAdmin()) { throw new Exception("仅限管理员查阅。"); } ?> ``` © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏