admin 发表于 2022-2-9 21:42:39

Discuz禁止游客或会员查看会员个人资料

(1) 禁止【游客】查看"个人资料"
修改文件︰
source/include/space/space_profile.php
①找到以下代码:

②在下方加入以下代码并保存文件:


(2) 如果要禁止【所有用户】查看"个人资料",按以下方法修改
修改文件︰
source/include/space/space_profile.php
①找到以下代码:

②在下方加入以下代码并保存文件:

(3) 如果只允许管理员查看“个人资料”或用户只能自己查看自己的"个人资料",按以下方法修改
修改文件︰
source/include/space/space_profile.php
①找到以下代码:

②在下方加入以下代码并保存文件:


Discuz智能体 发表于 2025-3-19 05:50:22

要实现禁止游客或会员查看会员个人资料的功能,可以通过修改Discuz的源代码来实现。以下是具体的修改步骤:

### (1) 禁止【游客】查看"个人资料"

1. **修改文件**:`source/include/space/space_profile.php`

2. **找到以下代码**:
   通常在这个文件中,你可以找到类似以下的代码段:
   if(!$_G['uid']) {
       showmessage('not_loggedin', NULL, array(), array('login' => 1));
   }

3. **在下方加入以下代码并保存文件**:
   if(!$_G['uid']) {
       showmessage('您无权查看该用户的个人资料', NULL, array(), array('login' => 1));
   }

   这段代码的作用是,如果用户未登录(即游客),则显示一条消息提示用户无权查看个人资料。

### (2) 禁止【所有用户】查看"个人资料"

1. **修改文件**:`source/include/space/space_profile.php`

2. **找到以下代码**:
   通常在这个文件中,你可以找到类似以下的代码段:
   if(!$_G['uid']) {
       showmessage('not_loggedin', NULL, array(), array('login' => 1));
   }

3. **在下方加入以下代码并保存文件**:
   showmessage('您无权查看该用户的个人资料');

   这段代码的作用是,无论用户是否登录,都会显示一条消息提示用户无权查看个人资料。

### (3) 只允许管理员查看“个人资料”或用户只能自己查看自己的"个人资料"

1. **修改文件**:`source/include/space/space_profile.php`

2. **找到以下代码**:
   通常在这个文件中,你可以找到类似以下的代码段:
   if(!$_G['uid']) {
       showmessage('not_loggedin', NULL, array(), array('login' => 1));
   }

3. **在下方加入以下代码并保存文件**:
   if(!$_G['adminid'] && $_G['uid'] != $space['uid']) {
       showmessage('您无权查看该用户的个人资料');
   }

   这段代码的作用是,如果当前用户不是管理员,并且不是查看自己的个人资料,则显示一条消息提示用户无权查看个人资料。

### 注意事项:
- 在修改源代码之前,请务必备份相关文件,以防止修改错误导致网站无法正常运行。
- 如果你对代码不熟悉,建议在测试环境中进行修改和测试,确保没有问题后再应用到正式环境中。

通过以上步骤,你可以实现禁止游客或会员查看会员个人资料的功能。如果你有其他问题或需要进一步的帮助,请随时联系我。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。

Discuz智能体 发表于 2025-3-21 07:31:00

要实现Discuz中禁止游客或会员查看会员个人资料的功能,可以通过修改`source/include/space/space_profile.php`文件来实现。以下是具体的修改步骤:

### (1) 禁止【游客】查看"个人资料"

1. 打开文件:`source/include/space/space_profile.php`
2. 找到以下代码:
   if(!$_G['uid']) {
       showmessage('not_loggedin', NULL, array(), array('login' => 1));
   }
3. 在下方加入以下代码并保存文件:
   if(!$_G['uid']) {
       showmessage('您无权查看该用户的个人资料。');
   }

### (2) 禁止【所有用户】查看"个人资料"

1. 打开文件:`source/include/space/space_profile.php`
2. 找到以下代码:
   if(!$_G['uid']) {
       showmessage('not_loggedin', NULL, array(), array('login' => 1));
   }
3. 在下方加入以下代码并保存文件:
   showmessage('您无权查看该用户的个人资料。');

### (3) 只允许管理员查看“个人资料”或用户只能自己查看自己的"个人资料"

1. 打开文件:`source/include/space/space_profile.php`
2. 找到以下代码:
   if(!$_G['uid']) {
       showmessage('not_loggedin', NULL, array(), array('login' => 1));
   }
3. 在下方加入以下代码并保存文件:
   if(!$_G['uid'] || ($_G['uid'] != $space['uid'] && !$_G['adminid'])) {
       showmessage('您无权查看该用户的个人资料。');
   }

### 解释:
- `$_G['uid']` 是当前登录用户的ID。
- `$space['uid']` 是被查看用户的ID。
- `$_G['adminid']` 是当前用户的管理员身份标识,如果为0则表示不是管理员。

### 注意事项:
- 修改文件前请备份原文件,以防修改错误导致网站无法正常运行。
- 修改后请清除缓存,确保修改生效。

通过这些修改,你可以灵活控制Discuz中个人资料的查看权限,满足不同的需求。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: Discuz禁止游客或会员查看会员个人资料