/** * Only allow one session per user * * If the current user's session has been taken over by a newer * session then we will destroy their session automattically and * they will have to login again to continue. * * @action init */ function pcl_prevent_concurrent_logins() { if (!pcl_user_has_concurrent_sessions()) { return; } $user_id = get_current_user_id(); /** * Filter to allow certain users to have concurrent sessions when necessary * * @since 0.1.1 * * @param bool $prevent * @param int $user_id ID of the current user * * @return bool */ if (false === (bool) apply_filters('pcl_prevent_concurrent_logins', true, $user_id)) { return; } $newest = max(wp_list_pluck(wp_get_all_sessions(), 'login')); $session = pcl_get_current_session(); if ($session['login'] === $newest) { wp_destroy_other_sessions(); /** * Fires after a user's non-current sessions are destroyed * * @since 0.3.0 * * @param int $user_id ID of the affected user */ do_action('pcl_destroy_other_sessions', $user_id); } else { wp_destroy_current_session(); /** * Fires after a user's current session is destroyed * * @since 0.3.0 * * @param int $user_id ID of the affected user */ do_action('pcl_destroy_current_session', $user_id); } }
$update_user_avatar = update_user_meta($user_id, 'dmeng_avatar', sanitize_text_field($_POST['avatar'])); if (!is_wp_error($update_user_id) || $update_user_avatar) { $message = __('基本信息已更新', 'dmeng'); } if ($is_auto_userlogin && $new_user_login == false) { $message .= sprintf(__('(用户名没有更新,因为 %s 是非法用户名。(可能已经被其他用户使用或已被添加到黑名单)', 'dmeng'), sanitize_user(trim($_POST['user_login']))); } } if ($update == 'pass') { $pass_update = dmeng_profile_pass_update($user_id, $_POST['email'], $_POST['pass1'], $_POST['pass2']); if ($pass_update) { $message = $pass_update; } } if ($update == 'destroy-sessions' && version_compare($wp_version, '4.0.0', '>=')) { wp_destroy_other_sessions(); $message = __('其他会话已清理。', 'dmeng'); } $message .= ' <a href="' . dmeng_get_user_url($get_tab, $curauth->ID) . '">' . __('点击刷新', 'dmeng') . '</a>'; $user_info = get_userdata($curauth->ID); } } //~ 个人资料end //~ 投稿start if (isset($_GET['action']) && in_array($_GET['action'], array('new', 'edit')) && $oneself) { if (isset($_GET['id']) && is_numeric($_GET['id']) && get_post($_GET['id']) && intval(get_post($_GET['id'])->post_author) === get_current_user_id()) { $action = 'edit'; $the_post = get_post($_GET['id']); $post_title = $the_post->post_title; $post_content = $the_post->post_content; } else {