chore: Update copyright year from 2025 to 2026 across core files

- Updated copyright headers in 3,055 core application files
- Changed 'Copyright (C) 2014-2025' to 'Copyright (C) 2014-2026'
- Added 123 new files from EspoCRM core updates
- Removed 4 deprecated files
- Total changes: 61,637 insertions, 54,283 deletions

This is a routine maintenance update for the new year 2026.
This commit is contained in:
2026-02-07 16:05:21 +01:00
parent 6a8a4a2882
commit 127fa6503b
6468 changed files with 564781 additions and 31179 deletions

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 EspoCRM, Inc.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 EspoCRM, Inc.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -31,6 +31,8 @@ namespace Espo\Core\Record\Input;
/**
* An input filter.
*
* $entityType is passed to the constructor as of v9.3.
*/
interface Filter
{

View File

@@ -3,7 +3,7 @@
* This file is part of EspoCRM.
*
* EspoCRM Open Source CRM application.
* Copyright (C) 2014-2025 EspoCRM, Inc.
* Copyright (C) 2014-2026 EspoCRM, Inc.
* Website: https://www.espocrm.com
*
* This program is free software: you can redistribute it and/or modify
@@ -31,6 +31,7 @@ namespace Espo\Core\Record\Input;
use Espo\Core\Acl;
use Espo\Core\Binding\BindingContainerBuilder;
use Espo\Core\Binding\ContextualBinder;
use Espo\Core\InjectableFactory;
use Espo\Core\Utils\Metadata;
use Espo\Entities\User;
@@ -49,17 +50,13 @@ class FilterProvider
*/
public function getForCreate(string $entityType): array
{
$classNameList = $this->getCreateClassNameList($entityType);
$list = [];
$binding = BindingContainerBuilder::create()
->bindInstance(User::class, $this->user)
->bindInstance(Acl::class, $this->acl)
->build();
foreach ($this->getCreateClassNameList($entityType) as $className) {
$list[] = $this->createFilter($className, $entityType);
}
return array_map(
fn ($className) => $this->injectableFactory->createWithBinding($className, $binding),
$classNameList
);
return $list;
}
/**
@@ -67,17 +64,29 @@ class FilterProvider
*/
public function getForUpdate(string $entityType): array
{
$classNameList = $this->getUpdateClassNameList($entityType);
$list = [];
foreach ($this->getUpdateClassNameList($entityType) as $className) {
$list[] = $this->createFilter($className, $entityType);
}
return $list;
}
/**
* @param class-string<Filter> $className
*/
private function createFilter(string $className, string $entityType): Filter
{
$binding = BindingContainerBuilder::create()
->bindInstance(User::class, $this->user)
->bindInstance(Acl::class, $this->acl)
->inContext($className, function (ContextualBinder $binder) use ($entityType) {
$binder->bindValue('$entityType', $entityType);
})
->build();
return array_map(
fn ($className) => $this->injectableFactory->createWithBinding($className, $binding),
$classNameList
);
return $this->injectableFactory->createWithBinding($className, $binding);
}
/**