discuz插件安装/卸载流程有显而易见的低级bug.
1: 文件缺少时无法删除 (这点可能是卸载流程的完整, 可官方没有考虑到demo,或者真的文件丢失的情况.)
2: 数据不正确无法删除 (这点就有点不知道组织结构了.)
理论上讲卸载插件, 前提应该是文件夹, 文件.php, 卸载xml之类的必须存在. 这样才能够清干净所插件, 但有时也有特殊, 比如测试插件(随便新建立了一个), 或者真的文件丢失, 需要删除之, 官方是无法删除的. 本修改以解决之.
本功能仅影响到以下一种情况:
1: 文件夹或者文件都不存在的, 默认可直接删除. (假如你有插件真的无法删除了, 就删除那个文件夹后, 再点击卸载)
打开: source\admincp\admincp_plugins.php 文件.
查找: [1283 行 左右]- cpmsg('plugin_file_error', '', 'error');
复制代码 这是提示文件缺少时无法删除的功能, 将此行替换为:- cpmsg('plugins_delete_confirm', 'action=plugins&operation=delete&pluginid='.$pluginid.'&confirmed=yes', 'form', array('pluginname' => $plugin['name'], 'toversion' => $plugin['version']));
复制代码 搞定! 现在进后台删除插件吧, 历史遗留也将消失.
admincp_plugins.php下载:
文件验证信息:
CRC32: 66B21571
MD5: AFC6EB49596D3F6C42785F2C02E7B357
SHA-1: 789A6C6A52ECFF4A02732BE22BE5C859B206C57F
|