Added manual hashes.
This commit is contained in:
@@ -25,6 +25,10 @@ class HashesUpload extends Component
|
||||
*/
|
||||
public array $hashes = [];
|
||||
|
||||
public ?string $manualFilename = "";
|
||||
public ?string $manualCRC32 = "";
|
||||
public ?string $manualSHA1 = "";
|
||||
|
||||
/**
|
||||
* Prepare old hashes.
|
||||
*
|
||||
@@ -87,6 +91,41 @@ class HashesUpload extends Component
|
||||
array_splice($this->hashes, $index, 1);
|
||||
}
|
||||
|
||||
private function checkCrc32($attribute, $value, $fail)
|
||||
{
|
||||
if (!preg_match('/^[a-f0-9]{8}$/i', $value)) {
|
||||
$fail("CRC32 is invalid");
|
||||
}
|
||||
}
|
||||
|
||||
private function checkSha1($attribute, $value, $fail)
|
||||
{
|
||||
if (!preg_match('/^[a-f0-9]{40}$/i', $value)) {
|
||||
$fail("SHA1 is invalid");
|
||||
}
|
||||
}
|
||||
|
||||
public function addManualHash()
|
||||
{
|
||||
$this->validate([
|
||||
'manualFilename' => "required|string|max:512",
|
||||
'manualCRC32' => ['required', 'string', 'max:512', $this->checkCrc32(...) ],
|
||||
'manualSHA1' => ['required', 'string', 'max:512', $this->checkSha1(...) ],
|
||||
], [
|
||||
'manualFilename.required' => 'Please enter a filename.',
|
||||
'manualCRC32.required' => 'Please enter a crc32.',
|
||||
'manualSHA1.required' => 'Please enter a SHA1.',
|
||||
'manualFilename.max' => 'Filename has to be less than 512 characters.',
|
||||
'manualCRC32.max' => 'CRC32 has to be less than 512 characters.',
|
||||
'manualSHA1.max' => 'SHA1 has to be less than 512 characters.',
|
||||
]);
|
||||
|
||||
$this->addHash( $this->manualFilename, $this->manualCRC32, $this->manualSHA1 );
|
||||
|
||||
$this->reset(['manualFilename','manualCRC32','manualSHA1']);
|
||||
$this->dispatch('close-manual-modal');
|
||||
}
|
||||
|
||||
|
||||
public function render(): View
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user