Skip to content

Commit c776f83

Browse files
authored
Merge pull request #46228 from HLeithner/6.1/maint/upmerge-251004
[6.1] Upmerge 2025-10-04
2 parents 9857569 + 100c9fc commit c776f83

File tree

625 files changed

+10358
-7290
lines changed

Some content is hidden

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

625 files changed

+10358
-7290
lines changed

.devcontainer/Dockerfile

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,21 @@ RUN sed -i 's|/var/www/html|/workspaces/joomla-cms|g' /etc/apache2/sites-availab
5050
RUN a2enmod rewrite \
5151
&& echo "ServerName localhost" >> /etc/apache2/apache2.conf
5252

53-
# Create a custom PHP configuration file to enable file uploads
54-
RUN echo "upload_tmp_dir = /tmp" > /usr/local/etc/php/conf.d/custom-php.ini && \
53+
RUN apt-get update && apt-get install -y ssl-cert && \
54+
a2enmod ssl && \
55+
a2ensite 000-default && \
56+
a2ensite default-ssl && \
57+
sed -i 's|/var/www/html|/workspaces/joomla-cms|g' /etc/apache2/sites-available/default-ssl.conf && \
58+
echo '<Directory /workspaces/joomla-cms>\n Options Indexes FollowSymLinks\n AllowOverride All\n Require all granted\n</Directory>' >> /etc/apache2/sites-available/default-ssl.conf
59+
60+
# Create a custom PHP configuration file to enable file uploads and a log directory
61+
RUN mkdir -p /var/log/ && \
62+
touch /var/log/php_errors.log && \
63+
chown -R www-data:www-data /var/log/ && \
64+
chmod 766 /var/log/php_errors.log && \
65+
echo "upload_tmp_dir = /tmp" > /usr/local/etc/php/conf.d/custom-php.ini && \
5566
echo "post_max_size = 64M" >> /usr/local/etc/php/conf.d/custom-php.ini && \
56-
echo "upload_max_filesize = 64M" >> /usr/local/etc/php/conf.d/custom-php.ini
67+
echo "upload_max_filesize = 64M" >> /usr/local/etc/php/conf.d/custom-php.ini && \
68+
echo "log_errors = On" >> /usr/local/etc/php/conf.d/custom-php.ini && \
69+
echo "error_log = /var/log/php_errors.log" >> /usr/local/etc/php/conf.d/custom-php.ini && \
70+
echo "error_reporting = E_ALL" >> /usr/local/etc/php/conf.d/custom-php.ini

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"ghcr.io/devcontainers/features/desktop-lite:1": {}
88
},
99
"portsAttributes": {
10-
"80" : {
10+
"443" : {
1111
"label": "Web Server (Joomla & phpmyadmin)",
1212
"onAutoForward": "silent"
1313
},

.devcontainer/docker-compose.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ services:
88
- ./xdebug.ini:/usr/local/etc/php/conf.d/99-xdebug.ini
99
ports:
1010
- "80:80"
11+
- "443:443"
1112
- "3306:3306"
1213
- "6080:6080"
1314
command: sleep infinity

.devcontainer/post-create.sh

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ echo "✅ Dependencies installed."
3333

3434
# --- 3. Install Joomla from Repository Source ---
3535
echo "--> Installing Joomla using the local repository source..."
36+
rm -f configuration.php
3637
php installation/joomla.php install \
3738
--site-name="Joomla CMS Test" \
3839
--admin-user="$ADMIN_REAL_NAME" \
@@ -72,7 +73,7 @@ echo "--> Applying Codespaces URL fix..."
7273
cat > "${JOOMLA_ROOT}/fix.php" << 'EOF'
7374
<?php
7475
// Fix for incorrect host when running behind the Codespaces reverse proxy.
75-
if (isset($_SERVER['HTTP_HOST']) && $_SERVER['HTTP_HOST'] === 'localhost:80') {
76+
if (isset($_SERVER['HTTP_HOST']) && str_contains($_SERVER['HTTP_HOST'], 'localhost')) {
7677
if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
7778
$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'];
7879
$_SERVER['SERVER_NAME'] = $_SERVER['HTTP_X_FORWARDED_HOST'];
@@ -81,7 +82,6 @@ if (isset($_SERVER['HTTP_HOST']) && $_SERVER['HTTP_HOST'] === 'localhost:80') {
8182
EOF
8283

8384
# Include fix in both entry points
84-
cp $JOOMLA_ROOT/fix.php $JOOMLA_ROOT/administrator/fix.php
8585
sed -i '2i require_once __DIR__ . "/fix.php";' $JOOMLA_ROOT/index.php
8686
sed -i '2i require_once __DIR__ . "/../fix.php";' $JOOMLA_ROOT/administrator/index.php
8787

@@ -96,7 +96,6 @@ git update-index --assume-unchanged "tests/System/support/commands/config.mjs"
9696
# For NEW UNTRACKED files, add them to the local exclude file
9797
echo "cypress.config.js" >> ".git/info/exclude"
9898
echo "fix.php" >> ".git/info/exclude"
99-
echo "administrator/fix.php" >> ".git/info/exclude"
10099
echo "phpmyadmin" >> ".git/info/exclude"
101100
echo "codespace-details.txt" >> ".git/info/exclude"
102101

@@ -113,7 +112,7 @@ sed -i "s/return cy.task('writeRelativeFile', { path: 'configuration.php', conte
113112
chmod +x ./node_modules/.bin/cypress
114113
cp cypress.config.dist.mjs cypress.config.js
115114
npx cypress install
116-
sed -i -e "s|baseUrl:.*|baseUrl: 'http://localhost:80',|" -e "s/db_host: 'localhost'/db_host: 'mysql'/g" -e "s/db_user: 'root'/db_user: 'joomla_ut'/g" -e "s/db_password: ''/db_password: 'joomla_ut'/g" cypress.config.js
115+
sed -i -e "s|baseUrl:.*|baseUrl: 'https://localhost',|" -e "s/db_host: 'localhost'/db_host: 'mysql'/g" -e "s/db_user: 'root'/db_user: 'joomla_ut'/g" -e "s/db_password: ''/db_password: 'joomla_ut'/g" cypress.config.js
117116

118117
# Restart Apache to apply all changes
119118
echo '<Directory /workspaces/joomla-cms>
@@ -140,7 +139,7 @@ DETAILS_FILE="${JOOMLA_ROOT}/codespace-details.txt"
140139
echo "This information has been saved to codespace-details.txt"
141140
echo ""
142141
echo "Joomla Admin Login:"
143-
echo " URL: Open the 'Ports' tab, find the 'Web Server' (80), and click the Globe icon. Then add /administrator"
142+
echo " URL: Open the 'Ports' tab, find the 'Web Server' (443), and click the Globe icon. Then add /administrator"
144143
echo " Username: $ADMIN_USER"
145144
echo " Password: $ADMIN_PASS"
146145
echo ""
@@ -156,4 +155,4 @@ DETAILS_FILE="${JOOMLA_ROOT}/codespace-details.txt"
156155
echo "Xdebug for PHP Debugging:"
157156
echo " Xdebug is pre-configured on port 9003. Use the 'Run and Debug' panel in VS Code and select 'Listen for Xdebug'."
158157
echo "---"
159-
} | tee "$DETAILS_FILE"
158+
} | tee "$DETAILS_FILE"

.devcontainer/xdebug.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
[xdebug]
22
zend_extension=xdebug
33
xdebug.mode=debug
4+
xdebug.log_level = 0
45
xdebug.start_with_request=yes
56
xdebug.client_port=9003
67
xdebug.client_host=localhost

.github/workflows/create-translation-pull-request-v4.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
workflow_dispatch:
88

99
schedule:
10-
# Run daily at 7:26
10+
# Run daily at 7:27
1111
- cron: '27 7 * * *'
1212

1313
permissions:

.github/workflows/create-translation-pull-request-v5.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ on:
1212

1313
env:
1414
JOOMLA_MAJOR_VERSION: 5
15-
JOOMLA_MINOR_VERSION: 5.3
15+
JOOMLA_MINOR_VERSION: 5.4
1616

1717
permissions:
1818
contents: read
@@ -22,18 +22,18 @@ jobs:
2222
permissions:
2323
contents: write # for Git to git push
2424
runs-on: ubuntu-latest
25-
# Only run this action the translation-bot repository in the translation branch
25+
# Only run this action the translation-bot repository in the relevant translation branch
2626
if: ${{ github.repository == 'joomla-translation-bot/joomla-cms' && github.ref == 'refs/heads/translation5' }}
2727

2828
steps:
29-
- uses: actions/checkout@v3
29+
- uses: actions/checkout@v5
3030
# We need the full depth to create / update the pull request against the main repo
3131
with:
3232
ref: translation5
3333
fetch-depth: 0
34-
- uses: actions/setup-node@v3
34+
- uses: actions/setup-node@v5
3535
with:
36-
node-version: 20
36+
node-version: 24
3737

3838
- name: Fetch latest cms changes
3939
run: |
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Create translation pull request J6
2+
3+
on:
4+
push:
5+
branches: [ translation6 ]
6+
7+
workflow_dispatch:
8+
9+
schedule:
10+
# Run daily at 7:37
11+
- cron: '37 7 * * *'
12+
13+
env:
14+
JOOMLA_MAJOR_VERSION: 6
15+
JOOMLA_MINOR_VERSION: '6.0'
16+
17+
permissions:
18+
contents: read
19+
20+
jobs:
21+
build:
22+
permissions:
23+
contents: write # for Git to git push
24+
runs-on: ubuntu-latest
25+
# Only run this action the translation-bot repository in the relevant translation branch
26+
if: ${{ github.repository == 'joomla-translation-bot/joomla-cms' && github.ref == 'refs/heads/translation6' }}
27+
28+
steps:
29+
- uses: actions/checkout@v5
30+
# We need the full depth to create / update the pull request against the main repo
31+
with:
32+
ref: translation6
33+
fetch-depth: 0
34+
- uses: actions/setup-node@v5
35+
with:
36+
node-version: 24
37+
38+
- name: Fetch latest cms changes
39+
run: |
40+
git config user.name Translation Bot
41+
git config user.email [email protected]
42+
git remote add upstream https://github.com/joomla/joomla-cms.git
43+
git fetch upstream
44+
git checkout --progress --force -B translation6 refs/remotes/origin/translation6
45+
git merge upstream/${{ env.JOOMLA_MINOR_VERSION }}-dev
46+
47+
- name: Fetch and extract translations
48+
run: |
49+
cd ..
50+
wget -nv "https://github.com/joomla/core-translations/archive/refs/heads/main.zip"
51+
unzip main.zip
52+
53+
- name: Syncing directories
54+
# We use a simple copy paste syntax here if needed customization for different directories
55+
run: |
56+
cd ..
57+
SYNC_PATH="installation/language/"
58+
echo ${SYNC_PATH}
59+
rsync -i -rptgo --checksum --ignore-times --delete --exclude="*en-GB*" core-translations-main/joomla_v${{ env.JOOMLA_MAJOR_VERSION }}/translations/core/${SYNC_PATH} joomla-cms/${SYNC_PATH}
60+
61+
- name: Update static error pages
62+
run: |
63+
npm ci --ignore-scripts && node build/build.mjs --build-pages
64+
65+
- name: Create commit
66+
continue-on-error: true
67+
run: |
68+
git config user.name Translation Bot
69+
git config user.email [email protected]
70+
git add .
71+
git commit -m "Language update"
72+
git push --force
73+
74+
- name: Create pull request
75+
if: ${{ success() }}
76+
env:
77+
GITHUB_TOKEN: ${{ secrets.API_TOKEN_GITHUB }}
78+
run: |
79+
gh pr list -R joomla/joomla-cms --state open --author joomla-translation-bot -S "[${{ env.JOOMLA_MINOR_VERSION }}] Translation Update" --base ${{ env.JOOMLA_MINOR_VERSION }}-dev | grep -v "No pull" || \
80+
gh pr create --title "[${{ env.JOOMLA_MINOR_VERSION }}] Translation Update" --body "Automatically created pull request based on core-translation repository changes" -R joomla/joomla-cms --base ${{ env.JOOMLA_MINOR_VERSION }}-dev

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
.docker
99
/docker-compose.yml
1010
/nbproject
11+
/.devcontainer
12+
/.github
13+
/.vscode
1114

1215
# Local System Files (i.e. cache, logs, etc.)
1316
/administrator/cache

administrator/components/com_actionlogs/src/Field/ExtensionField.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class ExtensionField extends ListField
4444
public function getOptions()
4545
{
4646
$db = $this->getDatabase();
47-
$query = $db->getQuery(true)
47+
$query = $db->createQuery()
4848
->select('DISTINCT ' . $db->quoteName('extension'))
4949
->from($db->quoteName('#__action_logs'))
5050
->order($db->quoteName('extension'));

0 commit comments

Comments
 (0)