Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
180 commits
Select commit Hold shift + click to select a range
a214bde
Joomla! 4.4.10 Stable
MacJoom Dec 28, 2024
8949dd4
Revert to dev
MacJoom Jan 7, 2025
84ce11e
[4.4] [Security] Composer update symfony/process to version 5.4.47 (#…
richard67 Feb 3, 2025
bb0e472
fix PHP 8.4 bug preventing namespace map being written (#44811)
SniperSister Feb 3, 2025
9f91171
Joomla! 4.4.11 Rc1
MacJoom Feb 9, 2025
1c5bbf4
Revert to dev
MacJoom Feb 11, 2025
a3a75d7
Joomla! 4.4.11 Stable
MacJoom Feb 12, 2025
c244480
Revert to dev
MacJoom Feb 18, 2025
741e775
[5.2][system tests] Do not delete tuf metadata (#44866)
SniperSister Feb 20, 2025
ec31a42
Set column alias for BannerTable, fix warning on Save As Copy (#44864)
joomdonation Feb 20, 2025
f716005
[5.2] Translation Update (#44919)
joomla-translation-bot Feb 20, 2025
64ac8c8
[5.2] PHP Deprecated: trim(): Passing null to parameter #1 ($string) …
alikon Feb 20, 2025
4b5ff87
Add border last element media breadcrumbs (#44995)
drmenzelit Feb 25, 2025
1a5ea16
[5.2] Disable compat plugin for system tests (#44997)
heelc29 Feb 25, 2025
97754e1
[cypress] Update Menu.cy.js (#45005)
brianteeman Feb 26, 2025
150f520
Update contact.xml (#44988)
Feb 26, 2025
eb1fed9
Redesign carousel implementation to reflect documentation - bug fix (…
iteidrm Feb 26, 2025
ced9cfe
[5.3] better use str_starts_with (#44998)
heelc29 Feb 26, 2025
cef42f9
[5.3] Combine multiple unset call into one call (#44983)
joomdonation Feb 26, 2025
40daa53
[5.3] Change isset($var) && multiple times to one isset call (#44982)
joomdonation Feb 26, 2025
26d8886
Simplify code using no_unneeded_control_parentheses rule (#44981)
joomdonation Feb 26, 2025
3f2caca
Improve api app code using rector rules (#44975)
joomdonation Feb 26, 2025
b7fee10
[5.3] Change list() to array destruct for libraries code (#44973)
joomdonation Feb 26, 2025
1bd1dd6
[5.3] Change list() to array destruct for modules and plugins code (#…
joomdonation Feb 26, 2025
867945a
Changes unneeded null check to ?? operator for modules and plugins (#…
joomdonation Feb 26, 2025
aae2d2b
Remove unused variable in try catch block for modules and plugins (#4…
joomdonation Feb 26, 2025
fb9aa8e
Add frontediting setting (#44978)
QuyTon Feb 26, 2025
f6a24db
Fix MailsHelper::loadTranslationFiles (#44952)
joomdonation Feb 27, 2025
45b59b6
Fix dispatcher ACl checks: ignore any non-display tasks (#44951)
SniperSister Feb 27, 2025
064c8f6
[5.2] Add legacy message to content modules (#44366)
bembelimen Feb 27, 2025
dcbaacd
[5.3] Handle fields event in EmailCloak plugin (#44923)
rdeutz Feb 27, 2025
3be1e6c
[5.3] Category View: Fix meta tag for author (#44903)
Hackwar Feb 27, 2025
87220a4
Composer update php-debugbar to 1.23.6 (#44901)
richard67 Feb 27, 2025
c3eeb32
[5.3] Make mailtemplate information available in mail template layout…
SniperSister Feb 27, 2025
576f005
[5.3] Replace calls to dirname(__FILE) with __DIR__ (#44882)
janschoenherr Feb 27, 2025
a9c5a1b
[5.3] Remove unnecessary array internal pointer resets (#44881)
janschoenherr Feb 27, 2025
c727588
Use null coalescing assignment operator for modules and plugins (#44972)
joomdonation Feb 27, 2025
1d7650b
Fix Field Group permission check (#44956)
joomdonation Feb 27, 2025
4c6bb85
[5.3] Fields batch copy category (#44943)
chmst Feb 27, 2025
2e81829
[5.x][docu] Minor sudo fix (#45031)
muhme Feb 28, 2025
6af88f5
[Cypress] PHP Backend Notice com_media/Files (#44976)
muhme Feb 28, 2025
8a17a99
[5.3] Remove unsed variable messages from enqueue messages (#42948)
chmst Feb 28, 2025
457e5f4
Merge remote-tracking branch 'upstream/5.2-dev' into 5.3-dev-upmerge-…
richard67 Feb 28, 2025
a971099
Merge pull request #45034 from richard67/5.3-dev-upmerge-2025-02-28
richard67 Feb 28, 2025
1ce0a30
Fix mail background colour and line for Outlook (#44985)
webgras Feb 28, 2025
1bc1e8f
[5.3] Remove useless sprintf function call (#45036)
joomdonation Feb 28, 2025
eb65310
[5.3] fine grain task notification mail (#44604)
alikon Feb 28, 2025
76918b0
[5.3] CMSPlugin: Deprecate use of DispatcherAware and LanguageAware (…
Fedik Feb 28, 2025
e016edc
Fix code logic in admin controllers (#45037)
joomdonation Feb 28, 2025
ebaced4
Remove un-used import (#45042)
joomdonation Mar 1, 2025
2c859aa
[5.3] Fix core update information retrieval after changing the update…
SniperSister Mar 1, 2025
d2647be
Joomla! 5.3.0 Beta 2
rdeutz Mar 1, 2025
2790955
reset to dev
rdeutz Mar 2, 2025
0c154ff
[5.2][cypress] clean user session (#45059)
heelc29 Mar 2, 2025
8d555a7
[Cypress][docu] tests/System/README.md revised in 5 points (#44660)
muhme Mar 3, 2025
cf8f95f
Joomla! 5.2.5
Hackwar Mar 4, 2025
9d40471
Revert to dev
Hackwar Mar 4, 2025
29cf0ee
Joomla! 4.4.12 Stable
MacJoom Mar 4, 2025
3113271
add param default (#45055)
alikon Mar 5, 2025
8202206
Undefined property in newsfeed API test (#45043)
alikon Mar 5, 2025
0c5c9ac
[5.3][ cypress] null coalescing operator (#45008)
alikon Mar 5, 2025
f1737ea
wording (#45058)
tecpromotion Mar 5, 2025
9d2dcb7
[5.3][cypress] move uncaught:exception to specific test (#44718)
heelc29 Mar 6, 2025
6588338
Merge branch '5.2-dev' into 5.3-dev
laoneo Mar 7, 2025
8689926
[5.3][cypress] install extension From Url (#45051)
alikon Mar 7, 2025
5fcd198
[5.3][cypress] Add tests for shortcut plugin (#45061)
heelc29 Mar 7, 2025
a589d2d
[53][Cypress] Don't Force SSL (#45089)
muhme Mar 8, 2025
1cec2ba
PHP Warning: Undefined array key "menuordering" (#45092)
alikon Mar 8, 2025
5767d54
[5.3] Template Description (#45078)
brianteeman Mar 8, 2025
cee1192
[5.3] Arrange task types alphabetically (#45080)
reem-atalah Mar 8, 2025
5bd9d00
Remove JPATH_COMPONENT_ADMINISTRATOR usage in components code (#45049)
joomdonation Mar 8, 2025
d49e6ed
Remove un-used variables (#45045)
joomdonation Mar 8, 2025
0859c0f
[5.3] Clean up com_templates StyleModel (#45077)
joomdonation Mar 9, 2025
75e8161
Fix warnings on frontend template options editing (#45053)
joomdonation Mar 9, 2025
2431acf
Update minify-vendor.es6.js (#45027)
dgrammatiko Mar 9, 2025
f94fc56
Do not use the deprecated get functions in Joomla action log plugin (…
laoneo Mar 9, 2025
7bd454b
[5.3][cypress] php warning (#45030)
alikon Mar 10, 2025
aa8dd65
[5.3][cypress] PHP Warning Undefined array key "parent_id" on POST c…
alikon Mar 10, 2025
823f572
set parent_id (#45095)
alikon Mar 10, 2025
d8c683c
Revert to dev
MacJoom Mar 11, 2025
124711d
Merge remote-tracking branch 'upstream/5.2-dev' into 5.3-dev-upmerge-…
richard67 Mar 11, 2025
b3bfd28
Merge pull request #45108 from richard67/5.3-dev-upmerge-2025-03-11
richard67 Mar 11, 2025
b9b3c61
Revert to dev
MacJoom Mar 11, 2025
0d93740
[5.3] display email address in contact (#44792)
brianteeman Mar 12, 2025
f280114
add changes (#45125)
laoneo Mar 13, 2025
0ecd539
cli command test for finder (#45126)
alikon Mar 13, 2025
e773b6a
[5.3][cypress]PHP Warning Undefined array key "parent_id" on POST com…
brianteeman Mar 13, 2025
107b4bb
[5.3][cypress] smart search index & purge (#45127)
alikon Mar 14, 2025
868b106
avoid deprecated (#45091)
alikon Mar 14, 2025
a45f34d
[5.2] Translation Update (#44949)
joomla-translation-bot Mar 14, 2025
fa61769
[5.3] Replace xml_set_object with proper callable parameters (#44490)
HLeithner Mar 14, 2025
24e4ae3
[5.3] [a11y] Dark Mode log in message (#45117)
brianteeman Mar 14, 2025
e3be9d2
[5.3] Clean up CategoryEdit form field (#45116)
joomdonation Mar 14, 2025
3bdfce2
[5.3] System test in media manager to prevent a rename (#45115)
laoneo Mar 14, 2025
2410840
[5.3]allowTourAutoStart in user profile (#45109)
brianteeman Mar 14, 2025
8cad920
[5.3] Guided Tours: What's New (#44871)
sdwjoomla Mar 14, 2025
1bc5beb
[5.3] Catch undefined cors options when saving global options (#45103)
laoneo Mar 14, 2025
d382b96
report-only-existing-useres (#45003)
alikon Mar 14, 2025
8efd1fb
Merge remote-tracking branch 'upstream/5.2-dev' into 5.3-dev-upmerge-…
richard67 Mar 14, 2025
2ff1930
Merge pull request #45130 from richard67/5.3-dev-upmerge-2025-03-14
richard67 Mar 14, 2025
8c82a0f
Add missing help link for Articles-Module under System (#45064)
drmenzelit Mar 14, 2025
59b7f62
[5.3] Update npm dependency "joomla-ui-custom-elements" from 0.2.0 to…
richard67 Mar 14, 2025
bf5bfe4
[5.3] Allow email addresses with an underscore (#45102)
charvimehradu Mar 14, 2025
1487c69
Warning Undefined array key "parent_id" on POST (#45131)
alikon Mar 14, 2025
f81fe78
wrong route (#45133)
alikon Mar 15, 2025
689c33f
[5.2] Translation Update (#45134)
joomla-translation-bot Mar 15, 2025
d338a5c
[5.3] Update dependencies (#45071)
laoneo Mar 15, 2025
75fcc89
Merge remote-tracking branch 'upstream/5.2-dev' into 5.3-dev-upmerge-…
richard67 Mar 15, 2025
adc9f2d
Merge pull request #45137 from richard67/5.3-dev-upmerge-2025-03-15
richard67 Mar 15, 2025
37edc51
Joomla! 5.3.0 Release Beta 3
tecpromotion Mar 15, 2025
928ce7a
reset to dev
tecpromotion Mar 15, 2025
2f06c7b
[5.3] Remove non-distributed files (#45152)
brianteeman Mar 19, 2025
2de2fb6
[5.2] system test for multi-factor authentication (#44733)
heelc29 Mar 19, 2025
18be481
[5.3] Major update idna converter (#45140)
laoneo Mar 19, 2025
f9ca9cd
[5.3] Major update dev dependencies (#45138)
laoneo Mar 19, 2025
f39bbb4
[5.3] Update http package to version 3.1.0 to fix some deprecation no…
laoneo Mar 19, 2025
aac1f49
Update TUF client to fix PHP 8.4 compat issues (#45166)
SniperSister Mar 20, 2025
645e58f
[5.3] php warning in BackupcodesModel (#45170)
brianteeman Mar 20, 2025
914d19b
Update client.es6.js (#45174)
dgrammatiko Mar 20, 2025
be4da74
Use Joomla\Filesystem\Helper as FilesystemHelper (#45139)
richard67 Mar 21, 2025
bfad6f1
[5.3] php 8.4 compatibility (#45169)
brianteeman Mar 21, 2025
39b88d1
not found without Warning (#45132)
alikon Mar 21, 2025
628b844
CORS settings (#45129)
alikon Mar 21, 2025
0ce8114
[5.3] Composer update tobscure/json-api (#45180)
brianteeman Mar 22, 2025
c8b3f3c
Light Mode: Make Passkey Login table headers visible (#45188)
Hemang360 Mar 24, 2025
352698f
[5.3][cypress] add tests for issue 45190 (#45208)
heelc29 Mar 25, 2025
9ad9caf
[5.3] Add deleted files from PR #45152 (#45220)
richard67 Mar 25, 2025
0b54ffe
[5.3] Update the joomla cypress package (#45207)
laoneo Mar 25, 2025
f0eddc4
[5.3] Correct author column when user is deleted (#45179)
brianteeman Mar 25, 2025
aecd273
[5.2] Translation Update (#45168)
joomla-translation-bot Mar 27, 2025
544696c
[5.3] Change minor version to 5.3 (#45177)
tecpromotion Mar 27, 2025
9890bce
[5.2] Fix unescaped slashes break markup in script tag (#44717)
janschoenherr Mar 27, 2025
0106c53
Fix translation update action
HLeithner Mar 28, 2025
92c1e38
Merge remote-tracking branch 'upstream/5.2-dev' into 5.3-dev-upmerge-…
richard67 Mar 28, 2025
1bcc9f5
[5.3] Upmerge 2025-03-28
richard67 Mar 28, 2025
3ab4be5
[5.3] cypress test grammar (#45241)
brianteeman Mar 28, 2025
f60f51c
[5.3] Translation Update (#45246)
joomla-translation-bot Mar 28, 2025
6361871
Release Joomla! 5.3.0 Release Candiate 1
bembelimen Mar 31, 2025
58b2194
Revert to dev
bembelimen Apr 1, 2025
3cda363
Revert idna to version 3 with the PHP 8.4 patch (#45257)
laoneo Apr 2, 2025
de9668d
[4.x] Translation Update (#45245)
joomla-translation-bot Apr 2, 2025
b3f9f32
[5.3] Revert update of typo3/phar-stream-wrapper and deprecate it (#4…
Hackwar Apr 2, 2025
a3b6278
[5.3] Fix check for JRouter class alias to work with b/c plugin switc…
richard67 Apr 2, 2025
63415b8
Update joomla/database from 2.1.1 to 2.2.0 (#45272)
richard67 Apr 3, 2025
5037647
Update joomla/database from 3.2.1 to 3.4.0 (#45273)
richard67 Apr 3, 2025
94bd6a8
[4.x] Security Hardening: Unset the activation token if the mail addr…
SniperSister Apr 3, 2025
eefb165
Merge remote-tracking branch 'upstream/4.4-dev' into 5.2-dev-upmerge-…
richard67 Apr 3, 2025
6be0f07
Fix duplicate code from merge conflict
richard67 Apr 3, 2025
97e0e53
Merge pull request #45276 from richard67/5.2-dev-upmerge-2025-04-03
Hackwar Apr 3, 2025
cdd10ea
Merge remote-tracking branch 'upstream/5.2-dev' into 5.3-dev-upmerge-…
richard67 Apr 3, 2025
0440330
Update content-hash
richard67 Apr 3, 2025
66cbc51
[5.3] Upmerge 2025-04-03
bembelimen Apr 3, 2025
5ef4f57
[5.3] Add deleted files from PR #45257 (#45280)
richard67 Apr 3, 2025
076e687
Composer update joomla/database to 3.4.1 (#45288)
richard67 Apr 6, 2025
86d82a6
Merge remote-tracking branch 'upstream/5.2-dev' into 5.3-dev-upmerge-…
richard67 Apr 6, 2025
70703f4
[5.3] Upmerge 2025-04-06
bembelimen Apr 6, 2025
9fd4543
Release Joomla! 5.3 Release Candidate 2
bembelimen Apr 6, 2025
e70b2c7
Revert to dev
bembelimen Apr 6, 2025
18caf66
Release Joomla! 5.3.0
bembelimen Apr 9, 2025
300ea21
Revert to dev
bembelimen Apr 9, 2025
bad9f2a
Fix [45277]: Invalid breadcrumb module json-ld output
weeblr Apr 11, 2025
58efb62
Fix cli installation hidden option asking (#44908)
voronkovich Apr 15, 2025
cd93925
[5.3] Translation Update (#45292)
joomla-translation-bot Apr 16, 2025
76f835e
Clean up File::upload method arguments (#45244)
joomdonation Apr 17, 2025
2a825d6
[5.3] Grammar fix (#45247)
brianteeman Apr 17, 2025
534b63d
Fix typo in replacement event name for onUserBeforeDataValidation (#4…
Fedik Apr 17, 2025
ec34f2c
Fix search description position (#45325)
Hemang360 Apr 17, 2025
2181f4a
[5.3] skip-to tooltip (#45259)
brianteeman Apr 17, 2025
8880115
[5.3] Media Manager Empty information (#45322)
brianteeman Apr 17, 2025
68b0548
[5.3] Fix PHP deprecation warning in mod_languages (#45262)
Fedik Apr 17, 2025
47228aa
Merge branch '5.3-dev' into weeblr-45277
QuyTon Apr 17, 2025
9e7ab37
Remove breadcrumb list link from schema.org plugin output
weeblr Apr 18, 2025
3d475d1
Update to TinyMCE Danish translation (Fixed typo) (#45317)
dformdotdk Apr 18, 2025
274cd3a
[5,3] Fix wrong sequence next value in action logs config table on Po…
alikon Apr 19, 2025
d87990a
[5.3] - Respect individual width/height constraints in Media Action -…
travisrisner Apr 19, 2025
fb59e60
[5.3] Cleared mismatch between default option and label in articles m…
Dileepadari Apr 20, 2025
8613180
[5.3] Show correct custom fields when creating article after filterin…
AdarshSantoria Apr 20, 2025
7830236
[5.3] Translation Update (#45356)
joomla-translation-bot Apr 21, 2025
911903a
Merge branch '5.3-dev' into weeblr-45277
weeblr Apr 24, 2025
9113629
change: Reverted changes in mod_breadcrumbs default template, fixing …
weeblr-dev May 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
70 changes: 26 additions & 44 deletions .drone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ clone:

steps:
- name: setup
image: joomlaprojects/docker-images:php8.3
image: joomlaprojects/docker-images:php8.4
volumes:
- name: certificates
path: /certificates
commands:
- cp -v tests/certs/* /certificates/

- name: composer
image: joomlaprojects/docker-images:php8.3
image: joomlaprojects/docker-images:php8.4
volumes:
- name: composer-cache
path: /tmp/composer-cache
Expand Down Expand Up @@ -70,6 +70,13 @@ steps:
- php -v
- ./libraries/vendor/bin/phpunit --testsuite Unit

- name: php84-unit
depends_on: [ phpcs ]
image: joomlaprojects/docker-images:php8.4
commands:
- php -v
- ./libraries/vendor/bin/phpunit --testsuite Unit

- name: php81-integration
depends_on: [ npm ]
image: joomlaprojects/docker-images:php8.1
Expand All @@ -91,6 +98,13 @@ steps:
- php -v
- ./libraries/vendor/bin/phpunit --testsuite Integration

- name: php84-integration
depends_on: [ npm ]
image: joomlaprojects/docker-images:php8.4
commands:
- php -v
- ./libraries/vendor/bin/phpunit --testsuite Integration

- name: php81-integration-pgsql
depends_on: [ npm ]
image: joomlaprojects/docker-images:php8.1
Expand All @@ -112,6 +126,13 @@ steps:
- php -v
- ./libraries/vendor/bin/phpunit --testsuite Integration --configuration phpunit-pgsql.xml.dist

- name: php84-integration-pgsql
depends_on: [ npm ]
image: joomlaprojects/docker-images:php8.4
commands:
- php -v
- ./libraries/vendor/bin/phpunit --testsuite Integration --configuration phpunit-pgsql.xml.dist

- name: scss-cs
depends_on: [ npm ]
image: node:current-alpine
Expand Down Expand Up @@ -154,7 +175,7 @@ steps:
- name: phpmax-system-mysql
depends_on:
- phpmin-system-mysql
image: joomlaprojects/docker-images:cypress8.3
image: joomlaprojects/docker-images:cypress8.4
volumes:
- name: cypress-cache
path: /root/.cache/Cypress
Expand All @@ -167,24 +188,6 @@ steps:
exclude:
- pull_request

- name: phpnext-system-mysql
depends_on:
- phpmax-system-mysql
image: joomlaprojects/docker-images:cypress8.4
volumes:
- name: cypress-cache
path: /root/.cache/Cypress
environment:
JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
failure: ignore
commands:
- echo "This test is disabled because php next is not stable yet"
- exit 1
- bash tests/System/entrypoint.sh "$(pwd)" cmysqlnext mysqli mysql
when:
event:
exclude:
- pull_request

- name: phpmin-system-postgres
depends_on:
Expand All @@ -205,39 +208,18 @@ steps:
- name: phpmax-system-postgres
depends_on:
- phpmin-system-postgres
image: joomlaprojects/docker-images:cypress8.3
volumes:
- name: cypress-cache
path: /root/.cache/Cypress
environment:
JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
commands:
- bash tests/System/entrypoint.sh "$(pwd)" cpostgresmax pgsql postgres

- name: phpnext-system-postgres
depends_on:
- phpmax-system-postgres
image: joomlaprojects/docker-images:cypress8.4
volumes:
- name: cypress-cache
path: /root/.cache/Cypress
environment:
JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
failure: ignore
commands:
- echo "This test is disabled because php next is not stable yet"
- exit 1
- bash tests/System/entrypoint.sh "$(pwd)" cpostgresnext pgsql postgres
when:
event:
exclude:
- pull_request
- bash tests/System/entrypoint.sh "$(pwd)" cpostgresmax pgsql postgres

- name: artifacts-system-tests
image: joomlaprojects/docker-images:packager
depends_on:
- phpnext-system-mysql
- phpnext-system-postgres
- phpmax-system-mysql
- phpmax-system-postgres
- phpmin-system-mysql
Expand Down Expand Up @@ -433,6 +415,6 @@ trigger:

---
kind: signature
hmac: fedcefde305c98f4dfc926b9039f83692827337da9e689e423c9de93a97248dd
hmac: 99da78521b10f37ddf6731e695fe52f85ee3db142bccac66901ae5372e332aae

...
2 changes: 1 addition & 1 deletion .github/workflows/create-translation-pull-request-v5.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:

- name: Update static error pages
run: |
npm ci --ignore-scripts && node build/build.js --build-pages
npm ci --ignore-scripts && node build/build.mjs --build-pages

- name: Create commit
continue-on-error: true
Expand Down
8 changes: 8 additions & 0 deletions .php-cs-fixer.dist.php
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,14 @@
'native_function_invocation' => ['include' => ['@compiler_optimized']],
// Adds null to type declarations when parameter have a default null value
'nullable_type_declaration_for_default_null_value' => true,
// Removes unneeded parentheses around control statements
'no_unneeded_control_parentheses' => true,
// Using isset($var) && multiple times should be done in one call.
'combine_consecutive_issets' => true,
// Calling unset on multiple items should be done in one call
'combine_consecutive_unsets' => true,
// There must be no sprintf calls with only the first argument
'no_useless_sprintf' => true,
]
)
->setFinder($finder);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public function addLog($messages, $messageLanguageKey, $context, $userId = 0)
try {
$user = $userId ? $this->getUserFactory()->loadUserById($userId) : $this->getCurrentUser();
} catch (\UnexpectedValueException $e) {
@trigger_error(\sprintf('UserFactory must be set, this will not be caught anymore in 7.0.'), E_USER_DEPRECATED);
@trigger_error('UserFactory must be set, this will not be caught anymore in 7.0.', E_USER_DEPRECATED);
$user = Factory::getUser($userId);
}

Expand Down
20 changes: 20 additions & 0 deletions administrator/components/com_admin/script.php
Original file line number Diff line number Diff line change
Expand Up @@ -2450,6 +2450,26 @@ public function deleteUnexistingFiles($dryRun = false, $suppressOutput = false)
'/libraries/vendor/maximebf/debugbar/src/DebugBar/Storage/PdoStorage.php',
'/libraries/vendor/maximebf/debugbar/src/DebugBar/Storage/RedisStorage.php',
'/libraries/vendor/maximebf/debugbar/src/DebugBar/Storage/StorageInterface.php',
// From 5.3.0-beta3 to 5.3.0-rc1
'/libraries/vendor/joomla/http/.drone.jsonnet',
'/libraries/vendor/joomla/http/.drone.yml',
'/libraries/vendor/joomla/oauth1/.drone.jsonnet',
'/libraries/vendor/joomla/oauth1/.drone.yml',
'/libraries/vendor/joomla/oauth2/.drone.jsonnet',
'/libraries/vendor/joomla/oauth2/.drone.yml',
'/libraries/vendor/joomla/router/.drone.jsonnet',
'/libraries/vendor/joomla/router/.drone.yml',
'/libraries/vendor/joomla/string/.drone.jsonnet',
'/libraries/vendor/joomla/string/.drone.yml',
'/libraries/vendor/joomla/uri/.drone.jsonnet',
'/libraries/vendor/joomla/uri/.drone.yml',
'/libraries/vendor/joomla/utilities/.drone.jsonnet',
'/libraries/vendor/joomla/utilities/.drone.yml',
// From 5.3.0-rc1 to 5.3.0-rc2
'/libraries/vendor/algo26-matthias/idna-convert/Dockerfile',
'/libraries/vendor/algo26-matthias/idna-convert/compose.yml',
'/libraries/vendor/algo26-matthias/idna-convert/src/Exception/Std3AsciiRulesViolationException.php',
'/libraries/vendor/algo26-matthias/idna-convert/src/TranscodeUnicode/ByteLengthTrait.php',
];

$folders = [
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
-- Add plg_extension_joomlaupdate plugin
INSERT INTO `#__extensions` (`package_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `locked`, `manifest_cache`, `params`, `custom_data`, `ordering`, `state`) VALUES
(0, 'plg_extension_joomlaupdate', 'plugin', 'joomlaupdate', 'extension', 0, 1, 1, 0, 1, '', '', '', 0, 0);
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
-- disable autostart for the previous tour
UPDATE `#__guidedtours` SET `autostart` = 0 WHERE `uid` = 'joomla-whatsnew-5-2';

INSERT INTO `#__guidedtours` (`title`, `description`, `extensions`, `url`, `published`, `language`, `note`, `access`, `uid`, `autostart`, `created`, `created_by`, `modified`, `modified_by`) VALUES
('COM_GUIDEDTOURS_TOUR_WHATSNEW_5_3_TITLE', 'COM_GUIDEDTOURS_TOUR_WHATSNEW_5_3_DESCRIPTION', '["com_cpanel"]', 'administrator/index.php', 1, '*', '', 1, 'joomla-whatsnew-5-3', 1, CURRENT_TIMESTAMP(), 0, CURRENT_TIMESTAMP(), 0);

INSERT INTO `#__guidedtour_steps` (`title`, `description`, `position`, `target`, `type`, `interactive_type`, `url`, `published`, `language`, `note`, `params`, `tour_id`, `created`, `created_by`, `modified`, `modified_by`)
SELECT 'COM_GUIDEDTOURS_TOUR_WHATSNEW_5_3_STEP_0_TITLE', 'COM_GUIDEDTOURS_TOUR_WHATSNEW_5_3_STEP_0_DESCRIPTION', 'right', '#sidebarmenu nav > ul:first-of-type > li:last-child', 0, 1, '', 1, '*', '', '"{\"required\":1,\"requiredvalue\":\"\"}"', MAX(`id`), CURRENT_TIMESTAMP(), 0, CURRENT_TIMESTAMP(), 0
FROM `#__guidedtours`
WHERE `uid` = 'joomla-whatsnew-5-3';
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
-- Add plg_extension_joomlaupdate module
INSERT INTO "#__extensions" ("package_id", "name", "type", "element", "folder", "client_id", "enabled", "access", "protected", "locked", "manifest_cache", "params", "custom_data", "ordering", "state") VALUES
(0, 'plg_extension_joomlaupdate', 'plugin', 'joomlaupdate', 'extension', 0, 1, 1, 0, 1, '', '', '', 0, 0);
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
-- disable autostart for the previous tour
UPDATE "#__guidedtours" SET "autostart" = 0 WHERE "uid" = 'joomla-whatsnew-5-2';

INSERT INTO "#__guidedtours" ("title", "description", "extensions", "url", "published", "language", "note", "access", "uid", "autostart", "created", "created_by", "modified", "modified_by") VALUES
('COM_GUIDEDTOURS_TOUR_WHATSNEW_5_3_TITLE', 'COM_GUIDEDTOURS_TOUR_WHATSNEW_5_3_DESCRIPTION', '["com_cpanel"]', 'administrator/index.php', 1, '*', '', 1, 'joomla-whatsnew-5-3', 1, CURRENT_TIMESTAMP, 0, CURRENT_TIMESTAMP, 0);

INSERT INTO "#__guidedtour_steps" ("title", "description", "position", "target", "type", "interactive_type", "url", "published", "language", "note", "params", "tour_id", "created", "created_by", "modified", "modified_by")
SELECT 'COM_GUIDEDTOURS_TOUR_WHATSNEW_5_3_STEP_0_TITLE', 'COM_GUIDEDTOURS_TOUR_WHATSNEW_5_3_STEP_0_DESCRIPTION', 'right', '#sidebarmenu nav > ul:first-of-type > li:last-child', 0, 1, '', 1, '*', '', '"{\"required\":1,\"requiredvalue\":\"\"}"', MAX("id"), CURRENT_TIMESTAMP, 0, CURRENT_TIMESTAMP, 0
FROM "#__guidedtours"
WHERE "uid" = 'joomla-whatsnew-5-3';
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ private static function getExtensionHelperClassName($extensionName)
*/
private static function getExtensionRealName($extensionName)
{
return !str_contains($extensionName, 'com_') ? $extensionName : substr($extensionName, 4);
return !str_starts_with($extensionName, 'com_') ? $extensionName : substr($extensionName, 4);
}

/**
Expand Down Expand Up @@ -593,7 +593,7 @@ public static function canCheckinItem($extensionName, $typeName, $itemId)

$userId = Factory::getUser()->id;

return ($item->{$checkedOutFieldName} == $userId || $item->{$checkedOutFieldName} == 0);
return $item->{$checkedOutFieldName} == $userId || $item->{$checkedOutFieldName} == 0;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,8 +174,7 @@ public function display($tpl = null)

// Dynamic filter form.
// This selectors doesn't have to activate the filter bar.
unset($this->activeFilters['itemtype']);
unset($this->activeFilters['language']);
unset($this->activeFilters['itemtype'], $this->activeFilters['language']);

// Remove filters options depending on selected type.
if (empty($support['state'])) {
Expand Down Expand Up @@ -249,7 +248,7 @@ protected function addToolbar()
{
$user = $this->getCurrentUser();

if (isset($this->typeName) && isset($this->extensionName)) {
if (isset($this->typeName, $this->extensionName)) {
$helper = AssociationsHelper::getExtensionHelper($this->extensionName);
$title = $helper->getTypeTitle($this->typeName);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ protected function allowAdd($data = [])
*/
protected function allowEdit($data = [], $key = 'id')
{
$recordId = (int) isset($data[$key]) ? $data[$key] : 0;
$recordId = isset($data[$key]) ? (int) $data[$key] : 0;
$categoryId = 0;

if ($recordId) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ public function __construct(DatabaseDriver $db, ?DispatcherInterface $dispatcher

$this->created = Factory::getDate()->toSql();
$this->setColumnAlias('published', 'state');
$this->setColumnAlias('title', 'name');
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ protected function allowAdd($data = [])
{
$user = $this->app->getIdentity();

return ($user->authorise('core.create', $this->extension) || \count($user->getAuthorisedCategories($this->extension, 'core.create')));
return $user->authorise('core.create', $this->extension) || \count($user->getAuthorisedCategories($this->extension, 'core.create'));
}

/**
Expand All @@ -91,7 +91,7 @@ protected function allowAdd($data = [])
*/
protected function allowEdit($data = [], $key = 'parent_id')
{
$recordId = (int) isset($data[$key]) ? $data[$key] : 0;
$recordId = isset($data[$key]) ? (int) $data[$key] : 0;
$user = $this->app->getIdentity();

// Check "edit" permission on record asset (explicit or inherited)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,10 +152,13 @@ protected function getOptions()
// Let's get the id for the current item, either category or content item.
$jinput = Factory::getApplication()->getInput();

// Is this field used to select parent category for a category ?
$isParentCategoryField = isset($this->element['parent']) || $jinput->getCmd('option') === 'com_categories';

// Load the category options for a given extension.

// For categories the old category is the category id or 0 for new category.
if ($this->element['parent'] || $jinput->get('option') == 'com_categories') {
if ($isParentCategoryField) {
$oldCat = $jinput->get('id', 0);
$oldParent = $this->form->getValue($name, 0);
$extension = $this->element['extension'] ? (string) $this->element['extension'] : (string) $jinput->get('extension', 'com_content');
Expand Down Expand Up @@ -186,7 +189,7 @@ protected function getOptions()
->from($db->quoteName('#__categories', 'a'));

// Filter by the extension type
if ($this->element['parent'] == true || $jinput->get('option') == 'com_categories') {
if ($isParentCategoryField) {
$query->where('(' . $db->quoteName('a.extension') . ' = :extension OR ' . $db->quoteName('a.parent_id') . ' = 0)')
->bind(':extension', $extension);
} else {
Expand All @@ -195,7 +198,7 @@ protected function getOptions()
}

// Filter language
if (!empty($this->element['language'])) {
if (isset($this->element['language'])) {
if (str_contains($this->element['language'], ',')) {
$language = explode(',', $this->element['language']);
} else {
Expand All @@ -219,7 +222,7 @@ protected function getOptions()
$query->order($db->quoteName('a.lft') . ' ASC');

// If parent isn't explicitly stated but we are in com_categories assume we want parents
if ($oldCat != 0 && ($this->element['parent'] == true || $jinput->get('option') == 'com_categories')) {
if ($oldCat != 0 && $isParentCategoryField) {
// Prevent parenting to children of this item.
// To rearrange parents and children move the children up, not the parents down.
$query->join(
Expand All @@ -244,10 +247,8 @@ protected function getOptions()
// Pad the option text with spaces using depth level as a multiplier.
foreach ($options as $option) {
// Translate ROOT
if ($this->element['parent'] == true || $jinput->get('option') == 'com_categories') {
if ($option->level == 0) {
$option->text = Text::_('JGLOBAL_ROOT_PARENT');
}
if ($isParentCategoryField && $option->level == 0) {
$option->text = Text::_('JGLOBAL_ROOT_PARENT');
}

if ($option->published == 1) {
Expand Down Expand Up @@ -311,7 +312,7 @@ protected function getOptions()
}

if (
$oldCat != 0 && ($this->element['parent'] == true || $jinput->get('option') == 'com_categories')
$oldCat != 0 && $isParentCategoryField
&& !isset($options[0])
&& isset($this->element['show_root'])
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ public function checkin($ids = [])

$fields = $db->getTableColumns($tn, false);

if (!(isset($fields['checked_out']) && isset($fields['checked_out_time']))) {
if (!(isset($fields['checked_out'], $fields['checked_out_time']))) {
continue;
}

Expand Down Expand Up @@ -183,7 +183,7 @@ public function getItems()

$fields = $db->getTableColumns($tn, false);

if (!(isset($fields['checked_out']) && isset($fields['checked_out_time']))) {
if (!(isset($fields['checked_out'], $fields['checked_out_time']))) {
continue;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ public function save($key = null, $urlVar = null)
}

// Remove the permissions rules data if user isn't allowed to edit them.
if (!$user->authorise('core.admin', $option) && isset($data['params']) && isset($data['params']['rules'])) {
if (!$user->authorise('core.admin', $option) && isset($data['params']['rules'])) {
unset($data['params']['rules']);
}

Expand Down
Loading