diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-09 10:55:03 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-09 13:09:38 +0100 |
| commit | 04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa (patch) | |
| tree | 5c691241355c943a3c68ddb06b8cf8c60aa11319 /srcs/phpmyadmin/libraries/classes/Server/Plugin.php | |
| parent | 7e0d85db834d6351ed85d01e5126ac31dc510b86 (diff) | |
| download | ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.gz ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.bz2 ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.zip | |
phpmyadmin working
Diffstat (limited to 'srcs/phpmyadmin/libraries/classes/Server/Plugin.php')
| -rw-r--r-- | srcs/phpmyadmin/libraries/classes/Server/Plugin.php | 274 |
1 files changed, 274 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/libraries/classes/Server/Plugin.php b/srcs/phpmyadmin/libraries/classes/Server/Plugin.php new file mode 100644 index 0000000..9b45297 --- /dev/null +++ b/srcs/phpmyadmin/libraries/classes/Server/Plugin.php @@ -0,0 +1,274 @@ +<?php +/** + * Server Plugin value object + * @package PhpMyAdmin\Server + */ +declare(strict_types=1); + +namespace PhpMyAdmin\Server; + +/** + * Server Plugin value object + * @package PhpMyAdmin\Server + */ +final class Plugin +{ + /** + * @var string + */ + private $name; + + /** + * @var string|null + */ + private $version; + + /** + * @var string + */ + private $status; + + /** + * @var string + */ + private $type; + + /** + * @var string|null + */ + private $typeVersion; + + /** + * @var string|null + */ + private $library; + + /** + * @var string|null + */ + private $libraryVersion; + + /** + * @var string|null + */ + private $author; + + /** + * @var string|null + */ + private $description; + + /** + * @var string + */ + private $license; + + /** + * @var string|null + */ + private $loadOption; + + /** + * @var string|null + */ + private $maturity; + + /** + * @var string|null + */ + private $authVersion; + + /** + * @param string $name Name of the plugin + * @param string|null $version Version from the plugin's general type descriptor + * @param string $status Plugin status + * @param string $type Type of plugin + * @param string|null $typeVersion Version from the plugin's type-specific descriptor + * @param string|null $library Plugin's shared object file name + * @param string|null $libraryVersion Version from the plugin's API interface + * @param string|null $author Author of the plugin + * @param string|null $description Description + * @param string $license Plugin's licence + * @param string|null $loadOption How the plugin was loaded + * @param string|null $maturity Plugin's maturity level + * @param string|null $authVersion Plugin's version as determined by the plugin author + */ + private function __construct( + string $name, + ?string $version, + string $status, + string $type, + ?string $typeVersion, + ?string $library, + ?string $libraryVersion, + ?string $author, + ?string $description, + string $license, + ?string $loadOption, + ?string $maturity, + ?string $authVersion + ) { + $this->name = $name; + $this->version = $version; + $this->status = $status; + $this->type = $type; + $this->typeVersion = $typeVersion; + $this->library = $library; + $this->libraryVersion = $libraryVersion; + $this->author = $author; + $this->description = $description; + $this->license = $license; + $this->loadOption = $loadOption; + $this->maturity = $maturity; + $this->authVersion = $authVersion; + } + + /** + * @param array $state array with the properties + * @return self + */ + public static function fromState(array $state): self + { + return new self( + $state['name'] ?? '', + $state['version'] ?? null, + $state['status'] ?? '', + $state['type'] ?? '', + $state['typeVersion'] ?? null, + $state['library'] ?? null, + $state['libraryVersion'] ?? null, + $state['author'] ?? null, + $state['description'] ?? null, + $state['license'] ?? '', + $state['loadOption'] ?? null, + $state['maturity'] ?? null, + $state['authVersion'] ?? null + ); + } + + /** + * @return array + */ + public function toArray(): array + { + return [ + 'name' => $this->getName(), + 'version' => $this->getVersion(), + 'status' => $this->getStatus(), + 'type' => $this->getType(), + 'type_version' => $this->getTypeVersion(), + 'library' => $this->getLibrary(), + 'library_version' => $this->getLibraryVersion(), + 'author' => $this->getAuthor(), + 'description' => $this->getDescription(), + 'license' => $this->getLicense(), + 'load_option' => $this->getLoadOption(), + 'maturity' => $this->getMaturity(), + 'auth_version' => $this->getAuthVersion(), + ]; + } + + /** + * @return string + */ + public function getName(): string + { + return $this->name; + } + + /** + * @return string|null + */ + public function getVersion(): ?string + { + return $this->version; + } + + /** + * @return string + */ + public function getStatus(): string + { + return $this->status; + } + + /** + * @return string + */ + public function getType(): string + { + return $this->type; + } + + /** + * @return string|null + */ + public function getTypeVersion(): ?string + { + return $this->typeVersion; + } + + /** + * @return string|null + */ + public function getLibrary(): ?string + { + return $this->library; + } + + /** + * @return string|null + */ + public function getLibraryVersion(): ?string + { + return $this->libraryVersion; + } + + /** + * @return string|null + */ + public function getAuthor(): ?string + { + return $this->author; + } + + /** + * @return string|null + */ + public function getDescription(): ?string + { + return $this->description; + } + + /** + * @return string + */ + public function getLicense(): string + { + return $this->license; + } + + /** + * @return string|null + */ + public function getLoadOption(): ?string + { + return $this->loadOption; + } + + /** + * @return string|null + */ + public function getMaturity(): ?string + { + return $this->maturity; + } + + /** + * @return string|null + */ + public function getAuthVersion(): ?string + { + return $this->authVersion; + } +} |
