Kufrik/app/Model/Login/ServerCredentials.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]);
}
}
}