25 lines
687 B
PHP
25 lines
687 B
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
namespace Mcp\Api;
|
|
|
|
class DownloadIar extends \Mcp\RequestHandler
|
|
{
|
|
|
|
public function get(): void
|
|
{
|
|
if (preg_match('/^[a-f0-9]{32}$/', $_GET['id'])) {
|
|
$path = $this->app->getDataDir().DIRECTORY_SEPARATOR.'iars'.DIRECTORY_SEPARATOR.$_GET['id'].'.iar';
|
|
if (file_exists($path)) {
|
|
header('Content-Type: '.mime_content_type($path));
|
|
header('Content-Disposition: attachment; filename='.$_GET['id'].'.iar');
|
|
header('Content-Length: '.filesize($path));
|
|
readfile($path);
|
|
return;
|
|
}
|
|
}
|
|
|
|
http_response_code(404);
|
|
}
|
|
}
|