HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/posscale/www/printmanager/vendor/league/flysystem-sftp-v3/StubSftpConnectionProvider.php
<?php

declare(strict_types=1);

namespace League\Flysystem\PhpseclibV3;

use phpseclib3\Net\SFTP;

class StubSftpConnectionProvider implements ConnectionProvider
{
    /**
     * @var SftpStub|null
     */
    public $connection;

    public function __construct(
        private string $host,
        private string $username,
        private ?string $password = null,
        private int $port = 22
    ) {
    }

    public function disconnect(): void
    {
        if ($this->connection) {
            $this->connection->disconnect();
        }
    }

    public function provideConnection(): SFTP
    {
        if ( ! $this->connection instanceof SFTP || ! $this->connection->isConnected()) {
            $connection = new SftpStub($this->host, $this->port);
            $connection->login($this->username, $this->password);

            $this->connection = $connection;
        }

        return $this->connection;
    }
}