Stand: SMTP-Test, Admin-Mail-Tab, Notifiable-Fix, Lazy-Quill
- Fix: Notifiable-Trait zum User-Model hinzugefuegt (behebt notify()-500er) - Installer: SMTP-Verbindungstest mit EsmtpTransport + Ueberspringen-Link - Admin: Neuer E-Mail-Tab mit SMTP-Konfiguration + Verbindungstest - Admin: Lazy Quill-Initialisierung (nur sichtbare Locale wird geladen) - Uebersetzungen: 17 neue Mail-Keys in allen 6 Sprachen Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
228
vendor/laravel/framework/src/Illuminate/Process/FakeProcessDescription.php
vendored
Executable file
228
vendor/laravel/framework/src/Illuminate/Process/FakeProcessDescription.php
vendored
Executable file
@@ -0,0 +1,228 @@
|
||||
<?php
|
||||
|
||||
namespace Illuminate\Process;
|
||||
|
||||
use Illuminate\Support\Collection;
|
||||
use Symfony\Component\Process\Process;
|
||||
|
||||
class FakeProcessDescription
|
||||
{
|
||||
/**
|
||||
* The process' ID.
|
||||
*
|
||||
* @var int|null
|
||||
*/
|
||||
public $processId = 1000;
|
||||
|
||||
/**
|
||||
* All of the process' output in the order it was described.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public $output = [];
|
||||
|
||||
/**
|
||||
* The process' exit code.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
public $exitCode = 0;
|
||||
|
||||
/**
|
||||
* The number of times the process should indicate that it is "running".
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
public $runIterations = 0;
|
||||
|
||||
/**
|
||||
* Specify the process ID that should be assigned to the process.
|
||||
*
|
||||
* @param int $processId
|
||||
* @return $this
|
||||
*/
|
||||
public function id(int $processId)
|
||||
{
|
||||
$this->processId = $processId;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Describe a line of standard output.
|
||||
*
|
||||
* @param array|string $output
|
||||
* @return $this
|
||||
*/
|
||||
public function output(array|string $output)
|
||||
{
|
||||
if (is_array($output)) {
|
||||
(new Collection($output))->each(fn ($line) => $this->output($line));
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
$this->output[] = ['type' => 'out', 'buffer' => rtrim($output, "\n")."\n"];
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Describe a line of error output.
|
||||
*
|
||||
* @param array|string $output
|
||||
* @return $this
|
||||
*/
|
||||
public function errorOutput(array|string $output)
|
||||
{
|
||||
if (is_array($output)) {
|
||||
(new Collection($output))->each(fn ($line) => $this->errorOutput($line));
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
$this->output[] = ['type' => 'err', 'buffer' => rtrim($output, "\n")."\n"];
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace the entire output buffer with the given string.
|
||||
*
|
||||
* @param string $output
|
||||
* @return $this
|
||||
*/
|
||||
public function replaceOutput(string $output)
|
||||
{
|
||||
$this->output = (new Collection($this->output))
|
||||
->reject(fn ($output) => $output['type'] === 'out')
|
||||
->values()
|
||||
->all();
|
||||
|
||||
if (strlen($output) > 0) {
|
||||
$this->output[] = [
|
||||
'type' => 'out',
|
||||
'buffer' => rtrim($output, "\n")."\n",
|
||||
];
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace the entire error output buffer with the given string.
|
||||
*
|
||||
* @param string $output
|
||||
* @return $this
|
||||
*/
|
||||
public function replaceErrorOutput(string $output)
|
||||
{
|
||||
$this->output = (new Collection($this->output))
|
||||
->reject(fn ($output) => $output['type'] === 'err')
|
||||
->values()
|
||||
->all();
|
||||
|
||||
if (strlen($output) > 0) {
|
||||
$this->output[] = [
|
||||
'type' => 'err',
|
||||
'buffer' => rtrim($output, "\n")."\n",
|
||||
];
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Specify the process exit code.
|
||||
*
|
||||
* @param int $exitCode
|
||||
* @return $this
|
||||
*/
|
||||
public function exitCode(int $exitCode)
|
||||
{
|
||||
$this->exitCode = $exitCode;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Specify how many times the "isRunning" method should return "true".
|
||||
*
|
||||
* @param int $iterations
|
||||
* @return $this
|
||||
*/
|
||||
public function iterations(int $iterations)
|
||||
{
|
||||
return $this->runsFor(iterations: $iterations);
|
||||
}
|
||||
|
||||
/**
|
||||
* Specify how many times the "isRunning" method should return "true".
|
||||
*
|
||||
* @param int $iterations
|
||||
* @return $this
|
||||
*/
|
||||
public function runsFor(int $iterations)
|
||||
{
|
||||
$this->runIterations = $iterations;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Turn the fake process description into an actual process.
|
||||
*
|
||||
* @param string $command
|
||||
* @return \Symfony\Component\Process\Process
|
||||
*/
|
||||
public function toSymfonyProcess(string $command)
|
||||
{
|
||||
return Process::fromShellCommandline($command);
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert the process description into a process result.
|
||||
*
|
||||
* @param string $command
|
||||
* @return \Illuminate\Contracts\Process\ProcessResult
|
||||
*/
|
||||
public function toProcessResult(string $command)
|
||||
{
|
||||
return new FakeProcessResult(
|
||||
command: $command,
|
||||
exitCode: $this->exitCode,
|
||||
output: $this->resolveOutput(),
|
||||
errorOutput: $this->resolveErrorOutput(),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolve the standard output as a string.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected function resolveOutput()
|
||||
{
|
||||
$output = (new Collection($this->output))
|
||||
->filter(fn ($output) => $output['type'] === 'out');
|
||||
|
||||
return $output->isNotEmpty()
|
||||
? rtrim($output->map->buffer->implode(''), "\n")."\n"
|
||||
: '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolve the error output as a string.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected function resolveErrorOutput()
|
||||
{
|
||||
$output = (new Collection($this->output))
|
||||
->filter(fn ($output) => $output['type'] === 'err');
|
||||
|
||||
return $output->isNotEmpty()
|
||||
? rtrim($output->map->buffer->implode(''), "\n")."\n"
|
||||
: '';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user