1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-09-16 19:12:09 +02:00

Compare commits

...

112 Commits

Author SHA1 Message Date
Marc Alexander
929bd2ac3c [prep-release-3.2.3] Update changelog after merging PR 2018-03-26 20:29:17 +02:00
Marc Alexander
364407ab59 Merge pull request #5163 from VSEphpbb/ticket/15595
[ticket/15595] Fix module exists tool when ignoring parent check
2018-03-26 20:22:16 +02:00
Matt Friedman
d7db5d366b [ticket/15595] Fix module exists tool when parent is false
PHPBB3-15595
2018-03-19 16:45:44 -07:00
Marc Alexander
1c30a9778d [prep-release-3.2.3] Update changelog for 3.2.3-RC1 2018-02-28 21:35:00 +01:00
Marc Alexander
747ed95678 [prep-release-3.2.3] Add migration for 3.2.3-RC1 2018-02-28 21:32:52 +01:00
Marc Alexander
4bde2511b8 [prep-release-3.2.3] Update versions for 3.2.3 2018-02-28 21:31:05 +01:00
Marc Alexander
25c57cc457 [prep-release-3.2.3] Update version numbers for 3.2.3-RC1 2018-02-28 21:30:24 +01:00
Marc Alexander
17c3bf0b39 Merge pull request #5147 from marc1706/ticket/15569
[ticket/15569] Suggest using file replacing instead of automatic updater
2018-02-28 21:21:24 +01:00
Marc Alexander
5cdefdde2e Merge pull request #5146 from kasimi/ticket/15570
[ticket/15570] Allow file downloader to use TLS greater than 1.0
2018-02-28 21:02:58 +01:00
Marc Alexander
9474d6d50e [ticket/15569] Suggest using file replacing instead of automatic updater
PHPBB3-15569
2018-02-25 17:26:38 +01:00
kasimi
488de11493 [ticket/15570] Allow file downloader to use TLS greater than 1.0
PHPBB3-15570
2018-02-25 10:25:33 +01:00
Marc Alexander
98232a06ac Merge pull request #5145 from marc1706/ticket/15568
[ticket/15568] Update dependencies to latest versions
2018-02-24 18:58:17 +01:00
Marc Alexander
aff9414f68 Merge pull request #5144 from marc1706/ticket/15466
[ticket/15466] Update CREDITS.txt to reflect Nils leaving [ci skip]
2018-02-24 18:55:04 +01:00
Marc Alexander
1de6434a48 [ticket/15568] Update dependencies to latest versions
PHPBB3-15568
2018-02-24 17:44:28 +01:00
Marc Alexander
a9ef821253 [ticket/15466] Update CREDITS.txt to reflect Nils leaving [ci skip]
PHPBB3-15466
2018-02-22 21:41:20 +01:00
Marc Alexander
50cf6443b9 Merge pull request #5131 from kasimi/ticket/15561
[ticket/15561] Add events for adding columns to search index
2018-02-22 20:34:24 +01:00
Marc Alexander
cf517509c8 Merge pull request #5133 from rubencm/ticket/15563
[ticket/15563] Check if database file is writable only if exists
2018-02-22 20:06:49 +01:00
Marc Alexander
4b0a04b109 Merge pull request #5138 from senky/ticket/15559
[ticket/15559] Fix wrongly assigned uid and bitfield
2018-02-22 19:49:00 +01:00
Marc Alexander
f17bd9e1e0 Merge pull request #5094 from JoshyPHP/ticket/15518
[ticket/15518] Add a setting to toggle permission checks for pms in viewtopic
2018-02-21 21:14:00 +01:00
Marc Alexander
1c920859db Merge pull request #5089 from marc1706/ticket/15516
[ticket/15516] Add instructions for running UI tests
2018-02-21 20:55:20 +01:00
Marc Alexander
94c168291c [ticket/15516] Fix typo in UI test instructions
[ci skip]

PHPBB3-15516
2018-02-21 20:43:56 +01:00
Marc Alexander
89e29bb846 Merge pull request #5118 from FH3095/patch-1
[ticket/15520] sql_build_query build subquery
2018-02-21 19:05:56 +01:00
Marc Alexander
eecff95ce1 Merge pull request #5116 from kasimi/ticket/15537
[ticket/15537] Add core.search_(native|mysql|postgres|sphinx)_index_before
2018-02-20 20:00:23 +01:00
Marc Alexander
00777eec62 Merge pull request #5128 from akbarhashmi/ticket/12579
[ticket/12579] Add "BUTTON_" strings for Post and PM buttons
2018-02-19 20:09:45 +01:00
Marc Alexander
c5f4ad24f9 Merge pull request #5137 from senky/ticket/15558
[ticket/15558] Fix wrongly assigned uid and bitfield
2018-02-19 19:44:14 +01:00
Jakub Senko
325b14550d [ticket/15559] Fix wrongly assigned uid and bitfield
PHPBB3-15559
2018-02-19 16:48:36 +01:00
Jakub Senko
692a770fc3 [ticket/15558] Fix wrongly assigned uid and bitfield
PHPBB3-15558
2018-02-19 16:46:43 +01:00
Marc Alexander
961e241b26 Merge remote-tracking branch 'GerB/patch-4' into 3.2.x 2018-02-19 08:01:54 +01:00
Marc Alexander
8ac4f52924 Merge remote-tracking branch 'senky/ticket/15522' into 3.2.x 2018-02-19 07:54:39 +01:00
Marc Alexander
07930c0917 Merge pull request #5105 from senky/ticket/15398
[ticket/15398] Add core.oauth_login_after_check_if_provider_id_has_match
2018-02-18 17:10:22 +01:00
Rubén Calvo
c160882cdb [ticket/15563] Check if database file is writable only if exists
PHPBB3-15563
2018-02-17 18:50:04 +01:00
kasimi
a6dc32b381 [ticket/15561] Add events for adding columns to search index
PHPBB3-15561
2018-02-16 21:40:18 +01:00
Marc Alexander
7dca3f4d6c Merge pull request #5081 from hubaishan/ticket/15492
[ticket/15492] Fix permission role combobox in RTL
2018-02-14 19:58:51 +01:00
GerB
3244cab370 [ticket/15547] Add file object to event
Add file object to core.avatar_driver_upload_move_file_before.

PHPBB3-15547
2018-02-13 20:56:08 +01:00
Akbar
bee9ddbfdf [ticket/12579] Add "BUTTON_" strings for Post and PM buttons
PHPBB3-12579
2018-02-13 16:09:30 +05:30
FH
4577404fc2 [ticket/15520] sql_build_query build subquery
Fix for the building of subqueries
in sql_build_query

PHPBB3-15520
2018-02-03 21:06:12 +01:00
Marc Alexander
f29784e288 Merge pull request #5112 from marc1706/ticket/15535
[ticket/15535] Add S_FIRST_POST to postrow in viewtopic
2018-01-31 19:59:00 +01:00
Marc Alexander
ef7a5a0280 Merge pull request #5113 from Crizz0/ticket/14936
[ticket/14936] Add missing error message INST_ERR_DB to language files
2018-01-29 18:53:52 +01:00
kasimi
9f7f3d1463 [ticket/15537] Add cur_words argument to core.search_native_index_before
PHPBB3-15537
2018-01-28 18:02:22 +01:00
kasimi
013f9819b0 [ticket/15537] Add core.search_(native|mysql|postgres|sphinx)_index_before
PHPBB3-15537
2018-01-28 16:14:29 +01:00
Christian Schnegelberger
1d97f4491e [ticket/14936] Add missing error message to language files
PHPBB3-14936
2018-01-27 22:34:22 +01:00
Jakub Senko
3b28f620fc [ticket/15522] Allow multiple color palettes on one page
PHPBB3-15522
2018-01-27 17:20:45 +01:00
Daniel Mota
b68a64de84 [ticket/15535] Add S_FIRST_POST to postrow in viewtopic
PHPBB3-15535
2018-01-27 16:29:20 +01:00
Jakub Senko
82adb1f4f5 [ticket/15398] Add core.oauth_login_after_check_if_provider_id_has_match
PHPBB3-15398
2018-01-27 15:40:52 +01:00
Marc Alexander
4c7af15d0a Merge pull request #5111 from hubaishan/ticket/15507
[ticket/15507] Fix PHP 7.2 warning in functions_messenger.php
2018-01-27 12:58:21 +01:00
Marc Alexander
536a8a6a85 Merge pull request #5110 from rxu/ticket/15534
[ticket/15534] Update extensions database link in ACP for phpBB 3.2
2018-01-27 12:53:59 +01:00
rxu
c831f183bf [ticket/15534] Update also language packs database link in ACP for phpBB 3.2
PHPBB3-15534
2018-01-27 13:18:41 +07:00
Marc Alexander
361e8c6fea Merge pull request #5109 from rxu/ticket/15533
[ticket/15533] Fix typo in viewtopic_topic_tools.html
2018-01-25 21:23:52 +01:00
hubaishan
1e1097f06f [ticket/15507] Fix PHP 7.2 warning in functions_messenger.php
By pre assgin `$extra_headers` to array.

PHPBB3-15507
2018-01-25 23:00:40 +03:00
rxu
9e1e77f4f9 [ticket/15534] Update also styles database link in ACP for phpBB 3.2
PHPBB3-15534
2018-01-26 01:04:32 +07:00
Marc Alexander
c89051eb28 Merge pull request #5103 from JoshyPHP/ticket/15531
[ticket/15531] Log malformed BBCodes
2018-01-25 18:23:09 +01:00
rxu
f1afccb662 [ticket/15534] Update extensions database link in ACP for phpBB 3.2
PHPBB3-15534
2018-01-25 20:59:10 +07:00
rxu
ca2e2e6107 [ticket/15533] Fix typo in viewtopic_topic_tools.html
PHPBB3-15533
2018-01-25 20:49:10 +07:00
Marc Alexander
a74658091b Merge pull request #5102 from JoshyPHP/ticket/15527
[ticket/15527] Skip malformed BBCodes during merge_duplicate_bbcodes migration
2018-01-24 23:35:49 +01:00
Marc Alexander
3a8305e190 Merge pull request #5098 from VSEphpbb/ticket/15526
[ticket/15526] Cast bbcode id to INT in merge bbcodes migration
2018-01-24 19:19:29 +01:00
Marc Alexander
928a8c0e89 Merge pull request #5100 from senky/ticket/15528
[ticket/15528] Display style phpBB version
2018-01-24 19:16:24 +01:00
Marc Alexander
128a6e4c8d Merge pull request #5101 from senky/ticket/15529
[ticket/15529] Color groups in ACP
2018-01-24 19:09:25 +01:00
Marc Alexander
532afbf83a [ticket/15527] Remove "use" and specify full class name for exception
PHPBB3-15527
2018-01-24 18:47:40 +01:00
Marc Alexander
10691fda8e Merge pull request #5104 from Crizz0/ticket/15532
[ticket/15532] PR-template: Updates the links for guidelines and message format
2018-01-24 18:40:01 +01:00
Marc Alexander
23a1f3feda Merge pull request #5106 from senky/ticket/15514
[ticket/15514] Improve SMTP_SERVER lang key
2018-01-24 18:31:37 +01:00
Marc Alexander
b9cb75bf60 Merge pull request #5099 from VSEphpbb/ticket/15525
[ticket/15525] Update to valid SPDX license name GPL-2.0-only
2018-01-24 18:12:02 +01:00
Jakub Senko
277f4efcc7 [ticket/15514] Improve SMTP_SERVER lang key
PHPBB3-15514
2018-01-24 13:34:23 +01:00
Christian Schnegelberger
329eb201d9 [ticket/15532] Updates the links for guidelines and message format
PHPBB3-15532
2018-01-22 22:17:25 +01:00
Jakub Senko
233a07ceda [ticket/15528] Rename column label
PHPBB3-15528
2018-01-22 22:04:23 +01:00
JoshyPHP
3c5b3254d1 [ticket/15531] Workaround for false-positive sniff
PHPBB3-15531
2018-01-22 16:36:12 +01:00
JoshyPHP
531d9dfa1f [ticket/15531] Log malformed BBCodes
PHPBB3-15531
2018-01-22 03:34:47 +01:00
JoshyPHP
5c8a667db2 [ticket/15527] Skip malformed BBCodes during merge_duplicate_bbcodes migration
PHPBB3-15527
2018-01-22 02:37:47 +01:00
Jakub Senko
875dc63c6f [ticket/15529] Color groups in ACP
PHPBB3-15529
2018-01-21 11:04:07 +01:00
Jakub Senko
abe218c34a [ticket/15528] Display style phpBB version
PHPBB3-15528
2018-01-21 10:54:07 +01:00
Marc Alexander
d0143bec88 Merge pull request #5084 from hubaishan/ticket/15510
[ticket/15510] Link Orphan attachments in ACP General to its page
2018-01-20 19:57:33 +01:00
Marc Alexander
55e13693b0 Merge pull request #5078 from Crizz0/ticket/15500
[ticket/15500] Updates PHP requirements to 5.4.7+ in docs/
2018-01-20 19:51:35 +01:00
Marc Alexander
5c989b1e8e Merge pull request #5067 from hubaishan/ticket/15491
[ticket/15491] Fix out dated linkes in Installer support page
2018-01-20 19:50:11 +01:00
Marc Alexander
8f742fb7d5 Merge pull request #5097 from canonknipser/ticket/15513
[ticket/15513] Signature edit in acp gives error
2018-01-20 19:45:46 +01:00
Matt Friedman
f08887e277 [ticket/15526] Cast bbcode id to INT in merge bbcodes migration
PHPBB3-15526
2018-01-20 09:54:45 -08:00
Matt Friedman
2d8b856a63 [ticket/15525] Update to valid SPDX license name GPL-2.0-only
PHPBB3-15525
2018-01-20 09:52:14 -08:00
Marc Alexander
227e7cadba Merge pull request #5096 from kasimi/ticket/15523
[ticket/15523] Fix AdBlocker causing JS error when using CookieConsent
2018-01-20 18:40:31 +01:00
canonknipser
122f61e1ca [ticket/15513] Signature edit in acp gives error
When editing a users signature in acp, a error is thrown.

PHPBB3-15513
2018-01-20 18:00:44 +01:00
kasimi
ce6adeea02 [ticket/15523] Fix AdBlocker causing JS error when using CookieConsent
PHPBB3-15523
2018-01-19 18:41:58 +01:00
Christian Schnegelberger
bb442c498b [ticket/15500] Adds 7.1 and 7.2 to tested versions
PHPBB3-15500
2018-01-19 18:16:17 +01:00
hubaishan
ccc260b179 [ticket/15491] Add twitter and facebook
Add twitter and facebook

PHPBB3-15491
2018-01-19 19:07:16 +03:00
hubaishan
ede0a36076 [ticket/15510] Link Orphan attachments in ACP General to its page
change `IF TOTAL_ORPHAN` to `IF TOTAL_ORPHAN > 0`

PHPBB3-15510
2018-01-19 16:28:54 +03:00
Marc Alexander
adc75b700f Merge pull request #5083 from JoshyPHP/ticket/15512
[ticket/15512] Avoid reparsing non-existent polls
2018-01-19 12:20:54 +01:00
Marc Alexander
fb5247a726 Merge pull request #5095 from senky/ticket/15099
[ticket/15099] Remove type attr from INCLUDECSS and INCLUDEJS
2018-01-17 23:06:16 +01:00
Jakub Senko
ad748ec0a7 [ticket/15099] Fix tests
PHPBB3-15099
2018-01-17 22:10:53 +01:00
Jakub Senko
84ff21a586 [ticket/15099] Remove type attr from INCLUDECSS and INCLUDEJS
PHPBB3-15099
2018-01-17 18:30:21 +01:00
JoshyPHP
f01e29effe [ticket/15518] Add a setting to toggle permission checks for pms in viewtopic
PHPBB3-15518
2018-01-17 00:16:26 +01:00
Christian Schnegelberger
1f80b668f1 [ticket/15500] Remove number from upper PHP limit
PHPBB3-15500
2018-01-16 21:42:38 +01:00
Marc Alexander
1cd8bbac0c Merge pull request #5071 from dsinn/ticket/15495
[ticket/15495] Use transaction in ACP move_forum
2018-01-16 21:34:20 +01:00
Marc Alexander
3469545e3a [ticket/15516] Add instructions for running UI tests
PHPBB3-15516
2018-01-14 12:59:01 +01:00
JoshyPHP
5878d66ebf [ticket/15512] Avoid reparsing non-existent polls
PHPBB3-15512
2018-01-12 16:28:37 +01:00
hubaishan
baabcad8ab [ticket/15510] Link Orphan attachments in ACP General to its page
Link Orphan attachments in ACP General to Orphaned attachments page
if Orphan attachments>0

PHPBB3-15510
2018-01-12 18:23:16 +03:00
Derky
7f6ececf95 Merge pull request #5079 from rxu/ticket/15502
[ticket/15502] Fix migrations
2018-01-12 07:30:51 +01:00
Derky
d268a63812 Merge pull request #5082 from marc1706/ticket/15506
[ticket/15506] Assign attachrow_template_vars before foreach
2018-01-11 21:43:49 +01:00
Marc Alexander
16bfb5bfc3 Merge pull request #5072 from Derky/ticket/15499
[ticket/15499] Remove HHVM from Travis build matrix
2018-01-11 21:32:37 +01:00
Derky
500cd2916e Merge pull request #5080 from marc1706/ticket/15055
[ticket/15055] Display content on unexpted server error
2018-01-11 21:02:12 +01:00
Marc Alexander
350d4f3e6d [ticket/15506] Assign attachrow_template_vars before foreach
The attachrow_template_vars array needs to be defined once in front of the
foreach instead of resetting the array on every iteration of the foreach.

PHPBB3-15506
2018-01-11 21:00:19 +01:00
hubaishan
8c89194cc6 [ticket/15492] Fix permission role combobox in RTL
Varius fixes to css and js for correct
displaying permission role combbox in RTL mode

PHPBB3-15492
2018-01-11 19:10:32 +03:00
Marc Alexander
6a75fe26fc [ticket/15055] Use regex to copy php to tools php
PHPBB3-15055
2018-01-10 21:41:53 +01:00
Marc Alexander
8d551e2ded [ticket/15055] Specifiy PHP 7.1.12 and use development ini
PHP 7.1.13 seems to randomly fail. Use 7.1.12 for now.

PHPBB3-15055
2018-01-10 20:47:24 +01:00
Marc Alexander
62f8fed797 [ticket/15055] Run sql2016 builds with PHP 7.1
PHPBB3-15055
2018-01-09 21:29:40 +01:00
Marc Alexander
3c7f45c166 [ticket/15055] Fix line break and disable sql server 2017 for now
SQL Server 2017 currently fails for unknown reasons and just results in
an overall longer build time. Therefore disabling it for now.

PHPBB3-15055
2018-01-09 21:22:58 +01:00
Marc Alexander
daf668a969 [ticket/15055] Display content on unexpted server error
PHPBB3-15055
2018-01-08 21:17:38 +01:00
rxu
0391b48d7e [ticket/15502] Fix migrations
PHPBB3-15502
2018-01-09 01:01:49 +07:00
Christian Schnegelberger
81a8a76c59 [ticket/15500] Updates PHP requirements to 5.4.7+ in docs/
PHPBB3-15500
2018-01-07 22:22:41 +01:00
Marc Alexander
f26cf2dc1f [3.2.x] Update versions to 3.2.3-dev 2018-01-07 18:51:18 +01:00
Marc Alexander
d2226b3664 Merge branch '3.1.x' into 3.2.x 2018-01-07 18:44:58 +01:00
Marc Alexander
7e2136587a Merge branch 'prep-release-3.2.2' into 3.2.x 2018-01-07 18:43:45 +01:00
Marc Alexander
dc8ff9da28 Merge branch 'prep-release-3.1.12' into 3.1.x 2018-01-07 13:29:47 +01:00
Derky
90e440855e [ticket/15499] Remove HHVM from Travis build matrix
PHPBB3-15499
2018-01-06 00:09:02 +01:00
Daniel Sinn
84ccb3aded [ticket/15495] Use transaction in ACP move_forum
Should prevent the forums table from getting messed up if an error or
concurrent execution happens.

PHPBB3-15495
2018-01-03 16:18:14 -05:00
Marc Alexander
b2dacefbe7 Merge branch 'prep-release-3.1.12' into 3.1.x 2017-12-31 17:12:50 +01:00
hubaishan
ea01890407 [ticket/15491] Fix out dated linkes in Installer support page
Fix out dated linkes in Installer support page

PHPBB3-15491
2017-12-31 13:35:33 +03:00
74 changed files with 1057 additions and 338 deletions

View File

@@ -15,10 +15,10 @@ environment:
php: 7.0
- db: mssql
db_version: sql2016
php: 7.0
- db: mssql
db_version: sql2017
php: 7.1
php: 7.1.12
# - db: mssql
# db_version: sql2017
# php: 7.1
# - db: mariadb
# php: 7.1
# - db: mysqli
@@ -40,10 +40,10 @@ before_test:
- ps: |
Set-Service wuauserv -StartupType Manual
cinst -y php --version ((choco search php --exact --all-versions -r | select-string -pattern $env:php | sort { [version]($_ -split '\|' | select -last 1) } -Descending | Select-Object -first 1) -replace '[php|]','')
Get-ChildItem -Path "c:\tools\php$($env:php -replace '[.]','')" -Recurse |
Get-ChildItem -Path "c:\tools\php$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1$2')" -Recurse |
Move-Item -destination "c:\tools\php"
cd c:\tools\php
cat php.ini-production | %{$_ -replace "memory_limit = 128M","memory_limit = 1024M"} | Out-File -Encoding "Default" php.ini
cat php.ini-development | %{$_ -replace "memory_limit = 128M","memory_limit = 1024M"} | Out-File -Encoding "Default" php.ini
Add-Content php.ini "`n date.timezone=UTC"
Add-Content php.ini "`n display_errors=On"
Add-Content php.ini "`n extension_dir=ext"
@@ -64,10 +64,10 @@ before_test:
if ($env:db -eq "mssql") {
cd c:\tools\php\ext
$DLLVersion = "4.1.6.1"
appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/sqlsrv/$($:DLLVersion)/php_sqlsrv-$($DLLVersion)-$($env:php)-nts-vc14-x64.zip
7z x -y php_sqlsrv-$($DLLVersion)-$($env:php)-nts-vc14-x64.zip > $null
appveyor-retry appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($DLLVersion)/php_pdo_sqlsrv-$($DLLVersion)-$($env:php)-nts-vc14-x64.zip
7z x -y php_pdo_sqlsrv-$($DLLVersion)-$($env:php)-nts-vc14-x64.zip > $null
appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/sqlsrv/$($:DLLVersion)/php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip
7z x -y php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip > $null
appveyor-retry appveyor DownloadFile http://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/$($DLLVersion)/php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip
7z x -y php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip > $null
Remove-Item c:\tools\php\* -include .zip
cd c:\tools\php
Add-Content php.ini "`nextension=php_sqlsrv.dll"
@@ -114,6 +114,10 @@ before_test:
# Install PhantomJS
cinst -y phantomjs
Start-Process "phantomjs" "--webdriver=8910" | Out-Null
- ps: |
cd c:\projects\phpbb\phpBB
(Get-Content c:\projects\phpbb\phpBB\web.config).replace("<configuration>", "<configuration>`n`t<system.web>`n`t`t<customErrors mode=`"Off`"/>`n`t</system.web>") | Set-Content c:\projects\phpbb\phpBB\web.config
(Get-Content c:\projects\phpbb\phpBB\web.config).replace("`t</system.webServer>", "`t`t<httpErrors errorMode=`"Detailed`" />`n`t</system.webServer>") | Set-Content c:\projects\phpbb\phpBB\web.config
- cd c:\projects\phpbb\phpBB
- php ..\composer.phar install
- choco install -y urlrewrite

View File

@@ -1,9 +1,9 @@
Checklist:
- [ ] Correct branch: master for new features; 3.2.x, 3.1.x for fixes
- [ ] Correct branch: master for new features; 3.2.x for fixes
- [ ] Tests pass
- [ ] Code follows coding guidelines: [master / 3.2.x](https://area51.phpbb.com/docs/master/coding-guidelines.html), [3.1.x](https://area51.phpbb.com/docs/31x/coding-guidelines.html)
- [ ] Commit follows commit message [format](https://wiki.phpbb.com/Git#Commit_Messages)
- [ ] Code follows coding guidelines: [master](https://area51.phpbb.com/docs/dev/master/development/coding_guidelines.html) and [3.2.x](https://area51.phpbb.com/docs/dev/3.2.x/development/coding_guidelines.html)
- [ ] Commit follows commit message [format](https://area51.phpbb.com/docs/dev/3.2.x/development/git.html)
Tracker ticket (set the ticket ID to **your ticket ID**):

View File

@@ -30,10 +30,7 @@ matrix:
env: DB=mysqli
- php: nightly
env: DB=mysqli
- php: hhvm
env: DB=mysqli
allow_failures:
- php: hhvm
- php: nightly
fast_finish: true

View File

@@ -2,9 +2,9 @@
<project name="phpBB" description="The phpBB forum software" default="all" basedir="../">
<!-- a few settings for the build -->
<property name="newversion" value="3.2.2" />
<property name="prevversion" value="3.2.1" />
<property name="olderversions" value="3.0.14, 3.1.0, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.1.6, 3.1.7, 3.1.7-pl1, 3.1.8, 3.1.9, 3.1.10, 3.1.11, 3.1.12, 3.2.0-a1, 3.2.0-a2, 3.2.0-b1, 3.2.0-b2, 3.2.0-RC1, 3.2.0-RC2, 3.2.0, 3.2.2-RC1" />
<property name="newversion" value="3.2.3-RC1" />
<property name="prevversion" value="3.2.2" />
<property name="olderversions" value="3.0.14, 3.1.0, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.1.6, 3.1.7, 3.1.7-pl1, 3.1.8, 3.1.9, 3.1.10, 3.1.11, 3.1.12, 3.2.0-a1, 3.2.0-a2, 3.2.0-b1, 3.2.0-b2, 3.2.0-RC1, 3.2.0-RC2, 3.2.0, 3.2.1" />
<!-- no configuration should be needed beyond this point -->
<property name="oldversions" value="${olderversions}, ${prevversion}" />

View File

@@ -7,7 +7,7 @@
<p>{L_EXTENSIONS_EXPLAIN}</p>
<fieldset class="quick">
<span class="small"><a href="https://www.phpbb.com/go/customise/extensions/3.1" target="_blank">{L_BROWSE_EXTENSIONS_DATABASE}</a> &bull; <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE_ALL}</a> &bull; <a href="javascript:phpbb.toggleDisplay('version_check_settings');">{L_SETTINGS}</a></span>
<span class="small"><a href="https://www.phpbb.com/go/customise/extensions/3.2" target="_blank">{L_BROWSE_EXTENSIONS_DATABASE}</a> &bull; <a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE_ALL}</a> &bull; <a href="javascript:phpbb.toggleDisplay('version_check_settings');">{L_SETTINGS}</a></span>
</fieldset>
<form id="version_check_settings" method="post" action="{U_ACTION}" style="display:none">

View File

@@ -316,7 +316,7 @@
<tbody>
<!-- ELSE -->
<tr>
<td><strong>{groups.GROUP_NAME}</strong></td>
<td><strong<!-- IF groups.GROUP_COLOR --> style="color: #{groups.GROUP_COLOR}"<!-- ENDIF -->>{groups.GROUP_NAME}</strong></td>
<td style="text-align: center;">{groups.TOTAL_MEMBERS}</td>
<td style="text-align: center;">{groups.PENDING_MEMBERS}</td>
<td style="text-align: center;"><a href="{groups.U_EDIT}">{L_SETTINGS}</a></td>

View File

@@ -69,7 +69,7 @@
<p>{L_ACP_LANGUAGE_PACKS_EXPLAIN}</p>
<fieldset class="quick">
<span class="small"><a href="https://www.phpbb.com/go/customise/language-packs/3.1" target="_blank">{L_BROWSE_LANGUAGE_PACKS_DATABASE}</a></span>
<span class="small"><a href="https://www.phpbb.com/go/customise/language-packs/3.2" target="_blank">{L_BROWSE_LANGUAGE_PACKS_DATABASE}</a></span>
</fieldset>
<table class="table1 zebra-table">

View File

@@ -153,8 +153,14 @@
<td><strong>{PHP_VERSION_INFO}</strong></td>
<!-- IF S_TOTAL_ORPHAN -->
<td>{L_NUMBER_ORPHAN}{L_COLON} </td>
<td><strong>{TOTAL_ORPHAN}</strong></td>
<!-- ELSE -->
<td>
<!-- IF TOTAL_ORPHAN > 0 -->
<a href="{U_ATTACH_ORPHAN}" title="{L_MORE_INFORMATION}"><strong>{TOTAL_ORPHAN}</strong></a>
<!-- ELSE -->
<strong>{TOTAL_ORPHAN}</strong>
<!-- ENDIF -->
</td>
<!-- ELSE -->
<td>&nbsp;</td>
<td>&nbsp;</td>
<!-- ENDIF -->

View File

@@ -33,7 +33,7 @@
<!-- IF L_EXPLAIN --><p>{L_EXPLAIN}</p><!-- ENDIF -->
<fieldset class="quick">
<span class="small"><a href="https://www.phpbb.com/go/customise/styles/3.1" target="_blank">{L_BROWSE_STYLES_DATABASE}</a></span>
<span class="small"><a href="https://www.phpbb.com/go/customise/styles/3.2" target="_blank">{L_BROWSE_STYLES_DATABASE}</a></span>
</fieldset>
<form id="acp_styles" method="post" action="{U_ACTION}">
@@ -96,6 +96,7 @@
<thead>
<tr>
<th>{L_STYLE_NAME}</th>
<th width="10%" style="white-space: nowrap; text-align: center;">{L_STYLE_PHPBB_VERSION}</th>
<!-- IF not STYLES_LIST_HIDE_COUNT --><th width="10%" style="white-space: nowrap; text-align: center;">{L_STYLE_USED_BY}</th><!-- ENDIF -->
<th width="25%" style="white-space: nowrap; text-align: center;">{L_ACTIONS}</th>
{STYLES_LIST_EXTRA}
@@ -129,6 +130,7 @@
<span class="style-path"><br />{L_STYLE_PATH}{L_COLON} {styles_list.STYLE_PATH_FULL}</span>
<!-- ENDIF -->
</td>
<td class="{$ROW_CLASS} users">{styles_list.STYLE_PHPBB_VERSION}</td>
<!-- IF not STYLES_LIST_HIDE_COUNT -->
<td class="{$ROW_CLASS} users">{styles_list.USERS}</td>
<!-- ENDIF -->

View File

@@ -2459,6 +2459,9 @@ fieldset.permissions .padding {
text-align: left;
}
.rtl .dropdown li {
text-align: right;
}
.wrap .dropdown li, .dropdown.wrap li {
white-space: normal;
}
@@ -2473,6 +2476,10 @@ fieldset.permissions .padding {
width: 250px;
}
.rtl .roles-options > .dropdown {
right: auto;
}
.roles-options {
-webkit-user-select: none;
-moz-user-select: none;
@@ -2491,6 +2498,10 @@ fieldset.permissions .padding {
background: url('../images/arrow_down.gif') no-repeat 245px .7em;
}
.rtl .roles-options > span {
background: url('../images/arrow_down.gif') no-repeat 7px .7em;
}
.roles-options li {
list-style: none;
}

View File

@@ -41,7 +41,7 @@
<dt style="width: 20%"><label for="role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}">{L_ROLE}{L_COLON}</label></dt>
{% if p_mask.f_mask.role_options %}
<dd style="margin-{S_CONTENT_FLOW_BEGIN}{L_COLON} 20%">
<div class="dropdown-container dropdown-right dropdown-button-control roles-options" data-alt-text="{LA_ROLE_DESCRIPTION}">
<div class="dropdown-container dropdown-{S_CONTENT_FLOW_END} dropdown-button-control roles-options" data-alt-text="{LA_ROLE_DESCRIPTION}">
<select id="role{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" name="role[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]">{p_mask.f_mask.S_ROLE_OPTIONS}</select>
<span title="Roles" class="button icon-button tools-icon dropdown-trigger dropdown-select">{L_NO_ROLE_ASSIGNED}</span>
<div class="dropdown hidden">

View File

@@ -130,10 +130,17 @@ phpbb.positionTooltip = function ($element) {
$element = $element.parent();
offset = $element.offset();
$('#_tooltip_container').css({
top: offset.top + 30,
left: offset.left - 205
});
if ($('body').hasClass('rtl')) {
$('#_tooltip_container').css({
top: offset.top + 30,
left: offset.left + 255
});
} else {
$('#_tooltip_container').css({
top: offset.top + 30,
left: offset.left - 205
});
}
};
/**

View File

@@ -1331,6 +1331,8 @@ phpbb.toggleDropdown = function() {
$this.css({
marginLeft: 0,
left: 0,
marginRight: 0,
right: 0,
maxWidth: (windowWidth - 4) + 'px'
});
@@ -1654,7 +1656,7 @@ $(function() {
phpbb.registerPageDropdowns();
$('#color_palette_placeholder').each(function() {
$('[data-orientation]').each(function() {
phpbb.registerPalette($(this));
});

View File

@@ -4,7 +4,7 @@
"type": "project",
"keywords": ["phpbb", "forum"],
"homepage": "https://www.phpbb.com",
"license": "GPL-2.0",
"license": "GPL-2.0-only",
"authors": [
{
"name": "phpBB Limited",

256
phpBB/composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"hash": "f14915a2ccaf76ccd6d3ea725721a8a8",
"hash": "620519ab8cf439078c08f8a4fb49efb8",
"content-hash": "c843abc1344cd9df37f63c08a125cad0",
"packages": [
{
@@ -84,21 +84,22 @@
},
{
"name": "guzzlehttp/guzzle",
"version": "5.3.1",
"version": "5.3.2",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
"reference": "70f1fa53b71c4647bf2762c09068a95f77e12fb8"
"reference": "f9acb4761844317e626a32259205bec1f1bc60d2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/70f1fa53b71c4647bf2762c09068a95f77e12fb8",
"reference": "70f1fa53b71c4647bf2762c09068a95f77e12fb8",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/f9acb4761844317e626a32259205bec1f1bc60d2",
"reference": "f9acb4761844317e626a32259205bec1f1bc60d2",
"shasum": ""
},
"require": {
"guzzlehttp/ringphp": "^1.1",
"php": ">=5.4.0"
"php": ">=5.4.0",
"react/promise": "^2.2"
},
"require-dev": {
"ext-curl": "*",
@@ -132,7 +133,7 @@
"rest",
"web service"
],
"time": "2016-07-15 19:28:39"
"time": "2018-01-15 07:18:01"
},
{
"name": "guzzlehttp/ringphp",
@@ -726,16 +727,16 @@
},
{
"name": "symfony/config",
"version": "v2.8.32",
"version": "v2.8.34",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
"reference": "f4f3f1d7090c464434bbbc3e8aa2b41149c59196"
"reference": "17605ff58313d9fe94e507620a399721fc347b6d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/config/zipball/f4f3f1d7090c464434bbbc3e8aa2b41149c59196",
"reference": "f4f3f1d7090c464434bbbc3e8aa2b41149c59196",
"url": "https://api.github.com/repos/symfony/config/zipball/17605ff58313d9fe94e507620a399721fc347b6d",
"reference": "17605ff58313d9fe94e507620a399721fc347b6d",
"shasum": ""
},
"require": {
@@ -778,20 +779,20 @@
],
"description": "Symfony Config Component",
"homepage": "https://symfony.com",
"time": "2017-11-07 11:56:23"
"time": "2018-01-21 19:03:25"
},
{
"name": "symfony/console",
"version": "v2.8.32",
"version": "v2.8.34",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "46270f1ca44f08ebc134ce120fd2c2baf5fd63de"
"reference": "162ca7d0ea597599967aa63b23418e747da0896b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/46270f1ca44f08ebc134ce120fd2c2baf5fd63de",
"reference": "46270f1ca44f08ebc134ce120fd2c2baf5fd63de",
"url": "https://api.github.com/repos/symfony/console/zipball/162ca7d0ea597599967aa63b23418e747da0896b",
"reference": "162ca7d0ea597599967aa63b23418e747da0896b",
"shasum": ""
},
"require": {
@@ -839,20 +840,20 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
"time": "2017-11-29 09:33:18"
"time": "2018-01-29 08:54:45"
},
{
"name": "symfony/debug",
"version": "v2.8.32",
"version": "v2.8.34",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
"reference": "e72a0340dc2e273b3c4398d8eef9157ba51d8b95"
"reference": "35e36287fc0fdc8a08f70efcd4865ae6d8a6ee55"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/debug/zipball/e72a0340dc2e273b3c4398d8eef9157ba51d8b95",
"reference": "e72a0340dc2e273b3c4398d8eef9157ba51d8b95",
"url": "https://api.github.com/repos/symfony/debug/zipball/35e36287fc0fdc8a08f70efcd4865ae6d8a6ee55",
"reference": "35e36287fc0fdc8a08f70efcd4865ae6d8a6ee55",
"shasum": ""
},
"require": {
@@ -896,20 +897,20 @@
],
"description": "Symfony Debug Component",
"homepage": "https://symfony.com",
"time": "2017-11-19 19:05:05"
"time": "2018-01-18 22:12:33"
},
{
"name": "symfony/dependency-injection",
"version": "v2.8.32",
"version": "v2.8.34",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
"reference": "d3e81e5402c38500770eb5595d78a6d85ea9e412"
"reference": "91ad61e6f140b050eba4aa39bc52eece713f2a71"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/d3e81e5402c38500770eb5595d78a6d85ea9e412",
"reference": "d3e81e5402c38500770eb5595d78a6d85ea9e412",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/91ad61e6f140b050eba4aa39bc52eece713f2a71",
"reference": "91ad61e6f140b050eba4aa39bc52eece713f2a71",
"shasum": ""
},
"require": {
@@ -959,20 +960,20 @@
],
"description": "Symfony DependencyInjection Component",
"homepage": "https://symfony.com",
"time": "2017-11-23 11:13:33"
"time": "2018-01-29 08:55:23"
},
{
"name": "symfony/event-dispatcher",
"version": "v2.8.32",
"version": "v2.8.34",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
"reference": "b59aacf238fadda50d612c9de73b74751872a903"
"reference": "d64be24fc1eba62f9daace8a8918f797fc8e87cc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b59aacf238fadda50d612c9de73b74751872a903",
"reference": "b59aacf238fadda50d612c9de73b74751872a903",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d64be24fc1eba62f9daace8a8918f797fc8e87cc",
"reference": "d64be24fc1eba62f9daace8a8918f797fc8e87cc",
"shasum": ""
},
"require": {
@@ -1019,20 +1020,20 @@
],
"description": "Symfony EventDispatcher Component",
"homepage": "https://symfony.com",
"time": "2017-11-05 15:25:56"
"time": "2018-01-03 07:36:31"
},
{
"name": "symfony/filesystem",
"version": "v2.8.32",
"version": "v2.8.34",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "15ceb6736a9eebd0d99f9e05a62296ab6ce1cf2b"
"reference": "1f4e8351e0196562f5e8ec584baeceeb8e2e92f6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/15ceb6736a9eebd0d99f9e05a62296ab6ce1cf2b",
"reference": "15ceb6736a9eebd0d99f9e05a62296ab6ce1cf2b",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/1f4e8351e0196562f5e8ec584baeceeb8e2e92f6",
"reference": "1f4e8351e0196562f5e8ec584baeceeb8e2e92f6",
"shasum": ""
},
"require": {
@@ -1068,20 +1069,20 @@
],
"description": "Symfony Filesystem Component",
"homepage": "https://symfony.com",
"time": "2017-11-19 18:39:05"
"time": "2018-01-03 07:36:31"
},
{
"name": "symfony/finder",
"version": "v2.8.32",
"version": "v2.8.34",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
"reference": "efeceae6a05a9b2fcb3391333f1d4a828ff44ab8"
"reference": "9786ccb6a1f94a89ae18fc6a1b68de1f070823ed"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/efeceae6a05a9b2fcb3391333f1d4a828ff44ab8",
"reference": "efeceae6a05a9b2fcb3391333f1d4a828ff44ab8",
"url": "https://api.github.com/repos/symfony/finder/zipball/9786ccb6a1f94a89ae18fc6a1b68de1f070823ed",
"reference": "9786ccb6a1f94a89ae18fc6a1b68de1f070823ed",
"shasum": ""
},
"require": {
@@ -1117,20 +1118,20 @@
],
"description": "Symfony Finder Component",
"homepage": "https://symfony.com",
"time": "2017-11-05 15:25:56"
"time": "2018-01-29 08:54:45"
},
{
"name": "symfony/http-foundation",
"version": "v2.8.32",
"version": "v2.8.34",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
"reference": "8eb1d3609a13ec6fdde68b1a5b908d6cefdbef54"
"reference": "686464910bbe58a2b38eb1f898aa45dc6c4de0cb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/8eb1d3609a13ec6fdde68b1a5b908d6cefdbef54",
"reference": "8eb1d3609a13ec6fdde68b1a5b908d6cefdbef54",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/686464910bbe58a2b38eb1f898aa45dc6c4de0cb",
"reference": "686464910bbe58a2b38eb1f898aa45dc6c4de0cb",
"shasum": ""
},
"require": {
@@ -1172,20 +1173,20 @@
],
"description": "Symfony HttpFoundation Component",
"homepage": "https://symfony.com",
"time": "2017-11-29 09:33:18"
"time": "2018-01-29 08:54:45"
},
{
"name": "symfony/http-kernel",
"version": "v2.8.32",
"version": "v2.8.34",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
"reference": "aedc53f4473ec9b66e901ac8611c33560357afcd"
"reference": "af74cd947d63ae1294aed71b9456f2a04f7f6d45"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/aedc53f4473ec9b66e901ac8611c33560357afcd",
"reference": "aedc53f4473ec9b66e901ac8611c33560357afcd",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/af74cd947d63ae1294aed71b9456f2a04f7f6d45",
"reference": "af74cd947d63ae1294aed71b9456f2a04f7f6d45",
"shasum": ""
},
"require": {
@@ -1255,20 +1256,20 @@
],
"description": "Symfony HttpKernel Component",
"homepage": "https://symfony.com",
"time": "2017-12-04 22:02:14"
"time": "2018-01-29 10:48:12"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.6.0",
"version": "v1.7.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296"
"reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
"reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b",
"reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b",
"shasum": ""
},
"require": {
@@ -1280,7 +1281,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.6-dev"
"dev-master": "1.7-dev"
}
},
"autoload": {
@@ -1314,20 +1315,20 @@
"portable",
"shim"
],
"time": "2017-10-11 12:05:26"
"time": "2018-01-30 19:27:44"
},
{
"name": "symfony/polyfill-php54",
"version": "v1.6.0",
"version": "v1.7.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php54.git",
"reference": "d7810a14b2c6c1aff415e1bb755f611b3d5327bc"
"reference": "84e2b616c197ef400c6d0556a0606cee7c9e21d5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/d7810a14b2c6c1aff415e1bb755f611b3d5327bc",
"reference": "d7810a14b2c6c1aff415e1bb755f611b3d5327bc",
"url": "https://api.github.com/repos/symfony/polyfill-php54/zipball/84e2b616c197ef400c6d0556a0606cee7c9e21d5",
"reference": "84e2b616c197ef400c6d0556a0606cee7c9e21d5",
"shasum": ""
},
"require": {
@@ -1336,7 +1337,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.6-dev"
"dev-master": "1.7-dev"
}
},
"autoload": {
@@ -1372,20 +1373,20 @@
"portable",
"shim"
],
"time": "2017-10-11 12:05:26"
"time": "2018-01-30 19:27:44"
},
{
"name": "symfony/polyfill-php55",
"version": "v1.6.0",
"version": "v1.7.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php55.git",
"reference": "b64e7f0c37ecf144ecc16668936eef94e628fbfd"
"reference": "168371cb3dfb10e0afde96e7c2688be02470d143"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/b64e7f0c37ecf144ecc16668936eef94e628fbfd",
"reference": "b64e7f0c37ecf144ecc16668936eef94e628fbfd",
"url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/168371cb3dfb10e0afde96e7c2688be02470d143",
"reference": "168371cb3dfb10e0afde96e7c2688be02470d143",
"shasum": ""
},
"require": {
@@ -1395,7 +1396,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.6-dev"
"dev-master": "1.7-dev"
}
},
"autoload": {
@@ -1428,20 +1429,20 @@
"portable",
"shim"
],
"time": "2017-10-11 12:05:26"
"time": "2018-01-30 19:27:44"
},
{
"name": "symfony/proxy-manager-bridge",
"version": "v2.8.32",
"version": "v2.8.34",
"source": {
"type": "git",
"url": "https://github.com/symfony/proxy-manager-bridge.git",
"reference": "06d007e6329675e96b42ab84780655ac3ed778ae"
"reference": "d73283cfe025d73c70551c45d22c54bd43c2c53b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/proxy-manager-bridge/zipball/06d007e6329675e96b42ab84780655ac3ed778ae",
"reference": "06d007e6329675e96b42ab84780655ac3ed778ae",
"url": "https://api.github.com/repos/symfony/proxy-manager-bridge/zipball/d73283cfe025d73c70551c45d22c54bd43c2c53b",
"reference": "d73283cfe025d73c70551c45d22c54bd43c2c53b",
"shasum": ""
},
"require": {
@@ -1482,20 +1483,20 @@
],
"description": "Symfony ProxyManager Bridge",
"homepage": "https://symfony.com",
"time": "2017-11-10 18:59:36"
"time": "2018-01-03 07:36:31"
},
{
"name": "symfony/routing",
"version": "v2.8.32",
"version": "v2.8.34",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
"reference": "fa8f982682a3b65d87858be7dbf84f7f03feb616"
"reference": "627ea100720dac15d8165648caac57456dda84aa"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/fa8f982682a3b65d87858be7dbf84f7f03feb616",
"reference": "fa8f982682a3b65d87858be7dbf84f7f03feb616",
"url": "https://api.github.com/repos/symfony/routing/zipball/627ea100720dac15d8165648caac57456dda84aa",
"reference": "627ea100720dac15d8165648caac57456dda84aa",
"shasum": ""
},
"require": {
@@ -1557,20 +1558,20 @@
"uri",
"url"
],
"time": "2017-11-19 19:05:05"
"time": "2018-01-16 18:00:04"
},
{
"name": "symfony/twig-bridge",
"version": "v2.8.32",
"version": "v2.8.34",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bridge.git",
"reference": "611c7994abf119adec844fdbc28721c3e3629d4e"
"reference": "efdc8b39b5a05def32824e578ccf3fcdec8190cc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/611c7994abf119adec844fdbc28721c3e3629d4e",
"reference": "611c7994abf119adec844fdbc28721c3e3629d4e",
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/efdc8b39b5a05def32824e578ccf3fcdec8190cc",
"reference": "efdc8b39b5a05def32824e578ccf3fcdec8190cc",
"shasum": ""
},
"require": {
@@ -1642,20 +1643,20 @@
],
"description": "Symfony Twig Bridge",
"homepage": "https://symfony.com",
"time": "2017-12-04 19:58:03"
"time": "2018-01-03 17:12:09"
},
{
"name": "symfony/yaml",
"version": "v2.8.32",
"version": "v2.8.34",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "968ef42161e4bc04200119da473077f9e7015128"
"reference": "be720fcfae4614df204190d57795351059946a77"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/968ef42161e4bc04200119da473077f9e7015128",
"reference": "968ef42161e4bc04200119da473077f9e7015128",
"url": "https://api.github.com/repos/symfony/yaml/zipball/be720fcfae4614df204190d57795351059946a77",
"reference": "be720fcfae4614df204190d57795351059946a77",
"shasum": ""
},
"require": {
@@ -1691,7 +1692,7 @@
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
"time": "2017-11-29 09:33:18"
"time": "2018-01-03 07:36:31"
},
{
"name": "twig/twig",
@@ -2106,30 +2107,25 @@
},
{
"name": "michelf/php-markdown",
"version": "1.7.0",
"version": "1.8.0",
"source": {
"type": "git",
"url": "https://github.com/michelf/php-markdown.git",
"reference": "1f51cc520948f66cd2af8cbc45a5ee175e774220"
"reference": "01ab082b355bf188d907b9929cd99b2923053495"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/michelf/php-markdown/zipball/1f51cc520948f66cd2af8cbc45a5ee175e774220",
"reference": "1f51cc520948f66cd2af8cbc45a5ee175e774220",
"url": "https://api.github.com/repos/michelf/php-markdown/zipball/01ab082b355bf188d907b9929cd99b2923053495",
"reference": "01ab082b355bf188d907b9929cd99b2923053495",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-lib": "1.4.x-dev"
}
},
"autoload": {
"psr-0": {
"Michelf": ""
"psr-4": {
"Michelf\\": "Michelf/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2153,7 +2149,7 @@
"keywords": [
"markdown"
],
"time": "2016-10-29 18:58:20"
"time": "2018-01-15 00:49:33"
},
{
"name": "nikic/php-parser",
@@ -2303,16 +2299,16 @@
},
{
"name": "phpspec/prophecy",
"version": "1.7.3",
"version": "1.7.5",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
"reference": "e4ed002c67da8eceb0eb8ddb8b3847bb53c5c2bf"
"reference": "dfd6be44111a7c41c2e884a336cc4f461b3b2401"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/e4ed002c67da8eceb0eb8ddb8b3847bb53c5c2bf",
"reference": "e4ed002c67da8eceb0eb8ddb8b3847bb53c5c2bf",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/dfd6be44111a7c41c2e884a336cc4f461b3b2401",
"reference": "dfd6be44111a7c41c2e884a336cc4f461b3b2401",
"shasum": ""
},
"require": {
@@ -2324,7 +2320,7 @@
},
"require-dev": {
"phpspec/phpspec": "^2.5|^3.2",
"phpunit/phpunit": "^4.8.35 || ^5.7"
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5"
},
"type": "library",
"extra": {
@@ -2362,7 +2358,7 @@
"spy",
"stub"
],
"time": "2017-11-24 13:59:53"
"time": "2018-02-19 10:16:54"
},
{
"name": "phpunit/dbunit",
@@ -2834,7 +2830,9 @@
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
}
],
"description": "Pimple is a simple Dependency Injection Container for PHP 5.3",
@@ -3354,16 +3352,16 @@
},
{
"name": "symfony/browser-kit",
"version": "v2.8.32",
"version": "v2.8.34",
"source": {
"type": "git",
"url": "https://github.com/symfony/browser-kit.git",
"reference": "f4801cce803ba76f8545190e455958f45935cd5d"
"reference": "e49a78bcf09ba2e6d03e63e80211f889c037add5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/browser-kit/zipball/f4801cce803ba76f8545190e455958f45935cd5d",
"reference": "f4801cce803ba76f8545190e455958f45935cd5d",
"url": "https://api.github.com/repos/symfony/browser-kit/zipball/e49a78bcf09ba2e6d03e63e80211f889c037add5",
"reference": "e49a78bcf09ba2e6d03e63e80211f889c037add5",
"shasum": ""
},
"require": {
@@ -3407,20 +3405,20 @@
],
"description": "Symfony BrowserKit Component",
"homepage": "https://symfony.com",
"time": "2017-11-07 14:08:47"
"time": "2018-01-03 07:36:31"
},
{
"name": "symfony/css-selector",
"version": "v2.8.32",
"version": "v2.8.34",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
"reference": "b7b041487197fb6d803b7edbcaae7f00a793b1c4"
"reference": "c5b39674eacd34adedbef78227c57109caa9e318"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/css-selector/zipball/b7b041487197fb6d803b7edbcaae7f00a793b1c4",
"reference": "b7b041487197fb6d803b7edbcaae7f00a793b1c4",
"url": "https://api.github.com/repos/symfony/css-selector/zipball/c5b39674eacd34adedbef78227c57109caa9e318",
"reference": "c5b39674eacd34adedbef78227c57109caa9e318",
"shasum": ""
},
"require": {
@@ -3460,20 +3458,20 @@
],
"description": "Symfony CssSelector Component",
"homepage": "https://symfony.com",
"time": "2017-11-05 15:25:56"
"time": "2018-01-03 07:36:31"
},
{
"name": "symfony/dom-crawler",
"version": "v2.8.32",
"version": "v2.8.34",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
"reference": "eeb78092b5cc95b9e37017887da0e39f1530b8a8"
"reference": "31ff8f1d7a3de4b43b35ff821e6e223d81a8988b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/eeb78092b5cc95b9e37017887da0e39f1530b8a8",
"reference": "eeb78092b5cc95b9e37017887da0e39f1530b8a8",
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/31ff8f1d7a3de4b43b35ff821e6e223d81a8988b",
"reference": "31ff8f1d7a3de4b43b35ff821e6e223d81a8988b",
"shasum": ""
},
"require": {
@@ -3516,20 +3514,20 @@
],
"description": "Symfony DomCrawler Component",
"homepage": "https://symfony.com",
"time": "2017-11-05 15:25:56"
"time": "2018-01-03 07:36:31"
},
{
"name": "symfony/process",
"version": "v2.8.32",
"version": "v2.8.34",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "d25449e031f600807949aab7cadbf267712f4eee"
"reference": "905efe90024caa75a2fc93f54e14b26f2a099d96"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/d25449e031f600807949aab7cadbf267712f4eee",
"reference": "d25449e031f600807949aab7cadbf267712f4eee",
"url": "https://api.github.com/repos/symfony/process/zipball/905efe90024caa75a2fc93f54e14b26f2a099d96",
"reference": "905efe90024caa75a2fc93f54e14b26f2a099d96",
"shasum": ""
},
"require": {
@@ -3565,7 +3563,7 @@
],
"description": "Symfony Process Component",
"homepage": "https://symfony.com",
"time": "2017-11-05 15:25:56"
"time": "2018-01-29 08:54:45"
}
],
"aliases": [],

View File

@@ -39,6 +39,7 @@ services:
- '@dispatcher'
- '@config'
- '@text_formatter.s9e.link_helper'
- '@log'
- '%text_formatter.cache.dir%'
- '%text_formatter.cache.parser.key%'
- '%text_formatter.cache.renderer.key%'

View File

@@ -50,6 +50,7 @@
<ol>
<li><a href="#changelog">Changelog</a>
<ul>
<li><a href="#v322">Changes since 3.2.2</a></li>
<li><a href="#v321">Changes since 3.2.1</a></li>
<li><a href="#v320">Changes since 3.2.0</a></li>
<li><a href="#v320rc1">Changes since 3.2.0-RC1</a></li>
@@ -128,6 +129,62 @@
<div class="inner">
<div class="content">
<a name="v322"></a><h3>Changes since 3.2.2</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14936">PHPBB3-14936</a>] - Missing language variable INST_ERR_DB</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15491">PHPBB3-15491</a>] - Outdated linkes in installer support page</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15492">PHPBB3-15492</a>] - Permissions role combobox does not work in RTL</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15500">PHPBB3-15500</a>] - Docs outdated for new PHP 5.4.7 requirement</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15502">PHPBB3-15502</a>] - Errors in migrations in 3.2.2 release</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15506">PHPBB3-15506</a>] - Previewing new post empties attachment list of all but first attachment</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15512">PHPBB3-15512</a>] - Avoid reparsing non-existent polls</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15513">PHPBB3-15513</a>] - Signature edit in acp gives error</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15520">PHPBB3-15520</a>] - DbDriver-&gt;sql_build_query cant cope with sub-selects</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15522">PHPBB3-15522</a>] - Allow multiple color palettes per page</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15523">PHPBB3-15523</a>] - AdBlocker may cause JS error when using CookieConsent</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15525">PHPBB3-15525</a>] - composer.json License is Invalid/Deprecated</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15526">PHPBB3-15526</a>] - Cast bbcode ID to integer</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15527">PHPBB3-15527</a>] - Cannot interpret the BBCode definition</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15532">PHPBB3-15532</a>] - Update pull request template</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15533">PHPBB3-15533</a>] - Typo in viewtopic_topic_tools.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15558">PHPBB3-15558</a>] - phpbb\report\report_handler_post.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15559">PHPBB3-15559</a>] - phpbb\report\report_handler_pm.php:56</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15595">PHPBB3-15595</a>] - Migration Module Exists Tool Broken</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12579">PHPBB3-12579</a>] - Add BUTTON_ language strings for post &amp; PM buttons</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15495">PHPBB3-15495</a>] - Use transactions for queries in move_forum</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15499">PHPBB3-15499</a>] - Drop HHVM support</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15510">PHPBB3-15510</a>] - Link Orphan attachments in ACP&gt;General to Orphaned attachments page </li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15514">PHPBB3-15514</a>] - Improve accessibility by adding vital info from explanation to a title</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15518">PHPBB3-15518</a>] - Do not attempt to accurately determine whether posters can read private messages in viewtopic</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15528">PHPBB3-15528</a>] - Display the version of the installed styles in acp</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15529">PHPBB3-15529</a>] - Color groups in ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15531">PHPBB3-15531</a>] - Log malformed BBCodes</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15534">PHPBB3-15534</a>] - Outdated ACP extensions database link for phpBB 3.2</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15535">PHPBB3-15535</a>] - Add S_FIRST_POST to postrow on viewtopic</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15537">PHPBB3-15537</a>] - Add events core.search_(native|mysql|postgres|sphinx)_index_before</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15547">PHPBB3-15547</a>] - Add file object to event core.avatar_driver_upload_move_file_before</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15561">PHPBB3-15561</a>] - Add core events for adding columns to MySQL and Postgres search backends</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15568">PHPBB3-15568</a>] - Update depencies to latest versions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15569">PHPBB3-15569</a>] - Adjust update instructions to suggest file replacement method</li>
</ul>
<h4>New Feature</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15398">PHPBB3-15398</a>] - Add event to oauth login after ID check</li>
</ul>
<h4>Security Issue</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15570">PHPBB3-15570</a>] - Extension version check is restricted to TLS 1.0</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15466">PHPBB3-15466</a>] - Move Nils in CREDITS.txt</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15516">PHPBB3-15516</a>] - Add instructions on running UI tests</li>
</ul>
<a name="v321"></a><h3>Changes since 3.2.1</h3>
<h4>Security Issue</h4>
<ul>

View File

@@ -20,8 +20,6 @@
phpBB Project Manager: Marshalrusty (Yuriy Rusko)
phpBB Product Manager: naderman (Nils Adermann)
phpBB Lead Developer: Marc (Marc Alexander)
phpBB Developers: bantu (Andreas Fischer)
@@ -43,7 +41,10 @@ https://github.com/phpbb/phpbb/graphs/contributors
phpBB Project Manager: theFinn (James Atkinson) [Founder - 04/2007]
SHS` (Jonathan Stanley)
phpBB Lead Developer: Acyd Burn (Meik Sievertsen) [09/2005 - 01/2010]
phpBB Product Manager: naderman (Nils Adermann) [02/2016 - 02/2017]
phpBB Lead Developer: naderman (Nils Adermann) [01/2010 - 02/2016]
Acyd Burn (Meik Sievertsen) [09/2005 - 01/2010]
psoTFX (Paul S. Owen) [2001 - 09/2005]
phpBB Developers: A_Jelly_Doughnut (Josh Woody) [01/2010 - 11/2010]

View File

@@ -147,7 +147,7 @@
<li>Oracle</li>
</ul>
</li>
<li><strong>PHP 5.4.0+</strong> with support for the database you intend to use.</li>
<li><strong>PHP 5.4.7+</strong> with support for the database you intend to use.</li>
<li>The following PHP modules are required:
<ul>
<li>json</li>
@@ -269,11 +269,11 @@
<a name="update_full"></a><h3>4.i. Full package</h3>
<p>The full package is normally meant for new installations only, but if you want to replace all source files, this package comes in handy.</p>
<p>Updating using the full package is the recommended update method for boards without modifications to core phpBB files.</p>
<p>First, you should make a copy of your existing <code>config.php</code> file; keep it in a safe place! Next, delete all the existing phpBB files, you may want to leave your <code>files/</code>, <code>images/</code> and <code>ext/</code> directories in place, otherwise you will lose your file attachments, uploaded images and get error due to missing extension files. You can leave alternative styles in place too. With this complete, you can upload the new phpBB files (see <a href="#install">New installation</a> for details if necessary). Once complete, copy back your saved <code>config.php</code>, replacing the new one. Another method is to just <strong>replace</strong> the existing files with the files from the full package - though make sure you do <strong>not</strong> overwrite your config.php file.</p>
<p>First, you should make a copy of your existing <code>config.php</code> file; keep it in a safe place! Next, delete all the existing phpBB files, you should leave your <code>files/</code>, <code>images/</code> and <code>ext/</code> directories in place, otherwise you will lose your file attachments, uploaded images and get errors due to missing extension files. You can leave alternative styles in place too. With this complete, you can upload the new phpBB files (see <a href="#install">New installation</a> for details if necessary). Once complete, copy back your saved <code>config.php</code>, replacing the new one. Another method is to just <strong>replace</strong> the existing files with the files from the full package - though make sure you do <strong>not</strong> overwrite your config.php file.</p>
<p>You should now got to <code>/install/app.php/update</code> which will display a warning: <strong>No valid update directory was found, please make sure you uploaded the relevant files</strong>. Beneath that warning you will see a radion button <em>Update database only</em>, just click <strong>Submit</strong>. Depending on your previous version this will make a number of database changes. You may receive <em>FAILURES</em> during this procedure. They should not be a cause for concern unless you see an actual <em>ERROR</em>, in which case the script will stop (in this case you should seek help via our forums or bug tracker). If you have shell access to your server, you may wish to update via the command line interface. From your board's root, execute the following command: <code>php bin/phpbbcli.php --safe-mode db:migrate</code>.</p>
<p>You should now got to <code>/install/app.php/update</code> which will display a warning: <strong>No valid update directory was found, please make sure you uploaded the relevant files</strong>. Beneath that warning you will see a radio button <em>Update database only</em>, just click <strong>Submit</strong>. Depending on your previous version this will make a number of database changes. You may receive <em>FAILURES</em> during this procedure. They should not be a cause for concern unless you see an actual <em>ERROR</em>, in which case the script will stop (in this case you should seek help via our forums or bug tracker). If you have shell access to your server, you may wish to update via the command line interface. From your board's root, execute the following command: <code>php bin/phpbbcli.php --safe-mode db:migrate</code>.</p>
<p>Once <code>/install/app.php/update</code> has completed, it displays the success message: <strong>The database update was successful</strong>. You may proceed to the Administration Control Panel and then remove the install directory as advised.</p>
@@ -301,7 +301,7 @@
<a name="update_auto"></a><h3>4.iv. Automatic update package</h3>
<p>This update method is the recommended method for updating. This package detects changed files automatically and merges in changes if needed.</p>
<p>This update method is only recommended for installations with modifications to core phpBB files. This package detects changed files automatically and merges in changes if needed.</p>
<p>The automatic update package will update the board from a given version to the latest version. A number of automatic update files are available, and you should choose the one that corresponds to the version of the board that you are currently running. For example, if your current version is <strong>3.2.0</strong>, you need the <code>phpBB-3.2.0_to_3.2.1.zip/tar.bz2</code> file.</p>

View File

@@ -323,11 +323,11 @@
<div class="content">
<p>phpBB 3.2.x takes advantage of new features added in PHP 5.4. We recommend that you upgrade to the latest stable release of PHP to run phpBB. The minimum version required is PHP 5.4.0 and the maximum supported version is the latest stable version of PHP.</p>
<p>phpBB 3.2.x takes advantage of new features added in PHP 5.4. We recommend that you upgrade to the latest stable release of PHP to run phpBB. The minimum version required is PHP 5.4.7 and the maximum supported version is the latest stable version of PHP.</p>
<p>Please remember that running any application on a development (unstable, e.g. a beta release) version of PHP can lead to strange/unexpected results which may appear to be bugs in the application. Therefore, we recommend you upgrade to the newest stable version of PHP before running phpBB. If you are running a development version of PHP please check any bugs you find on a system running a stable release before submitting.</p>
<p>This board has been developed and tested under Linux and Windows (amongst others) running Apache using MySQL 3.23, 4.x, 5.x, MariaDB 5.x, PostgreSQL 8.x, Oracle 8 and SQLite 3. Versions of PHP used range from 5.4.x above 5.6.x to 7.0.x without problem.</p>
<p>This board has been developed and tested under Linux and Windows (amongst others) running Apache using MySQL 3.23, 4.x, 5.x, MariaDB 5.x, PostgreSQL 8.x, Oracle 8 and SQLite 3. Versions of PHP used range from 5.4.7 above 5.6.x to 7.1.x and 7.2.x without problem.</p>
<a name="phpsec"></a><h3>7.i. Notice on PHP security issues</h3>

View File

@@ -356,6 +356,7 @@ class acp_board
'load_user_activity_limit' => array('lang' => 'LOAD_USER_ACTIVITY_LIMIT', 'validate' => 'int:0:99999999', 'type' => 'number:0:99999999', 'explain' => true),
'load_tplcompile' => array('lang' => 'RECOMPILE_STYLES', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'allow_cdn' => array('lang' => 'ALLOW_CDN', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'enable_accurate_pm_button' => array('lang' => 'YES_ACCURATE_PM_BUTTON', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'allow_live_searches' => array('lang' => 'ALLOW_LIVE_SEARCHES', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'legend3' => 'CUSTOM_PROFILE_FIELDS',

View File

@@ -1431,6 +1431,8 @@ class acp_forums
return $errors;
}
$db->sql_transaction('begin');
$moved_forums = get_forum_branch($from_id, 'children', 'descending');
$from_data = $moved_forums[0];
$diff = count($moved_forums) * 2;
@@ -1502,6 +1504,8 @@ class acp_forums
WHERE " . $db->sql_in_set('forum_id', $moved_ids);
$db->sql_query($sql);
$db->sql_transaction('commit');
return $errors;
}

View File

@@ -926,7 +926,7 @@ class acp_groups
);
// Get us all the groups
$sql = 'SELECT g.group_id, g.group_name, g.group_type
$sql = 'SELECT g.group_id, g.group_name, g.group_type, g.group_colour
FROM ' . GROUPS_TABLE . ' g
ORDER BY g.group_type ASC, g.group_name';
$result = $db->sql_query($sql);
@@ -985,6 +985,7 @@ class acp_groups
'S_GROUP_SPECIAL' => ($row['group_type'] == GROUP_SPECIAL) ? true : false,
'GROUP_NAME' => $group_name,
'GROUP_COLOR' => $row['group_colour'],
'TOTAL_MEMBERS' => $row['total_members'],
'PENDING_MEMBERS' => $row['pending_members']
));

View File

@@ -585,6 +585,7 @@ class acp_main
'U_INACTIVE_USERS' => append_sid("{$phpbb_admin_path}index.$phpEx", 'i=inactive&amp;mode=list'),
'U_VERSIONCHECK' => append_sid("{$phpbb_admin_path}index.$phpEx", 'i=update&amp;mode=version_check'),
'U_VERSIONCHECK_FORCE' => append_sid("{$phpbb_admin_path}index.$phpEx", 'versioncheck_force=1'),
'U_ATTACH_ORPHAN' => append_sid("{$phpbb_admin_path}index.$phpEx", 'i=acp_attachments&mode=orphan'),
'S_VERSIONCHECK' => ($auth->acl_get('a_board')) ? true : false,
'S_ACTION_OPTIONS' => ($auth->acl_get('a_board')) ? true : false,

View File

@@ -952,6 +952,7 @@ class acp_styles
// Style data
'STYLE_ID' => $style['style_id'],
'STYLE_NAME' => htmlspecialchars($style['style_name']),
'STYLE_PHPBB_VERSION' => $this->read_style_cfg($style['style_path'])['phpbb_version'],
'STYLE_PATH' => htmlspecialchars($style['style_path']),
'STYLE_COPYRIGHT' => strip_tags($style['style_copyright']),
'STYLE_ACTIVE' => $style['style_active'],

View File

@@ -2099,7 +2099,7 @@ class acp_users
if ($request->is_set_post('preview'))
{
$decoded_message = generate_text_for_edit($signature, $bbcode_uid, $bbcode_bitfield);
$decoded_message = generate_text_for_edit($signature, $bbcode_uid, $bbcode_flags);
}
/** @var \phpbb\controller\helper $controller_helper */

View File

@@ -28,7 +28,7 @@ if (!defined('IN_PHPBB'))
*/
// phpBB Version
@define('PHPBB_VERSION', '3.2.2');
@define('PHPBB_VERSION', '3.2.3-RC1');
// QA-related
// define('PHPBB_QA', 1);

View File

@@ -24,8 +24,9 @@ if (!defined('IN_PHPBB'))
*/
class messenger
{
var $msg, $extra_headers, $replyto, $from, $subject;
var $msg, $replyto, $from, $subject;
var $addresses = array();
var $extra_headers = array();
var $mail_priority = MAIL_NORMAL_PRIORITY;
var $use_queue = true;

View File

@@ -727,10 +727,11 @@ function posting_gen_attachment_entry($attachment_data, &$filename_data, $show_a
// We display the posted attachments within the desired order.
($config['display_order']) ? krsort($attachment_data) : ksort($attachment_data);
$attachrow_template_vars = [];
foreach ($attachment_data as $count => $attach_row)
{
$hidden = '';
$attachrow_template_vars = array();
$attach_row['real_filename'] = utf8_basename($attach_row['real_filename']);
foreach ($attach_row as $key => $value)

View File

@@ -38,7 +38,7 @@ $dbms = $phpbb_config_php_file->convert_30_dbms_to_31($dbms);
$convertor_data = array(
'forum_name' => 'phpBB 2.0.x',
'version' => '1.0.3',
'phpbb_version' => '3.2.2',
'phpbb_version' => '3.2.3',
'author' => '<a href="https://www.phpbb.com/">phpBB Limited</a>',
'dbms' => $dbms,
'dbhost' => $dbhost,

View File

@@ -23,7 +23,7 @@ if (php_sapi_name() !== 'cli')
define('IN_PHPBB', true);
define('IN_INSTALL', true);
define('PHPBB_ENVIRONMENT', 'production');
define('PHPBB_VERSION', '3.2.2-RC1');
define('PHPBB_VERSION', '3.2.3-RC1');
$phpbb_root_path = __DIR__ . '/../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);

View File

@@ -106,6 +106,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('email_enable', '1'
INSERT INTO phpbb_config (config_name, config_value) VALUES ('email_force_sender', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('email_max_chunk_size', '50');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('email_package_size', '20');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('enable_accurate_pm_button', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('enable_confirm', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('enable_mod_rewrite', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_board_notifications', '1');
@@ -279,7 +280,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('tpl_allow_php', '0
INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_icons_path', 'images/upload_icons');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_path', 'files');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('use_system_cron', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.2.2');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.2.3-RC1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_expire_days', '90');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_gc', '14400');

View File

@@ -406,6 +406,8 @@ $lang = array_merge($lang, array(
'RECOMPILE_STYLES_EXPLAIN' => 'Check for updated style components on filesystem and recompile.',
'YES_ANON_READ_MARKING' => 'Enable topic marking for guests',
'YES_ANON_READ_MARKING_EXPLAIN' => 'Stores read/unread status information for guests. If disabled, posts are always marked read for guests.',
'YES_ACCURATE_PM_BUTTON' => 'Enable accurate PM indicator in topic pages',
'YES_ACCURATE_PM_BUTTON_EXPLAIN' => 'If this setting is enabled, only users who are permitted to read private messages will have a private message button.',
'YES_BIRTHDAYS' => 'Enable birthday listing',
'YES_BIRTHDAYS_EXPLAIN' => 'If disabled the birthday listing is no longer displayed. To let this setting take effect the birthday feature needs to be enabled too.',
'YES_JUMPBOX' => 'Enable display of jumpbox',
@@ -585,7 +587,7 @@ $lang = array_merge($lang, array(
'SMTP_POP_BEFORE_SMTP' => 'POP-BEFORE-SMTP',
'SMTP_PORT' => 'SMTP server port',
'SMTP_PORT_EXPLAIN' => 'Only change this if you know your SMTP server is on a different port.',
'SMTP_SERVER' => 'SMTP server address',
'SMTP_SERVER' => 'SMTP server address and protocol',
'SMTP_SERVER_EXPLAIN' => 'Note that you have to provide the protocol that your server uses. If you are using SSL, this has to be "ssl://your.mailserver.com"',
'SMTP_SETTINGS' => 'SMTP settings',
'SMTP_USERNAME' => 'SMTP username',

View File

@@ -552,6 +552,7 @@ $lang = array_merge($lang, array(
'LOG_BBCODE_ADD' => '<strong>Added new BBCode</strong><br />» %s',
'LOG_BBCODE_EDIT' => '<strong>Edited BBCode</strong><br />» %s',
'LOG_BBCODE_DELETE' => '<strong>Deleted BBCode</strong><br />» %s',
'LOG_BBCODE_CONFIGURATION_ERROR' => '<strong>Error while configuring BBCode</strong>: %1$s<br />» %2$s',
'LOG_BOT_ADDED' => '<strong>New bot added</strong><br />» %s',
'LOG_BOT_DELETE' => '<strong>Deleted bot</strong><br />» %s',

View File

@@ -80,6 +80,7 @@ $lang = array_merge($lang, array(
'STYLE_UNINSTALL' => 'Uninstall',
'STYLE_UNINSTALL_DEPENDENT' => 'Style "%s" cannot be uninstalled because it has one or more child styles.',
'STYLE_UNINSTALLED' => 'Style "%s" uninstalled successfully.',
'STYLE_PHPBB_VERSION' => 'phpBB Version',
'STYLE_USED_BY' => 'Used by (including robots)',
'STYLE_VERSION' => 'Style version',

View File

@@ -138,8 +138,10 @@ $lang = array_merge($lang, array(
1 => 'Users browsing this forum: %2$s and %1$d guest',
2 => 'Users browsing this forum: %2$s and %1$d guests',
),
'BUTTON_DELETE' => 'Delete',
'BUTTON_EDIT' => 'Edit',
'BUTTON_FORUM_LOCKED' => 'Locked',
'BUTTON_INFORMATION' => 'Information',
'BUTTON_NEW_TOPIC' => 'New Topic',
'BUTTON_PM' => 'PM',
'BUTTON_PM_FORWARD' => 'Forward',
@@ -148,7 +150,9 @@ $lang = array_merge($lang, array(
'BUTTON_PM_REPLY_ALL' => 'Reply All',
'BUTTON_POST_REPLY' => 'Post Reply',
'BUTTON_QUOTE' => 'Quote',
'BUTTON_REPORT' => 'Report',
'BUTTON_TOPIC_LOCKED' => 'Locked',
'BUTTON_WARN' => 'Warn',
'BYTES' => 'Bytes',
'BYTES_SHORT' => 'B',

View File

@@ -49,7 +49,7 @@ $lang = array_merge($lang, array(
// Support page
'SUPPORT_TITLE' => 'Support',
'SUPPORT_BODY' => 'Full support will be provided for the current stable release of phpBB3, free of charge. This includes:</p><ul><li>installation</li><li>configuration</li><li>technical questions</li><li>problems relating to potential bugs in the software</li><li>updating from Release Candidate (RC) versions to the latest stable version</li><li>converting from phpBB 2.0.x to phpBB3</li><li>converting from other discussion board software to phpBB3 (please see the <a href="https://www.phpbb.com/community/viewforum.php?f=486">Convertors Forum</a>)</li></ul><p>We encourage users still running beta versions of phpBB3 to replace their installation with a fresh copy of the latest version.</p><h2>Extensions / Styles</h2><p>For issues relating to Extensions, please post in the appropriate <a href="https://www.phpbb.com/community/viewforum.php?f=451">Extensions Forum</a>.<br />For issues relating to styles, templates and themes, please post in the appropriate <a href="https://www.phpbb.com/community/viewforum.php?f=471">Styles Forum</a>.<br /><br />If your question relates to a specific package, please post directly in the topic dedicated to the package.</p><h2>Obtaining Support</h2><p><a href="https://www.phpbb.com/community/viewtopic.php?f=14&amp;t=571070">The phpBB Welcome Package</a><br /><a href="https://www.phpbb.com/support/">Support Section</a><br /><a href="https://www.phpbb.com/support/docs/en/3.1/ug/quickstart/">Quick Start Guide</a><br /><br />To ensure you stay up to date with the latest news and releases, why not <a href="https://www.phpbb.com/support/">subscribe to our mailing list</a>?<br /><br />',
'SUPPORT_BODY' => 'Full support will be provided for the current stable release of phpBB3, free of charge. This includes:</p><ul><li>installation</li><li>configuration</li><li>technical questions</li><li>problems relating to potential bugs in the software</li><li>updating from Release Candidate (RC) versions to the latest stable version</li><li>converting from phpBB 2.0.x to phpBB3</li><li>converting from other discussion board software to phpBB3 (please see the <a href="https://www.phpbb.com/community/viewforum.php?f=486">Convertors Forum</a>)</li></ul><p>We encourage users still running beta versions of phpBB3 to replace their installation with a fresh copy of the latest version.</p><h2>Extensions / Styles</h2><p>For issues relating to Extensions, please post in the appropriate <a href="https://www.phpbb.com/community/viewforum.php?f=451">Extensions Forum</a>.<br />For issues relating to styles, templates and themes, please post in the appropriate <a href="https://www.phpbb.com/community/viewforum.php?f=471">Styles Forum</a>.<br /><br />If your question relates to a specific package, please post directly in the topic dedicated to the package.</p><h2>Obtaining Support</h2><p><a href="https://www.phpbb.com/support/">Support Section</a><br /><a href="https://www.phpbb.com/support/docs/en/3.2/ug/quickstart/">Quick Start Guide</a><br /><br />To ensure you stay up to date with the latest news and releases, follow us on <a href="https://www.twitter.com/phpbb/">Twitter</a> and <a href="https://www.facebook.com/phpbb/">Facebook</a><br /><br />',
// License
'LICENSE_TITLE' => 'General Public License',
@@ -193,6 +193,7 @@ $lang = array_merge($lang, array(
'DB_OPTION_SQLITE3' => 'SQLite 3',
// Errors
'INST_ERR_DB' => 'Database installation error',
'INST_ERR_NO_DB' => 'Cannot load the PHP module for the selected database type.',
'INST_ERR_DB_INVALID_PREFIX' => 'The prefix you entered is invalid. It must start with a letter and must only contain letters, numbers and underscores.',
'INST_ERR_PREFIX_TOO_LONG' => 'The table prefix you have specified is too long. The maximum length is %d characters.',
@@ -354,17 +355,40 @@ $lang = array_merge($lang, array(
<br />
<h1>How to update your installation with the Automatic Update Package</h1>
<h1>How to update your installation with the Full Package</h1>
<p>The recommended way of updating your installation listed here is only valid for the automatic update package. You are also able to update your installation using the methods listed within the INSTALL.html document. The steps for updating phpBB3 automatically are:</p>
<p>The recommended way of updating your installation is using the full package. If core phpBB files have been modified in your installation you may wish to use the automatic update package in order to not lose these changes. You are also able to update your installation using the other methods listed within the INSTALL.html document. The steps for updating phpBB3 using the full package are:</p>
<ol style="margin-left: 20px; font-size: 1.1em;">
<li><strong class="error">Backup all board files and the database.</strong></li>
<li>Go to the <a href="https://www.phpbb.com/downloads/" title="https://www.phpbb.com/downloads/">phpBB.com downloads page</a> and download the latest "Full Package" archive.</li>
<li>Unpack the archive.</li>
<li>Remove (delete) the <code class="inline">config.php</code> file, and the <code class="inline">/images</code>, <code class="inline">/store</code> and <code class="inline">/files</code> folders <em>from the package</em> (not your site).</li>
<li>Go to the ACP, Board settings, and make sure prosilver is set as the default style. If not, set it to prosilver.</li>
<li>Delete the <code class="inline">/vendor</code> and <code class="inline">/cache</code> folders from the boards root folder on the host.</li>
<li>Via FTP or SSH upload the remaining files and folders (that is, the remaining CONTENTS of the phpBB3 folder) to the root folder of your board installation on the server, overwriting the existing files. (Note: take care not to delete any extensions in your <code class="inline">/ext</code> folder when uploading the new phpBB3 contents.)</li>
<li><strong><a href="%1$s" title="%1$s">Now start the update process by pointing your browser to the install folder</a>.</strong></li>
<li>Follow the steps to update the database and let that run to completion.</li>
<li>Via FTP or SSH delete the <code class="inline">/install</code> folder from the root of your board installation.<br><br></li>
</ol>
<p>You now have a new up to date board containing all your users and posts. Follow up tasks:</p>
<ul style="margin-left: 20px; font-size: 1.1em;">
<li>Go to the <a href="https://www.phpbb.com/downloads/" title="https://www.phpbb.com/downloads/">phpBB.com downloads page</a> and download the "Automatic Update Package" archive.<br /><br /></li>
<li>Unpack the archive.<br /><br /></li>
<li>Upload the complete uncompressed "install" and "vendor" folders to your phpBB root directory (where your config.php file is).<br /><br /></li>
<li>Update your language pack</li>
<li>Update your style<br><br></li>
</ul>
<p>Once uploaded your board will be offline for normal users due to the install directory you uploaded now present.<br /><br />
<h1>How to update your installation with the Automatic Update Package</h1>
<p>The automatic update package is only recommended in case core phpBB files have been modified in your installation. You are also able to update your installation using the methods listed within the INSTALL.html document. The steps for updating phpBB3 using the automatic update package are:</p>
<ol style="margin-left: 20px; font-size: 1.1em;">
<li>Go to the <a href="https://www.phpbb.com/downloads/" title="https://www.phpbb.com/downloads/">phpBB.com downloads page</a> and download the "Automatic Update Package" archive.</li>
<li>Unpack the archive.</li>
<li>Upload the complete uncompressed "install" and "vendor" folders to your phpBB root directory (where your config.php file is).<br><br></li>
</ol>
<p>Once uploaded your board will be offline for normal users due to the install directory you uploaded now being present.<br /><br />
<strong><a href="%1$s" title="%1$s">Now start the update process by pointing your browser to the install folder</a>.</strong><br />
<br />
You will then be guided through the update process. You will be notified once the update is complete.

View File

@@ -227,6 +227,22 @@ class oauth extends \phpbb\auth\provider\base
$row = $this->db->sql_fetchrow($result);
$this->db->sql_freeresult($result);
/**
* Event is triggered before check if provider is already associated with an account
*
* @event core.oauth_login_after_check_if_provider_id_has_match
* @var array row User row
* @var array data Provider data
* @var \OAuth\Common\Service\ServiceInterface service OAuth service
* @since 3.2.3-RC1
*/
$vars = array(
'row',
'data',
'service',
);
extract($this->dispatcher->trigger_event('core.oauth_login_after_check_if_provider_id_has_match', compact($vars)));
if (!$row)
{
// The user does not yet exist, ask to link or create profile

View File

@@ -203,15 +203,18 @@ class upload extends \phpbb\avatar\driver\driver
*
* @event core.avatar_driver_upload_move_file_before
* @var array filedata Array containing uploaded file data
* @var \phpbb\files\filespec file Instance of filespec class
* @var string destination Destination directory where the file is going to be moved
* @var string prefix Prefix for the avatar filename
* @var array row Array with avatar row data
* @var array error Array of errors, if filled in by this event file will not be moved
* @since 3.1.6-RC1
* @changed 3.1.9-RC1 Added filedata
* @changed 3.2.3-RC1 Added file
*/
$vars = array(
'filedata',
'file',
'destination',
'prefix',
'row',

View File

@@ -903,9 +903,10 @@ abstract class driver implements driver_interface
// Subquery with {left hand} {operator} {compare kind} {SELECT Kind } {Sub Query}
$condition = $condition[self::LEFT_STMT] . ' ' . $condition[self::COMPARE_OP] . ' ' . $condition[self::SUBQUERY_OP] . ' ( ';
$condition .= $this->sql_build_query($condition[self::SUBQUERY_SELECT_TYPE], $condition[self::SUBQUERY_BUILD]);
$condition .= ' )';
$result = $condition[self::LEFT_STMT] . ' ' . $condition[self::COMPARE_OP] . ' ' . $condition[self::SUBQUERY_OP] . ' ( ';
$result .= $this->sql_build_query($condition[self::SUBQUERY_SELECT_TYPE], $condition[self::SUBQUERY_BUILD]);
$result .= ' )';
$condition = $result;
break;

View File

@@ -0,0 +1,36 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v32x;
class enable_accurate_pm_button extends \phpbb\db\migration\migration
{
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v32x\v322',
);
}
public function effectively_installed()
{
return isset($this->config['enable_accurate_pm_button']);
}
public function update_data()
{
return array(
array('config.add', array('enable_accurate_pm_button', '1')),
);
}
}

View File

@@ -33,13 +33,17 @@ class fix_user_styles extends \phpbb\db\migration\migration
public function styles_fix()
{
$default_style = (int) $this->config['default_style'];
$enabled_styles = array();
// Get enabled styles
$sql = 'SELECT style_id
FROM ' . STYLES_TABLE . '
WHERE style_active = 1';
$result = $this->db->sql_query($sql);
$enabled_styles = $result->fetch_array();
while ($row = $this->db->sql_fetchrow($result))
{
$enabled_styles[] = (int) $row['style_id'];
}
$this->db->sql_freeresult($result);
// Set the default style to users who have an invalid style

View File

@@ -13,7 +13,7 @@
namespace phpbb\db\migration\data\v32x;
class merge_duplicate_bbcodes extends \phpbb\db\migration\migration
class merge_duplicate_bbcodes extends \phpbb\db\migration\container_aware_migration
{
public function update_data()
{
@@ -30,7 +30,7 @@ class merge_duplicate_bbcodes extends \phpbb\db\migration\migration
while ($row = $this->db->sql_fetchrow($result))
{
$variant = (substr($row['bbcode_tag'], -1) === '=') ? 'with': 'without';
$bbcode_name = rtrim($row['bbcode_tag'], '=');
$bbcode_name = strtolower(rtrim($row['bbcode_tag'], '='));
$bbcodes[$bbcode_name][$variant] = $row;
}
$this->db->sql_freeresult($result);
@@ -46,16 +46,25 @@ class merge_duplicate_bbcodes extends \phpbb\db\migration\migration
protected function merge_bbcodes(array $without, array $with)
{
$merged = $this->container->get('text_formatter.s9e.bbcode_merger')->merge_bbcodes(
[
'usage' => $without['bbcode_match'],
'template' => $without['bbcode_tpl']
],
[
'usage' => $with['bbcode_match'],
'template' => $with['bbcode_tpl']
]
);
try
{
$merged = $this->container->get('text_formatter.s9e.bbcode_merger')->merge_bbcodes(
[
'usage' => $without['bbcode_match'],
'template' => $without['bbcode_tpl']
],
[
'usage' => $with['bbcode_match'],
'template' => $with['bbcode_tpl']
]
);
}
catch (\Exception $e)
{
// Ignore the pair and move on. The BBCodes would have to be fixed manually
return;
}
$bbcode_data = [
'bbcode_tag' => $without['bbcode_tag'],
'bbcode_helpline' => $without['bbcode_helpline'] . ' | ' . $with['bbcode_helpline'],
@@ -65,11 +74,11 @@ class merge_duplicate_bbcodes extends \phpbb\db\migration\migration
$sql = 'UPDATE ' . BBCODES_TABLE . '
SET ' . $this->db->sql_build_array('UPDATE', $bbcode_data) . '
WHERE bbcode_id = ' . $without['bbcode_id'];
WHERE bbcode_id = ' . (int) $without['bbcode_id'];
$this->sql_query($sql);
$sql = 'DELETE FROM ' . BBCODES_TABLE . '
WHERE bbcode_id = ' . $with['bbcode_id'];
WHERE bbcode_id = ' . (int) $with['bbcode_id'];
$this->sql_query($sql);
}
}

View File

@@ -0,0 +1,36 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v32x;
class v323rc1 extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return phpbb_version_compare($this->config['version'], '3.2.3-RC1', '>=');
}
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v32x\enable_accurate_pm_button',
);
}
public function update_data()
{
return array(
array('config.update', array('version', '3.2.3-RC1')),
);
}
}

View File

@@ -86,7 +86,8 @@ class module implements \phpbb\db\migration\tool\tool_interface
* check for to see if it exists
* @param bool $lazy Checks lazily if the module exists. Returns true if it exists in at
* least one given parent.
* @return bool true if module exists in *all* given parents, false if not
* @return bool true if module exists in *all* given parents, false if not in any given parent;
* true if ignoring parent check and module exists class wide, false if not found at all.
*/
public function exists($class, $parent, $module, $lazy = false)
{
@@ -110,6 +111,10 @@ class module implements \phpbb\db\migration\tool\tool_interface
$parent_sqls[] = 'AND parent_id = ' . (int) $parent_id;
}
}
else
{
$parent_sqls[] = '';
}
foreach ($parent_sqls as $parent_sql)
{
@@ -126,7 +131,7 @@ class module implements \phpbb\db\migration\tool\tool_interface
{
return false;
}
else if ($lazy && $module_id)
if ($lazy && $module_id)
{
return true;
}

View File

@@ -42,7 +42,7 @@ class file_downloader
$this->error_number = 0;
$this->error_string = '';
if ($socket = @fsockopen(($port == 443 ? 'tls://' : '') . $host, $port, $this->error_number, $this->error_string, $timeout))
if ($socket = @fsockopen(($port == 443 ? 'ssl://' : '') . $host, $port, $this->error_number, $this->error_string, $timeout))
{
@fputs($socket, "GET $directory/$filename HTTP/1.0\r\n");
@fputs($socket, "HOST: $host\r\n");

View File

@@ -338,7 +338,7 @@ class database
// Check if SQLite database is writable
if ($dbms_info['SCHEMA'] === 'sqlite'
&& (!$this->filesystem->is_writable($dbhost) || !$this->filesystem->is_writable(pathinfo($dbhost, PATHINFO_DIRNAME))))
&& (($this->filesystem->exists($dbhost) && !$this->filesystem->is_writable($dbhost)) || !$this->filesystem->is_writable(pathinfo($dbhost, PATHINFO_DIRNAME))))
{
$errors[] = array(
'title' =>'INST_ERR_DB_NO_WRITABLE',

View File

@@ -53,8 +53,8 @@ class report_handler_pm extends report_handler
'user_notify' => $user_notify,
'report_text' => $report_text,
'reported_post_text' => $this->report_data['message_text'],
'reported_post_uid' => $this->report_data['bbcode_bitfield'],
'reported_post_bitfield' => $this->report_data['bbcode_uid'],
'reported_post_uid' => $this->report_data['bbcode_uid'],
'reported_post_bitfield' => $this->report_data['bbcode_bitfield'],
'reported_post_enable_bbcode' => $this->report_data['enable_bbcode'],
'reported_post_enable_smilies' => $this->report_data['enable_smilies'],
'reported_post_enable_magic_url' => $this->report_data['enable_magic_url'],

View File

@@ -59,8 +59,8 @@ class report_handler_post extends report_handler
'user_notify' => $user_notify,
'report_text' => $report_text,
'reported_post_text' => $this->report_data['post_text'],
'reported_post_uid' => $this->report_data['bbcode_bitfield'],
'reported_post_bitfield' => $this->report_data['bbcode_uid'],
'reported_post_uid' => $this->report_data['bbcode_uid'],
'reported_post_bitfield' => $this->report_data['bbcode_bitfield'],
'reported_post_enable_bbcode' => $this->report_data['enable_bbcode'],
'reported_post_enable_smilies' => $this->report_data['enable_smilies'],
'reported_post_enable_magic_url' => $this->report_data['enable_magic_url'],

View File

@@ -918,6 +918,34 @@ class fulltext_mysql extends \phpbb\search\base
$words = array_unique(array_merge($split_text, $split_title));
/**
* Event to modify method arguments and words before the MySQL search index is updated
*
* @event core.search_mysql_index_before
* @var string mode Contains the post mode: edit, post, reply, quote
* @var int post_id The id of the post which is modified/created
* @var string message New or updated post content
* @var string subject New or updated post subject
* @var int poster_id Post author's user id
* @var int forum_id The id of the forum in which the post is located
* @var array words List of words added to the index
* @var array split_text Array of words from the message
* @var array split_title Array of words from the title
* @since 3.2.3-RC1
*/
$vars = array(
'mode',
'post_id',
'message',
'subject',
'poster_id',
'forum_id',
'words',
'split_text',
'split_title',
);
extract($this->phpbb_dispatcher->trigger_event('core.search_mysql_index_before', compact($vars)));
unset($split_text);
unset($split_title);
@@ -997,17 +1025,37 @@ class fulltext_mysql extends \phpbb\search\base
$alter_list[] = $alter_entry;
}
if (count($alter_list))
$sql_queries = [];
foreach ($alter_list as $alter)
{
foreach ($alter_list as $alter)
{
$this->db->sql_query('ALTER TABLE ' . POSTS_TABLE . ' ' . implode(', ', $alter));
}
$sql_queries[] = 'ALTER TABLE ' . POSTS_TABLE . ' ' . implode(', ', $alter);
}
if (!isset($this->stats['post_text']))
{
$this->db->sql_query('ALTER TABLE ' . POSTS_TABLE . ' ADD FULLTEXT post_text (post_text)');
$sql_queries[] = 'ALTER TABLE ' . POSTS_TABLE . ' ADD FULLTEXT post_text (post_text)';
}
$stats = $this->stats;
/**
* Event to modify SQL queries before the MySQL search index is created
*
* @event core.search_mysql_create_index_before
* @var array sql_queries Array with queries for creating the search index
* @var array stats Array with statistics of the current index (read only)
* @since 3.2.3-RC1
*/
$vars = array(
'sql_queries',
'stats',
);
extract($this->phpbb_dispatcher->trigger_event('core.search_mysql_create_index_before', compact($vars)));
foreach ($sql_queries as $sql_query)
{
$this->db->sql_query($sql_query);
}
$this->db->sql_query('TRUNCATE TABLE ' . SEARCH_RESULTS_TABLE);
@@ -1050,9 +1098,32 @@ class fulltext_mysql extends \phpbb\search\base
$alter[] = 'DROP INDEX post_text';
}
$sql_queries = [];
if (count($alter))
{
$this->db->sql_query('ALTER TABLE ' . POSTS_TABLE . ' ' . implode(', ', $alter));
$sql_queries[] = 'ALTER TABLE ' . POSTS_TABLE . ' ' . implode(', ', $alter);
}
$stats = $this->stats;
/**
* Event to modify SQL queries before the MySQL search index is deleted
*
* @event core.search_mysql_delete_index_before
* @var array sql_queries Array with queries for deleting the search index
* @var array stats Array with statistics of the current index (read only)
* @since 3.2.3-RC1
*/
$vars = array(
'sql_queries',
'stats',
);
extract($this->phpbb_dispatcher->trigger_event('core.search_mysql_delete_index_before', compact($vars)));
foreach ($sql_queries as $sql_query)
{
$this->db->sql_query($sql_query);
}
$this->db->sql_query('TRUNCATE TABLE ' . SEARCH_RESULTS_TABLE);

View File

@@ -1433,6 +1433,38 @@ class fulltext_native extends \phpbb\search\base
$words['del']['post'] = array();
$words['del']['title'] = array();
}
/**
* Event to modify method arguments and words before the native search index is updated
*
* @event core.search_native_index_before
* @var string mode Contains the post mode: edit, post, reply, quote
* @var int post_id The id of the post which is modified/created
* @var string message New or updated post content
* @var string subject New or updated post subject
* @var int poster_id Post author's user id
* @var int forum_id The id of the forum in which the post is located
* @var array words Grouped lists of words added to or remove from the index
* @var array split_text Array of words from the message
* @var array split_title Array of words from the title
* @var array cur_words Array of words currently in the index for comparing to new words
* when mode is edit. Empty for other modes.
* @since 3.2.3-RC1
*/
$vars = array(
'mode',
'post_id',
'message',
'subject',
'poster_id',
'forum_id',
'words',
'split_text',
'split_title',
'cur_words',
);
extract($this->phpbb_dispatcher->trigger_event('core.search_native_index_before', compact($vars)));
unset($split_text);
unset($split_title);
@@ -1664,20 +1696,43 @@ class fulltext_native extends \phpbb\search\base
*/
public function delete_index($acp_module, $u_action)
{
$sql_queries = [];
switch ($this->db->get_sql_layer())
{
case 'sqlite3':
$this->db->sql_query('DELETE FROM ' . SEARCH_WORDLIST_TABLE);
$this->db->sql_query('DELETE FROM ' . SEARCH_WORDMATCH_TABLE);
$this->db->sql_query('DELETE FROM ' . SEARCH_RESULTS_TABLE);
$sql_queries[] = 'DELETE FROM ' . SEARCH_WORDLIST_TABLE;
$sql_queries[] = 'DELETE FROM ' . SEARCH_WORDMATCH_TABLE;
$sql_queries[] = 'DELETE FROM ' . SEARCH_RESULTS_TABLE;
break;
default:
$this->db->sql_query('TRUNCATE TABLE ' . SEARCH_WORDLIST_TABLE);
$this->db->sql_query('TRUNCATE TABLE ' . SEARCH_WORDMATCH_TABLE);
$this->db->sql_query('TRUNCATE TABLE ' . SEARCH_RESULTS_TABLE);
$sql_queries[] = 'TRUNCATE TABLE ' . SEARCH_WORDLIST_TABLE;
$sql_queries[] = 'TRUNCATE TABLE ' . SEARCH_WORDMATCH_TABLE;
$sql_queries[] = 'TRUNCATE TABLE ' . SEARCH_RESULTS_TABLE;
break;
}
$stats = $this->stats;
/**
* Event to modify SQL queries before the native search index is deleted
*
* @event core.search_native_delete_index_before
* @var array sql_queries Array with queries for deleting the search index
* @var array stats Array with statistics of the current index (read only)
* @since 3.2.3-RC1
*/
$vars = array(
'sql_queries',
'stats',
);
extract($this->phpbb_dispatcher->trigger_event('core.search_native_delete_index_before', compact($vars)));
foreach ($sql_queries as $sql_query)
{
$this->db->sql_query($sql_query);
}
}
/**

View File

@@ -889,6 +889,34 @@ class fulltext_postgres extends \phpbb\search\base
$words = array_unique(array_merge($split_text, $split_title));
/**
* Event to modify method arguments and words before the PostgreSQL search index is updated
*
* @event core.search_postgres_index_before
* @var string mode Contains the post mode: edit, post, reply, quote
* @var int post_id The id of the post which is modified/created
* @var string message New or updated post content
* @var string subject New or updated post subject
* @var int poster_id Post author's user id
* @var int forum_id The id of the forum in which the post is located
* @var array words Array of words added to the index
* @var array split_text Array of words from the message
* @var array split_title Array of words from the title
* @since 3.2.3-RC1
*/
$vars = array(
'mode',
'post_id',
'message',
'subject',
'poster_id',
'forum_id',
'words',
'split_text',
'split_title',
);
extract($this->phpbb_dispatcher->trigger_event('core.search_postgres_index_before', compact($vars)));
unset($split_text);
unset($split_title);
@@ -935,14 +963,37 @@ class fulltext_postgres extends \phpbb\search\base
$this->get_stats();
}
$sql_queries = [];
if (!isset($this->stats['post_subject']))
{
$this->db->sql_query("CREATE INDEX " . POSTS_TABLE . "_" . $this->config['fulltext_postgres_ts_name'] . "_post_subject ON " . POSTS_TABLE . " USING gin (to_tsvector ('" . $this->db->sql_escape($this->config['fulltext_postgres_ts_name']) . "', post_subject))");
$sql_queries[] = "CREATE INDEX " . POSTS_TABLE . "_" . $this->config['fulltext_postgres_ts_name'] . "_post_subject ON " . POSTS_TABLE . " USING gin (to_tsvector ('" . $this->db->sql_escape($this->config['fulltext_postgres_ts_name']) . "', post_subject))";
}
if (!isset($this->stats['post_content']))
{
$this->db->sql_query("CREATE INDEX " . POSTS_TABLE . "_" . $this->config['fulltext_postgres_ts_name'] . "_post_content ON " . POSTS_TABLE . " USING gin (to_tsvector ('" . $this->db->sql_escape($this->config['fulltext_postgres_ts_name']) . "', post_text || ' ' || post_subject))");
$sql_queries[] = "CREATE INDEX " . POSTS_TABLE . "_" . $this->config['fulltext_postgres_ts_name'] . "_post_content ON " . POSTS_TABLE . " USING gin (to_tsvector ('" . $this->db->sql_escape($this->config['fulltext_postgres_ts_name']) . "', post_text || ' ' || post_subject))";
}
$stats = $this->stats;
/**
* Event to modify SQL queries before the Postgres search index is created
*
* @event core.search_postgres_create_index_before
* @var array sql_queries Array with queries for creating the search index
* @var array stats Array with statistics of the current index (read only)
* @since 3.2.3-RC1
*/
$vars = array(
'sql_queries',
'stats',
);
extract($this->phpbb_dispatcher->trigger_event('core.search_postgres_create_index_before', compact($vars)));
foreach ($sql_queries as $sql_query)
{
$this->db->sql_query($sql_query);
}
$this->db->sql_query('TRUNCATE TABLE ' . SEARCH_RESULTS_TABLE);
@@ -968,14 +1019,37 @@ class fulltext_postgres extends \phpbb\search\base
$this->get_stats();
}
$sql_queries = [];
if (isset($this->stats['post_subject']))
{
$this->db->sql_query('DROP INDEX ' . $this->stats['post_subject']['relname']);
$sql_queries[] = 'DROP INDEX ' . $this->stats['post_subject']['relname'];
}
if (isset($this->stats['post_content']))
{
$this->db->sql_query('DROP INDEX ' . $this->stats['post_content']['relname']);
$sql_queries[] = 'DROP INDEX ' . $this->stats['post_content']['relname'];
}
$stats = $this->stats;
/**
* Event to modify SQL queries before the Postgres search index is created
*
* @event core.search_postgres_delete_index_before
* @var array sql_queries Array with queries for deleting the search index
* @var array stats Array with statistics of the current index (read only)
* @since 3.2.3-RC1
*/
$vars = array(
'sql_queries',
'stats',
);
extract($this->phpbb_dispatcher->trigger_event('core.search_postgres_delete_index_before', compact($vars)));
foreach ($sql_queries as $sql_query)
{
$this->db->sql_query($sql_query);
}
$this->db->sql_query('TRUNCATE TABLE ' . SEARCH_RESULTS_TABLE);

View File

@@ -758,6 +758,28 @@ class fulltext_sphinx
*/
public function index($mode, $post_id, &$message, &$subject, $poster_id, $forum_id)
{
/**
* Event to modify method arguments before the Sphinx search index is updated
*
* @event core.search_sphinx_index_before
* @var string mode Contains the post mode: edit, post, reply, quote
* @var int post_id The id of the post which is modified/created
* @var string message New or updated post content
* @var string subject New or updated post subject
* @var int poster_id Post author's user id
* @var int forum_id The id of the forum in which the post is located
* @since 3.2.3-RC1
*/
$vars = array(
'mode',
'post_id',
'message',
'subject',
'poster_id',
'forum_id',
);
extract($this->phpbb_dispatcher->trigger_event('core.search_sphinx_index_before', compact($vars)));
if ($mode == 'edit')
{
$this->sphinx->UpdateAttributes($this->indexes, array('forum_id', 'poster_id'), array((int) $post_id => array((int) $forum_id, (int) $poster_id)));

View File

@@ -71,7 +71,7 @@ class assets_bag
$output = '';
foreach ($this->stylesheets as $stylesheet)
{
$output .= "<link href=\"{$stylesheet->get_url()}\" rel=\"stylesheet\" type=\"text/css\" media=\"screen\" />\n";
$output .= "<link href=\"{$stylesheet->get_url()}\" rel=\"stylesheet\" media=\"screen\" />\n";
}
return $output;
@@ -87,7 +87,7 @@ class assets_bag
$output = '';
foreach ($this->scripts as $script)
{
$output .= "<script type=\"text/javascript\" src=\"{$script->get_url()}\"></script>\n";
$output .= "<script src=\"{$script->get_url()}\"></script>\n";
}
return $output;

View File

@@ -37,6 +37,9 @@ class bbcode_merger
*
* All of the arrays contain a "usage" element and a "template" element
*
* @throws InvalidArgumentException if a definition cannot be interpreted
* @throws RuntimeException if something unexpected occurs
*
* @param array $without BBCode definition without an attribute
* @param array $with BBCode definition with an attribute
* @return array Merged definition

View File

@@ -131,6 +131,11 @@ class factory implements \phpbb\textformatter\cache_interface
*/
protected $dispatcher;
/**
* @var \phpbb\log\log_interface
*/
protected $log;
/**
* Constructor
*
@@ -139,11 +144,12 @@ class factory implements \phpbb\textformatter\cache_interface
* @param \phpbb\event\dispatcher_interface $dispatcher
* @param \phpbb\config\config $config
* @param \phpbb\textformatter\s9e\link_helper $link_helper
* @param \phpbb\log\log_interface $log
* @param string $cache_dir Path to the cache dir
* @param string $cache_key_parser Cache key used for the parser
* @param string $cache_key_renderer Cache key used for the renderer
*/
public function __construct(\phpbb\textformatter\data_access $data_access, \phpbb\cache\driver\driver_interface $cache, \phpbb\event\dispatcher_interface $dispatcher, \phpbb\config\config $config, \phpbb\textformatter\s9e\link_helper $link_helper, $cache_dir, $cache_key_parser, $cache_key_renderer)
public function __construct(\phpbb\textformatter\data_access $data_access, \phpbb\cache\driver\driver_interface $cache, \phpbb\event\dispatcher_interface $dispatcher, \phpbb\config\config $config, \phpbb\textformatter\s9e\link_helper $link_helper, \phpbb\log\log_interface $log, $cache_dir, $cache_key_parser, $cache_key_renderer)
{
$this->link_helper = $link_helper;
$this->cache = $cache;
@@ -153,6 +159,7 @@ class factory implements \phpbb\textformatter\cache_interface
$this->config = $config;
$this->data_access = $data_access;
$this->dispatcher = $dispatcher;
$this->log = $log;
}
/**
@@ -272,7 +279,7 @@ class factory implements \phpbb\textformatter\cache_interface
// Add default BBCodes
foreach ($this->get_default_bbcodes($configurator) as $bbcode)
{
$configurator->BBCodes->addCustom($bbcode['usage'], new UnsafeTemplate($bbcode['template']));
$this->add_bbcode($configurator, $bbcode['usage'], $bbcode['template']);
}
if (isset($configurator->tags['QUOTE']))
{
@@ -299,17 +306,7 @@ class factory implements \phpbb\textformatter\cache_interface
},
$row['bbcode_tpl']
);
try
{
$configurator->BBCodes->addCustom($row['bbcode_match'], new UnsafeTemplate($tpl));
}
catch (\Exception $e)
{
/**
* @todo log an error?
*/
}
$this->add_bbcode($configurator, $row['bbcode_match'], $tpl);
}
// Load smilies
@@ -418,6 +415,26 @@ class factory implements \phpbb\textformatter\cache_interface
return array('parser' => $parser, 'renderer' => $renderer);
}
/**
* Add a BBCode to given configurator
*
* @param Configurator $configurator
* @param string $usage
* @param string $template
* @return void
*/
protected function add_bbcode(Configurator $configurator, $usage, $template)
{
try
{
$configurator->BBCodes->addCustom($usage, new UnsafeTemplate($template));
}
catch (\Exception $e)
{
$this->log->add('critical', null, null, 'LOG_BBCODE_CONFIGURATION_ERROR', false, [$usage, $e->getMessage()]);
}
}
/**
* Configure the Autolink / Autoemail plugins used to linkify text
*

View File

@@ -34,7 +34,7 @@ class poll_title extends \phpbb\textreparser\row_based_plugin
$sql = 'SELECT t.topic_id AS id, t.poll_title AS text, p.enable_bbcode, p.enable_smilies, p.enable_magic_url, p.bbcode_uid
FROM ' . TOPICS_TABLE . ' t, ' . POSTS_TABLE . ' p
WHERE t.topic_id BETWEEN ' . $min_id . ' AND ' . $max_id .'
AND t.poll_max_options > 0
AND t.poll_start > 0
AND p.post_id = t.topic_first_post_id';
return $sql;

View File

@@ -21,8 +21,8 @@
# General Information about this style
name = prosilver
copyright = © phpBB Limited, 2007
style_version = 3.2.2
phpbb_version = 3.2.2
style_version = 3.2.3
phpbb_version = 3.2.3
# Defining a different template bitfield
# template_bitfield = //g=

View File

@@ -62,24 +62,27 @@
<!-- IF S_COOKIE_NOTICE -->
<script src="{T_ASSETS_PATH}/cookieconsent/cookieconsent.min.js?assets_version={T_ASSETS_VERSION}"></script>
<script>
window.addEventListener("load", function(){
window.cookieconsent.initialise({
"palette": {
"popup": {
"background": "#0F538A"
if (typeof window.cookieconsent === "object") {
window.addEventListener("load", function(){
window.cookieconsent.initialise({
"palette": {
"popup": {
"background": "#0F538A"
},
"button": {
"background": "#E5E5E5"
}
},
"button": {
"background": "#E5E5E5"
"theme": "classic",
"content": {
"message": "{LA_COOKIE_CONSENT_MSG}",
"dismiss": "{LA_COOKIE_CONSENT_OK}",
"link": "{LA_COOKIE_CONSENT_INFO}",
"href": "{LA_COOKIE_CONSENT_HREF}"
}
},
"theme": "classic",
"content": {
"message": "{LA_COOKIE_CONSENT_MSG}",
"dismiss": "{LA_COOKIE_CONSENT_OK}",
"link": "{LA_COOKIE_CONSENT_INFO}",
"href": "{LA_COOKIE_CONSENT_HREF}"
}
})});
});
});
}
</script>
<!-- ENDIF -->

View File

@@ -91,28 +91,28 @@
<!-- IF U_EDIT -->
<li>
<a href="{U_EDIT}" title="{L_POST_EDIT_PM}" class="button button-icon-only">
<i class="icon fa-pencil fa-fw" aria-hidden="true"></i><span class="sr-only">{L_POST_EDIT_PM}</span>
<i class="icon fa-pencil fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_EDIT}</span>
</a>
</li>
<!-- ENDIF -->
<!-- IF U_DELETE -->
<li>
<a href="{U_DELETE}" title="{L_DELETE_MESSAGE}" class="button button-icon-only">
<i class="icon fa-times fa-fw" aria-hidden="true"></i><span class="sr-only">{L_DELETE_MESSAGE}</span>
<i class="icon fa-times fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_DELETE}</span>
</a>
</li>
<!-- ENDIF -->
<!-- IF U_REPORT -->
<li>
<a href="{U_REPORT}" title="{L_REPORT_PM}" class="button button-icon-only">
<i class="icon fa-exclamation fa-fw" aria-hidden="true"></i><span class="sr-only">{L_REPORT_PM}</span>
<i class="icon fa-exclamation fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_REPORT}</span>
</a>
</li>
<!-- ENDIF -->
<!-- IF U_QUOTE -->
<li>
<a href="{U_QUOTE}" title="{L_POST_QUOTE_PM}" class="button button-icon-only">
<i class="icon fa-quote-left fa-fw" aria-hidden="true"></i><span class="sr-only">{L_POST_QUOTE_PM}</span>
<i class="icon fa-quote-left fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_QUOTE}</span>
</a>
</li>
<!-- ENDIF -->

View File

@@ -242,35 +242,35 @@
<!-- IF postrow.U_DELETE -->
<li>
<a href="{postrow.U_DELETE}" title="{L_DELETE_POST}" class="button button-icon-only">
<i class="icon fa-times fa-fw" aria-hidden="true"></i><span class="sr-only">{L_DELETE_POST}</span>
<i class="icon fa-times fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_DELETE}</span>
</a>
</li>
<!-- ENDIF -->
<!-- IF postrow.U_REPORT -->
<li>
<a href="{postrow.U_REPORT}" title="{L_REPORT_POST}" class="button button-icon-only">
<i class="icon fa-exclamation fa-fw" aria-hidden="true"></i><span class="sr-only">{L_REPORT_POST}</span>
<i class="icon fa-exclamation fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_REPORT}</span>
</a>
</li>
<!-- ENDIF -->
<!-- IF postrow.U_WARN -->
<li>
<a href="{postrow.U_WARN}" title="{L_WARN_USER}" class="button button-icon-only">
<i class="icon fa-exclamation-triangle fa-fw" aria-hidden="true"></i><span class="sr-only">{L_WARN_USER}</span>
<i class="icon fa-exclamation-triangle fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_WARN}</span>
</a>
</li>
<!-- ENDIF -->
<!-- IF postrow.U_INFO -->
<li>
<a href="{postrow.U_INFO}" title="{L_INFORMATION}" class="button button-icon-only">
<i class="icon fa-info fa-fw" aria-hidden="true"></i><span class="sr-only">{L_INFORMATION}</span>
<i class="icon fa-info fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_INFORMATION}</span>
</a>
</li>
<!-- ENDIF -->
<!-- IF postrow.U_QUOTE -->
<li>
<a href="{postrow.U_QUOTE}" title="{L_REPLY_WITH_QUOTE}" class="button button-icon-only">
<i class="icon fa-quote-left fa-fw" aria-hidden="true"></i><span class="sr-only">{L_QUOTE}</span>
<i class="icon fa-quote-left fa-fw" aria-hidden="true"></i><span class="sr-only">{L_BUTTON_QUOTE}</span>
</a>
</li>
<!-- ENDIF -->

View File

@@ -11,7 +11,7 @@
<!-- IF U_WATCH_TOPIC -->
<li>
<a href="{U_WATCH_TOPIC}" class="watch-topic-link" title="{S_WATCH_TOPIC_TITLE}" data-ajax="toggle_link" data-toggle-class="icon <!-- IF S_WATCHING_TOPIC -->fa-check-square-o<!-- ELSE -->fa-square-o<!-- ENDIF --> fa-fw" data-toggle-text="{S_WATCH_TOPIC_TOGGLE}" data-toggle-url="{U_WATCH_TOPIC_TOGGLE}" data-update-all=".watch-topic-link">
<i class="icon <!-- IF S_WATCHING_FORUM -->fa-square-o<!-- ELSE -->fa-check-square-o<!-- ENDIF --> fa-fw" aria-hidden="true"></i><span>{S_WATCH_TOPIC_TITLE}</span>
<i class="icon <!-- IF S_WATCHING_TOPIC -->fa-square-o<!-- ELSE -->fa-check-square-o<!-- ENDIF --> fa-fw" aria-hidden="true"></i><span>{S_WATCH_TOPIC_TITLE}</span>
</a>
</li>
<!-- ENDIF -->

View File

@@ -1576,12 +1576,20 @@ if (count($attach_list))
}
}
// Get the list of users who can receive private messages
$can_receive_pm_list = $auth->acl_get_list(array_keys($user_cache), 'u_readpm');
$can_receive_pm_list = (empty($can_receive_pm_list) || !isset($can_receive_pm_list[0]['u_readpm'])) ? array() : $can_receive_pm_list[0]['u_readpm'];
if ($config['enable_accurate_pm_button'])
{
// Get the list of users who can receive private messages
$can_receive_pm_list = $auth->acl_get_list(array_keys($user_cache), 'u_readpm');
$can_receive_pm_list = (empty($can_receive_pm_list) || !isset($can_receive_pm_list[0]['u_readpm'])) ? array() : $can_receive_pm_list[0]['u_readpm'];
// Get the list of permanently banned users
$permanently_banned_users = phpbb_get_banned_user_ids(array_keys($user_cache), false);
// Get the list of permanently banned users
$permanently_banned_users = phpbb_get_banned_user_ids(array_keys($user_cache), false);
}
else
{
$can_receive_pm_list = array_keys($user_cache);
$permanently_banned_users = [];
}
$i_total = count($rowset) - 1;
$prev_post_id = '';
@@ -1994,6 +2002,7 @@ for ($i = 0, $end = count($post_list); $i < $end; ++$i)
'S_FIRST_UNREAD' => $s_first_unread,
'S_CUSTOM_FIELDS' => (isset($cp_row['row']) && count($cp_row['row'])) ? true : false,
'S_TOPIC_POSTER' => ($topic_data['topic_poster'] == $poster_id) ? true : false,
'S_FIRST_POST' => ($topic_data['topic_first_post_id'] == $row['post_id']) ? true : false,
'S_IGNORE_POST' => ($row['foe']) ? true : false,
'L_IGNORE_POST' => ($row['foe']) ? sprintf($user->lang['POST_BY_FOE'], get_username_string('full', $poster_id, $row['username'], $row['user_colour'], $row['post_username'])) : '',

View File

@@ -143,14 +143,14 @@ If you want all tests, run:
Functional tests
-----------------
================
Functional tests test software the way a user would. They simulate a user
browsing the website, but they do these steps in an automated way.
phpBB allows you to write such tests.
Running
=======
-------
Running the tests requires your phpBB3 repository to be accessible through a
local web server. You will need to supply the URL to the webserver in
@@ -170,6 +170,27 @@ If you only want the functional tests, run:
This will change your board's config.php file, but it makes a backup at
config_dev.php, so you can restore it after the test run is complete.
UI tests
========
UI tests are functional tests that also support running JavaScript in a
headless browser. These should be used when functionality that is only
executed using JS needs to be tested. They require a running
[PhantomJS WebDriver instance](http://phantomjs.org/). The executable can
either be downloaded from [PhantomJS](http://phantomjs.org/download.html)
or alternatively be installed with npm:
$ npm install -g phantomjs-prebuilt
You might have to run the command as superuser / administrator on some
systems. Afterwards, a new WebDriver instance can be started via command
line:
$ phantomjs --webdriver=127.0.0.1:8910
Port 8910 is the default port that will be used by UI tests to connect
to the WebDriver instance.
More Information
================

View File

@@ -52,11 +52,39 @@ class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
array(
'',
'ACP_CAT',
false,
true,
),
array(
0,
'ACP_CAT',
false,
true,
),
array(
false,
'ACP_CAT',
false,
true,
),
// Test the existing category lazily
array(
'',
'ACP_CAT',
true,
true,
),
array(
0,
'ACP_CAT',
true,
true,
),
array(
false,
'ACP_CAT',
true,
true,
),
@@ -65,15 +93,38 @@ class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
'',
'ACP_MODULE',
false,
false,
),
array(
false,
'ACP_MODULE',
false,
true,
),
array(
'ACP_CAT',
'ACP_MODULE',
false,
true,
),
// Test the existing module lazily
array(
'',
'ACP_MODULE',
true,
false,
),
array(
false,
'ACP_MODULE',
true,
true,
),
array(
'ACP_CAT',
'ACP_MODULE',
true,
true,
),
@@ -82,11 +133,39 @@ class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
'',
'ACP_NON_EXISTANT_CAT',
false,
false,
),
array(
false,
'ACP_NON_EXISTANT_CAT',
false,
false,
),
array(
'ACP_CAT',
'ACP_NON_EXISTANT_MODULE',
false,
false,
),
// Test for non-existant modules lazily
array(
'',
'ACP_NON_EXISTANT_CAT',
true,
false,
),
array(
false,
'ACP_NON_EXISTANT_CAT',
true,
false,
),
array(
'ACP_CAT',
'ACP_NON_EXISTANT_MODULE',
true,
false,
),
);
}
@@ -94,9 +173,9 @@ class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
/**
* @dataProvider exists_data_acp
*/
public function test_exists_acp($parent, $module, $expected)
public function test_exists_acp($parent, $module, $lazy, $expected)
{
$this->assertEquals($expected, $this->tool->exists('acp', $parent, $module));
$this->assertEquals($expected, $this->tool->exists('acp', $parent, $module, $lazy));
}
public function exists_data_ucp()
@@ -106,11 +185,39 @@ class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
array(
'',
'UCP_MAIN_CAT',
false,
true,
),
array(
0,
'UCP_MAIN_CAT',
false,
true,
),
array(
false,
'UCP_MAIN_CAT',
false,
true,
),
// Test the existing category lazily
array(
'',
'UCP_MAIN_CAT',
true,
true,
),
array(
0,
'UCP_MAIN_CAT',
true,
true,
),
array(
false,
'UCP_MAIN_CAT',
true,
true,
),
@@ -119,21 +226,51 @@ class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
'',
'UCP_SUBCATEGORY',
false,
false,
),
array(
false,
'UCP_SUBCATEGORY',
false,
true,
),
array(
'UCP_MAIN_CAT',
'UCP_SUBCATEGORY',
false,
true,
),
array(
'UCP_SUBCATEGORY',
'UCP_MODULE',
false,
true,
),
// Test the existing module lazily
array(
'',
'UCP_SUBCATEGORY',
true,
false,
),
array(
false,
'UCP_SUBCATEGORY',
true,
true,
),
array(
'UCP_MAIN_CAT',
'UCP_SUBCATEGORY',
true,
true,
),
array(
'UCP_SUBCATEGORY',
'UCP_MODULE',
true,
true,
),
// Test for non-existant modules
@@ -141,11 +278,27 @@ class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
'',
'UCP_NON_EXISTANT_CAT',
false,
false,
),
array(
'UCP_MAIN_CAT',
'UCP_NON_EXISTANT_MODULE',
false,
false,
),
// Test for non-existant modules lazily
array(
'',
'UCP_NON_EXISTANT_CAT',
true,
false,
),
array(
'UCP_MAIN_CAT',
'UCP_NON_EXISTANT_MODULE',
true,
false,
),
);
}
@@ -153,9 +306,9 @@ class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
/**
* @dataProvider exists_data_ucp
*/
public function test_exists_ucp($parent, $module, $expected)
public function test_exists_ucp($parent, $module, $lazy, $expected)
{
$this->assertEquals($expected, $this->tool->exists('ucp', $parent, $module));
$this->assertEquals($expected, $this->tool->exists('ucp', $parent, $module, $lazy));
}
public function test_add()

View File

@@ -95,19 +95,19 @@ class phpbb_template_template_includecss_test extends phpbb_template_template_te
*/
array(
array('TEST' => 1),
'<link href="tests/template/templates/child_only.css?assets_version=1" rel="stylesheet" type="text/css" media="screen" />',
'<link href="tests/template/templates/child_only.css?assets_version=1" rel="stylesheet" media="screen" />',
),
array(
array('TEST' => 2),
'<link href="tests/template/parent_templates/parent_only.css?assets_version=1" rel="stylesheet" type="text/css" media="screen" />',
'<link href="tests/template/parent_templates/parent_only.css?assets_version=1" rel="stylesheet" media="screen" />',
),
array(
array('TEST' => 3),
'<link href="tests/template/ext/include/css/styles/all/theme/test.css?assets_version=1" rel="stylesheet" type="text/css" media="screen" />',
'<link href="tests/template/ext/include/css/styles/all/theme/test.css?assets_version=1" rel="stylesheet" media="screen" />',
),
array(
array('TEST' => 4),
'<link href="tests/template/ext/include/css/styles/all/theme/child_only.css?assets_version=1" rel="stylesheet" type="text/css" media="screen" />',
'<link href="tests/template/ext/include/css/styles/all/theme/child_only.css?assets_version=1" rel="stylesheet" media="screen" />',
),
);
}

View File

@@ -28,67 +28,67 @@ class phpbb_template_template_includejs_test extends phpbb_template_template_tes
*/
array(
array('TEST' => 1),
'<script type="text/javascript" src="tests/template/templates/parent_and_child.js?assets_version=1"></script>',
'<script src="tests/template/templates/parent_and_child.js?assets_version=1"></script>',
),
array(
array('TEST' => 2),
'<script type="text/javascript" src="tests/template/templates/parent_and_child.js?assets_version=0"></script>',
'<script src="tests/template/templates/parent_and_child.js?assets_version=0"></script>',
),
array(
array('TEST' => 3),
'<script type="text/javascript" src="tests/template/templates/parent_and_child.js?test=1&assets_version=0"></script>',
'<script src="tests/template/templates/parent_and_child.js?test=1&assets_version=0"></script>',
),
array(
array('TEST' => 4),
'<script type="text/javascript" src="tests/template/templates/parent_and_child.js?test=1&amp;assets_version=0"></script>',
'<script src="tests/template/templates/parent_and_child.js?test=1&amp;assets_version=0"></script>',
),
array(
array('TEST' => 6),
'<script type="text/javascript" src="tests/template/parent_templates/parent_only.js?assets_version=1"></script>',
'<script src="tests/template/parent_templates/parent_only.js?assets_version=1"></script>',
),
array(
array('TEST' => 7),
'<script type="text/javascript" src="tests/template/templates/child_only.js?assets_version=1"></script>',
'<script src="tests/template/templates/child_only.js?assets_version=1"></script>',
),
array(
array('TEST' => 8),
'<script type="text/javascript" src="tests/template/templates/subdir/parent_only.js?assets_version=1"></script>',
'<script src="tests/template/templates/subdir/parent_only.js?assets_version=1"></script>',
),
array(
array('TEST' => 9),
'<script type="text/javascript" src="tests/template/templates/subdir/subsubdir/parent_only.js?assets_version=1"></script>',
'<script src="tests/template/templates/subdir/subsubdir/parent_only.js?assets_version=1"></script>',
),
array(
array('TEST' => 10),
'<script type="text/javascript" src="tests/template/templates/subdir/parent_only.js?assets_version=1"></script>',
'<script src="tests/template/templates/subdir/parent_only.js?assets_version=1"></script>',
),
array(
array('TEST' => 11),
'<script type="text/javascript" src="tests/template/templates/child_only.js?test1=1&amp;test2=2&amp;assets_version=1#test3"></script>',
'<script src="tests/template/templates/child_only.js?test1=1&amp;test2=2&amp;assets_version=1#test3"></script>',
),
array(
array('TEST' => 12),
'<script type="text/javascript" src="tests/template/parent_templates/parent_only.js?test1=1&amp;test2=2&amp;assets_version=1#test3"></script>',
'<script src="tests/template/parent_templates/parent_only.js?test1=1&amp;test2=2&amp;assets_version=1#test3"></script>',
),
array(
array('TEST' => 14),
'<script type="text/javascript" src="tests/template/parent_templates/parent_only.js?test1=&quot;&amp;assets_version=1#test3"></script>',
'<script src="tests/template/parent_templates/parent_only.js?test1=&quot;&amp;assets_version=1#test3"></script>',
),
array(
array('TEST' => 15),
'<script type="text/javascript" src="http://phpbb.com/b.js?c=d#f"></script>',
'<script src="http://phpbb.com/b.js?c=d#f"></script>',
),
array(
array('TEST' => 16),
'<script type="text/javascript" src="http://phpbb.com/b.js?c=d&assets_version=2#f"></script>',
'<script src="http://phpbb.com/b.js?c=d&assets_version=2#f"></script>',
),
array(
array('TEST' => 17),
'<script type="text/javascript" src="//phpbb.com/b.js"></script>',
'<script src="//phpbb.com/b.js"></script>',
),
array(
array('TEST' => 18),
'<script type="text/javascript" src="tests/template/templates/parent_and_child.js?test=1&test2=0&amp;assets_version=1"></script>',
'<script src="tests/template/templates/parent_and_child.js?test=1&test2=0&amp;assets_version=1"></script>',
),
);
}

View File

@@ -911,10 +911,15 @@ class phpbb_functional_test_case extends phpbb_test_case
* status code. This assertion tries to catch that.
*
* @param int $status_code Expected status code
* @return null
* @return void
*/
static public function assert_response_status_code($status_code = 200)
{
if ($status_code != self::$client->getResponse()->getStatus() &&
preg_match('/^5[0-9]{2}/', self::$client->getResponse()->getStatus()))
{
self::fail("Encountered unexpected server error:\n" . self::$client->getResponse()->getContent());
}
self::assertEquals($status_code, self::$client->getResponse()->getStatus(), 'HTTP status code does not match');
}

View File

@@ -385,7 +385,7 @@ class phpbb_test_case_helpers
$mb = $this->test_case->getMockBuilder('phpbb\\textformatter\\data_access');
$mb->setMethods(array('get_bbcodes', 'get_censored_words', 'get_smilies', 'get_styles'));
$mb->setConstructorArgs(array(
$this->test_case->getMock('phpbb\\db\\driver\\driver'),
$this->test_case->getMockBuilder('phpbb\\db\\driver\\driver')->getMock(),
'phpbb_bbcodes',
'phpbb_smilies',
'phpbb_styles',
@@ -489,8 +489,11 @@ class phpbb_test_case_helpers
$request = new phpbb_mock_request;
}
// Get a log interface
$log = ($container->has('log')) ? $container->get('log') : $this->test_case->getMockBuilder('phpbb\\log\\log_interface')->getMock();
// Create and register the text_formatter.s9e.factory service
$factory = new \phpbb\textformatter\s9e\factory($dal, $cache, $dispatcher, $config, new \phpbb\textformatter\s9e\link_helper, $cache_dir, $cache_key_parser, $cache_key_renderer);
$factory = new \phpbb\textformatter\s9e\factory($dal, $cache, $dispatcher, $config, new \phpbb\textformatter\s9e\link_helper, $log, $cache_dir, $cache_key_parser, $cache_key_renderer);
$container->set('text_formatter.s9e.factory', $factory);
// Create a user if none was provided, and add the common lang strings

View File

@@ -56,6 +56,7 @@ class phpbb_textformatter_s9e_factory_test extends phpbb_database_test_case
$this->dispatcher,
new \phpbb\config\config(array('allowed_schemes_links' => 'http,https,ftp')),
new \phpbb\textformatter\s9e\link_helper,
$this->getMockBuilder('phpbb\\log\\log_interface')->getMock(),
$this->get_cache_dir(),
'_foo_parser',
'_foo_renderer'
@@ -263,6 +264,23 @@ class phpbb_textformatter_s9e_factory_test extends phpbb_database_test_case
$this->assertSame($expected, $renderer->render($parser->parse($original)));
}
/**
* @testdox Logs malformed BBCodes
*/
public function test_malformed_bbcodes()
{
$log = $this->getMockBuilder('phpbb\\log\\log_interface')->getMock();
$log->expects($this->once())
->method('add')
->with('critical', null, null, 'LOG_BBCODE_CONFIGURATION_ERROR', false, ['[x !x]{TEXT}[/x]', 'Cannot interpret the BBCode definition']);
$container = new phpbb_mock_container_builder;
$container->set('log', $log);
$fixture = __DIR__ . '/fixtures/malformed_bbcode.xml';
$this->get_test_case_helpers()->set_s9e_services($container, $fixture);
}
/**
* @testdox get_configurator() triggers events before and after configuration
*/

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8" ?>
<dataset>
<table name="phpbb_bbcodes">
<column>bbcode_id</column>
<column>bbcode_tag</column>
<column>bbcode_helpline</column>
<column>display_on_posting</column>
<column>bbcode_match</column>
<column>bbcode_tpl</column>
<column>first_pass_match</column>
<column>first_pass_replace</column>
<column>second_pass_match</column>
<column>second_pass_replace</column>
<row>
<value>13</value>
<value>x</value>
<value></value>
<value>1</value>
<value>[x !x]{TEXT}[/x]</value>
<value>...</value>
<value/>
<value/>
<value/>
<value/>
</row>
</table>
</dataset>

View File

@@ -44,55 +44,66 @@
<column>topic_id</column>
<column>topic_first_post_id</column>
<column>poll_title</column>
<column>poll_start</column>
<row>
<value>1</value>
<value>1</value>
<value>This row should be [b]ignored[/b]</value>
<value>1</value>
</row>
<row>
<value>2</value>
<value>1</value>
<value>[b]Not bold[/b] :) http://example.org</value>
<value>1</value>
</row>
<row>
<value>3</value>
<value>2</value>
<value>[b:abcd1234]Bold[/b:abcd1234] :) http://example.org</value>
<value>1</value>
</row>
<row>
<value>4</value>
<value>3</value>
<value><![CDATA[[b]Not bold[/b] <!-- s:) --><img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":)" title="Smile" /><!-- s:) --> http://example.org]]></value>
<value>1</value>
</row>
<row>
<value>5</value>
<value>4</value>
<value><![CDATA[[b]Not bold[/b] :) <!-- m --><a class="postlink" href="http://example.org">http://example.org</a><!-- m -->]]></value>
<value>1</value>
</row>
<row>
<value>6</value>
<value>2</value>
<value><![CDATA[[flash=123,345:abcd1234]http&#58;//example&#46;org/flash&#46;swf[/flash:abcd1234]]]></value>
<value>1</value>
</row>
<row>
<value>7</value>
<value>1</value>
<value><![CDATA[[flash=123,345]http://example.org/flash.swf[/flash]]]></value>
<value>1</value>
</row>
<row>
<value>8</value>
<value>2</value>
<value><![CDATA[[img:abcd1234]http&#58;//example&#46;org/img&#46;png[/img:abcd1234]]]></value>
<value>1</value>
</row>
<row>
<value>9</value>
<value>1</value>
<value><![CDATA[[img]http://example.org/img.png[/img]]]></value>
<value>1</value>
</row>
<row>
<value>1000</value>
<value>1</value>
<value>This row should be [b]ignored[/b]</value>
<value>1</value>
</row>
</table>
</dataset>

View File

@@ -26,7 +26,7 @@ then
travis/setup-mariadb.sh
fi
if [ "$NOTESTS" != '1' -a "$TRAVIS_PHP_VERSION" != "hhvm" ]
if [ "$NOTESTS" != '1' ]
then
travis/setup-php-extensions.sh
fi

View File

@@ -22,39 +22,26 @@ PHPBB_ROOT_PATH=$(realpath "$DIR/../phpBB")
NGINX_CONF="/etc/nginx/sites-enabled/default"
APP_SOCK=$(realpath "$DIR")/php-app.sock
if [ "$TRAVIS_PHP_VERSION" = 'hhvm' ]
then
HHVM_LOG=$(realpath "$DIR")/hhvm.log
# php-fpm
PHP_FPM_BIN="$HOME/.phpenv/versions/$TRAVIS_PHP_VERSION/sbin/php-fpm"
PHP_FPM_CONF="$DIR/php-fpm.conf"
sudo service hhvm stop
sudo hhvm \
--mode daemon \
--user "$USER" \
-vServer.Type=fastcgi \
-vServer.FileSocket="$APP_SOCK" \
-vLog.File="$HHVM_LOG"
else
# php-fpm
PHP_FPM_BIN="$HOME/.phpenv/versions/$TRAVIS_PHP_VERSION/sbin/php-fpm"
PHP_FPM_CONF="$DIR/php-fpm.conf"
echo "
[global]
echo "
[global]
[travis]
user = $USER
group = $USER
listen = $APP_SOCK
listen.mode = 0666
pm = static
pm.max_children = 2
[travis]
user = $USER
group = $USER
listen = $APP_SOCK
listen.mode = 0666
pm = static
pm.max_children = 2
php_admin_value[memory_limit] = 128M
" > $PHP_FPM_CONF
php_admin_value[memory_limit] = 128M
" > $PHP_FPM_CONF
sudo $PHP_FPM_BIN \
--fpm-config "$DIR/php-fpm.conf"
fi
sudo $PHP_FPM_BIN \
--fpm-config "$DIR/php-fpm.conf"
# nginx
cat $DIR/../phpBB/docs/nginx.sample.conf \