Skip to content

Commit 2850136

Browse files
committed
Merge branch '12.3' into fix/paste-recursive-update-references-block-support
2 parents 78f3d4e + 16486af commit 2850136

181 files changed

Lines changed: 8309 additions & 821 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/claude.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
actions: read # Required for Claude to read CI results on PRs
2727
steps:
2828
- name: Checkout repository
29-
uses: actions/checkout@v4
29+
uses: actions/checkout@v5.0.1
3030
with:
3131
fetch-depth: 1
3232

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: "Codeception Tests centralised"
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request_target:
6+
types: [opened, synchronize, reopened]
7+
branches:
8+
- "12.*"
9+
paths-ignore:
10+
- 'doc/**'
11+
- 'bundles/**/public/**'
12+
push:
13+
branches:
14+
- "12.*"
15+
paths-ignore:
16+
- 'doc/**'
17+
- 'bundles/**/public/**'
18+
permissions:
19+
contents: read
20+
jobs:
21+
codeception-tests:
22+
uses: pimcore/workflows-collection-public/.github/workflows/reusable-codeception-public.yaml@main
23+
strategy:
24+
matrix:
25+
include:
26+
- { php-version: 8.4, database: "mariadb:11.2", dependencies: highest, experimental: false, storage: local, symfony: "", composer-options: "" }
27+
- { php-version: 8.4, database: "mariadb:10.3", dependencies: lowest, experimental: false, storage: local, symfony: "", composer-options: "" }
28+
- { php-version: 8.3, database: "mariadb:10.5", dependencies: highest, experimental: false, storage: local, symfony: "", composer-options: "" }
29+
- { php-version: 8.3, database: "mariadb:10.11", dependencies: highest, experimental: false, storage: local, symfony: "", composer-options: "" }
30+
- { php-version: 8.3, database: "mysql:8.0", dependencies: lowest, experimental: false, storage: local, symfony: "", composer-options: "" }
31+
- { php-version: 8.3, database: "percona:8.0", dependencies: lowest, experimental: false, storage: minio, symfony: "", composer-options: "" }
32+
with:
33+
php-version: ${{ matrix.php-version }}
34+
database: ${{ matrix.database }}
35+
dependencies: ${{ matrix.dependencies }}
36+
experimental: ${{ matrix.experimental }}
37+
storage: ${{ matrix.storage }}
38+
symfony: ${{ matrix.symfony }}
39+
composer-options: ${{ matrix.composer-options }}
40+
repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }}
41+
PIMCORE_PROJECT_ROOT: ${{ github.workspace }}
42+
APP_ENV: "test"
43+
PIMCORE_TEST: 1
44+
PIMCORE_TEST_DB_DSN: "mysql://root@127.0.0.1:33006/pimcore_test"
45+
PIMCORE_TEST_REDIS_DSN: "redis://127.0.0.1:63379"
46+
MINIO_ACCESS_KEY: "PIMCORE_OBJECT_STORAGE_ACCESS_KEY"
47+
MINIO_SECRET_KEY: "PIMCORE_OBJECT_STORAGE_SECRET_KEY"
48+
BRANCH_NAME: ${{ github.head_ref || github.ref }}
49+
secrets:
50+
PIMCORE_INSTANCE_IDENTIFIER: ${{ secrets.PIMCORE_CI_INSTANCE_IDENTIFIER }}
51+
PIMCORE_ENCRYPTION_SECRET: ${{ secrets.PIMCORE_CI_ENCRYPTION_SECRET }}
52+
PIMCORE_PRODUCT_KEY: ${{ secrets.PIMCORE_CI_PRODUCT_KEY }}

.github/workflows/codeception.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ jobs:
3131
strategy:
3232
matrix:
3333
include:
34-
- { php-version: 8.3, database: "mariadb:11.2", dependencies: highest, experimental: false, storage: local, symfony: "", composer-options: "" }
35-
- { php-version: 8.3, database: "mysql:8.4.4", dependencies: highest, experimental: false, storage: local, symfony: "", composer-options: "" }
36-
- { php-version: 8.3, database: "mariadb:10.3", dependencies: lowest, experimental: false, storage: local, symfony: "", composer-options: "" }
37-
- { php-version: 8.4, database: "mariadb:10.5", dependencies: highest, experimental: false, storage: local, symfony: "", composer-options: "" }
38-
- { php-version: 8.4, database: "mariadb:10.11", dependencies: highest, experimental: false, storage: local, symfony: "", composer-options: "" }
39-
- { php-version: 8.4, database: "mysql:8.4.4", dependencies: highest, experimental: false, storage: local, symfony: "", composer-options: "" }
34+
- { php-version: "8.3", database: "mariadb:11.2", dependencies: highest, experimental: false, storage: local, symfony: "", composer-options: "" }
35+
- { php-version: "8.3", database: "mysql:8.4.4", dependencies: highest, experimental: false, storage: local, symfony: "", composer-options: "" }
36+
- { php-version: "8.3", database: "mariadb:10.3", dependencies: lowest, experimental: false, storage: local, symfony: "", composer-options: "" }
37+
- { php-version: "8.4", database: "mariadb:10.5", dependencies: highest, experimental: false, storage: local, symfony: "", composer-options: "" }
38+
- { php-version: "8.4", database: "mariadb:10.11", dependencies: highest, experimental: false, storage: local, symfony: "", composer-options: "" }
39+
- { php-version: "8.4", database: "mysql:8.4.4", dependencies: highest, experimental: false, storage: local, symfony: "", composer-options: "" }
4040
with:
4141
php-version: ${{ matrix.php-version }}
4242
database: ${{ matrix.database }}

.github/workflows/copilot-setup-steps.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121

2222
steps:
2323
- name: Checkout code
24-
uses: actions/checkout@v4
24+
uses: actions/checkout@v5.0.1
2525

2626
- name: "Install PHP"
2727
uses: "shivammathur/setup-php@v2"

.github/workflows/docs.yaml.bak

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@
3232
# if: ${{ github.repository == 'pimcore/pimcore' }}
3333
# steps:
3434
# - name: "Checkout code"
35-
# uses: "actions/checkout@v4"
35+
# uses: "actions/checkout@v5.0.1"
3636
# with:
3737
# ref: ${{ github.event.pull_request.head.sha }}
3838
#
3939
# - name: "Checkout Docs Generator"
40-
# uses: "actions/checkout@v4"
40+
# uses: "actions/checkout@v5.0.1"
4141
# with:
4242
# repository: "pimcore/docs-generator"
4343
# ref: "main"

.github/workflows/php-cs-fixer.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ jobs:
1616
secrets:
1717
PHP_CS_FIXER_GITHUB_TOKEN: ${{ secrets.PHP_CS_FIXER_GITHUB_TOKEN }}
1818
with:
19-
head_ref: ${{ github.event.pull_request.head.ref }}
20-
repository: ${{ github.event.pull_request.head.repo.full_name }}
19+
head_ref: ${{ github.ref_name }}
20+
repository: ${{ github.repository }}
2121
config_file: .php-cs-fixer.dist.php
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
2+
name: "PHPStan Static Analysis 12.x "
3+
4+
on:
5+
workflow_dispatch:
6+
pull_request_target:
7+
branches:
8+
- "12.*"
9+
paths-ignore:
10+
- 'doc/**'
11+
- 'bundles/**/public/**'
12+
push:
13+
branches:
14+
- "12.*"
15+
paths-ignore:
16+
- 'doc/**'
17+
- 'bundles/**/public/**'
18+
19+
env:
20+
PIMCORE_INSTANCE_IDENTIFIER: ${{ secrets.PIMCORE_CI_INSTANCE_IDENTIFIER }}
21+
PIMCORE_ENCRYPTION_SECRET: ${{ secrets.PIMCORE_CI_ENCRYPTION_SECRET }}
22+
PIMCORE_PRODUCT_KEY: ${{ secrets.PIMCORE_CI_PRODUCT_KEY }}
23+
PIMCORE_PROJECT_ROOT: ${{ github.workspace }}
24+
APP_ENV: test
25+
PIMCORE_TEST: 1
26+
PIMCORE_STORAGE: 'local'
27+
28+
permissions:
29+
contents: read
30+
31+
jobs:
32+
static-analysis-phpstan:
33+
name: "Static Analysis with PHPStan"
34+
runs-on: "ubuntu-22.04"
35+
continue-on-error: ${{ matrix.experimental }}
36+
strategy:
37+
matrix:
38+
include:
39+
- { php-version: "8.4", dependencies: "lowest", experimental: false, symfony: "", composer-options: "" }
40+
- { php-version: "8.4", dependencies: "highest", experimental: false, symfony: "", composer-options: "" }
41+
- { php-version: "8.3", dependencies: "lowest", experimental: false, symfony: "", composer-options: "" }
42+
- { php-version: "8.3", dependencies: "highest", experimental: false, symfony: "", composer-options: "" }
43+
steps:
44+
- name: Checkout PR head (only for pull_request_target)
45+
if: github.event_name == 'pull_request_target'
46+
uses: "actions/checkout@v5.0.1"
47+
with:
48+
ref: "refs/pull/${{ github.event.pull_request.number }}/merge"
49+
50+
- name: Checkout 11.5 branch for scheduled runs
51+
if: github.event_name == 'schedule'
52+
uses: "actions/checkout@v5.0.1"
53+
with:
54+
ref: "12.3"
55+
56+
- name: Checkout PR head (for push or workflow_dispatch)
57+
if: github.event_name != 'pull_request_target' && github.event_name != 'schedule'
58+
uses: "actions/checkout@v5.0.1"
59+
60+
- name: "Install PHP"
61+
uses: "shivammathur/setup-php@v2"
62+
with:
63+
coverage: "none"
64+
php-version: "${{ matrix.php-version }}"
65+
66+
- name: "Setup Pimcore environment"
67+
run: |
68+
.github/ci/scripts/setup-pimcore-environment.sh
69+
70+
- name: "Set Symfony version constraint in composer.json"
71+
env:
72+
SYMFONY_VERSION: "${{ matrix.symfony }}"
73+
run: |
74+
if [ ! -z "$SYMFONY_VERSION" ]; then
75+
.github/ci/scripts/symfony-require-dev.sh
76+
fi
77+
78+
- name: "Install dependencies with Composer"
79+
uses: "ramsey/composer-install@v2"
80+
with:
81+
dependency-versions: "${{ matrix.dependencies }}"
82+
composer-options: "${{ matrix.composer-options }}"
83+
84+
- name: "Run a static analysis with phpstan/phpstan (highest)"
85+
if: ${{ matrix.dependencies == 'highest' }}
86+
run: "vendor/bin/phpstan analyse --memory-limit=-1"
87+
88+
- name: "Run a static analysis with phpstan/phpstan (lowest)"
89+
if: ${{ matrix.dependencies == 'lowest' }}
90+
run: "vendor/bin/phpstan analyse --memory-limit=-1 -c phpstan-lowest.neon"
91+
92+
- name: "Generate baseline file"
93+
if: ${{ failure() }}
94+
run: "vendor/bin/phpstan analyse --memory-limit=-1 --generate-baseline"
95+
96+
- name: "Upload baseline file"
97+
if: ${{ failure() }}
98+
uses: actions/upload-artifact@v4
99+
with:
100+
name: phpstan-baseline.neon
101+
path: phpstan-baseline.neon

.github/workflows/static-analysis.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,13 @@ jobs:
4545
steps:
4646
- name: Checkout PR head (only for pull_request_target)
4747
if: github.event_name == 'pull_request_target'
48-
uses: "actions/checkout@v4"
48+
uses: "actions/checkout@v5.0.1"
4949
with:
5050
ref: "refs/pull/${{ github.event.pull_request.number }}/merge"
5151

5252
- name: Checkout PR head (for push or other events)
5353
if: github.event_name != 'pull_request_target'
54-
uses: "actions/checkout@v4"
54+
uses: "actions/checkout@v5.0.1"
5555

5656
- name: "Install PHP"
5757
uses: "shivammathur/setup-php@v2"

3rd-party-licenses.md

Lines changed: 4 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,11 @@
11
# License overview of included 3rd party libraries
22

3-
The Pimcore project is licensed under the terms of the [GPLv3](LICENSE.md).
3+
The Pimcore project is licensed under the terms of the [Pimcore Open Core License (POCL)](LICENSE.md).
44

55

66
However, Pimcore includes several third-party Open-Source libraries,
77
which are licensed under their own respective Open-Source licenses.
88

9-
The specific verions of a library are documented in
10-
[PIMCORE_MODIFICATIONS.md](bundles/AdminBundle/public/js/lib/PIMCORE_MODIFICATIONS.md).
11-
12-
## Libraries directly included in Pimcore
13-
14-
### ExtJS by Sencha Inc.
15-
License: GPLv3
16-
pimcore includes the GPLv3 version of the ExtJS JavaScript framework.
17-
http://www.sencha.com/license/
18-
19-
### Leaflet
20-
License: BSD
21-
https://github.com/Leaflet/Leaflet/blob/master/LICENSE
22-
23-
### miniPaint
24-
License: MIT
25-
https://github.com/viliusle/miniPaint/blob/master/MIT-LICENSE.txt
26-
27-
### moment.js
28-
License: MIT
29-
https://github.com/moment/moment/blob/develop/LICENSE
30-
31-
### Bootstrap
32-
License: MIT
33-
http://opensource.org/licenses/mit-license.php
34-
35-
### flatpickr
36-
License: MIT
37-
http://opensource.org/licenses/mit-license.php
38-
39-
### Fontawesome
40-
Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License
41-
https://fontawesome.com/license/free
42-
43-
### Chart.js
44-
License: MIT
45-
http://opensource.org/licenses/mit-license.php
46-
47-
### Ace (Ajax.org Cloud9 Editor)
48-
License: BSD
49-
https://github.com/ajaxorg/ace/blob/master/LICENSE
50-
51-
### famfamfam.com Silk Icons by Mark James
52-
License: Creative Commons Attribution 2.5 License
53-
http://www.famfamfam.com/lab/icons/silk/
54-
55-
### Flat Color Icons by Icons8
56-
License: MIT & Good Boy License
57-
https://github.com/icons8/flat-color-icons/blob/master/LICENSE.md
58-
59-
### Twitter Emoji (Twemoji)
60-
License: MIT & CC-BY 4.0
61-
https://twemoji.twitter.com/
62-
63-
64-
## Libraries dynamically referenced via Composer
65-
66-
Run `composer license` in your project to get the latest licensing info about all dependencies.
9+
## Libraries dynamically referenced via Composer and NPM
10+
11+
Run the license audit command of the package manager to get the latest licensing info about all dependencies (e.g. `composer license`).

bundles/ApplicationLoggerBundle/public/js/log/admin.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,11 @@ pimcore.bundle.applicationlogger.log.admin = Class.create({
428428
}
429429
this.searchParams.message = formValues.message;
430430
this.searchParams.pid = formValues.pid;
431+
try {
432+
this.searchParams.userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone || '';
433+
} catch (e) {
434+
this.searchParams.userTimezone = '';
435+
}
431436

432437
var proxy = this.store.getProxy();
433438
proxy.extraParams = this.searchParams;

0 commit comments

Comments
 (0)