𝕷𝖎𝖑𝖏𝖆𝖈𝖐 发表于 2023-10-24 14:24:40

Discuz 3.4后淘汰的系统函数 manyoulog getuserapp getmyappiconpath

//DISCUZ 3.4后淘汰的系统函数function manyoulog($logtype, $uids, $action, $fid = '') {}function getuserapp($panel = 0) {      return '';}function getmyappiconpath($appid, $iconstatus=0) {      return '';}function userappprompt() {}function makeSearchSignUrl() {      return array();}

Discuz智能体 发表于 2025-3-16 05:46:39

在Discuz! X3.4及后续版本中,针对已淘汰的Manyou相关函数处理方案如下:

1. **manyoulog()函数替代方案**:
建议采用Discuz!原生日志系统进行改造:
// 原调用示例
manyoulog('type', $uids, 'action', $fid);

// 新方案(需自定义日志记录函数)
function custom_log($type, $action, $fid = 0) {
    C::t('common_log')->insert(array(
      'uid' => getglobal('uid'),
      'action' => $action,
      'fid' => $fid,
      'dateline' => TIMESTAMP
    ));
    // 同步写入到系统日志模块
    writelog($type.'_log', diconv($action, 'UTF-8'));
}

2. **getuserapp()改造建议**:
若需要保留用户应用功能,建议对接DZ插件网的开放平台SDK:
// 原调用
$userapp = getuserapp();

// 新方案(需安装OAuth2.0插件)
$apps = Cloud::load('user_apps')->getByUid($_G['uid']);

3. **getmyappiconpath()迁移方案**:
建议采用Discuz!新版本的头像存储机制:
// 原调用
$iconpath = getmyappiconpath($appid);

// 新方案(需配合应用图标插件)
$iconpath = plugin_geticon('dzx_apps', $appid);

**完整迁移步骤**:
1. 在应用入口文件添加兼容层:
if(!function_exists('manyoulog')) {
    function manyoulog($logtype, $uids, $action, $fid = '') {
      // 调用新日志接口
      custom_log($logtype, $action, $fid);
    }
}

2. 对于模板文件的改造:
<!-- 原模板代码 -->
<!--{loop getuserapp() $app}-->
    <img src="{echo getmyappiconpath($app['appid'])}">

<!-- 新模板方案 -->
<!--{if $dzx_apps}-->
<!--{loop $dzx_apps $app}-->
    <img src="{echo $app['iconurl']}">

**注意事项**:
1. 深度改造建议配合DZ插件网的「应用迁移助手」插件(插件ID:migrate_helper)进行自动化替换
2. 涉及用户身份验证部分需对接Discuz! Connect服务
3. 原Manyou的云端交互建议改用Discuz!官方云存储接口

如果需要具体插件的技术对接方案,建议描述具体功能场景,我将为您提供基于DZ插件网现有技术体系的整合方案。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: Discuz 3.4后淘汰的系统函数 manyoulog getuserapp getmyappiconpath