ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
UploadLimitResolver.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
26
44{
45 public function __construct(
46 protected PhpUploadLimit $php_upload_limit,
47 protected GlobalUploadLimit $global_upload_limit
48 ) {
49 }
50
52 UploadHandler $upload_handler,
53 ?int $local_limit_in_bytes = null
54 ): int {
55 if (null !== $local_limit_in_bytes && $this->canUploadLimitBeUsed($upload_handler, $local_limit_in_bytes)) {
56 return $local_limit_in_bytes;
57 }
58
59 $global_upload_limit_in_bytes = $this->global_upload_limit->getGlobalUploadLimitInBytes();
60
61 if (null !== $global_upload_limit_in_bytes &&
62 $this->canUploadLimitBeUsed($upload_handler, $global_upload_limit_in_bytes)
63 ) {
64 return $global_upload_limit_in_bytes;
65 }
66
67 return $this->getPhpUploadLimitInBytes();
68 }
69
70 public function getPhpUploadLimitInBytes(): int
71 {
72 return $this->php_upload_limit->getPhpUploadLimitInBytes();
73 }
74
75 protected function canUploadLimitBeUsed(UploadHandler $upload_handler, ?int $limit_in_bytes): bool
76 {
77 if ($upload_handler->supportsChunkedUploads()) {
78 return true;
79 }
80
81 return $limit_in_bytes <= $this->getPhpUploadLimitInBytes();
82 }
83}
canUploadLimitBeUsed(UploadHandler $upload_handler, ?int $limit_in_bytes)
getBestPossibleUploadLimitInBytes(UploadHandler $upload_handler, ?int $local_limit_in_bytes=null)
__construct(protected PhpUploadLimit $php_upload_limit, protected GlobalUploadLimit $global_upload_limit)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
if(!file_exists('../ilias.ini.php'))