#!/usr/bin/sw-engine
<?php
// Copyright 1999-2025. WebPros International GmbH. All rights reserved.

\date_default_timezone_set(@date_default_timezone_get());
setlocale(LC_ALL, 'en_US.UTF-8');
umask(0077);

if (posix_getuid() === 0) {
    $userInfo = posix_getpwnam('wp-toolkit');

    if ($userInfo === false) {
        throw new \Exception("Failed to get user info for 'wp-toolkit' user");
    }

    $initgroupsResult = posix_initgroups('wp-toolkit', $userInfo['gid']);
    $setgidResult = posix_setgid($userInfo['gid']);
    $setuidResult = posix_setuid($userInfo['uid']);

    if ($initgroupsResult === false || $setgidResult === false || $setuidResult === false) {
        throw new \Exception("Failed to impersonate under 'wp-toolkit' user");
    }
}

$scriptsDir = '/usr/local/cpanel/3rdparty/wp-toolkit/scripts';
$chdirResult = chdir($scriptsDir);
if ($chdirResult === false) {
    throw new \Exception("Failed to change current directory to '{$scriptsDir}'");
}

$argv = array_slice($argv, 1);
$script = $argv[0];

require $script;
