Skip to content

Commit b702f80

Browse files
authored
Merge branch 'staging' into canDelete
2 parents b865fbb + 631d862 commit b702f80

File tree

5,490 files changed

+239008
-148435
lines changed

Some content is hidden

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

5,490 files changed

+239008
-148435
lines changed

.appveyor.yml

Lines changed: 51 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,37 @@ build: false
22
platform:
33
- x64
44
clone_folder: C:\projects\joomla-cms
5+
6+
branches:
7+
except:
8+
- /l10n_*/
9+
510
## Build matrix for lowest and highest possible targets
611
environment:
12+
DLLVersion: "5.6.1"
13+
PHPBuild: "x64"
14+
VC: "vc15"
715
matrix:
816
- php_ver_target: 5.6
17+
PHPBuild: "x86"
18+
VC: "vc11"
19+
WINCACHE: "1.3.7.12"
920
- php_ver_target: 7.0
21+
DLLVersion: "5.3.0"
22+
VC: "vc14"
23+
WINCACHE: "2.0.0.8"
1024
- php_ver_target: 7.1
25+
DLLVersion: "5.3.0"
26+
VC: "vc14"
27+
WINCACHE: "2.0.0.8"
28+
- php_ver_target: 7.2
29+
DLLVersion: "5.3.0"
30+
- php_ver_target: 7.3
1131

1232
init:
1333
- SET PATH=C:\Program Files\OpenSSL;C:\tools\php;%PATH%
1434
- SET COMPOSER_NO_INTERACTION=1
15-
- SET PHP=1 # This var relates to caching the php install
35+
- SET PHP=1 # This var relates to caching the php install
1636
- SET ANSICON=121x90 (121x90)
1737
services:
1838
- mssql2014
@@ -26,33 +46,39 @@ install:
2646
- ps: >-
2747
If ($env:php_ver_target -eq "5.6") {
2848
appveyor-retry cinst --params '""/InstallDir:C:\tools\php""' --ignore-checksums -y --forcex86 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|]','')
29-
$VC = "vc11"
30-
$PHPBuild = "x86"
3149
} Else {
3250
appveyor-retry cinst --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|]','')
33-
$VC = "vc14"
34-
$PHPBuild = "x64"
3551
}
3652
- appveyor-retry cinst -y sqlite
3753
- cd C:\tools\php
3854
# Get the MSSQL DLL's
3955
- ps: >-
4056
If ($env:PHP -eq "1") {
4157
If ($env:php_ver_target -eq "5.6") {
42-
appveyor-retry appveyor DownloadFile https://cdn.joomla.org/ci/php-sqlsrv.zip
58+
$source = "https://cdn.joomla.org/ci/php-sqlsrv.zip"
59+
$destination = "c:\tools\php\php-sqlsrv.zip"
60+
Invoke-WebRequest $source -OutFile $destination
61+
#appveyor-retry appveyor DownloadFile https://cdn.joomla.org/ci/php-sqlsrv.zip
4362
7z x -y php-sqlsrv.zip > $null
4463
copy SQLSRV\php_sqlsrv_56_nts.dll ext\php_sqlsrv_nts.dll
4564
copy SQLSRV\php_pdo_sqlsrv_56_nts.dll ext\php_pdo_sqlsrv_nts.dll
4665
Remove-Item C:\tools\php\* -include .zip
4766
} Else {
48-
$DLLVersion = "4.1.6.1"
4967
cd c:\tools\php\ext
50-
appveyor-retry appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/sqlsrv/$($DLLVersion)/php_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip
51-
7z x -y php_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip > $null
52-
appveyor-retry appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($DLLVersion)/php_pdo_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip
53-
7z x -y php_pdo_sqlsrv-$($DLLVersion)-$($env:php_ver_target)-nts-vc14-x64.zip > $null
68+
$source = "https://windows.php.net/downloads/pecl/releases/sqlsrv/$($env:DLLVersion)/php_sqlsrv-$($env:DLLVersion)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip"
69+
$destination = "c:\tools\php\ext\php_sqlsrv-$($env:DLLVersion)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip"
70+
Invoke-WebRequest $source -OutFile $destination
71+
#appveyor-retry appveyor DownloadFile https://windows.php.net/downloads/pecl/releases/sqlsrv/$($env:DLLVersion)/php_sqlsrv-$($env:DLLVersion)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip
72+
7z x -y php_sqlsrv-$($env:DLLVersion)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip > $null
73+
$source = "https://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($env:DLLVersion)/php_pdo_sqlsrv-$($env:DLLVersion)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip"
74+
$destination = "c:\tools\php\ext\php_pdo_sqlsrv-$($env:DLLVersion)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip"
75+
Invoke-WebRequest $source -OutFile $destination
76+
#appveyor-retry appveyor DownloadFile https://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($env:DLLVersion)/php_pdo_sqlsrv-$($env:DLLVersion)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip
77+
7z x -y php_pdo_sqlsrv-$($env:DLLVersion)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip > $null
5478
Remove-Item c:\tools\php\ext* -include .zip
55-
cd c:\tools\php}}
79+
cd c:\tools\php
80+
}
81+
}
5682
- IF %PHP%==1 copy php.ini-production php.ini /Y
5783
- IF %PHP%==1 echo date.timezone="UTC" >> php.ini
5884
- IF %PHP%==1 echo extension_dir=ext >> php.ini
@@ -80,17 +106,22 @@ install:
80106
- IF %PHP%==1 echo extension=php_curl.dll >> php.ini
81107
# Get the Wincache DLLs
82108
- ps: >-
83-
If ($env:PHP -eq "1") {
84-
If ($env:php_ver_target -eq "5.6") {$wincache = "1.3.7.12"} Else {$wincache = "2.0.0.8"}
109+
If ($env:PHP -eq "1" -and $env:WINCACHE) {
85110
cd c:\tools\php\ext
86-
appveyor-retry appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/wincache/$($wincache)/php_wincache-$($wincache)-$($env:php_ver_target)-nts-$($VC)-$($PHPBuild).zip
87-
7z x -y php_wincache-$($wincache)-$($env:php_ver_target)-nts-$($VC)-$($PHPBuild).zip > $null
111+
$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"
112+
$destination = "c:\tools\php\ext\php_wincache-$($env:WINCACHE)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip"
113+
Invoke-WebRequest $source -OutFile $destination
114+
#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
115+
7z x -y php_wincache-$($env:WINCACHE)-$($env:php_ver_target)-nts-$($env:VC)-$($env:PHPBuild).zip > $null
88116
Remove-Item C:\tools\php\ext* -include .zip
89-
cd c:\tools\php}
90-
- IF %PHP%==1 echo extension=php_wincache.dll >> php.ini
91-
- IF %PHP%==1 echo wincache.enablecli = 1 >> php.ini
117+
cd c:\tools\php
118+
Add-Content php.ini "`nextension=php_wincache.dll"
119+
Add-Content php.ini "`wincache.enablecli = 1"
120+
Add-Content php.ini "`n"
121+
}
92122
- IF %PHP%==1 echo zend_extension=php_opcache.dll >> php.ini
93123
- IF %PHP%==1 echo opcache.enable_cli=1 >> php.ini
124+
- IF %PHP%==1 echo extension=php_ldap.dll >> php.ini
94125
- IF %PHP%==1 echo @php %%~dp0composer.phar %%* > composer.bat
95126
- appveyor-retry appveyor DownloadFile https://getcomposer.org/composer.phar
96127
- cd C:\projects\joomla-cms
@@ -117,4 +148,4 @@ before_test:
117148

118149
test_script:
119150
- cd C:\projects\joomla-cms
120-
- libraries/vendor/bin/phpunit -c appveyor-phpunit.xml
151+
- ps: If ($env:php_ver_target -eq "5.6") {libraries/vendor/bin/phpunit -c appveyor-phpunit.xml --exclude-group not-on-windows } Else {libraries/vendor/bin/phpunit -c appveyor-phpunit.xml}

.drone.yml

Lines changed: 58 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,33 @@
1-
pipeline:
2-
clone:
3-
image: plugins/git
4-
depth: 1
1+
---
2+
kind: pipeline
3+
name: default
54

6-
phpcs:
5+
clone:
6+
depth: 42
7+
8+
steps:
9+
- name: phpcs
710
image: joomlaprojects/docker-phpcs
811
commands:
912
- echo $(date)
10-
- /root/.composer/vendor/bin/phpcs --report=full --extensions=php -p --standard=build/phpcs/Joomla .
13+
- /root/.composer/vendor/bin/phpcs --report=full --encoding=utf-8 --extensions=php -p --standard=build/phpcs/Joomla .
1114
- echo $(date)
1215

13-
javascript:
16+
- name: restore-cache
17+
image: drillster/drone-volume-cache
18+
settings:
19+
restore: true
20+
mount:
21+
- ./tests/javascript/node_modules
22+
cache_key: [ DRONE_REPO_NAMESPACE, DRONE_REPO_NAME, DRONE_BRANCH, DRONE_STAGE_NUMBER ]
23+
volumes:
24+
- name: cache
25+
path: /cache
26+
27+
- name: javascript
1428
image: joomlaprojects/docker-systemtests:latest
1529
commands:
1630
- echo $(date)
17-
- apt-get install nodejs npm
18-
- ln -s /usr/bin/nodejs /usr/bin/node
1931
- export DISPLAY=:0
2032
- Xvfb -screen 0 1024x768x24 -ac +extension GLX +render -noreset > /dev/null 2>&1 &
2133
- sleep 3
@@ -26,3 +38,40 @@ pipeline:
2638
- tests/javascript/node_modules/karma/bin/karma start karma.conf.js --single-run
2739
- echo $(date)
2840

41+
- name: rebuild-cache
42+
image: drillster/drone-volume-cache
43+
settings:
44+
rebuild: true
45+
mount:
46+
- ./tests/javascript/node_modules
47+
cache_key: [ DRONE_REPO_NAMESPACE, DRONE_REPO_NAME, DRONE_BRANCH, DRONE_STAGE_NUMBER ]
48+
volumes:
49+
- name: cache
50+
path: /cache
51+
52+
- name: analysis3x
53+
image: rips/rips-cli:1.2.1
54+
when:
55+
branch: staging
56+
commands:
57+
- export RIPS_BASE_URI='https://api.rips.joomla.org'
58+
- if [ $DRONE_REPO_NAMESPACE != 'joomla' ]; then echo "The analysis check only run on the main repos"; exit 0; fi
59+
- rips-cli rips:scan:start -a 1 -t 1 -p $(pwd) -t 1 -R -k -T $DRONE_REPO_NAMESPACE-$DRONE_BRANCH || { echo "Please contact the security team at [email protected]"; exit 1; }
60+
environment:
61+
RIPS_USERNAME:
62+
from_secret: RIPS_USERNAME
63+
RIPS_PASSWORD:
64+
from_secret: RIPS_PASSWORD
65+
66+
volumes:
67+
- name: cache
68+
host:
69+
path: /tmp/cache
70+
71+
branches:
72+
exclude: [ l10n_* ]
73+
---
74+
kind: signature
75+
hmac: e3e6739c960a689e78ec07c0ea193818796cdcf3c3dab9781f7f07b7e3e6b674
76+
77+
...

.editorconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# EditorConfig is awesome: http://EditorConfig.org
2+
3+
# top-most EditorConfig file
4+
root = true
5+
6+
# Unix-style newlines with a newline ending every file
7+
[*]
8+
indent_style = tab
9+
end_of_line = lf
10+
charset = utf-8
11+
trim_trailing_whitespace = true
12+
insert_final_newline = true

.github/CODEOWNERS

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Custom Fields
2+
administrator/components/com_fields/* @laoneo
3+
components/com_fields/* @laoneo
4+
plugins/content/fields/* @laoneo
5+
plugins/editors-xtd/fields/* @laoneo
6+
plugins/fields/* @laoneo
7+
plugins/systems/fields/* @laoneo
8+
9+
# Smart Search
10+
#administrator/components/com_finder/*
11+
#components/com_finder/*
12+
#modules/mod_finder/*
13+
#plugins/content/finder/*
14+
#plugins/finder/*
15+
16+
# CodeMirror
17+
media/editors/codemirror/* @okonomiyaki3000
18+
plugins/editors/codemirror/* @okonomiyaki3000
19+
20+
# Statistics Server
21+
plugins/system/stats/* @mbabker @wilsonge
22+
23+
# Release Tools
24+
build.xml @wilsonge
25+
build/build.php @rdeutz @wilsonge
26+
build/bump.php @rdeutz @wilsonge
27+
build/deleted_file_check.php @rdeutz @wilsonge
28+
29+
# Core/Extension Install/Update Tools
30+
administrator/components/com_joomlaupdate/* @rdeutz @wilsonge @zero-24
31+
libraries/src/Installer/* @rdeutz @wilsonge @zero-24
32+
libraries/src/Updater/* @rdeutz @wilsonge @zero-24
33+
34+
# Automated Testing
35+
build/jenkins/* @rdeutz
36+
build/travis/* @rdeutz
37+
tests/codeception/* @rdeutz
38+
tests/javascript/* @wilsonge @rdeutz
39+
tests/unit/* @rdeutz
40+
.appveyor.yml @rdeutz
41+
.drone.yml @rdeutz
42+
.hound.yml @wilsonge
43+
.travis.yml @rdeutz
44+
appveyor-phpunit.xml @rdeutz
45+
codeception.yml @rdeutz
46+
karma.conf.js @wilsonge @rdeutz
47+
phpunit.xml.dist @rdeutz
48+
RoboFile.dist.ini @rdeutz
49+
RoboFile.php @rdeutz
50+
travis-phpunit.xml @rdeutz
51+
52+
# Core JS
53+
media/*/js/* @wilsonge

.github/CONTRIBUTING.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ There are other branches available which serve specific purposes.
1919

2020
| Branch | Purpose |
2121
| ------ | ------- |
22-
| staging | Current codebase. Branch for the next minor Joomla version. New backward compatible features go into this branch. |
23-
| master | Each commit made to staging gets tested if it passes unit tests and codestyle rules. It is then merged into master. This is done automatically. |
24-
| 3.8-dev | Branch for the next minor Joomla version. The 3.8.0 release will only include compatibility features for 4.0. Commits to staging will be applied to this branch as well. |
22+
| staging | Current codebase. Branch for the next minor Joomla version. New backward compatible features go into this branch. The 3.9.0 release will include the Privacy Tools Suite features. |
23+
| 3.10-dev | Branch for the next minor Joomla version. The 3.10.0 release will only include compatibility features for 4.0. Commits to staging will be applied to this branch as well. |
2524
| 4.0-dev | Branch for the next major Joomla version. New features go into this branch. Commits to staging will be applied to this branch as well. |
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
5+
---
6+
7+
### Steps to reproduce the issue
8+
9+
10+
11+
### Expected result
12+
13+
14+
15+
### Actual result
16+
17+
18+
19+
### System information (as much as possible)
20+
21+
22+
23+
### Additional comments

.github/ISSUE_TEMPLATE/Custom.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
name: Fix this template
3+
about: Suggest a fix it
4+
5+
---
6+
7+
### What needs to be fixed
8+
9+
10+
### Why this should be fixed
11+
12+
13+
### How would you fix it
14+
15+
16+
### Side Effects expected
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
5+
---
6+
7+
### Is your feature request related to a problem? Please describe.
8+
9+
10+
11+
### Describe the solution you'd like
12+
13+
14+
15+
### Additional context

.github/ISSUE_TEMPLATE/Security.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
name: Security
3+
about: Report a security issue
4+
5+
---
6+
7+
Security issues should **NOT** be reported on this repository.
8+
9+
If you believe you have found a security issue, please contact the Joomla Security Strike Team via email at [email protected] or through the contact form at https://developer.joomla.org/security/contact-the-team.html.
10+
11+
Please see https://developer.joomla.org/security.html for more information on how the Joomla project responds to security issues.

.github/SECURITY.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Security Policies and Procedures
2+
3+
This document outlines security procedures and policies for the `Joomla! Project`.
4+
5+
* [Reporting a Bug](#reporting-a-bug)
6+
* [Response Handling](#response-handling)
7+
* [Security Announcement Policy](#security-announcement-policy)
8+
* [Further Details on the Joomla! Security Policies](https://security.joomla.org)
9+
10+
## Reporting a Bug
11+
12+
The `Joomla` team and community take all security bugs in `Joomla` seriously. The Joomla! Security Strike Team (JSST) oversees the project's security issues and follows some specific procedures when dealing with these issues.
13+
14+
If you find a possible vulnerability, please report it to the JSST using the [online form](https://developer.joomla.org/security/contact-the-team.html) or via email at [email protected]
15+
16+
We maintain a list of [GPG keys and addresses](https://developer.joomla.org/security/gpg-keys.html) for the [email protected] address and members of the JSST to allow signed and encrypted communications.
17+
18+
To report an issue in a Joomla! extension, please submit it to the [Vulnerable Extensions List.](https://vel.joomla.org/submit-vel)
19+
20+
For support with a site which has been attacked, please visit the [Joomla! Forum.](https://forum.joomla.org/viewforum.php?f=714)
21+
22+
Thank you for improving the security of `Joomla`.
23+
24+
## Response Handling
25+
26+
The JSST aims to ensure all issues are handled in a timely manner and for clear communication between the team and issue reporters. We have established the following guidelines for responding to issue reports:
27+
28+
* Within 24 hours every report gets acknowledged
29+
* Within 7 days every report gets a further response stating either
30+
* the issue is closed (and why)
31+
* the issue is still under investigation; if needed, additional information will be requested
32+
* Within 21 days every report must be resolved unless there are exceptional circumstances requiring additional time
33+
34+
## Security Announcement Policy
35+
* Verified vulnerabilities will only be publicly announced AFTER a release is issued which fixes the vulnerability.
36+
* All announcements will contain as much information as possible, but will NOT contain step-by-step instructions for the vulnerability.
37+
* The `Joomla! Project` will properly credit individuals and/or organizations who responsibly disclose security issues to the JSST. You can indicate the way you would like to be referred to in the advisory about the vulnerability. Our preference is to use full names. If you do not specify then we will use the contact name associated with the email address the report was received from. You can also request a pseudonym or having your name withheld.

0 commit comments

Comments
 (0)