最近应一个子比用户的要求,写了一个关于:普通用户仅可以给管理员发送私信,如果普通用户给非管理员发送私信则提示:您需要开通VIP后才可以使用私信功能。
本代码依旧使用:子比主题的zib_get_user_vip_level($user_id);函数来获取当前会员等级,根据返回的值来判断:普通用户、VIP会员1级、VIP会员2级。
定位子比主题的文件名为:private-class.php,这个是子比主题的私信功能,文件里最下面有个控制输出私信按钮的函数。
/**
* @description: 获取私信按钮
* @param {*}
* @return {*}
*/
public static function get_but($receive_user = '', $text = '私信', $class = '')
{
$receive_user = (int) $receive_user;
$current_user_id = get_current_user_id();
$my_vip = zib_get_user_vip_level($current_user_id);
if (!$receive_user || $current_user_id == $receive_user || !_pz('private_s', true) || !_pz('message_s', true) || zib_is_close_sign()) {
return false;
}
if ($current_user_id) {
//小黑屋禁封判断
if (_pz('user_ban_s', true) && zib_user_is_ban($current_user_id)) {
return;
}
if ($my_vip > 0 || user_can( $current_user_id, 'manage_options' ) || ( $my_vip == 0 && user_can( $receive_user, 'manage_options' ) ) ) { // VIP用户或管理员可以给任何人发送私信,非VIP用户给管理员发送私信不受限制
$args = array(
'tag' => 'a',
'class' => $class,
'data_class' => 'full-sm',
'text' => $text,
'mobile_bottom' => true,
'query_arg' => array('action' => 'private_window_modal', 'receive_user' => $receive_user),
'height' => 550,
);
$but = zib_get_refresh_modal_link($args);
} else { // 非VIP用户给非管理员用户发送私信受限制
$but = '<a class="' . $class . '" href="javascript:;" onclick="alert(\'您需要开通会员后使用私信功能\');">' . $text . '</a>';
}
} else {
$but = '<a class="signin-loader ' . $class . '" href="javascript:;">' . $text . '</a>';
}
return $but;
}
}
代码解释:
- 这段代码是一个静态方法,用于获取私信按钮。它接受三个参数:$receive_user表示接收私信的用户ID,$text表示按钮上的文本,$class表示按钮的CSS类。
- 首先,将$receive_user转换为整数类型,并获取当前用户的ID和当前用户的VIP等级。
- 接下来,如果$receive_user为空、当前用户和接收用户相同、私信功能或消息功能被关闭、或者网站被关闭,则返回false。
- 如果当前用户已登录,则进行小黑屋禁封判断,如果当前用户被禁封,则返回。
- 然后,根据当前用户的VIP等级和权限,判断是否可以给任何人发送私信。如果可以,生成一个包含私信窗口的链接,并返回该链接。
- 如果当前用户不是VIP用户,且接收用户也不是管理员,则限制发送私信。生成一个提示信息,告诉用户需要开通会员后才能使用私信功能。
- 如果当前用户未登录,则生成一个登录链接。
- 最后,返回生成的按钮。
- 来源:详情
© 版权声明
1. 资源都是经过站长或作者收集测试修改后发布分享。如若转载请在文内以超链形式注明狐狸库文章出处,谢谢合作!
2. 本站除原创内容,其余所有内容均收集自互联网,仅限用于学习和研究目的,本站不对其内容的合法性承担任何责任。如有版权内容,请通知我们或作者删除,其版权均归原作者所有,本站虽力求保存原有版权信息,但因众多资源经多次转载,已无法确定其真实来源,或已将原有信息丢失,所以敬请原作者谅解!
3. 本站用户所发布的一切资源内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责,若您对本站所载资源作品版权归属存有异议,请留言附说明联系邮箱,我们将在第一时间予以处理 ,同时向您表示歉意!为尊重作者版权,请购买原版作品,支持您喜欢的作者,谢谢!
4. 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客如有发现请立即向站长举报;本站资源文件大多存储在云盘,如发现链接或图片失效,请联系作者或站长及时更新。
THE END
请登录后查看评论内容