惧愁人 发表于 2023-7-30 14:03:40

从Discuz!安装缓存里导出到xml语言包不再依赖作者的源代码随便导出语言包的最新完整方法 感谢ONEXIN良心提供教学 文件懒人包下载

从Discuz!安装缓存里导出到xml语言包不再依赖作者的源代码随便导出语言包的最新完整方法,从此不再受制于discuz应用中心安装了插件后自删除了xml文件,开启了开发者模式后到处.xml安装变量文件没有语言包的问题:
discuz应用中心安装插件后,插件语言包不能随便修改,有点欺负人,不给用户直接改语言包的机会,不给安装文件,还好良心作者提供了精准还原教程方法,感谢 @ONEXIN !!!
废话不多说,现身教学:

此教程的作用:方便大家在自己主站购买的插件可以方便的复制到自己其他站点正常完整的安装插件,而不用再次重复乱花钱购买二遍了~

编辑:/source/admincp/admincp_plugins.php
共有很多处:
查找:【约347行开始~】
if($modules['extra']['langexists'] && file_exists($file = DISCUZ_ROOT.'./data/plugindata/'.$pluginarray['plugin']['identifier'].'.lang.php')) {
      if($modules['extra']['langexists']) {
                include $file;替换为:
if($modules['extra']['langexists']) {
                include $file;
                if(file_exists($file = DISCUZ_ROOT.'./data/plugindata/'.$pluginarray['plugin']['identifier'].'.lang.php')){
                        include $file;
                } else {
                        loadcache('pluginlanguage_script');
                        loadcache('pluginlanguage_template');
                        loadcache('pluginlanguage_install');
                        loadcache('pluginlanguage_system');
                }查找:
if(!empty($scriptlang[$pluginarray['plugin']['identifier']])) {
                if(!empty($scriptlang[$pluginarray['plugin']['identifier']])) {
                        $pluginarray['language']['scriptlang'] = $scriptlang[$pluginarray['plugin']['identifier']];在其下行添加:
} elseif(!empty($_G['cache']['pluginlanguage_script'][$pluginarray['plugin']['identifier']])) {
                        $pluginarray['language']['scriptlang'] = $_G['cache']['pluginlanguage_script'][$pluginarray['plugin']['identifier']];查找:
if(!empty($templatelang[$pluginarray['plugin']['identifier']])) {
                if(!empty($templatelang[$pluginarray['plugin']['identifier']])) {
                        $pluginarray['language']['templatelang'] = $templatelang[$pluginarray['plugin']['identifier']];在其下行添加:

} elseif(!empty($_G['cache']['pluginlanguage_template'][$pluginarray['plugin']['identifier']])) {
                        $pluginarray['language']['templatelang'] = $_G['cache']['pluginlanguage_template'][$pluginarray['plugin']['identifier']];查找:
if(!empty($installlang[$pluginarray['plugin']['identifier']])) {
                if(!empty($installlang[$pluginarray['plugin']['identifier']])) {
                        $pluginarray['language']['installlang'] = $installlang[$pluginarray['plugin']['identifier']];在其下行添加:

} elseif(!empty($_G['cache']['pluginlanguage_install'][$pluginarray['plugin']['identifier']])) {
                        $pluginarray['language']['installlang'] = $_G['cache']['pluginlanguage_install'][$pluginarray['plugin']['identifier']];查找:
if(!empty($systemlang[$pluginarray['plugin']['identifier']])) {
                if(!empty($systemlang[$pluginarray['plugin']['identifier']])) {
                        $pluginarray['language']['systemlang'] = $systemlang[$pluginarray['plugin']['identifier']];在其下行添加:
} elseif(!empty($_G['cache']['pluginlanguage_system'][$pluginarray['plugin']['identifier']])) {
                        $pluginarray['language']['systemlang'] = $_G['cache']['pluginlanguage_system'][$pluginarray['plugin']['identifier']];查找,并删除下段内容:【约1250行~】
if($_GET['langexists'] && !file_exists($langfile = DISCUZ_ROOT.'./data/plugindata/'.$identifiernew.'.lang.php')) {
                              cpmsg('plugins_edit_language_invalid', '', 'error', array('langfile' => $langfile));
                        }

相信很多不知道修改,懵逼的,下面提供具体懒人包文件:【替换上传覆盖路径:/source/admincp/】

该破解discuz插件开发者模式导出没有语言包的防盗越狱方式,由开发作者@ONEXIN良心提供:https://gitee.com/Discuz/DiscuzX/pulls/2215/files

使用前提,已经开启了插件开发者模式(不影响应用中心正版插件的更新、升级、使用):
编辑:/config/config_global.php
查找:
?>在其 上行 添加:
// ----------------------CONFIG PLUGINDEVELOPER---------------------- //
$_config['plugindeveloper'] = 1;

适用于:Discuz! X3.4 正式版【2023-05-20】版本的懒人包文件admincp_plugins.php:
                                                                                                      ↑↑↑↑↑↑↑↑↑↑↑↑
                                                                                       替换上传、覆盖 路径:/source/admincp/ 下
                                                                                                      ↓↓↓↓↓↓↓↓↓↓↓↓
适用于:Discuz! X3.5 正式版【2023-07-26】及向后兼容版本的懒人包文件admincp_plugins.php:


后续。。。
以上方法可以完整导出所有没有建表操作的的插件的完整语言包,那么,存在建表的插件 install.php 文件怎么生成呢 ?

如果你感兴趣,请跟帖告诉我,我会视跟帖热度看下大家是否真需要来放出来方法和文件哦,有需要的礼貌跟帖就行 ~~~

paxscript 发表于 2023-9-4 00:37:10

学习了,感恩

playba 发表于 2023-11-6 16:53:36

感谢分享,正需要

哈哈哈哈哈 发表于 2023-11-20 21:20:09

存在建表的插件 install.php 文件怎么生成呢

哈哈哈哈哈 发表于 2023-11-20 21:20:29

存在建表的插件 install.php 文件怎么生成呢

bingovivi 发表于 2023-11-22 01:00:35

bu

本帖最后由 bingovivi 于 2023-11-22 01:45 编辑

楼主好人,期待更新 存在建表的插件 install.php 文件怎么生成呢 ? 很多小白看不懂,等到折腾到看懂这篇,估计都已经放弃了,没跟帖的,不代表不想要哈!

大家好 发表于 2024-2-16 17:04:38

已经安装了的插件可以用这个吗?

大家好 发表于 2024-3-8 09:45:43

请楼主继续揭密后续,谢谢

大家好 发表于 2024-3-16 16:07:40

菜鸟有个问题,这么修改了之后,具体怎么用呢?楼主能说一下具体流程方法吗?

大家好 发表于 2024-3-16 16:11:21

请问楼主,这么修改了之后,需要怎么具体操作才能取得需要的所有文件?我是菜鸟,请指导一下,谢谢.
页: [1]
查看完整版本: 从Discuz!安装缓存里导出到xml语言包不再依赖作者的源代码随便导出语言包的最新完整方法 感谢ONEXIN良心提供教学 文件懒人包下载

创宇盾启航版免费网站防御网站加速服务