Skip to content

Commit

Permalink
Merge branch '4.2-dev' into 4.2-finder-wordmatch
Browse files Browse the repository at this point in the history
  • Loading branch information
Hackwar authored Apr 2, 2022
2 parents 59f251b + 504ec97 commit 7e56d0b
Show file tree
Hide file tree
Showing 309 changed files with 3,616 additions and 1,277 deletions.
88 changes: 31 additions & 57 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,89 +1,63 @@
image: Visual Studio 2022
build: false
platform:
- x64
clone_folder: C:\projects\joomla-cms

branches:
except:
- /l10n_*/

## Build matrix for lowest and highest possible targets
environment:
PHPBuild: "x64"
VC: "vc15"
WINCACHE: "2.0.0.8"
matrix:
- php_ver_target: 7.2
- php_ver_target: 7.3
- php_ver_target: 7.4
- php_ver_target: 8.0
- php_ver_target: 8.1

matrix:
allow_failures:
- php_ver_target: 8.1

init:
- SET PATH=C:\Program Files\OpenSSL;C:\tools\php;%PATH%
- SET PATH=C:\Tools\php;%PATH%
- SET COMPOSER_NO_INTERACTION=1
- SET PHP=1 # This var relates to caching the php install
- SET ANSICON=121x90 (121x90)
services:
- mysql
- postgresql94
- iis

## Install PHP and composer, and run the appropriate composer command
install:
- IF EXIST C:\tools\php (SET PHP=0)
# @todo: This is a workaround for https://github.com/chocolatey/choco/issues/1843. Once this is fixed we
# should go back to latest version in appveyor saving ourselves test time
- ps: choco upgrade chocolatey -y --version 0.10.13 --allow-downgrade --no-progress
- ps: >-
If ($env:PHP -eq "1") {
appveyor-retry cinst --no-progress --params '""/InstallDir:C:\tools\php""' --ignore-checksums -y php --version ((choco search php --exact --all-versions -r | select-string -pattern $env:php_ver_target | sort { [version]($_ -split '\|' | select -last 1) } -Descending | Select-Object -first 1) -replace '[php|]','')
}
appveyor-retry choco install --no-progress --params '""/InstallDir:C:\tools\php""' --ignore-checksums -y php --version ((choco search php --exact --all-versions -r | select-string -pattern $env:php_ver_target | sort { [version]($_ -split '\|' | select -last 1) } -Descending | Select-Object -first 1) -replace '[php|]','')
- cd C:\tools\php
- IF %PHP%==1 copy php.ini-production php.ini /Y
- IF %PHP%==1 echo date.timezone="UTC" >> php.ini
- IF %PHP%==1 echo extension_dir=ext >> php.ini
- IF %PHP%==1 echo extension=php_openssl.dll >> php.ini
- IF %PHP%==1 echo extension=php_mbstring.dll >> php.ini
- IF %PHP%==1 echo extension=php_fileinfo.dll >> php.ini
- IF %PHP%==1 echo extension=php_gd2.dll >> php.ini
- IF %PHP%==1 echo extension=php_gmp.dll >> php.ini
- IF %PHP%==1 echo extension=php_pgsql.dll >> php.ini
- IF %PHP%==1 echo extension=php_pdo_pgsql.dll >> php.ini
- IF %PHP%==1 echo extension=php_pdo_mysql.dll >> php.ini
- IF %PHP%==1 echo extension=php_mysqli.dll >> php.ini
- IF %PHP_VER_TARGET%==5.6 IF %PHP%==1 echo extension=php_mysql.dll >> php.ini
- IF %PHP%==1 echo extension=php_curl.dll >> php.ini
# Get the Wincache DLLs
- ps: >-
If ($env:PHP -eq "1" -and $env:WINCACHE) {
cd c:\tools\php\ext
$source = "https://windows.php.net/downloads/pecl/releases/wincache/$($env:WINCACHE)/php_wincache-$($env:WINCACHE)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip"
$destination = "c:\tools\php\ext\php_wincache-$($env:WINCACHE)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip"
Invoke-WebRequest $source -OutFile $destination
#appveyor-retry appveyor DownloadFile https://windows.php.net/downloads/pecl/releases/wincache/$($env:WINCACHE)/php_wincache-$($env:WINCACHE)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip
7z x -y php_wincache-$($env:WINCACHE)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip > $null
Remove-Item C:\tools\php\ext* -include .zip
cd c:\tools\php
Add-Content php.ini "`nextension=php_wincache.dll"
Add-Content php.ini "`wincache.enablecli = 1"
Add-Content php.ini "`n"
}
- IF %PHP%==1 echo zend_extension=php_opcache.dll >> php.ini
- IF %PHP%==1 echo opcache.enable_cli=1 >> php.ini
- IF %PHP%==1 echo extension=php_ldap.dll >> php.ini
- IF %PHP%==1 echo @php %%~dp0composer.phar %%* > composer.bat
- IF %PHP%==1 appveyor-retry appveyor DownloadFile https://getcomposer.org/download/latest-1.x/composer.phar
- copy php.ini-production php.ini /Y
- echo date.timezone="UTC" >> php.ini
- echo extension_dir=ext >> php.ini
- echo extension=php_openssl.dll >> php.ini
- echo extension=php_mbstring.dll >> php.ini
- echo extension=php_fileinfo.dll >> php.ini
- IF %php_ver_target% LSS 8 echo extension=php_gd2.dll >> php.ini
- IF %php_ver_target% GEQ 8 echo extension=gd >> php.ini
- echo extension=php_gmp.dll >> php.ini
- echo extension=php_pgsql.dll >> php.ini
- echo extension=php_pdo_pgsql.dll >> php.ini
- echo extension=php_pdo_mysql.dll >> php.ini
- echo extension=php_mysqli.dll >> php.ini
- echo extension=php_curl.dll >> php.ini
- echo zend_extension=php_opcache.dll >> php.ini
- echo opcache.enable_cli=1 >> php.ini
- echo extension=php_ldap.dll >> php.ini
- choco install composer
- cd C:\projects\joomla-cms
- appveyor-retry composer install --no-progress --profile
- refreshenv
- composer install --no-progress --profile
before_test:
# Database setup for MySQL via PowerShell tools
- >
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql" -u root -p"Password12!" -e "CREATE DATABASE IF NOT EXISTS joomla_ut;"
# Database setup for PostgreSQL
- SET PGUSER=postgres
- SET PGPASSWORD=Password12!
- PATH=C:\Program Files\PostgreSQL\9.4\bin\;%PATH%
- createdb joomla_ut
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql" -u root -p"Password12!" -e "CREATE DATABASE IF NOT EXISTS test_joomla;"
test_script:
- cd C:\projects\joomla-cms
- libraries/vendor/bin/phpunit --testsuite Unit
- libraries/vendor/bin/phpunit --testsuite Integration --configuration tests/phpunit-appveyor.xml.dist
4 changes: 2 additions & 2 deletions .github/workflows/create-translation-pull-request-v4.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,11 @@ jobs:
# We use a simple copy paste syntax here if needed customization for different directories
run: |
cd ..
SYNC_VERION="v4"
SYNC_VERSION="v4"
SYNC_PATH="installation/language/"
echo ${SYNC_PATH}
rsync -i -rptgo --checksum --ignore-times --delete --exclude="*en-GB*" core-translations-main/joomla_${SYNC_VERION}/translations/core/${SYNC_PATH} joomla-cms/${SYNC_PATH}
rsync -i -rptgo --checksum --ignore-times --delete --exclude="*en-GB*" core-translations-main/joomla_${SYNC_VERSION}/translations/core/${SYNC_PATH} joomla-cms/${SYNC_PATH}
- name: Update static error pages
run: |
Expand Down
116 changes: 114 additions & 2 deletions administrator/components/com_admin/script.php
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ public function update($installer)
$this->updateAssets($installer);
$this->clearStatsCache();
$this->convertTablesToUtf8mb4(true);
$this->addUserAuthProviderColumn();
$this->cleanJoomlaCache();
}

Expand Down Expand Up @@ -638,7 +639,7 @@ public function deleteUnexistingFiles($dryRun = false, $suppressOutput = false)
];

$files = array(
// From 3.10 to 4.0
// From 3.10 to 4.1
'/administrator/components/com_actionlogs/actionlogs.php',
'/administrator/components/com_actionlogs/controller.php',
'/administrator/components/com_actionlogs/controllers/actionlogs.php',
Expand Down Expand Up @@ -705,6 +706,8 @@ public function deleteUnexistingFiles($dryRun = false, $suppressOutput = false)
'/administrator/components/com_admin/sql/updates/mysql/3.1.5.sql',
'/administrator/components/com_admin/sql/updates/mysql/3.10.0-2020-08-10.sql',
'/administrator/components/com_admin/sql/updates/mysql/3.10.0-2021-05-28.sql',
'/administrator/components/com_admin/sql/updates/mysql/3.10.7-2022-02-20.sql',
'/administrator/components/com_admin/sql/updates/mysql/3.10.7-2022-03-18.sql',
'/administrator/components/com_admin/sql/updates/mysql/3.2.0.sql',
'/administrator/components/com_admin/sql/updates/mysql/3.2.1.sql',
'/administrator/components/com_admin/sql/updates/mysql/3.2.2-2013-12-22.sql',
Expand Down Expand Up @@ -827,6 +830,9 @@ public function deleteUnexistingFiles($dryRun = false, $suppressOutput = false)
'/administrator/components/com_admin/sql/updates/postgresql/3.1.5.sql',
'/administrator/components/com_admin/sql/updates/postgresql/3.10.0-2020-08-10.sql',
'/administrator/components/com_admin/sql/updates/postgresql/3.10.0-2021-05-28.sql',
'/administrator/components/com_admin/sql/updates/postgresql/3.10.7-2022-02-20.sql',
'/administrator/components/com_admin/sql/updates/postgresql/3.10.7-2022-02-20.sql.sql',
'/administrator/components/com_admin/sql/updates/postgresql/3.10.7-2022-03-18.sql',
'/administrator/components/com_admin/sql/updates/postgresql/3.2.0.sql',
'/administrator/components/com_admin/sql/updates/postgresql/3.2.1.sql',
'/administrator/components/com_admin/sql/updates/postgresql/3.2.2-2013-12-22.sql',
Expand Down Expand Up @@ -951,6 +957,9 @@ public function deleteUnexistingFiles($dryRun = false, $suppressOutput = false)
'/administrator/components/com_admin/sql/updates/sqlazure/3.1.5.sql',
'/administrator/components/com_admin/sql/updates/sqlazure/3.10.0-2021-05-28.sql',
'/administrator/components/com_admin/sql/updates/sqlazure/3.10.1-2021-08-17.sql',
'/administrator/components/com_admin/sql/updates/sqlazure/3.10.7-2022-02-20.sql',
'/administrator/components/com_admin/sql/updates/sqlazure/3.10.7-2022-02-20.sql.sql',
'/administrator/components/com_admin/sql/updates/sqlazure/3.10.7-2022-03-18.sql',
'/administrator/components/com_admin/sql/updates/sqlazure/3.2.0.sql',
'/administrator/components/com_admin/sql/updates/sqlazure/3.2.1.sql',
'/administrator/components/com_admin/sql/updates/sqlazure/3.2.2-2013-12-22.sql',
Expand Down Expand Up @@ -6332,10 +6341,52 @@ public function deleteUnexistingFiles($dryRun = false, $suppressOutput = false)
'/templates/system/scss/offline_rtl.scss',
// From 4.1.0-beta3 to 4.1.0-rc1
'/api/components/com_media/src/Helper/AdapterTrait.php',
// From 4.1.0 to 4.1.1
'/libraries/vendor/tobscure/json-api/.git/HEAD',
'/libraries/vendor/tobscure/json-api/.git/ORIG_HEAD',
'/libraries/vendor/tobscure/json-api/.git/config',
'/libraries/vendor/tobscure/json-api/.git/description',
'/libraries/vendor/tobscure/json-api/.git/hooks/applypatch-msg.sample',
'/libraries/vendor/tobscure/json-api/.git/hooks/commit-msg.sample',
'/libraries/vendor/tobscure/json-api/.git/hooks/fsmonitor-watchman.sample',
'/libraries/vendor/tobscure/json-api/.git/hooks/post-update.sample',
'/libraries/vendor/tobscure/json-api/.git/hooks/pre-applypatch.sample',
'/libraries/vendor/tobscure/json-api/.git/hooks/pre-commit.sample',
'/libraries/vendor/tobscure/json-api/.git/hooks/pre-merge-commit.sample',
'/libraries/vendor/tobscure/json-api/.git/hooks/pre-push.sample',
'/libraries/vendor/tobscure/json-api/.git/hooks/pre-rebase.sample',
'/libraries/vendor/tobscure/json-api/.git/hooks/pre-receive.sample',
'/libraries/vendor/tobscure/json-api/.git/hooks/prepare-commit-msg.sample',
'/libraries/vendor/tobscure/json-api/.git/hooks/push-to-checkout.sample',
'/libraries/vendor/tobscure/json-api/.git/hooks/update.sample',
'/libraries/vendor/tobscure/json-api/.git/index',
'/libraries/vendor/tobscure/json-api/.git/info/exclude',
'/libraries/vendor/tobscure/json-api/.git/info/refs',
'/libraries/vendor/tobscure/json-api/.git/logs/HEAD',
'/libraries/vendor/tobscure/json-api/.git/logs/refs/heads/joomla-backports',
'/libraries/vendor/tobscure/json-api/.git/logs/refs/remotes/origin/HEAD',
'/libraries/vendor/tobscure/json-api/.git/objects/info/packs',
'/libraries/vendor/tobscure/json-api/.git/objects/pack/pack-51530cba04703b17f3c11b9e8458a171092cf5e3.idx',
'/libraries/vendor/tobscure/json-api/.git/objects/pack/pack-51530cba04703b17f3c11b9e8458a171092cf5e3.pack',
'/libraries/vendor/tobscure/json-api/.git/packed-refs',
'/libraries/vendor/tobscure/json-api/.git/refs/heads/joomla-backports',
'/libraries/vendor/tobscure/json-api/.git/refs/remotes/origin/HEAD',
'/libraries/vendor/tobscure/json-api/.php_cs',
'/libraries/vendor/tobscure/json-api/tests/AbstractSerializerTest.php',
'/libraries/vendor/tobscure/json-api/tests/AbstractTestCase.php',
'/libraries/vendor/tobscure/json-api/tests/CollectionTest.php',
'/libraries/vendor/tobscure/json-api/tests/DocumentTest.php',
'/libraries/vendor/tobscure/json-api/tests/ErrorHandlerTest.php',
'/libraries/vendor/tobscure/json-api/tests/Exception/Handler/FallbackExceptionHandlerTest.php',
'/libraries/vendor/tobscure/json-api/tests/Exception/Handler/InvalidParameterExceptionHandlerTest.php',
'/libraries/vendor/tobscure/json-api/tests/LinksTraitTest.php',
'/libraries/vendor/tobscure/json-api/tests/ParametersTest.php',
'/libraries/vendor/tobscure/json-api/tests/ResourceTest.php',
'/libraries/vendor/tobscure/json-api/tests/UtilTest.php',
);

$folders = array(
// From 3.10 to 4.0
// From 3.10 to 4.1
'/templates/system/images',
'/templates/system/html',
'/templates/protostar/less',
Expand Down Expand Up @@ -7644,6 +7695,31 @@ public function deleteUnexistingFiles($dryRun = false, $suppressOutput = false)
'/administrator/templates/atum/css',
// From 4.1.0-beta3 to 4.1.0-rc1
'/api/components/com_media/src/Helper',
// From 4.1.0 to 4.1.1
'/libraries/vendor/tobscure/json-api/tests/Exception/Handler',
'/libraries/vendor/tobscure/json-api/tests/Exception',
'/libraries/vendor/tobscure/json-api/tests',
'/libraries/vendor/tobscure/json-api/.git/refs/tags',
'/libraries/vendor/tobscure/json-api/.git/refs/remotes/origin',
'/libraries/vendor/tobscure/json-api/.git/refs/remotes',
'/libraries/vendor/tobscure/json-api/.git/refs/heads',
'/libraries/vendor/tobscure/json-api/.git/refs',
'/libraries/vendor/tobscure/json-api/.git/objects/pack',
'/libraries/vendor/tobscure/json-api/.git/objects/info',
'/libraries/vendor/tobscure/json-api/.git/objects',
'/libraries/vendor/tobscure/json-api/.git/logs/refs/remotes/origin',
'/libraries/vendor/tobscure/json-api/.git/logs/refs/remotes',
'/libraries/vendor/tobscure/json-api/.git/logs/refs/heads',
'/libraries/vendor/tobscure/json-api/.git/logs/refs',
'/libraries/vendor/tobscure/json-api/.git/logs',
'/libraries/vendor/tobscure/json-api/.git/info',
'/libraries/vendor/tobscure/json-api/.git/hooks',
'/libraries/vendor/tobscure/json-api/.git/branches',
'/libraries/vendor/tobscure/json-api/.git',
// From 4.1.1 to 4.1.2
'/administrator/components/com_users/src/Field/PrimaryauthprovidersField.php',
// From 4.1.1 to 4.2.0
'/libraries/src/Service/Provider/ApiRouter.php'
);

$status['files_checked'] = $files;
Expand Down Expand Up @@ -8577,4 +8653,40 @@ function ($template) use ($db)
['atum', 'cassiopeia']
);
}

/**
* Add the user Auth Provider Column as it could be present from 3.10 already
*
* @return void
*
* @since 4.1.1
*/
protected function addUserAuthProviderColumn(): void
{
$db = Factory::getContainer()->get('DatabaseDriver');

// Check if the column already exists
$fields = $db->getTableColumns('#__users');

// Column exists, skip
if (isset($fields['authProvider']))
{
return;
}

$query = 'ALTER TABLE ' . $db->quoteName('#__users')
. ' ADD COLUMN ' . $db->quoteName('authProvider') . ' varchar(100) DEFAULT ' . $db->quote('') . ' NOT NULL';

// Add column
try
{
$db->setQuery($query)->execute();
}
catch (Exception $e)
{
echo Text::sprintf('JLIB_DATABASE_ERROR_FUNCTION_FAILED', $e->getCode(), $e->getMessage()) . '<br>';

return;
}
}
}
Loading

0 comments on commit 7e56d0b

Please sign in to comment.