- 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>
31 lines
793 B
PHP
Executable File
31 lines
793 B
PHP
Executable File
<?php
|
|
declare(strict_types=1);
|
|
|
|
namespace League\Flysystem;
|
|
|
|
use function hash_final;
|
|
use function hash_init;
|
|
use function hash_update_stream;
|
|
|
|
trait CalculateChecksumFromStream
|
|
{
|
|
private function calculateChecksumFromStream(string $path, Config $config): string
|
|
{
|
|
try {
|
|
$stream = $this->readStream($path);
|
|
$algo = (string) $config->get('checksum_algo', 'md5');
|
|
$context = hash_init($algo);
|
|
hash_update_stream($context, $stream);
|
|
|
|
return hash_final($context);
|
|
} catch (FilesystemException $exception) {
|
|
throw new UnableToProvideChecksum($exception->getMessage(), $path, $exception);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return resource
|
|
*/
|
|
abstract public function readStream(string $path);
|
|
}
|