file manager change

This commit is contained in:
Yuri Kuznetsov
2021-01-11 13:10:39 +02:00
parent 97e7b1982f
commit 3f221878e8
5 changed files with 24 additions and 9 deletions

View File

@@ -139,7 +139,9 @@ class ContainerBuilder
);
$fileManager = $this->services['fileManager'] ?? (
new $this->fileManagerClassName($config)
new $this->fileManagerClassName(
$config->get('defaultPermissions')
)
);
$dataCache = $this->services['dataCache'] ?? (

View File

@@ -45,11 +45,21 @@ class EspoFileHandler extends MonologStreamHandler
protected $maxErrorMessageLength = 5000;
protected $configPath = 'data/config.php';
public function __construct(string $filename, $level = Logger::DEBUG, bool $bubble = true)
{
parent::__construct($filename, $level, $bubble);
$this->fileManager = new FileManager();
$defaultPermissions = null;
if (file_exists($this->configPath)) {
$configData = include $this->configPath;
$defaultPermissions = $configData['defaultPermissions'] ?? null;
}
$this->fileManager = new FileManager($defaultPermissions);
}
protected function write(array $record): void

View File

@@ -45,7 +45,9 @@ class ConfigFileManager
public function setConfig(Config $config)
{
$this->fileManager = new FileManager($config);
$this->fileManager = new FileManager(
$config->get('defaultPermissions')
);
}
public function isFile(string $filePath) : bool

View File

@@ -55,13 +55,13 @@ class Manager
const GET_SAFE_CONTENTS_RETRY_INTERVAL = 0.1;
public function __construct(?Config $config = null)
public function __construct(?array $defaultPermissions = null)
{
$params = null;
if (isset($config)) {
if ($defaultPermissions) {
$params = [
'defaultPermissions' => $config->get('defaultPermissions'),
'defaultPermissions' => $defaultPermissions,
];
}

View File

@@ -28,8 +28,11 @@
************************************************************************/
namespace tests\unit\Espo\Core\Utils\File;
use tests\unit\ReflectionHelper;
use Espo\Core\Utils\Util;
use Espo\Core\Utils\File\Manager as FileManager;
class ManagerTest extends \PHPUnit\Framework\TestCase
{
@@ -44,9 +47,7 @@ class ManagerTest extends \PHPUnit\Framework\TestCase
protected function setUp() : void
{
$this->objects['config'] = $this->getMockBuilder('\Espo\Core\Utils\Config')->disableOriginalConstructor()->getMock();
$this->object = new \Espo\Core\Utils\File\Manager();
$this->object = new FileManager();
$this->reflection = new ReflectionHelper($this->object);
}