mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-31 13:09:21 +03:00
Predis to v2.2.2
This commit is contained in:
parent
9510347d3a
commit
969dca5f7e
449 changed files with 22013 additions and 2 deletions
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) 2009-2020 Daniele Alessandri
|
||||
* (c) 2021-2023 Till Krüss
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Command\Strategy\ContainerCommands\Functions;
|
||||
|
||||
use Predis\Command\Strategy\SubcommandStrategyInterface;
|
||||
|
||||
class DeleteStrategy implements SubcommandStrategyInterface
|
||||
{
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function processArguments(array $arguments): array
|
||||
{
|
||||
return $arguments;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) 2009-2020 Daniele Alessandri
|
||||
* (c) 2021-2023 Till Krüss
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Command\Strategy\ContainerCommands\Functions;
|
||||
|
||||
use Predis\Command\Strategy\SubcommandStrategyInterface;
|
||||
|
||||
class DumpStrategy implements SubcommandStrategyInterface
|
||||
{
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function processArguments(array $arguments): array
|
||||
{
|
||||
return $arguments;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) 2009-2020 Daniele Alessandri
|
||||
* (c) 2021-2023 Till Krüss
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Command\Strategy\ContainerCommands\Functions;
|
||||
|
||||
use Predis\Command\Strategy\SubcommandStrategyInterface;
|
||||
|
||||
class FlushStrategy implements SubcommandStrategyInterface
|
||||
{
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function processArguments(array $arguments): array
|
||||
{
|
||||
$processedArguments = [$arguments[0]];
|
||||
|
||||
if (array_key_exists(1, $arguments) && null !== $arguments[1]) {
|
||||
$processedArguments[] = strtoupper($arguments[1]);
|
||||
}
|
||||
|
||||
return $processedArguments;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) 2009-2020 Daniele Alessandri
|
||||
* (c) 2021-2023 Till Krüss
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Command\Strategy\ContainerCommands\Functions;
|
||||
|
||||
use Predis\Command\Strategy\SubcommandStrategyInterface;
|
||||
|
||||
class KillStrategy implements SubcommandStrategyInterface
|
||||
{
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function processArguments(array $arguments): array
|
||||
{
|
||||
return $arguments;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) 2009-2020 Daniele Alessandri
|
||||
* (c) 2021-2023 Till Krüss
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Command\Strategy\ContainerCommands\Functions;
|
||||
|
||||
use Predis\Command\Strategy\SubcommandStrategyInterface;
|
||||
|
||||
class ListStrategy implements SubcommandStrategyInterface
|
||||
{
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function processArguments(array $arguments): array
|
||||
{
|
||||
$processedArguments = [$arguments[0]];
|
||||
|
||||
if (array_key_exists(1, $arguments) && null !== $arguments[1]) {
|
||||
array_push($processedArguments, 'LIBRARYNAME', $arguments[1]);
|
||||
}
|
||||
|
||||
if (array_key_exists(2, $arguments) && true === $arguments[2]) {
|
||||
$processedArguments[] = 'WITHCODE';
|
||||
}
|
||||
|
||||
return $processedArguments;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) 2009-2020 Daniele Alessandri
|
||||
* (c) 2021-2023 Till Krüss
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Command\Strategy\ContainerCommands\Functions;
|
||||
|
||||
use Predis\Command\Strategy\SubcommandStrategyInterface;
|
||||
|
||||
class LoadStrategy implements SubcommandStrategyInterface
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function processArguments(array $arguments): array
|
||||
{
|
||||
if (count($arguments) <= 2) {
|
||||
return $arguments;
|
||||
}
|
||||
|
||||
$processedArguments = [$arguments[0]];
|
||||
$replace = array_pop($arguments);
|
||||
|
||||
if (is_bool($replace) && $replace) {
|
||||
$processedArguments[] = 'REPLACE';
|
||||
} elseif (!is_bool($replace)) {
|
||||
$processedArguments[] = $replace;
|
||||
}
|
||||
|
||||
$processedArguments[] = $arguments[1];
|
||||
|
||||
return $processedArguments;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) 2009-2020 Daniele Alessandri
|
||||
* (c) 2021-2023 Till Krüss
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Command\Strategy\ContainerCommands\Functions;
|
||||
|
||||
use Predis\Command\Strategy\SubcommandStrategyInterface;
|
||||
|
||||
class RestoreStrategy implements SubcommandStrategyInterface
|
||||
{
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function processArguments(array $arguments): array
|
||||
{
|
||||
$processedArguments = [$arguments[0], $arguments[1]];
|
||||
|
||||
if (array_key_exists(2, $arguments) && null !== $arguments[2]) {
|
||||
$processedArguments[] = strtoupper($arguments[2]);
|
||||
}
|
||||
|
||||
return $processedArguments;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) 2009-2020 Daniele Alessandri
|
||||
* (c) 2021-2023 Till Krüss
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Command\Strategy\ContainerCommands\Functions;
|
||||
|
||||
use Predis\Command\Strategy\SubcommandStrategyInterface;
|
||||
|
||||
class StatsStrategy implements SubcommandStrategyInterface
|
||||
{
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function processArguments(array $arguments): array
|
||||
{
|
||||
return $arguments;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) 2009-2020 Daniele Alessandri
|
||||
* (c) 2021-2023 Till Krüss
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Command\Strategy;
|
||||
|
||||
interface StrategyResolverInterface
|
||||
{
|
||||
/**
|
||||
* Resolves subcommand strategy.
|
||||
*
|
||||
* @param string $commandId
|
||||
* @param string $subcommandId
|
||||
* @return SubcommandStrategyInterface
|
||||
*/
|
||||
public function resolve(string $commandId, string $subcommandId): SubcommandStrategyInterface;
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) 2009-2020 Daniele Alessandri
|
||||
* (c) 2021-2023 Till Krüss
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Command\Strategy;
|
||||
|
||||
interface SubcommandStrategyInterface
|
||||
{
|
||||
/**
|
||||
* Process arguments for given subcommand.
|
||||
*
|
||||
* @param array $arguments
|
||||
* @return array
|
||||
*/
|
||||
public function processArguments(array $arguments): array;
|
||||
}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Predis package.
|
||||
*
|
||||
* (c) 2009-2020 Daniele Alessandri
|
||||
* (c) 2021-2023 Till Krüss
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Predis\Command\Strategy;
|
||||
|
||||
use InvalidArgumentException;
|
||||
|
||||
class SubcommandStrategyResolver implements StrategyResolverInterface
|
||||
{
|
||||
private const CONTAINER_COMMANDS_NAMESPACE = 'Predis\Command\Strategy\ContainerCommands';
|
||||
|
||||
/**
|
||||
* @var ?string
|
||||
*/
|
||||
private $separator;
|
||||
|
||||
public function __construct(string $separator = null)
|
||||
{
|
||||
$this->separator = $separator;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function resolve(string $commandId, string $subcommandId): SubcommandStrategyInterface
|
||||
{
|
||||
$subcommandStrategyClass = ucwords($subcommandId) . 'Strategy';
|
||||
$commandDirectoryName = ucwords($commandId);
|
||||
|
||||
if (!is_null($this->separator)) {
|
||||
$subcommandStrategyClass = str_replace($this->separator, '', $subcommandStrategyClass);
|
||||
$commandDirectoryName = str_replace($this->separator, '', $commandDirectoryName);
|
||||
}
|
||||
|
||||
if (class_exists(
|
||||
$containerCommandClass = self::CONTAINER_COMMANDS_NAMESPACE . '\\' . $commandDirectoryName . '\\' . $subcommandStrategyClass
|
||||
)) {
|
||||
return new $containerCommandClass();
|
||||
}
|
||||
|
||||
throw new InvalidArgumentException('Non-existing container command given');
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue