1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-09-06 22:30:44 +02:00

Compare commits

...

1033 Commits

Author SHA1 Message Date
Marc Alexander
2fdd46b364 [prep-release-3.2.9] Update changelog for 3.2.9 2020-01-04 11:32:26 +01:00
Marc Alexander
4f39da4343 [prep-release-3.2.9] Add migration for 3.2.9 2020-01-04 10:17:57 +01:00
Marc Alexander
a2a0038368 [prep-release-3.2.9] Update version numbers for 3.2.9 2020-01-04 10:16:06 +01:00
Marc Alexander
cb833db5fb Merge pull request #56 from phpbb/ticket/security-250
[ticket/security-250] Check form key when approving group membership
2020-01-03 17:25:12 +01:00
Marc Alexander
4f007321e1 [ticket/security-250] Check form key when approving group membership
SECURITY-250
2020-01-03 17:24:33 +01:00
Marc Alexander
3aa4b67173 Merge pull request #57 from phpbb/ticket/security-251
[ticket/security-251] Check form token when moving PM to folder
2020-01-03 17:22:43 +01:00
Marc Alexander
25c80df156 [ticket/security-252] Check form token on marking PM
SECURITY-252
2020-01-03 17:21:42 +01:00
Marc Alexander
e7a6ed20e8 [ticket/security-251] Check form token when moving PM to folder
SECURITY-251
2020-01-03 17:21:35 +01:00
Marc Alexander
502407a1dd Merge pull request #58 from phpbb/ticket/security-253
[ticket/security-253] Check form key when exporting PM data
2020-01-03 17:19:06 +01:00
Marc Alexander
03757a0663 Merge pull request #59 from phpbb/ticket/security-249
[ticket/security-249] Do not handle avatar submit on invalid token
2020-01-03 17:18:54 +01:00
Marc Alexander
36c370947c Merge branch 'ticket/16279' into prep-release-3.2.9 2020-01-02 10:02:17 +01:00
3D-I
fa099867a8 [ticket/16279] Add permission for Emoji in topic title
PHPBB3-16279
2020-01-02 10:02:01 +01:00
3D-I
88277e2d21 [ticket/16279] Add permission for Emoji in topic title
PHPBB3-16279
2020-01-02 10:01:55 +01:00
3D-I
48eb74cfcd [ticket/16279] Add permission for Emoji in topic title
PHPBB3-16279
2020-01-02 10:01:48 +01:00
Marc Alexander
693d008851 Merge pull request #5803 from marc1706/ticket/16282
[ticket/16282] Adjust jQuery cdn url in schema_data
2020-01-01 17:33:07 +01:00
Marc Alexander
97e9357153 Merge branch 'ticket/15592' into prep-release-3.2.9 2020-01-01 17:26:38 +01:00
Marc Alexander
706a10d4cf Merge pull request #5792 from KYPREO/ticket/16269
[ticket/16269] Strip HTML markup from Sphinx search index
2020-01-01 17:26:10 +01:00
Alfredo Ramos
ec694bf8bd [ticket/15592] Fix attachments place inline button if BBCode is disabled
PHPBB3-15592
2020-01-01 17:24:57 +01:00
Marc Alexander
803ed6050f [ticket/16282] Adjust jQuery cdn url in schema_data
PHPBB3-16282
2019-12-31 16:40:20 +01:00
KYPREO
48d038ead4 [ticket/16269] Strip HTML markup from Sphinx search index
PHPBB3-16269
2019-12-27 09:45:45 +11:00
Marc Alexander
6320da67e4 [ticket/security-249] Do not handle avatar submit on invalid token
SECURITY-249
2019-12-26 15:05:53 +01:00
Marc Alexander
c44c398626 [ticket/security-253] Check form key when exporting PM data
SECURITY-253
2019-12-26 14:59:14 +01:00
Marc Alexander
7d90f84306 [prep-release-3.2.9] Add changelog for 3.2.9-RC1 2019-12-25 17:57:31 +01:00
Marc Alexander
3e4f18bed2 [prep-release-3.2.9] Update composer dependencies to latest 2019-12-25 17:56:09 +01:00
Marc Alexander
e31da34324 [prep-release-3.2.9] Add migration for 3.2.9-RC1 2019-12-25 17:55:06 +01:00
Marc Alexander
6c85564cc1 [prep-release-3.2.9] Update version numbers to 3.2.9 2019-12-25 17:53:09 +01:00
Marc Alexander
8cfe6a900c [prep-release-3.2.9] Update version number to 3.2.9-RC1 2019-12-25 17:52:25 +01:00
Marc Alexander
4e2e36df60 Merge pull request #5564 from xchwarze/PHPBB3-16015
[ticket/16015] Add new hook core.ucp_profile_avatar_upload_validation
2019-12-25 17:40:54 +01:00
Marc Alexander
4bee15d0fa [ticket/16015] Adjust since version
PHPBB3-16015
2019-12-25 14:36:33 +01:00
Marc Alexander
e880d2c12a Merge pull request #5786 from marc1706/ticket/16209
[ticket/16209] Match exactly "phpbb" in nginx example configuration file
2019-12-24 22:58:07 +01:00
Marc Alexander
8fe5063a35 Merge pull request #5784 from 3D-I/ticket/15902
[ticket/15902] Out of range error with Sphinx search
2019-12-24 16:20:04 +01:00
Marc Alexander
91a60f871a Merge pull request #5785 from 3D-I/ticket/16257
[ticket/16257] Typo in SMTP_SERVER_EXPLAIN
2019-12-24 16:15:02 +01:00
Alfredo Ramos
225c313bb3 [ticket/16209] Match exactly "phpbb" in nginx example configuration file
It blocks an image in the ACP.

PHPBB3-16209
2019-12-24 15:55:53 +01:00
3D-I
abc6e9a7bc [ticket/16257] Typo in SMTP_SERVER_EXPLAIN
PHPBB3-16257
2019-12-24 05:24:29 +01:00
3D-I
16070b5543 [ticket/15902] Out of range error with Sphinx search
Add missing modification.

PHPBB3-15902
2019-12-24 00:34:27 +01:00
3D-I
0afd410ae7 [ticket/15902] Out of range error with Sphinx search
The reporter he's waiting this fix to be in the core.
I created this PR based on trusting his report.
I can't test it.

PHPBB3-15902
2019-12-23 21:36:13 +01:00
Marc Alexander
1a9ab15f26 Merge pull request #5777 from KYPREO/ticket/16258
[ticket/16258] Fix sample Sphinx configuration file
2019-12-21 10:25:51 +01:00
KYPREO
d4681145dc [ticket/16258] Fix sample Sphinx configuration file
PHPBB3-16258
2019-12-17 21:01:06 +11:00
Marc Alexander
4b890cff12 Merge pull request #5765 from marc1706/ticket/16224
[ticket/16224] Update composer dependencies - 3.2.x version
2019-12-13 20:16:13 +01:00
Marc Alexander
4b376de3bf Merge pull request #5771 from JoshyPHP/ticket/16251
[ticket/16251] Prevent shortened links from overriding other plugins
2019-12-12 18:20:49 +01:00
Marc Alexander
4a950750f4 Merge pull request #5772 from JoshyPHP/ticket/16252
[ticket/16252] Ignore non-BBCodes when looking for unauthorized markup
2019-12-12 18:16:55 +01:00
Marc Alexander
e584ce4010 [ticket/16224] Update fast-image-size to 1.1.6
PHPBB3-16224
2019-12-12 18:02:38 +01:00
JoshyPHP
5813b5fbee [ticket/16252] Ignore non-BBCodes when looking for unauthorized markup
PHPBB3-16252
2019-12-09 18:06:30 +01:00
JoshyPHP
6758190afd [ticket/16251] Prevent shortened links from overriding other plugins
PHPBB3-16251
2019-12-09 02:16:01 +01:00
Marc Alexander
1f00e160ab Merge pull request #5737 from marc1706/ticket/16211
[ticket/16211] Prevent skipping COPPA via URL parameter
2019-12-06 07:20:30 +01:00
Marc Alexander
41918b8afa Merge pull request #5768 from 3D-I/ticket/16247
[ticket/16247] Quote PM has no identifier
2019-12-06 07:03:30 +01:00
3D-I
e6c45623ea [ticket/16247] Quote PM has no identifier
Code review

PHPBB3-16247
2019-12-05 23:42:12 +01:00
3D-I
8c42a9d900 [ticket/16247] Code consistency
PHPBB3-16247
2019-12-05 11:58:05 +01:00
3D-I
17f8134a3b [ticket/16247] Add test not tested
PHPBB3-16247
2019-12-05 10:33:02 +01:00
3D-I
d3749538f1 [ticket/16247] Quote PM has no identifier
PHPBB3-16247
2019-12-05 10:15:54 +01:00
Marc Alexander
3002cee42a Merge pull request #5761 from AlfredoRamos/ticket/16242
[ticket/16242] Fix nginx redirection loop
2019-12-04 21:11:35 +01:00
Marc Alexander
6be6b69110 Merge pull request #5764 from VSEphpbb/ticket/16246
[ticket/16246] Update automated testing section of Readme
2019-12-04 20:49:06 +01:00
Marc Alexander
37ccd29558 [ticket/16224] Update composer dependencies
PHPBB3-16224
2019-12-04 20:31:28 +01:00
Marc Alexander
55c493cd7d [ticket/16224] Update composer to 1.9.1
PHPBB3-16224
2019-12-04 20:31:15 +01:00
Matt Friedman
1056cd9ca2 [ticket/16246] Update automated testing section of Readme
PHPBB3-16246
2019-12-03 22:21:11 -08:00
Alfredo Ramos
9c980256bf [ticket/16242] Fix nginx redirection loop
PHPBB3-16242
2019-12-03 01:43:44 -06:00
Marc Alexander
d48e0f7f13 Merge pull request #5730 from 3D-I/ticket/16203
[ticket/16203] Enable Emojis and rich text in sent Emails
2019-11-28 21:39:40 +01:00
Marc Alexander
03e15166c7 Merge pull request #5747 from JoshyPHP/ticket/16228
[ticket/16228] Fix BBCodes merging
2019-11-28 21:11:43 +01:00
Marc Alexander
c7ed162a06 [ticket/16211] Fix coppa registration test
PHPBB3-16211
2019-11-28 07:39:51 +01:00
Marc Alexander
417271f573 [ticket/16211] Use form to ensure link data is passed on coppa registration
PHPBB3-16211
2019-11-27 22:01:26 +01:00
JoshyPHP
d6f5b5ef6c [ticket/16228] Fix BBCodes merging
PHPBB3-16228
2019-11-25 18:34:04 +01:00
Marc Alexander
bf96786cda Merge pull request #5741 from marc1706/ticket/16217
[ticket/16217] Enable opcache on travis tests again
2019-11-22 19:15:03 +01:00
Marc Alexander
db83419ea3 [ticket/16217] Enable opcache on travis tests again
PHPBB3-16217
2019-11-22 18:27:42 +01:00
Marc Alexander
b8e86975a4 Merge pull request #5740 from marc1706/ticket/16216
[ticket/16216] Disable xdebug on travis
2019-11-22 18:21:02 +01:00
Marc Alexander
c435c55657 [ticket/16216] Disable xdebug on travis
PHPBB3-16216
2019-11-22 16:02:50 +01:00
Marc Alexander
7b428641f0 [ticket/16211] Prevent skipping COPPA via URL parameter
PHPBB3-16211
2019-11-14 21:32:50 +01:00
Marc Alexander
0641c209d7 Merge pull request #5736 from marc1706/ticket/16210
[ticket/16210] Ensure terms of use is not skipped by enforcing form token
2019-11-14 20:39:57 +01:00
Marc Alexander
dba351702d [ticket/16210] Ensure terms of use is not skipped by enforcing form token
PHPBB3-16210
2019-11-12 21:47:41 +01:00
Marc Alexander
04204c7ec6 Merge pull request #5729 from rxu/ticket/16199
[ticket/16199] Init guest posting CAPTCHA only if guest posting is allowed
2019-11-07 21:19:11 +01:00
3D-I
79bc1ba9ce [ticket/16203] Enable Emojis and rich text in sent Emails
PHPBB3-16203
2019-11-06 00:56:44 +01:00
rxu
0a8b2eb58e [ticket/16199] Init guest posting CAPTCHA only if guest posting is allowed
PHPBB3-16199
2019-11-05 20:51:21 +07:00
Marc Alexander
51f0c16b5f Merge pull request #5685 from 3D-I/ticket/16153
[ticket/16153] Enable Emojis and rich text in Topic title
2019-11-01 22:12:24 +01:00
3D-I
ff25d0a508 [ticket/16153] Enable Emojis and rich text in Topic title
PHPBB3-16153
2019-10-30 14:47:10 +01:00
3D-I
c569d0dabc [ticket/16153] Use new function
PHPBB3-16153
2019-10-28 21:16:54 +01:00
3D-I
d136a8a907 Merge branch '3.2.x' into ticket/16153 2019-10-28 21:11:42 +01:00
Marc Alexander
e95e387188 Merge pull request #5709 from mrgoldy/ticket/16181
[ticket/16181] Enforce string for OAuth provider id
2019-10-28 20:32:03 +01:00
Marc Alexander
c0eee6d153 Merge pull request #5682 from 3D-I/ticket/16151
[ticket/16151] Enable Emojis and rich text in forum name
2019-10-28 20:22:52 +01:00
Marc Alexander
1b20430399 Merge pull request #5672 from OxCom/ticket/16146
[ticket/16146] New core event: after move forum
2019-10-28 19:49:55 +01:00
3D-I
2cdc2e751e [ticket/16151] Enable Emojis and rich text in forum name
Move to a new function()

PHPBB3-16151
2019-10-28 02:36:35 +01:00
Marc Alexander
28fd9457e9 Merge pull request #5695 from 3D-I/ticket/16161
[ticket/16161] Enable BBcodes without closing tag
2019-10-26 21:50:43 +02:00
Marc Alexander
6a7ed40b05 Merge pull request #5681 from v12mike/ticket/16150
[ticket/16150] Make post subject link an absolute url
2019-10-26 21:35:32 +02:00
Marc Alexander
4e816b58c6 [ticket/16146] Fix typos in event description
PHPBB3-16146
2019-10-26 21:26:00 +02:00
Marc Alexander
fa18778c91 Merge pull request #5711 from kasimi/ticket/16183
[ticket/16183] Add core.generate_smilies_count_sql_before
2019-10-21 17:51:23 +02:00
Marc Alexander
6e757eea94 Merge pull request #5674 from JoshyPHP/ticket/16147
[ticket/16147] Updated tokens legend in BBCodes ACP
2019-10-21 17:48:41 +02:00
Marc Alexander
23fd522dbb Merge pull request #5704 from senky/ticket/16172
[ticket/16172] Add group rank label to group view
2019-10-20 21:06:53 +02:00
Marc Alexander
f0bf54f9eb Merge pull request #5703 from senky/ticket/16174
[ticket/16174] Add core.set_cookie
2019-10-20 21:01:39 +02:00
Marc Alexander
4e3b22b332 Merge pull request #5667 from EA117/ticket/16141
[ticket/16141] plupload chunk_size incorrect when 'unlimited' is involved.
2019-10-20 20:59:01 +02:00
Marc Alexander
801214f0ee Merge pull request #5705 from senky/ticket/16140
[ticket/16140] Add ucp_profile_profile_info_birthday_label_append
2019-10-20 20:57:31 +02:00
Marc Alexander
ebdb38857c [ticket/16181] Fix typo in comment
PHPBB3-16181
2019-10-20 20:54:39 +02:00
Marc Alexander
cbbc64a54f Merge pull request #5710 from kasimi/ticket/16182
[ticket/16182] Add core.generate_smilies_modify_rowset
2019-10-20 20:51:21 +02:00
kasimi
6df8b7f367 [ticket/16183] Generate SQL query from array
PHPBB3-16183
2019-10-20 20:50:34 +02:00
Marc Alexander
90d425478b Merge pull request #5715 from marc1706/ticket/16078
[ticket/16078] Try using retries for timeout issue
2019-10-20 20:39:07 +02:00
Marc Alexander
6b6a24ffb3 Merge pull request #5712 from kasimi/ticket/16184
[ticket/16184] Don't entity-encode & character in AJAX response
2019-10-20 17:18:12 +02:00
Marc Alexander
8b6776eed2 [ticket/16078] Use while loop for visit retries
PHPBB3-16078
2019-10-20 15:51:47 +02:00
Marc Alexander
1ba0ae6e85 [ticket/16078] Try using retries for timeout issue
The timeout only seems to occur on the first test so let's see what a
retry can do to help with this issue.

PHPBB3-16078
2019-10-19 17:48:34 +02:00
Marc Alexander
6eb0041453 [ticket/16141] Add assertion for memory limit divided by two
PHPBB3-16141
2019-10-19 17:35:25 +02:00
Marc Alexander
b149e50bf1 [ticket/16141] Add tests for plupload's get_chunk_size()
PHPBB3-16141
2019-10-19 16:11:22 +02:00
kasimi
fed05012c0 [ticket/16184] Don't entity-encode & character in AJAX response
PHPBB3-16184
2019-10-17 13:11:29 +02:00
kasimi
84e0f5a2eb [ticket/16183] Add core.generate_smilies_count_sql_before
PHPBB3-16183
2019-10-17 12:54:42 +02:00
kasimi
ab7345d96d [ticket/16182] Add core.generate_smilies_modify_rowset
PHPBB3-16182
2019-10-17 12:49:30 +02:00
mrgoldy
29957a92ef [ticket/16181] Fix spelling mistake in associated
PHPBB3-16181
2019-10-08 20:19:46 +02:00
mrgoldy
1f669a31a0 [ticket/16181] Enforce string data type
PHPBB3-16181
2019-10-08 20:12:24 +02:00
Jakub Senko
7df6e137f1 [ticket/16140] Use twig
PHPBB3-16140
2019-10-08 09:38:40 +02:00
Jakub Senko
dcf733a1e7 [ticket/16172] Use twig
PHPBB3-16172
2019-10-08 09:37:47 +02:00
Jakub Senko
1aaeb2bca9 [ticket/16174] Improve event desc
PHPBB3-16174
2019-10-08 09:29:22 +02:00
Marc Alexander
c75c13e555 Merge pull request #5671 from 3D-I/ticket/16144
[ticket/16144] Fallback to board's default style
2019-10-07 21:31:42 +02:00
Marc Alexander
4ce8604700 Merge pull request #5706 from senky/ticket/16083
[ticket/16083] Remove common W3C validation errors and warnings
2019-10-07 20:55:21 +02:00
Jakub Senko
281d5435bd [ticket/16172] Only display the label when rank image is not present
PHPBB3-16172
2019-10-07 13:55:18 +02:00
Jakub Senko
9270cca8c2 [ticket/16140] Rename event to ucp_profile_profile_info_birthday_label_append
PHPBB3-16140
2019-10-07 13:49:33 +02:00
Jakub Senko
367b0bc208 [ticket/16174] Add function params to the event
PHPBB3-16174
2019-10-07 13:47:02 +02:00
Jakub Senko
fb7498617c [ticket/16083] Remove "defer" from inline scripts
PHPBB3-16083
2019-10-07 13:44:38 +02:00
Jakub Senko
d9a773cb62 [ticket/16083] Add role=menu
PHPBB3-16083
2019-10-04 16:00:58 +02:00
Jakub Senko
6b85faf7da [ticket/16174] Add core.set_cookie
PHPBB3-16174
2019-10-04 15:46:11 +02:00
Jakub Senko
94653b565f [ticket/16083] Add itemscope
PHPBB3-16083
2019-10-04 15:41:36 +02:00
Jakub Senko
5c73f471f5 [ticket/16083] Remove type=text/javascript
PHPBB3-16083
2019-10-04 15:39:54 +02:00
Jakub Senko
6c71f30723 [ticket/16140] Add ucp_profile_profile_info_birthday_label_after
PHPBB3-16140
2019-10-04 14:30:46 +02:00
Jakub Senko
a34334b74e [ticket/16172] Add group rank label to group view
PHPBB3-16172
2019-10-04 14:19:45 +02:00
3D-I
a84e4b5ab4 [ticket/16144] Provide extra fallback to board's default style for $user
PHPBB3-16144
2019-09-23 18:55:58 +02:00
Marc Alexander
9217b85c68 Merge pull request #5678 from rxu/ticket/16148
[ticket/16148] Add template events to acp_groups.html
2019-09-23 17:37:13 +02:00
Marc Alexander
4ddd3511de Merge pull request #5677 from mrgoldy/ticket/14815
[ticket/14815] Enable contact links in memberlist
2019-09-22 21:16:37 +02:00
Marc Alexander
16941ff495 Merge pull request #5676 from mrgoldy/ticket/15422
[ticket/15422] Remove redundant BBCode helpline
2019-09-22 21:04:36 +02:00
3D-I
942bfd6506 [ticket/16144] As per request
PHPBB3-16144
2019-09-22 20:12:08 +02:00
Marc Alexander
70044669e0 Merge pull request #5665 from 3D-I/ticket/16139
[ticket/16139] Add core.viewtopic_modify_quick_reply_template_vars
2019-09-22 16:59:04 +02:00
Marc Alexander
344b603f42 Merge pull request #5669 from OxCom/ticket/16143
[ticket/16143] Add new events before and after move topics
2019-09-22 16:54:48 +02:00
Marc Alexander
a4edb41e3f Merge pull request #5664 from mrgoldy/ticket/16076
[ticket/16076] addFileFilter to check max file size per mime type
2019-09-22 13:02:19 +02:00
Marc Alexander
53aa79cd29 Merge pull request #5673 from AlfredoRamos/ticket/15643
[ticket/15643] Fix open_basedir warnings
2019-09-22 12:05:01 +02:00
mrgoldy
c9284e1c68 [ticket/16076] camelCase and callback
PHPBB3-16076
2019-09-22 12:04:10 +02:00
3D-I
813a55b01d [ticket/16161] Enable BBcodes without closing tag
PHPBB3-16161
2019-09-22 05:59:02 +02:00
Marc Alexander
0b2a0cc9b4 Merge pull request #5687 from rxu/ticket/16157
[ticket/16157] Fix FORM_INVALID error in the sending email form
2019-09-21 14:33:20 +02:00
Marc Alexander
680acb45e2 Merge pull request #5688 from rxu/ticket/16156
[ticket/16156] Fix bots seeing register and logout links
2019-09-21 14:29:13 +02:00
Marc Alexander
84decb2875 Merge pull request #5692 from stevendegroote/ticket/16159
[ticket/16159] Wrap post times in html time tag
2019-09-21 14:17:11 +02:00
Marc Alexander
c9c7df735c Merge pull request #5693 from marc1706/ticket/16160
[ticket/16160] Add script for generating package json file
2019-09-21 14:11:46 +02:00
Marc Alexander
4e285db71a [ticket/16160] Add missing trailing slash
PHPBB3-16160
2019-09-21 07:51:35 +02:00
Marc Alexander
f0afccb173 Merge branch 'prep-release-3.2.8' into 3.2.x 2019-09-20 22:21:47 +02:00
Marc Alexander
d1822e821a [ticket/16160] Make script compatible with PHP 5.x
PHPBB3-16160
2019-09-19 21:56:41 +02:00
Marc Alexander
28ff362ec0 [ticket/16160] Add script for generating package json file
PHPBB3-16160
2019-09-18 21:49:07 +02:00
stevendegroote
8160a8a1ef [ticket/16159] Use predefined DATE_RFC3339
PHPBB3-16159
2019-09-18 20:58:13 +02:00
stevendegroote
f8967fec78 Merge branch '3.2.x' into ticket/16159 2019-09-17 23:15:54 +02:00
stevendegroote
ce93b22410 [ticket/16159] Wrap post times in html time tag
PHPBB3-16159
2019-09-17 23:01:59 +02:00
rxu
2ef7530857 [ticket/16156] Fix bots seeing register and logout links
PHPBB3-16156
2019-09-13 00:30:58 +07:00
rxu
177cc22683 [ticket/16157] Fix FORM_INVALID error in the sending email form
PHPBB3-16157
2019-09-13 00:25:18 +07:00
3D-I
41728f2258 [ticket/16153] Functional test 2
PHPBB3-16153
2019-09-11 03:44:36 +02:00
3D-I
bcac30c8bb [ticket/16153] Functional test
PHPBB3-16153
2019-09-11 01:46:07 +02:00
3D-I
78c1957e48 [ticket/16153] Enable Emojis and rich text in Topic title
PHPBB3-16153
2019-09-10 06:00:59 +02:00
Marc Alexander
b94464d063 [prep-release-3.2.8] Add migration for 3.2.8 2019-09-08 21:53:52 +02:00
Marc Alexander
08842e6ba5 [prep-release-3.2.8] Update version numbers for 3.2.8 release 2019-09-08 21:52:42 +02:00
Marc Alexander
ae00da85ec [prep-release-3.2.8] Update changelog for 3.2.8 2019-09-08 21:50:46 +02:00
Marc Alexander
6757450a0f [prep-release-3.2.8] Update CREDITS.txt 2019-09-08 21:42:02 +02:00
Marc Alexander
a9a44c295f Merge pull request #5679 from mrgoldy/ticket/16123
[ticket/16123] Show proper banned email message
2019-09-08 21:37:54 +02:00
v12mike
88d94a7c19 [ticket/16150] Make post subject links reliable
Change links that were relative to topic page into absolute links.
Update related test cases.

PHPBB3-16150
2019-09-08 14:23:09 -04:00
Marc Alexander
4abdfd1709 [ticket/16123] Specify ban_id in validate email fixture
PHPBB3-16123
2019-09-08 09:40:56 +02:00
3D-I
6600fc6cad [ticket/16151] Enable Emojis and rich text in forum name
PHPBB3-16151
2019-09-08 03:29:51 +02:00
Marc Alexander
d186df8cb4 [ticket/16123] Purge cache to ensure up to date ban list in tests
PHPBB3-16123
2019-09-07 21:59:17 +02:00
mrgoldy
6e20cd5d22 [ticket/16123] Remove redundant if check
PHPBB3-16123
2019-09-07 21:59:06 +02:00
Marc Alexander
cf898133a4 [ticket/16123] Add tests to cover different ban reasons
PHPBB3-16123
2019-09-07 21:59:01 +02:00
mrgoldy
56e2f1a3f6 [ticket/16123] Check with empty()
PHPBB3-16123
2019-09-07 21:58:47 +02:00
mrgoldy
850ea776d9 [ticket/16123] Show proper banned email message
PHPBB3-16123
2019-09-07 21:58:42 +02:00
v12mike
c31216e493 [ticket/16150] Make post subject link an absolute url
The previous version was relative to a &start= which was
sometimes wrong.

PHPBB3-16150
2019-09-07 04:16:31 -04:00
rxu
32accc18e7 [ticket/16148] Add template events to acp_groups.html
PHPBB3-16148
2019-09-05 19:42:40 +07:00
mrgoldy
ecf4da2df0 [ticket/14815] Enable contact links in memberlist
PHPBB3-14815
2019-09-04 15:49:12 +02:00
mrgoldy
2a32d74d20 [ticket/15422] Remove redundant BBCode helpline
PHPBB3-15422
2019-09-04 15:29:50 +02:00
JoshyPHP
6f6b8d046b [ticket/16147] Updated tokens legend in BBCodes ACP
PHPBB3-16147
2019-09-04 14:01:59 +02:00
Alfredo Ramos
2224a76c24 [ticket/15643] Fix open_basedir warnings
Suppress warnings when trying to call is_link(), is_dir() and is_file()
on the web server root directory when open_basedir is set.

PHPBB3-15643
2019-09-03 17:29:14 -05:00
oxcom
776a7302a4 [ticket/16146] fix event name in comment
PHPBB3-16146
2019-09-03 08:15:00 +02:00
Marc Alexander
954c0ddf3e Merge pull request #54 from phpbb/ticket/security/243
[ticket/security/243] Remove invalid markup from bbcode.html
2019-09-02 21:39:52 +02:00
Marc Alexander
f84cc449b9 [ticket/security/243] Remove invalid markup from bbcode.html
SECURITY-243
2019-09-02 21:18:12 +02:00
oxcom
a1e8282e67 [ticket/16146] New core event: after move forum
PHPBB3-16146
2019-09-02 14:31:07 +02:00
Marc Alexander
4db585a4cb Merge pull request #5666 from mrgoldy/ticket/16084
[ticket/16084] Remove redundant backup radio button
2019-09-01 13:33:00 +02:00
3D-I
3e23adf030 [ticket/16144] Provide extra fallback to board's default style for $user
PHPBB3-16144
2019-09-01 09:20:22 +02:00
Marc Alexander
01e64dbc9c Merge pull request #53 from phpbb/ticket/security/243
[ticket/security/243] Fail silently on unsupported values for font size
2019-08-31 21:31:25 +02:00
Marc Alexander
cc8d6a5a01 [ticket/security/243] Fail silently on unsupported values for font size
SECURITY-243
2019-08-31 18:16:18 +02:00
Marc Alexander
b4f9c44b30 Merge pull request #5070 from rxu/ticket/15467
[ticket/15467] Fix JS for permissions setting
2019-08-31 16:24:45 +02:00
EA117
5bd3b7ec37 [ticket/16141] plupload chunk_size when 'unlimited' is involved.
Change get_chunk_size() calculation to correctly calculate limits without
letting a zero "unlimited" value always win.  Also ensure get_chunk_size()
can only return zero if all of the limits were in fact set to unlimited.

PHPBB3-16141
2019-08-30 07:01:04 -05:00
oxcom
2e7d58c63b [ticket/16143] Add new events before and after move topics
PHPBB3-16143
2019-08-30 09:07:20 +02:00
EA117
bf359d153d [ticket/16141] plupload chunk_size when 'unlimited' is involved.
Change get_chunk_size() calculation to correctly calculate limits without
letting a zero "unlimited" value always win.  Also ensure get_chunk_size()
can only return zero if all of the limits were in fact set to unlimited.

PHPBB3-16141
2019-08-29 00:17:14 -05:00
EA117
29d4367043 [ticket/16141] plupload chunk_size when 'unlimited' is involved.
Change get_chunk_size() calculation to correctly calculate limits without
letting a zero "unlimited" value always win.  Also ensure get_chunk_size()
can only return zero if all of the limits were in fact set to unlimited.

PHPBB3-16141
2019-08-28 23:34:52 -05:00
EA117
73537bcc7d [ticket/16141] plupload chunk_size incorrect when 'unlimited' is involved.
Change get_chunk_size() calculation to correctly calculate limits without
letting a zero "unlimited" value always win.  Also ensure get_chunk_size()
can only return zero if all of the limits were in fact set to unlimited.

PHPBB3-16141
2019-08-28 20:22:33 -05:00
EA117
4cdfb3f4ed [ticket/16141] plupload chunk_size incorrect when 'unlimited' is involved.
Change get_chunk_size() calculation to correctly calculate limits without
letting a zero "unlimited" value always win.  Also ensure get_chunk_size()
can only return zero if all of the limits were in fact set to unlimited.

PHPBB3-16141
2019-08-26 21:07:01 -05:00
mrgoldy
88ec8cdcc6 [ticket/16084] Remove redundant backup radio button
PHPBB3-16084
2019-08-26 00:28:51 +02:00
3D-I
694a90c18e [ticket/16139] Add core.viewtopic_modify_quick_reply_template_vars
PHPBB3-16139
2019-08-25 23:18:08 +02:00
mrgoldy
8bc056ebe6 [ticket/16076] addFileFilter to check max file size per mime type
PHPBB3-16076
2019-08-25 21:24:22 +02:00
Marc Alexander
42e278e1c3 Merge pull request #52 from phpbb/ticket/security/247
[ticket/security/247] Disable loading of local files on client side
2019-08-25 18:28:56 +02:00
Marc Alexander
79be901cea Merge pull request #51 from phpbb/ticket/security/243
[ticket/security/243] Limit size BBCode to int
2019-08-25 18:28:08 +02:00
Marc Alexander
26215517dd Merge pull request #50 from phpbb/ticket/security/246
[ticket/security/246] Check form key no matter if submit is set
2019-08-25 18:27:30 +02:00
Marc Alexander
31aeac5745 Merge pull request #49 from phpbb/ticket/security/244
[security/244] Add form token check to plupload
2019-08-25 18:22:53 +02:00
Marc Alexander
59f489c01f [ticket/security/244] Add missing form parameters to tests
SECURITY-244
2019-08-24 22:23:38 +02:00
Marc Alexander
6c8d006336 [ticket/security/244] Add parse_attachment form token check to posting.php
SECURITY-244
2019-08-24 22:23:38 +02:00
Marc Alexander
56477a8f7c [ticket/security/244] Add form token check to plupload
SECURTIY-244
2019-08-24 22:23:38 +02:00
Marc Alexander
525c940385 Merge pull request #5661 from Crizz0/ticket/16136
[ticket/16136] Reword sentence for account already linked
2019-08-24 22:00:45 +02:00
Marc Alexander
2762b93e4a Merge pull request #5662 from kinerity/ticket/16134
[ticket/16134] Exclude group leaders on group member purge
2019-08-24 21:58:06 +02:00
Christian Schnegelberger
b0465a6202 [ticket/16136] Implement extended explaination
PHPBB3-16136
2019-08-22 18:37:23 +02:00
kinerity
54c684051b [ticket/16134] Exclude group leaders on group member purge
PHPBB3-16134
2019-08-22 14:07:45 +02:00
Christian Schnegelberger
29a77ea10d [ticket/16136] Reword sentence for account already linked
PHPBB3-16136
2019-08-19 20:41:27 +02:00
Marc Alexander
9c15594fe4 [3.2.x] Update version numbers to 3.2.9-dev 2019-08-17 21:44:17 +02:00
Marc Alexander
5080c3e088 Merge branch 'prep-release-3.2.8' into 3.2.x 2019-08-17 21:42:42 +02:00
Marc Alexander
0f1643374e [prep-release-3.2.8] Update changelog for 3.2.8-RC1 2019-08-17 11:24:20 +02:00
Marc Alexander
62a68def57 [prep-release-3.2.8] Add migration for 3.2.8-RC1 2019-08-17 11:21:06 +02:00
Marc Alexander
815cb84ea5 [prep-release-3.2.8] Update version numbers to 3.2.8 2019-08-17 11:19:06 +02:00
Marc Alexander
f3d89e0e08 [prep-release-3.2.8] Update version numbers to 3.2.8-RC1 2019-08-17 11:18:05 +02:00
Marc Alexander
e59af343b8 Merge pull request #5658 from rubencm/ticket/13175
[ticket/13175] Check if account is already linked when using OAuth
2019-08-17 11:13:51 +02:00
Marc Alexander
9a992a4866 Merge pull request #5656 from 3D-I/ticket/16019
[ticket/16019] Deny prosilver's uninstallation
2019-08-17 11:02:08 +02:00
Marc Alexander
2d8c5efbd2 Merge pull request #5657 from Crizz0/ticket/15745
[ticket/15745] Uses {{ CREDIT_LINE }} instead of hardcoded language
2019-08-16 12:24:42 +02:00
Marc Alexander
93a472f08e Merge pull request #5654 from 3D-I/ticket/16080
[ticket/16080] ACP - Provide meaningful error msg for deleted installed style
2019-08-15 10:47:29 +02:00
3D-I
6de0c7bc66 [ticket/16019] Amend explanation
PHPBB3-16019
2019-08-14 20:09:13 +02:00
3D-I
3975983481 [ticket/16019] Short explanation
PHPBB3-16019
2019-08-14 18:47:17 +02:00
rubencm
ecb39bc435 [ticket/13175] Check if account is already linked when using OAuth
PHPBB3-13175
2019-08-14 14:51:19 +00:00
3D-I
a8f2b461d4 [ticket/16019] Short array syntax and tabulation
PHPBB3-16019
2019-08-14 05:29:11 +02:00
3D-I
6a79083c43 [ticket/16019] Rewamp ACP_STYLES_EXPLAIN
PHPBB3-16019
2019-08-14 05:08:26 +02:00
Christian Schnegelberger
14d83139ce [ticket/15745] Use TWIG instead of phpbb template code
PHPBB3-15745
2019-08-13 21:34:16 +02:00
Christian Schnegelberger
64304c8364 [ticket/15745] Uses {{ CREDIT_LINE }} instead of hardcoded language
PHPBB3-15745
2019-08-13 21:05:12 +02:00
3D-I
78f0ec8ea7 [ticket/16080] Remove sprintf()
PHPBB3-16080
2019-08-13 20:55:10 +02:00
Marc Alexander
a4436fb54d Merge pull request #5653 from 3D-I/ticket/16129
[ticket/16129] Enhance attachment's ALT tag
2019-08-13 18:46:26 +02:00
Marc Alexander
b563b7d26f Merge pull request #5655 from marc1706/ticket/16093
[ticket/16093] Ensure attach row is visible after upload with javascript
2019-08-13 18:34:06 +02:00
3D-I
463807fcf0 [ticket/16019] Code's enhancement
PHPBB3-16019
2019-08-13 06:39:46 +02:00
3D-I
66016db386 [ticket/16019] Get rid of the checkbox
PHPBB3-16019
2019-08-13 06:23:12 +02:00
3D-I
aec25f24ae [ticket/16019] Get rid of the uninstall link
PHPBB3-16019
2019-08-13 06:08:25 +02:00
3D-I
6cc16af75f [ticket/16019] Amend code for the better
PHPBB3-16019
2019-08-13 05:32:34 +02:00
3D-I
af84fb71e0 [ticket/16019] Move code to before of confirm box is submitted
PHPBB3-16019
2019-08-13 05:01:09 +02:00
3D-I
3fbdb2f345 [ticket/16019] Deny prosilver's uninstallation
PHPBB3-16019
2019-08-13 04:31:07 +02:00
Marc Alexander
ec306b0301 [ticket/16093] Ensure attach row is visible after upload with javascript
PHPBB3-16093
2019-08-12 22:33:24 +02:00
3D-I
fa5df79515 [ticket/16129] Provide proper HTML markup
PHPBB3-16129
2019-08-12 21:51:52 +02:00
Marc Alexander
89e95941b1 Merge pull request #5650 from 3D-I/ticket/16127
[ticket/16127] Add UI for email $max_chunk_size
2019-08-12 21:40:09 +02:00
3D-I
37de0f96d1 [ticket/16080] Use placeholder
PHPBB3-16080
2019-08-12 21:15:54 +02:00
3D-I
964c212f03 [ticket/16080] Provide a meaningful error message for deleted installed style
PHPBB3-16080
2019-08-12 01:20:33 +02:00
3D-I
1de4a65e58 [ticket/16080] Change location as it should have been.
PHPBB3-16080
2019-08-12 00:49:06 +02:00
3D-I
ebd958c728 [ticket/16080] Provide a back-trace for deleted installed style
That's a very edge case, I am using the same approach done in user.php

PHPBB3-16080
2019-08-11 23:21:48 +02:00
Marc Alexander
4555817a8b [ticket/security/247] Disable loading of local files on client side
SECURITY-247
2019-08-11 21:31:59 +02:00
Marc Alexander
0a5d167441 Merge pull request #5648 from 3D-I/ticket/16109
[ticket/16109] Fix Custom Profile Field visibility's explain
2019-08-11 20:44:53 +02:00
Marc Alexander
b8f76a9330 Merge pull request #5645 from rxu/ticket/16124
[ticket/16124] Fix users search by last visit time in memberlist.php
2019-08-11 20:37:42 +02:00
Marc Alexander
38e5913338 Merge pull request #5637 from EA117/ticket/16054
[ticket/16054] Restore ability to login from any template.
2019-08-11 20:02:11 +02:00
Marc Alexander
48522fd938 Merge pull request #5643 from dark-1/ticket/16113
[ticket/16113] Add core.mcp_topic_modify_sql_ary
2019-08-11 17:36:19 +02:00
Marc Alexander
fe052fccd4 Merge pull request #5642 from dark-1/ticket/16114
[ticket/16114] mcp_topic_post_author_full_{append/prepend}
2019-08-11 17:24:11 +02:00
Marc Alexander
0854c7226d Merge pull request #5651 from 3D-I/ticket/15897
[ticket/15897] Fix Emojis' SQL Error in Attachment Comment
2019-08-11 17:15:46 +02:00
Marc Alexander
5fe3719f13 Merge pull request #5634 from dark-1/ticket/16111
[ticket/16111] Add core.message_history_modify_sql_ary
2019-08-11 17:10:32 +02:00
3D-I
a84dfe716b [ticket/16129] Enhance attachment's ALT tag
PHPBB3-16129
2019-08-11 05:22:48 +02:00
3D-I
d18e547332 [ticket/15897] Fix Emojis' SQL Error in Attachment Comment
PHPBB3-15897
2019-08-10 21:02:45 +02:00
Marc Alexander
997098d02a Merge pull request #5649 from marc1706/ticket/16126
[ticket/16126] Downgrade chocolatey to a working version
2019-08-09 13:27:05 +02:00
Marc Alexander
6e75b8bb3c [ticket/16126] Downgrade chocolatey to a working version
PHPBB3-16126
2019-08-09 11:09:58 +02:00
3D-I
f21c5f9fef [ticket/16127] Amend input validation PHP side
PHPBB3-16127
2019-08-08 21:38:42 +02:00
3D-I
b6e5a5fca8 [ticket/16127] Minimum 1 and rephrasing.
PHPBB3-16127
2019-08-08 01:33:16 +02:00
3D-I
82a04debca [ticket/16127] Add UI for email $max_chunk_size
PHPBB3-16127
2019-08-07 22:28:40 +02:00
Dark❶
2975eef976 [ticket/16114] mcp_topic_post_author_full_{append/prepend}
PHPBB3-16114
2019-08-07 21:05:07 +05:30
Dark❶
159c1d16d8 [ticket/16114] mcp_topic_post_author_full_{append/prepend}
PHPBB3-16114
2019-08-07 20:58:22 +05:30
Marc Alexander
c86e771dfe Merge pull request #5647 from 3D-I/ticket/16119
[ticket/16119] Prevent error message for Poll Title
2019-08-07 14:25:12 +02:00
3D-I
170dc2a63b [ticket/16109] Fix Custom Profile Field visibility's explain
PHPBB3-16109
2019-08-06 02:39:02 +02:00
3D-I
ed7b44d59e [ticket/16119] Prevent error message for Poll Title
PHPBB3-16119
2019-08-06 02:17:13 +02:00
rxu
e8dcf27ee3 [ticket/16124] Search users who have never logged in for lt case only
PHPBB3-16124
2019-08-06 01:15:50 +07:00
rxu
8339269919 [ticket/16124] Fix users search by last visit time in memberlist.php
PHPBB3-16124
2019-08-05 20:12:10 +07:00
Marc Alexander
5307da11b6 Merge pull request #5641 from EA117/ticket/16040
[ticket/16040] Forum list won't display topic icons containing a space.
2019-07-31 07:50:16 +02:00
Derky
6ada02b060 Merge pull request #5628 from marc1706/ticket/16101
[ticket/16101] Add Referrer-Policy header to phpBB's headers
2019-07-30 07:34:13 +02:00
Marc Alexander
a02524e7fc Merge pull request #5633 from kasimi/ticket/16108
[ticket/16108] Add topiclist_row_topic_by_author_before|after
2019-07-29 21:45:13 +02:00
Marc Alexander
207b678896 Merge pull request #5632 from kasimi/ticket/16107
[ticket/16107] Add mcp_move_destination_forum_before|after
2019-07-29 21:43:32 +02:00
Marc Alexander
51205febe3 Merge pull request #5635 from EA117/ticket/16066
[ticket/16066] Fix FORM_INVALID always returned for banned user.
2019-07-29 21:38:13 +02:00
Marc Alexander
6440f97a4f Merge pull request #5638 from marc1706/ticket/16112
[ticket/16112] Update composer dependencies for 3.2.x
2019-07-29 21:30:53 +02:00
Marc Alexander
0ffd0d1924 Merge pull request #5627 from senky/ticket/16097
[ticket/16097] Add core.viewtopic_gen_sort_selects_before
2019-07-29 20:48:23 +02:00
Jakub Senko
cd6a0026d5 [ticket/16097] Correctly classify sort_days as int
PHPBB3-16097
2019-07-29 08:22:19 +02:00
Dark❶
221a91a26f [ticket/16114] mcp_topic_postrow_post_details_author_username_{append/prepend}
PHPBB3-16114
2019-07-29 03:22:04 +05:30
Dark❶
cd75b712d4 [ticket/16113] Add core.mcp_topic_modify_sql_ary
PHPBB3-16113
2019-07-29 03:13:29 +05:30
Dark❶
b30822ea80 [ticket/16114] mcp_topic_postrow_post_details_author_username_{append/prepend}
PHPBB3-16114
2019-07-29 02:57:24 +05:30
EA117
81fd854983 [ticket/16040] Forum list won't display topic icons containing a space.
Change proSilver's viewforum_body.html template to be in line with existing
viewtopic_body.html behavior, in which the topic icon path will be surrounded
in quotes, and presence of a space in the topic icon file name will not fail.

PHPBB3-16040
2019-07-28 16:21:10 -05:00
Marc Alexander
4084939620 [ticket/16112] Update composer dependencies for 3.2.x
PHPBB3-16112
2019-07-28 22:33:47 +02:00
EA117
792882ef63 [ticket/16054] Restore ability to login from any template.
Moving the login form's add_form_key() work into page_header(), so that the
template variables required for presenting a login form are again available
to any template that chooses to consume them.

PHPBB3-16054
2019-07-28 15:15:39 -05:00
EA117
636fc7fad7 [ticket/16066] Fix FORM_INVALID always returned for banned user.
After the introduction of add_form_key() and check_form_key() calls to
login_box() in phpBB 3.2.6 and later, if a banned user attempts to login,
they receive a "The submitted form was invalid. Try submitting again."
Instead of the message indicating that they are banned, and why.

This is happening because check_ban() actually calls into login_box()
recursively, but after the $user->session_id has been switched to a new
session ID for the logging-on user.  Therefore, now that check_form_key()
has been introduced to login_box(), it is impossible for check_form_key()
to succeed during this recursive call.

Fix is to make login_box()'s use of check_form_key() conditional on whether
IN_CHECK_BAN is defined, so that the recursive call does not attempt to
re-validate the form_key again.  Note the form_key has already been
successfully verified by the original call into login_box(), prior to calling
into check_ban() and attempting to recursively call login_box().  So the
protection of why check_form_key() was added is still intact with this change.

PHPBB3-16066
2019-07-28 12:25:54 -05:00
Marc Alexander
b53f95e577 Merge pull request #5494 from mrgoldy/ticket/15885
[ticket/15885] Display group rank on memberlist_body
2019-07-28 17:55:25 +02:00
Nekstati
6b04fda0f3 [ticket/15467] Fix JS for permissions setting
PHPBB3-15467
2019-07-28 22:47:01 +07:00
Marc Alexander
f567b2bb69 Merge pull request #5459 from mrgoldy/ticket/15886
[ticket/15886] Group helper functions
2019-07-28 15:31:09 +02:00
Dark❶
8ac4f955ca [ticket/16111] Add core.message_history_modify_sql_ary
PHPBB3-16111
2019-07-28 18:36:37 +05:30
Dark❶
01d0457f67 [ticket/16111] Add core.message_history_modify_sql_ary
PHPBB3-16111
2019-07-28 18:06:16 +05:30
Dark❶
5cd0aad3c6 [ticket/16111] Add core.message_history_modify_sql_ary
PHPBB3-16111
2019-07-28 17:51:17 +05:30
rxu
4d640555ef [ticket/15467] Fix JS for permissions setting
PHPBB3-15467
2019-07-28 18:34:35 +07:00
Marc Alexander
cf96967677 [ticket/15886] Fix minor code style issues
PHPBB3-15886
2019-07-28 12:21:46 +02:00
Marc Alexander
ae62bc4642 Merge pull request #5575 from rubencm/ticket/14459
[ticket/14459] Check language input for group and fix template logic
2019-07-28 10:38:33 +02:00
rubencm
c281604d0b [ticket/14459] Use language property
PHPBB3-14459
2019-07-27 23:52:01 +00:00
rubencm
acb5794d50 [ticket/14459] Rename variable
PHPBB3-14459
2019-07-27 15:15:58 +00:00
Marc Alexander
65ff149fc9 Merge pull request #5601 from senky/ticket/16013
[ticket/16013] Allow admins to use disallowed username
2019-07-27 16:20:53 +02:00
Marc Alexander
79bcb20ac5 Merge pull request #5626 from cpeel/ticket/16096
[ticket/16096] Use InnoDB fulltext limits for InnoDB tables
2019-07-27 16:18:37 +02:00
Marc Alexander
179f5c75ed [ticket/16108] Use twig syntax in template event
PHPBB3-16108
2019-07-27 16:04:48 +02:00
Marc Alexander
1a00b4a565 [ticket/16107] Use twig syntax for event
PHPBB3-16107
2019-07-27 16:02:01 +02:00
Marc Alexander
d06e9745c2 Merge pull request #5631 from kasimi/ticket/16106
[ticket/16106] Add core.mcp_main_before
2019-07-27 14:57:30 +02:00
Marc Alexander
1b4f82cd1d Merge pull request #5630 from 3D-I/ticket/16103
[ticket/16103] Add core.pm_modify_message_subject
2019-07-27 14:37:58 +02:00
Marc Alexander
978d1976b0 Merge pull request #5629 from 3D-I/ticket/16102
[ticket/16102] Add core.posting_modify_post_subject
2019-07-27 14:30:30 +02:00
kasimi
7a54701612 [ticket/16108] Add topiclist_row_topic_by_author_before|after
PHPBB3-16108
2019-07-23 21:21:54 +02:00
kasimi
2bb08f853e [ticket/16107] Add mcp_move_destination_forum_before|after
PHPBB3-16107
2019-07-23 21:19:05 +02:00
Marc Alexander
b59e101d8d Merge pull request #5610 from espipj/ticket/16070
[ticket/16070] Remove support for WebSTAR and Xitami
2019-07-23 21:18:22 +02:00
kasimi
a12d93b8b8 [ticket/16106] Add core.mcp_main_before
PHPBB3-16106
2019-07-23 21:13:08 +02:00
Marc Alexander
a4ad94ef5c Merge pull request #5624 from senky/ticket/16089
[ticket/16089] Add core.confirm_box_ajax_before
2019-07-23 21:08:50 +02:00
Nuno Lopes
d3c3dc24fe [ticket/15982] fix warning with PHP >= 7.2 with Q&A captcha plugin
PHPBB3-15982
2019-07-22 22:16:21 +02:00
Marc Alexander
7c559b2912 Merge pull request #5609 from senky/ticket/15946
[ticket/15946] Add core.posting_modify_row_data
2019-07-22 21:40:02 +02:00
Marc Alexander
d738397e6f Merge pull request #5606 from senky/ticket/15976
[ticket/15976] Reset user_passchg only if user changed password
2019-07-22 21:31:53 +02:00
Marc Alexander
6559bb9511 Merge pull request #5572 from dark-1/ticket/16023
[ticket/16023] Add core.message_history_modify_template_vars
2019-07-22 20:55:00 +02:00
Jakub Senko
90dcd1a0f4 [ticket/16089] Add core.confirm_box_ajax_before
PHPBB3-16089
2019-07-22 08:19:32 +02:00
Marc Alexander
0e2c927551 Merge pull request #5625 from marc1706/ticket/16093
[ticket/16093] Do not display attach-row-tpl
2019-07-21 22:24:48 +02:00
Marc Alexander
091e195717 Merge pull request #5571 from dark-1/ticket/16021
[ticket/16021] Recognize number of Template Event instances in events.md file
2019-07-21 21:38:23 +02:00
Marc Alexander
17c6cd3676 Merge pull request #5562 from senky/ticket/15961
[ticket/15961] Use newer TLS in SMTP
2019-07-21 21:12:00 +02:00
Marc Alexander
17ef8a0369 [ticket/16093] Do not display attach-row-tpl
PHPBB3-16093
2019-07-21 20:47:16 +02:00
3D-I
2f8b9fb549 [ticket/16103] Add core.pm_modify_message_subject
PHPBB3-16103
2019-07-20 20:35:25 +02:00
3D-I
b9f78d64d7 [ticket/16102] Add core.posting_modify_post_subject
PHPBB3-16102
2019-07-20 20:24:46 +02:00
Marc Alexander
30f8e5d638 [ticket/16101] Add Referrer-Policy header to phpBB's headers
PHPBB3-16101
2019-07-20 09:43:24 +02:00
Marc Alexander
f75577e5f8 [ticket/security/243] Use bbcode.html like formatting
SECURITY-243
2019-07-18 22:32:19 +02:00
Marc Alexander
c934d3fcfd [ticket/security/243] Limit size BBCode to 4 numeric characters
SECURITY-243
2019-07-17 22:02:32 +02:00
Marc Alexander
b5a997ce18 [ticket/security/243] Limit size values to supported values
SECURITY-243
2019-07-16 20:44:12 +02:00
Marc Alexander
cdf4f5ef85 [ticket/security/246] Check form key no matter if submit is set
SECURITY-246
2019-07-14 16:46:48 +02:00
Jakub Senko
1dbb570284 [ticket/16097] Add core.viewtopic_gen_sort_selects_before
PHPBB3-16097
2019-07-08 09:00:30 +02:00
Casey Peel
e33e572741 [ticket/16096] Use InnoDB fulltext limits for InnoDB tables
The max and min search length for the MySQL database vary based on the
engine for the underlying table. For MyISAM tables, the variables are
ft_max_word_len and ft_min_word_len, but for InnoDB tables the
variables are innodb_ft_max_token_size and innodb_ft_min_token_size.

Take the posts table type into account when setting the max and min
search length.

PHPBB3-16096
2019-07-08 05:58:41 +00:00
rubencm
6787f6706e [ticket/14459] Fix
PHPBB3-14459
2019-06-25 16:37:16 +00:00
rubencm
0184865c5c [ticket/14459] Uppercase string to try to match language keys
PHPBB3-14459
2019-06-25 16:33:38 +00:00
rubencm
e0395fa2f2 [ticket/14459] Uppercase string to try to match language keys
PHPBB3-14459
2019-06-25 16:29:51 +00:00
rubencm
191008daff [ticket/14459] Remove unused code
PHPBB3-14459
2019-06-25 16:23:59 +00:00
rubencm
ef3b2a3f24 [ticket/14459] Use twig
PHPBB3-14459
2019-06-25 16:20:00 +00:00
rubencm
6876fcb46a [ticket/14459] Remove unused variables
PHPBB3-14459
2019-06-25 15:59:12 +00:00
rubencm
621747c7bc [ticket/14459] Remove inline css
PHPBB3-14459
2019-06-25 15:57:44 +00:00
Marc Alexander
9e9bdb69b5 Merge pull request #5623 from marc1706/ticket/16078
[ticket/16078] Use headless chrome and disable gpu acceleration
2019-06-23 10:49:52 +02:00
rubencm
caa767e5a8 [ticket/14459] Fix template logic
PHPBB3-14459
2019-06-21 23:32:22 +00:00
rubencm
caf5ee42fd [ticket/14459] Fix rebase
PHPBB3-14459
2019-06-20 01:46:52 +00:00
rubencm
d0b50b9ca1 [ticket/14459] Check language input for group
PHPBB3-14459
2019-06-20 01:45:36 +00:00
Marc Alexander
3002c1b22a [ticket/16078] Add use statement for ChromeOptions
PHPBB3-16078
2019-06-19 08:29:34 +02:00
Marc Alexander
1be392a16a [ticket/16078] Use headless chrome and disable gpu acceleration
This is to hopefully get rid of some of the issues with timeouts.

PHPBB3-16078
2019-06-19 07:32:52 +02:00
Marc Alexander
ab6fd30d0d Merge pull request #5608 from senky/ticket/15967
[ticket/15967] Improve admin activate email wording
2019-06-17 15:31:42 +02:00
Marc Alexander
70f09a60c7 Merge pull request #5620 from senky/ticket/16075
[ticket/16075] Fix warning in PM filter
2019-06-17 15:27:45 +02:00
Marc Alexander
a393a23a08 Merge pull request #5616 from JoshyPHP/ticket/16074
[ticket/16074] Fix Twemoji URL for ZWJ sequences
2019-06-17 13:54:38 +02:00
Marc Alexander
7f50c26941 Merge pull request #5622 from 3D-I/ticket/15211
[ticket/15211] Fix Emoji characters in forum name
2019-06-17 10:26:04 +02:00
Marc Alexander
2a0b38cac0 Merge pull request #5604 from senky/ticket/15984
[ticket/15984] Use private cache-control
2019-06-17 10:20:36 +02:00
Marc Alexander
ca705af91d Merge pull request #5602 from senky/ticket/16003
[ticket/16003] Fix num_posts sync
2019-06-17 10:14:35 +02:00
Marc Alexander
c0917c2862 Merge pull request #5600 from senky/ticket/16047
[ticket/16047] Improve wording for PM permissions
2019-06-17 10:11:31 +02:00
Marc Alexander
cfd4aab7b7 Merge pull request #5599 from mrgoldy/ticket/16068
[ticket/16068] Adjust DocBlock @param's
2019-06-17 10:06:11 +02:00
Marc Alexander
951b097761 Merge pull request #5597 from senky/ticket/16065
[ticket/16065] Add user_ip to SQL query
2019-06-17 09:59:57 +02:00
Marc Alexander
46ea774950 Merge pull request #5595 from rxu/ticket/16063
[ticket/16063] Remove board_dst config value since unused
2019-06-17 09:34:39 +02:00
Marc Alexander
de308ea321 Merge pull request #5594 from rxu/ticket/16061
[ticket/16061] Migrator to drop unique indexes when needed
2019-06-17 09:02:54 +02:00
3D-I
608cf00aea [ticket/15211] Wording
PHPBB3-15211
2019-06-12 15:05:12 +02:00
3D-I
aad8ffff51 [ticket/15211] Fix Emoji characters in forum name
PHPBB3-15211
2019-06-11 05:44:17 +02:00
Jakub Senko
79d033082e [ticket/16047] Improve wording for PM permissions
PHPBB3-16047
2019-06-08 20:03:51 +02:00
Marc Alexander
7ca740bec8 Merge pull request #5574 from dark-1/ticket/16025
[ticket/16025] Add 2 template events *_author_username_{append/prepend}
2019-06-07 23:46:41 +02:00
Jakub Senko
a91b37d8f2 [ticket/16075] Fix warning in PM filter
PHPBB3-16075
2019-06-07 16:12:02 +02:00
Marc Alexander
4babe93a5d Merge pull request #5573 from dark-1/ticket/16024
[ticket/16024] Add core.topic_review_modify_sql_ary
2019-06-06 22:27:00 +02:00
Marc Alexander
4f44145301 Merge pull request #5603 from senky/ticket/16000
[ticket/16000] Link to php's date()
2019-06-06 21:59:25 +02:00
Marc Alexander
d673527331 Merge pull request #5617 from marc1706/ticket/16078
[ticket/16078] Use chrome as webdriver
2019-06-06 21:51:05 +02:00
Marc Alexander
34a6493fb5 [ticket/16078] Use chrome as webdriver
PHPBB3-16078
2019-06-06 18:57:01 +02:00
rxu
ed2123fa61 [ticket/16063] Move new migration file to 32x folder
PHPBB3-16063
2019-06-06 21:33:06 +07:00
Marc Alexander
ddc9a4dff6 Merge pull request #5615 from 3D-I/ticket/16073
[ticket/16073] Fix warning in ACP version check
2019-06-05 21:22:26 +02:00
Marc Alexander
5e4f4b2dc6 Merge pull request #5612 from senky/ticket/15932
[ticket/15932] Disallow deleting locked attachments
2019-06-04 22:21:45 +02:00
Jakub Senko
25176d4588 [ticket/15967] Improve admin activate email wording
PHPBB3-15967
2019-06-04 20:07:12 +02:00
Jakub Senko
fe796267c1 [ticket/16000] Do not open links in a new tab
PHPBB3-16000
2019-06-04 20:05:06 +02:00
JoshyPHP
a563b616e0 [ticket/16074] Fix Twemoji URL for ZWJ sequences
PHPBB3-16074
2019-06-04 18:21:11 +02:00
Marc Alexander
0d4cd552fe Merge pull request #5607 from senky/ticket/15974
[ticket/15974] Remove Back to previous page link
2019-06-03 23:10:46 +02:00
Marc Alexander
3632a0f4f2 Merge pull request #5613 from 3D-I/ticket/16071
[ticket/16071] Undefined index for custom attachments groups
2019-06-03 21:18:40 +02:00
3D-I
0a89c53658 [ticket/16073] Fix warning in ACP version check
PHPBB3-16073
2019-06-01 00:25:24 +02:00
3D-I
fa1952fd08 [ticket/16071] Undefined index for custom attachments groups
PHPBB3-16071
2019-05-29 09:03:55 +02:00
Jakub Senko
9e985af1e8 [ticket/15932] Disallow deleting locked attachments
PHPBB3-15932
2019-05-28 10:15:59 +02:00
espipj
0c3ff0419c [ticket/16070] Remove unused code
PHPBB3-16070
2019-05-27 21:26:44 +01:00
Marc Alexander
97e92f52d7 Merge pull request #5592 from 3D-I/ticket/16055
[ticket/16055] Fix Oauth's logins in 3.2.x
2019-05-27 21:19:05 +02:00
Marc Alexander
95ab325251 Merge pull request #5593 from JoshyPHP/ticket/16053
[ticket/16053] Update s9e/text-formatter
2019-05-27 20:44:11 +02:00
Jakub Senko
d0ef8695e4 [ticket/15946] Add core.posting_modify_row_data
PHPBB3-15946
2019-05-27 16:26:23 +02:00
Jakub Senko
9c47e0eee8 [ticket/15974] Remove Back to previous page link
PHPBB3-15974
2019-05-27 15:49:49 +02:00
Jakub Senko
11475e5366 [ticket/15976] Reset user_passchg only if user changed password
PHPBB3-15976
2019-05-27 15:40:55 +02:00
Jakub Senko
a614e646d1 [ticket/15984] Use private cache-control
PHPBB3-15984
2019-05-27 15:31:35 +02:00
Jakub Senko
a535b6449a [ticket/16000] Link to php's date()
PHPBB3-16000
2019-05-24 15:25:28 +02:00
Jakub Senko
2c281e50e0 [ticket/16003] Fix num_posts sync
PHPBB3-16003
2019-05-24 15:21:56 +02:00
Jakub Senko
2b1102e372 [ticket/16013] Allow admins to use disallowed username
PHPBB3-16013
2019-05-24 15:17:18 +02:00
mrgoldy
c01e604998 [ticket/16068] Adjust DocBlock @param's
PHPBB3-16068
2019-05-24 14:43:10 +02:00
Marc Alexander
f6beabc593 Merge pull request #5598 from marc1706/ticket/16067
[ticket/16067] Specify trusty build environment
2019-05-23 22:06:50 +02:00
Marc Alexander
964cc30548 [ticket/16067] Specify trusty build environment
PHPBB3-16067
2019-05-23 19:59:13 +02:00
Jakub Senko
bba9de8c9c [ticket/16065] Add user_ip to SQL query
PHPBB3-16065
2019-05-23 09:14:45 +02:00
rxu
e3b76bce37 [ticket/16063] Remove board_dst config value since unused
PHPBB3-16063
2019-05-18 17:28:01 +07:00
rxu
84ef70b42f [ticket/16061] Migrator to drop unique indexes when needed
PHPBB3-16061
2019-05-18 02:08:30 +07:00
JoshyPHP
3208c41da8 [ticket/16053] Update s9e/text-formatter
PHPBB3-16053
2019-05-17 15:37:20 +02:00
3D-I
72be8e0870 [ticket/16055] Fix Oauth's redirects
Via forum, memberlist, topic or post etc..

PHPBB3-16055
2019-05-16 21:53:43 +02:00
Marc Alexander
8142257e31 Merge pull request #5587 from 3D-I/ticket/16048
[ticket/16048] Fix restore backup from ACP
2019-05-14 17:24:31 +02:00
Marc Alexander
fdc04cb9ec Merge pull request #5588 from rxu/ticket/16050
[ticket/16050] Fix PHP warning in MCP Banning tab on PHP 7.2+
2019-05-14 17:18:35 +02:00
Marc Alexander
d6a6e86975 Merge pull request #5590 from cclauss/patch-1
[ticket/16058] Travis CI: "sudo: required" not longer is
2019-05-14 11:42:12 +02:00
cclauss
275d6ee050 [ticket/16058] Travis CI: "sudo: required" not longer is
[Travis are now recommending removing the __sudo__ tag](
https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration).

"_If you currently specify __sudo:__ in your __.travis.yml__, we recommend
removing that configuration_"

PHPBB3-16058
2019-05-13 21:54:03 +02:00
rxu
7c6e660694 [ticket/16050] Fix PHP warning in MCP Banning tab on PHP 7.2+
PHPBB3-16050
2019-05-11 10:45:34 +07:00
Dark❶
fd0d9e9967 [ticket/16025] Add 2 template events *_author_username_{append/prepend}
PHPBB3-16025
2019-05-07 20:56:30 +05:30
Dark❶
5c42851730 [ticket/16024] Add core.topic_review_modify_sql_ary
PHPBB3-16024
2019-05-07 20:49:56 +05:30
Dark❶
411f4ac817 [ticket/16023] Add core.message_history_modify_template_vars
PHPBB3-16023
2019-05-07 20:46:22 +05:30
3D-I
abc9d746c7 [ticket/16048] Fix restore backup from ACP
PHPBB3-16048
2019-05-07 00:03:06 +02:00
Marc Alexander
61bdccbfd8 Merge branch 'prep-release-3.2.7' into 3.2.x 2019-05-05 10:35:17 +02:00
Marc Alexander
07767ab3e6 [prep-release-3.2.7] Add 3.2.7 migration 2019-05-04 15:34:18 +02:00
Marc Alexander
9434e4fa88 [prep-release-3.2.7] Update version numbers to 3.2.7 2019-05-04 15:26:45 +02:00
Marc Alexander
294e87015f [3.2.x] Update version numbers to 3.2.8-dev 2019-05-03 23:12:54 +02:00
Marc Alexander
22e3c67864 Merge branch 'prep-release-3.2.7' into 3.2.x 2019-05-03 23:11:24 +02:00
Marc Alexander
0d3b393ca6 [prep-release-3.2.7] Add changelog for 3.2.7-RC1 2019-05-02 22:57:33 +02:00
Marc Alexander
af7412f3cb [prep-release-3.2.7] Add migration for 3.2.7-RC1 2019-05-02 22:55:55 +02:00
Marc Alexander
417e18b39d Merge pull request #5581 from marc1706/ticket/16042
[ticket/16042] Use S_LOGIN_REDIRECT to output login form token
2019-05-02 22:54:47 +02:00
Marc Alexander
4b6bdbe558 [ticket/16042] Adjust positioning and add comment to overwrite
PHPBB3-16042
2019-05-02 21:29:11 +02:00
Marc Alexander
3c822556c1 [ticket/16042] Use S_LOGIN_REDIRECT to output login form token
PHPBB3-16042
2019-05-02 21:21:07 +02:00
Marc Alexander
dc10853356 [prep-release-3.2.7] Update version numbers to 3.2.7 2019-05-02 20:53:02 +02:00
Marc Alexander
0bf0f4d32b [prep-release-3.2.7] Update version numbers for 3.2.7-RC1 2019-05-02 20:52:13 +02:00
Marc Alexander
ccf5575dd8 Merge pull request #5577 from JoshyPHP/ticket/16034
[ticket/16034] Fix [url=] links being incorrectly shortened
2019-05-02 19:41:32 +02:00
Marc Alexander
21b5256740 Merge pull request #5578 from rubencm/ticket/16036
[ticket/16036] Add S_FORM_TOKEN_LOGIN to all login forms
2019-05-02 19:39:11 +02:00
Marc Alexander
b2f3f72eca Merge pull request #5579 from VSEphpbb/ticket/16037
[ticket/16037] Fix UCP PM ViewFolder PHP Notice error
2019-05-01 22:20:04 +02:00
Marc Alexander
eb1896e6f7 Merge pull request #5580 from mrgoldy/ticket/16039
[ticket/16039] Global dispatcher
2019-05-01 20:33:12 +02:00
mrgoldy
af6dcdd6e6 [ticket/16039] Global dispatcher
PHPBB3-16039
2019-05-01 15:54:48 +02:00
Matt Friedman
70b7777743 [ticket/16037] Fix UCP PM ViewFolder PHP Notice error
PHPBB3-16037
2019-04-30 15:18:07 -07:00
rubencm
540a6b7d2e [ticket/16036] Add S_FORM_TOKEN_LOGIN to all login forms
PHPBB3-16036
2019-04-29 16:13:26 +00:00
Marc Alexander
055d7658db Merge branch 'prep-release-3.2.6' into 3.2.x 2019-04-29 08:35:30 +02:00
Marc Alexander
2575b499a3 [prep-release-3.2.6] Update Changelog and add missing preg_match 2019-04-28 18:15:44 +02:00
Marc Alexander
d54c43ae8f [prep-release-3.2.6] Update changelog for 3.2.6 2019-04-28 09:27:54 +02:00
JoshyPHP
06a95487fe [ticket/16034] Fix [url=] links being incorrectly shortened
PHPBB3-16034
2019-04-28 02:43:05 +02:00
Marc Alexander
bec047586a [prep-release-3.2.6] Add migration to 3.2.6 2019-04-27 14:41:50 +02:00
Marc Alexander
37e5457dcf [prep-release-3.2.6] Update to 3.2.6 version 2019-04-27 14:34:33 +02:00
Marc Alexander
1843e4f6b4 [prep-release-3.2.6] Fix expected data in avatar manager test 2019-04-27 13:52:37 +02:00
Marc Alexander
f75dd1628c Merge pull request #48 from phpbb/ticket/security/228
[ticket/security/228] Add form token to login box
2019-04-27 13:26:36 +02:00
Marc Alexander
f3c4587d47 Merge pull request #47 from phpbb/ticket/security/233
[ticket/security/233] Make smtp_password and smtp_username dynamic
2019-04-27 13:24:16 +02:00
Marc Alexander
db43961de6 Merge pull request #46 from phpbb/ticket/security/231
[ticket/security/231] Disable remote avatar functionality & add warning
2019-04-27 13:23:07 +02:00
Marc Alexander
308dd49bb9 Merge pull request #45 from phpbb/ticket/security/234
[ticket/security/234] Add URL validation for input fields & main site URL
2019-04-27 13:21:55 +02:00
Marc Alexander
3075d2fecc Merge pull request #44 from phpbb/ticket/security/235
Ticket/security/235 Wildcard char count in search
2019-04-27 13:19:35 +02:00
Marc Alexander
36840fb2e4 Merge pull request #5576 from marc1706/ticket/16027
[ticket/16027] Force clearing of cache folder on install for functional
2019-04-27 13:14:38 +02:00
Marc Alexander
2353ad11f2 [ticket/security/235] Update search native tests
SECURITY-235
2019-04-26 23:39:51 +02:00
Derky
b836898016 [ticket/security/228] Add form token to login box
SECURITY-228
2019-04-26 12:11:52 +02:00
Derky
da9910850a [ticket/security/235] Only allow one wildcard in the search query to limit the database load
SECURITY-235
2019-04-26 00:56:48 +02:00
Derky
8a73eb5f0f [ticket/security/235] Use whitespace instead of word boundary regex to remove wildcards
This fixes removing the wildcard in the following search query: *.test
SECURITY-235
2019-04-26 00:54:14 +02:00
Derky
fd195fba21 [ticket/security/235] Remove non trailing wildcards from search keywords
Database indexes are only used if wildcards are used at the end.
SECURITY-235
2019-04-25 21:51:04 +02:00
Marc Alexander
58f33921b5 [ticket/16027] Force clearing of cache folder on install for functional
PHPBB3-16027
2019-04-24 21:05:55 +02:00
Marc Alexander
71d66832c0 [ticket/security/233] Fix invalid INSERT INTO
SECURITY-233
2019-04-21 23:17:39 +02:00
Marc Alexander
8e5a0c81ef [ticket/security/233] Make smtp_password and smtp_username dynamic
SECURITY-233
2019-04-21 22:22:35 +02:00
Marc Alexander
bd2ddc1d2e [3.2.x] Update versions to 3.2.7-dev 2019-04-21 00:17:25 +02:00
Marc Alexander
446c0459c9 Merge branch 'prep-release-3.2.6' into 3.2.x 2019-04-21 00:16:06 +02:00
Marc Alexander
2b0645b7b9 [prep-release-3.2.6] Update changelog for 3.2.6-RC1 2019-04-20 23:07:54 +02:00
Marc Alexander
3b2119e535 [prep-release-3.2.6] Add migration for 3.2.6-RC1 2019-04-20 23:06:07 +02:00
Marc Alexander
c3f7d1bd19 [prep-release-3.2.6] Update version numbers for 3.2.6 release process 2019-04-20 22:59:46 +02:00
Marc Alexander
f9c165d2c1 [prep-release-3.2.6] Update version numbers for 3.2.6-RC1 2019-04-20 22:58:53 +02:00
Marc Alexander
ff72df5218 Merge pull request #5570 from dark-1/ticket/16020
[ticket/16020] Fix some mistake from PHPBB3-15827
2019-04-20 22:54:48 +02:00
Marc Alexander
4b382e93f0 Merge pull request #5567 from marc1706/ticket/16018
[ticket/16018] Update composer to 1.8.5, symfony & dependencies to latest
2019-04-20 22:43:45 +02:00
Dark❶
37e3e9711c [ticket/16025] Add 2 template events *_author_username_{append/prepend}
PHPBB3-16025
2019-04-20 16:44:03 +05:30
Dark❶
0a3fb27d47 [ticket/16023] Add core.message_history_modify_template_vars
PHPBB3-16023
2019-04-20 15:42:03 +05:30
Dark❶
6098503080 [ticket/16025] Add 2 template events *_author_username_{append/prepend}
PHPBB3-16025
2019-04-20 15:35:01 +05:30
Dark❶
00a260dc00 [ticket/16025] Add 2 template events *_author_username_{append/prepend}
PHPBB3-16025
2019-04-20 15:30:24 +05:30
Dark❶
b76e5a9c18 [ticket/16023] Add core.message_history_modify_template_vars
PHPBB3-16023
2019-04-20 15:02:07 +05:30
Dark❶
a0dfc35cb9 [ticket/16024] Add core.topic_review_modify_sql_ary
PHPBB3-16024
2019-04-20 15:00:32 +05:30
Dark❶
d999e9bf8b [ticket/16024] Add core.topic_review_modify_sql_ary
PHPBB3-16024
2019-04-20 14:48:10 +05:30
Dark❶
f7a208d103 [ticket/16023] Add core.message_history_modify_template_vars
PHPBB3-16023
2019-04-20 14:38:25 +05:30
Dark❶
f2489a4c00 [ticket/16021] Recognize number of Template Event instances in events.md file
PHPBB3-16021
2019-04-19 21:57:23 +05:30
Dark❶
22ca7474ea [ticket/16021] Recognize number of Template Event instances in events.md file
PHPBB3-16021
2019-04-19 19:06:40 +05:30
Dark❶
034f1c2355 [ticket/16020] Fix some mistake from PHPBB3-15827
PHPBB3-16020
2019-04-19 12:23:32 +05:30
Jakub Senko
5262e3bb55 [ticket/15961] Improve smtp server explanation lang
PHPBB3-15961
2019-04-18 09:43:56 +02:00
Marc Alexander
f905b40ce8 Merge pull request #5559 from mrgoldy/ticket/16007
[ticket/16007] Show ban message for OAuth login
2019-04-17 20:45:19 +02:00
Marc Alexander
10ed7c569e [ticket/16018] Update composer to 1.8.5, symfony & dependencies to latest
PHPBB3-16018
2019-04-17 09:31:39 +02:00
Marc Alexander
c8ff4b4109 Merge pull request #5513 from mrgoldy/ticket/15942
[ticket/15942] Allow array in confirm_box title
2019-04-17 09:26:11 +02:00
Marc Alexander
dc5a167c42 [ticket/security/231] Disable remote avatar functionality & add warning
SECURITY-231
2019-04-17 08:54:51 +02:00
Marc Alexander
0e38bebaa5 [ticket/15942] Add language to compatibility globals & use in confirm_box
PHPBB3-15942
2019-04-17 08:22:44 +02:00
DSR!
423e9c4ac0 [ticket/16015] Fix core.ucp_profile_avatar_upload_validation docblock
PHPBB3-16015
2019-04-16 20:52:35 -03:00
mrgoldy
a16ebf04d3 [ticket/15942] Past tense
PHPBB3-15942
2019-04-16 10:38:26 +02:00
mrgoldy
2131adac5c [ticket/15942] Update DocBlock
PHPBB3-15942
2019-04-16 10:15:01 +02:00
DSR!
c631db62d5 [ticket/16015] Add new hook core.ucp_profile_avatar_upload_validation
PHPBB3-16015
2019-04-15 01:18:19 -03:00
DSR!
b8de0fc47e [ticket/16015] Add new hook core.ucp_profile_avatar_upload_validation
PHPBB3-16015
2019-04-14 19:36:17 -03:00
Marc Alexander
f1c2e26f0a [ticket/security/234] Add test for URL validation
SECURITY-234
2019-04-14 14:11:36 +02:00
Marc Alexander
84ea5d7148 [ticket/security/234] Add URL validation for input fields
SECURITY-234
2019-04-14 14:07:22 +02:00
Marc Alexander
507efee633 Merge pull request #5534 from battye/ticket/15917
[ticket/15917] Unapproved topics message for forums with no other posts
2019-04-13 12:38:44 +02:00
Marc Alexander
f0ffb25a24 Merge pull request #5484 from rxu/ticket/15915
[ticket/15915] Add template events to posting_attach_body.html
2019-04-12 22:04:40 +02:00
Marc Alexander
7a93730aab Merge pull request #5561 from marc1706/ticket/16010
[ticket/16010] Enforce alphabetical order for events in events.md
2019-04-12 20:46:41 +02:00
Marc Alexander
728b5d2b44 [ticket/16010] Fix typo in event descriptions
PHPBB3-16010
2019-04-11 22:04:15 +02:00
Marc Alexander
832c19314a [ticket/16010] Fix typos in event descriptions
PHPBB3-16010
2019-04-11 22:01:37 +02:00
Marc Alexander
c3ecaa35cd [ticket/16010] Enforce alphabetical order for events in events.md
PHPBB3-16010
2019-04-11 22:01:36 +02:00
Jakub Senko
fe22deb5d5 [ticket/15961] Use newer TLS in SMTP
PHPBB3-15961
2019-04-08 14:37:42 +02:00
battye
d3564a4a07 [ticket/15917] Remove br tags
PHPBB3-15917
2019-04-07 14:30:26 +00:00
Marc Alexander
cc7c1c8447 Merge pull request #5516 from toxyy/ticket/15944
[ticket/15944] Add core.posting_modify_quote_attributes
2019-04-07 11:45:55 +02:00
Marc Alexander
f51ef14e44 Merge pull request #5518 from 3D-I/ticket/15948
[ticket/15948] Add core.mcp_change_topic_type_after/before
2019-04-07 11:41:48 +02:00
Marc Alexander
29abad3dd4 Merge pull request #5519 from AlfredoRamos/ticket/15949
[ticket/15949] Add ucp_profile_signature_posting_editor_options_prepend
2019-04-07 11:13:44 +02:00
Marc Alexander
1bae0513a8 Merge pull request #5538 from 3D-I/ticket/15972
[ticket/15972] Add core.markread_after
2019-04-07 11:05:42 +02:00
Marc Alexander
2728921d6c Merge pull request #5552 from kasimi/ticket/15995
[ticket/15995] Add core.memberlist_modify_sort_pagination_params
2019-04-07 11:01:33 +02:00
Marc Alexander
3f60759a49 Merge pull request #5554 from 3D-I/ticket/16001
[ticket/16001] Append data to the OAuth's redirect URL
2019-04-07 10:58:33 +02:00
Marc Alexander
21791971aa Merge pull request #5501 from marc1706/ticket/15928
[ticket/15928] Remove support for downloading backups
2019-04-07 10:45:08 +02:00
Marc Alexander
6f573f710d Merge pull request #5556 from 3D-I/ticket/16004
[ticket/16004] Add check-in for Emojis in Username
2019-04-07 10:35:33 +02:00
Marc Alexander
be86694305 Merge pull request #5558 from mrgoldy/ticket/16006
[ticket/16006] Create unique ID's for OAuth (un)linking
2019-04-07 10:28:52 +02:00
Marc Alexander
b693798a96 Merge pull request #5560 from 3D-I/ticket/16009
[ticket/16009] Display OAuth login's buttons in a row
2019-04-07 10:23:43 +02:00
Marc Alexander
72f748f11f Merge pull request #5537 from senky/ticket/15970
[ticket/15970] Add core.message_admin_form_submit_before
2019-04-07 10:11:35 +02:00
3D-I
202fa648eb [ticket/16009] Display OAuth login's buttons in a row
PHPBB3-16009
2019-04-03 00:39:50 +02:00
mrgoldy
562601fd9b [ticket/16007] Correct check_ban_test to boolean
PHPBB3-16007
2019-04-02 18:01:59 +02:00
mrgoldy
fc62538733 [ticket/16007] No strict comparison against "false"
PHPBB3-16007
2019-04-02 17:25:00 +02:00
mrgoldy
68434e6dbc [ticket/16007] Show ban message for OAuth login
PHPBB3-16007
2019-04-02 15:12:52 +02:00
mrgoldy
af994e7a39 [ticket/16006] Create unique ID's for OAuth (un)linking
PHPBB3-16006
2019-04-02 10:59:36 +02:00
3D-I
7160c67b2c [ticket/16004] Add tests/functions/validate_username_test.php
PHPBB3-16004
2019-04-01 23:14:09 +02:00
Marc Alexander
83774be7a7 [ticket/15970] Add empty line before event docblock
PHPBB3-15970
2019-04-01 20:28:53 +02:00
Marc Alexander
433803287a Merge pull request #5541 from senky/ticket/15978
[ticket/15978] Add core.index_mark_notification_after
2019-03-31 11:45:18 +02:00
Marc Alexander
b798ab6f42 Merge pull request #5524 from hanakin/ticket/15953
[ticket/15953] add reported pm message borders
2019-03-31 11:09:07 +02:00
Marc Alexander
d40caeebca Merge pull request #5460 from 3D-I/ticket/15889
[ticket/15889] Add core.memberlist_modify_memberrow_sql
2019-03-31 11:05:26 +02:00
Marc Alexander
b707bdc4f1 [ticket/15928] Adjust ACP backup explanation
PHPBB3-15928
2019-03-31 11:02:37 +02:00
rxu
13ddfa5e52 [ticket/15915] Fix events order in events.md. Use Twig syntax for all events.
PHPBB3-15915
2019-03-31 12:46:46 +07:00
rxu
f07ce4f7b5 [ticket/15915] Add template events to posting_attach_body.html
PHPBB3-15915
2019-03-31 12:46:45 +07:00
3D-I
b890448882 [ticket/16004] Amend the whole docblock
PHPBB3-16004
2019-03-31 07:35:19 +02:00
3D-I
dc610b5508 [ticket/16004] Add a line of comment in the docblock
PHPBB3-16004
2019-03-31 07:26:14 +02:00
3D-I
5bd2c067c5 [ticket/16004] Move the check-in to a more appropriated place
PHPBB3-16004
2019-03-31 07:21:44 +02:00
3D-I
dc80ffdb40 [ticket/16004] Add check-in for Emojis in Username
PHPBB3-16004
2019-03-31 07:08:26 +02:00
Marc Alexander
f9c251c7af Merge pull request #5553 from marc1706/ticket/15997
[ticket/15997] Use higher than default timeout for webdriver connections
2019-03-30 17:59:12 +01:00
Marc Alexander
765739c2a9 Merge pull request #5551 from marc1706/ticket/15996
[ticket/15996] Rename dataProvider to not start with test_
2019-03-30 17:58:11 +01:00
Marc Alexander
3f498c9e69 Merge pull request #5464 from 3D-I/ticket/15891
[ticket/15891] Add core.memberlist_modify_view_profile_template_vars
2019-03-30 16:54:44 +01:00
Marc Alexander
0a3698d08d Merge pull request #5536 from dhruveshk/ticket/15957
[ticket/15957] Disabling both choice
2019-03-30 16:47:05 +01:00
Marc Alexander
f0ccf7d93e [ticket/15957] Remove extra whitespace character
PHPBB3-15957
2019-03-30 16:43:51 +01:00
dhruveshk
e2356f86e8 [ticket/15957] Disable both choice
Disable both choice when jabber is disabled in general settings

PHPBB3-15957
2019-03-30 16:43:48 +01:00
dhruveshk
d431e1306c [ticket/15957] Disabling both choice
Disable both choice input when jabber is disabled in general settings

PHPBB3-15957
2019-03-30 16:43:38 +01:00
3D-I
a14a666e86 [ticket/15889] Change mode description in doc-block
PHPBB3-15889

[ticket/15889] Change mode description in doc-block

PHPBB3-15889

[ticket/15889] Amend doc-block

PHPBB3-15889

[ticket/15889] Amend doc-block

PHPBB3-15889

[ticket/15889] Change mode description in doc-block

PHPBB3-15889
2019-03-30 05:03:18 +01:00
3D-I
ca7d63d4d7 [ticket/16001] Append data to the OAuth's redirect URL
PHPBB3-16001
2019-03-25 15:39:35 +01:00
3Di
6921565efe Merge branch '3.2.x' into ticket/15948 2019-03-23 05:09:17 +01:00
Marc Alexander
220d388cac [ticket/15997] Use higher than default timeout for webdriver connections
PHPBB3-15997
2019-03-19 21:20:38 +01:00
Marc Alexander
0d166e87b8 [ticket/15996] Rename dataProvider to not start with test_
PHPBB3-15996
2019-03-19 21:13:27 +01:00
kasimi
469bf9227e [ticket/15995] Add core.memberlist_modify_sort_pagination_params
PHPBB3-15995
2019-03-18 16:47:24 +01:00
Marc Alexander
0d04f53f37 Merge pull request #5549 from senky/ticket/15992
[ticket/15992] Fix breadcrumb structured data
2019-03-16 13:56:51 +01:00
Marc Alexander
761b87659d Merge pull request #5520 from 3D-I/ticket/15950
[ticket/15950] Add SQL transactions to mcp_main.php
2019-03-16 13:24:00 +01:00
Jakub Senko
1849ce233b [ticket/15992] Fix breadcrumb structured data
Based on: https://developers.google.com/search/docs/data-types/breadcrumb

PHPBB3-15992
2019-03-15 10:43:59 +01:00
Derky
56060caa4c [ticket/security/235] Apply wildcard char count patch
SECURITY-235
2019-03-14 21:46:02 +01:00
Marc Alexander
2bbf72e158 Merge pull request #5463 from rubencm/ticket/15869
[ticket/15869] Allow multibyte characters in hostname during installation
2019-03-14 21:37:49 +01:00
Marc Alexander
df93420bcd Merge pull request #5544 from 3D-I/ticket/15986
[ticket/15986] Add missing language key for posting.php
2019-03-14 21:32:27 +01:00
Marc Alexander
9e7ad86398 Merge pull request #5509 from mrgoldy/ticket/15939
[ticket/15939] Fix Pagination docblocks
2019-03-13 21:21:39 +01:00
Marc Alexander
66f9c09ba5 Merge pull request #5512 from jasonmarlin/ticket/15941
[ticket/15941] Replace MAX to speed up query in update_post_information
2019-03-13 21:10:06 +01:00
Marc Alexander
1c5a4c1213 Merge pull request #5533 from rubencm/ticket/15965
[ticket/15965] Fix hardcoded directory [3.2.x only]
2019-03-13 20:49:39 +01:00
mrgoldy
45e1aff14a [ticket/15886] Appropriate HTML docs
PHPBB3-15886
2019-03-10 17:44:03 +01:00
Marc Alexander
2975566650 Merge pull request #5539 from 3D-I/ticket/15975
[ticket/15975] Remove user notification data upon user deletion
2019-03-10 16:47:15 +01:00
mrgoldy
479201a3a1 [ticket/15886] Add @html doc for group/user strings
PHPBB3-15886
2019-03-09 10:30:19 +01:00
3D-I
43b597e88a [ticket/15986] Add missing language key for posting.php
PHPBB3-15986
2019-03-07 21:05:08 +01:00
hanakin
90b4ebab90 [ticket/15953] add reported pm borders
PHPBB3-15953
2019-03-04 20:56:35 -10:00
Jakub Senko
8c29ef3188 [ticket/15970] Add core.message_admin_form_submit_before
PHPBB3-15970
2019-02-27 10:32:11 +01:00
3D-I
8e8fa203b9 [ticket/15972] Let the event be triggered
Removes old coding which is there just to save a few iterations.

PHPBB3-15972
2019-02-26 23:56:28 +01:00
Jakub Senko
44fb54b9b7 [ticket/15978] Add core.index_mark_notification_after
PHPBB3-15978
2019-02-25 14:19:08 +01:00
Marc Alexander
f2e39f7edd Merge pull request #5458 from 3D-I/ticket/15884
[ticket/15884] Add memberlist_body_* events
2019-02-23 16:27:02 +01:00
3D-I
e315ea90b8 [ticket/15975] Remove user notification data upon user deletion
PHPBB3-15975
2019-02-23 02:02:51 +01:00
3D-I
2cd574321f [ticket/15972] Add core.markread_after
PHPBB3-15972
2019-02-20 19:57:56 +01:00
battye
59a84a71be [ticket/15917] Special unapproved topics message
For forums that have no approved posts but also have
topics awaiting approval, to avoid the inconsistency
of saying 'no posts' alongside a positive post count.

PHPBB3-15917
2019-02-13 06:57:29 +00:00
rubencm
96491a70e8 [ticket/15965] Fix hardcoded directory
PHPBB3-15965
2019-02-12 21:19:47 +00:00
Marc Alexander
33afd3f350 Merge pull request #5487 from 3D-I/ticket/15918
[ticket/15918] Fix addslashes in mcp_ban.html
2019-02-11 08:03:14 +01:00
Marc Alexander
deebd282a7 Merge pull request #5525 from kasimi/ticket/15954
[ticket/15954] Add safeguards to include() calls
2019-02-11 08:01:17 +01:00
Marc Alexander
27b0719174 Merge pull request #5529 from 3D-I/ticket/15960
[ticket/15960] Add SQL transactions to functions_admin.php
2019-02-11 07:58:46 +01:00
Marc Alexander
ab16595323 Merge pull request #5530 from marc1706/ticket/15959
[ticket/15959] Fix invalid CNAME record
2019-02-11 07:51:14 +01:00
AJ Quick
43d8432809 [ticket/15959] Fix invalid CNAME record
PHPBB3-15959
2019-02-03 21:23:14 +01:00
AJ Quick
1fba679c68 [ticket/15959] Fix invalid CNAME record
PHPBB3-15959
2019-02-03 21:22:55 +01:00
3D-I
271db031ad [ticket/15960] Add SQL transactions to functions_admin.php
PHPBB3-15960
2019-02-01 23:24:41 +01:00
kasimi
b4672f2665 [ticket/15954] Fixed including mcp_front.php
PHPBB3-15954
2019-01-30 09:48:54 +01:00
kasimi
75007697ae [ticket/15954] Add safeguards to include() calls
PHPBB3-15954
2019-01-26 22:29:54 +01:00
3D-I
ca4a98a2de [ticket/15950] Add SQL transactions to mcp_main.php
PHPBB3-15950

And simultaneously remove a duplicated UPDATE query.
2019-01-22 16:12:22 +01:00
Alfredo Ramos
7fc8b55f8c [ticket/15949] Add ucp_profile_signature_posting_editor_options_prepend
It adds a template event in the signature posting editor to add custom
options to be consistent with the default posting editor.

PHPBB3-15949
2019-01-21 12:25:41 -06:00
3D-I
6c1664f6d3 [ticket/15948] Add core.mcp_change_topic_type_after/before
PHPBB3-15948
2019-01-21 18:18:52 +01:00
3D-I
357e5a567d [ticket/15948] Add core.mcp_change_topic_type_after/before
PHPBB3-15948
2019-01-21 17:39:44 +01:00
Marc Alexander
713c996a08 Merge pull request #5510 from mrgoldy/ticket/15931
[ticket/15931] Fix PM report emails
2019-01-20 15:43:21 +01:00
Marc Alexander
2af8713a48 Merge pull request #5469 from senky/ticket/15899
[ticket/15899] Add core.modify_attachment_sql_ary_on_* events
2019-01-20 15:38:13 +01:00
Alec
36083872e0 [ticket/15944] Add core.posting_modify_quote_attributes
Allow modification of the quote attributes of the current post being quoted
Any information in there can be changed without affecting the rest of the page
New attributes can also be added if an extension needed to as well

PHPBB3-15944
2019-01-18 22:14:51 -05:00
jasonmarlin
c43ad073e4 [ticket/15941] Small change to induce rebuild
PHPBB3-15941
2019-01-18 08:38:59 -05:00
jasonmarlin
a0f1ec852a [ticket/15941] Replace MAX SQL in functions_posting.php
Replace MAX SQL function with faster query using order by and limit.
The ajacent query could also be optimized to eliminate the usage of MAX.
Note that adding a compound key as suggested by EXPLAIN SQL yields an
improvement, but not nearly as fast as ORDER + LIMIT.

PHPBB3-15941
2019-01-17 20:27:10 -05:00
mrgoldy
a925605b88 [ticket/15942] Optimize count
PHPBB3-15942
2019-01-15 20:58:54 +01:00
mrgoldy
3f4b7059cb [ticket/15942] Allow array in confirm_box title
PHPBB3-15942
2019-01-15 20:50:37 +01:00
jasonmarlin
cffdc8efff [ticket/15941] Replace MAX to speed up query in update_post_information
Replace MAX SQL function with faster query using order by and limit.
The ajacent query could also be optimized to eliminate the usage of MAX.
Note that adding a compound key as suggested by EXPLAIN SQL yields an
improvement, but not nearly as fast as ORDER + LIMIT.

PHPBB3-15941
2019-01-15 11:31:38 -05:00
mrgoldy
e8bbbbd6fa [ticket/15931] Fix PM report emails
PHPBB3-15931
2019-01-14 14:52:06 +01:00
mrgoldy
8d8dbb2129 [ticket/15939] Pagination docblocks
PHPBB3-15939
2019-01-14 12:50:07 +01:00
Marc Alexander
5e302c7e15 Merge pull request #5508 from marc1706/ticket/15935
[ticket/15935] Don't install APCu if it's already installed
2019-01-13 14:31:17 +01:00
Alec
ec3bab231d [ticket/15935] Don't install APCu if it's already installed
Travis fails when the APCu install fails due to it already being installed
A check is added here to make sure that it does nothing in that case

PHPBB3-15935
2019-01-13 12:06:59 +01:00
mrgoldy
214cf2c011 [ticket/15886] Move append_sid from constructor
PHPBB3-15886
2019-01-07 21:19:58 +01:00
Marc Alexander
673433dadb Merge pull request #5498 from 3D-I/ticket/15926
[ticket/15926] Deny 3.2.x installation if PHP >= 7.3-dev
2019-01-06 20:58:52 +01:00
Marc Alexander
0af07d1425 [ticket/15928] Remove support for downloading backups
PHPBB3-15928
2019-01-06 16:52:47 +01:00
3D-I
89f586e99e [ticket/15889] Use array version of sql_from tables in sql array
PHPBB3-15889
2019-01-06 04:25:53 +01:00
Marc Alexander
eead94c8a6 [ticket/15889] Use array version of sql_from tables in sql array
PHPBB3-15889
2019-01-06 04:06:16 +01:00
3D-I
a0efae7734 [ticket/15926] Deny 3.2.x installation if PHP >= 7.3-dev
PHPBB3-15926
2019-01-06 00:10:13 +01:00
3D-I
be0696a954 [ticket/15926] Update docs/INSTALL.html
PHPBB3-15926
2019-01-05 18:57:23 +01:00
3D-I
8fa7e18e2b [ticket/15926] Deny 3.2.x installation if PHP >= 7.3-dev
PHPBB3-15926
2019-01-05 18:36:54 +01:00
Marc Alexander
537ff0c567 Merge pull request #5457 from battye/ticket/15883
[ticket/15883] New error message for when users try adding invalid usernames to a group
2019-01-05 16:12:29 +01:00
battye
08968bdb60 [ticket/15883] Doc block change
PHPBB3-15883
2019-01-05 08:19:21 +00:00
3D-I
5949f912ba [ticket/15926] Deny 3.2.x installation if PHP >= 7.3-dev
PHPBB3-15926
2019-01-05 01:32:43 +01:00
battye
3f19d32f76 [ticket/15883] Review changes
PHPBB3-15883
2019-01-04 15:49:15 +00:00
Derky
409bfafbf0 Merge pull request #5485 from marc1706/ticket/15919
[ticket/15919] Don't run lint test against node_modules
2019-01-02 21:07:41 +01:00
mrgoldy
daf58a13c2 [ticket/15885] Display group rank on memberlist_body
PHPBB3-15885
2019-01-02 14:56:00 +01:00
mrgoldy
813789c644 [ticket/15886] Capital Y in arraY
PHPBB3-15886
2019-01-02 13:30:58 +01:00
mrgoldy
f6c93a81d3 [ticket/15886] No profile url for BOTS group
PHPBB3-15886
2019-01-02 13:21:44 +01:00
mrgoldy
f023dd590f [ticket/15886] Mock path helper in group helper tests
PHPBB3-15886
2019-01-02 12:33:25 +01:00
Derky
186259cbbc Merge pull request #5493 from marc1706/ticket/15924
[ticket/15924] Switch to trusty build environment
2019-01-01 23:10:20 +01:00
Marc Alexander
186115c65f [ticket/15924] Switch back to installing mariadb from 3rd party repo
PHPBB3-15924
2019-01-01 22:23:16 +01:00
Marc Alexander
a23a7602b7 [ticket/15924] Enable APCu extension
PHPBB3-15924
2019-01-01 10:56:26 +01:00
Marc Alexander
bdf9af0abb [ticket/15924] Install apc via pecl and remove nginx config check
PHPBB3-15924
2018-12-31 23:26:53 +01:00
Marc Alexander
444e5e6498 [ticket/15924] Switch to trusty build environment
PHPBB3-15924
2018-12-31 22:46:59 +01:00
mrgoldy
50cec4d54c [ticket/15886] Change phpbb_get_group_avatar variable names
PHPBB3-15886
2018-12-30 14:15:03 +01:00
chita
a578ce0119 Merge pull request #5488 from marc1706/ticket/15921
[ticket/15921] Update textformattter to 1.3.2
2018-12-29 15:56:44 +01:00
mrgoldy
e2e3d402a2 [ticket/15886] Clean up services
PHPBB3-15886
2018-12-29 13:28:00 +01:00
mrgoldy
d79eb72fc1 [ticket/15886] Class variable, comment splitting, events since tag, class names
PHPBB3-15886
2018-12-29 13:11:51 +01:00
Marc Alexander
86c773fbf9 Merge pull request #5462 from 3D-I/ticket/15890
[ticket/15890] Add core.memberlist_modify_viewprofile_sql
2018-12-29 12:25:52 +01:00
JoshyPHP
e9310c928e [ticket/15921] Use backward compatible template for emojis
PHPBB3-15921
2018-12-29 11:23:47 +01:00
Marc Alexander
3a7d17414d Merge pull request #5468 from senky/ticket/15898
[ticket/15898] Add core.ucp_pm_compose_template
2018-12-27 21:31:51 +01:00
Marc Alexander
a4e37a8482 Merge pull request #5482 from GanstaZ/ticket/15914
[ticket/15914] Add core.modify_memberlist_viewprofile_group* events
2018-12-27 10:47:52 +01:00
Marc Alexander
c51859c0bd [ticket/15921] Update tests for twemoji
PHPBB3-15921
2018-12-27 10:36:41 +01:00
Jakub Senko
572545a430 [ticket/15899] Add core.modify_attachment_sql_ary_on_* events
PHPBB3-15899
2018-12-27 10:27:10 +01:00
Marc Alexander
220490e4db Merge pull request #5359 from Elsensee/ticket/15509
[ticket/15509] Don't show disabled board when in install
2018-12-27 09:59:42 +01:00
Marc Alexander
4bf485395e [ticket/15921] Use twemoji
PHPBB3-15921
2018-12-26 23:51:15 +01:00
Marc Alexander
ce90a215ba [ticket/15921] Update inconsistencies in composer.lock
PHPBB3-15921
2018-12-26 23:09:05 +01:00
JoshyPHP
31c0466815 [ticket/15921] Updated dependencies to latest textformatter
PHPBB3-15921
2018-12-26 23:06:18 +01:00
3D-I
4fe2ec156c [ticket/15884] Alphabetical order - last bit
PHPBB3-15884
2018-12-26 22:25:12 +01:00
3D-I
d0541a6440 [ticket/15884] Alphabetical order
PHPBB3-15884
2018-12-26 22:20:19 +01:00
Marc Alexander
95424f1b98 Merge pull request #5474 from mrgoldy/ticket/15901
[ticket/15901] Add mcp_post_ template events
2018-12-26 21:51:29 +01:00
Marc Alexander
64b66a51b6 Merge pull request #5456 from nunoplopes/ticket/15876
[ticket/15876] MySQL 5.7+ support for Q&A captcha plugin
2018-12-24 15:49:13 +01:00
Marc Alexander
58856c06b0 Merge pull request #5481 from kasimi/ticket/15910-3.2.x
[ticket/15910] Pass object arguments by reference implicitly
2018-12-24 15:32:50 +01:00
3D-I
440fdfdffc [ticket/15918] Apply the Twig escape filter to not add-slashed contents
PHPBB3-15918
2018-12-24 12:00:36 +01:00
3D-I
8f90b79457 [ticket/15918] Remove redundant escape JS
In mcp_ban.html and coherently use twig syntax

PHPBB3-15918
2018-12-24 09:46:41 +01:00
3Di
871875d9aa Merge pull request #1 from phpbb/3.2.x
3.2.x
2018-12-24 09:42:16 +01:00
Marc Alexander
ca98cd413a Merge pull request #5479 from kasimi/ticket/15904
[ticket/15904] Fix counting empty template blocks
2018-12-23 17:14:14 +01:00
Marc Alexander
14f9917db6 [ticket/15919] Don't run lint test against node_modules
Also, make sure to correctly handle opendir returning false instead of
the stream handle.

PHPBB3-15919
2018-12-23 14:35:58 +01:00
GanstaZ
552bda6266 [ticket/15914] Change since
PHPBB3-15914
2018-12-22 22:33:35 +02:00
GanstaZ
c6f613bae5 Merge branch '3.2.x' into ticket/15914 2018-12-22 22:26:54 +02:00
Marc Alexander
70a56c208f Merge branch 'prep-release-3.2.5' into 3.2.x 2018-12-22 17:31:30 +01:00
Marc Alexander
b089116965 [prep-release-3.2.5] Add 3.2.5 migration 2018-12-19 20:16:31 +01:00
Marc Alexander
0cb00c9f99 [prep-release-3.2.5] Update changelog for 3.2.5 2018-12-19 20:16:07 +01:00
Marc Alexander
52f559cd4b [prep-release-3.2.5] Update version numbers to 3.2.5 2018-12-19 20:16:01 +01:00
Marc Alexander
85ecd2c7be Merge pull request #43 from phpbb/security/229
[security/229] Update jQuery to 1.12.4
2018-12-19 19:59:19 +01:00
Marc Alexander
2a72b9b3ec Merge pull request #5483 from marc1706/ticket/15911
[ticket/15911] Prevent errors when trying to delete from non-existent tables
2018-12-19 19:57:57 +01:00
Marc Alexander
68489b2c13 [ticket/15911] Add missing braces
PHPBB3-15911
2018-12-18 21:28:15 +01:00
Marc Alexander
304750a88b [ticket/15911] Resolve warnings when updating from 3.0.0 to latest
PHPBB3-15911
2018-12-18 21:07:41 +01:00
Marc Alexander
a2407ce978 [ticket/15911] Prevent errors when trying to delete from non-existent tables
This can happen when migrating to the latest version from versions before
3.0.14.

PHPBB3-15911
2018-12-18 21:06:51 +01:00
Marc Alexander
5a21f7eb97 Merge pull request #5470 from marc1706/ticket/15888
[ticket/15888] Changing ACP link from 3.1 to 3.2 docs
2018-12-16 15:46:32 +01:00
Marc Alexander
358ddc95e8 Merge pull request #5466 from marc1706/ticket/15893
[ticket/15893] Pass needed language class directly to format quote
2018-12-16 15:46:08 +01:00
GanstaZ
349ab42fdc [ticket/15914] fix sql line
PHPBB3-15914
2018-12-15 19:22:38 +02:00
GanstaZ
cc49d8f325 [ticket/15914] Add core.modify_memberlist_viewprofile_group* events
PHPBB3-15914
2018-12-15 18:37:31 +02:00
Marc Alexander
37b33e6b67 [security/229] Adjust effectively_installed on jquery update migration
SECURITY-229
2018-12-13 21:22:58 +01:00
kasimi
83f4074116 [ticket/15910] Pass object arguments by reference implicitly
PHPBB3-15910
2018-12-12 12:41:56 +01:00
Marc Alexander
179c6067be [security/229] Add ajax prefilter for crossdomain requests
SECURITY-229
2018-12-11 21:28:29 +01:00
Marc Alexander
97c5861d59 [security/229] Update jQuery CDN link
SECURITY-229
2018-12-09 15:43:01 +01:00
Marc Alexander
aebeb11d53 [SECURITY/229] Update jQuery to 1.12.4
SECURITY-229
2018-12-09 15:30:17 +01:00
kasimi
3bce8bce10 [ticket/15904] Fix counting empty template blocks
PHPBB3-15904
2018-12-08 22:06:19 +01:00
mrgoldy
fe382708f5 [ticket/15901] Alphabetical order
PHPBB3-15901
2018-12-04 03:22:20 +01:00
mrgoldy
4554376ac8 [ticket/15901] Add missing semi-colon
PHPBB3-15901
2018-12-04 02:31:14 +01:00
mrgoldy
337d5db292 [ticket/15901] Alphabetical order
After has to be before before. Mind twist.

PHPBB3-15901
2018-12-04 01:56:34 +01:00
mrgoldy
fe72d87460 [ticket/15901] Add mcp_post_ template events
PHPBB3-15901
2018-12-04 01:48:09 +01:00
Jim Mossing Holsteyn
4fd824953d [ticket/15888] Changing ACP link from 3.1 to 3.2 docs
PHPBB3-15888
2018-12-03 20:52:08 +01:00
Jakub Senko
75b993c6a3 [ticket/15898] Add core.ucp_pm_compose_template
PHPBB3-15898
2018-12-03 14:02:38 +01:00
Marc Alexander
087bf6fd35 [ticket/15893] Pass needed language class directly to format quote
PHPBB3-15893
2018-12-02 19:50:09 +01:00
Marc Alexander
fc27dc02b4 [ticket/15893] Add test for covering phpbb_format_quote
PHPBB3-15893
2018-12-02 19:50:02 +01:00
rubencm
91847ed1fd [ticket/15869] Allow multibyte characters in more variables
PHPBB3-15869
2018-12-02 10:26:19 +00:00
3D-I
e6ac4daf64 [ticket/15891] Add core.memberlist_modify_view_profile_template_vars
PHPBB3-15891
2018-12-02 03:54:24 +01:00
rubencm
47acbdd138 [ticket/15869] Allow multibyte characters in hostname during installation
PHPBB3-15869
2018-12-01 20:51:59 +00:00
Marc Alexander
73fd2f3573 [3.2.x] Update versions to 3.2.6-dev 2018-12-01 19:20:55 +01:00
Marc Alexander
0a14d7aff3 Merge branch 'prep-release-3.2.5' into 3.2.x 2018-12-01 19:15:31 +01:00
3D-I
8b4c77784e [ticket/15890] Add core.memberlist_modify_viewprofile_sql
PHPBB3-15890
2018-12-01 04:36:16 +01:00
3D-I
e7a16f1eda [ticket/15884] Add more events
update events.md (version)
update events.md (new events)

PHPBB3-15884
2018-12-01 01:52:34 +01:00
3D-I
31b8fdf964 [ticket/15889] Restore comment line
PHPBB3-15889
2018-12-01 00:07:23 +01:00
3D-I
afcc713d39 [ticket/15889] Add core.memberlist_modify_memberrow_sql
fix select all on users table

PHPBB3-15889
2018-11-30 09:12:10 +01:00
3D-I
73b709d0ca [ticket/15889] Add core.memberlist_modify_memberrow_sql
That's it.

PHPBB3-15889
2018-11-30 08:41:49 +01:00
3D-I
ec140a558b [ticket/15889] Add core.memberlist_modify_memberrow_sql
PHPBB3-15889
2018-11-30 06:42:34 +01:00
3D-I
c5082250ea [ticket/15889] Add core.memberlist_modify_memberrow_sql
PHPBB3-15889
2018-11-30 04:45:15 +01:00
3D-I
89b6fb1168 [ticket/15889] Add core.memberlist_modify_memberrow_sql
PHPBB3-15889
2018-11-30 04:25:14 +01:00
3D-I
3ed8cffad2 [ticket/15889] Add core.memberlist_modify_memberrow_sql
PHPBB3-15889
2018-11-30 04:03:22 +01:00
Marc Alexander
b7243fad62 [prep-release-3.2.5] Update changelog for 3.2.5-RC1 2018-11-29 21:53:09 +01:00
Marc Alexander
8a1d148fa8 [prep-release-3.2.5] Add 3.2.5-RC1 migration 2018-11-29 21:47:47 +01:00
Marc Alexander
fab57f0d16 [prep-release-3.2.5] Update version numbers for 3.2.5 2018-11-29 21:46:26 +01:00
Marc Alexander
27abc18662 [prep-release-3.2.5] Update version numbers for 3.2.5-RC1 2018-11-29 21:45:51 +01:00
Marc Alexander
9e6c2251df Merge pull request #5455 from toxyy/ticket-15879
[ticket/15879] Add core.posting_modify_default_variables
2018-11-29 21:12:27 +01:00
mrgoldy
d356fa9f97 [ticket/15886] Arguments for path_helper
PHPBB3-15886
2018-11-29 20:46:52 +01:00
mrgoldy
a1baf106d6 [ticket/15886] Fix notification_group_request_test
PHPBB3-15886
2018-11-29 20:27:04 +01:00
mrgoldy
b6f6930eb5 [ticket/15886] Group helper functions
PHPBB3-15886
2018-11-29 19:56:24 +01:00
Marc Alexander
15ba5f700d Merge pull request #5451 from vinny/ticket/15867
[ticket/15867] Add class for message field in the contact form
2018-11-29 18:59:17 +01:00
battye
565f692541 [ticket/15883] Use the new language object
Using the new ->lang() format. Made the username
comparison case insensitive. Also fixed a bug where the return to
previous page link in the UCP was going back to the list of
groups rather than the specific manage group page when an error
occurred.

PHPBB3-15883
2018-11-29 14:37:14 +00:00
3D-I
bf07331a0e [ticket/15884] Add memberlist_body_* events
update description (typo)

PHPBB3-15884
2018-11-29 02:41:45 +01:00
3D-I
12073855dd [ticket/15884] Add memberlist_body_* events
update events.md

PHPBB3-15884
2018-11-29 01:57:00 +01:00
mrgoldy
04d825ec2d [ticket/15886] Enhance group helper
PHPBB3-15886
2018-11-29 01:50:46 +01:00
3D-I
8ed7ddfbb2 [ticket/15884] Add memberlist_body_* events
update events name
update events.md

PHPBB3-15884
2018-11-29 01:47:02 +01:00
3D-I
1345642c49 [ticket/15884] Add memberlist_body_* events
update events name
update events.md

PHPBB3-15884
2018-11-29 01:45:36 +01:00
3D-I
ad0c85293b [ticket/15884] Add memberlist_body_* events
add new events for group
update events name
update events.md

PHPBB3-15884
2018-11-29 01:20:13 +01:00
Marc Alexander
f8e1c66e81 Merge pull request #5449 from senky/ticket/15878
[ticket/15878] Add attachments to ucp_pm_view_message
2018-11-28 23:25:56 +01:00
Marc Alexander
c89f4500f0 Merge pull request #5443 from toxyy/ticket/15872
[ticket/15872] Add show_user_activity to display_user_activity_modify_actives
2018-11-28 23:21:46 +01:00
Marc Alexander
7182f5d88f Merge pull request #5427 from dark-1/ticket/15858
[ticket/15858] Unapproved User(s) appearing as Guest in Team Page
2018-11-27 22:03:36 +01:00
3D-I
7a92f6a3b6 [ticket/15884] Add memberlist_body_* events
update events.md

PHPBB3-15884
2018-11-27 06:52:59 +01:00
3D-I
c594f2ecbf [ticket/15884] Add memberlist_body_* events
PHPBB3-15884
2018-11-27 02:26:37 +01:00
Marc Alexander
db7f4d4c95 Merge pull request #5450 from hubaishan/ticket/15665
[ticket/15665] Fix MSSQL crashes if upload dir>2GB
2018-11-26 21:19:42 +01:00
battye
101829b4dc [ticket/15883] Add error for invalid usernames being added to a group
Update the ACP and the UCP so that when bulk adding users to a group,
if invalid usernames are submitted alongside valid usernames then a
message will be displayed to inform the user what the invalid usernames
are.

PHPBB3-15883
2018-11-26 13:08:57 +00:00
Marc Alexander
b8bdccbc44 Merge pull request #5432 from 3D-I/ticket/15859
[ticket/15859] Add core.viewforum_modify_topic_ordering
2018-11-25 21:17:41 +01:00
Marc Alexander
2eb2c69db9 Merge pull request #5454 from rxu/ticket/15881
[ticket/15881] Reset login keys for new password activation
2018-11-25 11:10:22 +01:00
Nuno Lopes
eb1cb07341 [ticket/15876] MySQL 5.7+ support for Q&A captch plugin
PHPBB3-15876
2018-11-24 23:43:41 +00:00
Alec
d5147c2271 [ticket/15879] Add core.posting_modify_default_variables
Allows the modification of default variables put into post_data.
Also allows you to unset variables in post_data to inherit the default ones.

PHPBB3-15879
2018-11-24 12:56:33 -05:00
rxu
79e6636092 [ticket/15881] Reset login keys for account reactivation after password update
PHPBB3-15881
2018-11-24 11:31:32 +07:00
Marc Alexander
5179e4f93f Merge pull request #5433 from marc1706/ticket/15542
[ticket/15542] Always append assets versions to assets
2018-11-20 20:54:50 +01:00
hubaishan
dc96e70d1b [ticket/15665] fix double semicolon
PHPBB3-15665
2018-11-20 15:56:02 +03:00
hubaishan
717d4840e2 [ticket/15665] Fix MSSQL crashes if upload dir>2GB
Add cast_expr_to_bigint() to mssql_base

PHPBB3-15665
2018-11-20 13:38:15 +03:00
Jakub Senko
22b8b45f28 [ticket/15878] Add attachments to ucp_pm_view_message
PHPBB3-15878
2018-11-19 15:35:26 +01:00
Marc Alexander
6c5578a65b Merge pull request #5445 from 3D-I/ticket/15873
[ticket/15873] Add core.mcp_report_template_data
2018-11-18 20:00:07 +01:00
3D-I
bf42eae114 [ticket/15859] Add core.viewforum_modify_topic_ordering
PHPBB3-15859
2018-11-18 19:52:02 +01:00
Marc Alexander
f21a43be2f Merge pull request #5441 from 3D-I/ticket/15870
[ticket/15870] Add core.viewtopic_modify_forum_id
2018-11-18 19:50:19 +01:00
Marc Alexander
3606cce27f Merge pull request #5436 from 3D-I/ticket/15863
[ticket/15863] Add core.viewforum_modify_sort_direction
2018-11-18 19:36:14 +01:00
Marc Alexander
5b3eb2d61c Merge pull request #5442 from rxu/ticket/15871
[ticket/15871] Fix PHP 7.1+ warning in ACP extensions module
2018-11-18 12:24:16 +01:00
3D-I
fcd916cc4f [ticket/15873] Add core.mcp_report_template_data
PHPBB3-15873
2018-11-18 12:22:06 +01:00
3D-I
f3b94b118a [ticket/15870] Add core.viewtopic_modify_forum_id
PHPBB3-15870
2018-11-18 12:19:04 +01:00
3D-I
2e8315353e [ticket/15863] Add core.viewforum_modify_sort_direction
PHPBB3-15863
2018-11-18 12:14:30 +01:00
Marc Alexander
97912d74e2 Merge pull request #5448 from rxu/ticket/15875
[ticket/15875] Fix PHP fatal error on BBCode parsing
2018-11-17 22:18:08 +01:00
rxu
da9da88d11 [ticket/15875] Fix PHP fatal error on BBCode parsing
PHPBB3-15875
2018-11-18 01:33:56 +07:00
rxu
af1e8901e5 [ticket/15871] Add $php_ini to the class properties list
PHPBB3-15871
2018-11-15 21:01:17 +07:00
Alec
a2480f992d [ticket/15872] Add show_user_activity to display_user_activity_modify_actives
Add config option for toggling most active forum & topic in the user profile.

A bool was added to display_user_activity_modify_actives to achieve this.

PHPBB3-15872
2018-11-12 01:54:11 -05:00
3D-I
b8f85325d8 [ticket/15859] Add core.viewforum_modify_topic_ordering
PHPBB3-15859
2018-11-11 21:49:51 +01:00
Vinny
c4741399dd [ticket/15867] Add class for message field in the contact form
PHPBB3-15867
2018-11-11 17:08:20 -03:00
rxu
b03da3a9b2 [ticket/15871] Use php_ini service
PHPBB3-15871
2018-11-11 20:36:49 +07:00
Marc Alexander
7801bac09a Merge branch 'prep-release-3.2.4' into 3.2.x 2018-11-11 12:22:20 +01:00
Marc Alexander
023ec01611 [prep-release-3.2.4] Correctly specify dependencies 2018-11-11 10:14:16 +01:00
Marc Alexander
335b23c679 [prep-release-3.2.4] Remove phpBB 3.0.14 builds 2018-11-11 09:59:25 +01:00
rxu
720477a9da [ticket/15871] Fix PHP 7.1+ warning in ACR extensions module
PHPBB3-15871
2018-11-11 15:24:08 +07:00
Marc Alexander
1581ee9d05 [prep-release-3.2.4] Update changelog for 3.2.4 release 2018-11-10 21:35:29 +01:00
Marc Alexander
f631d6b84d [prep-release-3.2.4] Add migration for 3.2.4 2018-11-10 21:24:14 +01:00
Marc Alexander
36a8e48083 [prep-release-3.2.4] Update version numbers for 3.2.4 release 2018-11-10 21:19:49 +01:00
Marc Alexander
0dfbb60bc3 Merge pull request #42 from phpbb/ticket/security/227
[ticket/security/227] Replace ImageMagick support with thumbnail event
2018-11-10 17:04:00 +01:00
Marc Alexander
65226168ee Merge pull request #5434 from rubencm/ticket/15860
[ticket/15860] Fix format of backup files
2018-11-10 17:01:34 +01:00
Marc Alexander
c0a26e3d57 [ticket/security/227] Remove no longer needed validation tests
SECURITY-227
2018-11-07 22:04:30 +01:00
Derky
3d534a5eb6 [ticket/security/227] Change migration depends_on to 3.2.4-RC1
SECURITY-227
2018-11-04 23:18:38 +01:00
Derky
5c695d709e [ticket/security/227] Change thumbnail_created event version to 3.2.4
SECURITY-227
2018-11-04 23:17:49 +01:00
Derky
e2d26e102d [ticket/security/227] Remove "no thumbnail support" message
SECURITY-227
2018-11-04 23:10:44 +01:00
Ruben Calvo
31703585cb [ticket/15860] Unique_id() return 16 characters again
PHPBB3-15860
2018-10-31 10:41:57 +00:00
Ruben Calvo
fa1fd316fe [ticket/15860] Fix regexp
PHPBB3-15860
2018-10-30 22:56:20 +00:00
Marc Alexander
bab86aac7f [ticket/15860] Limit regexp to expected formats
PHPBB3-15860
2018-10-30 20:49:14 +00:00
Ruben Calvo
1f14f7c327 [ticket/15860] Fix format of backup files
PHPBB3-15860
2018-10-30 11:18:34 +00:00
Marc Alexander
11ae11a156 [ticket/15542] Only add assets version for relative paths
PHPBB3-15542
2018-10-29 22:57:53 +01:00
Marc Alexander
5d4fccd235 [ticket/15542] Always append assets versions to assets
PHPBB3-15542
2018-10-29 16:07:48 +01:00
3D-I
dbb476d813 [ticket/15859] Add core.viewforum_modify_topic_ordering
PHPBB3-15859
2018-10-29 01:02:16 +01:00
Marc Alexander
f4063e475d [3.2.x] Update versions to 3.2.5-dev 2018-10-28 21:55:08 +01:00
Marc Alexander
e64f96bf27 Merge branch 'prep-release-3.2.4' into 3.2.x 2018-10-28 21:52:51 +01:00
Marc Alexander
02fd679b26 [prep-release-3.2.4] Update changelog for 3.2.4-RC1 2018-10-28 20:27:10 +01:00
Marc Alexander
46bc335524 [prep-release-3.2.4] Add migration for 3.2.4-RC1 2018-10-28 20:19:07 +01:00
Marc Alexander
448d67cc30 [prep-release-3.2.4] Update versions for 3.2.4 2018-10-28 20:13:54 +01:00
Marc Alexander
d55cdc3546 [prep-release-3.2.4] Update versions for 3.2.4-RC1 2018-10-28 20:13:01 +01:00
Dark❶
9e375f32eb [ticket/15858] Unapproved User(s) appearing as Guest in Team Page
PHPBB3-15858
2018-10-29 00:28:43 +05:30
Marc Alexander
ed64a69760 Merge pull request #4223 from senky/ticket/10432
[ticket/10432] Don't require username when user forgets password
2018-10-28 19:49:38 +01:00
Ruben Calvo
dc109b1952 Merge remote-tracking branch 'marc/ticket/15857' into 3.2.x 2018-10-28 17:00:58 +00:00
Marc Alexander
09f17a438e [ticket/15857] Add rubencm to CREDITS.txt
[ci skip]

PHPBB3-15857
2018-10-28 17:50:29 +01:00
Marc Alexander
68b3c5d1f0 Merge pull request #5408 from senky/ticket/15833
[ticket/15833] Add core.avatar_manager_avatar_delete_after event
2018-10-28 16:32:46 +01:00
Marc Alexander
60414dec86 Merge pull request #5415 from senky/ticket/15838
[ticket/15838] Add core.ucp_register_register_after
2018-10-28 16:28:28 +01:00
Marc Alexander
2121b1274a Merge pull request #5416 from senky/ticket/15839
[ticket/15839] Add core.ucp_login_link_template_after
2018-10-28 16:21:24 +01:00
Jakub Senko
ddc9e318d0 [ticket/10432] Improve PASSWORD_UPDATED_IF_EXISTED lang
PHPBB3-10432
2018-10-28 16:14:26 +01:00
Jakub Senko
6a35385308 [ticket/15833] Add core.avatar_manager_avatar_delete_after event
PHPBB3-15833
2018-10-28 14:19:33 +01:00
Marc Alexander
96a68bcccb Merge pull request #5414 from senky/ticket/15837
[ticket/15837] Add core.ucp_register_welcome_email_before
2018-10-28 13:40:30 +01:00
Marc Alexander
25d42b0f10 Merge pull request #5407 from senky/ticket/15832
[ticket/15832] Add core.acp_users_avatar_sql event
2018-10-28 13:30:33 +01:00
Marc Alexander
99abb311c7 Merge pull request #5406 from senky/ticket/15831
[ticket/15831] Add core.acp_users_modify_signature_sql_ary event
2018-10-28 13:19:44 +01:00
Marc Alexander
77b7d9ba69 Merge pull request #5404 from Elsensee/ticket/15830
[ticket/15830] Move event to a more useful place
2018-10-28 12:08:45 +01:00
Jakub Senko
1d2a654ad7 [ticket/10432] Fix errors and address privacy concern
PHPBB3-10432
2018-10-28 10:12:13 +01:00
Marc Alexander
b5d36645f2 Merge pull request #5402 from 3D-I/ticket/15825
[ticket/15825] Add core.acp_manage_forums_move_content_sql_before
2018-10-28 00:16:18 +02:00
Marc Alexander
41bafd4d7d Merge pull request #5401 from dark-1/ticket/15827
[ticket/15827] Add *_username_{prepend/append} template events
2018-10-28 00:08:15 +02:00
Marc Alexander
d29d42d7b9 Merge pull request #5395 from hubaishan/ticket/15817
[ticket/15817] Fix installtion failed with Oracle
2018-10-28 00:02:38 +02:00
Marc Alexander
20393592d7 Merge pull request #5387 from senky/ticket/15593
[ticket/15593] Do not allow print view with direct URL
2018-10-27 23:48:53 +02:00
Marc Alexander
0cded66ff2 Merge pull request #5380 from senky/ticket/15619
[ticket/15619] Always display CPF legend
2018-10-27 23:43:55 +02:00
Marc Alexander
a772949162 Merge pull request #5363 from Elsensee/ticket/14656
[ticket/14656] Add List-Unsubscribe header to emails
2018-10-27 23:36:45 +02:00
Marc Alexander
628e5fbae6 Merge pull request #5399 from 3D-I/ticket/15826
[ticket/15826] Add core.mcp_main_fork_sql_after
2018-10-27 22:35:42 +02:00
Marc Alexander
7dbfc1e59c Merge pull request #5424 from rubencm/ticket/15849
[ticket/15849] Stop using php4 constructors
2018-10-27 22:33:44 +02:00
Marc Alexander
042f47fc3f Merge pull request #5420 from senky/ticket/15850
[ticket/15850] Fix "Duplicate entry" for notification types
2018-10-27 22:26:29 +02:00
3Di
379900b4ed Merge pull request #2 from phpbb/3.2.x
3.2.x
2018-10-26 18:33:30 +02:00
Marc Alexander
fd95355c61 Merge pull request #5417 from toxyy/ticket/15841
[ticket/15841] Allow postrow pm link to be modified by event
2018-10-25 08:21:38 +02:00
Oliver Schramm
2d736479d8 [ticket/15830] Add event to modify template
PHPBB3-15830
2018-10-24 00:45:26 +02:00
Oliver Schramm
5b25b3e2d5 [ticket/15830] Move event to a more useful place
PHPBB3-15830
2018-10-24 00:42:10 +02:00
Derky
d753351edc [ticket/security/227] Replace ImageMagick support with thumbnail event
SECURITY-227
2018-10-23 23:57:24 +02:00
Jakub Senko
30d1048c8e [ticket/10432] Fix for SQLite
PHPBB3-10432
2018-10-23 15:18:57 +02:00
Jakub Senko
18d8f94317 [ticket/15839] Add core.ucp_login_link_template_after
PHPBB3-15839
2018-10-22 11:13:36 +02:00
Ruben Calvo
b148bb5d70 [ticket/15849] Stop using php4 constructors
PHPBB3-15849
2018-10-21 07:02:26 +00:00
Marc Alexander
ae6c3b0d34 Merge pull request #5423 from kasimi/ticket/15852
[ticket/15852] Fix whois for IPv6 addresses
2018-10-20 20:19:10 -04:00
Marc Alexander
d017b9aa3b Merge pull request #5151 from xchwarze/mailhook
[ticket/15836] Event to send message via external transport
2018-10-20 19:56:30 -04:00
Marc Alexander
537c415009 Merge pull request #5388 from toxyy/ticket/15819
[ticket/15819] Add core event to functions_posting to modify notifications
2018-10-20 12:46:52 -04:00
Marc Alexander
fba55791c1 Merge pull request #5403 from Elsensee/ticket/14812
[ticket/14812] Prune shadow topics during system cron too
2018-10-20 12:27:13 -04:00
Marc Alexander
dbd0304c1d [ticket/15836] Rename event to have unique name
PHPBB3-15836
2018-10-20 12:23:19 -04:00
Marc Alexander
e2a6a7e83a Merge pull request #5320 from rxu/ticket/15755
[ticket/15755] Fix event vars in /phpbb/attachment/delete.php
2018-10-20 12:14:48 -04:00
Marc Alexander
7aa639f050 Merge pull request #5379 from senky/ticket/15621
[ticket/15621] Remove graphical inconsistencies
2018-10-20 11:34:57 -04:00
kasimi
7263f9bebd [ticket/15852] Fix whois for IPv6 addresses
PHPBB3-15852
2018-10-20 11:05:04 +02:00
Marc Alexander
c4ff772c91 Merge pull request #5376 from senky/ticket/15701
[ticket/15701] Display signature in MCP
2018-10-19 12:35:54 -04:00
Marc Alexander
4c2a81724a Merge pull request #5421 from senky/ticket/15848
[ticket/15848] Update plupload to 2.3.6
2018-10-19 10:36:59 -04:00
Jakub Senko
101d3b7633 [ticket/10432] Don't require username when user forgets password
PHPBB3-10432
2018-10-18 18:51:16 +02:00
Jakub Senko
e046bd7498 [ticket/15848] Update plupload to 2.3.6
PHPBB3-15848
2018-10-18 18:50:32 +02:00
Jakub Senko
175ffa869b [ticket/15850] Fix "Duplicate entry" for notification types
PHPBB3-15850
2018-10-18 18:50:17 +02:00
3D-I
b5ba220584 [ticket/15826] Add core.mcp_main_fork_sql_after
Add row array

PHPBB3-15826
2018-10-17 03:52:28 +02:00
Alec
a62141ea68 [ticket/15841] Allow postrow pm link to be modified by event
Allow postrow.contact pm link to be modified by event above
All other variables in postrow.contact can be modified by the event already
This lets you hide all contact info on a per user basis

PHPBB3-15841
2018-10-15 21:57:23 -04:00
Jakub Senko
9c636cfdbe [ticket/15837] Add core.ucp_register_welcome_email_before
PHPBB3-15837
2018-10-15 13:57:00 +02:00
Jakub Senko
f430a77731 [ticket/15838] Add core.ucp_register_register_after
PHPBB3-15838
2018-10-15 13:56:38 +02:00
Marc Alexander
7e003bf687 Merge pull request #5397 from VSEphpbb/ticket/15824
[ticket/15824] Fix and update UI framework
2018-10-13 17:06:10 -07:00
Marc Alexander
2862de45bd Merge pull request #5409 from senky/ticket/15494
[ticket/15494] Allow user to be removed from NEWLY_REGISTERED multiple times
2018-10-13 16:59:44 -07:00
Marc Alexander
dfa533af4a Merge pull request #5384 from DavidIQ/ticket/15552
[ticket/15552] Call insert_single_user when appropriate
2018-10-13 16:41:27 -07:00
Marc Alexander
4180950db7 Merge pull request #5383 from senky/ticket/15554
[ticket/15554] Add simple_footer_body_after
2018-10-13 16:37:27 -07:00
Marc Alexander
2fcf49c839 Merge pull request #5381 from senky/ticket/15616
[ticket/15616] Remove jumpbox from login_forum.html
2018-10-13 16:31:02 -07:00
Marc Alexander
5d98b66e95 Merge pull request #5375 from senky/ticket/15706
[ticket/15706] Add mcp_post_report_buttons_top_* events
2018-10-13 15:59:13 -07:00
Marc Alexander
aa7b4bdfce Merge pull request #5373 from senky/ticket/15771
[ticket/15771] Improve Q&A instructions
2018-10-13 15:56:05 -07:00
Marc Alexander
5c3dd124c4 Merge pull request #5371 from senky/ticket/15792
[ticket/15792] Add confirm_delete_body_delete_reason_before
2018-10-13 15:52:36 -07:00
Marc Alexander
e27da4a025 Merge pull request #5368 from kinerity/ticket/15803
[ticket/15803] Add events on ucp_pm_compose for additional message list actions
2018-10-13 15:49:35 -07:00
Marc Alexander
4cef4634fc Merge pull request #5367 from JimMH/3.2.x
[ticket/15788] Fix return button for Privacy Policy
2018-10-13 15:44:24 -07:00
DSR!
c67dd0c591 [ticket/15836] Event to send message via external transport
PHPBB3-15836
2018-10-13 15:14:44 -07:00
Jakub Senko
d48ffde25d [ticket/15792] Add confirm_delete_body_delete_reason_before
PHPBB3-15792
2018-10-12 10:05:41 +02:00
Jakub Senko
f9b1f9ced5 [ticket/15706] Add mcp_post_report_buttons_top_* events
PHPBB3-15706
2018-10-12 10:05:03 +02:00
Marc Alexander
ca23d199c1 Merge pull request #5412 from marc1706/ticket/15557
[ticket/15557] Update composer to latest stable & symfony to 2.8.46
2018-10-12 07:31:32 +02:00
Jakub Senko
52ffe75888 [ticket/15554] Add simple_footer_body_after
PHPBB3-15554
2018-10-11 09:30:03 +02:00
Marc Alexander
40332ecfcc Merge pull request #5374 from senky/ticket/15758
[ticket/15758] Show translated msg for INSECURE_REDIRECT
2018-10-10 22:49:08 +02:00
Jim Mossing Holsteyn
35d49f5150 [ticket/15788] Fix return button for Privacy Policy
Change the text from "Return to Login Page" to "Return to Previous page" as
the privacy policy can now be accessed through the footer so we could return
to any random previous page instead of just the login page.

PHPBB3-15788
2018-10-10 22:42:41 +02:00
Marc Alexander
97a24948e0 [ticket/15557] Update symfony to 2.8.46
PHPBB3-15557
2018-10-10 21:42:15 +02:00
Marc Alexander
f4b2849aa2 [ticket/15557] Update composer.phar to 1.7.2
PHPBB3-15557
2018-10-10 21:34:18 +02:00
Marc Alexander
937c029665 Merge pull request #5386 from senky/ticket/15809
[ticket/15809] Allow twig syntax for template events
2018-10-10 13:55:56 +02:00
Marc Alexander
2225110c0d Merge pull request #5382 from senky/ticket/15596
[ticket/15596] Migrate from data-vocabulary.org to schema.org
2018-10-09 23:04:26 +02:00
Marc Alexander
63fd22b227 Merge pull request #5378 from senky/ticket/15642
[ticket/15642] Replace > with >
2018-10-09 23:01:02 +02:00
Marc Alexander
6087f0347c Merge pull request #5377 from senky/ticket/15700
[ticket/15700] Use correct T_THEME_LANG_NAME
2018-10-09 22:58:32 +02:00
Marc Alexander
407d179702 Merge pull request #5170 from id-tarzanych/ticket/15600
[ticket/15600] Escaped ban reasons in JavaScript code of mcp_warn.html
2018-10-09 22:20:57 +02:00
Marc Alexander
6a6c1b0463 Merge pull request #5366 from kasimi/ticket/15799
[ticket/15799] Find correct poll for voting animation
2018-10-09 14:25:12 +02:00
Marc Alexander
65699d501d Merge pull request #5287 from toxyy/ticket/15719
[ticket/15719] Add core events to viewtopic to edit the post_list sql query
2018-10-09 12:09:26 +02:00
Serge Skripchuk
4a3c00d1c8 [ticket/15600] Escaped ban reasons in JavaScript code of mcp_warn.html
PHPBB3-15600
2018-10-09 11:08:30 +02:00
Marc Alexander
a9eacf43e8 Merge pull request #5394 from Elsensee/ticket/12430
[ticket/12430] Remove hilit param from topic title link
2018-10-09 08:28:50 +02:00
Marc Alexander
ae672b0c7f Merge pull request #5326 from rubencm/ticket/15762
[ticket/15762] Update type for forum_topics_per_page
2018-10-09 08:07:49 +02:00
rubencm
582c1f3562 [ticket/15762] Update migration dependency
PHPBB3-15762
2018-10-08 21:44:27 +00:00
Marc Alexander
6e61804e45 Merge pull request #5370 from senky/ticket/15805
[ticket/15805] Add result to core.login_box_redirect
2018-10-08 22:27:55 +02:00
Marc Alexander
6478e98308 Merge pull request #5355 from marc1706/ticket/15770
[ticket/15770] Make sure sphinx limits are cast to int
2018-10-08 22:24:18 +02:00
Marc Alexander
2de198e30d Merge pull request #5354 from Elsensee/ticket/15329
[ticket/15329] Parse drafts before saving them (and decode)
2018-10-08 22:21:55 +02:00
Marc Alexander
a0d2f4cab1 Merge pull request #5353 from Elsensee/ticket/15607
[ticket/15607] Skip ban and disabled checks when deleting cookies
2018-10-08 22:14:38 +02:00
Marc Alexander
8ff2a74fd9 Merge pull request #5346 from senky/ticket/15768
[ticket/15768] Add a license to a repository
2018-10-08 22:10:39 +02:00
Marc Alexander
b8c5537948 Merge pull request #5343 from senky/ticket/15716
[ticket/15716] Remove OAuth data upon user deletion
2018-10-08 22:07:35 +02:00
Marc Alexander
13fe7b3ed2 Merge pull request #5341 from senky/ticket/15742
[ticket/15742] Remove get_magic_quotes_gpc() call
2018-10-08 21:55:25 +02:00
Marc Alexander
bcd4b01071 Merge pull request #5338 from senky/ticket/15420
[ticket/15420] Only update quote notification with original author
2018-10-08 21:48:56 +02:00
Marc Alexander
2c74cb71b5 Merge pull request #5301 from senky/ticket/11500
[ticket/11500] Remove unnamed input
2018-10-08 21:42:46 +02:00
Marc Alexander
dd43c6a61e Merge pull request #5296 from MikelAlejoBR/ticket/15622
[ticket/15622] Fix quoting in PMs when BBCodes are disabled
2018-10-08 21:35:38 +02:00
Marc Alexander
e1abc3105b Merge pull request #5251 from senky/ticket/15668
[ticket/15668] Replace .load() with .on('load')
2018-10-08 21:27:07 +02:00
Marc Alexander
8bdb2ce6ba Merge pull request #5220 from senky/ticket/15662
[ticket/15662] Add $this->template to core.modify_notification_message
2018-10-08 21:23:54 +02:00
Marc Alexander
cd17633235 Merge pull request #5219 from senky/ticket/15661
[ticket/15661] Add core.viewtopic_modify_poll_ajax_data
2018-10-08 21:16:58 +02:00
Marc Alexander
3c7e8325a0 Merge pull request #5215 from Zoddo/ticket/13128
[ticket/13128] Remove deprecated Sphinx options
2018-10-08 21:12:40 +02:00
Marc Alexander
426d8ce79f Merge pull request #5152 from senky/ticket/15579
[ticket/15579] Add ucp_front events
2018-10-08 21:04:56 +02:00
Jakub Senko
c9df803d3c [ticket/15494] Allow user to be removed from NEWLY_REGISTERED multiple times
PHPBB3-15494
2018-10-08 16:00:06 +02:00
Jakub Senko
38d7ad40a3 [ticket/15832] Add core.acp_users_avatar_sql event
PHPBB3-15832
2018-10-08 15:38:14 +02:00
Jakub Senko
9d85422edb [ticket/15831] Add core.acp_users_modify_signature_sql_ary event
PHPBB3-15831
2018-10-08 15:33:42 +02:00
Matt Friedman
253b42372f [ticket/15824] Add UI test method to wait for AJAX requests
PHPBB3-15824
2018-10-03 18:50:30 -07:00
Oliver Schramm
842e40dab9 [ticket/14812] Prune shadow topics during system cron too
PHPBB3-14812
2018-10-04 01:56:52 +02:00
3D-I
35c9357d2f [ticket/15825] Add core.acp_manage_forums_move_content_sql_before
PHPBB3-15825
2018-10-02 18:19:11 +02:00
Dark❶
4fb89504a9 [ticket/15827] Add *_username_{prepend/append} template events
PHPBB3-15827
2018-10-02 14:06:35 +05:30
3D-I
710760b9e4 [ticket/15826] Add core.mcp_main_fork_sql_after
PHPBB3-15826
2018-10-02 05:59:25 +02:00
Matt Friedman
b487a3d9ef [ticket/15824] Make UI test framework correctly install exts
PHPBB3-15824
2018-10-01 17:29:13 -07:00
Matt Friedman
4a2b12a0c8 [ticket/15824] Fix cache initialization in UI framework
PHPBB3-15824
2018-10-01 13:56:37 -07:00
hubaishan
3a2374e37c [ticket/15817] Fix installtion failed with Oracle
Fix installtion failed with Oracle

PHPBB3-15817
2018-10-01 20:25:55 +03:00
Oliver Schramm
0bb87b2de1 [ticket/12430] Remove hilit param from topic title link
PHPBB3-12430
2018-10-01 17:07:28 +02:00
Alec
eb4a95f659 [ticket/15819] Add core event to functions_posting to modify notifications
Events added to allow modifying notification data before in the database.
Useful to change variables in the notification message, such as usernames.
Includes some other residual data to allow this event to be versatile.

PHPBB3-15819
2018-10-01 00:42:55 -04:00
Jakub Senko
f3f1bfcbe8 [ticket/15809] Allow twig syntax for template events
PHPBB3-15809
2018-09-30 20:54:44 +02:00
Jakub Senko
f657ee51f8 [ticket/15593] Do not allow print view with direct URL
PHPBB3-15593
2018-09-28 12:55:45 +02:00
Jakub Senko
d29d4389f9 [ticket/15758] Show translated msg for INSECURE_REDIRECT
PHPBB3-15758
2018-09-28 12:27:55 +02:00
Jakub Senko
f82e0a83d1 [ticket/15616] Add jumpbox to login_forum.html
PHPBB3-15616
2018-09-26 16:29:43 +02:00
Jakub Senko
a478063d2b [ticket/15621] Remove graphical inconsistencies
PHPBB3-15621
2018-09-26 09:17:29 +02:00
David Colón
600588d623 [ticket/15552] Call insert_single_user when appropriate
PHPBB3-15552
2018-09-25 19:20:12 -04:00
Jakub Senko
31d101e68c [ticket/15596] Migrate from data-vocabulary.org to schema.org
PHPBB3-15596
2018-09-25 16:34:17 +02:00
Jakub Senko
1081aaee3e [ticket/15619] Always display CPF legend
PHPBB3-15619
2018-09-25 16:14:46 +02:00
Jakub Senko
b9a5810716 [ticket/15642] Replace > with >
PHPBB3-15642
2018-09-25 15:39:50 +02:00
Jakub Senko
dab4c10c2f [ticket/15700] Use correct T_THEME_LANG_NAME
PHPBB3-15700
2018-09-25 15:24:34 +02:00
Jakub Senko
f251c26fe6 [ticket/15701] Display signature in MCP
PHPBB3-15701
2018-09-25 15:22:14 +02:00
Jakub Senko
d8ecb00f3d [ticket/15771] Improve Q&A instructions
PHPBB3-15771
2018-09-25 14:25:51 +02:00
Kailey Truscott
62c9996b2f [ticket/15803] Change 'object' to 'bool'
PHPBB3-15803
2018-09-25 07:42:55 -04:00
Marc Alexander
001f32da95 Merge pull request #5369 from Elsensee/ticket/15544
[ticket/15544] Delete cache through module manager
2018-09-25 13:24:36 +02:00
Jakub Senko
1d0fdc446f [ticket/15805] Add result to core.login_box_redirect
PHPBB3-15805
2018-09-24 16:09:51 +02:00
Oliver Schramm
3d2c1b8f97 [ticket/15544] Delete cache through module manager
This might fix issues with migrations since the
sql cache will be purged as well. In general, this
puts all the logic in one place, so that's good.

PHPBB3-15544
2018-09-24 02:56:07 +02:00
kinerity
eb867fc623 [ticket/15803] Global $phpbb_dispatcher
PHPBB3-15803
2018-09-23 00:33:58 -04:00
kinerity
8ed759545e [ticket/15803] Fix since version
PHPBB3-15803
2018-09-23 00:33:58 -04:00
kinerity
78732fd7c2 [ticket/15803] Add events on ucp_pm_compose for additional message list actions
Event added for the handle_message_list_actions() function in ucp_pm_compose
so that extensions can perform additional actions.

PHPBB3-15803
2018-09-22 21:28:02 -04:00
kasimi
71ae82fbef [ticket/15799] Find correct poll for voting animation
PHPBB3-15799
2018-09-21 17:50:55 +02:00
Marc Alexander
2769ab701a Merge pull request #5319 from rubencm/ticket/15751
[ticket/15751] Fix warning when update with CLI
2018-09-17 21:10:41 +02:00
Marc Alexander
9000936926 Merge pull request #5292 from rubencm/ticket/15723
[ticket/15723] Rewrite gen_rand_string() and gen_rand_string_friendly()
2018-09-17 21:01:45 +02:00
MikelAlejoBR
4396bfba65 [ticket/15622] Rename function to avoid potential future conflicts
PHPBB3-15622
2018-09-16 19:23:30 +02:00
MikelAlejoBR
e17f00fb6b [ticket/15622] Remove "since" tag as it belongs to events
PHPBB3-15622
2018-09-16 19:23:16 +02:00
Marc Alexander
9503996441 Merge pull request #5312 from senky/ticket/15541
[ticket/15541] Explicitly explain how to add lang files in core.user_…
2018-09-16 17:29:47 +02:00
Marc Alexander
a505a3adf9 Merge pull request #5309 from Zoddo/ticket/15737
[ticket/15737] Add $user_rows to core.delete_user_before
2018-09-16 17:15:24 +02:00
Marc Alexander
3bcc779e81 Merge pull request #5307 from Zoddo/ticket/15735
[ticket/15735] Add *_content_after template event
2018-09-16 17:07:56 +02:00
Marc Alexander
d3633c7f30 Merge pull request #5300 from senky/ticket/11453
[ticket/11453] Improve performance of notification.method.messenger_base
2018-09-16 16:55:49 +02:00
Marc Alexander
f08d18c99c Merge pull request #5295 from v12mike/ticket/15726
Ticket/15726 Implement selective purge in APCu cache driver
2018-09-16 16:10:25 +02:00
v12mike
5edb330366 [ticket/15726] Implement selective purge in APCu
fix indentation of comment

PHPBB3-15726
2018-09-16 16:06:00 +02:00
v12mike
33268e5a72 [ticket/15726] Implement selective purge in APCu cache driver
Edit comment

PHPBB3-15726
2018-09-16 16:05:55 +02:00
v12mike
7f1f64b1dc [ticket/15726] Implement selective purge in APCu cache driver
Fix whitespace

PHPBB3-15726
2018-09-16 16:05:51 +02:00
v12mike
bf9af92220 [ticket/15726] Implement selective purge in APCu cache driver
Correcting code formatting and whitespace

PHPBB3-15726
2018-09-16 16:05:46 +02:00
v12mike
7d4d9770cf [ticket/15726] Implement selective purge in APCu cache driver
fix file permissions

PHPBB3-15726
2018-09-16 16:05:40 +02:00
v12mike
63a3033f15 [ticket/15726] Implement selective purge in APCu cache driver
Fix whitespace

PHPBB3-15726
2018-09-16 16:05:33 +02:00
v12mike
02234783c6 [ticket/15726] Implement selective purge in APCu cache driver
The current APCu cache driver implements a global clearing of the APCu
when the phpBB cache is purged. This is inappropriate if there are other
phpBB boards, or other php applications sharing the APCu cache.

This patch changes the behviour so that only cache entries matching
the key_prefix of this board are cleared by a phpBB cache purge.

The APCu unit test script has been updated to test this behaviour.
It has also been updated so that the test case can be run individually
previously it relied on initialisations made in other test scripts.

PHPBB3-15726
2018-09-16 16:05:22 +02:00
Jakub Senko
1a284ebe8d [ticket/15579] Add ucp_front events
PHPBB3-15579
2018-09-16 14:20:49 +02:00
Jakub Senko
fbd1741107 [ticket/15661] Add core.viewtopic_modify_poll_ajax_data
PHPBB3-15661
2018-09-16 14:20:02 +02:00
Jakub Senko
0725723813 [ticket/15662] Add template
PHPBB3-15662
2018-09-16 14:19:13 +02:00
Marc Alexander
3e85190798 Merge pull request #5305 from MikelAlejoBR/ticket/15733
[ticket/15733] Remove unused code related to deprecated flood control
2018-09-16 13:14:59 +02:00
Derky
18dd250f52 Merge pull request #5362 from hubaishan/ticket/15791
[ticket/15791] fix php 7.2 count() bug in memory cache driver
2018-09-16 13:08:12 +02:00
Oliver Schramm
101681070b [ticket/14656] Add List-Unsubscribe header to emails
PHPBB3-14656
2018-09-16 12:28:34 +02:00
Marc Alexander
eb5d61044c Merge pull request #5160 from kasimi/ticket/15590
[ticket/15590] Add events core.acp_bbcodes_(modify_create|delete)_after
2018-09-16 11:27:03 +02:00
hubaishan
c7631635fa [ticket/15791] php 7.2 count() bug in memory cache driver
function `_read` in classes inherted from `memory`
may returns `false` but `$vars` must be an array

PHPBB3-15791
2018-09-16 06:38:58 +03:00
Marc Alexander
b0d55a69c7 Merge pull request #5325 from hubaishan/ticket/15612
[ticket/15612] Fix PHP7.2 count() bug in MSSQL driver
2018-09-15 17:22:37 +02:00
Tristan Darricau
404f3269dc Merge pull request #5342 from senky/ticket/15721
[ticket/15721] Make plupload more versatile
2018-09-15 17:11:39 +02:00
Tristan Darricau
88f897bc86 Merge pull request #5350 from Elsensee/ticket/15767
[ticket/15767] Fix effictively_installed condition for oauth_tokens
2018-09-15 17:05:09 +02:00
Oliver Schramm
bc5808ad87 [ticket/15509] Don't show disabled board when in install
PHPBB3-15509
2018-09-15 15:44:56 +02:00
Derky
bb20a88748 Merge pull request #5352 from senky/ticket/15744-2
[ticket/15744] Remove useless sql_freeresults
2018-09-15 12:59:57 +02:00
Derky
9ea60e3478 Merge pull request #5339 from senky/ticket/15748
[ticket/15748] Fix toggle alt text
2018-09-15 12:53:11 +02:00
Jakub Senko
c38075d2c2 [ticket/15768] Add a license to a repository
PHPBB3-15768
2018-09-15 12:51:32 +02:00
Marc Alexander
4ac3c545e1 [ticket/15770] Make sure sphinx limits are cast to int
PHPBB3-15770
2018-09-14 15:02:07 +02:00
Oliver Schramm
0d7c33c1af [ticket/15329] Parse drafts before saving them (and decode)
PHPBB3-15329
2018-09-14 14:54:51 +02:00
Derky
1991df9519 Merge pull request #5349 from rubencm/ticket/15566
[ticket/15566] Set category to none if extension don't exist
2018-09-14 14:40:46 +02:00
Derky
4d5258b5a3 [ticket/15748] Trim whitespace before storing in data attribute
PHPBB3-15748
2018-09-14 11:34:14 +02:00
Oliver Schramm
204b18dd59 [ticket/15607] Skip ban and disabled checks when deleting cookies
PHPBB3-15607
2018-09-14 11:21:55 +02:00
Jakub Senko
89d1401a77 [ticket/15742] Remove addslashes_recursively()
PHPBB3-15742
2018-09-13 18:47:14 +02:00
Jakub Senko
271c9d34dc [ticket/15744] Remove useless sql_freeresults
PHPBB3-15744
2018-09-13 17:49:24 +02:00
rubencm
af5a2c4a20 [ticket/15566] Add missing variable sign
PHPBB3-15566
2018-09-13 15:26:17 +00:00
Oliver Schramm
9090ddcfb6 [ticket/15767] Fix effictively_installed condition for oauth_tokens
PHPBB3-15767
2018-09-13 15:19:11 +02:00
rubencm
0898c4c1cc [ticket/15566] Set category to none if extension don't exist
PHPBB3-15566
2018-09-13 11:55:05 +00:00
Marc Alexander
db71ca7db1 Merge branch 'prep-release-3.2.3' into 3.2.x 2018-09-10 16:11:32 +01:00
Marc Alexander
db67dc5f70 Merge branch 'ticket/15746' into prep-release-3.2.3 2018-09-10 09:35:42 +01:00
Marc Alexander
d64b9e7038 [ticket/15746] Update to Symfony 2.8.45
PHPBB3-15746
2018-09-09 23:16:43 +01:00
Marc Alexander
2c9d49bf09 Merge branch 'prep-release-3.2.3' into 3.2.x 2018-09-09 12:00:28 +01:00
Marc Alexander
ab17c854cd [prep-release-3.2.3] Update changelog with changes after 3.2.3-RC2 2018-09-09 11:03:58 +01:00
Jakub Senko
0f10c6ff6f [ticket/15716] Remove OAuth data upon user deletion
PHPBB3-15716
2018-09-06 21:34:19 +02:00
Jakub Senko
8eb48e2812 [ticket/15742] Remove get_magic_quotes_gpc() call
PHPBB3-15742
2018-09-06 14:52:35 +02:00
Jakub Senko
f2c53bfffd [ticket/15721] Make plupload more versatile
PHPBB3-15721
2018-09-06 14:26:06 +02:00
Jakub Senko
367f884d01 [ticket/15748] Fix toggle alt text
PHPBB3-15748
2018-09-04 14:41:00 +02:00
Jakub Senko
4a30818e12 [ticket/15420] Only update quote notification with original author
PHPBB3-15420
2018-09-04 14:30:19 +02:00
Marc Alexander
a72a6514e7 [prep-release-3.2.3] Fix improper version number 2018-09-01 09:22:36 +01:00
Rubén Calvo
9719d5a3d5 [ticket/15762] Update type for forum_topics_per_page in acp_forums
PHPBB3-15762
2018-08-30 19:05:12 +02:00
Rubén Calvo
b79aa3e147 [ticket/15762] Update type for forum_topics_per_page
PHPBB3-15762
2018-08-30 07:06:18 +02:00
Marc Alexander
ecfd067f37 [prep-release-3.2.3] Add 3.2.3 migration 2018-08-26 14:47:24 +02:00
Marc Alexander
4d7b16f439 [prep-release-3.2.3] Update version numbers for 3.2.3 release 2018-08-26 14:45:59 +02:00
hubaishan
b0b70589a2 [ticket/15612] Fix PHP7.2 count() bug in MSSQL driver
sqlsrv_fetch_array() function returns an array when data found,
null when no data or false on error. So we need to change null to false only.

PHPBB3-15612
2018-08-25 16:17:55 +03:00
Marc Alexander
b1d8abf3da Merge branch 'ticket/15746' into prep-release-3.2.3 2018-08-21 21:28:29 +02:00
Marc Alexander
c20d84ce17 [ticket/15746] Adjust tests after twig update
PHPBB3-15746
2018-08-21 21:25:33 +02:00
rxu
fc674873c7 [ticket/15755] Fix event vars in /phpbb/attachment/delete.php
PHPBB3-15755
2018-08-12 21:54:13 +07:00
Rubén Calvo
c912e6feaa [ticket/15751] Fix warning when update with CLI
PHPBB3-15751
2018-08-09 23:45:41 +02:00
Rubén Calvo
ced8599e30 [ticket/15723] Rewrite unique_id too
PHPBB3-15723
2018-08-08 20:36:16 +02:00
Marc Alexander
8858c86c97 [ticket/15746] Update symfony to 2.8.44 & others to latest
PHPBB3-15746
2018-08-07 11:49:00 +02:00
Marc Alexander
888683bda0 Merge pull request #5314 from Zoddo/ticket/15740
[ticket/15740] Fix hardcoded Terms/Privacy
2018-08-05 21:46:34 +02:00
Zoddo
c3d664bbfe [ticket/15740] Fix hardcoded Terms/Privacy
PHPBB3-15740
2018-08-03 18:25:27 +02:00
Marc Alexander
bd90a53589 [3.2.x] Update verions for 3.2.4-dev 2018-08-02 21:42:05 +02:00
Marc Alexander
1810688d0c Merge branch 'prep-release-3.2.3' into 3.2.x 2018-08-02 21:40:42 +02:00
MikelAlejoBR
ada8bc9da2 [ticket/15622] Refactor message link concatenation
PHPBB3-15622
2018-08-01 18:01:37 +02:00
MikelAlejoBR
521aec5923 [ticket/15622] Correct code style
PHPBB3-15622
2018-08-01 17:37:21 +02:00
MikelAlejoBR
ce2196517b [ticket/15622] Fix message link generation
Now the message link is generated in different formats depending on whether
BBCodes are allowed or not in the site.

PHPBB3-15622
2018-08-01 16:19:30 +02:00
Jakub Senko
800fbdfed2 [ticket/15541] Explicitly explain how to add lang files in core.user_setup
PHPBB3-15541
2018-08-01 14:31:19 +02:00
MikelAlejoBR
184d24bb16 [ticket/15622] Extract duplicated code
PHPBB3-15622
2018-07-31 16:06:49 +02:00
Marc Alexander
a85536d9aa [prep-release-3.2.3] Update changelog for 3.2.3-RC2 2018-07-30 21:32:27 +02:00
Marc Alexander
75c082e605 [prep-release-3.2.3] Add migration for 3.2.3-RC2 2018-07-30 21:29:19 +02:00
Marc Alexander
7fbfd7300e [prep-release-3.2.3] Update version numbers for 3.2.3-RC2 2018-07-30 21:27:09 +02:00
Marc Alexander
1e6a37431b Merge branch 'prep-release-3.2.3' into 3.2.x 2018-07-30 13:57:02 +02:00
Marc Alexander
81b02587cd Merge remote-tracking branch 'senky/ticket/11847' into prep-release-3.2.3 2018-07-30 13:56:33 +02:00
Marc Alexander
2bac84c51f Merge branch 'prep-release-3.2.3' into 3.2.x 2018-07-30 13:45:50 +02:00
Marc Alexander
0e4a38956a Merge remote-tracking branch 'rubencm/ticket/15731' into prep-release-3.2.3 2018-07-30 13:44:48 +02:00
Zoddo
70c28aace5 [ticket/15737] Add $user_rows to core.delete_user_before
It was added to core.delete_user_after in GH-4905

PHPBB3-15737
2018-07-30 13:02:06 +02:00
Jakub Senko
8276b3d337 [ticket/11847] Add depends_on() to auth_provider_oauth
PHPBB3-11847
2018-07-30 11:37:37 +02:00
Rubén Calvo
a6a3899aea [ticket/15731] Fix language string parameters
PHPBB3-15731
2018-07-30 11:20:42 +02:00
Zoddo
6cce62c0ca [ticket/15735] Add viewtopic_body_postrow_content_after template event
Needed for extensions who adds information at the end of the message
(such as moderator messages).

PHPBB3-15735
2018-07-30 00:24:56 +02:00
Zoddo
5304b7d0b3 [ticket/15735] Add search_results_content_after template event
Needed for extensions who adds information at the end of the message
(such as moderator messages).

PHPBB3-15735
2018-07-30 00:18:57 +02:00
Zoddo
614e10888c [ticket/15735] Add posting_topic_review_row_content_after template event
Needed for extensions who adds information at the end of the message
(such as moderator messages).

PHPBB3-15735
2018-07-30 00:17:52 +02:00
Zoddo
a4e2d89e03 [ticket/15735] Add posting_preview_content_after template event
Needed for extensions who adds information at the end of the message
(such as moderator messages).

PHPBB3-15735
2018-07-29 22:41:06 +02:00
MikelAlejoBR
5be990e959 [ticket/15733] Fix undeclared variable concatenation
PHPBB3-15733
2018-07-29 13:34:59 +02:00
MikelAlejoBR
e710304ef5 [ticket/15733] Correct "changed" tag version to 3.2.4-RC1
PHPBB3-15733
2018-07-29 11:59:46 +02:00
Mikel Alejo
43be40c1ae [ticket/15733] Merge related ticket PHPBB3-15697
PHPBB3-15733
2018-07-29 11:57:34 +02:00
MikelAlejoBR
a7d7dfee9c [ticket/15733] Add "changed" tag to the corresponding comment blocks
PHPBB3-15733
2018-07-28 22:22:38 +02:00
MikelAlejoBR
b2277e7bf6 [ticket/15733] Remove unused code related to deprecated flood control
PHPBB3-15733
2018-07-28 14:29:37 +02:00
MikelAlejoBR
740006ba60 [ticket/15697] Remove unused variable and corresponding input field
PHPBB3-15697
2018-07-28 13:15:31 +02:00
Jakub Senko
76982b430f [ticket/11453] Improve performance of notification.method.messenger_base
PHPBB3-11453
2018-07-27 14:29:35 +02:00
Jakub Senko
4ebd582947 [ticket/11500] Remove unnamed input
PHPBB3-11500
2018-07-26 17:17:27 +02:00
MikelAlejoBR
210c5f5a59 [ticket/15697] Remove hard coded time check when sending PMs
PHPBB3-15697
2018-07-23 17:45:48 +02:00
MikelAlejoBR
12fdfe145a [ticket/15622] Fix quoting in PMs when BBCodes are disabled
Before parsing the private message to be loaded a simple BBCode status
check is done to verify that BBCodes are enabled. Depending on that
option the quote will be formated as BBCode or as plain text, similarly
to what is done in posting.php.

PHPBB3-15622
2018-07-22 17:09:09 +02:00
Marc Alexander
04899d1efd Merge branch 'prep-release-3.2.3' into 3.2.x 2018-07-18 21:54:51 +02:00
Marc Alexander
c72d443738 Merge pull request #5232 from marc1706/ticket/15677
[ticket/15677] Update symfony  to 2.8.42, others to latest
2018-07-18 21:54:12 +02:00
Rubén Calvo
ffcfec044b [ticket/15723] Rewrite gen_rand_string() and gen_rand_string_friendly()
PHPBB3-15723
2018-07-14 11:42:32 +02:00
Toxyy
5fbd4584be [ticket/15719] Add core events to viewtopic to edit the post_list sql query
Event added in viewtopic.php so you can modify post_list sql

The query, sql limit, sql start, sort keys and days are editable

PHPBB3-15719
2018-07-09 16:54:11 -04:00
kasimi
1785b9eb47 [ticket/15590] Add events core.acp_bbcodes_(modify_create|delete)_after
PHPBB3-15590
2018-07-08 20:04:26 +02:00
Tristan Darricau
911c46cc61 Merge branch 'prep-release-3.2.3' into 3.2.x
* prep-release-3.2.3:
2018-07-08 18:50:28 +02:00
Tristan Darricau
c4cef8c427 Merge pull request #5238 from avijc/ticket/15680
[ticket/15680] Point to 3.2 documentation

* github.com:/phpbb/phpbb:
  [ticket/15680] Point to 3.2 documentation
2018-07-08 18:50:28 +02:00
Tristan Darricau
32deb50f5c Merge pull request #5238 from avijc/ticket/15680
[ticket/15680] Point to 3.2 documentation

* github.com:/phpbb/phpbb:
  [ticket/15680] Point to 3.2 documentation
2018-07-08 18:48:18 +02:00
Tristan Darricau
18f142e87d Merge pull request #5239 from avijc/ticket/15683
[ticket/15683] Better error message when commit message has CRLF

* github.com:/phpbb/phpbb:
  [ticket/15683] Better error message when commit message has CRLF
2018-07-08 18:47:37 +02:00
Tristan Darricau
3d9ae6186f Merge pull request #5244 from OxCom/ticket/15678
[ticket/15678] Fix build and cache flow for container

* github.com:/phpbb/phpbb:
  [ticket/15678] Fix build and cache flow for container
2018-07-08 18:46:33 +02:00
Tristan Darricau
7f76d91128 Merge pull request #5249 from senky/ticket/15659
[ticket/15659] Fix retrieve_block_vars()

* github.com:/phpbb/phpbb:
  [ticket/15659] Fix retrieve_block_vars()
2018-07-08 18:43:16 +02:00
Tristan Darricau
71905e50e8 Merge pull request #5250 from senky/ticket/15666
[ticket/15666] Language system is not fully supported in Twig

* github.com:/phpbb/phpbb:
  [ticket/15666] Fix array key in twig lang() call
2018-07-08 18:42:26 +02:00
Tristan Darricau
0e580d2ab0 Merge pull request #5252 from senky/ticket/15674
[ticket/15674] Edit language lines in file en\acp\profile.php

* github.com:/phpbb/phpbb:
  [ticket/15674] Improve CPF lang descriptions
2018-07-08 18:41:42 +02:00
Tristan Darricau
078d076526 Merge pull request #5253 from senky/ticket/15618
[ticket/15618] Display The team link only to users with permission

* github.com:/phpbb/phpbb:
  [ticket/15618] Display The team link only to users with permission
2018-07-08 18:41:04 +02:00
Tristan Darricau
bdd384aa37 Merge pull request #5254 from senky/ticket/15620
[ticket/15620] Use separate local avatar cache file for every lang

* github.com:/phpbb/phpbb:
  [ticket/15620] Use separate local avatar cache file for every lang
2018-07-08 18:40:22 +02:00
Tristan Darricau
e7a1e16bc5 Merge pull request #5256 from senky/ticket/13043
[ticket/13043] Improve HTML5

* github.com:/phpbb/phpbb:
  [ticket/13043] Improve HTML5
2018-07-08 18:38:53 +02:00
Tristan Darricau
e7ad97de3a Merge pull request #5257 from senky/ticket/15651
[ticket/15651] Remove unnecessary condition

* github.com:/phpbb/phpbb:
  [ticket/15651] Remove unnecessary condition
2018-07-08 18:38:13 +02:00
Tristan Darricau
90dc5519c0 Merge pull request #5258 from senky/ticket/15628
[ticket/15628] Add topic link to newtopic_notify.txt

* github.com:/phpbb/phpbb:
  [ticket/15628] Add topic link to newtopic_notify.txt
2018-07-08 18:36:58 +02:00
Tristan Darricau
e680d46865 Merge pull request #5260 from senky/ticket/15696
[ticket/15696] 'if' module tool should support calling other tools

* github.com:/phpbb/phpbb:
  [ticket/15696] Add tests
  [ticket/15696] Add support of other tools to 'if'
2018-07-08 18:36:10 +02:00
Tristan Darricau
f5e3394550 Merge pull request #5261 from senky/ticket/15670
[ticket/15670] Group forum permission: Can see forum gives NO SQL ERROR

* github.com:/phpbb/phpbb:
  [ticket/15670] Fix SQL error when !f_list_topics and f_read
2018-07-08 18:35:29 +02:00
Tristan Darricau
fca72a0f6a Merge pull request #5262 from senky/ticket/15606
[ticket/15606] Hide viewprofile link when unavailable

* github.com:/phpbb/phpbb:
  [ticket/15606] Hide viewprofile link when unavailable
2018-07-08 18:34:12 +02:00
Tristan Darricau
be15d8718d Merge pull request #5269 from 3D-I/ticket/15705
[ticket/15705] fix phpbbcli language vs PHP

* github.com:/phpbb/phpbb:
  [ticket/15705] fix phpbbcli language vs PHP
2018-07-08 18:24:55 +02:00
Tristan Darricau
b0df5e31cf Merge pull request #5277 from ghostal/ticket/15717
[ticket/15717] Using correct variable for log entry

* github.com:/phpbb/phpbb:
  [ticket/15717] Using correct variable for log entry
2018-07-08 18:21:45 +02:00
Tristan Darricau
3d4cc025e0 Merge pull request #5278 from hubaishan/ticket/15673
[ticket/15673] Fix Duplicated links in QuickLinks and main nav bar

* github.com:/phpbb/phpbb:
  [ticket/15673] Fix Duplicated links in QuickLinks and main nav bar
2018-07-08 18:19:39 +02:00
Tristan Darricau
5542070169 Merge pull request #5198 from kasimi/ticket/15637
[ticket/15637] Extract multi-line PHP event descriptions

* github.com:/phpbb/phpbb:
  [ticket/15637] Remove trailing space from description
  [ticket/15637] Preserve line breaks in event descriptions
  [ticket/15637] Updated test fixture to include complete event description
  [ticket/15637] Remove trailing space from description
  [ticket/15637] Fixed removing white-spaces from description line
  [ticket/15637] Extract all lines before the first @tag
  [ticket/15637] Extract multi-line PHP event descriptions
2018-07-08 18:14:20 +02:00
Tristan Darricau
777443d95c Merge pull request #5157 from kasimi/ticket/15583
[ticket/15583] Update session time in AJAX request only once a minute

* github.com:/phpbb/phpbb:
  [ticket/15583] Update session time in AJAX request only once a minute
  [ticket/15583] Update session time in AJAX request only once a minute
2018-07-08 18:06:16 +02:00
Tristan Darricau
9db4983f03 Merge pull request #5185 from SupSuper/ticket/15611
[ticket/15611] Fix misaligned text in responsive user profile

* github.com:/phpbb/phpbb:
  [ticket/15611] Fix misaligned text in responsive user profile
2018-07-08 18:03:59 +02:00
Marc Alexander
a3f7bc2e51 [ticket/15677] Updates for Symfony 2.8.42
PHPBB3-15677
2018-07-08 17:53:05 +02:00
Tristan Darricau
ed48b5f226 Merge pull request #5214 from ioannisbat/patch-1
[ticket/15638] Add word-break for overflowing.

* github.com:/phpbb/phpbb:
  [ticket/15638] Add word-break for overflowing.
2018-07-08 17:52:32 +02:00
Marc Alexander
bf81228d37 [ticket/15677] Update symfony to 2.8.41, others to latest
PHPBB3-15677
2018-07-08 17:49:19 +02:00
Tristan Darricau
219e85c4e0 Merge pull request #5217 from Zoddo/ticket/15656
[ticket/15656] Add "View post" link in the mod logs on the ACP

* github.com:/phpbb/phpbb:
  [ticket/15656] Add "View post" link in the mod logs on the ACP
2018-07-08 17:48:10 +02:00
Tristan Darricau
7f266a3664 Merge pull request #5229 from hubaishan/ticket/15613
[ticket/15613] Fix Notification dropdown said to be not RTL compliant

* github.com:/phpbb/phpbb:
  [ticket/15613] Fix Notification dropdown said to be not RTL compliant
2018-07-08 17:42:14 +02:00
Tristan Darricau
43d7f15a25 Merge pull request #5231 from marc1706/ticket/15676
[ticket/15676] Display privacy notice in footer & allow overriding U_PRIVACY

* github.com:/phpbb/phpbb:
  [ticket/15676] Use paragraphs and classes as suggested by hanakin
  [ticket/15676] Use twig syntax
  [ticket/15676] Simplify link text and use privacy link in cookie notice
  [ticket/15676] Display privacy notice in footer & allow overriding U_PRIVACY
2018-07-08 17:38:27 +02:00
Tristan Darricau
bc7b998632 Merge branch 'prep-release-3.2.3' into 3.2.x
* prep-release-3.2.3:
  [ticket/15676] Use paragraphs and classes as suggested by hanakin
  [ticket/15676] Use twig syntax
  [ticket/15676] Simplify link text and use privacy link in cookie notice
  [ticket/15676] Display privacy notice in footer & allow overriding U_PRIVACY
2018-07-08 17:38:27 +02:00
kasimi
eedcb3bbe1 [ticket/15637] Remove trailing space from description
PHPBB3-15637
2018-07-07 22:41:40 +02:00
kasimi
245f4df47c [ticket/15637] Preserve line breaks in event descriptions
PHPBB3-15637
2018-07-07 21:25:43 +02:00
kasimi
517c601482 [ticket/15637] Updated test fixture to include complete event description
PHPBB3-15637
2018-07-07 20:13:49 +02:00
kasimi
83a8280554 [ticket/15637] Remove trailing space from description
PHPBB3-15637
2018-07-07 20:12:35 +02:00
kasimi
1c8570d0f5 [ticket/15637] Fixed removing white-spaces from description line
PHPBB3-15637
2018-07-07 16:10:23 +02:00
kasimi
21faf69d31 [ticket/15637] Extract all lines before the first @tag
PHPBB3-15637
2018-07-07 16:09:29 +02:00
Jakub Senko
b5daa91650 [ticket/15659] Fix retrieve_block_vars()
PHPBB3-15659
2018-07-07 15:46:24 +02:00
Jakub Senko
9ee7b9b81f [ticket/15696] Add tests
PHPBB3-15696
2018-07-05 09:57:23 +02:00
hubaishan
27aba29d74 [ticket/15673] Fix Duplicated links in QuickLinks and main nav bar
Add required class to common.css

PHPBB3-15673
2018-07-04 16:40:53 +03:00
Alex Miles
a6fb2a6b8e [ticket/15717] Using correct variable for log entry
PHPBB3-15717
2018-07-04 01:23:30 +01:00
3D-I
49c1904823 [ticket/15705] fix phpbbcli language vs PHP
PHPBB3-15705
2018-06-23 20:10:33 +02:00
Marc Alexander
9b56a28be0 Merge branch 'prep-release-3.2.3' into 3.2.x 2018-06-20 22:11:15 +02:00
Marc Alexander
0925a22062 Merge pull request #5233 from rxu/ticket/15678
[ticket/15678] Fix PHP warning in filesystem.php
2018-06-20 22:08:37 +02:00
Marc Alexander
2f3bd918ac [ticket/15676] Use paragraphs and classes as suggested by hanakin
PHPBB3-15676
2018-06-20 21:50:49 +02:00
Jakub Senko
69a75da670 [ticket/15628] Add topic link to newtopic_notify.txt
PHPBB3-15628
2018-06-19 14:41:13 +02:00
Jakub Senko
f671022a6d [ticket/15674] Improve CPF lang descriptions
PHPBB3-15674
2018-06-19 14:40:21 +02:00
Marc Alexander
754945e6ff Merge pull request #5259 from rubencm/ticket/15695
[ticket/15695] Fix gen_rand_string returning less characters than expected
2018-06-19 13:32:10 +02:00
Jakub Senko
1afc0673dd [ticket/15696] Add support of other tools to 'if'
PHPBB3-15696
2018-06-19 07:49:21 +02:00
Rubén Calvo
d4d8aec02a [ticket/15695] Fix gen_rand_string returning less characters than expected
PHPBB3-15695
2018-06-18 22:38:14 +02:00
Jakub Senko
f4a6a2c2d7 [ticket/15606] Hide viewprofile link when unavailable
PHPBB3-15606
2018-06-18 18:53:41 +02:00
Jakub Senko
6deae170bd [ticket/15670] Fix SQL error when !f_list_topics and f_read
PHPBB3-15670
2018-06-18 18:38:53 +02:00
Jakub Senko
6fdb7486ad [ticket/15651] Remove unnecessary condition
module.remove internally check if the module exists

PHPBB3-15651
2018-06-18 17:31:10 +02:00
Jakub Senko
4c3cb4bc5c [ticket/13043] Improve HTML5
PHPBB3-13043
2018-06-18 13:34:02 +02:00
Jakub Senko
4544f5212c [ticket/15620] Use separate local avatar cache file for every lang
PHPBB3-15620
2018-06-18 13:10:19 +02:00
Jakub Senko
c61b9358ff [ticket/15618] Display The team link only to users with permission
PHPBB3-15618
2018-06-18 12:55:24 +02:00
Jakub Senko
5e70c9b831 [ticket/15668] Replace .load() with .on('load')
PHPBB3-15668
2018-06-18 11:58:20 +02:00
Jakub Senko
52f5e54d8a [ticket/15666] Fix array key in twig lang() call
PHPBB3-15666
2018-06-18 11:56:05 +02:00
Marc Alexander
02cbb864a5 Merge pull request #5245 from rubencm/ticket/15693
[ticket/15693] Fix get_rand_string()
2018-06-17 15:44:28 +02:00
Marc Alexander
7245bc9977 Merge branch 'prep-release-3.2.3' into 3.2.x 2018-06-17 15:40:00 +02:00
Marc Alexander
ecf19b13c8 Merge pull request #5218 from senky/ticket/15657
[ticket/15657] Add MCP queue events
2018-06-17 15:38:08 +02:00
Marc Alexander
aea56fcf57 Merge pull request #5246 from marc1706/ticket/15633
[ticket/15633] Double space to single space
2018-06-17 15:35:17 +02:00
scootergrisen
90e4eb2451 [ticket/15633] Double space to single space
Value of GROUP_MAX_RECIPIENTS_EXPLAIN key contains
double space. This removes one of the spaces.

PHPBB3-15633
2018-06-17 14:10:22 +02:00
Marc Alexander
ec87cc1f3e Merge pull request #5190 from Crizz0/ticket/15627
[ticket/15627] Reword the YES_ACCURATE_PM_BUTTON incl explaination
2018-06-17 13:27:06 +02:00
Marc Alexander
ff171f3a3b Merge pull request #5158 from kasimi/ticket/15586
[ticket/15586] Fixed adding module the automatic way without specifying modes
2018-06-17 11:35:08 +02:00
Marc Alexander
9e50e52fa5 [ticket/15693] Update tests to reflect changes to gen_rand_string()
PHPBB3-15693
2018-06-17 11:01:11 +02:00
Rubén Calvo
f75c400db4 [ticket/15693] Fix get_rand_string()
PHPBB3-15693
2018-06-15 19:22:35 +02:00
Andrii Afanasiev
7b44e2c791 [ticket/15678] Fix build and cache flow for container
1. During procedure of building container we have to check both required files
in cache: container_* and autoload_*. This files should be "fresh" and if one
of the does not exist then we have to build it and put into a cache one more
time.

2. Fix typo 'posic_getuid' does not exist, so $php_uid is alwasy was false.

PHPBB3-15678
2018-06-15 09:09:07 +02:00
Marc Alexander
8b7ae7c796 Merge branch 'prep-release-3.2.3' into 3.2.x 2018-06-12 22:35:06 +02:00
Marc Alexander
57cb513b8b Merge pull request #5191 from Crizz0/ticket/15630
[ticket/15630] ACP_COOKIE_SETTINGS_EXPLAIN change <b> to <strong>
2018-06-12 22:34:25 +02:00
Marc Alexander
2aa9fc07d3 Merge branch 'prep-release-3.2.3' into 3.2.x 2018-06-12 22:24:16 +02:00
Marc Alexander
6369637fbf Merge pull request #5192 from Crizz0/ticket/15629
[ticket/15629] Add info to RECAPTCHA_LANG and change to en-GB
2018-06-12 22:22:47 +02:00
Marc Alexander
94d64c672e Merge branch 'prep-release-3.2.3' into 3.2.x 2018-06-12 22:10:05 +02:00
Marc Alexander
32eb2f427c Merge pull request #5226 from rubencm/ticket/15504
[ticket/15504] Fix warning message
2018-06-12 22:06:55 +02:00
kasimi
8283f2393a [ticket/15583] Update session time in AJAX request only once a minute
PHPBB3-15583
2018-06-06 10:40:29 +02:00
Anssi Johansson
9068909051 [ticket/15683] Better error message when commit message has CRLF
When someone tries to do a pull request with incorrect line breaks in the
commit message, the error message as given by Travis is "Unexpected EOF
encountered". The error message should be clearer that CR/LF was the
problem. This change adds a separate check for CRLF line endings.

PHPBB3-15683
2018-06-05 22:20:19 +03:00
Anssi Johansson
5f243ad665 [ticket/15680] Point to 3.2 documentation
The old link pointed to 3.1 documentation

PHPBB3-15680
2018-06-05 21:29:47 +03:00
rxu
bd91b6be87 [ticket/15678] Fix PHP warning in filesystem.php
PHPBB3-15678
2018-06-01 22:51:53 +07:00
rxu
645ceb1bfe [ticket/15548] Fix dead link in ACP_COOKIE_SETTINGS_EXPLAIN language entry
PHPBB3-15548
2018-06-01 14:50:07 +02:00
Marc Alexander
7284bf5883 [ticket/15676] Use twig syntax
PHPBB3-15676
2018-05-31 22:26:17 +02:00
Marc Alexander
25a46ef4b3 [ticket/15676] Simplify link text and use privacy link in cookie notice
PHPBB3-15676
2018-05-31 22:15:36 +02:00
Marc Alexander
b5a79d9a9d Merge branch 'prep-release-3.2.3' into 3.2.x 2018-05-31 19:51:55 +02:00
Marc Alexander
680361e865 Merge pull request #5182 from marc1706/ticket/15604
[ticket/15604] Use HTTPS links for download SQL server drivers
2018-05-31 19:51:16 +02:00
Marc Alexander
c6a35237a2 [ticket/15676] Display privacy notice in footer & allow overriding U_PRIVACY
PHPBB3-15676
2018-05-31 09:31:33 +02:00
hubaishan
ba417ad915 [ticket/15613] Fix Notification dropdown said to be not RTL compliant
Fix Notification dropdown said to be not RTL compliant

PHPBB3-15613
2018-05-27 16:14:05 +03:00
Rubén Calvo
cc4a68f32a [ticket/15504] Fix warning message
PHPBB3-15504
2018-05-25 00:34:31 +02:00
Jakub Senko
04574c75a3 [ticket/15657] Add MCP queue events
PHPBB3-15657
2018-05-03 09:23:57 +02:00
Zoddo
f800bc09f9 [ticket/15656] Add "View post" link in the mod logs on the ACP
This link was added to the MCP view in GH-3870 (PHPBB3-9485) but I
completely forgot the ACP…

Consistency is back!

PHPBB3-15656
2018-05-01 16:32:45 +02:00
Zoddo
1f00f48e71 [ticket/13128] Remove deprecated Sphinx options
These configuration options are deprecated:
 * sql_query_info (since sphinx 2.2.2; used only by the "search" command
    which was removed; wiki need to be updated accordingly)
 * max_matches (since sphinx 2.2.3; should be set in the sphinx query)
 * charset_type (since sphinx 2.2.2; sphinx now supports only utf-8)
 * compat_sphinxql_magics (since sphinx 2.2.1)

PHPBB3-13128
2018-04-23 10:49:53 +02:00
Ioannis Batas
88a23ec40d [ticket/15638] Add word-break for overflowing.
PHPBB3-15638
2018-04-23 10:57:57 +03:00
kasimi
0aea8ecd83 [ticket/15637] Extract multi-line PHP event descriptions
PHPBB3-15637
2018-04-15 18:46:44 +02:00
Christian Schnegelberger
4bb57f9814 [ticket/15629] Add info to RECAPTCHA_LANG and change to en-GB
PHPBB3-15629
2018-04-14 11:44:12 +02:00
Christian Schnegelberger
ab8d328702 [ticket/15630] ACP_COOKIE_SETTINGS_EXPLAIN change <b> to <strong>
PHPBB3-15630
2018-04-14 11:41:02 +02:00
Christian Schnegelberger
71f2801d78 [ticket/15627] Reword the YES_ACCURATE_PM_BUTTON incl explaination
PHPBB3-15627
2018-04-11 19:24:46 +02:00
Daniel
c486634be8 [ticket/15611] Fix misaligned text in responsive user profile
Corrects misaligned header text when viewing a user profile in prosilver
mobile layout by force clearing the columns.

PHPBB3-15611
2018-04-03 13:56:50 +01:00
Derky
7c839470b7 Merge pull request #5182 from marc1706/ticket/15604
[ticket/15604] Use HTTPS links for download SQL server drivers
2018-03-30 21:03:27 +02:00
Marc Alexander
d8c9dd8802 [ticket/15604] Use HTTPS links & curl for SQL server driver download
PHPBB3-15604
2018-03-29 20:38:00 +02:00
Marc Alexander
22a251916c [3.2.x] Update version numbers to 3.2.4-dev 2018-03-26 21:18:16 +02:00
Marc Alexander
b98a81364f Merge branch 'prep-release-3.2.3' into 3.2.x 2018-03-26 21:17:02 +02:00
kasimi
02600626cc [ticket/15590] Add events core.acp_bbcodes_(modify_create|delete)_after
PHPBB3-15590
2018-03-16 12:47:19 +01:00
kasimi
aa9d24ad31 [ticket/15586] Added tests for adding modules the automatic way
PHPBB3-15586
2018-03-11 22:17:26 +01:00
kasimi
2d5fe90ed5 [ticket/15586] Fixed adding module the automatic way without specifying modes
PHPBB3-15586
2018-03-11 15:28:49 +01:00
kasimi
85eceeccbe [ticket/15583] Update session time in AJAX request only once a minute
PHPBB3-15583
2018-03-09 23:51:06 +01:00
371 changed files with 8004 additions and 2466 deletions

View File

@@ -39,7 +39,8 @@ init:
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|]','')
choco install chocolatey -y --version 0.10.13 --allow-downgrade
choco install php -y --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 '([0-9])[.]([0-9])[.]?([0-9]+)?','$1$2')" -Recurse |
Move-Item -destination "c:\tools\php"
cd c:\tools\php
@@ -64,9 +65,9 @@ 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 -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip
curl -o php_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip https://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
curl -o php_pdo_sqlsrv-$($DLLVersion)-$($env:php -replace '([0-9])[.]([0-9])[.]?([0-9]+)?','$1.$2')-nts-vc14-x64.zip https://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
@@ -98,7 +99,7 @@ before_test:
$data = "<?php`n`n`$dbms = 'phpbb\\db\\driver\\postgres';`n`$dbhost = 'localhost';`n`$dbport = '';`n`$dbname = 'phpbb_test';`n`$dbuser = 'postgres';`n`$dbpasswd = 'Password12!';`n`$phpbb_functional_url = 'http://phpbb.test/';"; $data | Out-File -Encoding "Default" "c:\\projects\\phpbb\\tests\\test_config.php"
}
elseif ($env:db -eq "mariadb") {
appveyor-retry cinst -y --force mariadb
appveyor-retry choco install mariadb -y --force
$env:MYSQL_PWD=""
$cmd = '"C:\Program Files\MariaDB 10.2\bin\mysql" -e "create database phpbb_test;" --user=root'
iex "& $cmd"
@@ -106,13 +107,13 @@ before_test:
}
elseif ($env:db -eq "sqlite") {
# install sqlite
appveyor-retry cinst -y sqlite
appveyor-retry choco install sqlite -y
sqlite3 c:\projects\test.db "create table aTable(field1 int); drop table aTable;"
$data = "<?php`n`n`$dbms = 'phpbb\\db\\driver\\sqlite3';`n`$dbhost = 'c:\\projects\\test.db';`n`$dbport = '';`n`$dbname = '';`n`$dbuser = '';`n`$dbpasswd = '';`n`$phpbb_functional_url = 'http://phpbb.test/';"; $data | Out-File -Encoding "Default" "c:\\projects\\phpbb\\tests\\test_config.php"
}
# Install PhantomJS
cinst -y phantomjs
choco install phantomjs -y
Start-Process "phantomjs" "--webdriver=8910" | Out-Null
- ps: |
cd c:\projects\phpbb\phpBB
@@ -120,7 +121,7 @@ before_test:
(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
- choco install urlrewrite -y
- ps: New-WebSite -Name 'phpBBTest' -PhysicalPath 'c:\projects\phpbb\phpBB' -Force
- ps: Import-Module WebAdministration; Set-ItemProperty 'IIS:\Sites\phpBBTest' -name Bindings -value @{protocol='http';bindingInformation='*:80:phpbb.test'}
- echo Change default anonymous user AUTH to ApplicationPool
@@ -141,3 +142,4 @@ before_test:
test_script:
- cd c:\projects\phpbb
- php -e phpBB\vendor\phpunit\phpunit\phpunit --verbose

View File

@@ -1,6 +1,5 @@
language: php
sudo: required
dist: precise
dist: trusty
matrix:
include:

281
LICENSE Normal file
View File

@@ -0,0 +1,281 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS

View File

@@ -31,9 +31,11 @@ Read our [Vagrant documentation](phpBB/docs/vagrant.md) to find out how to use V
We have unit and functional tests in order to prevent regressions. You can view the bamboo continuous integration [here](https://bamboo.phpbb.com) or check our travis builds below:
* [![Build Status](https://travis-ci.org/phpbb/phpbb.svg?branch=master)](http://travis-ci.org/phpbb/phpbb)[![Build status](https://ci.appveyor.com/api/projects/status/8g98ybngd2f3axy1/branch/master?svg=true)](https://ci.appveyor.com/project/phpBB/phpbb/branch/master) **master** - Latest development version
* [![Build Status](https://travis-ci.org/phpbb/phpbb.svg?branch=3.2.x)](http://travis-ci.org/phpbb/phpbb)[![Build status](https://ci.appveyor.com/api/projects/status/8g98ybngd2f3axy1/branch/3.2.x?svg=true)](https://ci.appveyor.com/project/phpBB/phpbb/branch/3.2.x) **3.2.x** - Development of version 3.2.x
* [![Build Status](https://travis-ci.org/phpbb/phpbb.svg?branch=3.1.x)](http://travis-ci.org/phpbb/phpbb) **3.1.x** - Development of version 3.1.x
Travis CI | AppVeyor | Branch | Description
---------- | -------- | ------- | -----------
[![Build Status](https://travis-ci.org/phpbb/phpbb.svg?branch=master)](http://travis-ci.org/phpbb/phpbb) | [![Build status](https://ci.appveyor.com/api/projects/status/8g98ybngd2f3axy1/branch/master?svg=true)](https://ci.appveyor.com/project/phpBB/phpbb/branch/master) | **master** | Latest development version
[![Build Status](https://travis-ci.org/phpbb/phpbb.svg?branch=3.3.x)](http://travis-ci.org/phpbb/phpbb) | [![Build status](https://ci.appveyor.com/api/projects/status/8g98ybngd2f3axy1/branch/3.3.x?svg=true)](https://ci.appveyor.com/project/phpBB/phpbb/branch/3.3.x) | **3.3.x** | Development of version 3.3.x
[![Build Status](https://travis-ci.org/phpbb/phpbb.svg?branch=3.2.x)](http://travis-ci.org/phpbb/phpbb) | [![Build status](https://ci.appveyor.com/api/projects/status/8g98ybngd2f3axy1/branch/3.2.x?svg=true)](https://ci.appveyor.com/project/phpBB/phpbb/branch/3.2.x) | **3.2.x** | Development of version 3.2.x
## LICENSE

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.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" />
<property name="newversion" value="3.2.9" />
<property name="prevversion" value="3.2.8" />
<property name="olderversions" value="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, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6, 3.2.7, 3.2.9-RC1" />
<!-- no configuration should be needed beyond this point -->
<property name="oldversions" value="${olderversions}, ${prevversion}" />

View File

@@ -33,7 +33,7 @@ class build_package
var $status_begun = false;
var $num_dots = 0;
function build_package($versions, $verbose = false)
function __construct($versions, $verbose = false)
{
$this->versions = $versions;
$this->verbose = $verbose;

View File

@@ -0,0 +1,127 @@
#!/usr/bin/env php
<?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.
*
*/
if (version_compare(PHP_VERSION, '7.0-dev', '<'))
{
die('generate_package_json.php requires at least PHP 7.0.');
}
define('IN_PHPBB', true);
include_once('../phpBB/includes/functions.php');
$json_data = new \stdClass();
$json_data->metadata = new stdClass();
$json_data->metadata->current_version_date = '';
$json_data->metadata->current_version = '';
$json_data->metadata->download_path = '';
$json_data->metadata->show_update_package = true;
$json_data->metadata->historic = false;
$json_data->package = [];
// Open build.xml
$build_xml = simplexml_load_file('build.xml');
$current_version = (string) $build_xml->xpath('/project/property[@name=\'newversion\']/@value')[0]->value;
$previous_version = (string) $build_xml->xpath('/project/property[@name=\'prevversion\']/@value')[0]->value;
$older_verions = explode(', ', (string) $build_xml->xpath('/project/property[@name=\'olderversions\']/@value')[0]->value);
// Clean and sort version info
$older_verions[] = $previous_version;
$older_verions = array_filter($older_verions, function($version) {
preg_match(get_preg_expression('semantic_version'), $version, $matches);
return empty($matches['prerelease']) || strpos($matches['prerelease'], 'pl') !== false;
});
usort($older_verions, function($version_a, $version_b)
{
return phpbb_version_compare($version_b, $version_a);
});
// Set metadata
$json_data->metadata->current_version = $current_version;
$json_data->metadata->current_version_date = date('Y-m-d');
$json_data->metadata->download_path = 'https://download.phpbb.com/pub/release/' . preg_replace('#([0-9]+\.[0-9]+)(\..+)#', '$1', $current_version) . '/' . $current_version . '/';
// Add package, patch files, and changed files
phpbb_add_package_file(
$json_data->package,
'phpBB ' . $current_version,
'phpBB-' . $current_version,
'full',
''
);
phpbb_add_package_file(
$json_data->package,
'phpBB ' . $current_version . ' Patch Files',
'phpBB-' . $current_version . '-patch',
'update',
'patch'
);
phpbb_add_package_file(
$json_data->package,
'phpBB ' . $current_version . ' Changed Files',
'phpBB-' . $current_version . '-files',
'update',
'files'
);
// Loop through packages and assign to packages array
foreach ($older_verions as $version)
{
phpbb_add_package_file(
$json_data->package,
'phpBB ' . $version . ' to ' . $current_version . ' Update Package',
'phpBB-' . $version . '_to_' . $current_version,
'update',
'update',
$version
);
}
echo(json_encode($json_data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . "\n");
function phpbb_add_package_file(array &$package_list, $name, $file_name, $type, $subtype, $from = '')
{
if (!file_exists(__DIR__ . '/new_version/release_files/' . $file_name . '.zip'))
{
trigger_error('File does not exist: ' . __DIR__ . '/new_version/release_files/' . $file_name . '.zip');
return;
}
$package_file = new stdClass();
$package_file->name = $name;
$package_file->filename = $file_name;
$package_file->type = $type;
if (!empty($subtype))
{
$package_file->subtype = $subtype;
}
if (!empty($from))
{
$package_file->from = $from;
}
$package_file->files = [];
foreach (['zip', 'tar.bz2'] as $extension)
{
$file_path = 'new_version/release_files/' . $file_name . '.' . $extension;
$filedata = new stdClass();
$filedata->filesize = filesize($file_path);
$filedata->checksum = trim(preg_replace('/(^\w+)(.+)/', '$1', file_get_contents($file_path . '.sha256')));
$filedata->filetype = $extension;
$package_file->files[] = $filedata;
}
$package_list[] = $package_file;
}

Binary file not shown.

View File

@@ -147,6 +147,15 @@ then
quit $ERR_LENGTH;
fi
# Check for CR/LF line breaks
if grep -q $'\r$' "$1"
then
complain "The commit message uses CR/LF line breaks, which are not permitted." >&2
complain >&2
quit $ERR_EOF;
fi
lines=$(wc -l "$1" | awk '{ print $1; }');
expecting=header;
in_description=0;

View File

@@ -37,12 +37,6 @@
<!-- IF S_ATTACHMENT_SETTINGS -->
<!-- IF not S_THUMBNAIL_SUPPORT -->
<div class="errorbox">
<p>{L_NO_THUMBNAIL_SUPPORT}</p>
</div>
<!-- ENDIF -->
<form id="attachsettings" method="post" action="{U_ACTION}">
<!-- BEGIN options -->
<!-- IF options.S_LEGEND -->
@@ -116,7 +110,7 @@
<!-- ELSEIF S_EXTENSION_GROUPS -->
<!-- IF S_EDIT_GROUP -->
<script type="text/javascript" defer="defer">
<script>
// <![CDATA[
function update_image(newimage)
{
@@ -427,17 +421,25 @@
</tr>
</thead>
<tbody>
<!-- BEGIN attachments -->
{% for attachments in attachments %}
<tr>
<td>
<!-- IF attachments.S_IN_MESSAGE -->{L_EXTENSION_GROUP}{L_COLON} <strong><!-- IF attachments.EXT_GROUP_NAME -->{attachments.EXT_GROUP_NAME}<!-- ELSE -->{L_NO_EXT_GROUP}<!-- ENDIF --></strong><br />{attachments.L_DOWNLOAD_COUNT}<br />{L_IN} {L_PRIVATE_MESSAGE}
<!-- ELSE --><a href="{attachments.U_FILE}" style="font-weight: bold;">{attachments.REAL_FILENAME}</a><br /><!-- IF attachments.COMMENT -->{attachments.COMMENT}<br /><!-- ENDIF -->{attachments.L_DOWNLOAD_COUNT}<br />{L_TOPIC}{L_COLON} <a href="{attachments.U_VIEW_TOPIC}">{attachments.TOPIC_TITLE}</a><!-- ENDIF -->
{{ lang('EXTENSION_GROUP') ~ lang('COLON') }} <strong>{{ attachments.EXT_GROUP_NAME }}</strong>
{% if attachments.S_IN_MESSAGE %}
<br>{{ attachments.L_DOWNLOAD_COUNT }}
<br>{{ lang('IN') }} {{ lang('PRIVATE_MESSAGE') }}
{% else %}
<br><a href="{{ attachments.U_FILE }}"><strong>{{ attachments.REAL_FILENAME }}</strong></a>
{% if attachments.COMMENT %}<br>{{ attachments.COMMENT }}{% endif %}
<br>{{ attachments.L_DOWNLOAD_COUNT }}
<br>{{ lang('TOPIC') ~ lang('COLON') }} <a href="{{ attachments.U_VIEW_TOPIC }}">{{ attachments.TOPIC_TITLE }}</a>
{% endif %}
</td>
<td>{attachments.FILETIME}<br />{L_POST_BY_AUTHOR} {attachments.ATTACHMENT_POSTER}</td>
<td class="centered-text">{attachments.FILESIZE}</td>
<td class="centered-text"><input type="checkbox" class="radio" name="delete[{attachments.ATTACH_ID}]" /></td>
<td>{{ attachments.FILETIME }}<br>{{ lang('POST_BY_AUTHOR') }} {{ attachments.ATTACHMENT_POSTER }}</td>
<td class="centered-text">{{ attachments.FILESIZE }}</td>
<td class="centered-text"><input type="checkbox" class="radio" name="delete[{{ attachments.ATTACH_ID }}]" /></td>
</tr>
<!-- END attachments -->
{% endfor %}
</tbody>
</table>
<!-- ELSE -->

View File

@@ -8,7 +8,7 @@
<p>{L_EXPLAIN}</p>
<script type="text/javascript">
<script>
// <![CDATA[
var ban_length = new Array();

View File

@@ -1,6 +1,6 @@
<!-- INCLUDE overall_header.html -->
<script type="text/javascript">
<script>
// <![CDATA[
var form_name = 'acp_contact';

View File

@@ -20,7 +20,6 @@
<p class="submit-buttons">
<input class="button1" type="submit" id="submit" name="submit" value="{L_START_RESTORE}" />&nbsp;
<input class="button2" type="submit" id="delete" name="delete" value="{L_DELETE_BACKUP}" />&nbsp;
<input class="button2" type="submit" id="download" name="download" value="{L_DOWNLOAD_BACKUP}" />
</p>
{S_FORM_TOKEN}
</fieldset>
@@ -36,7 +35,7 @@
<p>{L_ACP_BACKUP_EXPLAIN}</p>
<script type="text/javascript">
<script>
// <![CDATA[
function selector(bool)
@@ -68,13 +67,6 @@
<label><input name="method"<!-- IF methods.S_FIRST_ROW --> id="method" checked="checked"<!-- ENDIF --> type="radio" class="radio" value="{methods.TYPE}" /> {methods.TYPE}</label>
<!-- END methods --></dd>
</dl>
<dl>
<dt><label for="where">{L_ACTION}{L_COLON}</label></dt>
<dd>
<label><input id="where" type="radio" class="radio" name="where" value="store" checked="checked" /> {L_STORE_LOCAL}</label>
<label><input type="radio" class="radio" name="where" value="download" /> {L_DOWNLOAD}</label>
</dd>
</dl>
<dl>
<dt><label for="table">{L_TABLE_SELECT}{L_COLON}</label></dt>
<dd><select id="table" name="table[]" size="10" multiple="multiple">

View File

@@ -4,7 +4,7 @@
<!-- IF S_EDIT_FORUM -->
<script type="text/javascript">
<script>
// <![CDATA[
/**
* Handle displaying/hiding several options based on the forum type
@@ -405,7 +405,7 @@
<!-- ELSEIF S_CONTINUE_SYNC -->
<script type="text/javascript">
<script>
// <![CDATA[
var close_waitscreen = 0;
// no scrollbars...
@@ -421,7 +421,7 @@
<!-- ELSE -->
<script type="text/javascript">
<script>
// <![CDATA[
/**
* Popup search progress bar
@@ -447,7 +447,7 @@
<!-- ENDIF -->
<!-- IF S_RESYNCED -->
<script type="text/javascript">
<script>
// <![CDATA[
var close_waitscreen = 1;
// ]]>

View File

@@ -36,10 +36,12 @@
<dl>
<dt><label for="group_type">{L_GROUP_TYPE}{L_COLON}</label><br /><span>{L_GROUP_TYPE_EXPLAIN}</span></dt>
<dd>
{% EVENT acp_group_types_prepend %}
<label><input name="group_type" type="radio" class="radio" id="group_type" value="{GROUP_TYPE_FREE}"{GROUP_FREE} /> {L_GROUP_OPEN}</label>
<label><input name="group_type" type="radio" class="radio" value="{GROUP_TYPE_OPEN}"{GROUP_OPEN} /> {L_GROUP_REQUEST}</label>
<label><input name="group_type" type="radio" class="radio" value="{GROUP_TYPE_CLOSED}"{GROUP_CLOSED} /> {L_GROUP_CLOSED}</label>
<label><input name="group_type" type="radio" class="radio" value="{GROUP_TYPE_HIDDEN}"{GROUP_HIDDEN} /> {L_GROUP_HIDDEN}</label>
{% EVENT acp_group_types_append %}
</dd>
</dl>
<!-- ELSE -->

View File

@@ -4,7 +4,7 @@
<!-- IF S_EDIT -->
<script type="text/javascript" defer="defer">
<script>
// <![CDATA[
<!-- IF S_ADD_CODE -->

View File

@@ -4,7 +4,7 @@
<!-- IF S_EDIT_MODULE -->
<script type="text/javascript">
<script>
// <![CDATA[
function display_options(value)
{

View File

@@ -4,7 +4,7 @@
<!-- IF S_EDIT -->
<script type="text/javascript">
<script>
// <![CDATA[
var active_pmask = '0';
var active_fmask = '0';
@@ -20,7 +20,7 @@
// ]]>
</script>
<script type="text/javascript" src="style/permissions.js"></script>
<script src="style/permissions.js"></script>
<a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>

View File

@@ -1,31 +1,10 @@
<script type="text/javascript">
<script>
// <![CDATA[
// Define the bbCode tags
var bbcode = new Array();
var bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]','[flash=]', '[/flash]','[size=]','[/size]'<!-- BEGIN custom_tags -->, {custom_tags.BBCODE_NAME}<!-- END custom_tags -->);
// Helpline messages
var help_line = {
b: '{LA_BBCODE_B_HELP}',
i: '{LA_BBCODE_I_HELP}',
u: '{LA_BBCODE_U_HELP}',
q: '{LA_BBCODE_Q_HELP}',
c: '{LA_BBCODE_C_HELP}',
l: '{LA_BBCODE_L_HELP}',
o: '{LA_BBCODE_O_HELP}',
p: '{LA_BBCODE_P_HELP}',
w: '{LA_BBCODE_W_HELP}',
a: '{LA_BBCODE_A_HELP}',
s: '{LA_BBCODE_S_HELP}',
f: '{LA_BBCODE_F_HELP}',
y: '{LA_BBCODE_Y_HELP}',
d: '{LA_BBCODE_D_HELP}'
<!-- BEGIN custom_tags -->
,cb_{custom_tags.BBCODE_ID}{L_COLON} '{custom_tags.A_BBCODE_HELPLINE}'
<!-- END custom_tags -->
}
// ]]>
</script>
@@ -65,7 +44,7 @@
</select>
<!-- EVENT acp_posting_buttons_custom_tags_before -->
<!-- BEGIN custom_tags -->
<input type="button" class="button2" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})" title="{custom_tags.BBCODE_HELPLINE}" />
<input type="button" class="button2" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})" title="{{ custom_tags.BBCODE_HELPLINE|e('html_attr') }}" />
<!-- END custom_tags -->
</div>
<!-- EVENT acp_posting_buttons_after -->

View File

@@ -238,7 +238,7 @@
<form id="profile_fields" method="post" action="{U_ACTION}">
<fieldset class="quick">
<input class="text small" type="text" name="field_ident" /> <select name="field_type">{S_TYPE_OPTIONS}</select>
<select name="field_type">{S_TYPE_OPTIONS}</select>
<input class="button1" type="submit" name="submit" value="{L_CREATE_NEW_FIELD}" />
<input type="hidden" name="create" value="1" />
{S_FORM_TOKEN}

View File

@@ -6,7 +6,7 @@
<a href="{U_BACK}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
<script type="text/javascript">
<script>
// <![CDATA[
function update_image(newimage)
{

View File

@@ -69,7 +69,7 @@
<!-- ELSEIF S_INDEX -->
<script type="text/javascript">
<script>
// <![CDATA[
/**
* Popup search progress bar

View File

@@ -146,7 +146,9 @@
{styles_list.EXTRA}
<td class="{$ROW_CLASS} mark" width="20">
<!-- IF styles_list.STYLE_ID -->
<input class="checkbox" type="checkbox" name="ids[]" value="{styles_list.STYLE_ID}" />
{% if styles_list.STYLE_NAME !== 'prosilver' %}
<input class="checkbox" type="checkbox" name="ids[]" value="{styles_list.STYLE_ID}" />
{% endif %}
<!-- ELSE -->
<!-- IF styles_list.COMMENT != '' -->
&nbsp;

View File

@@ -79,7 +79,7 @@
<!-- IF not S_USER_FOUNDER or S_FOUNDER -->
<script type="text/javascript">
<script>
// <![CDATA[
function display_reason(option)

View File

@@ -1,4 +1,4 @@
<script type="text/javascript">
<script>
// <![CDATA[
var default_dateformat = '{A_DEFAULT_DATEFORMAT}';
// ]]>
@@ -33,7 +33,7 @@
<dt><label for="notifymethod">{L_NOTIFY_METHOD}{L_COLON}</label><br /><span>{L_NOTIFY_METHOD_EXPLAIN}</span></dt>
<dd><label><input type="radio" class="radio" name="notifymethod" value="0"<!-- IF NOTIFY_EMAIL --> id="notifymethod" checked="checked"<!-- ENDIF --> /> {L_NOTIFY_METHOD_EMAIL}</label>
<label><input type="radio" class="radio" name="notifymethod" value="1"<!-- IF NOTIFY_IM --> id="notifymethod" checked="checked"<!-- ENDIF --><!-- IF S_JABBER_DISABLED --> disabled="disabled"<!-- ENDIF --> /> {L_NOTIFY_METHOD_IM}</label>
<label><input type="radio" class="radio" name="notifymethod" value="2"<!-- IF NOTIFY_BOTH --> id="notifymethod" checked="checked"<!-- ENDIF --> /> {L_NOTIFY_METHOD_BOTH}</label></dd>
<label><input type="radio" class="radio" name="notifymethod" value="2"<!-- IF NOTIFY_BOTH --> id="notifymethod" checked="checked"<!-- ENDIF --><!-- IF S_JABBER_DISABLED --> disabled="disabled"<!-- ENDIF --> /> {L_NOTIFY_METHOD_BOTH}</label></dd>
</dl>
<dl>
<dt><label for="notifypm">{L_NOTIFY_ON_PM}{L_COLON}</label></dt>

View File

@@ -1,4 +1,4 @@
<script type="text/javascript">
<script>
// <![CDATA[
var form_name = 'user_signature';

View File

@@ -840,6 +840,7 @@ table.zebra-table tbody tr:nth-child(odd) {
}
.row2 {
word-break: break-all;
background-color: #DCEBFE;
}

View File

@@ -6,12 +6,14 @@
<div id="page-footer">
<div class="copyright">
Powered by <a href="https://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Limited
{% if S_COPYRIGHT_HTML %}
{{ CREDIT_LINE }}
{% endif %}
</div>
</div>
</div>
<script type="text/javascript">
<script>
<!--
installLang = {
title: '{LA_TIMEOUT_DETECTED_TITLE}',
@@ -20,9 +22,9 @@ installLang = {
//-->
</script>
<script type="text/javascript" src="{T_JQUERY_LINK}"></script>
<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js">\x3C/script>');</script><!-- ENDIF -->
<script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
<script src="{T_JQUERY_LINK}"></script>
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js">\x3C/script>');</script><!-- ENDIF -->
<script src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
<!-- INCLUDEJS admin.js -->
{$SCRIPTS}

View File

@@ -33,9 +33,9 @@
</div>
</div>
<script type="text/javascript" src="{T_JQUERY_LINK}"></script>
<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
<script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
<script src="{T_JQUERY_LINK}"></script>
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
<script src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
<!-- INCLUDEJS ajax.js -->
<!-- INCLUDEJS admin.js -->

View File

@@ -10,7 +10,7 @@
<link href="{T_FONT_AWESOME_LINK}" rel="stylesheet">
<link href="style/admin.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript">
<script>
// <![CDATA[
var jump_page = '{LA_JUMP_PAGE}{L_COLON}';
var on_page = '{CURRENT_PAGE}';

View File

@@ -1,5 +1,5 @@
<script type="text/javascript">
<script>
// <![CDATA[
var active_pmask = '0';
var active_fmask = '0';
@@ -9,12 +9,14 @@
var role_options = new Array();
var no_role_assigned = "{LA_NO_ROLE_ASSIGNED}";
<!-- IF S_ROLE_JS_ARRAY -->
{S_ROLE_JS_ARRAY}
<!-- ENDIF -->
// ]]>
</script>
<script type="text/javascript" src="style/permissions.js"></script>
<script src="style/permissions.js"></script>
<!-- BEGIN p_mask -->
<div class="clearfix"></div>

View File

@@ -279,6 +279,10 @@ function reset_role(id) {
}
t.options[0].selected = true;
var parent = t.parentNode;
parent.querySelector('span.dropdown-trigger').innerText = no_role_assigned;
parent.querySelector('input[data-name^=role]').value = '0';
}
/**

View File

@@ -1,6 +1,6 @@
<!-- INCLUDE simple_header.html -->
<script type="text/javascript">
<script>
// <![CDATA[
/**
* Close previously opened popup
@@ -31,7 +31,7 @@
<p>{L_PROGRESS_EXPLAIN}</p>
</div>
<script type="text/javascript">
<script>
// <![CDATA[
close_popup();
// ]]>

View File

@@ -16,9 +16,9 @@
</div>
<script type="text/javascript" src="{T_JQUERY_LINK}"></script>
<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
<script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
<script src="{T_JQUERY_LINK}"></script>
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
<script src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
<!-- EVENT acp_simple_footer_after -->
{$SCRIPTS}

View File

@@ -9,7 +9,7 @@
<link href="style/admin.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript">
<script>
// <![CDATA[
var jump_page = '{LA_JUMP_PAGE}{L_COLON}';
var on_page = '{CURRENT_PAGE}';

View File

@@ -20,6 +20,13 @@ var phpbbAlertTimer = null;
phpbb.isTouch = (window && typeof window.ontouchstart !== 'undefined');
// Add ajax pre-filter to prevent cross-domain script execution
$.ajaxPrefilter(function(s) {
if (s.crossDomain) {
s.contents.script = false;
}
});
/**
* Display a loading screen
*
@@ -935,9 +942,9 @@ phpbb.addAjaxCallback('alt_text', function() {
$anchor.each(function() {
var $this = $(this);
altText = $this.attr('data-alt-text');
$this.attr('data-alt-text', $this.text());
$this.attr('title', $.trim(altText));
$this.text(altText);
$this.attr('data-alt-text', $.trim($this.text()));
$this.attr('title', altText);
$this.children('span').text(altText);
});
});
@@ -1332,7 +1339,6 @@ phpbb.toggleDropdown = function() {
marginLeft: 0,
left: 0,
marginRight: 0,
right: 0,
maxWidth: (windowWidth - 4) + 'px'
});
@@ -1644,7 +1650,7 @@ phpbb.lazyLoadAvatars = function loadAvatars() {
});
};
$(window).load(phpbb.lazyLoadAvatars);
$(window).on('load', phpbb.lazyLoadAvatars);
/**
* Apply code editor to all textarea elements with data-bbcode attribute

View File

@@ -17,17 +17,10 @@ var is_ie = ((clientPC.indexOf('msie') !== -1) && (clientPC.indexOf('opera') ===
var is_win = ((clientPC.indexOf('win') !== -1) || (clientPC.indexOf('16bit') !== -1));
var baseHeight;
/**
* Shows the help messages in the helpline window
*/
function helpline(help) {
document.forms[form_name].helpbox.value = help_line[help];
}
/**
* Fix a bug involving the TextRange object. From
* http://www.frostjedi.com/terra/scripts/demo/caretBug.html
*/
*/
function initInsertions() {
var doc;
@@ -104,8 +97,8 @@ function bbfontstyle(bbopen, bbclose) {
}
// IE
else if (document.selection) {
var range = textarea.createTextRange();
range.move("character", new_pos);
var range = textarea.createTextRange();
range.move("character", new_pos);
range.select();
storeCaret(textarea);
}

File diff suppressed because one or more lines are too long

View File

@@ -21,7 +21,9 @@ phpbb.plupload.initialize = function() {
// Only execute if Plupload initialized successfully.
phpbb.plupload.uploader.bind('Init', function() {
phpbb.plupload.form = $(phpbb.plupload.config.form_hook)[0];
phpbb.plupload.rowTpl = $('#attach-row-tpl')[0].outerHTML;
let $attachRowTemplate = $('#attach-row-tpl');
$attachRowTemplate.removeClass('attach-row-tpl');
phpbb.plupload.rowTpl = $attachRowTemplate[0].outerHTML;
// Hide the basic upload panel and remove the attach row template.
$('#attach-row-tpl, #attach-panel-basic').remove();
@@ -88,6 +90,12 @@ phpbb.plupload.getSerializedData = function() {
obj['attachment_data[' + i + '][' + key + ']'] = datum[key];
}
}
// Insert form data
var $pluploadForm = $(phpbb.plupload.config.form_hook).first();
obj.creation_time = $pluploadForm.find('input[type=hidden][name="creation_time"]').val();
obj.form_token = $pluploadForm.find('input[type=hidden][name="form_token"]').val();
return obj;
};
@@ -211,7 +219,7 @@ phpbb.plupload.updateHiddenData = function(row, attach, index) {
.attr('type', 'hidden')
.attr('name', 'attachment_data[' + index + '][' + key + ']')
.attr('value', attach[key]);
$('textarea', row).after(input);
$(row).append(input);
}
};
@@ -262,6 +270,17 @@ phpbb.plupload.deleteFile = function(row, attachId) {
return;
}
// Handle errors while deleting file
if (typeof response.error !== 'undefined') {
phpbb.alert(phpbb.plupload.lang.ERROR, response.error.message);
// We will have to assume that the deletion failed. So leave the file status as uploaded.
row.find('.file-status').toggleClass('file-uploaded');
return;
}
phpbb.plupload.update(response, 'removal', index);
// Check if the user can upload files now if he had reached the max files limit.
phpbb.plupload.handleMaxFilesReached();
@@ -444,6 +463,44 @@ phpbb.plupload.fileError = function(file, error) {
phpbb.plupload.uploader = new plupload.Uploader(phpbb.plupload.config);
phpbb.plupload.initialize();
/**
* Add a file filter to check for max file sizes per mime type.
*/
plupload.addFileFilter('mime_types_max_file_size', function(types, file, callback) {
if (file.size !== 'undefined') {
$(types).each(function(i, type) {
let extensions = [],
extsArray = type.extensions.split(',');
$(extsArray).each(function(i, extension) {
/^\s*\*\s*$/.test(extension) ? extensions.push("\\.*") : extensions.push("\\." + extension.replace(new RegExp("[" + "/^$.*+?|()[]{}\\".replace(/./g, "\\$&") + "]", "g"), "\\$&"));
});
let regex = new RegExp("(" + extensions.join("|") + ")$", "i");
if (regex.test(file.name)) {
if (type.max_file_size !== 'undefined' && type.max_file_size) {
if (file.size > type.max_file_size) {
phpbb.plupload.uploader.trigger('Error', {
code: plupload.FILE_SIZE_ERROR,
message: plupload.translate('File size error.'),
file: file
});
callback(false);
} else {
callback(true);
}
} else {
callback(true);
}
return false;
}
});
}
});
var $fileList = $('#file-list');
/**

File diff suppressed because one or more lines are too long

View File

@@ -71,9 +71,12 @@ require($phpbb_root_path . 'includes/compatibility_globals.' . $phpEx);
register_compatibility_globals();
/** @var \phpbb\config\config $config */
$config = $phpbb_container->get('config');
/** @var \phpbb\language\language $language */
$language = $phpbb_container->get('language');
$language->set_default_language($phpbb_container->get('config')['default_lang']);
$language->set_default_language($config['default_lang']);
$language->add_lang(array('common', 'acp/common', 'cli'));
/* @var $user \phpbb\user */

View File

@@ -31,9 +31,9 @@
"guzzlehttp/guzzle": "~5.3",
"lusitanian/oauth": "^0.8.1",
"marc1706/fast-image-size": "^1.1",
"paragonie/random_compat": "^1.4",
"paragonie/random_compat": "^2.0",
"patchwork/utf8": "^1.1",
"s9e/text-formatter": "~0.13.0",
"s9e/text-formatter": "^1.3",
"symfony/config": "^2.8",
"symfony/console": "^2.8",
"symfony/debug": "^2.8",

664
phpBB/composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -122,7 +122,13 @@ services:
group_helper:
class: phpbb\group\helper
arguments:
- '@auth'
- '@cache'
- '@config'
- '@language'
- '@dispatcher'
- '@path_helper'
- '@user'
log:
class: phpbb\log\log

View File

@@ -3,6 +3,7 @@ services:
class: phpbb\avatar\manager
arguments:
- '@config'
- '@dispatcher'
- '@avatar.driver_collection'
# ----- Avatar drivers -----

View File

@@ -208,6 +208,7 @@ services:
console.command.thumbnail.delete:
class: phpbb\console\command\thumbnail\delete
arguments:
- '@config'
- '@user'
- '@dbal.conn'
- '%core.root_path%'
@@ -217,6 +218,7 @@ services:
console.command.thumbnail.generate:
class: phpbb\console\command\thumbnail\generate
arguments:
- '@config'
- '@user'
- '@dbal.conn'
- '@cache'

View File

@@ -35,6 +35,7 @@ services:
- '@config_text'
- '@dbal.conn'
- '@user'
- '@dispatcher'
- '%core.root_path%'
- '%core.php_ext%'

View File

@@ -33,13 +33,6 @@ services:
tags:
- { name: install_obtain_data, order: 40 }
installer.obtain_data.obtain_imagick_path:
class: phpbb\install\module\obtain_data\task\obtain_imagick_path
arguments:
- '@installer.helper.config'
tags:
- { name: install_obtain_data, order: 60 }
installer.obtain_data.obtain_server_data:
class: phpbb\install\module\obtain_data\task\obtain_server_data
arguments:

View File

@@ -156,6 +156,7 @@ $u_permissions = array(
'u_download' => array(0, 1),
'u_attach' => array(0, 1),
'u_sig' => array(0, 1),
'u_emoji' => array(0, 1),
'u_pm_attach' => array(0, 1),
'u_pm_bbcode' => array(0, 1),
'u_pm_smilies' => array(0, 1),

View File

@@ -50,6 +50,19 @@
<ol>
<li><a href="#changelog">Changelog</a>
<ul>
<li><a href="#v329rc1">Changes since 3.2.9-RC1</a></li>
<li><a href="#v328">Changes since 3.2.8</a></li>
<li><a href="#v328rc1">Changes since 3.2.8-RC1</a></li>
<li><a href="#v327">Changes since 3.2.7</a></li>
<li><a href="#v326">Changes since 3.2.6</a></li>
<li><a href="#v326rc1">Changes since 3.2.6-RC1</a></li>
<li><a href="#v325">Changes since 3.2.5</a></li>
<li><a href="#v325rc1">Changes since 3.2.5-RC1</a></li>
<li><a href="#v324">Changes since 3.2.4</a></li>
<li><a href="#v324rc1">Changes since 3.2.4-RC1</a></li>
<li><a href="#v323">Changes since 3.2.3</a></li>
<li><a href="#v323rc2">Changes since 3.2.3-RC2</a></li>
<li><a href="#v323rc1">Changes since 3.2.3-RC1</a></li>
<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>
@@ -129,6 +142,467 @@
<div class="inner">
<div class="content">
<a name="v329rc1"></a><h3>Changes since 3.2.9-RC1</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15592">PHPBB3-15592</a>] - &quot;Place inline&quot; button appears when BBcode is disabled (Post settings)</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16269">PHPBB3-16269</a>] - Sphinx backend indexes HTML markup as keywords</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16282">PHPBB3-16282</a>] - Default jQuery CDN URL is outdated on new installs</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16271">PHPBB3-16271</a>] - Add support for 3.3.x API documentation</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16279">PHPBB3-16279</a>] - Add permission for Emojii in topic title</li>
</ul>
<h4>Security</h4>
<ul>
<li>[SECURITY-249] - Group avatar overwrite on invalid submit</li>
<li>[SECURITY-250] - Group leader can be tricked into approving user</li>
</ul>
<h4>Hardening</h4>
<ul>
<li>[SECURITY-251] - Unwanted move of PMs to folders</li>
<li>[SECURITY-252] - PMs of unsuspecting users can be marked as important</li>
<li>[SECURITY-253] - PM export without proper validation</li>
</ul>
<a name="v328"></a><h3>Changes since 3.2.8</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14815">PHPBB3-14815</a>] - The facebook page link is not displayed properly in memberlist.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15643">PHPBB3-15643</a>] - $phpbb_filesystem-&gt;resolve_path() may trigger open_basedir restriction</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15902">PHPBB3-15902</a>] - Out of range error with Sphinx search</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16056">PHPBB3-16056</a>] - JPEG dimensions undetectable for some kind of jpeg files</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16076">PHPBB3-16076</a>] - Limit attachment size by extension group</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16141">PHPBB3-16141</a>] - plupload chunk_size calculation incorrect when one or more settings are 'unlimited'</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16150">PHPBB3-16150</a>] - Post title link urls not reliable when shared</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16156">PHPBB3-16156</a>] - Bots see both register and logout links in the navbar</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16157">PHPBB3-16157</a>] - Incorrect FORM_INVALID error message while sending email form</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16181">PHPBB3-16181</a>] - OAuth provider id needs to be quoted</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16184">PHPBB3-16184</a>] - Mark read button only works once</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16199">PHPBB3-16199</a>] - Guest posting CAPTCHA is being generated with no guest posting auth</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16209">PHPBB3-16209</a>] - Nginx example configuration file blocks an image in the ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16210">PHPBB3-16210</a>] - Terms of use should not be skippable</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16211">PHPBB3-16211</a>] - COPPA should not be skippable</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16216">PHPBB3-16216</a>] - Disable xdebug in travis builds</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16217">PHPBB3-16217</a>] - Enable opcache in travis CI builds</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16228">PHPBB3-16228</a>] - BBCode definitions with an optional attribute and a non-TEXT content are not merged correctly</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16242">PHPBB3-16242</a>] - Redirect loop when install folder doesn't exist</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16252">PHPBB3-16252</a>] - Ignore non-BBCodes when looking for unauthorized markup</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16257">PHPBB3-16257</a>] - Typo in Email Settings section</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16258">PHPBB3-16258</a>] - Sample Sphinx configuration file causes delta index to only include the most recent post</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16084">PHPBB3-16084</a>] - Pointless radio button for database backup in 3.2.7 </li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16139">PHPBB3-16139</a>] - Add core.viewtopic_modify_quick_reply_template_vars</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16140">PHPBB3-16140</a>] - Add new event to UCP Edit Profile Page</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16143">PHPBB3-16143</a>] - Add core events for move topics</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16144">PHPBB3-16144</a>] - NO_STYLE_DATA - Provide extra fallback to board's default style for $user.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16146">PHPBB3-16146</a>] - Add core event for after move the forum</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16148">PHPBB3-16148</a>] - Add template events to acp_groups.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16151">PHPBB3-16151</a>] - Enable Emojis and rich text in forum name</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16153">PHPBB3-16153</a>] - Enable Emojis and rich text in topic title</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16159">PHPBB3-16159</a>] - Wrap post times in html time tag</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16174">PHPBB3-16174</a>] - Event for disabling cookie creation</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16182">PHPBB3-16182</a>] - Add core.generate_smilies_modify_rowset</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16183">PHPBB3-16183</a>] - Add core.generate_smilies_count_sql_before</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16203">PHPBB3-16203</a>] - Enable Emojis and rich text in sent Emails</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16247">PHPBB3-16247</a>] - Quote PM has no identifier</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16251">PHPBB3-16251</a>] - Shortened link text shouldn't override custom plugins</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15422">PHPBB3-15422</a>] - Remove the unnecessary helpline function and help_line variable</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16147">PHPBB3-16147</a>] - Updated tokens legend in BBCodes ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16160">PHPBB3-16160</a>] - Add script for generating package json file</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16172">PHPBB3-16172</a>] - Add &quot;Rank:&quot; or &quot;Group rank:&quot; in the memberlist</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16224">PHPBB3-16224</a>] - Update composer dependencies</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16246">PHPBB3-16246</a>] - Prettify and update README Automated Testing section</li>
</ul>
<a name="v328rc1"></a><h3>Changes since 3.2.8-RC1</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15467">PHPBB3-15467</a>] - Permission settings do not take affect when set using All YES/NO/NEVER</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16123">PHPBB3-16123</a>] - PHP error (Array to string conversion) on new user registration if email address is banned and &quot; Reason shown to the banned&quot; is empty</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16136">PHPBB3-16136</a>] - Missing word in 'AUTH_PROVIDER_OAUTH_ERROR_ALREADY_LINKED' </li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16134">PHPBB3-16134</a>] - Exclude group leaders on group member purge</li>
</ul>
<h4>Security Issue</h4>
<ul>
<li>[SECURITY-243] - CSS injection via BBCode tag</li>
<li>[SECURITY-244] - Missing form token check when handling attachments</li>
<li>[SECURITY-246] - Missing form token check when managing BBCodes</li>
</ul>
<h4>Hardening</h4>
<ul>
<li>[SECURITY-247] - Disable MySQLi local infile to prevent local file inclusion</li>
</ul>
<a name="v327"></a><h3>Changes since 3.2.7</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13175">PHPBB3-13175</a>] - External accounts can be linked to more than one local account</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14459">PHPBB3-14459</a>] - Check language input for group</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15211">PHPBB3-15211</a>] - Emoji characters in forum name causing SQL errors</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15885">PHPBB3-15885</a>] - Group rank not displaying on memberlist_body</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15897">PHPBB3-15897</a>] - Unicode Characters in Attachment Comment Causes mySQL Error </li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15932">PHPBB3-15932</a>] - Users can delete their attachments in the UCP, even if the post is locked</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15961">PHPBB3-15961</a>] - SMTP support for TLS is forcing use of deprecated TLS 1.0</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15974">PHPBB3-15974</a>] - The link &quot;Back to previous page&quot; can redirect to another page, not the previous one</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15976">PHPBB3-15976</a>] - Changing account settings without changing password resets user_passchg</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15982">PHPBB3-15982</a>] - Q&amp;A captcha plug-in still throws PHP 7.2.x countable warning</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16003">PHPBB3-16003</a>] - Post count not updated when deleting only post in topic</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16021">PHPBB3-16021</a>] - Recognize number of Template Event instances in events.md file</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16040">PHPBB3-16040</a>] - Topic Icon with space in filename isn't displayed by viewforum_body.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16048">PHPBB3-16048</a>] - Unable to restore any backup from ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16050">PHPBB3-16050</a>] - PHP warning in MCP banning tab on PHP 7.2+</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16053">PHPBB3-16053</a>] - BBCodes using {TEXT} in HTML tags no longer work</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16054">PHPBB3-16054</a>] - Style templates no longer able to login &quot;from any page.&quot;</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16055">PHPBB3-16055</a>] - Unable to login using Oauth via Forums, topics or posts</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16061">PHPBB3-16061</a>] - Migrator never drops unique indexes</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16063">PHPBB3-16063</a>] - board_dst config value is not removed from config table after conversion</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16066">PHPBB3-16066</a>] - Banned or suspended user receives &quot;The submitted form was invalid. Try submitting again.&quot;</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16071">PHPBB3-16071</a>] - Undefined index for custom attachments groups</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16073">PHPBB3-16073</a>] - Fix warning in ACP version check</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16074">PHPBB3-16074</a>] - Twemoji -fe0f sequence not rendering</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16075">PHPBB3-16075</a>] - PM filter “sent to my default usergroup” triggers array to string conversion warning</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16080">PHPBB3-16080</a>] - Warnings When a Style exists on database but not on FTP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16093">PHPBB3-16093</a>] - Attach row template always gets displayed with JS disabled</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16096">PHPBB3-16096</a>] - MySQL full text search always uses MyISAM limits</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16124">PHPBB3-16124</a>] - Incorrect users search by last visit time in memberlist.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16126">PHPBB3-16126</a>] - AppVeyor builds fail due to chocolatey being unable to install PHP</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15745">PHPBB3-15745</a>] - Hardcoded lang in credit line</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15886">PHPBB3-15886</a>] - Group helper functions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15946">PHPBB3-15946</a>] - Add event - core.posting_modify_row_data</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15967">PHPBB3-15967</a>] - Unambiguous wording in user activation request email to Admin/Moderator</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15984">PHPBB3-15984</a>] - Use of 'Cache-Control: public' for serving files</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16000">PHPBB3-16000</a>] - Provide link to PHP Date Function in both ACP and UCP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16013">PHPBB3-16013</a>] - Do not prevent username changes in ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16019">PHPBB3-16019</a>] - Deny prosilver's uninstallation</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16024">PHPBB3-16024</a>] - Add core.topic_review_modify_sql_ary</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16025">PHPBB3-16025</a>] - Add 2 template events *_author_username_{append/prepend}</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16047">PHPBB3-16047</a>] - ACP Private Messages: Wording could be better</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16058">PHPBB3-16058</a>] - Remove sudo required from travis config</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16065">PHPBB3-16065</a>] - Undefined index: user_ip in oauth.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16068">PHPBB3-16068</a>] - Incorrect docblock parameter types</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16070">PHPBB3-16070</a>] - Remove support for WebSTAR and Xitami</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16078">PHPBB3-16078</a>] - Use chrome webdriver for UI tests</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16089">PHPBB3-16089</a>] - Add core.confirm_box_ajax_before</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16097">PHPBB3-16097</a>] - Add core.viewtopic_gen_sort_selects_before</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16102">PHPBB3-16102</a>] - Add core.posting_modify_post_subject</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16103">PHPBB3-16103</a>] - Add core.pm_modify_message_subject</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16106">PHPBB3-16106</a>] - Add core.mcp_main_before</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16107">PHPBB3-16107</a>] - Add mcp_move_destination_forum_before|after</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16108">PHPBB3-16108</a>] - Add topiclist_row_topic_by_author_before|after</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16109">PHPBB3-16109</a>] - Custom Profile Field visibility is incorrectly explained</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16111">PHPBB3-16111</a>] - Add core.message_history_modify_sql_ary</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16113">PHPBB3-16113</a>] - Add core.mcp_topic_modify_sql_ary</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16114">PHPBB3-16114</a>] - Add 2 mcp_topic_post_author_full_{append/prepend}</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16127">PHPBB3-16127</a>] - Add UI for Mass email $max_chunk_size</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16129">PHPBB3-16129</a>] - The attachment's ALT tag is supposed to describe the image, not the file.</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16067">PHPBB3-16067</a>] - Define trusty build environment for travis builds</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16112">PHPBB3-16112</a>] - Update composer dependencies to latest</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16119">PHPBB3-16119</a>] - The text input for poll question has a too high maxlength attribute</li>
</ul>
<h4>Hardening</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16101">PHPBB3-16101</a>] - Add Referrer-Policy header</li>
</ul>
<a name="v326"></a><h3>Changes since 3.2.6</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16034">PHPBB3-16034</a>] - Links created with [url=] - are sometimes incorrectly shortened</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16036">PHPBB3-16036</a>] - Cannot login with 3.2.6</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16037">PHPBB3-16037</a>] - Private message ViewFolder Broken</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16039">PHPBB3-16039</a>] - Unable to change announcement to standard topic due to missing global</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16042">PHPBB3-16042</a>] - Use S_LOGIN_REDIRECT to output login form token</li>
</ul>
<a name="v326rc1"></a><h3>Changes since 3.2.6-RC1</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16027">PHPBB3-16027</a>] - Appveyor builds fail on PHP 7.0</li>
</ul>
<h4>Security Issue</h4>
<ul>
<li>[SECURITY-231] - Remote avatar functionality allows checking for files and ports on local network</li>
<li>[SECURITY-235] - Fulltext native search can be used to cause long execution times</li>
</ul>
<h4>Hardening</h4>
<ul>
<li>[SECURITY-228] - Require form token in login_box</li>
<li>[SECURITY-233] - SMTP auth data shouldn't be cached</li>
<li>[SECURITY-234] - Main website URL in Admin Control Panel should not support JS URLs</li>
</ul>
<a name="v325"></a><h3>Changes since 3.2.5</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15509">PHPBB3-15509</a>] - Update database: info message is to scary</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15869">PHPBB3-15869</a>] - Cookies Problem with domains with special chars</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15876">PHPBB3-15876</a>] - Mysql 5.7 support Q&amp;A plugin</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15883">PHPBB3-15883</a>] - No error for invalid usernames on bulk add to usergroup</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15904">PHPBB3-15904</a>] - PHP warning when accessing modules in ACP System tab</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15917">PHPBB3-15917</a>] - Unapproved posts count towards forum post count</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15918">PHPBB3-15918</a>] - Ban reason messages show backslash (\) before apostrophe -- ex. (don\'t).</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15919">PHPBB3-15919</a>] - Lint test throws PHP warnings due to node modules folder</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15931">PHPBB3-15931</a>] - Issues in PM report emails</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15954">PHPBB3-15954</a>] - Some calls to include() don't have a safeguard</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15957">PHPBB3-15957</a>] - User preferences show notification method &quot;both&quot; with disabled Jabber in ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15959">PHPBB3-15959</a>] - Travis Network Test is Failing for news.cnet.com</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15965">PHPBB3-15965</a>] - Console command to handle thumbnails have files directory hardcoded</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15975">PHPBB3-15975</a>] - Delete or prune an user doesn't remove its entries in the user_notifications table</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15986">PHPBB3-15986</a>] - Add missing language key for posting.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15996">PHPBB3-15996</a>] - Invalid data provider function name in migrator_tool_permission_test</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16006">PHPBB3-16006</a>] - Duplicate form IDs in UCP oauth form</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15884">PHPBB3-15884</a>] - Add memberlist_body_* events</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15889">PHPBB3-15889</a>] - Add core.memberlist_modify_memberrow_sql</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15890">PHPBB3-15890</a>] - Add core.memberlist_modify_viewprofile_sql</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15891">PHPBB3-15891</a>] - Add core.memberlist_modify_view_profile_template_vars</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15898">PHPBB3-15898</a>] - Add core.ucp_pm_compose_template</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15899">PHPBB3-15899</a>] - Add core.modify_attachment_sql_ary_on_* events</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15901">PHPBB3-15901</a>] - Add mcp_post_* template events</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15910">PHPBB3-15910</a>] - Pass object arguments by reference implicitly</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15914">PHPBB3-15914</a>] - Add core.modify_memberlist_viewprofile_group_sql and core.modify_memberlist_viewprofile_group_data</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15915">PHPBB3-15915</a>] - Add template events to posting_attach_body.html</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15924">PHPBB3-15924</a>] - Move from precise to trusty builds</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15926">PHPBB3-15926</a>] - Deny installs on PHP &gt;= 7.3@dev - Increase min. req. to 5.4.7</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15928">PHPBB3-15928</a>] - Remove support for backup download</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15939">PHPBB3-15939</a>] - Pagination docblocks</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15941">PHPBB3-15941</a>] - Replace MAX SQL in functions_posting.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15942">PHPBB3-15942</a>] - Array to string conversion when permanently deleting a post</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15948">PHPBB3-15948</a>] - Add core.mcp_change_topic_type_after/before</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15949">PHPBB3-15949</a>] - [Template] - ucp_profile_signature_posting_editor_options_prepend</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15950">PHPBB3-15950</a>] - Add SQL transactions to mcp_main.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15960">PHPBB3-15960</a>] - Add SQL transactions to functions_admin.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15970">PHPBB3-15970</a>] - Add core.message_admin_form_submit_before</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15972">PHPBB3-15972</a>] - Add core.markread_after</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15992">PHPBB3-15992</a>] - Fix breadcrumb schema</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15995">PHPBB3-15995</a>] - Add core.memberlist_modify_sort_pagination_params</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15997">PHPBB3-15997</a>] - Increase webdriver timeout for UI tests</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16001">PHPBB3-16001</a>] - Append data to the OAuth's redirect URL</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16009">PHPBB3-16009</a>] - Display OAuth login's buttons in a row.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16010">PHPBB3-16010</a>] - Automatically check order of events in events.md file</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16018">PHPBB3-16018</a>] - Update composer and dependencies for 3.2.6</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-16020">PHPBB3-16020</a>] - Fix placement of event viewforum_body_topic_author_username_append</li>
</ul>
<h4>New Feature</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15944">PHPBB3-15944</a>] - Add core.posting_modify_quote_attributes</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15921">PHPBB3-15921</a>] - Update TextFormatter to 1.3.2</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15953">PHPBB3-15953</a>] - pm reported missing border color</li>
</ul>
<a name="v325rc1"></a><h3>Changes since 3.2.5-RC1</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15888">PHPBB3-15888</a>] - Update link to user guide</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15893">PHPBB3-15893</a>] - Call to undefined $user in phpbb_format_quote() when BBCodes are disabled</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15911">PHPBB3-15911</a>] - SQL general error on DB update from 3.0 branch</li>
</ul>
<h4>Hardening</h4>
<ul>
<li>[SECURITY-229] - Update to latest version of jQuery 1.x and add ajax prefilter</li>
</ul>
<a name="v324"></a><h3>Changes since 3.2.4</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15665">PHPBB3-15665</a>] - MSSQL implementation crashes when upload directory &gt; 2GB</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15858">PHPBB3-15858</a>] - Unapproved User(s) appearing as Guest in Team Page.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15867">PHPBB3-15867</a>] - Contact form without class</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15871">PHPBB3-15871</a>] - PHP 7.1+ warning in ACP extensions module</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15875">PHPBB3-15875</a>] - BBCode parsing error (PHP fatal error)</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15881">PHPBB3-15881</a>] - Login keys are not reset after password update in some cases</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15542">PHPBB3-15542</a>] - Some JS files being called without assets version</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15859">PHPBB3-15859</a>] - Modify the topic ordering if needed</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15863">PHPBB3-15863</a>] - Modify the topic sort ordering from the beginning</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15870">PHPBB3-15870</a>] - Modify the forum ID to handle the correct display of viewtopic if needed</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15872">PHPBB3-15872</a>] - Add show_user_activity to display_user_activity_modify_actives</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15873">PHPBB3-15873</a>] - Event to add/modify MCP report details template data.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15878">PHPBB3-15878</a>] - Add attachment to core.ucp_pm_view_message</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15879">PHPBB3-15879</a>] - Modify attachment's poster_id for get_submitted_attachment_data</li>
</ul>
<a name="v324rc1"></a><h3>Changes since 3.2.4-RC1</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15860">PHPBB3-15860</a>] - Backups filenames arent saved in the expected format</li>
</ul>
<h4>Security Issue</h4>
<ul>
<li>[SECURITY-227] - Phar deserialization in ACP leads to Remote Code Execution</li>
</ul>
<a name="v323"></a><h3>Changes since 3.2.3</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11453">PHPBB3-11453</a>] - phpbb_notification_method_email unnecessarily loads data of banned users.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12430">PHPBB3-12430</a>] - hilit not removed from URL after search</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13043">PHPBB3-13043</a>] - Fixing HTML5 conformance</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-13128">PHPBB3-13128</a>] - sql_query_info, max_matches and charset_type removed from sphinxsearch 2.2.2-beta</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14812">PHPBB3-14812</a>] - No shadow pruning with system cron enabled</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15329">PHPBB3-15329</a>] - View/Edit drafts contain underlying HTML coding</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15420">PHPBB3-15420</a>] - Quote Notification Sent for Edited Posts by Non Author</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15494">PHPBB3-15494</a>] - Users can only be removed once from newly registered users</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15507">PHPBB3-15507</a>] - PHP 7.2 Warning</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15544">PHPBB3-15544</a>] - Migrations don't delete modules in every case</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15552">PHPBB3-15552</a>] - Private Message (PM) &quot;find a member&quot; button &quot;select marked&quot; not working</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15557">PHPBB3-15557</a>] - Used composer version has bug with PHP 7.2</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15583">PHPBB3-15583</a>] - Updating session time in AJAX request ignores 60 seconds check</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15593">PHPBB3-15593</a>] - Disabling &quot;print view&quot; (permission or private messages settings) actually doesn't block the feature</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15600">PHPBB3-15600</a>] - Ban reasons are not escaped in mcp_ban.html template</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15604">PHPBB3-15604</a>] - Appveyor builds unable to download and unpack MSSQL drivers</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15606">PHPBB3-15606</a>] - Hide/Reveal 'Profile' Link According to Permission Setting</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15607">PHPBB3-15607</a>] - Board's cookies not deleted on disabled board</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15611">PHPBB3-15611</a>] - Prosilver mobile layout: Misaligned text in user profile</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15612">PHPBB3-15612</a>] - PHP warning with MSSQL on PHP 7.2</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15616">PHPBB3-15616</a>] - Jumpbox doesn't display in the login forum page (access to forum with password)</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15618">PHPBB3-15618</a>] - Team page link always appears when you are logout (anonymous), even if you don't have the permission (unlike memberlist link)</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15619">PHPBB3-15619</a>] - Legends of custom profile fields could be hidden in memberlist, when viewing an user group</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15620">PHPBB3-15620</a>] - Avatar gallery can be unusable on multilingual boards, unless people use the board default language</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15622">PHPBB3-15622</a>] - Quoting messages (while viewing one, not inside post editor) can return a wrong chain</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15637">PHPBB3-15637</a>] - Event list only has first line of PHP event description</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15651">PHPBB3-15651</a>] - Migration 'if' conditions only support booleans</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15659">PHPBB3-15659</a>] - retrieve_block_vars generates warnings in PHP 7.2</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15666">PHPBB3-15666</a>] - Language system is not fully supported in Twig</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15670">PHPBB3-15670</a>] - Group forum permission: Can see forum gives NO SQL ERROR</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15673">PHPBB3-15673</a>] - Duplicated links for (ACP,MCP,FAQ) in QuickLinks and main nav bar</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15680">PHPBB3-15680</a>] - INSTALL.html should point to 3.2 documentation instead of 3.1</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15693">PHPBB3-15693</a>] - gen_rand_string() don't return a string with the expected length</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15695">PHPBB3-15695</a>] - gen_rand_string can return less characters than expected</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15700">PHPBB3-15700</a>] - {T_THEME_LANG_NAME} template variable could be wrong when log off</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15705">PHPBB3-15705</a>] - phpbbcli language parse error in PHP &lt;= 5.5.38</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15716">PHPBB3-15716</a>] - OAuth link information remains after deleting a user, causes fatal exception</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15717">PHPBB3-15717</a>] - Old email address missing from log when user changes email address</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15723">PHPBB3-15723</a>] - gen_rand_string() return wrong number or characters sometimes</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15733">PHPBB3-15733</a>] - Remove unused variables related to deprecated flood control</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15742">PHPBB3-15742</a>] - Remove get_magic_quotes_gpc from type_cast_helper</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15751">PHPBB3-15751</a>] - Warning when update with CLI</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15755">PHPBB3-15755</a>] - Broken events in /phpbb/attachment/delete.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15758">PHPBB3-15758</a>] - String INSECURE_REDIRECT is not shown translated</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15770">PHPBB3-15770</a>] - Sphinx assertion fails on unread posts when exceeding an offset of 999</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15788">PHPBB3-15788</a>] - Return button from privacy policy shows wrong text</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15817">PHPBB3-15817</a>] - Unable to install in Oracle 11R2 Express</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15824">PHPBB3-15824</a>] - UI test framework Broken for extensions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15830">PHPBB3-15830</a>] - 'core.modify_notification_message' event is useless</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15849">PHPBB3-15849</a>] - PHP 7.2 compat for bitfield class</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15852">PHPBB3-15852</a>] - IPv6 address not working in Whois</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-10432">PHPBB3-10432</a>] - Don't require username when user forgets password</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11500">PHPBB3-11500</a>] - on Custom profile fields the field_ident field lacks name</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-12739">PHPBB3-12739</a>] - Make the font color palette in ACP same as Prosilver</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14656">PHPBB3-14656</a>] - Add a list-unsubscribe header with the unsubscribe URL</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-14990">PHPBB3-14990</a>] - Add core event to the Twig environment</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15554">PHPBB3-15554</a>] - Simple footer after load js</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15579">PHPBB3-15579</a>] - Add core.ucp_main_front_modify_sql and core.ucp_main_front_modify_template_vars</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15590">PHPBB3-15590</a>] - Add PHP events after adding, updating and deleting BBCodes</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15628">PHPBB3-15628</a>] - newtopic_notify.txt does not have directly link to the new topic</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15638">PHPBB3-15638</a>] - Add word-break for overflowing.</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15642">PHPBB3-15642</a>] - String to be used in HTML element contains &quot;&gt;&quot;</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15656">PHPBB3-15656</a>] - Add &quot;View post&quot; link in the mod logs on the ACP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15661">PHPBB3-15661</a>] - Add core.viewtopic_modify_poll_ajax_data</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15662">PHPBB3-15662</a>] - Add $this-&gt;template to core.modify_notification_message</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15668">PHPBB3-15668</a>] - Change JQuery .load(fn) event to .on('load',fn)</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15674">PHPBB3-15674</a>] - Edit language lines in file en\acp\profile.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15683">PHPBB3-15683</a>] - Better error message when commit message has CRLF</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15696">PHPBB3-15696</a>] - 'if' module tool should support calling other tools</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15706">PHPBB3-15706</a>] - [Template] - mcp_post_report_buttons_top_*</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15719">PHPBB3-15719</a>] - Add core event on viewtopic post_list query for query modification</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15726">PHPBB3-15726</a>] - Implement selective purge in APCu cache driver</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15735">PHPBB3-15735</a>] - [Template] - *_content_after (for posts)</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15737">PHPBB3-15737</a>] - [PHP] - Add $user_rows to core.delete_user_before</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15762">PHPBB3-15762</a>] - Topics per page Conformity</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15768">PHPBB3-15768</a>] - Add a license to a repository</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15771">PHPBB3-15771</a>] - Q&amp;A configuration instructions not optilmal</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15799">PHPBB3-15799</a>] - Find correct poll for voting animation</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15803">PHPBB3-15803</a>] - Add core events on ucp_pm_compose for additional message list actions</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15819">PHPBB3-15819</a>] - Add core event to functions_posting to modify notifications</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15825">PHPBB3-15825</a>] - Add core.acp_manage_forums_move_content_sql_before</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15826">PHPBB3-15826</a>] - Add core.mcp_main_fork_sql_after</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15827">PHPBB3-15827</a>] - [Template] - Add *_username_{prepend/append} template events</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15831">PHPBB3-15831</a>] - ACP signature update should trigger event</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15832">PHPBB3-15832</a>] - ACP avatar update event</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15833">PHPBB3-15833</a>] - ACP and UCP avatar delete events</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15837">PHPBB3-15837</a>] - Add core.ucp_register_welcome_email_before</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15838">PHPBB3-15838</a>] - Add core.ucp_register_register_after</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15839">PHPBB3-15839</a>] - Add core.ucp_login_link_template_after</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15841">PHPBB3-15841</a>] - Allow postrow pm link to be modified by event</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15848">PHPBB3-15848</a>] - Up-version plupload to v2.3.6 to fix image rotation issues</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15850">PHPBB3-15850</a>] - Use standard SQL cache for notification types</li>
</ul>
<h4>New Feature</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15792">PHPBB3-15792</a>] - [Template] - confirm_delete_body_delete_reason_before</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15596">PHPBB3-15596</a>] - Migrate from data-vocabulary.org to schema.org</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15621">PHPBB3-15621</a>] - Some graphical inconsistencies with colored users groups in posting, UCP and MCP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15701">PHPBB3-15701</a>] - {SIGNATURE} variable is added in mcp_post.html but not defined in MCP</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15809">PHPBB3-15809</a>] - Allow events with twig syntax</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15857">PHPBB3-15857</a>] - Add rubencm to CREDITS.txt</li>
</ul>
<a name="v323rc2"></a><h3>Changes since 3.2.3-RC2</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15504">PHPBB3-15504</a>] - phpBB Debug warning in 3.2.2</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15740">PHPBB3-15740</a>] - Terms &amp; Privavy hardcoded</li>
</ul>
<a name="v323rc1"></a><h3>Changes since 3.2.3-RC1</h3>
<h4>Bug</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-11847">PHPBB3-11847</a>] - auth_provider_oauth migration must depend on at least one migration that ensures the module tables exist as expected</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15548">PHPBB3-15548</a>] - Dead link in ACP_COOKIE_SETTINGS_EXPLAIN language entry</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15586">PHPBB3-15586</a>] - When creating a module without the modes array a missing 'module_langname' index is accessed</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15613">PHPBB3-15613</a>] - Notification dropdown said to be not RTL compliant</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15627">PHPBB3-15627</a>] - Improve wording of YES_ACCURATE_PM_BUTTON + EXPLAIN</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15678">PHPBB3-15678</a>] - PHP warning in filesystem.php</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15731">PHPBB3-15731</a>] - Fix acp_search language parameters when deleting index</li>
</ul>
<h4>Improvement</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15630">PHPBB3-15630</a>] - Change &lt;b&gt; to &lt;strong&gt; </li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15633">PHPBB3-15633</a>] - Remove extra space in GROUP_MAX_RECIPIENTS_EXPLAIN</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15657">PHPBB3-15657</a>] - Add core.mcp_queue_get_posts_for_posts_query_before and core.mcp_queue_get_posts_modify_post_row</li>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15676">PHPBB3-15676</a>] - Display privacy policy &amp; terms of use more prominently</li>
</ul>
<h4>Task</h4>
<ul>
<li>[<a href="http://tracker.phpbb.com/browse/PHPBB3-15677">PHPBB3-15677</a>] - Updated dependencies for 3.2.3-RC2</li>
</ul>
<a name="v322"></a><h3>Changes since 3.2.2</h3>
<h4>Bug</h4>
<ul>

View File

@@ -1,7 +1,7 @@
/**
*
* phpBB © Copyright phpBB Limited 2003-2016
* http://www.phpbb.com
* phpBB © Copyright phpBB Limited 2003-2019
* https://www.phpbb.com
*
* phpBB is free software. You can redistribute it and/or modify it
* under the terms of the GNU General Public License, version 2 (GPL-2.0)
@@ -27,8 +27,8 @@ phpBB Developers: bantu (Andreas Fischer)
Derky (Derk Ruitenbeek)
Elsensee (Oliver Schramm)
Hanakin (Michael Miday)
MichaelC (Michael Cullum)
Nicofuma (Tristan Darricau)
rubencm (Rubén Calvo)
For a list of phpBB Team members, please see:
http://www.phpbb.com/about/team/
@@ -62,6 +62,7 @@ phpBB Developers: A_Jelly_Doughnut (Josh Woody) [01/2010 - 11/2010]
igorw (Igor Wiedler) [08/2010 - 02/2013]
imkingdavid (David King) [11/2012 - 06/2014]
kellanved (Henry Sudhof) [04/2007 - 03/2011]
MichaelC (Michael Cullum) [11/2017 - 09/2019]
nickvergessen (Joas Schilling)[04/2010 - 12/2015]
Oleg (Oleg Pudeyev) [01/2011 - 05/2013]
prototech (Cesar Gallegos) [01/2014 - 12/2016]
@@ -103,3 +104,6 @@ Text_Diff-0.2.1 http://pear.php.net/package/Text_Diff
MIT licenced:
Symfony2 (c) 2004-2011 Fabien Potencier, https://symfony.com/
Cookie Consent (c) 2015 Silktide Ltd, https://cookieconsent.insites.com
Emoji by:
Twemoji (c) 2018 Twitter, Inc, https://twemoji.twitter.com/

View File

@@ -44,7 +44,7 @@
<p>
A basic overview of running phpBB can be found in the accompanying <a href="README.html">README</a> file.
Please ensure you read that document in addition to this! For more detailed information on using, installing,
updating and converting phpBB you should read <a href="https://www.phpbb.com/support/docs/en/3.1/ug/">the documentation</a>
updating and converting phpBB you should read <a href="https://www.phpbb.com/support/docs/en/3.2/ug/">the documentation</a>
available online.
</p>
</div>
@@ -147,7 +147,7 @@
<li>Oracle</li>
</ul>
</li>
<li><strong>PHP 5.4.7+</strong> with support for the database you intend to use.</li>
<li><strong>PHP 5.4.7+</strong> but less than <strong>PHP 7.3</strong> with support for the database you intend to use.</li>
<li>The following PHP modules are required:
<ul>
<li>json</li>
@@ -159,7 +159,6 @@
<li>zlib Compression support</li>
<li>Remote FTP support</li>
<li>XML support</li>
<li>ImageMagick support</li>
<li>GD Support</li>
</ul>
</li>

File diff suppressed because it is too large Load Diff

View File

@@ -70,7 +70,7 @@ http {
}
# Deny access to internal phpbb files.
location ~ /(config\.php|common\.php|cache|files|images/avatars/upload|includes|(?<!ext/)phpbb|store|vendor) {
location ~ /(config\.php|common\.php|cache|files|images/avatars/upload|includes|(?<!ext/)phpbb(?!\w+)|store|vendor) {
deny all;
# deny was ignored before 0.8.40 for connections over IPv6.
# Use internal directive to prohibit access on older versions.
@@ -93,7 +93,7 @@ http {
# Correctly pass scripts for installer
location /install/ {
# phpBB uses index.htm
try_files $uri $uri/ @rewrite_installapp;
try_files $uri $uri/ @rewrite_installapp =404;
# Pass the php scripts to fastcgi server specified in upstream declaration.
location ~ \.php(/|$) {
@@ -104,7 +104,7 @@ http {
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
try_files $uri $uri/ /install/app.php$is_args$args;
try_files $uri $uri/ /install/app.php$is_args$args =404;
fastcgi_pass php;
}
}

View File

@@ -29,7 +29,6 @@ source source_phpbb_{SPHINX_ID}_main
AND p.post_id >= $start AND p.post_id <= $end
sql_query_post =
sql_query_post_index = UPDATE phpbb_sphinx SET max_doc_id = $maxid WHERE counter_id = 1
sql_query_info = SELECT * FROM phpbb_posts WHERE post_id = $id
sql_attr_uint = forum_id
sql_attr_uint = topic_id
sql_attr_uint = poster_id
@@ -42,7 +41,7 @@ source source_phpbb_{SPHINX_ID}_main
}
source source_phpbb_{SPHINX_ID}_delta : source_phpbb_{SPHINX_ID}_main
{
sql_query_pre =
sql_query_pre = SET NAMES 'utf8'
sql_query_range =
sql_range_step =
sql_query = SELECT \
@@ -62,7 +61,7 @@ source source_phpbb_{SPHINX_ID}_delta : source_phpbb_{SPHINX_ID}_main
WHERE \
p.topic_id = t.topic_id \
AND p.post_id >= ( SELECT max_doc_id FROM phpbb_sphinx WHERE counter_id=1 )
sql_query_pre =
sql_query_post_index =
}
index index_phpbb_{SPHINX_ID}_main
{
@@ -72,10 +71,10 @@ index index_phpbb_{SPHINX_ID}_main
morphology = none
stopwords =
min_word_len = 2
charset_type = utf-8
charset_table = U+FF10..U+FF19->0..9, 0..9, U+FF41..U+FF5A->a..z, U+FF21..U+FF3A->a..z, A..Z->a..z, a..z, U+0149, U+017F, U+0138, U+00DF, U+00FF, U+00C0..U+00D6->U+00E0..U+00F6, U+00E0..U+00F6, U+00D8..U+00DE->U+00F8..U+00FE, U+00F8..U+00FE, U+0100->U+0101, U+0101, U+0102->U+0103, U+0103, U+0104->U+0105, U+0105, U+0106->U+0107, U+0107, U+0108->U+0109, U+0109, U+010A->U+010B, U+010B, U+010C->U+010D, U+010D, U+010E->U+010F, U+010F, U+0110->U+0111, U+0111, U+0112->U+0113, U+0113, U+0114->U+0115, U+0115, U+0116->U+0117, U+0117, U+0118->U+0119, U+0119, U+011A->U+011B, U+011B, U+011C->U+011D, U+011D, U+011E->U+011F, U+011F, U+0130->U+0131, U+0131, U+0132->U+0133, U+0133, U+0134->U+0135, U+0135, U+0136->U+0137, U+0137, U+0139->U+013A, U+013A, U+013B->U+013C, U+013C, U+013D->U+013E, U+013E, U+013F->U+0140, U+0140, U+0141->U+0142, U+0142, U+0143->U+0144, U+0144, U+0145->U+0146, U+0146, U+0147->U+0148, U+0148, U+014A->U+014B, U+014B, U+014C->U+014D, U+014D, U+014E->U+014F, U+014F, U+0150->U+0151, U+0151, U+0152->U+0153, U+0153, U+0154->U+0155, U+0155, U+0156->U+0157, U+0157, U+0158->U+0159, U+0159, U+015A->U+015B, U+015B, U+015C->U+015D, U+015D, U+015E->U+015F, U+015F, U+0160->U+0161, U+0161, U+0162->U+0163, U+0163, U+0164->U+0165, U+0165, U+0166->U+0167, U+0167, U+0168->U+0169, U+0169, U+016A->U+016B, U+016B, U+016C->U+016D, U+016D, U+016E->U+016F, U+016F, U+0170->U+0171, U+0171, U+0172->U+0173, U+0173, U+0174->U+0175, U+0175, U+0176->U+0177, U+0177, U+0178->U+00FF, U+00FF, U+0179->U+017A, U+017A, U+017B->U+017C, U+017C, U+017D->U+017E, U+017E, U+0410..U+042F->U+0430..U+044F, U+0430..U+044F, U+4E00..U+9FFF
min_prefix_len = 0
min_infix_len = 0
html_strip = 1
}
index index_phpbb_{SPHINX_ID}_delta : index_phpbb_{SPHINX_ID}_main
{
@@ -88,13 +87,11 @@ indexer
}
searchd
{
compat_sphinxql_magics = 0
listen = localhost:9312
log = {DATA_PATH}/log/searchd.log
query_log = {DATA_PATH}/log/sphinx-query.log
read_timeout = 5
max_children = 30
pid_file = {DATA_PATH}/searchd.pid
max_matches = 20000
binlog_path = {DATA_PATH}
}

View File

@@ -27,6 +27,9 @@ class acp_attachments
/** @var \phpbb\config\config */
protected $config;
/** @var \phpbb\language\language */
protected $language;
/** @var ContainerBuilder */
protected $phpbb_container;
@@ -54,6 +57,7 @@ class acp_attachments
$this->id = $id;
$this->db = $db;
$this->config = $config;
$this->language = $phpbb_container->get('language');
$this->template = $template;
$this->user = $user;
$this->phpbb_container = $phpbb_container;
@@ -128,7 +132,7 @@ class acp_attachments
$s_assigned_groups = array();
while ($row = $db->sql_fetchrow($result))
{
$row['group_name'] = (isset($user->lang['EXT_GROUP_' . $row['group_name']])) ? $user->lang['EXT_GROUP_' . $row['group_name']] : $row['group_name'];
$row['group_name'] = $this->language->is_set('EXT_GROUP_' . utf8_strtoupper($row['group_name'])) ? $this->language->lang('EXT_GROUP_' . utf8_strtoupper($row['group_name'])) : $row['group_name'];
$s_assigned_groups[$row['cat_id']][] = $row['group_name'];
}
$db->sql_freeresult($result);
@@ -164,7 +168,6 @@ class acp_attachments
'img_create_thumbnail' => array('lang' => 'CREATE_THUMBNAIL', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'img_max_thumb_width' => array('lang' => 'MAX_THUMB_WIDTH', 'validate' => 'int:0:999999999999999', 'type' => 'number:0:999999999999999', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
'img_min_thumb_filesize' => array('lang' => 'MIN_THUMB_FILESIZE', 'validate' => 'int:0:999999999999999', 'type' => 'number:0:999999999999999', 'explain' => true, 'append' => ' ' . $user->lang['BYTES']),
'img_imagick' => array('lang' => 'IMAGICK_PATH', 'validate' => 'absolute_path', 'type' => 'text:20:200', 'explain' => true, 'append' => '&nbsp;&nbsp;<span>[ <a href="' . $this->u_action . '&amp;action=imgmagick">' . $user->lang['SEARCH_IMAGICK'] . '</a> ]</span>'),
'img_max' => array('lang' => 'MAX_IMAGE_SIZE', 'validate' => 'int:0:9999', 'type' => 'dimension:0:9999', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
'img_link' => array('lang' => 'IMAGE_LINK_SIZE', 'validate' => 'int:0:9999', 'type' => 'dimension:0:9999', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
)
@@ -234,38 +237,6 @@ class acp_attachments
$template->assign_var('S_ATTACHMENT_SETTINGS', true);
if ($action == 'imgmagick')
{
$this->new_config['img_imagick'] = $this->search_imagemagick();
}
// We strip eventually manual added convert program, we only want the patch
if ($this->new_config['img_imagick'])
{
// Change path separator
$this->new_config['img_imagick'] = str_replace('\\', '/', $this->new_config['img_imagick']);
$this->new_config['img_imagick'] = str_replace(array('convert', '.exe'), array('', ''), $this->new_config['img_imagick']);
// Check for trailing slash
if (substr($this->new_config['img_imagick'], -1) !== '/')
{
$this->new_config['img_imagick'] .= '/';
}
}
$supported_types = get_supported_image_types();
// Check Thumbnail Support
if (!$this->new_config['img_imagick'] && (!isset($supported_types['format']) || !count($supported_types['format'])))
{
$this->new_config['img_create_thumbnail'] = 0;
}
$template->assign_vars(array(
'U_SEARCH_IMAGICK' => $this->u_action . '&amp;action=imgmagick',
'S_THUMBNAIL_SUPPORT' => (!$this->new_config['img_imagick'] && (!isset($supported_types['format']) || !count($supported_types['format']))) ? false : true)
);
// Secure Download Options - Same procedure as with banning
$allow_deny = ($this->new_config['secure_allow_deny']) ? 'ALLOWED' : 'DISALLOWED';
@@ -606,7 +577,7 @@ class acp_attachments
$group_id = $db->sql_nextid();
}
$group_name = (isset($user->lang['EXT_GROUP_' . $group_name])) ? $user->lang['EXT_GROUP_' . $group_name] : $group_name;
$group_name = $this->language->is_set('EXT_GROUP_' . utf8_strtoupper($group_name)) ? $this->language->lang('EXT_GROUP_' . utf8_strtoupper($group_name)) : $group_name;
$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_ATTACH_EXTGROUP_' . strtoupper($action), false, array($group_name));
}
@@ -908,7 +879,7 @@ class acp_attachments
'U_EDIT' => $this->u_action . "&amp;action=edit&amp;g={$row['group_id']}",
'U_DELETE' => $this->u_action . "&amp;action=delete&amp;g={$row['group_id']}",
'GROUP_NAME' => (isset($user->lang['EXT_GROUP_' . $row['group_name']])) ? $user->lang['EXT_GROUP_' . $row['group_name']] : $row['group_name'],
'GROUP_NAME' => $this->language->is_set('EXT_GROUP_' . utf8_strtoupper($row['group_name'])) ? $this->language->lang('EXT_GROUP_' . utf8_strtoupper($row['group_name'])) : $row['group_name'],
'CATEGORY' => $cat_lang[$row['cat_id']],
)
);
@@ -1270,22 +1241,18 @@ class acp_attachments
$row['extension'] = strtolower(trim((string) $row['extension']));
$comment = ($row['attach_comment'] && !$row['in_message']) ? str_replace(array("\n", "\r"), array('<br />', "\n"), $row['attach_comment']) : '';
$display_cat = $extensions[$row['extension']]['display_cat'];
$display_cat = isset($extensions[$row['extension']]['display_cat']) ? $extensions[$row['extension']]['display_cat'] : ATTACHMENT_CATEGORY_NONE;
$l_downloaded_viewed = ($display_cat == ATTACHMENT_CATEGORY_NONE) ? 'DOWNLOAD_COUNTS' : 'VIEWED_COUNTS';
$template->assign_block_vars('attachments', array(
'ATTACHMENT_POSTER' => get_username_string('full', (int) $row['poster_id'], (string) $row['username'], (string) $row['user_colour'], (string) $row['username']),
'FILESIZE' => get_formatted_filesize((int) $row['filesize']),
'FILETIME' => $user->format_date((int) $row['filetime']),
'REAL_FILENAME' => (!$row['in_message']) ? utf8_basename((string) $row['real_filename']) : '',
'PHYSICAL_FILENAME' => utf8_basename((string) $row['physical_filename']),
'EXT_GROUP_NAME' => (!empty($extensions[$row['extension']]['group_name'])) ? $user->lang['EXT_GROUP_' . $extensions[$row['extension']]['group_name']] : '',
'REAL_FILENAME' => utf8_basename((string) $row['real_filename']),
'EXT_GROUP_NAME' => $this->language->is_set('EXT_GROUP_' . utf8_strtoupper($extensions[$row['extension']]['group_name'])) ? $this->language->lang('EXT_GROUP_' . utf8_strtoupper($extensions[$row['extension']]['group_name'])) : $extensions[$row['extension']]['group_name'],
'COMMENT' => $comment,
'TOPIC_TITLE' => (!$row['in_message']) ? (string) $row['topic_title'] : '',
'ATTACH_ID' => (int) $row['attach_id'],
'POST_ID' => (int) $row['post_msg_id'],
'TOPIC_ID' => (int) $row['topic_id'],
'POST_IDS' => (!empty($post_ids[$row['attach_id']])) ? (int) $post_ids[$row['attach_id']] : '',
'L_DOWNLOAD_COUNT' => $user->lang($l_downloaded_viewed, (int) $row['download_count']),
@@ -1467,7 +1434,7 @@ class acp_attachments
$group_name = array();
while ($row = $db->sql_fetchrow($result))
{
$row['group_name'] = (isset($user->lang['EXT_GROUP_' . $row['group_name']])) ? $user->lang['EXT_GROUP_' . $row['group_name']] : $row['group_name'];
$row['group_name'] = $this->language->is_set('EXT_GROUP_' . utf8_strtoupper($row['group_name'])) ? $this->language->lang('EXT_GROUP_' . utf8_strtoupper($row['group_name'])) : $row['group_name'];
$group_name[] = $row;
}
$db->sql_freeresult($result);
@@ -1495,47 +1462,6 @@ class acp_attachments
return $group_select;
}
/**
* Search Imagick
*/
function search_imagemagick()
{
$imagick = '';
$exe = ((defined('PHP_OS')) && (preg_match('#^win#i', PHP_OS))) ? '.exe' : '';
$magic_home = getenv('MAGICK_HOME');
if (empty($magic_home))
{
$locations = array('C:/WINDOWS/', 'C:/WINNT/', 'C:/WINDOWS/SYSTEM/', 'C:/WINNT/SYSTEM/', 'C:/WINDOWS/SYSTEM32/', 'C:/WINNT/SYSTEM32/', '/usr/bin/', '/usr/sbin/', '/usr/local/bin/', '/usr/local/sbin/', '/opt/', '/usr/imagemagick/', '/usr/bin/imagemagick/');
$path_locations = str_replace('\\', '/', (explode(($exe) ? ';' : ':', getenv('PATH'))));
$locations = array_merge($path_locations, $locations);
foreach ($locations as $location)
{
// The path might not end properly, fudge it
if (substr($location, -1) !== '/')
{
$location .= '/';
}
if (@file_exists($location) && @is_readable($location . 'mogrify' . $exe) && @filesize($location . 'mogrify' . $exe) > 3000)
{
$imagick = str_replace('\\', '/', $location);
continue;
}
}
}
else
{
$imagick = str_replace('\\', '/', $magic_home);
}
return $imagick;
}
/**
* Test Settings
*/

View File

@@ -33,7 +33,6 @@ class acp_bbcodes
// Set up general vars
$action = $request->variable('action', '');
$bbcode_id = $request->variable('bbcode', 0);
$submit = $request->is_set_post('submit');
$this->tpl_name = 'acp_bbcodes';
$this->page_title = 'ACP_BBCODES';
@@ -41,11 +40,6 @@ class acp_bbcodes
add_form_key($form_key);
if ($submit && !check_form_key($form_key))
{
trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
}
// Set up mode-specific vars
switch ($action)
{
@@ -179,6 +173,12 @@ class acp_bbcodes
extract($phpbb_dispatcher->trigger_event('core.acp_bbcodes_modify_create', compact($vars)));
$warn_text = preg_match('%<[^>]*\{text[\d]*\}[^>]*>%i', $bbcode_tpl);
if (!$warn_text && !check_form_key($form_key))
{
trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
}
if (!$warn_text || confirm_box(true))
{
$data = $this->build_regexp($bbcode_match, $bbcode_tpl);
@@ -211,11 +211,6 @@ class acp_bbcodes
$test = $data['bbcode_tag'];
}
if (!preg_match('%\\[' . $test . '[^]]*].*?\\[/' . $test . ']%s', $bbcode_match))
{
trigger_error($user->lang['BBCODE_OPEN_ENDED_TAG'] . adm_back_link($this->u_action), E_USER_WARNING);
}
if (strlen($data['bbcode_tag']) > 16)
{
trigger_error($user->lang['BBCODE_TAG_TOO_LONG'] . adm_back_link($this->u_action), E_USER_WARNING);
@@ -295,6 +290,22 @@ class acp_bbcodes
$phpbb_log->add('admin', $user->data['user_id'], $user->ip, $log_action, false, array($data['bbcode_tag']));
/**
* Event after a BBCode has been added or updated
*
* @event core.acp_bbcodes_modify_create_after
* @var string action Type of the action: modify|create
* @var int bbcode_id The id of the added or updated bbcode
* @var array sql_ary Array with bbcode data (read only)
* @since 3.2.4-RC1
*/
$vars = array(
'action',
'bbcode_id',
'sql_ary',
);
extract($phpbb_dispatcher->trigger_event('core.acp_bbcodes_modify_create_after', compact($vars)));
trigger_error($user->lang[$lang] . adm_back_link($this->u_action));
}
else
@@ -325,10 +336,28 @@ class acp_bbcodes
{
if (confirm_box(true))
{
$bbcode_tag = $row['bbcode_tag'];
$db->sql_query('DELETE FROM ' . BBCODES_TABLE . " WHERE bbcode_id = $bbcode_id");
$cache->destroy('sql', BBCODES_TABLE);
$phpbb_container->get('text_formatter.cache')->invalidate();
$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_BBCODE_DELETE', false, array($row['bbcode_tag']));
$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_BBCODE_DELETE', false, array($bbcode_tag));
/**
* Event after a BBCode has been deleted
*
* @event core.acp_bbcodes_delete_after
* @var string action Type of the action: delete
* @var int bbcode_id The id of the deleted bbcode
* @var string bbcode_tag The tag of the deleted bbcode
* @since 3.2.4-RC1
*/
$vars = array(
'action',
'bbcode_id',
'bbcode_tag',
);
extract($phpbb_dispatcher->trigger_event('core.acp_bbcodes_delete_after', compact($vars)));
if ($request->is_ajax())
{

View File

@@ -30,10 +30,13 @@ class acp_board
function main($id, $mode)
{
global $user, $template, $request;
global $user, $template, $request, $language;
global $config, $phpbb_root_path, $phpEx;
global $cache, $phpbb_container, $phpbb_dispatcher, $phpbb_log;
/** @var \phpbb\language\language $language Language object */
$language = $phpbb_container->get('language');
$user->add_lang('acp/board');
$submit = (isset($_POST['submit']) || isset($_POST['allow_quick_reply_enable'])) ? true : false;
@@ -56,7 +59,7 @@ class acp_board
'legend1' => 'ACP_BOARD_SETTINGS',
'sitename' => array('lang' => 'SITE_NAME', 'validate' => 'string', 'type' => 'text:40:255', 'explain' => false),
'site_desc' => array('lang' => 'SITE_DESC', 'validate' => 'string', 'type' => 'text:40:255', 'explain' => false),
'site_home_url' => array('lang' => 'SITE_HOME_URL', 'validate' => 'string', 'type' => 'url:40:255', 'explain' => true),
'site_home_url' => array('lang' => 'SITE_HOME_URL', 'validate' => 'url', 'type' => 'url:40:255', 'explain' => true),
'site_home_text' => array('lang' => 'SITE_HOME_TEXT', 'validate' => 'string', 'type' => 'text:40:255', 'explain' => true),
'board_index_text' => array('lang' => 'BOARD_INDEX_TEXT', 'validate' => 'string', 'type' => 'text:40:255', 'explain' => true),
'board_disable' => array('lang' => 'DISABLE_BOARD', 'validate' => 'bool', 'type' => 'custom', 'method' => 'board_disable', 'explain' => true),
@@ -122,6 +125,7 @@ class acp_board
$avatar_vars = array();
foreach ($avatar_drivers as $current_driver)
{
/** @var \phpbb\avatar\driver\driver_interface $driver */
$driver = $phpbb_avatar_manager->get_driver($current_driver, false);
/*
@@ -446,6 +450,7 @@ class acp_board
'email_enable' => array('lang' => 'ENABLE_EMAIL', 'validate' => 'bool', 'type' => 'radio:enabled_disabled', 'explain' => true),
'board_email_form' => array('lang' => 'BOARD_EMAIL_FORM', 'validate' => 'bool', 'type' => 'radio:enabled_disabled', 'explain' => true),
'email_package_size' => array('lang' => 'EMAIL_PACKAGE_SIZE', 'validate' => 'int:0', 'type' => 'number:0:99999', 'explain' => true),
'email_max_chunk_size' => array('lang' => 'EMAIL_MAX_CHUNK_SIZE', 'validate' => 'int:1:99999', 'type' => 'number:1:99999', 'explain' => true),
'board_contact' => array('lang' => 'CONTACT_EMAIL', 'validate' => 'email', 'type' => 'email:25:100', 'explain' => true),
'board_contact_name' => array('lang' => 'CONTACT_EMAIL_NAME', 'validate' => 'string', 'type' => 'text:25:50', 'explain' => true),
'board_email' => array('lang' => 'ADMIN_EMAIL', 'validate' => 'email', 'type' => 'email:25:100', 'explain' => true),
@@ -730,7 +735,7 @@ class acp_board
$template->assign_block_vars('options', array(
'KEY' => $config_key,
'TITLE' => (isset($user->lang[$vars['lang']])) ? $user->lang[$vars['lang']] : $vars['lang'],
'S_EXPLAIN' => $vars['explain'],
'S_EXPLAIN' => $vars['explain'] && !empty($l_explain),
'TITLE_EXPLAIN' => $l_explain,
'CONTENT' => $content,
)

View File

@@ -23,6 +23,7 @@ class acp_database
{
var $db_tools;
var $u_action;
public $page_title;
function main($id, $mode)
{
@@ -57,7 +58,6 @@ class acp_database
$type = $request->variable('type', '');
$table = array_intersect($this->db_tools->sql_list_tables(), $request->variable('table', array('')));
$format = $request->variable('method', '');
$where = $request->variable('where', '');
if (!count($table))
{
@@ -69,17 +69,9 @@ class acp_database
trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
}
$store = $download = $structure = $schema_data = false;
if ($where == 'store_and_download' || $where == 'store')
{
$store = true;
}
if ($where == 'store_and_download' || $where == 'download')
{
$download = true;
}
$store = true;
$structure = false;
$schema_data = false;
if ($type == 'full' || $type == 'structure')
{
@@ -98,8 +90,9 @@ class acp_database
$filename = 'backup_' . $time . '_' . unique_id();
/** @var phpbb\db\extractor\extractor_interface $extractor Database extractor */
$extractor = $phpbb_container->get('dbal.extractor');
$extractor->init_extractor($format, $filename, $time, $download, $store);
$extractor->init_extractor($format, $filename, $time, false, $store);
$extractor->write_start($table_prefix);
@@ -145,11 +138,6 @@ class acp_database
$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_DB_BACKUP');
if ($download == true)
{
exit;
}
trigger_error($user->lang['BACKUP_SUCCESS'] . adm_back_link($this->u_action));
break;
@@ -201,16 +189,10 @@ class acp_database
case 'submit':
$delete = $request->variable('delete', '');
$file = $request->variable('file', '');
$download = $request->variable('download', '');
if (!preg_match('#^backup_\d{10,}_[a-z\d]{16}\.(sql(?:\.(?:gz|bz2))?)$#', $file, $matches))
{
trigger_error($user->lang['BACKUP_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
}
$backup_info = $this->get_backup_file($phpbb_root_path . 'store/', $file);
$file_name = $phpbb_root_path . 'store/' . $matches[0];
if (!file_exists($file_name) || !is_readable($file_name))
if (empty($backup_info) || !is_readable($backup_info['file_name']))
{
trigger_error($user->lang['BACKUP_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
}
@@ -219,7 +201,7 @@ class acp_database
{
if (confirm_box(true))
{
unlink($file_name);
unlink($backup_info['file_name']);
$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_DB_DELETE');
trigger_error($user->lang['BACKUP_DELETE'] . adm_back_link($this->u_action));
}
@@ -228,50 +210,12 @@ class acp_database
confirm_box(false, $user->lang['DELETE_SELECTED_BACKUP'], build_hidden_fields(array('delete' => $delete, 'file' => $file)));
}
}
else if ($download || confirm_box(true))
else if (confirm_box(true))
{
if ($download)
{
$name = $matches[0];
switch ($matches[1])
{
case 'sql':
$mimetype = 'text/x-sql';
break;
case 'sql.bz2':
$mimetype = 'application/x-bzip2';
break;
case 'sql.gz':
$mimetype = 'application/x-gzip';
break;
}
header('Cache-Control: private, no-cache');
header("Content-Type: $mimetype; name=\"$name\"");
header("Content-disposition: attachment; filename=$name");
@set_time_limit(0);
$fp = @fopen($file_name, 'rb');
if ($fp !== false)
{
while (!feof($fp))
{
echo fread($fp, 8192);
}
fclose($fp);
}
flush();
exit;
}
switch ($matches[1])
switch ($backup_info['extension'])
{
case 'sql':
$fp = fopen($file_name, 'rb');
$fp = fopen($backup_info['file_name'], 'rb');
$read = 'fread';
$seek = 'fseek';
$eof = 'feof';
@@ -280,7 +224,7 @@ class acp_database
break;
case 'sql.bz2':
$fp = bzopen($file_name, 'r');
$fp = bzopen($backup_info['file_name'], 'r');
$read = 'bzread';
$seek = '';
$eof = 'feof';
@@ -289,13 +233,17 @@ class acp_database
break;
case 'sql.gz':
$fp = gzopen($file_name, 'rb');
$fp = gzopen($backup_info['file_name'], 'rb');
$read = 'gzread';
$seek = 'gzseek';
$eof = 'gzeof';
$close = 'gzclose';
$fgetd = 'fgetd';
break;
default:
trigger_error($user->lang['BACKUP_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
return;
}
switch ($db->get_sql_layer())
@@ -375,43 +323,13 @@ class acp_database
trigger_error($user->lang['RESTORE_SUCCESS'] . adm_back_link($this->u_action));
break;
}
else if (!$download)
else
{
confirm_box(false, $user->lang['RESTORE_SELECTED_BACKUP'], build_hidden_fields(array('file' => $file)));
}
default:
$methods = array('sql');
$available_methods = array('sql.gz' => 'zlib', 'sql.bz2' => 'bz2');
foreach ($available_methods as $type => $module)
{
if (!@extension_loaded($module))
{
continue;
}
$methods[] = $type;
}
$dir = $phpbb_root_path . 'store/';
$dh = @opendir($dir);
$backup_files = array();
if ($dh)
{
while (($file = readdir($dh)) !== false)
{
if (preg_match('#^backup_(\d{10,})_[a-z\d]{16}\.(sql(?:\.(?:gz|bz2))?)$#', $file, $matches))
{
if (in_array($matches[2], $methods))
{
$backup_files[(int) $matches[1]] = $file;
}
}
}
closedir($dh);
}
$backup_files = $this->get_file_list($phpbb_root_path . 'store/');
if (!empty($backup_files))
{
@@ -420,8 +338,8 @@ class acp_database
foreach ($backup_files as $name => $file)
{
$template->assign_block_vars('files', array(
'FILE' => $file,
'NAME' => $user->format_date($name, 'd-m-Y H:i:s', true),
'FILE' => sha1($file),
'NAME' => $user->format_date($name, 'd-m-Y H:i', true),
'SUPPORTED' => true,
));
}
@@ -435,6 +353,92 @@ class acp_database
break;
}
}
/**
* Get backup file from file hash
*
* @param string $directory Relative path to directory
* @param string $file_hash Hash of selected file
*
* @return array Backup file data or empty array if unable to find file
*/
protected function get_backup_file($directory, $file_hash)
{
$backup_data = [];
$file_list = $this->get_file_list($directory);
$supported_extensions = $this->get_supported_extensions();
foreach ($file_list as $file)
{
preg_match('#^backup_(\d{10,})_(?:[a-z\d]{16}|[a-z\d]{32})\.(sql(?:\.(?:gz|bz2))?)$#i', $file, $matches);
if (sha1($file) === $file_hash && in_array($matches[2], $supported_extensions))
{
$backup_data = [
'file_name' => $directory . $file,
'extension' => $matches[2],
];
break;
}
}
return $backup_data;
}
/**
* Get backup file list for directory
*
* @param string $directory Relative path to backup directory
*
* @return array List of backup files in specified directory
*/
protected function get_file_list($directory)
{
$supported_extensions = $this->get_supported_extensions();
$dh = @opendir($directory);
$backup_files = [];
if ($dh)
{
while (($file = readdir($dh)) !== false)
{
if (preg_match('#^backup_(\d{10,})_(?:[a-z\d]{16}|[a-z\d]{32})\.(sql(?:\.(?:gz|bz2))?)$#i', $file, $matches))
{
if (in_array($matches[2], $supported_extensions))
{
$backup_files[(int) $matches[1]] = $file;
}
}
}
closedir($dh);
}
return $backup_files;
}
/**
* Get supported extensions for backup
*
* @return array List of supported extensions
*/
protected function get_supported_extensions()
{
$extensions = ['sql'];
$available_methods = ['sql.gz' => 'zlib', 'sql.bz2' => 'bz2'];
foreach ($available_methods as $type => $module)
{
if (!@extension_loaded($module))
{
continue;
}
$extensions[] = $type;
}
return $extensions;
}
}
// get how much space we allow for a chunk of data, very similar to phpMyAdmin's way of doing things ;-) (hey, we only do this for MySQL anyway :P)

View File

@@ -35,11 +35,13 @@ class acp_extensions
private $request;
private $phpbb_dispatcher;
private $ext_manager;
private $phpbb_container;
private $php_ini;
function main()
{
// Start the page
global $config, $user, $template, $request, $phpbb_extension_manager, $phpbb_root_path, $phpbb_log, $phpbb_dispatcher;
global $config, $user, $template, $request, $phpbb_extension_manager, $phpbb_root_path, $phpbb_log, $phpbb_dispatcher, $phpbb_container;
$this->config = $config;
$this->template = $template;
@@ -48,6 +50,8 @@ class acp_extensions
$this->log = $phpbb_log;
$this->phpbb_dispatcher = $phpbb_dispatcher;
$this->ext_manager = $phpbb_extension_manager;
$this->phpbb_container = $phpbb_container;
$this->php_ini = $this->phpbb_container->get('php_ini');
$this->user->add_lang(array('install', 'acp/extensions', 'migrator'));
@@ -57,7 +61,7 @@ class acp_extensions
$ext_name = $this->request->variable('ext_name', '');
// What is a safe limit of execution time? Half the max execution time should be safe.
$safe_time_limit = (ini_get('max_execution_time') / 2);
$safe_time_limit = ($this->php_ini->getNumeric('max_execution_time') / 2);
$start_time = time();
// Cancel action

View File

@@ -986,6 +986,23 @@ class acp_forums
$errors[] = $user->lang['FORUM_NAME_EMPTY'];
}
/**
* Replace Emojis and other 4bit UTF-8 chars not allowed by MySql to UCR / NCR.
* Using their Numeric Character Reference's Hexadecimal notation.
*/
$forum_data_ary['forum_name'] = utf8_encode_ucr($forum_data_ary['forum_name']);
/**
* This should never happen again.
* Leaving the fallback here just in case there will be the need of it.
*/
if (preg_match_all('/[\x{10000}-\x{10FFFF}]/u', $forum_data_ary['forum_name'], $matches))
{
$character_list = implode('<br>', $matches[0]);
$errors[] = $user->lang('FORUM_NAME_EMOJI', $character_list);
}
if (utf8_strlen($forum_data_ary['forum_desc']) > 4000)
{
$errors[] = $user->lang['FORUM_DESC_TOO_LONG'];
@@ -1012,7 +1029,7 @@ class acp_forums
}
$range_test_ary = array(
array('lang' => 'FORUM_TOPICS_PAGE', 'value' => $forum_data_ary['forum_topics_per_page'], 'column_type' => 'TINT:0'),
array('lang' => 'FORUM_TOPICS_PAGE', 'value' => $forum_data_ary['forum_topics_per_page'], 'column_type' => 'USINT:0'),
);
if (!empty($forum_data_ary['forum_image']) && !file_exists($phpbb_root_path . $forum_data_ary['forum_image']))
@@ -1416,8 +1433,8 @@ class acp_forums
* This event may be triggered, when a forum is deleted
*
* @event core.acp_manage_forums_move_children
* @var int from_id If of the current parent forum
* @var int to_id If of the new parent forum
* @var int from_id Id of the current parent forum
* @var int to_id Id of the new parent forum
* @var array errors Array of errors, should be strings and not
* language key.
* @since 3.1.0-a1
@@ -1522,8 +1539,8 @@ class acp_forums
* Event when we move content from one forum to another
*
* @event core.acp_manage_forums_move_content
* @var int from_id If of the current parent forum
* @var int to_id If of the new parent forum
* @var int from_id Id of the current parent forum
* @var int to_id Id of the new parent forum
* @var bool sync Shall we sync the "to"-forum's data
* @var array errors Array of errors, should be strings and not
* language key. If this array is not empty,
@@ -1541,6 +1558,16 @@ class acp_forums
$table_ary = array(LOG_TABLE, POSTS_TABLE, TOPICS_TABLE, DRAFTS_TABLE, TOPICS_TRACK_TABLE);
/**
* Perform additional actions before move forum content
*
* @event core.acp_manage_forums_move_content_sql_before
* @var array table_ary Array of tables from which forum_id will be updated
* @since 3.2.4-RC1
*/
$vars = array('table_ary');
extract($phpbb_dispatcher->trigger_event('core.acp_manage_forums_move_content_sql_before', compact($vars)));
foreach ($table_ary as $table)
{
$sql = "UPDATE $table
@@ -1559,6 +1586,19 @@ class acp_forums
$db->sql_query($sql);
}
/**
* Event when content has been moved from one forum to another
*
* @event core.acp_manage_forums_move_content_after
* @var int from_id Id of the current parent forum
* @var int to_id Id of the new parent forum
* @var bool sync Shall we sync the "to"-forum's data
*
* @since 3.2.9-RC1
*/
$vars = array('from_id', 'to_id', 'sync');
extract($phpbb_dispatcher->trigger_event('core.acp_manage_forums_move_content_after', compact($vars)));
if ($sync)
{
// Delete ghost topics that link back to the same forum then resync counters

View File

@@ -29,6 +29,9 @@ class acp_groups
global $phpbb_root_path, $phpbb_admin_path, $phpEx;
global $request, $phpbb_container, $phpbb_dispatcher;
/** @var \phpbb\language\language $language Language object */
$language = $phpbb_container->get('language');
$user->add_lang('acp/groups');
$this->tpl_name = 'acp_groups';
$this->page_title = 'ACP_GROUPS_MANAGE';
@@ -293,7 +296,19 @@ class acp_groups
// Add user/s to group
if ($error = group_user_add($group_id, false, $name_ary, $group_name, $default, $leader, 0, $group_row))
{
trigger_error($user->lang[$error] . adm_back_link($this->u_action . '&amp;action=list&amp;g=' . $group_id), E_USER_WARNING);
$display_message = $language->lang($error);
if ($error == 'GROUP_USERS_INVALID')
{
// Find which users don't exist
$actual_name_ary = $name_ary;
$actual_user_id_ary = [];
user_get_id_name($actual_user_id_ary, $actual_name_ary, false, true);
$display_message = $language->lang('GROUP_USERS_INVALID', implode($language->lang('COMMA_SEPARATOR'), array_udiff($name_ary, $actual_name_ary, 'strcasecmp')));
}
trigger_error($display_message . adm_back_link($this->u_action . '&amp;action=list&amp;g=' . $group_id), E_USER_WARNING);
}
$message = ($leader) ? 'GROUP_MODS_ADDED' : 'GROUP_USERS_ADDED';

View File

@@ -24,9 +24,9 @@ class acp_inactive
var $u_action;
var $p_master;
function acp_inactive(&$p_master)
function __construct($p_master)
{
$this->p_master = &$p_master;
$this->p_master = $p_master;
}
function main($id, $mode)

View File

@@ -151,7 +151,7 @@ class acp_logs
{
$data = array();
$checks = array('viewtopic', 'viewlogs', 'viewforum');
$checks = array('viewpost', 'viewtopic', 'viewlogs', 'viewforum');
foreach ($checks as $check)
{
if (isset($row[$check]) && $row[$check])

View File

@@ -676,7 +676,7 @@ class acp_permissions
/**
* Apply permissions
*/
function set_permissions($mode, $permission_type, &$auth_admin, &$user_id, &$group_id)
function set_permissions($mode, $permission_type, $auth_admin, &$user_id, &$group_id)
{
global $db, $cache, $user, $auth;
global $request;
@@ -765,7 +765,7 @@ class acp_permissions
/**
* Apply all permissions
*/
function set_all_permissions($mode, $permission_type, &$auth_admin, &$user_id, &$group_id)
function set_all_permissions($mode, $permission_type, $auth_admin, &$user_id, &$group_id)
{
global $db, $cache, $user, $auth;
global $request;
@@ -881,7 +881,7 @@ class acp_permissions
/**
* Remove permissions
*/
function remove_permissions($mode, $permission_type, &$auth_admin, &$user_id, &$group_id, &$forum_id)
function remove_permissions($mode, $permission_type, $auth_admin, &$user_id, &$group_id, &$forum_id)
{
global $user, $db, $cache, $auth;

View File

@@ -845,7 +845,7 @@ class acp_profile
/**
* Build all Language specific options
*/
function build_language_options(&$cp, $field_type, $action = 'create')
function build_language_options($cp, $field_type, $action = 'create')
{
global $user, $config, $db, $request;
@@ -942,7 +942,7 @@ class acp_profile
/**
* Save Profile Field
*/
function save_profile_field(&$cp, $field_type, $action = 'create')
function save_profile_field($cp, $field_type, $action = 'create')
{
global $db, $config, $user, $phpbb_container, $phpbb_log, $request, $phpbb_dispatcher;

View File

@@ -537,6 +537,7 @@ class acp_prune
AND ug.user_id <> ' . ANONYMOUS . '
AND u.user_type <> ' . USER_FOUNDER . '
AND ug.user_pending = 0
AND ug.group_leader = 0
AND u.user_id = ug.user_id
' . (!empty($user_ids) ? ' AND ' . $db->sql_in_set('ug.user_id', $user_ids) : '');
$result = $db->sql_query($sql);

View File

@@ -349,7 +349,7 @@ class acp_search
$totaltime = microtime(true) - $starttime;
$rows_per_second = $row_count / $totaltime;
meta_refresh(1, append_sid($this->u_action . '&amp;action=delete&amp;skip_rows=' . $post_counter . '&amp;hash=' . generate_link_hash('acp_search')));
trigger_error($user->lang('SEARCH_INDEX_DELETE_REDIRECT', (int) $row_count, $post_counter, $rows_per_second));
trigger_error($user->lang('SEARCH_INDEX_DELETE_REDIRECT', (int) $row_count, $post_counter) . $user->lang('SEARCH_INDEX_DELETE_REDIRECT_RATE', $rows_per_second));
}
}

View File

@@ -259,6 +259,19 @@ class acp_styles
// Get list of styles to uninstall
$ids = $this->request_vars('id', 0, true);
// Don't remove prosilver, you can still deactivate it.
$sql = 'SELECT style_id
FROM ' . STYLES_TABLE . "
WHERE style_name = '" . $this->db->sql_escape('prosilver') . "'";
$result = $this->db->sql_query($sql);
$prosilver_id = (int) $this->db->sql_fetchfield('style_id');
$this->db->sql_freeresult($result);
if ($prosilver_id && in_array($prosilver_id, $ids))
{
trigger_error($this->user->lang('UNINSTALL_PROSILVER') . adm_back_link($this->u_action), E_USER_WARNING);
}
// Check if confirmation box was submitted
if (confirm_box(true))
{
@@ -998,11 +1011,14 @@ class acp_styles
'L_ACTION' => $this->user->lang['EXPORT']
); */
// Uninstall
$actions[] = array(
'U_ACTION' => $this->u_action . '&amp;action=uninstall&amp;hash=' . generate_link_hash('uninstall') . '&amp;id=' . $style['style_id'],
'L_ACTION' => $this->user->lang['STYLE_UNINSTALL']
);
if ($style['style_name'] !== 'prosilver')
{
// Uninstall
$actions[] = array(
'U_ACTION' => $this->u_action . '&amp;action=uninstall&amp;hash=' . generate_link_hash('uninstall') . '&amp;id=' . $style['style_id'],
'L_ACTION' => $this->user->lang['STYLE_UNINSTALL']
);
}
// Preview
$actions[] = array(
@@ -1123,7 +1139,14 @@ class acp_styles
*/
protected function read_style_cfg($dir)
{
// This should never happen, we give them a red warning because of its relevance.
if (!file_exists($this->styles_path . $dir . '/style.cfg'))
{
trigger_error($this->user->lang('NO_STYLE_CFG', $dir), E_USER_WARNING);
}
static $required = array('name', 'phpbb_version', 'copyright');
$cfg = parse_cfg_file($this->styles_path . $dir . '/style.cfg');
// Check if it is a valid file

View File

@@ -59,17 +59,19 @@ class acp_update
$update_link = $phpbb_root_path . 'install/app.' . $phpEx;
$template->assign_vars(array(
'S_UP_TO_DATE' => empty($updates_available),
'U_ACTION' => $this->u_action,
'U_VERSIONCHECK_FORCE' => append_sid($this->u_action . '&amp;versioncheck_force=1'),
$template_ary = [
'S_UP_TO_DATE' => empty($updates_available),
'U_ACTION' => $this->u_action,
'U_VERSIONCHECK_FORCE' => append_sid($this->u_action . '&amp;versioncheck_force=1'),
'CURRENT_VERSION' => $config['version'],
'CURRENT_VERSION' => $config['version'],
'UPDATE_INSTRUCTIONS' => sprintf($user->lang['UPDATE_INSTRUCTIONS'], $update_link),
'UPDATE_INSTRUCTIONS' => $user->lang('UPDATE_INSTRUCTIONS', $update_link),
'S_VERSION_UPGRADEABLE' => !empty($upgrades_available),
'UPGRADE_INSTRUCTIONS' => !empty($upgrades_available) ? $user->lang('UPGRADE_INSTRUCTIONS', $upgrades_available['current'], $upgrades_available['announcement']) : false,
));
];
$template->assign_vars($template_ary);
// Incomplete update?
if (phpbb_version_compare($config['version'], PHPBB_VERSION, '<'))

View File

@@ -24,9 +24,9 @@ class acp_users
var $u_action;
var $p_master;
function acp_users(&$p_master)
function __construct($p_master)
{
$this->p_master = &$p_master;
$this->p_master = $p_master;
}
function main($id, $mode)
@@ -855,7 +855,7 @@ class acp_users
$check_ary += array(
'username' => array(
array('string', false, $config['min_name_chars'], $config['max_name_chars']),
array('username', $user_row['username'])
array('username', $user_row['username'], true)
),
);
}
@@ -1883,6 +1883,17 @@ class acp_users
'user_avatar_height' => $result['avatar_height'],
);
/**
* Modify users preferences data before assigning it to the template
*
* @event core.acp_users_avatar_sql
* @var array user_row Array with user data
* @var array result Array with user avatar data to be updated in the DB
* @since 3.2.4-RC1
*/
$vars = array('user_row', 'result');
extract($phpbb_dispatcher->trigger_event('core.acp_users_avatar_sql', compact($vars)));
$sql = 'UPDATE ' . USERS_TABLE . '
SET ' . $db->sql_build_array('UPDATE', $result) . '
WHERE user_id = ' . (int) $user_id;
@@ -2085,6 +2096,17 @@ class acp_users
'user_sig_bbcode_bitfield' => $bbcode_bitfield,
);
/**
* Modify user signature before it is stored in the DB
*
* @event core.acp_users_modify_signature_sql_ary
* @var array user_row Array with user data
* @var array sql_ary Array with user signature data to be updated in the DB
* @since 3.2.4-RC1
*/
$vars = array('user_row', 'sql_ary');
extract($phpbb_dispatcher->trigger_event('core.acp_users_modify_signature_sql_ary', compact($vars)));
$sql = 'UPDATE ' . USERS_TABLE . '
SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
WHERE user_id = ' . $user_id;

View File

@@ -27,7 +27,7 @@ class auth_admin extends \phpbb\auth\auth
/**
* Init auth settings
*/
function auth_admin()
function __construct()
{
global $db, $cache;
@@ -819,7 +819,7 @@ class auth_admin extends \phpbb\auth\auth
// Because we just changed the options and also purged the options cache, we instantly update/regenerate it for later calls to succeed.
$this->acl_options = array();
$this->auth_admin();
$this->__construct();
return true;
}

View File

@@ -35,9 +35,18 @@ class bbcode
/**
* Constructor
* Init bbcode cache entries if bitfield is specified
*/
function bbcode($bitfield = '')
function __construct($bitfield = '')
{
$this->bbcode_set_bitfield($bitfield);
}
/**
* Init bbcode cache entries if bitfield is specified
*
* @param string $bbcode_bitfield The bbcode bitfield
*/
function bbcode_set_bitfield($bitfield = '')
{
if ($bitfield)
{

View File

@@ -29,7 +29,7 @@ function register_compatibility_globals()
{
global $phpbb_container;
global $cache, $phpbb_dispatcher, $request, $user, $auth, $db, $config, $phpbb_log;
global $cache, $phpbb_dispatcher, $request, $user, $auth, $db, $config, $language, $phpbb_log;
global $symfony_request, $phpbb_filesystem, $phpbb_path_helper, $phpbb_extension_manager, $template;
// set up caching
@@ -48,6 +48,9 @@ function register_compatibility_globals()
/* @var $user \phpbb\user */
$user = $phpbb_container->get('user');
/* @var \phpbb\language\language $language */
$language = $phpbb_container->get('language');
/* @var $auth \phpbb\auth\auth */
$auth = $phpbb_container->get('auth');

View File

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

View File

@@ -50,7 +50,7 @@ class diff
* @param array &$to_content An array of strings.
* @param bool $preserve_cr If true, \r is replaced by a new line in the diff output
*/
function diff(&$from_content, &$to_content, $preserve_cr = true)
function __construct(&$from_content, &$to_content, $preserve_cr = true)
{
$diff_engine = new diff_engine();
$this->_edits = $diff_engine->diff($from_content, $to_content, $preserve_cr);
@@ -330,14 +330,14 @@ class mapped_diff extends diff
* compared when computing the diff.
* @param array $mapped_to_lines This array should have the same number of elements as $to_lines.
*/
function mapped_diff(&$from_lines, &$to_lines, &$mapped_from_lines, &$mapped_to_lines)
function __construct(&$from_lines, &$to_lines, &$mapped_from_lines, &$mapped_to_lines)
{
if (count($from_lines) != count($mapped_from_lines) || count($to_lines) != count($mapped_to_lines))
{
return false;
}
parent::diff($mapped_from_lines, $mapped_to_lines);
parent::__construct($mapped_from_lines, $mapped_to_lines);
$xi = $yi = 0;
for ($i = 0; $i < count($this->_edits); $i++)
@@ -394,7 +394,7 @@ class diff_op
*/
class diff_op_copy extends diff_op
{
function diff_op_copy($orig, $final = false)
function __construct($orig, $final = false)
{
if (!is_array($final))
{
@@ -419,7 +419,7 @@ class diff_op_copy extends diff_op
*/
class diff_op_delete extends diff_op
{
function diff_op_delete($lines)
function __construct($lines)
{
$this->orig = $lines;
$this->final = false;
@@ -440,7 +440,7 @@ class diff_op_delete extends diff_op
*/
class diff_op_add extends diff_op
{
function diff_op_add($lines)
function __construct($lines)
{
$this->final = $lines;
$this->orig = false;
@@ -461,7 +461,7 @@ class diff_op_add extends diff_op
*/
class diff_op_change extends diff_op
{
function diff_op_change($orig, $final)
function __construct($orig, $final)
{
$this->orig = $orig;
$this->final = $final;
@@ -498,7 +498,7 @@ class diff3 extends diff
* @param bool $preserve_cr If true, \r\n and bare \r are replaced by a new line
* in the diff output
*/
function diff3(&$orig, &$final1, &$final2, $preserve_cr = true)
function __construct(&$orig, &$final1, &$final2, $preserve_cr = true)
{
$diff_engine = new diff_engine();
@@ -754,7 +754,7 @@ class diff3 extends diff
*/
class diff3_op
{
function diff3_op($orig = false, $final1 = false, $final2 = false)
function __construct($orig = false, $final1 = false, $final2 = false)
{
$this->orig = $orig ? $orig : array();
$this->final1 = $final1 ? $final1 : array();
@@ -1066,7 +1066,7 @@ class diff3_op
*/
class diff3_op_copy extends diff3_op
{
function diff3_op_copy($lines = false)
function __construct($lines = false)
{
$this->orig = $lines ? $lines : array();
$this->final1 = &$this->orig;
@@ -1092,7 +1092,7 @@ class diff3_op_copy extends diff3_op
*/
class diff3_block_builder
{
function diff3_block_builder()
function __construct()
{
$this->_init();
}

View File

@@ -56,7 +56,7 @@ class diff_renderer
/**
* Constructor.
*/
function diff_renderer($params = array())
function __construct($params = array())
{
foreach ($params as $param => $value)
{

View File

@@ -66,29 +66,48 @@ function set_var(&$result, $var, $type, $multibyte = false)
/**
* Generates an alphanumeric random string of given length
*
* @param int $num_chars Length of random string, defaults to 8.
* This number should be less or equal than 64.
*
* @return string
*/
function gen_rand_string($num_chars = 8)
{
// [a, z] + [0, 9] = 36
return substr(strtoupper(base_convert(unique_id(), 16, 36)), 0, $num_chars);
$range = array_merge(range('A', 'Z'), range(0, 9));
$size = count($range);
$output = '';
for ($i = 0; $i < $num_chars; $i++)
{
$rand = random_int(0, $size-1);
$output .= $range[$rand];
}
return $output;
}
/**
* Generates a user-friendly alphanumeric random string of given length
* We remove 0 and O so users cannot confuse those in passwords etc.
*
* @param int $num_chars Length of random string, defaults to 8.
* This number should be less or equal than 64.
*
* @return string
*/
function gen_rand_string_friendly($num_chars = 8)
{
$rand_str = unique_id();
$range = array_merge(range('A', 'N'), range('P', 'Z'), range(1, 9));
$size = count($range);
// Remove Z and Y from the base_convert(), replace 0 with Z and O with Y
// [a, z] + [0, 9] - {z, y} = [a, z] + [0, 9] - {0, o} = 34
$rand_str = str_replace(array('0', 'O'), array('Z', 'Y'), strtoupper(base_convert($rand_str, 16, 34)));
$output = '';
for ($i = 0; $i < $num_chars; $i++)
{
$rand = random_int(0, $size-1);
$output .= $range[$rand];
}
return substr($rand_str, 0, $num_chars);
return $output;
}
/**
@@ -96,7 +115,7 @@ function gen_rand_string_friendly($num_chars = 8)
*/
function unique_id()
{
return bin2hex(random_bytes(8));
return strtolower(gen_rand_string(16));
}
/**
@@ -661,8 +680,6 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $
}
}
}
return;
}
else if ($mode == 'topics')
{
@@ -789,8 +806,6 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $
unset($tracking);
}
return;
}
else if ($mode == 'topic')
{
@@ -904,8 +919,6 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $
$user->set_cookie('track', tracking_serialize($tracking), $post_time + 31536000);
$request->overwrite($config['cookie_name'] . '_track', tracking_serialize($tracking), \phpbb\request\request_interface::COOKIE);
}
return;
}
else if ($mode == 'post')
{
@@ -930,9 +943,28 @@ function markread($mode, $forum_id = false, $topic_id = false, $post_time = 0, $
$db->sql_return_on_error(false);
}
return;
}
/**
* This event is used for performing actions directly after forums,
* topics or posts have been marked as read.
*
* @event core.markread_after
* @var string mode Variable containing marking mode value
* @var mixed forum_id Variable containing forum id, or false
* @var mixed topic_id Variable containing topic id, or false
* @var int post_time Variable containing post time
* @var int user_id Variable containing the user id
* @since 3.2.6-RC1
*/
$vars = array(
'mode',
'forum_id',
'topic_id',
'post_time',
'user_id',
);
extract($phpbb_dispatcher->trigger_event('core.markread_after', compact($vars)));
}
/**
@@ -1725,14 +1757,14 @@ function redirect($url, $return = false, $disable_cd_check = false)
if ($url_parts === false)
{
// Malformed url
trigger_error('INSECURE_REDIRECT', E_USER_ERROR);
trigger_error('INSECURE_REDIRECT', E_USER_WARNING);
}
else if (!empty($url_parts['scheme']) && !empty($url_parts['host']))
{
// Attention: only able to redirect within the same domain if $disable_cd_check is false (yourdomain.com -> www.yourdomain.com will not work)
if (!$disable_cd_check && $url_parts['host'] !== $user->host)
{
trigger_error('INSECURE_REDIRECT', E_USER_ERROR);
trigger_error('INSECURE_REDIRECT', E_USER_WARNING);
}
}
else if ($url[0] == '/')
@@ -1772,13 +1804,13 @@ function redirect($url, $return = false, $disable_cd_check = false)
if (!$disable_cd_check && strpos($url, generate_board_url(true) . '/') !== 0)
{
trigger_error('INSECURE_REDIRECT', E_USER_ERROR);
trigger_error('INSECURE_REDIRECT', E_USER_WARNING);
}
// Make sure no linebreaks are there... to prevent http response splitting for PHP < 4.4.2
if (strpos(urldecode($url), "\n") !== false || strpos(urldecode($url), "\r") !== false || strpos($url, ';') !== false)
{
trigger_error('INSECURE_REDIRECT', E_USER_ERROR);
trigger_error('INSECURE_REDIRECT', E_USER_WARNING);
}
// Now, also check the protocol and for a valid url the last time...
@@ -1787,7 +1819,7 @@ function redirect($url, $return = false, $disable_cd_check = false)
if ($url_parts === false || empty($url_parts['scheme']) || !in_array($url_parts['scheme'], $allowed_protocols))
{
trigger_error('INSECURE_REDIRECT', E_USER_ERROR);
trigger_error('INSECURE_REDIRECT', E_USER_WARNING);
}
/**
@@ -1811,27 +1843,6 @@ function redirect($url, $return = false, $disable_cd_check = false)
garbage_collection();
}
// Redirect via an HTML form for PITA webservers
if (@preg_match('#WebSTAR|Xitami#', getenv('SERVER_SOFTWARE')))
{
header('Refresh: 0; URL=' . $url);
echo '<!DOCTYPE html>';
echo '<html dir="' . $user->lang['DIRECTION'] . '" lang="' . $user->lang['USER_LANG'] . '">';
echo '<head>';
echo '<meta charset="utf-8">';
echo '<meta http-equiv="X-UA-Compatible" content="IE=edge">';
echo '<meta http-equiv="refresh" content="0; url=' . str_replace('&', '&amp;', $url) . '" />';
echo '<title>' . $user->lang['REDIRECT'] . '</title>';
echo '</head>';
echo '<body>';
echo '<div style="text-align: center;">' . sprintf($user->lang['URL_REDIRECT'], '<a href="' . str_replace('&', '&amp;', $url) . '">', '</a>') . '</div>';
echo '</body>';
echo '</html>';
exit;
}
// Behave as per HTTP/1.1 spec for others
header('Location: ' . $url);
exit;
@@ -2111,25 +2122,29 @@ function check_form_key($form_name, $timespan = false)
/**
* Build Confirm box
* @param boolean $check True for checking if confirmed (without any additional parameters) and false for displaying the confirm box
* @param string $title Title/Message used for confirm box.
* @param string|array $title Title/Message used for confirm box.
* message text is _CONFIRM appended to title.
* If title cannot be found in user->lang a default one is displayed
* If title_CONFIRM cannot be found in user->lang the text given is used.
* If title is an array, the first array value is used as explained per above,
* all other array values are sent as parameters to the language function.
* @param string $hidden Hidden variables
* @param string $html_body Template used for confirm box
* @param string $u_action Custom form action
*
* @return bool True if confirmation was successful, false if not
*/
function confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_body.html', $u_action = '')
{
global $user, $template, $db, $request;
global $config, $phpbb_path_helper;
global $config, $language, $phpbb_path_helper, $phpbb_dispatcher;
if (isset($_POST['cancel']))
{
return false;
}
$confirm = ($user->lang['YES'] === $request->variable('confirm', '', true, \phpbb\request\request_interface::POST));
$confirm = ($language->lang('YES') === $request->variable('confirm', '', true, \phpbb\request\request_interface::POST));
if ($check && $confirm)
{
@@ -2163,13 +2178,27 @@ function confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_bo
// generate activation key
$confirm_key = gen_rand_string(10);
if (defined('IN_ADMIN') && isset($user->data['session_admin']) && $user->data['session_admin'])
// generate language strings
if (is_array($title))
{
adm_page_header((!isset($user->lang[$title])) ? $user->lang['CONFIRM'] : $user->lang[$title]);
$key = array_shift($title);
$count = array_shift($title);
$confirm_title = $language->is_set($key) ? $language->lang($key, $count, $title) : $language->lang('CONFIRM');
$confirm_text = $language->is_set($key . '_CONFIRM') ? $language->lang($key . '_CONFIRM', $count, $title) : $key;
}
else
{
page_header((!isset($user->lang[$title])) ? $user->lang['CONFIRM'] : $user->lang[$title]);
$confirm_title = $language->is_set($title) ? $language->lang($title) : $language->lang('CONFIRM');
$confirm_text = $language->is_set($title . '_CONFIRM') ? $language->lang($title . '_CONFIRM') : $title;
}
if (defined('IN_ADMIN') && isset($user->data['session_admin']) && $user->data['session_admin'])
{
adm_page_header($confirm_title);
}
else
{
page_header($confirm_title);
}
$template->set_filenames(array(
@@ -2189,10 +2218,10 @@ function confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_bo
$u_action .= ((strpos($u_action, '?') === false) ? '?' : '&amp;') . 'confirm_key=' . $confirm_key;
$template->assign_vars(array(
'MESSAGE_TITLE' => (!isset($user->lang[$title])) ? $user->lang['CONFIRM'] : $user->lang($title, 1),
'MESSAGE_TEXT' => (!isset($user->lang[$title . '_CONFIRM'])) ? $title : $user->lang[$title . '_CONFIRM'],
'MESSAGE_TITLE' => $confirm_title,
'MESSAGE_TEXT' => $confirm_text,
'YES_VALUE' => $user->lang['YES'],
'YES_VALUE' => $language->lang('YES'),
'S_CONFIRM_ACTION' => $u_action,
'S_HIDDEN_FIELDS' => $hidden . $s_hidden_fields,
'S_AJAX_REQUEST' => $request->is_ajax(),
@@ -2205,16 +2234,36 @@ function confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_bo
if ($request->is_ajax())
{
$u_action .= '&confirm_uid=' . $user->data['user_id'] . '&sess=' . $user->session_id . '&sid=' . $user->session_id;
$json_response = new \phpbb\json_response;
$json_response->send(array(
$data = array(
'MESSAGE_BODY' => $template->assign_display('body'),
'MESSAGE_TITLE' => (!isset($user->lang[$title])) ? $user->lang['CONFIRM'] : $user->lang[$title],
'MESSAGE_TEXT' => (!isset($user->lang[$title . '_CONFIRM'])) ? $title : $user->lang[$title . '_CONFIRM'],
'MESSAGE_TITLE' => $confirm_title,
'MESSAGE_TEXT' => $confirm_text,
'YES_VALUE' => $user->lang['YES'],
'YES_VALUE' => $language->lang('YES'),
'S_CONFIRM_ACTION' => str_replace('&amp;', '&', $u_action), //inefficient, rewrite whole function
'S_HIDDEN_FIELDS' => $hidden . $s_hidden_fields
));
);
/**
* This event allows an extension to modify the ajax output of confirm box.
*
* @event core.confirm_box_ajax_before
* @var string u_action Action of the form
* @var array data Data to be sent
* @var string hidden Hidden fields generated by caller
* @var string s_hidden_fields Hidden fields generated by this function
* @since 3.2.8-RC1
*/
$vars = array(
'u_action',
'data',
'hidden',
's_hidden_fields',
);
extract($phpbb_dispatcher->trigger_event('core.confirm_box_ajax_before', compact($vars)));
$json_response = new \phpbb\json_response;
$json_response->send($data);
}
if (defined('IN_ADMIN') && isset($user->data['session_admin']) && $user->data['session_admin'])
@@ -2225,6 +2274,8 @@ function confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_bo
{
page_footer();
}
exit; // unreachable, page_footer() above will call exit()
}
/**
@@ -2236,6 +2287,7 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
global $request, $phpbb_container, $phpbb_dispatcher, $phpbb_log;
$err = '';
$form_name = 'login';
// Make sure user->setup() has been called
if (!$user->is_setup())
@@ -2311,8 +2363,19 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
trigger_error('NO_AUTH_ADMIN_USER_DIFFER');
}
// If authentication is successful we redirect user to previous page
$result = $auth->login($username, $password, $autologin, $viewonline, $admin);
// Check form key
if ($password && !defined('IN_CHECK_BAN') && !check_form_key($form_name))
{
$result = array(
'status' => false,
'error_msg' => 'FORM_INVALID',
);
}
else
{
// If authentication is successful we redirect user to previous page
$result = $auth->login($username, $password, $autologin, $viewonline, $admin);
}
// If admin authentication and login, we will log if it was a success or not...
// We also break the operation on the first non-success login - it could be argued that the user already knows
@@ -2344,10 +2407,12 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
* @event core.login_box_redirect
* @var string redirect Redirect string
* @var bool admin Is admin?
* @var array result Result from auth provider
* @since 3.1.0-RC5
* @changed 3.1.9-RC1 Removed undefined return variable
* @changed 3.2.4-RC1 Added result
*/
$vars = array('redirect', 'admin');
$vars = array('redirect', 'admin', 'result');
extract($phpbb_dispatcher->trigger_event('core.login_box_redirect', compact($vars)));
// append/replace SID (may change during the session for AOL users)
@@ -2463,7 +2528,7 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
$s_hidden_fields = build_hidden_fields($s_hidden_fields);
$template->assign_vars(array(
$login_box_template_data = array(
'LOGIN_ERROR' => $err,
'LOGIN_EXPLAIN' => $l_explain,
@@ -2471,6 +2536,7 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
'U_RESEND_ACTIVATION' => ($config['require_activation'] == USER_ACTIVATION_SELF && $config['email_enable']) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=resend_act') : '',
'U_TERMS_USE' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=terms'),
'U_PRIVACY' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=privacy'),
'UA_PRIVACY' => addslashes(append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=privacy')),
'S_DISPLAY_FULL_LOGIN' => ($s_display) ? true : false,
'S_HIDDEN_FIELDS' => $s_hidden_fields,
@@ -2480,7 +2546,29 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
'USERNAME_CREDENTIAL' => 'username',
'PASSWORD_CREDENTIAL' => ($admin) ? 'password_' . $credential : 'password',
));
);
/**
* Event to add/modify login box template data
*
* @event core.login_box_modify_template_data
* @var int admin Flag whether user is admin
* @var string username User name
* @var int autologin Flag whether autologin is enabled
* @var string redirect Redirect URL
* @var array login_box_template_data Array with the login box template data
* @since 3.2.3-RC2
*/
$vars = array(
'admin',
'username',
'autologin',
'redirect',
'login_box_template_data',
);
extract($phpbb_dispatcher->trigger_event('core.login_box_modify_template_data', compact($vars)));
$template->assign_vars($login_box_template_data);
page_header($user->lang['LOGIN']);
@@ -2497,7 +2585,7 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
*/
function login_forum_box($forum_data)
{
global $db, $phpbb_container, $request, $template, $user, $phpbb_dispatcher;
global $db, $phpbb_container, $request, $template, $user, $phpbb_dispatcher, $phpbb_root_path, $phpEx;
$password = $request->variable('password', '', true);
@@ -2582,6 +2670,8 @@ function login_forum_box($forum_data)
'body' => 'login_forum.html')
);
make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"), $forum_data['forum_id']);
page_footer();
}
@@ -4035,9 +4125,9 @@ function phpbb_get_user_avatar($user_row, $alt = 'USER_AVATAR', $ignore_config =
*
* @return string Avatar html
*/
function phpbb_get_group_avatar($user_row, $alt = 'GROUP_AVATAR', $ignore_config = false, $lazy = false)
function phpbb_get_group_avatar($group_row, $alt = 'GROUP_AVATAR', $ignore_config = false, $lazy = false)
{
$row = \phpbb\avatar\manager::clean_row($user_row, 'group');
$row = \phpbb\avatar\manager::clean_row($group_row, 'group');
return phpbb_get_avatar($row, $alt, $ignore_config, $lazy);
}
@@ -4342,6 +4432,23 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
$controller_helper = $phpbb_container->get('controller.helper');
$notification_mark_hash = generate_link_hash('mark_all_notifications_read');
$s_login_redirect = build_hidden_fields(array('redirect' => $phpbb_path_helper->remove_web_root_path(build_url())));
// Add form token for login box, in case page is presenting a login form.
add_form_key('login', '_LOGIN');
/**
* Workaround for missing template variable in pre phpBB 3.2.6 styles.
* @deprecated 3.2.7 (To be removed: 3.3.0-a1)
*/
$form_token_login = $template->retrieve_var('S_FORM_TOKEN_LOGIN');
if (!empty($form_token_login))
{
$s_login_redirect .= $form_token_login;
// Remove S_FORM_TOKEN_LOGIN as it's already appended to S_LOGIN_REDIRECT
$template->assign_var('S_FORM_TOKEN_LOGIN', '');
}
// The following assigns all _common_ variables that may be used at any point in a template.
$template->assign_vars(array(
'SITENAME' => $config['sitename'],
@@ -4401,9 +4508,10 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
'U_SEARCH_ACTIVE_TOPICS'=> append_sid("{$phpbb_root_path}search.$phpEx", 'search_id=active_topics'),
'U_DELETE_COOKIES' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=delete_cookies'),
'U_CONTACT_US' => ($config['contact_admin_form_enable'] && $config['email_enable']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contactadmin') : '',
'U_TEAM' => ($user->data['user_id'] != ANONYMOUS && !$auth->acl_get('u_viewprofile')) ? '' : append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=team'),
'U_TEAM' => (!$auth->acl_get('u_viewprofile')) ? '' : append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=team'),
'U_TERMS_USE' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=terms'),
'U_PRIVACY' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=privacy'),
'UA_PRIVACY' => addslashes(append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=privacy')),
'U_RESTORE_PERMISSIONS' => ($user->data['user_perm_from'] && $auth->acl_get('a_switchperm')) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=restore_perm') : '',
'U_FEED' => $controller_helper->route('phpbb_feed_index'),
@@ -4430,7 +4538,7 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
'S_TOPIC_ID' => $topic_id,
'S_LOGIN_ACTION' => ((!defined('ADMIN_START')) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login') : append_sid("{$phpbb_admin_path}index.$phpEx", false, true, $user->session_id)),
'S_LOGIN_REDIRECT' => build_hidden_fields(array('redirect' => $phpbb_path_helper->remove_web_root_path(build_url()))),
'S_LOGIN_REDIRECT' => $s_login_redirect,
'S_ENABLE_FEEDS' => ($config['feed_enable']) ? true : false,
'S_ENABLE_FEEDS_OVERALL' => ($config['feed_overall']) ? true : false,
@@ -4463,7 +4571,7 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
'S_COOKIE_NOTICE' => !empty($config['cookie_notice']),
'T_THEME_NAME' => rawurlencode($user->style['style_path']),
'T_THEME_LANG_NAME' => $user->data['user_lang'],
'T_THEME_LANG_NAME' => $user->lang_name,
'T_TEMPLATE_NAME' => $user->style['style_path'],
'T_SUPER_TEMPLATE_NAME' => rawurlencode((isset($user->style['style_parent_tree']) && $user->style['style_parent_tree']) ? $user->style['style_parent_tree'] : $user->style['style_path']),
'T_IMAGES' => 'images',
@@ -4481,12 +4589,13 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
if ($send_headers)
{
// An array of http headers that phpbb will set. The following event may override these.
// An array of http headers that phpBB will set. The following event may override these.
$http_headers += array(
// application/xhtml+xml not used because of IE
'Content-type' => 'text/html; charset=UTF-8',
'Cache-Control' => 'private, no-cache="set-cookie"',
'Expires' => gmdate('D, d M Y H:i:s', time()) . ' GMT',
'Referrer-Policy' => 'strict-origin-when-cross-origin',
);
if (!empty($user->data['is_bot']))
{

View File

@@ -112,12 +112,13 @@ function adm_page_header($page_title)
'CONTAINER_EXCEPTION' => $phpbb_container->hasParameter('container_exception') ? $phpbb_container->getParameter('container_exception') : false,
));
// An array of http headers that phpbb will set. The following event may override these.
// An array of http headers that phpBB will set. The following event may override these.
$http_headers = array(
// application/xhtml+xml not used because of IE
'Content-type' => 'text/html; charset=UTF-8',
'Cache-Control' => 'private, no-cache="set-cookie"',
'Expires' => gmdate('D, d M Y H:i:s', time()) . ' GMT',
'Referrer-Policy' => 'strict-origin-when-cross-origin',
);
/**
@@ -419,7 +420,7 @@ function build_cfg_template($tpl_type, $key, &$new_ary, $config_key, $vars)
*/
function validate_config_vars($config_vars, &$cfg_array, &$error)
{
global $phpbb_root_path, $user, $phpbb_dispatcher, $phpbb_filesystem;
global $phpbb_root_path, $user, $phpbb_dispatcher, $phpbb_filesystem, $language;
$type = 0;
$min = 1;
@@ -442,6 +443,16 @@ function validate_config_vars($config_vars, &$cfg_array, &$error)
// Validate a bit. ;) (0 = type, 1 = min, 2= max)
switch ($validator[$type])
{
case 'url':
$cfg_array[$config_name] = trim($cfg_array[$config_name]);
if (!empty($cfg_array[$config_name]) && !preg_match('#^' . get_preg_expression('url') . '$#iu', $cfg_array[$config_name]))
{
$error[] = $language->lang('URL_INVALID', $language->lang($config_definition['lang']));
}
// no break here
case 'string':
$length = utf8_strlen($cfg_array[$config_name]);
@@ -564,9 +575,6 @@ function validate_config_vars($config_vars, &$cfg_array, &$error)
$cfg_array[$config_name] = trim($destination);
// Absolute file path
case 'absolute_path':
case 'absolute_path_writable':
// Path being relative (still prefixed by phpbb_root_path), but with the ability to escape the root dir...
case 'path':
case 'wpath':
@@ -585,7 +593,7 @@ function validate_config_vars($config_vars, &$cfg_array, &$error)
break;
}
$path = in_array($config_definition['validate'], array('wpath', 'path', 'rpath', 'rwpath')) ? $phpbb_root_path . $cfg_array[$config_name] : $cfg_array[$config_name];
$path = $phpbb_root_path . $cfg_array[$config_name];
if (!file_exists($path))
{
@@ -598,7 +606,7 @@ function validate_config_vars($config_vars, &$cfg_array, &$error)
}
// Check if the path is writable
if ($config_definition['validate'] == 'wpath' || $config_definition['validate'] == 'rwpath' || $config_definition['validate'] === 'absolute_path_writable')
if ($config_definition['validate'] == 'wpath' || $config_definition['validate'] == 'rwpath')
{
if (file_exists($path) && !$phpbb_filesystem->is_writable($path))
{

View File

@@ -543,6 +543,20 @@ function move_topics($topic_ids, $forum_id, $auto_sync = true)
$topic_ids = array($topic_ids);
}
/**
* Perform additional actions before topics move
*
* @event core.move_topics_before
* @var array topic_ids Array of the moved topic ids
* @var string forum_id The forum id from where the topics are moved
* @since 3.2.9-RC1
*/
$vars = array(
'topic_ids',
'forum_id',
);
extract($phpbb_dispatcher->trigger_event('core.move_topics_before', compact($vars)));
$sql = 'DELETE FROM ' . TOPICS_TABLE . '
WHERE ' . $db->sql_in_set('topic_moved_id', $topic_ids) . '
AND forum_id = ' . $forum_id;
@@ -593,6 +607,22 @@ function move_topics($topic_ids, $forum_id, $auto_sync = true)
}
unset($table_ary);
/**
* Perform additional actions after topics move
*
* @event core.move_topics_after
* @var array topic_ids Array of the moved topic ids
* @var string forum_id The forum id from where the topics were moved
* @var array forum_ids Array of the forums where the topics were moved (includes also forum_id)
* @since 3.2.9-RC1
*/
$vars = array(
'topic_ids',
'forum_id',
'forum_ids',
);
extract($phpbb_dispatcher->trigger_event('core.move_topics_after', compact($vars)));
if ($auto_sync)
{
sync('forum', 'forum_id', $forum_ids, true, true);
@@ -3042,6 +3072,8 @@ function tidy_database()
}
$db->sql_freeresult($result);
$db->sql_transaction('begin');
// Delete those rows from the acl tables not having listed the forums above
$sql = 'DELETE FROM ' . ACL_GROUPS_TABLE . '
WHERE ' . $db->sql_in_set('forum_id', $forum_ids, true);
@@ -3051,6 +3083,8 @@ function tidy_database()
WHERE ' . $db->sql_in_set('forum_id', $forum_ids, true);
$db->sql_query($sql);
$db->sql_transaction('commit');
$config->set('database_last_gc', time(), false);
}

View File

@@ -391,7 +391,7 @@ function request_var($var_name, $default, $multibyte = false, $cookie = false, $
*
* @deprecated 3.1.0 (To be removed: 3.3.0)
*/
function get_tables(&$db)
function get_tables($db)
{
$db_tools_factory = new \phpbb\db\tools\factory();
$db_tools = $db_tools_factory->get($db);

View File

@@ -210,7 +210,7 @@ class compress_zip extends compress
/**
* Constructor
*/
function compress_zip($mode, $file)
function __construct($mode, $file)
{
global $phpbb_filesystem;
@@ -569,7 +569,7 @@ class compress_tar extends compress
/**
* Constructor
*/
function compress_tar($mode, $file, $type = '')
function __construct($mode, $file, $type = '')
{
global $phpbb_filesystem;

View File

@@ -627,7 +627,7 @@ function generate_text_for_display($text, $uid, $bitfield, $flags, $censor_text
}
else
{
$bbcode->bbcode($bitfield);
$bbcode->bbcode_set_bitfield($bitfield);
}
$bbcode->bbcode_second_pass($text, $uid);
@@ -1482,6 +1482,8 @@ function truncate_string($string, $max_length = 60, $max_store_length = 255, $al
* Get username details for placing into templates.
* This function caches all modes on first call, except for no_profile and anonymous user - determined by $user_id.
*
* @html Username spans and links
*
* @param string $mode Can be profile (for getting an url to the profile), username (for obtaining the username), colour (for obtaining the user colour), full (for obtaining a html string representing a coloured link to the users profile) or no_profile (the same as full but forcing no profile link)
* @param int $user_id The users id
* @param string $username The users name
@@ -1501,6 +1503,7 @@ function get_username_string($mode, $user_id, $username, $username_colour = '',
{
global $phpbb_root_path, $phpEx;
/** @html Username spans and links for usage in the template */
$_profile_cache['base_url'] = append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&amp;u={USER_ID}');
$_profile_cache['tpl_noprofile'] = '<span class="username">{USERNAME}</span>';
$_profile_cache['tpl_noprofile_colour'] = '<span style="color: {USERNAME_COLOUR};" class="username-coloured">{USERNAME}</span>';
@@ -1672,7 +1675,7 @@ class bitfield
{
var $data;
function bitfield($bitfield = '')
function __construct($bitfield = '')
{
$this->data = base64_decode($bitfield);
}
@@ -1758,3 +1761,48 @@ class bitfield
$this->data = $this->data | $bitfield->get_blob();
}
}
/**
* Formats the quote according to the given BBCode status setting
*
* @param phpbb\language\language $language Language class
* @param parse_message $message_parser Message parser class
* @param phpbb\textformatter\utils_interface $text_formatter_utils Text formatter utilities
* @param bool $bbcode_status The status of the BBCode setting
* @param array $quote_attributes The attributes of the quoted post
* @param string $message_link Link of the original quoted post
*/
function phpbb_format_quote($language, $message_parser, $text_formatter_utils, $bbcode_status, $quote_attributes, $message_link = '')
{
if ($bbcode_status)
{
$quote_text = $text_formatter_utils->generate_quote(
censor_text($message_parser->message),
$quote_attributes
);
$message_parser->message = $quote_text . "\n\n";
}
else
{
$offset = 0;
$quote_string = "&gt; ";
$message = censor_text(trim($message_parser->message));
// see if we are nesting. It's easily tricked but should work for one level of nesting
if (strpos($message, "&gt;") !== false)
{
$offset = 10;
}
$message = utf8_wordwrap($message, 75 + $offset, "\n");
$message = $quote_string . $message;
$message = str_replace("\n", "\n" . $quote_string, $message);
$message_parser->message = $quote_attributes['author'] . " " . $language->lang('WROTE') . ":\n" . $message . "\n";
}
if ($message_link)
{
$message_parser->message = $message_link . $message_parser->message;
}
}

View File

@@ -70,7 +70,7 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
$data = array(
'NO_UNREAD_POSTS' => $user->lang['NO_UNREAD_POSTS'],
'UNREAD_POSTS' => $user->lang['UNREAD_POSTS'],
'U_MARK_FORUMS' => ($user->data['is_registered'] || $config['load_anon_lastread']) ? append_sid("{$phpbb_root_path}index.$phpEx", 'hash=' . generate_link_hash('global') . '&mark=forums&mark_time=' . time()) : '',
'U_MARK_FORUMS' => ($user->data['is_registered'] || $config['load_anon_lastread']) ? append_sid("{$phpbb_root_path}index.$phpEx", 'hash=' . generate_link_hash('global') . '&mark=forums&mark_time=' . time(), false) : '',
'MESSAGE_TITLE' => $user->lang['INFORMATION'],
'MESSAGE_TEXT' => $user->lang['FORUMS_MARKED']
);
@@ -355,7 +355,7 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
$data = array(
'NO_UNREAD_POSTS' => $user->lang['NO_UNREAD_POSTS'],
'UNREAD_POSTS' => $user->lang['UNREAD_POSTS'],
'U_MARK_FORUMS' => ($user->data['is_registered'] || $config['load_anon_lastread']) ? append_sid("{$phpbb_root_path}viewforum.$phpEx", 'hash=' . generate_link_hash('global') . '&f=' . $root_data['forum_id'] . '&mark=forums&mark_time=' . time()) : '',
'U_MARK_FORUMS' => ($user->data['is_registered'] || $config['load_anon_lastread']) ? append_sid("{$phpbb_root_path}viewforum.$phpEx", 'hash=' . generate_link_hash('global') . '&f=' . $root_data['forum_id'] . '&mark=forums&mark_time=' . time(), false) : '',
'MESSAGE_TITLE' => $user->lang['INFORMATION'],
'MESSAGE_TEXT' => $user->lang['FORUMS_MARKED']
);
@@ -539,7 +539,8 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
{
if ($row['forum_password_last_post'] === '' && $auth->acl_gets('f_read', 'f_list_topics', $row['forum_id_last_post']))
{
$last_post_subject = censor_text($row['forum_last_post_subject']);
$last_post_subject = utf8_decode_ncr(censor_text($row['forum_last_post_subject']));
$last_post_subject_truncated = truncate_string($last_post_subject, 30, 255, false, $user->lang['ELLIPSIS']);
}
else
@@ -547,11 +548,12 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
$last_post_subject = $last_post_subject_truncated = '';
}
$last_post_time = $user->format_date($row['forum_last_post_time']);
$last_post_time_rfc3339 = gmdate(DATE_RFC3339, $row['forum_last_post_time']);
$last_post_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id_last_post'] . '&amp;p=' . $row['forum_last_post_id']) . '#p' . $row['forum_last_post_id'];
}
else
{
$last_post_subject = $last_post_time = $last_post_url = $last_post_subject_truncated = '';
$last_post_subject = $last_post_time = $last_post_time_rfc3339 = $last_post_url = $last_post_subject_truncated = '';
}
// Output moderator listing ... if applicable
@@ -622,6 +624,7 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
'LAST_POST_SUBJECT' => $last_post_subject,
'LAST_POST_SUBJECT_TRUNCATED' => $last_post_subject_truncated,
'LAST_POST_TIME' => $last_post_time,
'LAST_POST_TIME_RFC3339'=> $last_post_time_rfc3339,
'LAST_POSTER' => get_username_string('username', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']),
'LAST_POSTER_COLOUR' => get_username_string('colour', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']),
'LAST_POSTER_FULL' => get_username_string('full', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']),
@@ -1117,7 +1120,6 @@ function display_custom_bbcodes()
'BBCODE_TAG' => $row['bbcode_tag'],
'BBCODE_TAG_CLEAN' => str_replace('=', '-', $row['bbcode_tag']),
'BBCODE_HELPLINE' => $row['bbcode_helpline'],
'A_BBCODE_HELPLINE' => str_replace(array('&amp;', '&quot;', "'", '&lt;', '&gt;'), array('&', '"', "\'", '<', '>'), $row['bbcode_helpline']),
);
/**
@@ -1241,6 +1243,7 @@ function display_user_activity(&$userdata_ary)
}
$userdata = $userdata_ary;
$show_user_activity = true;
/**
* Alter list of forums and topics to display as active
*
@@ -1248,9 +1251,11 @@ function display_user_activity(&$userdata_ary)
* @var array userdata User's data
* @var array active_f_row List of active forums
* @var array active_t_row List of active posts
* @var bool show_user_activity Show user forum and topic activity
* @since 3.1.0-RC3
* @changed 3.2.5-RC1 Added show_user_activity into event
*/
$vars = array('userdata', 'active_f_row', 'active_t_row');
$vars = array('userdata', 'active_f_row', 'active_t_row', 'show_user_activity');
extract($phpbb_dispatcher->trigger_event('core.display_user_activity_modify_actives', compact($vars)));
$userdata_ary = $userdata;
unset($userdata);
@@ -1287,7 +1292,7 @@ function display_user_activity(&$userdata_ary)
'ACTIVE_TOPIC_PCT' => sprintf($l_active_pct, $active_t_pct),
'U_ACTIVE_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $active_f_id),
'U_ACTIVE_TOPIC' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 't=' . $active_t_id),
'S_SHOW_ACTIVITY' => true)
'S_SHOW_ACTIVITY' => $show_user_activity)
);
}

View File

@@ -196,7 +196,7 @@ function send_file_to_browser($attachment, $upload_dir, $category)
}
// Now the tricky part... let's dance
header('Cache-Control: public');
header('Cache-Control: private');
// Send out the Headers. Do not set Content-Disposition to inline please, it is a security measure for users using the Internet Explorer.
header('Content-Type: ' . $attachment['mimetype']);
@@ -451,7 +451,7 @@ function set_modified_headers($stamp, $browser)
{
send_status_line(304, 'Not Modified');
// seems that we need those too ... browsers
header('Cache-Control: public');
header('Cache-Control: private');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 31536000) . ' GMT');
return true;
}

View File

@@ -22,12 +22,12 @@ if (!defined('IN_PHPBB'))
/**
* Functions used to generate additional URL paramters
*/
function phpbb_module__url($mode, &$module_row)
function phpbb_module__url($mode, $module_row)
{
return phpbb_extra_url();
}
function phpbb_module_notes_url($mode, &$module_row)
function phpbb_module_notes_url($mode, $module_row)
{
if ($mode == 'front')
{
@@ -38,7 +38,7 @@ function phpbb_module_notes_url($mode, &$module_row)
return ($user_id) ? "&amp;u=$user_id" : '';
}
function phpbb_module_warn_url($mode, &$module_row)
function phpbb_module_warn_url($mode, $module_row)
{
if ($mode == 'front' || $mode == 'list')
{
@@ -64,27 +64,27 @@ function phpbb_module_warn_url($mode, &$module_row)
}
}
function phpbb_module_main_url($mode, &$module_row)
function phpbb_module_main_url($mode, $module_row)
{
return phpbb_extra_url();
}
function phpbb_module_logs_url($mode, &$module_row)
function phpbb_module_logs_url($mode, $module_row)
{
return phpbb_extra_url();
}
function phpbb_module_ban_url($mode, &$module_row)
function phpbb_module_ban_url($mode, $module_row)
{
return phpbb_extra_url();
}
function phpbb_module_queue_url($mode, &$module_row)
function phpbb_module_queue_url($mode, $module_row)
{
return phpbb_extra_url();
}
function phpbb_module_reports_url($mode, &$module_row)
function phpbb_module_reports_url($mode, $module_row)
{
return phpbb_extra_url();
}

View File

@@ -37,7 +37,7 @@ class messenger
/**
* Constructor
*/
function messenger($use_queue = true)
function __construct($use_queue = true)
{
global $config;
@@ -181,10 +181,9 @@ class messenger
/**
* Adds X-AntiAbuse headers
*
* @param array $config Configuration array
* @param user $user A user object
*
* @return null
* @param \phpbb\config\config $config Config object
* @param \phpbb\user $user User object
* @return void
*/
function anti_abuse_headers($config, $user)
{
@@ -326,9 +325,26 @@ class messenger
));
$subject = $this->subject;
$message = $this->msg;
$template = $this->template;
/**
* Event to modify notification message text before parsing
* Event to modify the template before parsing
*
* @event core.modify_notification_template
* @var int method User notification method NOTIFY_EMAIL|NOTIFY_IM|NOTIFY_BOTH
* @var bool break Flag indicating if the function only formats the subject
* and the message without sending it
* @var string subject The message subject
* @var \phpbb\template\template template The (readonly) template object
* @since 3.2.4-RC1
*/
$vars = array('method', 'break', 'subject', 'template');
extract($phpbb_dispatcher->trigger_event('core.modify_notification_template', compact($vars)));
// Parse message through template
$message = trim($this->template->assign_display('body'));
/**
* Event to modify notification message text after parsing
*
* @event core.modify_notification_message
* @var int method User notification method NOTIFY_EMAIL|NOTIFY_IM|NOTIFY_BOTH
@@ -338,19 +354,12 @@ class messenger
* @var string message The message text
* @since 3.1.11-RC1
*/
$vars = array(
'method',
'break',
'subject',
'message',
);
$vars = array('method', 'break', 'subject', 'message');
extract($phpbb_dispatcher->trigger_event('core.modify_notification_message', compact($vars)));
$this->subject = $subject;
$this->msg = $message;
unset($subject, $message);
// Parse message through template
$this->msg = trim($this->template->assign_display('body'));
unset($subject, $message, $template);
// Because we use \n for newlines in the body message we need to fix line encoding errors for those admins who uploaded email template files in the wrong encoding
$this->msg = str_replace("\r\n", "\n", $this->msg);
@@ -369,6 +378,12 @@ class messenger
$this->subject = (($this->subject != '') ? $this->subject : $user->lang['NO_EMAIL_SUBJECT']);
}
if (preg_match('#^(List-Unsubscribe:(.*?))$#m', $this->msg, $match))
{
$this->extra_headers[] = $match[1];
$drop_header .= '[\r\n]*?' . preg_quote($match[1], '#');
}
if ($drop_header)
{
$this->msg = trim(preg_replace('#' . $drop_header . '#s', '', $this->msg));
@@ -517,7 +532,7 @@ class messenger
*/
function msg_email()
{
global $config;
global $config, $phpbb_dispatcher;
if (empty($config['email_enable']))
{
@@ -545,6 +560,33 @@ class messenger
$contact_name = htmlspecialchars_decode($config['board_contact_name']);
$board_contact = (($contact_name !== '') ? '"' . mail_encode($contact_name) . '" ' : '') . '<' . $config['board_contact'] . '>';
$break = false;
$addresses = $this->addresses;
$subject = $this->subject;
$msg = $this->msg;
/**
* Event to send message via external transport
*
* @event core.notification_message_email
* @var bool break Flag indicating if the function return after hook
* @var array addresses The message recipients
* @var string subject The message subject
* @var string msg The message text
* @since 3.2.4-RC1
*/
$vars = array(
'break',
'addresses',
'subject',
'msg',
);
extract($phpbb_dispatcher->trigger_event('core.notification_message_email', compact($vars)));
if ($break)
{
return true;
}
if (empty($this->replyto))
{
$this->replyto = $board_contact;
@@ -750,7 +792,7 @@ class queue
/**
* constructor
*/
function queue()
function __construct()
{
global $phpEx, $phpbb_root_path, $phpbb_filesystem, $phpbb_container;
@@ -783,7 +825,7 @@ class queue
*/
function process()
{
global $config, $phpEx, $phpbb_root_path, $user;
global $config, $phpEx, $phpbb_root_path, $user, $phpbb_dispatcher;
$lock = new \phpbb\lock\flock($this->cache_file);
$lock->acquire();
@@ -880,23 +922,45 @@ class queue
switch ($object)
{
case 'email':
$err_msg = '';
$to = (!$to) ? 'undisclosed-recipients:;' : $to;
$break = false;
/**
* Event to send message via external transport
*
* @event core.notification_message_process
* @var bool break Flag indicating if the function return after hook
* @var array addresses The message recipients
* @var string subject The message subject
* @var string msg The message text
* @since 3.2.4-RC1
*/
$vars = array(
'break',
'addresses',
'subject',
'msg',
);
extract($phpbb_dispatcher->trigger_event('core.notification_message_process', compact($vars)));
if ($config['smtp_delivery'])
if (!$break)
{
$result = smtpmail($addresses, mail_encode($subject), wordwrap(utf8_wordwrap($msg), 997, "\n", true), $err_msg, $headers);
}
else
{
$result = phpbb_mail($to, $subject, $msg, $headers, PHP_EOL, $err_msg);
}
$err_msg = '';
$to = (!$to) ? 'undisclosed-recipients:;' : $to;
if (!$result)
{
$messenger = new messenger();
$messenger->error('EMAIL', $err_msg);
continue 2;
if ($config['smtp_delivery'])
{
$result = smtpmail($addresses, mail_encode($subject), wordwrap(utf8_wordwrap($msg), 997, "\n", true), $err_msg, $headers);
}
else
{
$result = phpbb_mail($to, $subject, $msg, $headers, PHP_EOL, $err_msg);
}
if (!$result)
{
$messenger = new messenger();
$messenger->error('EMAIL', $err_msg);
continue 2;
}
}
break;
@@ -1264,7 +1328,7 @@ class smtp_class
var $backtrace = false;
var $backtrace_log = array();
function smtp_class()
function __construct()
{
// Always create a backtrace for admins to identify SMTP problems
$this->backtrace = true;
@@ -1517,6 +1581,14 @@ class smtp_class
*/
protected function starttls()
{
global $config;
// allow SMTPS (what was used by phpBB 3.0) if hostname is prefixed with tls:// or ssl://
if (strpos($config['smtp_host'], 'tls://') === 0 || strpos($config['smtp_host'], 'ssl://') === 0)
{
return true;
}
if (!function_exists('stream_socket_enable_crypto'))
{
return false;
@@ -1539,7 +1611,9 @@ class smtp_class
if (socket_set_blocking($this->socket, 1))
{
$result = stream_socket_enable_crypto($this->socket, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);
// https://secure.php.net/manual/en/function.stream-socket-enable-crypto.php#119122
$crypto = (phpbb_version_compare(PHP_VERSION, '5.6.7', '<')) ? STREAM_CRYPTO_METHOD_TLS_CLIENT : STREAM_CRYPTO_METHOD_SSLv23_CLIENT;
$result = stream_socket_enable_crypto($this->socket, true, $crypto);
socket_set_blocking($this->socket, (int) $stream_meta['blocked']);
}
@@ -1819,14 +1893,21 @@ function mail_encode($str, $eol = "\r\n")
}
/**
* Wrapper for sending out emails with the PHP's mail function
*/
* Wrapper for sending out emails with the PHP's mail function
*/
function phpbb_mail($to, $subject, $msg, $headers, $eol, &$err_msg)
{
global $config, $phpbb_root_path, $phpEx;
// We use the EOL character for the OS here because the PHP mail function does not correctly transform line endings. On Windows SMTP is used (SMTP is \r\n), on UNIX a command is used...
// Reference: http://bugs.php.net/bug.php?id=15841
// Convert Numeric Character References to UTF-8 chars (ie. Emojis)
$subject = utf8_decode_ncr($subject);
$msg = utf8_decode_ncr($msg);
/**
* We use the EOL character for the OS here because the PHP mail function does not correctly transform line endings.
* On Windows SMTP is used (SMTP is \r\n), on UNIX a command is used...
* Reference: http://bugs.php.net/bug.php?id=15841
*/
$headers = implode($eol, $headers);
if (!class_exists('\phpbb\error_collector'))
@@ -1837,10 +1918,14 @@ function phpbb_mail($to, $subject, $msg, $headers, $eol, &$err_msg)
$collector = new \phpbb\error_collector;
$collector->install();
// On some PHP Versions mail() *may* fail if there are newlines within the subject.
// Newlines are used as a delimiter for lines in mail_encode() according to RFC 2045 section 6.8.
// Because PHP can't decide what is wanted we revert back to the non-RFC-compliant way of separating by one space (Use '' as parameter to mail_encode() results in SPACE used)
/**
* On some PHP Versions mail() *may* fail if there are newlines within the subject.
* Newlines are used as a delimiter for lines in mail_encode() according to RFC 2045 section 6.8.
* Because PHP can't decide what is wanted we revert back to the non-RFC-compliant way of separating by one space
* (Use '' as parameter to mail_encode() results in SPACE used)
*/
$additional_parameters = $config['email_force_sender'] ? '-f' . $config['board_email'] : '';
$result = mail($to, mail_encode($subject, ''), wordwrap(utf8_wordwrap($msg), 997, "\n", true), $headers, $additional_parameters);
$collector->uninstall();

View File

@@ -40,7 +40,7 @@ class p_master
* Constuctor
* Set module include path
*/
function p_master($include_path = false)
function __construct($include_path = false)
{
global $phpbb_root_path;

View File

@@ -52,9 +52,29 @@ function generate_smilies($mode, $forum_id)
page_header($user->lang['SMILIES']);
$sql = 'SELECT COUNT(smiley_id) AS item_count
FROM ' . SMILIES_TABLE . '
GROUP BY smiley_url';
$sql_ary = [
'SELECT' => 'COUNT(s.smiley_id) AS item_count',
'FROM' => [
SMILIES_TABLE => 's',
],
'GROUP_BY' => 's.smiley_url',
];
/**
* Modify SQL query that fetches the total number of smilies in window mode
*
* @event core.generate_smilies_count_sql_before
* @var int forum_id Forum where smilies are generated
* @var array sql_ary Array with the SQL query
* @since 3.2.9-RC1
*/
$vars = [
'forum_id',
'sql_ary',
];
extract($phpbb_dispatcher->trigger_event('core.generate_smilies_count_sql_before', compact($vars)));
$sql = $db->sql_build_query('SELECT', $sql_ary);
$result = $db->sql_query($sql, 3600);
$smiley_count = 0;
@@ -114,6 +134,22 @@ function generate_smilies($mode, $forum_id)
}
$db->sql_freeresult($result);
/**
* Modify smilies before they are assigned to the template
*
* @event core.generate_smilies_modify_rowset
* @var string mode Smiley mode, either window or inline
* @var int forum_id Forum where smilies are generated
* @var array smilies Smiley rows fetched from the database
* @since 3.2.9-RC1
*/
$vars = [
'mode',
'forum_id',
'smilies',
];
extract($phpbb_dispatcher->trigger_event('core.generate_smilies_modify_rowset', compact($vars)));
if (count($smilies))
{
$root_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? generate_board_url() . '/' : $phpbb_path_helper->get_web_root_path();
@@ -202,11 +238,13 @@ function update_post_information($type, $ids, $return_update_sql = false)
if (count($ids) == 1)
{
$sql = 'SELECT MAX(p.post_id) as last_post_id
$sql = 'SELECT p.post_id as last_post_id
FROM ' . POSTS_TABLE . " p $topic_join
WHERE " . $db->sql_in_set('p.' . $type . '_id', $ids) . "
$topic_condition
AND p.post_visibility = " . ITEM_APPROVED;
AND p.post_visibility = " . ITEM_APPROVED . "
ORDER BY p.post_id DESC";
$result = $db->sql_query_limit($sql, 1);
}
else
{
@@ -216,8 +254,8 @@ function update_post_information($type, $ids, $return_update_sql = false)
$topic_condition
AND p.post_visibility = " . ITEM_APPROVED . "
GROUP BY p.{$type}_id";
$result = $db->sql_query($sql);
}
$result = $db->sql_query($sql);
$last_post_ids = array();
while ($row = $db->sql_fetchrow($result))
@@ -519,7 +557,7 @@ function get_supported_image_types($type = false)
*/
function create_thumbnail($source, $destination, $mimetype)
{
global $config, $phpbb_filesystem;
global $config, $phpbb_filesystem, $phpbb_dispatcher;
$min_filesize = (int) $config['img_min_thumb_filesize'];
$img_filesize = (file_exists($source)) ? @filesize($source) : false;
@@ -551,25 +589,31 @@ function create_thumbnail($source, $destination, $mimetype)
return false;
}
$used_imagick = false;
$thumbnail_created = false;
// Only use ImageMagick if defined and the passthru function not disabled
if ($config['img_imagick'] && function_exists('passthru'))
{
if (substr($config['img_imagick'], -1) !== '/')
{
$config['img_imagick'] .= '/';
}
/**
* Create thumbnail event to replace GD thumbnail creation with for example ImageMagick
*
* @event core.thumbnail_create_before
* @var string source Image source path
* @var string destination Thumbnail destination path
* @var string mimetype Image mime type
* @var float new_width Calculated thumbnail width
* @var float new_height Calculated thumbnail height
* @var bool thumbnail_created Set to true to skip default GD thumbnail creation
* @since 3.2.4
*/
$vars = array(
'source',
'destination',
'mimetype',
'new_width',
'new_height',
'thumbnail_created',
);
extract($phpbb_dispatcher->trigger_event('core.thumbnail_create_before', compact($vars)));
@passthru(escapeshellcmd($config['img_imagick']) . 'convert' . ((defined('PHP_OS') && preg_match('#^win#i', PHP_OS)) ? '.exe' : '') . ' -quality 85 -geometry ' . $new_width . 'x' . $new_height . ' "' . str_replace('\\', '/', $source) . '" "' . str_replace('\\', '/', $destination) . '"');
if (file_exists($destination))
{
$used_imagick = true;
}
}
if (!$used_imagick)
if (!$thumbnail_created)
{
$type = get_supported_image_types($type);
@@ -970,6 +1014,30 @@ function topic_review($topic_id, $forum_id, $mode = 'topic_review', $cur_post_id
AND u.user_id = p.poster_id',
);
/**
* Event to modify the SQL query for topic reviews
*
* @event core.topic_review_modify_sql_ary
* @var int topic_id The topic ID that is being reviewed
* @var int forum_id The topic's forum ID
* @var string mode The topic review mode
* @var int cur_post_id Post offset ID
* @var bool show_quote_button Flag indicating if the quote button should be displayed
* @var array post_list Array with the post IDs
* @var array sql_ary Array with the SQL query
* @since 3.2.8-RC1
*/
$vars = array(
'topic_id',
'forum_id',
'mode',
'cur_post_id',
'show_quote_button',
'post_list',
'sql_ary',
);
extract($phpbb_dispatcher->trigger_event('core.topic_review_modify_sql_ary', compact($vars)));
$sql = $db->sql_build_query('SELECT', $sql_ary);
$result = $db->sql_query($sql);
@@ -1276,6 +1344,7 @@ function delete_post($forum_id, $topic_id, $post_id, &$data, $is_soft = false, $
delete_topics('topic_id', array($topic_id), false);
$phpbb_content_visibility->remove_topic_from_statistic($data, $sql_data);
$config->increment('num_posts', -1, false);
$update_sql = update_post_information('forum', $forum_id, true);
if (count($update_sql))
@@ -2046,6 +2115,11 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll_ary, &$data
continue;
}
if (preg_match('/[\x{10000}-\x{10FFFF}]/u', $attach_row['attach_comment']))
{
trigger_error('ATTACH_COMMENT_NO_EMOJIS');
}
if (!$attach_row['is_orphan'])
{
// update entry in db if attachment already stored in db and filespace
@@ -2282,6 +2356,19 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll_ary, &$data
'post_subject' => $subject,
));
/**
* This event allows you to modify the notification data upon submission
*
* @event core.modify_submit_notification_data
* @var array notification_data The notification data to be inserted in to the database
* @var array data_ary The data array with a lot of the post submission data
* @var string mode The posting mode
* @var int poster_id The poster id
* @since 3.2.4-RC1
*/
$vars = array('notification_data', 'data_ary', 'mode', 'poster_id');
extract($phpbb_dispatcher->trigger_event('core.modify_submit_notification_data', compact($vars)));
/* @var $phpbb_notifications \phpbb\notification\manager */
$phpbb_notifications = $phpbb_container->get('notification_manager');
@@ -2309,8 +2396,14 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll_ary, &$data
case 'edit_first_post':
case 'edit':
case 'edit_last_post':
if ($user->data['user_id'] == $poster_id)
{
$phpbb_notifications->update_notifications(array(
'notification.type.quote',
), $notification_data);
}
$phpbb_notifications->update_notifications(array(
'notification.type.quote',
'notification.type.bookmark',
'notification.type.topic',
'notification.type.post',

View File

@@ -490,7 +490,7 @@ function place_pm_into_folder(&$global_privmsgs_rules, $release = false)
'bcc' => explode(':', $row['bcc_address']),
'friend' => (isset($zebra[$row['author_id']])) ? $zebra[$row['author_id']]['friend'] : 0,
'foe' => (isset($zebra[$row['author_id']])) ? $zebra[$row['author_id']]['foe'] : 0,
'user_in_group' => array($user->data['group_id']),
'user_in_group' => $user->data['group_id'],
'author_in_group' => array())
);
@@ -1966,7 +1966,7 @@ function submit_pm($mode, $subject, &$data_ary, $put_in_outbox = true)
*/
function message_history($msg_id, $user_id, $message_row, $folder, $in_post_mode = false)
{
global $db, $user, $template, $phpbb_root_path, $phpEx, $auth;
global $db, $user, $template, $phpbb_root_path, $phpEx, $auth, $phpbb_dispatcher;
// Select all receipts and the author from the pm we currently view, to only display their pm-history
$sql = 'SELECT author_id, user_id
@@ -1985,9 +1985,7 @@ function message_history($msg_id, $user_id, $message_row, $folder, $in_post_mode
$recipients = array_unique($recipients);
// Get History Messages (could be newer)
$sql = 'SELECT t.*, p.*, u.*
FROM ' . PRIVMSGS_TABLE . ' p, ' . PRIVMSGS_TO_TABLE . ' t, ' . USERS_TABLE . ' u
WHERE t.msg_id = p.msg_id
$sql_where = 't.msg_id = p.msg_id
AND p.author_id = u.user_id
AND t.folder_id NOT IN (' . PRIVMSGS_NO_BOX . ', ' . PRIVMSGS_HOLD_BOX . ')
AND ' . $db->sql_in_set('t.author_id', $recipients, false, true) . "
@@ -1998,13 +1996,37 @@ function message_history($msg_id, $user_id, $message_row, $folder, $in_post_mode
if (!$message_row['root_level'])
{
$sql .= " AND (p.root_level = $msg_id OR (p.root_level = 0 AND p.msg_id = $msg_id))";
$sql_where .= " AND (p.root_level = $msg_id OR (p.root_level = 0 AND p.msg_id = $msg_id))";
}
else
{
$sql .= " AND (p.root_level = " . $message_row['root_level'] . ' OR p.msg_id = ' . $message_row['root_level'] . ')';
$sql_where .= " AND (p.root_level = " . $message_row['root_level'] . ' OR p.msg_id = ' . $message_row['root_level'] . ')';
}
$sql .= ' ORDER BY p.message_time DESC';
$sql_ary = array(
'SELECT' => 't.*, p.*, u.*',
'FROM' => array(
PRIVMSGS_TABLE => 'p',
PRIVMSGS_TO_TABLE => 't',
USERS_TABLE => 'u'
),
'LEFT_JOIN' => array(),
'WHERE' => $sql_where,
'ORDER_BY' => 'p.message_time DESC',
);
/**
* Event to modify the SQL query before the message history in private message is queried
*
* @event core.message_history_modify_sql_ary
* @var array sql_ary The SQL array to get the data of the message history in private message
* @since 3.2.8-RC1
*/
$vars = array('sql_ary');
extract($phpbb_dispatcher->trigger_event('core.message_history_modify_sql_ary', compact($vars)));
$sql = $db->sql_build_query('SELECT', $sql_ary);
unset($sql_ary);
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
@@ -2087,7 +2109,7 @@ function message_history($msg_id, $user_id, $message_row, $folder, $in_post_mode
$previous_history_pm = $prev_id;
}
$template->assign_block_vars('history_row', array(
$template_vars = array(
'MESSAGE_AUTHOR_QUOTE' => (($decoded_message) ? addslashes(get_username_string('username', $author_id, $row['username'], $row['user_colour'], $row['username'])) : ''),
'MESSAGE_AUTHOR_FULL' => get_username_string('full', $author_id, $row['username'], $row['user_colour'], $row['username']),
'MESSAGE_AUTHOR_COLOUR' => get_username_string('colour', $author_id, $row['username'], $row['user_colour'], $row['username']),
@@ -2109,8 +2131,25 @@ function message_history($msg_id, $user_id, $message_row, $folder, $in_post_mode
'USER_ID' => $row['user_id'],
'U_VIEW_MESSAGE' => "$url&amp;f=$folder_id&amp;p=" . $row['msg_id'],
'U_QUOTE' => (!$in_post_mode && $auth->acl_get('u_sendpm') && $author_id != ANONYMOUS) ? "$url&amp;mode=compose&amp;action=quote&amp;f=" . $folder_id . "&amp;p=" . $row['msg_id'] : '',
'U_POST_REPLY_PM' => ($author_id != $user->data['user_id'] && $author_id != ANONYMOUS && $auth->acl_get('u_sendpm')) ? "$url&amp;mode=compose&amp;action=reply&amp;f=$folder_id&amp;p=" . $row['msg_id'] : '')
'U_POST_REPLY_PM' => ($author_id != $user->data['user_id'] && $author_id != ANONYMOUS && $auth->acl_get('u_sendpm')) ? "$url&amp;mode=compose&amp;action=reply&amp;f=$folder_id&amp;p=" . $row['msg_id'] : ''
);
/**
* Modify the template vars for displaying the message history in private message
*
* @event core.message_history_modify_template_vars
* @var array template_vars Array containing the query
* @var array row Array containing the action user row
* @since 3.2.8-RC1
*/
$vars = array(
'template_vars',
'row',
);
extract($phpbb_dispatcher->trigger_event('core.message_history_modify_template_vars', compact($vars)));
$template->assign_block_vars('history_row', $template_vars);
unset($rowset[$i]);
$prev_id = $id;
}

View File

@@ -38,7 +38,7 @@ class transfer
/**
* Constructor - init some basic values
*/
function transfer()
function __construct()
{
global $phpbb_root_path;
@@ -264,7 +264,7 @@ class ftp extends transfer
/**
* Standard parameters for FTP session
*/
function ftp($host, $username, $password, $root_path, $port = 21, $timeout = 10)
function __construct($host, $username, $password, $root_path, $port = 21, $timeout = 10)
{
$this->host = $host;
$this->port = $port;
@@ -512,7 +512,7 @@ class ftp_fsock extends transfer
/**
* Standard parameters for FTP session
*/
function ftp_fsock($host, $username, $password, $root_path, $port = 21, $timeout = 10)
function __construct($host, $username, $password, $root_path, $port = 21, $timeout = 10)
{
$this->host = $host;
$this->port = $port;
@@ -529,7 +529,7 @@ class ftp_fsock extends transfer
}
// Init some needed values
$this->transfer();
parent::__construct();
return;
}

View File

@@ -26,8 +26,10 @@ if (!defined('IN_PHPBB'))
* @param array &$user_id_ary The user ids to check or empty if usernames used
* @param array &$username_ary The usernames to check or empty if user ids used
* @param mixed $user_type Array of user types to check, false if not restricting by user type
* @param boolean $update_references If false, the supplied array is unset and appears unchanged from where it was called
* @return boolean|string Returns false on success, error string on failure
*/
function user_get_id_name(&$user_id_ary, &$username_ary, $user_type = false)
function user_get_id_name(&$user_id_ary, &$username_ary, $user_type = false, $update_references = false)
{
global $db;
@@ -50,7 +52,13 @@ function user_get_id_name(&$user_id_ary, &$username_ary, $user_type = false)
}
$sql_in = ($which_ary == 'user_id_ary') ? array_map('intval', ${$which_ary}) : array_map('utf8_clean_string', ${$which_ary});
unset(${$which_ary});
// By unsetting the array here, the values passed in at the point user_get_id_name() was called will be retained.
// Otherwise, if we don't unset (as the array was passed by reference) the original array will be updated below.
if ($update_references === false)
{
unset(${$which_ary});
}
$user_id_ary = $username_ary = array();
@@ -461,9 +469,11 @@ function user_delete($mode, $user_ids, $retain_username = true)
* @var array user_ids IDs of the deleted user
* @var mixed retain_username True if username should be retained
* or false if not
* @var array user_rows Array containing data of the deleted users
* @since 3.1.0-a1
* @changed 3.2.4-RC1 Added user_rows
*/
$vars = array('mode', 'user_ids', 'retain_username');
$vars = array('mode', 'user_ids', 'retain_username', 'user_rows');
extract($phpbb_dispatcher->trigger_event('core.delete_user_before', compact($vars)));
// Before we begin, we will remove the reports the user issued.
@@ -664,8 +674,30 @@ function user_delete($mode, $user_ids, $retain_username = true)
delete_posts('poster_id', $user_ids);
}
$table_ary = array(USERS_TABLE, USER_GROUP_TABLE, TOPICS_WATCH_TABLE, FORUMS_WATCH_TABLE, ACL_USERS_TABLE, TOPICS_TRACK_TABLE, TOPICS_POSTED_TABLE, FORUMS_TRACK_TABLE, PROFILE_FIELDS_DATA_TABLE, MODERATOR_CACHE_TABLE, DRAFTS_TABLE, BOOKMARKS_TABLE, SESSIONS_KEYS_TABLE, PRIVMSGS_FOLDER_TABLE, PRIVMSGS_RULES_TABLE);
$table_ary = [
USERS_TABLE,
USER_GROUP_TABLE,
TOPICS_WATCH_TABLE,
FORUMS_WATCH_TABLE,
ACL_USERS_TABLE,
TOPICS_TRACK_TABLE,
TOPICS_POSTED_TABLE,
FORUMS_TRACK_TABLE,
PROFILE_FIELDS_DATA_TABLE,
MODERATOR_CACHE_TABLE,
DRAFTS_TABLE,
BOOKMARKS_TABLE,
SESSIONS_KEYS_TABLE,
PRIVMSGS_FOLDER_TABLE,
PRIVMSGS_RULES_TABLE,
$phpbb_container->getParameter('tables.auth_provider_oauth_token_storage'),
$phpbb_container->getParameter('tables.auth_provider_oauth_states'),
$phpbb_container->getParameter('tables.auth_provider_oauth_account_assoc'),
$phpbb_container->getParameter('tables.user_notifications')
];
// Ignore errors on deleting from non-existent tables, e.g. when migrating
$db->sql_return_on_error(true);
// Delete the miscellaneous (non-post) data for the user
foreach ($table_ary as $table)
{
@@ -673,6 +705,7 @@ function user_delete($mode, $user_ids, $retain_username = true)
WHERE " . $user_id_sql;
$db->sql_query($sql);
}
$db->sql_return_on_error();
$cache->destroy('sql', MODERATOR_CACHE_TABLE);
@@ -1427,21 +1460,14 @@ function user_ipwhois($ip)
return '';
}
if (preg_match(get_preg_expression('ipv4'), $ip))
{
// IPv4 address
$whois_host = 'whois.arin.net.';
}
else if (preg_match(get_preg_expression('ipv6'), $ip))
{
// IPv6 address
$whois_host = 'whois.sixxs.net.';
}
else
if (!preg_match(get_preg_expression('ipv4'), $ip) && !preg_match(get_preg_expression('ipv6'), $ip))
{
return '';
}
// IPv4 & IPv6 addresses
$whois_host = 'whois.arin.net.';
$ipwhois = '';
if (($fsk = @fsockopen($whois_host, 43)))
@@ -1692,17 +1718,21 @@ function phpbb_validate_timezone($timezone)
return (in_array($timezone, phpbb_get_timezone_identifiers($timezone))) ? false : 'TIMEZONE_INVALID';
}
/**
* Check to see if the username has been taken, or if it is disallowed.
* Also checks if it includes the " character, which we don't allow in usernames.
* Used for registering, changing names, and posting anonymously with a username
*
* @param string $username The username to check
* @param string $allowed_username An allowed username, default being $user->data['username']
*
* @return mixed Either false if validation succeeded or a string which will be used as the error message (with the variable name appended)
*/
function validate_username($username, $allowed_username = false)
/***
* Validate Username
*
* Check to see if the username has been taken, or if it is disallowed.
* Also checks if it includes the " character or the 4-bytes Unicode ones
* (aka emojis) which we don't allow in usernames.
* Used for registering, changing names, and posting anonymously with a username
*
* @param string $username The username to check
* @param string $allowed_username An allowed username, default being $user->data['username']
*
* @return mixed Either false if validation succeeded or a string which will be
* used as the error message (with the variable name appended)
*/
function validate_username($username, $allowed_username = false, $allow_all_names = false)
{
global $config, $db, $user, $cache;
@@ -1714,6 +1744,14 @@ function validate_username($username, $allowed_username = false)
return false;
}
// The very first check is for
// out-of-bounds characters that are currently
// not supported by utf8_bin in MySQL
if (preg_match('/[\x{10000}-\x{10FFFF}]/u', $username))
{
return 'INVALID_EMOJIS';
}
// ... fast checks first.
if (strpos($username, '&quot;') !== false || strpos($username, '"') !== false || empty($clean_username))
{
@@ -1777,13 +1815,16 @@ function validate_username($username, $allowed_username = false)
return 'USERNAME_TAKEN';
}
$bad_usernames = $cache->obtain_disallowed_usernames();
foreach ($bad_usernames as $bad_username)
if (!$allow_all_names)
{
if (preg_match('#^' . $bad_username . '$#', $clean_username))
$bad_usernames = $cache->obtain_disallowed_usernames();
foreach ($bad_usernames as $bad_username)
{
return 'USERNAME_DISALLOWED';
if (preg_match('#^' . $bad_username . '$#', $clean_username))
{
return 'USERNAME_DISALLOWED';
}
}
}
@@ -1904,9 +1945,10 @@ function validate_user_email($email, $allowed_email = false)
return $validate_email;
}
if (($ban_reason = $user->check_ban(false, false, $email, true)) !== false)
$ban = $user->check_ban(false, false, $email, true);
if (!empty($ban))
{
return ($ban_reason === true) ? 'EMAIL_BANNED' : $ban_reason;
return !empty($ban['ban_give_reason']) ? $ban['ban_give_reason'] : 'EMAIL_BANNED';
}
if (!$config['allow_emailreuse'])
@@ -2681,6 +2723,13 @@ function group_user_add($group_id, $user_id_ary = false, $username_ary = false,
return 'NO_USER';
}
// Because the item that gets passed into the previous function is unset, the reference is lost and our original
// array is retained - so we know there's a problem if there's a different number of ids to usernames now.
if (count($user_id_ary) != count($username_ary))
{
return 'GROUP_USERS_INVALID';
}
// Remove users who are already members of this group
$sql = 'SELECT user_id, group_leader
FROM ' . USER_GROUP_TABLE . '
@@ -3602,11 +3651,6 @@ function remove_newly_registered($user_id, $user_data = false)
}
}
if (empty($user_data['user_new']))
{
return false;
}
$sql = 'SELECT group_id
FROM ' . GROUPS_TABLE . "
WHERE group_name = 'NEWLY_REGISTERED'

View File

@@ -44,7 +44,7 @@ class phpbb_hook
*
* @param array $valid_hooks array containing the hookable functions/methods
*/
function phpbb_hook($valid_hooks)
function __construct($valid_hooks)
{
foreach ($valid_hooks as $_null => $method)
{

View File

@@ -34,7 +34,10 @@ class mcp_ban
}
// Include the admin banning interface...
include($phpbb_root_path . 'includes/acp/acp_ban.' . $phpEx);
if (!class_exists('acp_ban'))
{
include($phpbb_root_path . 'includes/acp/acp_ban.' . $phpEx);
}
$bansubmit = $request->is_set_post('bansubmit');
$unbansubmit = $request->is_set_post('unbansubmit');
@@ -266,7 +269,7 @@ class mcp_ban
}
else if ($post_id)
{
$post_info = phpbb_get_post_data($post_id, 'm_ban');
$post_info = phpbb_get_post_data(array($post_id), 'm_ban');
if (count($post_info) && !empty($post_info[$post_id]))
{

View File

@@ -290,7 +290,10 @@ function mcp_front_view($id, $mode, $action)
if ($total)
{
include($phpbb_root_path . 'includes/functions_privmsgs.' . $phpEx);
if (!function_exists('get_recipient_strings'))
{
include($phpbb_root_path . 'includes/functions_privmsgs.' . $phpEx);
}
$sql_ary = array(
'SELECT' => 'r.report_id, r.report_time, p.msg_id, p.message_subject, p.message_time, p.to_address, p.bcc_address, p.message_attachment, u.username, u.username_clean, u.user_colour, u.user_id, u2.username as author_name, u2.username_clean as author_name_clean, u2.user_colour as author_colour, u2.user_id as author_id',

View File

@@ -28,9 +28,9 @@ class mcp_logs
var $u_action;
var $p_master;
function mcp_logs(&$p_master)
function __construct($p_master)
{
$this->p_master = &$p_master;
$this->p_master = $p_master;
}
function main($id, $mode)

View File

@@ -28,9 +28,9 @@ class mcp_main
var $p_master;
var $u_action;
function mcp_main(&$p_master)
function __construct($p_master)
{
$this->p_master = &$p_master;
$this->p_master = $p_master;
}
function main($id, $mode)
@@ -41,6 +41,22 @@ class mcp_main
$quickmod = ($mode == 'quickmod') ? true : false;
/**
* Event to perform additional actions before an MCP action is executed.
*
* @event core.mcp_main_before
* @var string action The action that is about to be performed
* @var string mode The mode in which the MCP is accessed, e.g. front, forum_view, topic_view, post_details, quickmod
* @var boolean quickmod Whether or not the action is performed via QuickMod
* @since 3.2.8-RC1
*/
$vars = [
'action',
'mode',
'quickmod',
];
extract($phpbb_dispatcher->trigger_event('core.mcp_main_before', compact($vars)));
switch ($action)
{
case 'lock':
@@ -174,7 +190,10 @@ class mcp_main
switch ($mode)
{
case 'front':
include($phpbb_root_path . 'includes/mcp/mcp_front.' . $phpEx);
if (!function_exists('mcp_front_view'))
{
include($phpbb_root_path . 'includes/mcp/mcp_front.' . $phpEx);
}
$user->add_lang('acp/common');
@@ -185,7 +204,10 @@ class mcp_main
break;
case 'forum_view':
include($phpbb_root_path . 'includes/mcp/mcp_forum.' . $phpEx);
if (!function_exists('mcp_forum_view'))
{
include($phpbb_root_path . 'includes/mcp/mcp_forum.' . $phpEx);
}
$user->add_lang('viewforum');
@@ -208,7 +230,10 @@ class mcp_main
break;
case 'topic_view':
include($phpbb_root_path . 'includes/mcp/mcp_topic.' . $phpEx);
if (!function_exists('mcp_topic_view'))
{
include($phpbb_root_path . 'includes/mcp/mcp_topic.' . $phpEx);
}
mcp_topic_view($id, $mode, $action);
@@ -217,7 +242,10 @@ class mcp_main
break;
case 'post_details':
include($phpbb_root_path . 'includes/mcp/mcp_post.' . $phpEx);
if (!function_exists('mcp_post_details'))
{
include($phpbb_root_path . 'includes/mcp/mcp_post.' . $phpEx);
}
mcp_post_details($id, $mode, $action);
@@ -366,7 +394,7 @@ function lock_unlock($action, $ids)
*/
function change_topic_type($action, $topic_ids)
{
global $user, $db, $request, $phpbb_log;
global $user, $db, $request, $phpbb_log, $phpbb_dispatcher;
switch ($action)
{
@@ -414,6 +442,25 @@ function change_topic_type($action, $topic_ids)
if (confirm_box(true))
{
/**
* Perform additional actions before changing topic(s) type
*
* @event core.mcp_change_topic_type_before
* @var int new_topic_type The candidated topic type.
* @var int forum_id The forum ID for the topic ID(s).
* @var array topic_ids Array containing the topic ID(s) that will be changed
* @since 3.2.6-RC1
*/
$vars = array(
'new_topic_type',
'forum_id',
'topic_ids',
);
extract($phpbb_dispatcher->trigger_event('core.mcp_change_topic_type_before', compact($vars)));
$db->sql_transaction('begin');
$sql = 'UPDATE ' . TOPICS_TABLE . "
SET topic_type = $new_topic_type
WHERE " . $db->sql_in_set('topic_id', $topic_ids);
@@ -425,13 +472,10 @@ function change_topic_type($action, $topic_ids)
$sql = 'DELETE FROM ' . TOPICS_TABLE . '
WHERE ' . $db->sql_in_set('topic_moved_id', $topic_ids);
$db->sql_query($sql);
$sql = 'UPDATE ' . TOPICS_TABLE . "
SET topic_type = $new_topic_type
WHERE " . $db->sql_in_set('topic_id', $topic_ids);
$db->sql_query($sql);
}
$db->sql_transaction('commit');
$success_msg = (count($topic_ids) == 1) ? 'TOPIC_TYPE_CHANGED' : 'TOPICS_TYPE_CHANGED';
if (count($topic_ids))
@@ -448,6 +492,22 @@ function change_topic_type($action, $topic_ids)
}
}
/**
* Perform additional actions after changing topic types
*
* @event core.mcp_change_topic_type_after
* @var int new_topic_type The newly changed topic type.
* @var int forum_id The forum ID where the newly changed topic type belongs to.
* @var array topic_ids Array containing the topic IDs that have been changed
* @since 3.2.6-RC1
*/
$vars = array(
'new_topic_type',
'forum_id',
'topic_ids',
);
extract($phpbb_dispatcher->trigger_event('core.mcp_change_topic_type_after', compact($vars)));
meta_refresh(2, $redirect);
$message = $user->lang[$success_msg];
@@ -930,10 +990,11 @@ function mcp_delete_topic($topic_ids, $is_soft = false, $soft_delete_reason = ''
'DELETE_TOPIC_PERMANENTLY_EXPLAIN' => $user->lang('DELETE_TOPIC_PERMANENTLY', count($topic_ids)),
));
$l_confirm = (count($topic_ids) == 1) ? 'DELETE_TOPIC' : 'DELETE_TOPICS';
$count = count($topic_ids);
$l_confirm = $count === 1 ? 'DELETE_TOPIC' : 'DELETE_TOPICS';
if ($only_softdeleted)
{
$l_confirm .= '_PERMANENTLY';
$l_confirm = array($l_confirm . '_PERMANENTLY', $count);
$s_hidden_fields['delete_permanent'] = '1';
}
else if ($only_shadow || !$auth->acl_get('m_softdelete', $forum_id))
@@ -1184,10 +1245,11 @@ function mcp_delete_post($post_ids, $is_soft = false, $soft_delete_reason = '',
'DELETE_POST_PERMANENTLY_EXPLAIN' => $user->lang('DELETE_POST_PERMANENTLY', count($post_ids)),
));
$l_confirm = (count($post_ids) == 1) ? 'DELETE_POST' : 'DELETE_POSTS';
$count = count($post_ids);
$l_confirm = $count === 1 ? 'DELETE_POST' : 'DELETE_POSTS';
if ($only_softdeleted)
{
$l_confirm .= '_PERMANENTLY';
$l_confirm = array($l_confirm . '_PERMANENTLY', $count);
$s_hidden_fields['delete_permanent'] = '1';
}
else if (!$auth->acl_get('m_softdelete', $forum_id))
@@ -1458,6 +1520,24 @@ function mcp_fork_topic($topic_ids)
$db->sql_query('INSERT INTO ' . POSTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
$new_post_id = $db->sql_nextid();
/**
* Perform actions after forked topic is created.
*
* @event core.mcp_main_fork_sql_after
* @var int new_topic_id The newly created topic ID
* @var int to_forum_id The forum ID where the forked topic has been moved to
* @var int new_post_id The newly created post ID
* @var array row Post data
* @since 3.2.4-RC1
*/
$vars = array(
'new_topic_id',
'to_forum_id',
'new_post_id',
'row',
);
extract($phpbb_dispatcher->trigger_event('core.mcp_main_fork_sql_after', compact($vars)));
switch ($row['post_visibility'])
{
case ITEM_APPROVED:

View File

@@ -28,9 +28,9 @@ class mcp_notes
var $p_master;
var $u_action;
function mcp_notes(&$p_master)
function __construct($p_master)
{
$this->p_master = &$p_master;
$this->p_master = $p_master;
}
function main($id, $mode)

View File

@@ -28,9 +28,9 @@ class mcp_pm_reports
var $p_master;
var $u_action;
function mcp_pm_reports(&$p_master)
function __construct($p_master)
{
$this->p_master = &$p_master;
$this->p_master = $p_master;
}
function main($id, $mode)

View File

@@ -213,6 +213,10 @@ function mcp_post_details($id, $mode, $action)
$l_deleted_by = '';
}
// parse signature
$parse_flags = ($post_info['user_sig_bbcode_bitfield'] ? OPTION_FLAG_BBCODE : 0) | OPTION_FLAG_SMILIES;
$post_info['user_sig'] = generate_text_for_display($post_info['user_sig'], $post_info['user_sig_bbcode_uid'], $post_info['user_sig_bbcode_bitfield'], $parse_flags, true);
$mcp_post_template_data = array(
'U_MCP_ACTION' => "$url&amp;i=main&amp;quickmod=1&amp;mode=post_details", // Use this for mode paramaters
'U_POST_ACTION' => "$url&amp;i=$id&amp;mode=post_details", // Use this for action parameters
@@ -262,6 +266,7 @@ function mcp_post_details($id, $mode, $action)
'POST_IP' => $post_info['poster_ip'],
'POST_IPADDR' => ($auth->acl_get('m_info', $post_info['forum_id']) && $request->variable('lookup', '')) ? @gethostbyaddr($post_info['poster_ip']) : '',
'POST_ID' => $post_info['post_id'],
'SIGNATURE' => $post_info['user_sig'],
'U_LOOKUP_IP' => ($auth->acl_get('m_info', $post_info['forum_id'])) ? "$url&amp;i=$id&amp;mode=$mode&amp;lookup={$post_info['poster_ip']}#ip" : '',
'U_WHOIS' => ($auth->acl_get('m_info', $post_info['forum_id'])) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "i=$id&amp;mode=$mode&amp;action=whois&amp;p=$post_id&amp;ip={$post_info['poster_ip']}") : '',

Some files were not shown because too many files have changed in this diff Show More