48 lines
1.1 KiB
PHP
48 lines
1.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Model\Login;
|
|
|
|
/**
|
|
* Třída pro uchování a dešifrování názvu serveru a databáze, které uživatel použil při přihlášení.
|
|
* Parseruje název serveru, který může být ve tvaru: [server]@[databáze].
|
|
*/
|
|
class ServerCredentials
|
|
{
|
|
/**
|
|
* Název serveru (bez databáze).
|
|
* @var string
|
|
*/
|
|
public string $server;
|
|
|
|
/**
|
|
* Název databáze. Server connection string.
|
|
* @var string
|
|
*/
|
|
public string $databaze;
|
|
|
|
public function __construct(
|
|
/**
|
|
* Server connection string. Ten co zadává uživatel do přihlašovacího formuláře.
|
|
* @var string
|
|
*/
|
|
public string $server_string,
|
|
) {
|
|
$this->parseServer($server_string);
|
|
}
|
|
|
|
private function parseServer($server_string)
|
|
{
|
|
$this->server = $server_string; //default
|
|
$this->databaze = "psx"; //default
|
|
|
|
if (str_contains($server_string, "@")) { //je tam zavináč
|
|
$str_arr = explode("@", $server_string);
|
|
if (count($str_arr) <> 2)
|
|
return; //tady něco nehraje
|
|
$this->server = trim($str_arr[0]);
|
|
$this->databaze = trim($str_arr[1]);
|
|
}
|
|
}
|
|
} |