Compare commits

...

561 commits

Author SHA1 Message Date
Marc Alexander
c495a26f98
[ticket/17153] Use mocked user class in extension test
PHPBB3-17153
2024-05-31 11:25:22 +02:00
Marc Alexander
ad7721368c
[ticket/17153] Add basic avatar config file for installer
It doesn't actually add proper avatar functionality to the installer but
provides the necessary base classes for templating.

PHPBB3-17153
2024-05-31 11:25:22 +02:00
Marc Alexander
aac7d5a99c
[ticket/17153] Use routing helper instead of controller helper in upload avatar
The controller helper class is not needed, routing helper brings all the
needed functionality already.

PHPBB3-17153
2024-05-31 11:25:22 +02:00
Marc Alexander
4db4a5571b
[ticket/17153] Remove phpbb_get_avatar()
PHPBB3-17153
2024-05-31 11:25:22 +02:00
Marc Alexander
f54bafec29
[ticket/17153] Remove get_user_avatar
PHPBB3-17153
2024-05-31 11:25:22 +02:00
Marc Alexander
808b2f3a41
[ticket/17153] Remove phpbb_get_user_avatar
PHPBB3-17153
2024-05-31 11:25:22 +02:00
Marc Alexander
cf44868393
[ticket/17153] Remove phpbb_get_group_avatar()
PHPBB3-17153
2024-05-31 11:25:22 +02:00
Marc Alexander
902283c368
[ticket/17153] Use twig and avatar helper to render avatars
PHPBB3-17153
2024-05-31 11:25:22 +02:00
Marc Alexander
32e6c637ec
Merge branch '3.3.x' 2024-05-31 11:09:16 +02:00
Marc Alexander
8a8232109c
Merge pull request #6609 from battye/ticket/17175
[ticket/17175] Fix topic title in the breadcrumbs when emailing a topic
2024-05-31 11:08:06 +02:00
Marc Alexander
6f3d50bfb2
Merge branch '3.3.x' 2024-05-31 10:46:08 +02:00
Marc Alexander
f3ead808f3
Merge pull request #6615 from danieltj27/ticket/17316
[ticket/17316] Add template events to ucp_groups_manage
2024-05-31 10:46:06 +02:00
Marc Alexander
7a26ba43f6
Merge branch '3.3.x' 2024-05-31 10:41:03 +02:00
Marc Alexander
276502ce58
Merge pull request #6613 from danieltj27/ticket/17315
[ticket/17315] add template events to acp_groups
2024-05-31 10:41:00 +02:00
Marc Alexander
463dbd59ec
Merge branch '3.3.x' 2024-05-31 09:52:17 +02:00
Marc Alexander
8899fcfdc2
Merge pull request #6626 from LukeWCS/ticket/17325
[ticket/17325] Show message for "Re-Check version" if phpBB is still up to date
2024-05-31 09:50:54 +02:00
Daniel James
166c4eeb7e
[ticket/17316] Add template events to ucp_groups_manage
PHPBB3-17316
2024-05-30 10:45:30 +02:00
Marc Alexander
bf55502c62
[ticket/17325] Use not instead of ! in template
PHPBB3-17325
2024-05-30 10:40:25 +02:00
Marc Alexander
e101f02473
Merge pull request #6605 from iMattPro/ticket/17300
[ticket/17300] Better Sticky and Announcement Icons
2024-05-30 10:21:10 +02:00
Marc Alexander
f5b14a95b4
Merge branch '3.3.x' 2024-05-30 09:08:58 +02:00
Marc Alexander
df5fcafcb9
Merge pull request #6616 from danieltj27/ticket/17317
[ticket/17317] Change button text for pm recipient to increase readability
2024-05-30 08:54:55 +02:00
Marc Alexander
cfeb747f10
Merge branch '3.3.x' 2024-05-29 21:54:16 +02:00
Marc Alexander
ef593afec5
Merge branch 'prep-release-3.3.12' into 3.3.x 2024-05-29 21:53:47 +02:00
Marc Alexander
51da43f77f
[prep-release-3.3.12] Fix since version and undo md exporter change 2024-05-29 21:53:11 +02:00
Marc Alexander
e328ee96d2
Merge pull request #6625 from rxu/ticket/17324
[ticket/17324] Add template event to notification_dropdown.html
2024-05-29 21:42:46 +02:00
Marc Alexander
4b206ee28b
Merge branch '3.3.x' 2024-05-28 21:08:17 +02:00
Marc Alexander
7f11c1b46d
Merge pull request #6624 from battye/ticket/16553
[ticket/16553] Fix for General Error when approving/disapproving a reported post through the MCP
2024-05-28 21:08:15 +02:00
LukeWCS
ae18669fcd [ticket/17325] Show message for "Re-Check version" if phpBB is still up to date
Show explicit message for "Re-Check version" if installed version is still up
to date

PHPBB3-17325
2024-05-28 20:55:49 +02:00
rxu
9ea4aabe9a
[ticket/17324] Allow targeting events to prep-releases
PHPBB3-17324
2024-05-28 20:36:40 +02:00
rxu
a88040df85
[ticket/17324] Adjust target version
PHPBB3-17324
2024-05-28 20:36:40 +02:00
rxu
fcf89208cf
[ticket/17324] Add template event to notification_dropdown.html
PHPBB3-17324
2024-05-28 20:36:40 +02:00
Marc Alexander
85e60c7816
Merge branch '3.3.x' 2024-05-27 20:17:28 +02:00
Marc Alexander
d365f17ebd
Merge pull request #6621 from danieltj27/ticket/17320
[ticket/17320] Remove unused js code from prosilver
2024-05-27 20:17:25 +02:00
battye
6f345e43cb [ticket/16553] Change double quotes to single quotes
PHPBB3-16553
2024-05-27 07:55:08 +00:00
battye
874fb7bf8a [ticket/16553] Use env variables in Codespaces for server name
PHPBB3-16553
2024-05-27 07:12:51 +00:00
battye
558b8ae7ed [ticket/16553] Fix approve reported posts bug
Fixes the module not accessible error when trying to approve a reported post.

PHPBB3-16553
2024-05-27 05:18:08 +00:00
Marc Alexander
acddce37e6
Merge pull request #6622 from rubencm/ticket/17323
[ticket/17323] Fix division by 0 when there is 0 posts
2024-05-25 21:33:23 +02:00
Ruben Calvo
05fafdc445
[ticket/17323] Fix division by 0 when there is 0 posts
PHPBB3-17323
2024-05-25 04:40:44 +02:00
Marc Alexander
c6fd14352e
Merge branch '3.3.x' 2024-05-23 21:34:29 +02:00
Marc Alexander
477f5d9e1d
Merge pull request #6617 from battye/ticket/17109
[ticket/17109] Don't show the attach signature option if the user doesn't have permission
2024-05-23 21:34:26 +02:00
Daniel James
92e545fc26
[ticket/17317] Remove unused CSS styling for inputs
PHPBB3-17317
2024-05-23 20:57:36 +02:00
Daniel James
c330500c4d
[ticket/17317] Add new icon for groups and remove CSS change
PHPBB3-17317
2024-05-23 20:57:34 +02:00
Daniel James
9fcf956888
[ticket/17317] Replace button with small red fa-icon
Updated the button to a small red X using Font Awesome
rather than using the default phpBB button with text
which adds a better visual distinction in the interface
between the username and action. Credit to @iMattPro for
the suggestion in the ticket comments.

PHPBB3-17317
2024-05-23 20:57:33 +02:00
Daniel James
40ed6c6458
[ticket/17317] Fix padding on button, left and right not top and bottom
PHPBB3-17317
2024-05-23 20:57:31 +02:00
Daniel James
cd34cdedee
[ticket/17317] Change button text for pm recipient to increase readability
PHPBB3-17317
2024-05-23 20:57:26 +02:00
Daniel James
e850915190 [ticket/17320] Remove unused js code from prosilver
The forum_fn.js file contained a small block of code
that was commented out so there is no need to keep it
in the codebase, especially as it was a fix for IE8
and older browsers.

PHPBB3-17320
2024-05-23 16:35:28 +01:00
Marc Alexander
f22784f0a4
Merge branch '3.3.x' 2024-05-22 21:55:14 +02:00
Marc Alexander
d14f98f672
Merge branch 'prep-release-3.3.12' into 3.3.x 2024-05-22 21:54:10 +02:00
Marc Alexander
130c10915e
Merge pull request #6618 from marc1706/ticket/17312
[ticket/17312] Add column for tracking user last active time
2024-05-22 21:53:15 +02:00
Marc Alexander
fc86b5a2d0
Merge pull request #6620 from iMattPro/ticket/17318
[ticket/17318] Fix notification avatars in dropdown
2024-05-19 09:46:30 +02:00
Matt Friedman
7d8b4d5817
[ticket/17318] Fix notification avatars in dropdown
PHPBB3-17318

Signed-off-by: Matt Friedman <maf675@gmail.com>
2024-05-18 20:54:59 -07:00
Marc Alexander
9ecf09dbe8
[ticket/17312] Add and use user_last_active where needed and useful
PHPBB3-17312
2024-05-18 20:58:07 +02:00
Marc Alexander
f986138467
[ticket/17312] Update tests for new column
PHPBB3-17312
2024-05-17 16:41:40 +02:00
battye
611faafaf3 [ticket/17109] Check attach signature permissions
Don't show the attach signature option if the
user doesn't have permission or if the signature
feature is disabled for the board.

PHPBB3-17109
2024-05-17 14:38:18 +00:00
Marc Alexander
ed0b5020a9
[ticket/17312] Use user_last_active instead of user_lastvisit where possible
PHPBB3-17312
2024-05-16 20:44:38 +02:00
Marc Alexander
b2d2216b87
[ticket/17315] Rename events and add them to events.md
PHPBB3-17315
2024-05-16 16:47:04 +02:00
Daniel James
766ecaed5a
[ticket/17315] Add template events to acp_groups
PHPBB3-17315
2024-05-16 16:46:55 +02:00
Marc Alexander
b8e66f43dc
Merge pull request #6611 from iMattPro/ticket/17313
[ticket/17313] Add Push Module to Correct Parent
2024-05-15 21:51:54 +02:00
Marc Alexander
a7a53de34d
[ticket/17312] Add migration for user_last_active column
PHPBB3-17312
2024-05-14 21:42:02 +02:00
Matt Friedman
9cb10ec28d
[ticket/17313] Add Push Module to Correct Parent
PHPBB3-17313

Signed-off-by: Matt Friedman <maf675@gmail.com>
2024-05-13 17:46:19 -07:00
Marc Alexander
df5822141e
Merge branch '3.3.x' 2024-05-13 20:52:21 +02:00
Marc Alexander
6aa980eadb
Merge branch 'prep-release-3.3.12' into 3.3.x 2024-05-13 20:51:08 +02:00
Marc Alexander
dbf0b9ebe6
Merge pull request #6610 from Crizz0/ticket/17311
[ticket/17311] Update PHP requirements and tested version
2024-05-13 20:50:11 +02:00
Christian Schnegelberger
874fb8c59c [ticket/17311] Update PHP requirements and tested version
PHPBB3-17176
2024-05-13 19:21:52 +02:00
Marc Alexander
43dcf73a21
Merge branch '3.3.x' 2024-05-12 21:13:02 +02:00
Marc Alexander
e195e2ad82
[3.3.x] Update version to 3.3.13-dev 2024-05-12 21:10:16 +02:00
Marc Alexander
9aebbcc1a0
Merge branch 'prep-release-3.3.12' into 3.3.x 2024-05-12 21:08:01 +02:00
battye
de31c4e797 [ticket/17175] Fix topic title in the breadcrumbs when emailing a topic
PHPBB3-17175
2024-05-12 09:53:07 +00:00
Marc Alexander
7b734ef529
[prep-release-3.3.12] Update changelog for 3.3.12-RC1 2024-05-09 13:01:53 +02:00
Marc Alexander
6753961756
[prep-release-3.3.12] Update stylesheet hashes for 3.3.12-RC1 2024-05-09 12:59:38 +02:00
Marc Alexander
d2295b82f1
[prep-release-3.3.12] Add migration for 3.3.12-RC1 2024-05-09 12:59:37 +02:00
Marc Alexander
74845a6b3a
[prep-release-3.3.12] Update version numbers to 3.3.12 2024-05-09 12:59:36 +02:00
Marc Alexander
f13b17fd00
[prep-release-3.3.12] Update version numbers to 3.3.12-RC1 2024-05-09 12:59:35 +02:00
Marc Alexander
546cf61dbd
Merge branch '3.3.x' 2024-05-08 17:24:42 +02:00
Marc Alexander
d67493e887
Merge pull request #6608 from marc1706/ticket/17310-master
[ticket/17310] Update workflow actions to v4 -- master version
2024-05-08 17:24:38 +02:00
Marc Alexander
149d0bd227
Merge pull request #6607 from marc1706/ticket/17310
[ticket/17310] Update workflow actions to v4
2024-05-08 17:24:26 +02:00
Marc Alexander
8c8f7315ea
Merge branch '3.3.x' 2024-05-08 17:22:18 +02:00
Marc Alexander
eb12d385a0
Merge pull request #6549 from marc1706/ticket/15325
[ticket/15325] Do not show non-local permissions for local data
2024-05-08 17:22:15 +02:00
Marc Alexander
b502fe9fbc
Merge branch 'ticket/17310' into ticket/17310-master 2024-05-07 21:58:10 +02:00
Marc Alexander
d318768634
[ticket/17176] Use correct ldap URI
PHPBB3-17176
2024-05-07 21:57:48 +02:00
Marc Alexander
843cb97048
[ticket/17176] Use ldapuri instead of removed ldaphost
PHPBB3-17176
2024-05-07 21:57:35 +02:00
Marc Alexander
9ecd1e4dd4
Merge pull request #6606 from marc1706/ticket/17309
[ticket/17309] Update gulp and remove no longer needed gulp packages
2024-05-07 21:50:29 +02:00
Marc Alexander
b5f867c3cc
[ticket/17310] Update node action to v3 and node version to 20
PHPBB3-17310
2024-05-07 21:24:20 +02:00
Marc Alexander
ec1f322440
Merge branch 'ticket/17310' into ticket/17310-master 2024-05-07 21:24:08 +02:00
Marc Alexander
a85c36b15e
[ticket/17310] Update workflow actions to v4
PHPBB3-17310
2024-05-07 21:21:10 +02:00
Marc Alexander
19f534770d
[ticket/17309] Update gulp and remove no longer needed gulp packages
PHPBB3-17309
2024-05-07 21:02:28 +02:00
Marc Alexander
76ab83893b
[ticket/15325] Rename variable for sql is local exclude
PHPBB3-15325
2024-05-06 20:06:10 +02:00
Marc Alexander
222ca643b5
Merge branch '3.3.x' 2024-05-06 18:23:21 +02:00
Marc Alexander
9aec69413f
Merge pull request #6594 from marc1706/ticket/17077
[ticket/17077] Improve handling of posting to reduce double submit possibility
2024-05-06 18:22:58 +02:00
Matt Friedman
4573e2eae0
[ticket/17300] Replace Sticky and Announcement Icons
PHPBB3-17300

Signed-off-by: Matt Friedman <maf675@gmail.com>
2024-05-04 08:32:51 -07:00
Marc Alexander
42108b5e11
[ticket/15325] Remove no longer needed note about permissions being global
PHPBB3-15325
2024-05-04 09:00:30 +02:00
Marc Alexander
241cd5f41a
Merge branch '3.3.x' 2024-05-03 22:16:41 +02:00
Marc Alexander
2267ef1ac2
Merge pull request #6604 from marc1706/ticket/17130
[ticket/17130] Reparse magic urls in posts based on actual content
2024-05-03 22:16:28 +02:00
Marc Alexander
3f73ae8545
[ticket/17130] Reparse magic urls in posts based on actual content
PHPBB3-17130
2024-05-03 20:25:44 +02:00
Marc Alexander
6f45b46746
[ticket/17077] Add proper locking in PHP without releasing form tokens
PHPBB3-17077
2024-05-01 11:22:29 +02:00
Marc Alexander
a05ce5fd59
Merge branch '3.3.x' 2024-04-28 21:07:56 +02:00
Marc Alexander
844bf0141f
Merge pull request #6602 from Crizz0/ticket/17306-master
[ticket/17306] Add type declaration to get_context and array for $words (for Master)
2024-04-28 21:07:52 +02:00
Marc Alexander
df43810f55
Merge pull request #6600 from Crizz0/ticket/17306
[ticket/17306] Add type declaration to get_context and array for $words
2024-04-28 21:07:08 +02:00
Marc Alexander
f81c217015
Merge pull request #6599 from marc1706/ticket/12960
[ticket/12960] Remove broken captcha and add incomplete captcha as placeholder
2024-04-28 09:02:14 +02:00
Marc Alexander
2008035527
Merge branch '3.3.x' 2024-04-23 21:43:50 +02:00
Marc Alexander
42252460a9
Merge pull request #6603 from marc1706/ticket/17305
[ticket/17305] Add missing space to sql_sort
2024-04-23 21:43:44 +02:00
Marc Alexander
8dd6b5373d
[ticket/15325] Add test for displayed permissions
PHPBB3-15325
2024-04-23 21:33:09 +02:00
Marc Alexander
6c45c1ff6b
[ticket/15325] Do not show non-local permissions for local data
PHPBB3-15325
2024-04-23 20:49:02 +02:00
Marc Alexander
18a672c16e
[ticket/17305] Add missing space to sql_sort
PHPBB3-17305
2024-04-23 20:17:59 +02:00
Marc Alexander
4a3367e594
Merge branch '3.3.x' 2024-04-22 21:42:53 +02:00
Marc Alexander
d60998ba69
Merge pull request #6601 from marc1706/ticket/17305
[ticket/17305] Change sql_sort to be more in line with previous code
2024-04-22 21:42:51 +02:00
Marc Alexander
03ac7a6d5e
Merge branch 'ticket/17306' into ticket/17306-master 2024-04-21 21:22:55 +02:00
Christian Schnegelberger
8f1a777c5f
[ticket/17306] Add type declaration to get_context and array for $words
PHPBB3-17306
2024-04-21 21:22:46 +02:00
Christian Schnegelberger
17a50027b1
[ticket/17306] Change type description for get_context()
PHPBB3-17306
2024-04-21 21:21:09 +02:00
Marc Alexander
c219abf726
Merge branch '3.3.x' 2024-04-21 21:15:31 +02:00
Marc Alexander
6f5035597a
Merge pull request #6597 from rxu/ticket/17303-master
[ticket/17303] Update jQuery to the version 3.7.1 - master version
2024-04-21 21:15:27 +02:00
Marc Alexander
663100a44f
Merge pull request #6596 from rxu/ticket/17303
[ticket/17303] Update jQuery to the version 3.7.1 - 3.3.x version
2024-04-21 21:15:04 +02:00
Marc Alexander
1c8128292c
[ticket/17305] Change sql_sort to be more in line with previous code
PHPBB3-17305
2024-04-21 21:01:22 +02:00
Marc Alexander
eb37600df0
Merge branch '3.3.x' 2024-04-19 08:51:19 +02:00
Marc Alexander
25bd56c254
Merge pull request #6598 from marc1706/ticket/17305
[ticket/17305] Improve queries for unanswered posts/topics
2024-04-19 08:51:17 +02:00
Marc Alexander
e83f25a448
[ticket/12960] Remove not needed extra language variable
PHPBB3-12960
2024-04-19 08:49:57 +02:00
Marc Alexander
d1e2e39469
[ticket/12960] Add tests for incomplete captcha
PHPBB3-12960
2024-04-19 08:43:49 +02:00
Marc Alexander
7da461eac4
[ticket/12960] Add docblock for removed_captchas array
PHPBB3-12960
2024-04-18 22:16:36 +02:00
Marc Alexander
9d51ca3eb7
[ticket/12960] Add migration for removing broken captcha
PHPBB3-12960
2024-04-18 22:14:52 +02:00
Marc Alexander
4c721de243
Merge pull request #6591 from iMattPro/ticket/17297
[ticket/17297] Fix broken no avatar source tag in HTML
2024-04-17 20:50:07 +02:00
Marc Alexander
5d11098753
[ticket/12960] Do not try to enable removed captcha during install
PHPBB3-12960
2024-04-17 20:42:41 +02:00
Marc Alexander
1baf5c295e
[ticket/12960] Add missing docblocks to incomplete captcha
PHPBB3-12960
2024-04-17 20:08:16 +02:00
Marc Alexander
3e23839c04
[ticket/12960] Add warning messages when captcha is disabled or incomplete
PHPBB3-12960
2024-04-17 19:55:06 +02:00
Marc Alexander
d0c48f3fde
[ticket/17305] Improve queries for unanswered posts/topics
PHPBB3-17305
2024-04-16 20:47:39 +02:00
rxu
b7076f5cd4
Merge branch 'ticket/17303' into ticket/17303-master 2024-04-15 00:42:34 +07:00
rxu
abffd0f662
[ticket/17303] Update jQuery to the version 3.7.1
PHPBB3-17303
2024-04-15 00:19:52 +07:00
Marc Alexander
82db151303
Merge branch '3.3.x' 2024-04-10 16:37:38 +02:00
Marc Alexander
adf53d3264
Merge pull request #6592 from rxu/ticket/17299
[ticket/17299] Allow event to modify email core vars before sending a message
2024-04-10 16:37:35 +02:00
Marc Alexander
0871522326
Merge branch '3.3.x' 2024-04-09 22:02:28 +02:00
Marc Alexander
a9576a4084
Merge pull request #6593 from LukeWCS/ticket/17302
[ticket/17302] Fix password reset function
2024-04-09 22:02:25 +02:00
Marc Alexander
98929ca983
[ticket/17077] Add test for posting lock
PHPBB3-17077
2024-04-09 21:13:28 +02:00
Marc Alexander
3b5777f900
[ticket/17077] Move request handling outside locking and add release
PHPBB3-17077
2024-04-09 20:53:05 +02:00
LukeWCS
6943fbba89 [ticket/17302] Fix password reset function
Password reset function does not update all necessary data

PHPBB3-17302
2024-04-09 19:06:09 +02:00
Marc Alexander
c07c6816fc
[ticket/17077] Improve handling of accidental double submission of posts
PHPBB3-17077
2024-04-08 21:50:27 +02:00
Marc Alexander
e333d96eef
[ticket/12960] Adjust incomplete captcha to fix tests
PHPBB3-12960
2024-04-04 21:02:52 +02:00
Marc Alexander
716c1ca8eb
[ticket/12960] Add incomplete captcha to prevent registration
PHPBB3-12960
2024-04-03 20:39:39 +02:00
Marc Alexander
5e9d8662d1
[ticket/12960] Use test api key for recaptcha v2 demo
PHPBB3-12960
2024-04-03 20:39:39 +02:00
Marc Alexander
12e9c3d082
[ticket/12960] Remove broken captchas and prepare for incomplete captcha
PHPBB3-12960
2024-04-03 20:39:38 +02:00
Marc Alexander
70d61a4e91
Merge pull request #6416 from marc1706/ticket/17010
[ticket/17010] Implement notification method for web push
2024-04-03 20:05:23 +02:00
Marc Alexander
7c36c0c5bd
[ticket/17010] Remove invalid int cast
PHPBB3-17010
2024-04-02 21:26:15 +02:00
rxu
b38e8a2c84
[ticket/17299] Allow event to modify email core vars before sending a message
PHPBB3-17299
2024-03-31 09:55:57 +07:00
Marc Alexander
98ad0750f0
Merge branch '3.3.x' 2024-03-20 20:47:41 +01:00
Marc Alexander
b2459edaf3
Merge pull request #6589 from rxu/ticket/17284
[ticket/17284] Add viewtopic_body_online_list_after template event
2024-03-20 20:47:39 +01:00
Marc Alexander
3a3971053c
Merge branch '3.3.x' 2024-03-19 22:12:27 +01:00
Marc Alexander
48b832b864
Merge pull request #6590 from marc1706/ticket/17296-master
[ticket/17296] Reduce complexity of relative paths on adm pages
2024-03-19 22:12:23 +01:00
Marc Alexander
ff96c1a907
Merge pull request #6588 from marc1706/ticket/17296
[ticket/17296] Reduce complexity of relative paths on adm pages
2024-03-19 22:11:46 +01:00
Marc Alexander
e7d928d6ef
Merge branch 'ticket/17296' into ticket/17296-master 2024-03-19 20:51:48 +01:00
Marc Alexander
b4a343bdc9
[ticket/17296] Enforce unique session entry for admin user with delete
PHPBB3-17296
2024-03-19 20:36:38 +01:00
Matt Friedman
1ec51c99e5
[ticket/17297] Fix broken no avatar source tag in HTML
PHPBB3-17297

Signed-off-by: Matt Friedman <maf675@gmail.com>
2024-03-19 08:46:07 -07:00
Marc Alexander
385de647ec
Merge branch 'ticket/17296' into ticket/17296-master 2024-03-18 21:52:34 +01:00
rxu
6ee64c94a2
[ticket/17284] Add viewtopic_body_online_list_after template event
PHPBB3-17284
2024-03-13 23:25:02 +07:00
Marc Alexander
9c51a7866b
[ticket/17296] Fix session page update test
PHPBB3-17296
2024-03-10 09:26:05 +01:00
Marc Alexander
51b3d9de63
[ticket/17296] Ensure session page update test actually runs
PHPBB3-17296
2024-03-07 21:25:08 +01:00
Marc Alexander
bda99e1c35
[ticket/17296] Reduce complexity of relative paths on adm pages
PHPBB3-17296
2024-03-07 20:57:19 +01:00
Marc Alexander
fc23fd39d2
Merge pull request #6587 from iMattPro/ticket/17291
[ticket/17291] Use icon function in ACP templates
2024-03-04 21:49:26 +01:00
Marc Alexander
ddb4f142a6
[ticket/17291] Default to fa-solid if classes are set without fa class
PHPBB3-17291
2024-03-04 19:24:52 +01:00
Matt Friedman
511d96a522
[ticket/17291] Utilize font classes from the Icon function
PHPBB3-17291

Signed-off-by: Matt Friedman <maf675@gmail.com>
2024-03-04 09:07:47 -08:00
Matt Friedman
6c5518157d
[ticket/17291] Fix .fas classes and alert close button
PHPBB3-17291

Signed-off-by: Matt Friedman <maf675@gmail.com>
2024-03-03 14:33:56 -08:00
Matt Friedman
e586cd833c
[ticket/17291] Replace last GIFs with font icons
PHPBB3-17291

Signed-off-by: Matt Friedman <maf675@gmail.com>
2024-03-02 09:05:52 -08:00
Marc Alexander
fcfed79385
[ticket/17010] Properly handle expired subscriptions and extend tests
PHPBB3-17010
2024-03-01 19:40:26 +01:00
Matt Friedman
6d47a6c6dc
[ticket/17291] Add FontAwesome to installer
PHPBB3-17291

Signed-off-by: Matt Friedman <maf675@gmail.com>
2024-03-01 07:59:56 -08:00
Marc Alexander
93a6b8d87a
[ticket/17010] Update web-push-testing to 1.1.1
PHPBB3-17010
2024-02-29 22:16:35 +01:00
Marc Alexander
fc14c5fd0b
[ticket/17010] Increase test coverage
PHPBB3-17010
2024-02-27 20:43:27 +01:00
Marc Alexander
f36542c661
[ticket/17010] Update web-push-testing to 1.1.0
PHPBB3-17010
2024-02-27 17:30:46 +01:00
Matt Friedman
158ccd17ff
[ticket/17291] Replace additional images w/ fonts & CSS
PHPBB3-17291

Signed-off-by: Matt Friedman <maf675@gmail.com>
2024-02-25 12:22:11 -08:00
Matt Friedman
690370fac0
[ticket/17291] Icon class clean up
PHPBB3-17291

Signed-off-by: Matt Friedman <maf675@gmail.com>
2024-02-24 21:31:10 -08:00
Marc Alexander
a3f6563568
[ticket/17010] Remove duplicated css for buttons
PHPBB3-17010
2024-02-24 22:29:48 +01:00
Marc Alexander
e993d82bc5
[ticket/17010] Update language keys based on review recommendations
PHPBB3-17010
2024-02-24 20:53:03 +01:00
Matt Friedman
9d8d82e176
[ticket/17291] Stack the bigger acp icons
PHPBB3-17291

Signed-off-by: Matt Friedman <maf675@gmail.com>
2024-02-24 08:52:46 -08:00
Marc Alexander
44861c1f45
[ticket/17010] Add ban manager to webpush test
PHPBB3-17010
2024-02-24 17:49:44 +01:00
Marc Alexander
5ada5728ee
[ticket/17010] Also check .js.twig files with eslint
PHPBB3-17010
2024-02-24 11:58:32 +01:00
Marc Alexander
4e9fb6ed4f
[ticket/17010] Clean up push worker
PHPBB3-17010
2024-02-24 11:58:32 +01:00
Marc Alexander
adf639e871
[ticket/17010] Clean up code and remove unused method
PHPBB3-17010
2024-02-24 11:58:32 +01:00
Marc Alexander
a86d222ab0
[ticket/17010] Remove not needed empty line
PHPBB3-17010
2024-02-24 11:58:31 +01:00
Marc Alexander
d79e10e032
[ticket/17010] Unify naming of Web Push
PHPBB3-17010
2024-02-24 11:58:31 +01:00
Marc Alexander
bfc3a969ee
[ticket/17010] Remove no longer used route & handler
PHPBB3-17010
2024-02-24 11:58:31 +01:00
Marc Alexander
8d9a7aa62c
[ticket/17010] Add new interface and create template data in type
PHPBB3-17010
2024-02-24 11:58:31 +01:00
Marc Alexander
fa91bf791f
[ticket/17010] Make webpush js not depend on twig compilation
PHPBB3-17010
2024-02-24 11:58:31 +01:00
Marc Alexander
d85da61c9a
[ticket/17010] Move webpush js to assets folder
PHPBB3-17010
2024-02-24 11:58:31 +01:00
Marc Alexander
2da2211898
[ticket/17010] Update webpush test
PHPBB3-17010
2024-02-24 11:58:31 +01:00
Marc Alexander
479e54db93
[ticket/17010] Add logging to webpush notifications
PHPBB3-17010
2024-02-24 11:58:31 +01:00
Marc Alexander
f3eb774abd
[ticket/17010] Add missing language variable
PHPBB3-17010
2024-02-24 11:58:31 +01:00
Marc Alexander
6b00e9fe09
[ticket/17010] Handle already existing subscriptions
PHPBB3-17010
2024-02-24 11:58:30 +01:00
Marc Alexander
5098f315fd
[ticket/17010] Use special chars decode to have valid URL with amp
PHPBB3-17010
2024-02-24 11:58:30 +01:00
Marc Alexander
79ff21fdf5
[ticket/17010] Move get subscription map to separate function and extend tests
Unit tests will also now ensure there are no special surprises with more than
one subscription for users.

PHPBB3-17010
2024-02-24 11:58:30 +01:00
Marc Alexander
b779ce5910
[ticket/17010] Remove optional column check for non-existent column
PHPBB3-17010
2024-02-24 11:58:30 +01:00
Marc Alexander
c35e9c2438
[ticket/17010] Correctly fill subscription map for multiple subscriptions
PHPBB3-17010
2024-02-24 11:58:30 +01:00
Marc Alexander
6cc8df5d95
[ticket/17010] Adjust wording on ACP page for webpush
PHPBB3-17010
2024-02-24 11:58:30 +01:00
Marc Alexander
21ccb804d3
[ticket/17010] Update explain string in ACP for webpush enable
PHPBB3-17010
2024-02-24 11:58:30 +01:00
Marc Alexander
3cbe14eb4a
[ticket/17010] Clean up code and move some functions to core js
PHPBB3-17010
2024-02-24 11:58:30 +01:00
Marc Alexander
7410c3be6f
[ticket/17010] Generate VAPID keys with javascript in ACP
PHPBB3-17010
2024-02-24 11:58:30 +01:00
Marc Alexander
3513c85ee6
[ticket/17010] Stop skipping node dependency setup on slow tests
PHPBB3-17010
2024-02-24 11:58:29 +01:00
Marc Alexander
974b7a9184
[ticket/17010] Resolve use of undefined variable and possibly wrong type
PHPBB3-17010
2024-02-24 11:58:29 +01:00
Marc Alexander
a8dc08a219
[ticket/17010] Add prune notification support to webpush
PHPBB3-17010
2024-02-24 11:58:29 +01:00
Marc Alexander
ad196d1dba
[ticket/17010] Move web push testing to slow test group
PHPBB3-17010
2024-02-24 11:58:29 +01:00
Marc Alexander
edaff6cd2d
[ticket/17010] Remove undeliverable subscriptions
PHPBB3-17010
2024-02-24 11:58:29 +01:00
Marc Alexander
e97313839e
[ticket/17010] Add missing words & loading indicator, fix invalid twig code
PHPBB3-17010
2024-02-24 11:58:29 +01:00
Marc Alexander
b3777894cb
[ticket/17010] Fix stylelint issues
PHPBB3-17010
2024-02-24 11:58:29 +01:00
Marc Alexander
ac6512da14
[ticket/17010] Add missing copyright header
PHPBB3-17010
2024-02-24 11:58:29 +01:00
Marc Alexander
98e0559a1d
[ticket/17010] Remove wrong references to emails
PHPBB3-17010
2024-02-24 11:58:29 +01:00
Marc Alexander
166f0deae9
[ticket/17010] Make get_form_tokens() parameters optional
PHPBB3-17010
2024-02-24 11:58:29 +01:00
Marc Alexander
e177ee3750
[ticket/17010] Add first version of push worker javascript
PHPBB3-17010
2024-02-24 11:58:28 +01:00
Marc Alexander
06458c95f5
[ticket/17010] Add button disabled state CSS
PHPBB3-17010
2024-02-24 11:58:28 +01:00
Marc Alexander
7092f24645
[ticket/17010] Change how notification data is passed to push notifications JS
PHPBB3-17010
2024-02-24 11:58:28 +01:00
Marc Alexander
d4b6ad5620
[ticket/17010] Add controller methods for subscribe/unsubscribe and others
PHPBB3-17010
2024-02-24 11:58:28 +01:00
Marc Alexander
35259056f0
[ticket/17010] Switch to using form_helper for form tokens
PHPBB3-17010
2024-02-24 11:58:28 +01:00
Marc Alexander
0395c8dbac
[ticket/17010] Introduce form_helper to allow using form tokens in javascript
PHPBB3-17010
2024-02-24 11:58:28 +01:00
Marc Alexander
ff27401ed2
[ticket/17010] Add javascript for webpush subscribe/unsubscribe
PHPBB3-17010
2024-02-24 11:58:28 +01:00
Marc Alexander
199bc8f964
[ticket/17010] Add first webpush controller and start ucp integration
PHPBB3-17010
2024-02-24 11:58:28 +01:00
Marc Alexander
9bd9962aea
[ticket/17010] Resolve test issues and add node install for webpush testing
PHPBB3-17010
2024-02-24 11:58:28 +01:00
Marc Alexander
c4a8e32689
[ticket/17010] Adjust query to not trigger full group by issue
PHPBB3-17010
2024-02-24 11:58:27 +01:00
Marc Alexander
5fba4682c3
[ticket/17010] Resolve phing sniff issues
PHPBB3-17010
2024-02-24 11:58:27 +01:00
Marc Alexander
af29f388da
[ticket/17010] Queue notifications and use flush to send them
PHPBB3-17010
2024-02-24 11:58:27 +01:00
Marc Alexander
be21479b2a
[ticket/17010] Add tests for push notification type
PHPBB3-17010
2024-02-24 11:58:27 +01:00
Marc Alexander
ec3dc28b51
[ticket/17010] Switch to using table for tracking push subscriptions
PHPBB3-17010
2024-02-24 11:58:27 +01:00
Marc Alexander
af31080445
[ticket/17010] Add web-push-testing for implementing web push tests
PHPBB3-17010
2024-02-24 11:58:27 +01:00
Marc Alexander
83cf915758
[ticket/17010] Add column for user push subscriptions
PHPBB3-17010
2024-02-24 11:58:27 +01:00
Marc Alexander
1c64c695a9
[ticket/17010] Implement basic logic for webpush notifications
PHPBB3-17010
2024-02-24 11:58:27 +01:00
Marc Alexander
873a22176d
[ticket/17010] Add Webpush settings and language entries
PHPBB3-17010
2024-02-24 11:58:27 +01:00
Marc Alexander
d05e2dd043
[ticket/17010] Add first web push settings to ACP
PHPBB3-17010
2024-02-24 11:58:26 +01:00
Marc Alexander
769f5bc397
[ticket/17010] Add settings and some more notification code
PHPBB3-17010
2024-02-24 11:58:26 +01:00
Marc Alexander
3feeb237ca
[ticket/17010] Add migration for notificatio_push table
PHPBB3-17010
2024-02-24 11:58:26 +01:00
Marc Alexander
5c51f2ef7f
[ticket/17010] Add webpush to container definition
PHPBB3-17010
2024-02-24 11:58:26 +01:00
Marc Alexander
07d3376612
[ticket/17010] Add web-push-lib dependency
PHPBB3-17010
2024-02-24 11:58:25 +01:00
Marc Alexander
464f37fe46
[ticket/17010] Add dummy for web push notification method
PHPBB3-17010
2024-02-24 11:56:01 +01:00
Matt Friedman
c46b700e22
[ticket/17291] Fix some classes for compatibility
PHPBB3-17291

Signed-off-by: Matt Friedman <maf675@gmail.com>
2024-02-24 00:54:46 -08:00
Matt Friedman
4adf5ac99f
[ticket/17291] Clean out older FontAwesome 4 code
PHPBB3-17291

Signed-off-by: Matt Friedman <maf675@gmail.com>
2024-02-23 17:33:32 -08:00
Matt Friedman
3cc3bc7e81
[ticket/17291] Use font icons instead of SVGs
PHPBB3-17291

Signed-off-by: Matt Friedman <maf675@gmail.com>
2024-02-23 16:39:40 -08:00
Matt Friedman
873c838d57
[ticket/17291] Replace old forum GIFs with SVGs
PHPBB3-17291

Signed-off-by: Matt Friedman <maf675@gmail.com>
2024-02-23 13:44:24 -08:00
Marc Alexander
2c29c8352a
[ticket/17291] Add styles/all/imgs to allowed paths for acp style files
PHPBB3-17291
2024-02-23 22:08:41 +01:00
Marc Alexander
ab9f636ad6
Merge branch '3.3.x' 2024-02-23 20:37:16 +01:00
Marc Alexander
763c6f625f
Merge pull request #6584 from Crizz0/ticket/17292
[ticket/17292] Use new spamhaus.org check url
2024-02-23 20:36:36 +01:00
Matt Friedman
35f4dc7691
[ticket/17291] Switch ACP images to font icons
PHPBB3-17291
2024-02-23 11:26:34 -08:00
Marc Alexander
7a734f7f74
Merge branch '3.3.x' 2024-02-23 20:05:47 +01:00
Marc Alexander
b05082e011
Merge pull request #6586 from marc1706/ticket/17293-master
[ticket/17293] Update composer and dependencies to latest versions -- master version
2024-02-23 20:05:41 +01:00
Marc Alexander
06672d896b
Merge pull request #6585 from marc1706/ticket/17293
[ticket/17293] Update composer and dependencies to latest versions
2024-02-23 20:05:18 +01:00
Marc Alexander
4afa184110
[ticket/17292] Add needed www prefix for spamcop
PHPBB3-17292
2024-02-23 20:01:41 +01:00
Marc Alexander
12a942747a
Merge pull request #6564 from marc1706/ticket/13162
[ticket/13162] Add truncate table functionality to database tools
2024-02-23 19:57:49 +01:00
Marc Alexander
a700111808
[ticket/17293] Update composer dependencies for master to latest versions
PHPBB3-17293
2024-02-23 18:22:08 +01:00
Marc Alexander
c654b9b702
Merge branch 'ticket/17293' into ticket/17293-master 2024-02-23 18:21:19 +01:00
Marc Alexander
602841fd11
[ticket/17293] Update composer dependencies to latest versions
PHPBB3-17293
2024-02-23 18:20:30 +01:00
Marc Alexander
ae3c294a2f
[ticket/17293] Update composer to 2.7.1
PHPBB3-17293
2024-02-23 18:19:53 +01:00
Marc Alexander
86af3c0f56
Merge pull request #6541 from Crizz0/ticket/17093-master
[ticket/17093] Add ACP setting to limit access to disabled board
2024-02-22 20:01:59 +01:00
Marc Alexander
ba2421ec0e
Merge pull request #6581 from marc1706/ticket/17283
[ticket/17283] Remove iconify support
2024-02-22 19:49:18 +01:00
Christian Schnegelberger
00b8cb1e52 [ticket/17292] Use new spamhaus.org check url
PHPBB3-17292
2024-02-22 19:16:54 +01:00
Marc Alexander
946fb7d9a4
[ticket/17093] Change how login is handled to support disabled boards
PHPBB3-17093
2024-02-22 19:06:46 +01:00
Marc Alexander
be93efee1d
[ticket/17093] Add test for disabled board behavior
PHPBB3-17093
2024-02-22 17:42:06 +01:00
Marc Alexander
232dfa6b20
[ticket/17093] Add docblock and use language instead of user
PHPBB3-17093
2024-02-19 18:54:12 +01:00
Marc Alexander
d8608e4ba5
[ticket/17093] Remove not needed values
PHPBB3-17093
2024-02-19 18:49:37 +01:00
Marc Alexander
073e19552f
[ticket/17283] Add CDN fallback for font awesome
PHPBB3-17283
2024-02-19 17:59:38 +01:00
Marc Alexander
6fe2012bf8
Merge branch '3.3.x' 2024-02-18 20:34:34 +01:00
Marc Alexander
eabe2632dc
Merge pull request #6582 from rxu/ticket/17286
[ticket/17286] Do not update user session page if it does not exist
2024-02-18 20:34:32 +01:00
Ruben Calvo
3c75fedffe
[ticket/17289] Fix dependency injection error when using development environment
PHPBB3-17289
2024-02-18 17:49:36 +01:00
Marc Alexander
aa3f253030
[ticket/17283] Remove unused code
PHPBB3-17283
2024-02-18 17:08:51 +01:00
Marc Alexander
ad5e2a3602
[ticket/17283] Use cdnjs url instead and use in default installation
PHPBB3-17283
2024-02-18 17:08:25 +01:00
Marc Alexander
da48c178ea
[ticket/17283] Add migration for font awesome 6.5.1 cdn url
PHPBB3-17283
2024-02-18 17:08:25 +01:00
Marc Alexander
580ce4ca42
[ticket/17283] Update fa tests and remove iconify parts
PHPBB3-17283
2024-02-12 18:53:32 +01:00
Marc Alexander
3b7795ecc0
[ticket/17283] Remove iconify packages
PHPBB3-17283
2024-02-12 18:53:30 +01:00
Marc Alexander
db56017d57
[ticket/17283] Remove remaining parts using iconify
PHPBB3-17283
2024-02-12 18:52:45 +01:00
Marc Alexander
9af61c1f1e
[ticket/17283] Remove iconify from template files and assets
PHPBB3-17283
2024-02-12 18:51:47 +01:00
Marc Alexander
75b2579aa9
[ticket/17283] Remove last remaining uses of iconify
PHPBB3-17283
2024-02-12 18:51:47 +01:00
Marc Alexander
8bbb4aa25d
[ticket/17283] Replace iconify fa with direct fa icons
PHPBB3-17283
2024-02-12 18:51:47 +01:00
Marc Alexander
91af7e5df6
[ticket/17283] Fix coloring of unapproved icon
PHPBB3-17283
2024-02-12 18:51:47 +01:00
Marc Alexander
1c961e4531
[ticket/17283] Fix breadcrumbs pointing the wrong direction
PHPBB3-17283
2024-02-12 18:51:47 +01:00
Marc Alexander
455d6b071b
[ticket/17283] Adjust classes and lang call for icon
PHPBB3-17283
2024-02-12 18:51:46 +01:00
Marc Alexander
e4974888bd
[ticket/17283] Finish converting navbar to font awesome
PHPBB3-17283
2024-02-12 18:51:46 +01:00
Marc Alexander
302e9000e6
[ticket/17283] Change first icons to font and adjust icon alignment
PHPBB3-17283
2024-02-12 18:51:46 +01:00
Marc Alexander
cb33889999
[ticket/17283] Add back font awesome
PHPBB3-17283
2024-02-12 18:51:46 +01:00
Christian Schnegelberger
c000089cfd [ticket/17093] Remove short if in selected
PHPBB3-17093
2024-02-04 16:45:04 +01:00
Christian Schnegelberger
ce8b31130c [ticket/17093] Fix sniff error in migration
PHPBB3-17093
2024-02-04 16:06:31 +01:00
Christian Schnegelberger
73806f9342 [ticket/17093] Use acp twig macro for display of acp board setting
PHPBB3-17093
2024-02-04 15:15:22 +01:00
rxu
112392bcf3
[ticket/17286] Remove test pauses
PHPBB3-17286
2024-02-03 12:09:47 +07:00
rxu
9401ce1c5f
[ticket/17286] Add test
PHPBB3-17286
2024-02-03 00:02:03 +07:00
rxu
ec7180db4f
[ticket/17286] Do not update user session page if it does not exist
PHPBB3-17286
2024-02-02 23:33:12 +07:00
Marc Alexander
99884d8bbb
Merge pull request #6579 from marc1706/ticket/17281
[ticket/17281] Update to psalm 5.x
2024-01-31 21:14:15 +01:00
Marc Alexander
3abcd746ab
Merge branch '3.3.x' 2024-01-04 21:05:18 +01:00
Marc Alexander
512a93727a
Merge pull request #6568 from Prosk8er/ticket/17235
[ticket/17235] missing autocomplete for username
2024-01-04 21:04:17 +01:00
Marc Alexander
e5ddf24fb9
Merge branch '3.3.x' 2024-01-02 16:47:51 +01:00
Marc Alexander
c4642d2502
Merge pull request #6580 from rxu/ticket/17117
[ticket/17117] Do not load non-existent/disabled notification methods
2024-01-02 16:47:49 +01:00
Prosk8er
f3a596b78b
[ticket/17235] Fixes for issues mentioned in code review
PHPBB3-17235
2024-01-02 16:46:04 +01:00
rxu
887b1e25fb
[ticket/17117] Add test for non=existent notification method
PHPBB3-17117
2024-01-02 16:30:44 +07:00
rxu
f31ea59a1a
[ticket/17117] Do not load non-existent/disabled notification methods
Non-existent or disabled notification methods (f.e. added
by extensions which were later disabled/purged) should not be loaded.

PHPBB3-17117
2024-01-02 15:45:42 +07:00
Marc Alexander
39cad1d235
Merge branch '3.3.x' 2024-01-01 21:35:55 +01:00
Marc Alexander
61a28c154b
Merge pull request #6563 from marc1706/ticket/17212
[ticket/17212] Support updating session info when editing post with p=
2024-01-01 21:35:53 +01:00
Marc Alexander
c73e7bfe05
[ticket/17281] Remove not needed suppress
PHPBB3-17281
2023-12-31 15:08:37 +01:00
Marc Alexander
00a9c130ac
Merge branch '3.3.x' 2023-12-31 10:43:23 +01:00
Marc Alexander
9f099a75cd
Merge pull request #6574 from rxu/ticket/17232-master
[ticket/17232] Improve SQL error messages handling - master version
2023-12-31 10:43:19 +01:00
Marc Alexander
565053f508
Merge pull request #6573 from rxu/ticket/17232
[ticket/17232] Improve SQL error messages handling
2023-12-31 10:43:05 +01:00
Marc Alexander
6593440b56
Merge branch '3.3.x' 2023-12-31 09:38:23 +01:00
Marc Alexander
5a922ffa5b
Merge pull request #6578 from marc1706/ticket/17280
[ticket/17280] Fall back to branch when no valid title found
2023-12-31 09:38:20 +01:00
rxu
af05fe4f19
[ticket/17232] Remove sqlite3 dbtool
PHPBB3-17232
2023-12-31 15:21:10 +07:00
Marc Alexander
e42b743b86
[ticket/17281] Fix return type and ensure type correctness
PHPBB3-17281
2023-12-30 20:58:54 +01:00
Marc Alexander
5d53089651
[ticket/17281] Fix some smaller issues
PHPBB3-17281
2023-12-30 18:04:27 +01:00
Marc Alexander
661a8a6117
[ticket/17281] Update psalm config and fix issues
PHPBB3-17281
2023-12-30 17:41:12 +01:00
Marc Alexander
b4ff57e2a4
[ticket/17280] Fall back to branch when no valid title found
PHPBB3-17280
2023-12-30 10:07:49 +01:00
Marc Alexander
c6c299eea4
[ticket/17281] Update to psalm 5.x
PHPBB3-17281
2023-12-30 10:07:23 +01:00
Marc Alexander
bedc86ea2d
Merge branch '3.3.x' 2023-12-30 09:19:49 +01:00
Marc Alexander
95f5f6730e
Merge pull request #6576 from rxu/ticket/17277-master
[ticket/17277] Add template events to UCP - master version
2023-12-30 09:19:44 +01:00
Marc Alexander
e4d5cbbc76
Merge pull request #6575 from rxu/ticket/17277
[ticket/17277] Add template events to UCP
2023-12-30 09:19:25 +01:00
Marc Alexander
b6951fa44a
Merge pull request #6577 from marc1706/ticket/17279
[ticket/17279] Use only needed iconify icon packages
2023-12-29 22:10:34 +01:00
Marc Alexander
ae7100957c
[ticket/17279] Update parameters for constructor in tests
PHPBB3-17279
2023-12-29 21:41:00 +01:00
Marc Alexander
327b891ee1
[ticket/17279] Remove iconify/json from composer
We only need the tools, icons are retrieved from assets folder.

PHPBB3-17279
2023-12-29 21:27:27 +01:00
Marc Alexander
0c2fa3a065
[ticket/17279] Get iconify icons from assets folder
PHPBB3-17279
2023-12-29 21:26:41 +01:00
Marc Alexander
5afa5db41f
[ticket/17279] Add iconify icon sets that are needed and update iconify
PHPBB3-17279
2023-12-29 21:25:59 +01:00
rxu
d2ac8a3abd
Merge branch 'ticket/17277' into ticket/17277-master 2023-12-26 01:01:55 +07:00
rxu
dc415768a8
[ticket/17277] Add template events to UCP
PHPBB3-17277
2023-12-26 00:35:55 +07:00
rxu
83f9838217
Merge branch 'ticket/17232' into ticket/17232-master 2023-12-20 15:58:15 +07:00
rxu
6a8140e82b
[ticket/17232] Improve SQL error messages handling
PHP 7 changes how most errors are reported by PHP. Instead of reporting errors
through the traditional error reporting mechanism used by PHP 5, most errors
are now reported by throwing Error exceptions.
Use it to display meaningful SQL error messages instead of PHP fatal errors
for SQL errors.

PHPBB3-17232
2023-12-20 15:07:14 +07:00
Marc Alexander
f9863f9b34
Merge pull request #6525 from marc1706/ticket/16944
[ticket/16944] Use icon bundle to load Iconify locally
2023-12-17 21:44:17 +01:00
Marc Alexander
3c66dc0128
Merge branch '3.3.x' 2023-12-17 20:04:32 +01:00
Marc Alexander
213d092f6f
Merge pull request #6570 from Crizz0/ticket/17237
[ticket/17237] Use single quotes for QUICKMOD_ACTION_NOT_ALLOWED var
2023-12-17 20:04:30 +01:00
Marc Alexander
59f387e828
[ticket/13162] Use db tools for truncating
PHPBB3-13162
2023-12-17 19:49:23 +01:00
Marc Alexander
c31ac7348a
[ticket/13162] Remove unused use statement
PHPBB3-13162
2023-12-17 12:49:40 +01:00
Marc Alexander
0ae7e3f992
[ticket/13162] Add tests for truncate table via tools
PHPBB3-13162
2023-12-17 12:49:40 +01:00
Marc Alexander
5a1fe1db12
[ticket/13162] Add truncate table functionality to doctrine tools
PHPBB3-13162
2023-12-17 12:49:40 +01:00
Marc Alexander
afe41e3916
Merge branch '3.3.x' 2023-12-17 10:25:44 +01:00
Marc Alexander
0ad712b4e2
Merge pull request #6572 from marc1706/ticket/17236-master
[ticket/17236] Update composer dependencies to impove PHP 8.3 compatibility -- master version
2023-12-17 10:25:40 +01:00
Marc Alexander
3477562c58
Merge pull request #6569 from marc1706/ticket/17236
[ticket/17236] Update composer dependencies to improve PHP 8.3 compatibility
2023-12-17 10:25:11 +01:00
Marc Alexander
b1c5401ba8
Merge branch 'ticket/17236' into ticket/17236-master 2023-12-16 20:50:03 +01:00
Marc Alexander
d5d449b78e
[ticket/17236] Update more dependencies
PHPBB3-17236
2023-12-16 20:36:43 +01:00
Christian Schnegelberger
6c43f81e8d [ticket/17237] Use single quotes for QUICKMOD_ACTION_NOT_ALLOWED var
PHPBB3-17237
2023-11-30 12:34:48 +01:00
Marc Alexander
856ce16a87
[ticket/17236] Update composer dependencies to improve PHP 8.3 compatibility
PHPBB3-17236
2023-11-29 20:39:30 +01:00
Prosk8er
bc5c095363 [ticket/17235] missing autocomplete for username
PHPBB3-17235
2023-11-29 09:14:51 -05:00
Marc Alexander
fc29dfd9df
Merge branch '3.3.x' 2023-11-26 20:53:42 +01:00
Marc Alexander
9ba6e9b60d
Merge pull request #6567 from rxu/ticket/17233
[ticket/17233] Add PHP 8.3 tests to the 3.3.x branch - 3.3.x version
2023-11-26 20:52:33 +01:00
rxu
bf26da660a
[ticket/17233] Add PHP 8.3 tests to the 3.3.x branch
PHPBB3-17233
2023-11-26 22:44:40 +07:00
Marc Alexander
a9b5dcd954
[ticket/17176] Use different call to cause a notice
The previous call was upgraded to cause a warning in PHP 8.3

PHPBB3-17176
2023-11-26 22:41:30 +07:00
Marc Alexander
5b1ef39c08
Merge branch '3.3.x' 2023-11-21 20:52:40 +01:00
Marc Alexander
7e5e499615
Merge pull request #6566 from marc1706/ticket/17230-master
[ticket/17230] Update doctum to 5.5.3 for PHP 8.1 compatibility -- master version
2023-11-21 20:52:31 +01:00
Marc Alexander
303f8f55cb
Merge pull request #6565 from marc1706/ticket/17230
[ticket/17230] Update doctum to 5.5.3 for PHP 8.1 compatibility
2023-11-21 20:52:12 +01:00
Marc Alexander
100294d5e7
Merge branch 'ticket/17230' into ticket/17230-master 2023-11-21 20:02:12 +01:00
Marc Alexander
c6fe842bc8
[ticket/17230] Update doctum to 5.5.3 for PHP 8.1 compatibility
PHPBB3-17230
2023-11-21 20:00:59 +01:00
Marc Alexander
e6edd24a2b
[ticket/16944] Move test file
PHPBB3-16944
2023-11-14 21:51:55 +01:00
Marc Alexander
c98778dbf6
[ticket/16944] Add tests for iconify bundler
PHPBB3-16944
2023-11-14 21:40:26 +01:00
Marc Alexander
b4b7199ed5
[ticket/16944] Adjust iconify path for installer
PHPBB3-16944
2023-11-12 21:26:38 +01:00
Marc Alexander
09cc08ea74
[ticket/16944] Unify footer code and clean up code
PHPBB3-16944
2023-11-12 20:09:42 +01:00
Marc Alexander
fdb28d1d06
[ticket/16944] Remove no longer needed iconify bundle
PHPBB3-16944
2023-11-12 16:31:03 +01:00
Marc Alexander
1f5ae7be76
[ticket/16944] Add missing definitions and make logging optional
PHPBB3-16944
2023-11-12 16:04:52 +01:00
Marc Alexander
3db2089208
[ticket/16944] Update tests for adjusted environment constructor
PHPBB3-16944
2023-11-12 16:04:52 +01:00
Marc Alexander
0434bce5af
[ticket/16944] Generate iconify bundle as needed via icons & assets bag
PHPBB3-16944
2023-11-12 16:04:52 +01:00
Marc Alexander
bd6cd8f2fc
[ticket/16944] Fix path and update iconify bundle
PHPBB3-16944
2023-11-12 16:04:52 +01:00
Marc Alexander
a1b41f25ef
[ticket/16944] Handle bundling of iconify icons in ACP
PHPBB3-16944
2023-11-12 16:04:52 +01:00
Marc Alexander
a531d6071b
[ticket/16944] Start changing bundler to be used outside of develop scripts
PHPBB3-16944
2023-11-12 16:04:52 +01:00
Marc Alexander
7f80772eda
[ticket/16944] Use iconify bundler in develop script
PHPBB3-16944
2023-11-12 16:04:52 +01:00
Marc Alexander
5cc4691d87
[ticket/16944] Add first basic iconify bundler
PHPBB3-16944
2023-11-12 16:04:52 +01:00
Marc Alexander
485cd776d1
[ticket/16944] Use icon bundle to load Iconify locally
PHPBB3-16944
2023-11-12 16:04:50 +01:00
Marc Alexander
92e678a116
[ticket/17212] Extend viewonline test for editing post
PHPBB3-17212
2023-11-11 10:36:17 +01:00
Marc Alexander
c098468699
[ticket/17212] Add comment on the need for updating session info
PHPBB3-17212
2023-11-09 21:10:07 +01:00
Marc Alexander
613582e2c5
[ticket/17212] Support updating session info when editing post with p=
PHPBB3-17212
2023-11-09 21:08:31 +01:00
Marc Alexander
604d776dd7
Merge pull request #6518 from marc1706/ticket/9687-new
[ticket/9687] Refactor banning
2023-11-06 21:52:40 +01:00
Marc Alexander
58b777b51c
[ticket/9687] Some more code cleanup after code review
PHPBB3-9687
2023-11-06 20:30:59 +01:00
Marc Alexander
13361a3b4b
[ticket/9687] Clean up code some more
PHPBB3-9687
2023-11-06 20:28:42 +01:00
Marc Alexander
eacfe7be7b
[ticket/9687] Remove no longer needed code after adjusting query
PHPBB3-9687
2023-11-06 17:58:13 +01:00
Marc Alexander
744bf162b3
[ticket/9687] Adjust query to use join again
PHPBB3-9687
2023-11-05 21:12:20 +01:00
Marc Alexander
0901633349
[ticket/9687] Improve ban query
PHPBB3-9687
2023-11-05 20:21:41 +01:00
Marc Alexander
51ea6d8241
[ticket/9687] Remove exclude from banning lang strings
PHPBB3-9687
2023-11-05 20:21:41 +01:00
Marc Alexander
21b389bb81
[ticket/9687] Require @ sign in emails
PHPBB3-9687
2023-11-05 20:21:41 +01:00
Marc Alexander
63473239f2
[ticket/9687] Remove open todos and revert back to old regex
PHPBB3-9687
2023-11-05 20:21:40 +01:00
Marc Alexander
8a15670055
[ticket/9687] Update deprecated notices and helper functions
PHPBB3-9687
2023-11-05 20:21:40 +01:00
Marc Alexander
8e80d734c8
[ticket/9687] Use correct sql_error call to prevent accessing private member
PHPBB3-9687
2023-11-05 20:21:40 +01:00
Marc Alexander
598f899fb8
[ticket/9687] Fix converting phpBB2 bans
PHPBB3-9687
2023-11-05 20:21:40 +01:00
Marc Alexander
e54d54488c
[ticket/9687] Fix ban message for banned users
PHPBB3-9687
2023-11-05 20:21:40 +01:00
Marc Alexander
54bb32bba5
[ticket/9687] Improve labeling in acp for user bans
PHPBB3-9687
2023-11-05 20:21:40 +01:00
Marc Alexander
d7389809aa
[ticket/9687] Add support for logging to banning system
PHPBB3-9687
2023-11-05 20:21:40 +01:00
Marc Alexander
0f18869702
[ticket/9687] Fix text inconsistency between mysql & postgres
PHPBB3-9687
2023-11-05 20:21:40 +01:00
Marc Alexander
040b277fd9
[ticket/9687] Add array reverse only for linux postgres
PHPBB3-9687
2023-11-05 20:21:39 +01:00
Marc Alexander
66cb07d2f4
[ticket/9687] Fix tests on postgres
PHPBB3-9687
2023-11-05 20:21:39 +01:00
Marc Alexander
a0bd70885d
[ticket/9687] Create ban message in manager and add missing sort directions
PHPBB3-9687
2023-11-05 20:21:39 +01:00
Marc Alexander
0be1ffd296
[ticket/9687] Adjust queries to be compatible with postgres
PHPBB3-9687
2023-11-05 20:21:39 +01:00
Marc Alexander
0414536727
[ticket/9687] Add separate column for user_id
PHPBB3-9687
2023-11-05 20:21:39 +01:00
Marc Alexander
f9a0e4d606
[ticket/9687] Separate querie for ban options of users
PHPBB3-9687
2023-11-05 20:21:39 +01:00
Marc Alexander
9b8b34e8f3
[ticket/9687] Resolve phing sniff issues
PHPBB3-9687
2023-11-05 20:21:39 +01:00
Marc Alexander
927f33fad3
[ticket/9687] Use cache driver instead of service
PHPBB3-9687
2023-11-05 20:21:39 +01:00
Marc Alexander
2d53b8f947
[ticket/9687] Remove invalid WHERE clause form query
PHPBB3-9687
2023-11-05 20:21:38 +01:00
Marc Alexander
dcbd4a54aa
[ticket/9687] Improve display of ban options and update tests
PHPBB3-9687
2023-11-05 20:21:38 +01:00
Marc Alexander
7b551adb2b
[ticket/9687] Prevent banning of anonymous
PHPBB3-9687
2023-11-05 20:21:38 +01:00
Marc Alexander
cf26a30030
[ticket/9687] Make unbanning work again
PHPBB3-9687
2023-11-05 20:21:38 +01:00
Marc Alexander
872439b8f4
[ticket/9687] Properly display error messages in ACP
PHPBB3-9687
2023-11-05 20:21:38 +01:00
Marc Alexander
1a4e6fe3e8
[ticket/9687] Use Forms for template display and fix display for users
PHPBB3-9687
2023-11-05 20:21:38 +01:00
Marc Alexander
6048458a12
[ticket/9687] Remove unused exception
PHPBB3-9687
2023-11-05 20:21:38 +01:00
Marc Alexander
c88a9f0b01
[ticket/9687] Remove support for ban exclude
PHPBB3-9687
2023-11-05 20:21:38 +01:00
Marc Alexander
cf0e747d51
[ticket/9687] Add tests for ban manager and fix some inconsistencies
PHPBB3-9687
2023-11-05 20:21:37 +01:00
Marc Alexander
658e8effd5
[ticket/9687] Clean up ACP module
PHPBB3-9687
2023-11-05 20:21:37 +01:00
Marc Alexander
8a5a26be87
[ticket/9687] Further clean up ban manager and directly pass user
PHPBB3-9687
2023-11-05 20:21:37 +01:00
Marc Alexander
026d66dab2
[ticket/9687] Properly support banning and fix display of ban info
PHPBB3-9687
2023-11-05 20:21:37 +01:00
Marc Alexander
43b35e1560
[ticket/9687] Improve code quality of ban system
PHPBB3-9687
2023-11-05 20:21:37 +01:00
Marc Alexander
ec4a53169a
[ticket/9687] Add ip banning support incl. CIDR support
PHPBB3-9687
2023-11-05 20:21:37 +01:00
Marc Alexander
d99968a800
[ticket/9687] Update ban migrations and clean up code
PHPBB3-9687
2023-11-05 20:21:37 +01:00
Marc Alexander
d4a4dd453a
[ticket/9687] Move migrations to v400
PHPBB3-9687
2023-11-05 20:21:37 +01:00
Marc Alexander
8bdda472bf
[ticket/9687] Fix tests
PHPBB3-9687
2023-11-05 20:21:36 +01:00
Marc Alexander
7739eb2cfe
[ticket/9687] Fix incorrect check for ban end and invalid query
PHPBB3-9687
2023-11-05 20:21:36 +01:00
Marc Alexander
9b77dd0283
[ticket/9687] Fix birthday list query
PHPBB3-9687
2023-11-05 20:21:36 +01:00
Marc Alexander
9048aed163
[ticket/9687] Use new array entries for bans
PHPBB3-9687
2023-11-05 20:21:36 +01:00
Oliver Schramm
3563f20991
[ticket/9687] Fix ban session tests for real
PHPBB3-9687
2023-11-05 20:21:36 +01:00
Oliver Schramm
40b1d1e6ff
[ticket/9687] Remove dependency on log and user services
PHPBB3-9687
2023-11-05 20:21:36 +01:00
Oliver Schramm
e7015bf1dd
[ticket/9687] Fix code style and tests
PHPBB3-9687
2023-11-05 20:21:36 +01:00
Oliver Schramm
64ab1fc24c
[ticket/9687] Fix bugs when banning and add TODO's
PHPBB3-9687
2023-11-05 20:21:36 +01:00
Oliver Schramm
728b200cd9
[ticket/9687] Add service definitions
PHPBB3-9687
2023-11-05 20:21:36 +01:00
Oliver Schramm
7267df431f
[ticket/9687] Finish documentation and integrate the new code
PHPBB3-9687
2023-11-05 20:21:35 +01:00
Oliver Schramm
9373fa3edb
[ticket/9687] Add more useful methods to the new ban manger
PHPBB3-9687
2023-11-05 20:21:35 +01:00
Oliver Schramm
c8b8675dff
[ticket/9687] Finish ban check and tidy methods
PHPBB3-9687
2023-11-05 20:21:35 +01:00
Oliver Schramm
95de576ccd
[ticket/9687] Add unbanning to the manager
PHPBB3-9687
2023-11-05 20:21:35 +01:00
Oliver Schramm
64af01f528
[ticket/9687] Finishing user banning and ban logging
PHPBB3-9687
2023-11-05 20:21:35 +01:00
Oliver Schramm
5ae1d9eac6
[ticket/9687] Introduce new ban manager (WIP)
PHPBB3-9687
2023-11-05 20:21:35 +01:00
Marc Alexander
caddc73e06
Merge branch '3.3.x' 2023-11-05 15:35:56 +01:00
Marc Alexander
43e69df080
Merge pull request #6562 from marc1706/ticket/14047
[ticket/14047] Check for stream close handshake before closing stream
2023-11-05 15:35:53 +01:00
Marc Alexander
573fe5ddf8
Merge branch '3.3.x' 2023-11-04 08:29:20 +01:00
Marc Alexander
8758cb641f
Merge pull request #6558 from marc1706/ticket/17204-master
[ticket/17204] Update composer dependencies to latest versions -- master version
2023-11-04 08:29:16 +01:00
Marc Alexander
f6b4c5b70d
Merge pull request #6557 from marc1706/ticket/17204
[ticket/17204] Update composer dependencies to latest versions
2023-11-04 08:28:59 +01:00
Marc Alexander
d65141aa75
Merge branch '3.3.x' 2023-11-04 08:28:08 +01:00
Marc Alexander
fe84120bf2
Merge pull request #6490 from rxu/ticket/16470
[ticket/16470] Update user last visit time on session begin
2023-11-04 08:26:45 +01:00
Marc Alexander
6710bba04a
Merge pull request #6561 from marc1706/ticket/17209
[ticket/17209] Improve mentions migration and add fallback for permission role_exists
2023-11-03 22:23:08 +01:00
Marc Alexander
0e1e792574
[ticket/14047] Check for stream close handshake before closing stream
PHPBB3-14047
2023-11-03 22:21:44 +01:00
Marc Alexander
f177cfa386
[ticket/17209] Check permission for existence in storage permission migration
PHPBB3-17209
2023-11-03 21:10:04 +01:00
Marc Alexander
7d1e637a0a
[ticket/17209] Fix migration namespace
PHPBB3-17209
2023-11-03 20:50:39 +01:00
Marc Alexander
7efadf46a6
[ticket/17209] Add checks for role exists before adding permissions
PHPBB3-17209
2023-11-03 20:46:59 +01:00
Marc Alexander
98209b91ba
[ticket/17209] Add fallback for searching for roles for standard titles
PHPBB3-17209
2023-11-03 20:44:42 +01:00
Marc Alexander
6f79608c76
[ticket/17209] Move mentions migration to v400
PHPBB3-17209
2023-11-03 20:38:14 +01:00
Marc Alexander
fb4ea608e3
Merge branch '3.3.x' 2023-11-02 21:57:29 +01:00
Marc Alexander
d4178511a2
Merge pull request #6559 from marc1706/ticket/17207
[ticket/17207] Lazily call get_web_root_path() in twig environment
2023-11-02 21:57:27 +01:00
Marc Alexander
010464c2a4
Merge branch '3.3.x' 2023-11-02 21:50:45 +01:00
Marc Alexander
0e3bc638e9
Merge pull request #6560 from marc1706/ticket/17208
[ticket/17208] Skip profile field data update if youtube cpf doesn't exist
2023-11-02 21:50:42 +01:00
Marc Alexander
dd549a5e43
[ticket/17208] Ensure to not run the previous migration with missing column
PHPBB3-17208
2023-11-01 16:54:19 +01:00
Marc Alexander
526c79d2e2
[ticket/17208] Skip profile field data update if youtube cpf doesn't exist
PHPBB3-17208
2023-11-01 16:50:20 +01:00
Marc Alexander
8afc638171
[ticket/17207] Lazily call get_web_root_path() in twig environment
PHPBB3-17207
2023-11-01 16:23:23 +01:00
rxu
9e130333c0
[ticket/16470] remove unneeded migration, adjust code
PHPBB3-16470
2023-11-01 21:03:07 +07:00
Marc Alexander
8a951a6ad3
[ticket/17204] Update node dependencies
PHPBB3-17204
2023-11-01 09:50:08 +01:00
Marc Alexander
be9e833661
[ticket/17204] Update composer dependencies on master
PHPBB3-17204
2023-11-01 09:49:39 +01:00
Marc Alexander
101d8fd52e
Merge branch 'ticket/17204' into ticket/17204-master 2023-11-01 09:49:13 +01:00
Marc Alexander
00d349cfbb
[ticket/17203] Fix stylesheet formatting
PHPBB3-17203
2023-11-01 07:55:59 +01:00
Marc Alexander
2b7d8020b9
[ticket/17204] Update composer to latest version
PHPBB3-17204
2023-10-31 22:33:08 +01:00
Marc Alexander
bb7e7b682d
[ticket/17204] Update composer dependencies to latest versions
PHPBB3-17204
2023-10-31 22:20:35 +01:00
Marc Alexander
4955de8104
Merge branch '3.3.x' 2023-10-31 22:11:09 +01:00
Marc Alexander
37039f95d2
Merge pull request #6555 from GanstaZ/ticket/17203
[ticket/17203] Add CSS ol for group desc
2023-10-31 22:10:04 +01:00
Marc Alexander
da7c0da151
Merge branch '3.3.x' 2023-10-31 22:02:32 +01:00
Marc Alexander
993e28098d
Merge pull request #6554 from GanstaZ/ticket/17202
[ticket/17202] Include bidi.css to print only in RTL languages
2023-10-31 22:02:30 +01:00
Marc Alexander
9ec60b4523
Merge pull request #6534 from Crizz0/ticket/17191
[ticket/17191] New config values to language/en/composer.json
2023-10-31 20:27:12 +01:00
Marc Alexander
9a1a613c0c
Merge branch '3.3.x' 2023-10-31 20:24:59 +01:00
Marc Alexander
25c20cbcf3
Merge pull request #6553 from marc1706/ticket/17201
[ticket/17201] Do not run dirname() on dir path during install redirect
2023-10-31 20:21:31 +01:00
Marc Alexander
2e6d825046
Merge branch '3.3.x' 2023-10-30 21:43:05 +01:00
Marc Alexander
88bbd0fca6
Merge pull request #6556 from GanstaZ/ticket/17200
[ticket/17200] Fix color parse error in viewonline legend
2023-10-30 21:40:33 +01:00
Marc Alexander
d90e97342a
Merge branch '3.3.x' 2023-10-30 21:37:28 +01:00
Marc Alexander
eed57fd089
Merge pull request #6543 from Crizz0/ticket/17187
[ticket/17187] Repair mcp link to first unread post
2023-10-30 21:37:25 +01:00
Marc Alexander
58fc9e042a
[ticket/17201] Add comment on need to add dot to script_name
PHPBB3-17201
2023-10-29 16:54:07 +01:00
GanstaZ
5ab3916311
[ticket/17200] Remove not needed addition
PHPBB3-17200
2023-10-29 16:45:33 +01:00
GanstaZ
79b8f56427 [ticket/17200] Fix color error in viewonline legend
PHPBB3-17200
2023-10-25 15:56:03 +03:00
Marc Alexander
a86f64fbe9
Merge pull request #6540 from rubencm/ticket/17184
[ticket/17184] Remove subfolders option in local storage
2023-10-23 21:24:34 +02:00
Marc Alexander
593c4b875c
[ticket/17201] Split off logic into function and add tests
PHPBB3-17201
2023-10-23 21:10:53 +02:00
GanstaZ
2e93f5f3e8 [ticket/17202] Include bidi.css to print only in RTL languages
PHPBB3-17202
2023-10-23 21:47:10 +03:00
GanstaZ
959f60a591 [ticket/17203] Add CSS ol for group desc
PHPBB3-17203
2023-10-23 21:36:31 +03:00
Marc Alexander
607a2c483a
[ticket/17201] Add dot for improved dirname for URI ending in slash
PHPBB3-17201
2023-10-23 17:26:10 +02:00
Marc Alexander
70ba9dac03
[ticket/17201] Do not run dirname() on dir path during install redirect
PHPBB3-17201
2023-10-22 20:46:29 +02:00
Marc Alexander
88385d6da2
Merge branch '3.3.x' 2023-10-22 16:15:36 +02:00
Marc Alexander
7e6c5df710
Merge branch 'prep-release-3.3.11' into 3.3.x 2023-10-21 08:09:41 +02:00
Marc Alexander
90973a52b4
[prep-release-3.3.11] Update changelog for 3.3.11 2023-10-16 22:11:56 +02:00
Marc Alexander
4eef6a4de4
[3.3.x] Update version numbers to 3.3.12-dev 2023-10-15 16:56:54 +02:00
Marc Alexander
01b8d6a58e
Merge branch 'prep-release-3.3.11' into 3.3.x 2023-10-15 16:55:16 +02:00
Marc Alexander
31b3d56ac1
Merge pull request #70 from phpbb/ticket/security-132
[ticket/security-132] Limit maximum number of captcha attempts at register
2023-10-15 13:51:05 +02:00
Marc Alexander
ccf6e6c255
Merge pull request #69 from phpbb/ticket/security-279
[ticket/security/279] Escape smilies URL and prevent paths in .pak filename
2023-10-15 13:50:41 +02:00
Marc Alexander
8fe3a97a1a
[prep-release-3.3.11] Update changelog for 3.3.11 2023-10-15 12:02:16 +02:00
Marc Alexander
2c5519da39
[prep-release-3.3.11] Add migration for 3.3.11 2023-10-15 11:59:24 +02:00
Marc Alexander
0c90bf0000
[prep-release-3.3.11] Update version numbers to 3.3.11 2023-10-15 11:57:17 +02:00
Marc Alexander
edc610e81d
[prep-release-3.3.11] Update version numbers to 3.3.11 2023-10-15 11:57:16 +02:00
Marc Alexander
831942a022
Merge branch '3.3.x' 2023-10-10 21:00:47 +02:00
Marc Alexander
e071cd801a
Merge pull request #6527 from marc1706/ticket/16877
[ticket/16877] Use replacement library for oauth
2023-10-10 20:53:05 +02:00
Marc Alexander
228e2437b2
Merge branch '3.3.x' 2023-10-06 20:20:03 +02:00
Marc Alexander
ac76b80cb1
Merge pull request #6531 from toxyy/ticket/17188
[ticket/17188] Allow request variable to check multiline unicode
2023-10-06 20:20:00 +02:00
toxyy
d4e0840e6f [ticket/17188] Change regex being edited
Change the edited regex to ruben's recommendation

PHPBB3-17188
2023-10-05 16:16:30 -04:00
Marc Alexander
137422116e
[ticket/security-132] Limit maximum number of captcha attempts at register
SECURITY-132
2023-10-05 21:06:15 +02:00
Marc Alexander
3cc2e41af8
[ticket/17191] Removed unused use statements
PHPBB3-17191
2023-10-04 22:07:21 +02:00
Marc Alexander
1e3d9f99b4
Merge branch '3.3.x' 2023-10-04 21:51:48 +02:00
Marc Alexander
5f8c9962a0
Merge pull request #6521 from marc1706/ticket/13399
[ticket/13399] Add separate plural rules for characters count
2023-10-04 21:51:46 +02:00
Marc Alexander
4ed18355e9
[ticket/17191] Remove invalid/unused code from tests
PHPBB3-17191
2023-10-04 21:50:30 +02:00
Marc Alexander
dc9ef40669
[ticket/17191] Inject variables from composer.json when loading language files
PHPBB3-17191
2023-10-04 21:33:19 +02:00
Christian Schnegelberger
4baa3e778d
[ticket/17191] Repair functional tests for lang change
PHPBB3-17191
2023-10-04 20:14:41 +02:00
Christian Schnegelberger
154f0e719d
[ticket/17191] Fix code sniffer issues
PHPBB3-17191
2023-10-04 20:14:41 +02:00
Christian Schnegelberger
8abf9b66e1
[ticket/17191] Use di and avoid circular ref
PHPBB3-17191
2023-10-04 20:14:41 +02:00
Christian Schnegelberger
14b7caecd1
[ticket/17191] Make sure user_lang from DB is considered, with fallback
PHPBB3-17191
2023-10-04 20:14:40 +02:00
Christian Schnegelberger
a54f5c0ca0
[ticket/17191] Add lang helper service to feed/controller
PHPBB3-17191
2023-10-04 20:14:40 +02:00
Christian Schnegelberger
5b79ac0fc9
[ticket/17191] Remove not used use statement in language/language.php
PHPBB3-17191
2023-10-04 20:14:40 +02:00
Christian Schnegelberger
21c38e2572
[ticket/17191] Change plural-rule to integer from string
PHPBB3-17191
2023-10-04 20:14:40 +02:00
Christian Schnegelberger
706c788f28
[ticket/17191] Add L_RECAPTCHA_LANG to page_header()
PHPBB3-17191
2023-10-04 20:14:40 +02:00
Christian Schnegelberger
6d07852410
[ticket/17191] Add new direction and user_langto helper and language.php
PHPBB3-17191
2023-10-04 20:14:39 +02:00
Christian Schnegelberger
06f38a5646
[ticket/17191] Add language helper function to get composer.json content
PHPBB3-17191
2023-10-04 20:14:39 +02:00
Christian Schnegelberger
1cc6a479a1
[ticket/17191] Replace lang keys in fucntions with composer output
PHPBB3-17191
2023-10-04 20:14:39 +02:00
Christian Schnegelberger
36ea0c1f2e
[ticket/17191] Update language file helper for new composer values
PHPBB3-17191
2023-10-04 20:14:39 +02:00
Christian Schnegelberger
99fabe2eb8
[ticket/17191] new config values lang/en/composer.json fr common/recaptcha
PHPBB3-17191
2023-10-04 20:14:38 +02:00
Marc Alexander
0a8391857f
[ticket/13399] Add info about usage of CHARACTERS_XY lang string
PHPBB3-13399
2023-10-04 20:09:47 +02:00
Marc Alexander
7fcfcec600
Merge branch '3.3.x' 2023-10-04 20:03:19 +02:00
Marc Alexander
233d6a0a69
Merge pull request #6546 from Derky/ticket/17189
[Ticket/17189] Improve installer file permission checks
2023-10-04 20:03:17 +02:00
Marc Alexander
91b3627236
[ticket/17189] Check if different way of getting parent path works better
PHPBB3-17189
2023-10-02 21:45:31 +02:00
Marc Alexander
368239a0fc
Merge branch '3.3.x' 2023-10-02 21:02:08 +02:00
Marc Alexander
9dec6d3176
Merge pull request #6552 from marc1706/ticket/12904
[ticket/12904] Do not display info about required fields without any
2023-10-02 21:02:05 +02:00
Marc Alexander
6fac65d193
[ticket/12904] Do not display info about required fields without any
PHPBB3-12904
2023-10-01 21:20:00 +02:00
Marc Alexander
2ff409ae4d
Merge branch '3.3.x' 2023-10-01 14:00:51 +02:00
Marc Alexander
42bf5778d5
Merge pull request #6526 from marc1706/ticket/17029
[ticket/17029] Update post count when changing post visibility
2023-10-01 13:59:05 +02:00
Marc Alexander
4bf78d139b
[ticket/17029] Add tests for deleting of last post with different visibility
PHPBB3-17029
2023-10-01 11:12:14 +02:00
Marc Alexander
d76c571ad1
[ticket/17029] Test changing of post count on approve/delete
PHPBB3-17029
2023-10-01 10:35:57 +02:00
Marc Alexander
4046365977
[ticket/17029] Use constants instead of magic numbers in tests
PHPBB3-17029
2023-10-01 10:30:57 +02:00
Marc Alexander
4cd895e456
Merge branch '3.3.x' 2023-09-30 17:07:05 +02:00
Marc Alexander
c480dd8d2f
Merge pull request #6547 from Crizz0/ticket/17113
[ticket/17113] Write icon_id to split topic's posts
2023-09-30 17:07:03 +02:00
Derky
266376af2e
[ticket/security/279] Use utf8_basename for smilies pak file check
SECURITY-279
2023-09-30 16:22:57 +02:00
Derky
c4f42c1573
[ticket/security/279] Use rawurlencode for escaping smilie URLs
SECURITY-279
2023-09-30 16:22:57 +02:00
Derky
d8ac6f575e
[ticket/security/279] Escape smilies URL and prevent paths in .pak filename
SECURITY-279
2023-09-30 16:22:56 +02:00
Marc Alexander
752800ba19
Merge branch '3.3.x' 2023-09-30 13:44:23 +02:00
Marc Alexander
715c0ad608
Merge pull request #6545 from Crizz0/ticket/17116
[ticket/17116] Remove always TRUE if-sentence
2023-09-30 13:44:21 +02:00
Marc Alexander
745dd5f5a8
[ticket/17113] Usq sql_build_array() for cleaner code
PHPBB3-17113
2023-09-30 13:23:54 +02:00
Christian Schnegelberger
346523fad6
[ticket/17113] Write icon_id to split topic's posts
PHPBB3-17113
2023-09-30 13:23:54 +02:00
Marc Alexander
71f04e7337
Merge branch '3.3.x' 2023-09-30 13:22:46 +02:00
Marc Alexander
78aca08d39
Merge pull request #6551 from marc1706/ticket/17198
[ticket/17198] Use https instead of http as default in remote avatar
2023-09-30 13:22:21 +02:00
Marc Alexander
3dfe60b620
Merge branch '3.3.x' 2023-09-30 13:21:47 +02:00
Marc Alexander
90b1c2210e
Merge pull request #6550 from marc1706/ticket/15973
[ticket/15973] Add canonical URL for index
2023-09-30 13:21:44 +02:00
Marc Alexander
a04af20806
[ticket/17198] Use https instead of http as default in remote avatar
PHPBB3-17198
2023-09-29 21:34:27 +02:00
Marc Alexander
88dcb5d3d5
[ticket/15973] Add canonical URL for index
PHPBB3-15973
2023-09-27 21:03:01 +02:00
Marc Alexander
6e7c366189
Merge branch '3.3.x' 2023-09-27 20:08:44 +02:00
Marc Alexander
2d3781f285
Merge pull request #6548 from battye/ticket/17128
[ticket/17128] Fix outdated link to php.net date format page
2023-09-27 20:08:42 +02:00
battye
b724e82bbd [ticket/17128] Fix outdated link to date format
The information on php.net has been moved from
the date page to the DateTime page as discussed
in Zag

PHPBB3-17128
2023-09-24 19:56:30 +00:00
Marc Alexander
76748edf71
Merge branch '3.3.x' 2023-09-24 20:12:38 +02:00
Marc Alexander
3163b1726c
Merge pull request #6539 from battye/ticket/17172
[ticket/17172] Use correct lang for forum links
2023-09-24 20:09:57 +02:00
Derky
6b6c710706 [ticket/17189] Append slash after installer cache path
PHPBB3-17189
2023-09-24 13:46:39 +02:00
Derky
a78eb6fb42 [ticket/17189] Show file names that couldn't be modified by installer
PHPBB3-17189
2023-09-23 16:50:10 +02:00
Derky
3b622bc005 [ticket/17189] Check folder permissions before writing
PHPBB3-17189
2023-09-23 16:38:32 +02:00
Christian Schnegelberger
b14f37d409 [ticket/17116] Remove always TRUE if-sentence
PHPBB3-17116
2023-09-23 16:17:40 +02:00
Christian Schnegelberger
b0248d2d78 [ticket/17187] Repair mcp link to first unread post
PHPBB3-17187
2023-09-23 15:54:21 +02:00
Marc Alexander
f2e4bdc481
Merge pull request #6542 from rubencm/ticket/16923
[ticket/16923] Fix composer.json requirements
2023-09-23 15:25:47 +02:00
Ruben Calvo
e9445bfeb5
[ticket/16923] Fix composer.json dependencies
PHPBB3-16923
2023-09-23 13:35:17 +02:00
Christian Schnegelberger
042feffed8 [ticket/17093] Depends_on to v3310 and reformat switch
PHPBB3-17093
2023-09-23 12:47:03 +02:00
Christian Schnegelberger
fd21296a18 [ticket/17093] Change wording for _ACCESS_EXPLAIN
PHPBB3-17093
2023-09-23 12:47:03 +02:00
Christian Schnegelberger
104e56f56f [ticket/17093] Fix to differ between Global and local moderators
PHPBB3-17093
2023-09-23 12:47:03 +02:00
Christian Schnegelberger
e55e2f17d3 [ticket/17093] Add space to fix phing sniffer error
PHPBB3-17093
2023-09-23 12:47:03 +02:00
Christian Schnegelberger
54f9b95bea [ticket/17093] Fix wording, variable name and && => ||
PHPBB3-17093
2023-09-23 12:47:03 +02:00
Christian Schnegelberger
31d30ae01d [ticket/17093] Fixes copy & paste error in acp_board.php
PHPBB3-17093
2023-09-23 12:47:03 +02:00
Christian Schnegelberger
d86c51f9e3 [ticket/17093] Add new board settings option for disable board access
PHPBB3-17093
2023-09-23 12:47:00 +02:00
Ruben Calvo
94279d8ead
[ticket/17184] Remove subfolders option in local storage
PHPBB3-17184
2023-09-23 11:22:25 +02:00
battye
0f38ece743 [ticket/17172] Use correct lang for forum links
PHPBB3-17172
2023-09-22 17:08:02 +02:00
Marc Alexander
276d793c7b
Merge pull request #6538 from marc1706/ticket/17195
[ticket/17195] Remove travis CI files
2023-09-22 16:06:04 +02:00
Marc Alexander
eee8d80aae
Merge branch '3.3.x' 2023-09-22 15:13:58 +02:00
Marc Alexander
686f034c39
Merge pull request #6537 from Crizz0/ticket/17194-master
[ticket/17194] Move php in vagrant from folders to sites - master edi…
2023-09-22 15:12:44 +02:00
Marc Alexander
e80cf43adc
Merge pull request #6536 from Crizz0/ticket/17194
[ticket/17194] Move php version in vagrant from folders to sites
2023-09-22 15:11:42 +02:00
Marc Alexander
0a395ebb6d
[ticket/17195] Stop artifically slowing down functional tests
PHPBB3-17195
2023-09-22 14:29:53 +02:00
Marc Alexander
54ea9e0aef
[ticket/17195] Remove reference to travis
[skip ci]

PHPBB3-17195
2023-09-22 14:19:48 +02:00
Christian Schnegelberger
78dba4c4c0 [ticket/17194] Move php in vagrant from folders to sites - master edition
PHPBB3-17194
2023-09-22 14:10:06 +02:00
Marc Alexander
2803f04d35
[ticket/17195] Remove travis CI files
PHPBB3-17195
2023-09-22 14:08:36 +02:00
Christian Schnegelberger
aba7f4a9e6 [ticket/17194] Move php version in vagrant from folders to sites
PHPBB3-17194
2023-09-22 13:17:22 +02:00
toxyy
d59a4d4aad
[ticket/17188] Add unit tests
Adds rxu's unit tests, with rubencm's fix

PHPBB3-17188
2023-09-16 12:55:23 +02:00
toxyy
8360752b2a
[ticket/17188] Allow request variable to check multiline unicode
Change set_var to check for multiline strings if multibyte

PHPBB3-17188
2023-09-16 12:55:23 +02:00
Marc Alexander
4513d1c0af
[ticket/16877] Bump minimum PHP version to 7.2.0
PHPBB3-16877
2023-08-15 20:28:41 +02:00
Marc Alexander
74fe9f40b7
[ticket/16877] Use replacement library for oauth
PHPBB3-16877
2023-08-15 19:56:36 +02:00
Marc Alexander
10330e5867
[ticket/17029] Fall back to redirecting to topic when post id is invalid
PHPBB3-17029
2023-08-15 11:07:40 +02:00
Marc Alexander
2563561663
[ticket/17029] Treat deleting post as last post when id is bigger
PHPBB3-17029
2023-08-15 11:07:10 +02:00
Marc Alexander
facd14b47e
[ticket/17029] Update post count when changing post visibility
PHPBB3-17029
2023-08-15 11:06:47 +02:00
Marc Alexander
9515abdb91
[ticket/13399] Add separate plural rules for characters count
PHPBB3-13399
2023-07-31 21:14:05 +02:00
rxu
7ba5f8f22a
[ticket/16470] Revert session_time sync back
This reverts changes made by last 2 commits as they seem to break things.

PHPBB3-16470
2023-06-26 10:05:47 +07:00
rxu
f99d1a7a51
[ticket/16470] Remove tests for user_lastvisit vs session_time sync
PHPBB3-16470
PHPBB3-14173
2023-06-22 14:33:27 +07:00
rxu
33dfaa478c
[ticket/16470] Further do not rely on session_time displaying user activity
session_time has not been updated during session_length, so relying on it last
activity data will be incorrect, especially if session_length value is high.
Thus rely on regular and properly updated user_lastvisit.
Remove user_lastvisit vs with session_time sync for the same reason.
Also get rid of the session_last_visit field as it floats between
user_lastvisit and session_time and actually is meaningless.

PHPBB3-16470
PHPBB3-14173
2023-06-22 13:09:51 +07:00
rxu
735b826063
[ticket/16470] Do not sync user last visit time with expired sessions time
PHPBB3-16470
PHPBB3-14173
2023-06-21 00:02:29 +07:00
rxu
bbe2b21310
[ticket/16470] Correctly handle user last visit update on session create
PHPBB3-16470
PHPBB3-14173
2023-06-18 23:56:44 +07:00
rxu
9e55d3cb44
[ticket/16470] Adjust user last visit time update logic
Previous logic doesn't work correctly as session_time value got updated
in regular manner, so that its 60 seconds lag with time_now
can be unreachable in some cases. So update user_lastvisit if it lags
for 60 sec of session_time.

PHPBB3-16470
PHPBB3-14173
2023-06-17 00:50:22 +07:00
rxu
a14e8f8ce5
[ticket/16470] Adjust method result type
PHPBB3-16470
PHPBB3-14173
2023-06-15 23:21:34 +07:00
rxu
aefdd86020
[ticket/16470] Add migration to update existing data
PHPBB3-16470
PHPBB3-14173
2023-06-12 01:37:34 +07:00
rxu
aafb522538
[ticket/16470] Update user last visit time on session begin
Update user last visit time on session begin same way as on session create.

PHPBB3-16470
PHPBB3-14173
2023-06-11 15:51:41 +07:00
453 changed files with 14214 additions and 18252 deletions

View file

@ -30,7 +30,7 @@ installer:
server:
cookie_secure: false
server_protocol: http://
force_server_vars: false
force_server_vars: true
server_name: localhost
server_port: 80
script_path: /

View file

@ -34,6 +34,14 @@ sudo ln -s /workspaces/phpbb/phpBB /var/www/html
echo "[Codespaces] Copy phpBB configuration"
cp /workspaces/phpbb/.devcontainer/resources/phpbb-config.yml /workspaces/phpbb/phpBB/install/install-config.yml
# Force the server URL to reflect the Codespace
# https://docs.github.com/en/codespaces/developing-in-a-codespace/default-environment-variables-for-your-codespace
if [ "$CODESPACES" = true ] ; then
echo "[Codespaces] Set the phpBB server name using default environment variables"
codespaces_url="${CODESPACE_NAME}-80.${GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN}"
sed -i "s/localhost/$codespaces_url/g" /workspaces/phpbb/phpBB/install/install-config.yml
fi
# Install phpBB
echo "[Codespaces] Run phpBB CLI installation"
cd /workspaces/phpbb/phpBB && composer install --no-interaction

1
.github/check-js.sh vendored
View file

@ -15,4 +15,5 @@ sudo npm install -g > /dev/null
npm ci > /dev/null
set -x
node_modules/eslint/bin/eslint.js "phpBB/**/*.js"
node_modules/eslint/bin/eslint.js "phpBB/**/*.js.twig"
node_modules/eslint/bin/eslint.js "gulpfile.js"

View file

@ -29,7 +29,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 100
@ -48,7 +48,7 @@ jobs:
cd ..
- name: Cache Composer dependencies
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: composer-${{ matrix.php }}-${{ hashFiles('phpBB/composer.lock') }}
@ -166,7 +166,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- id: database-type
env:
@ -192,7 +192,7 @@ jobs:
cd ..
- name: Cache Composer dependencies
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: composer-${{ matrix.php }}-${{ hashFiles('phpBB/composer.lock') }}
@ -217,6 +217,13 @@ jobs:
run: |
.github/setup-ldap.sh
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Setup node dependencies
run: npm ci
- name: Setup SPHINX
run: |
.github/setup-sphinx.sh
@ -296,7 +303,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- id: database-type
env:
@ -322,7 +329,7 @@ jobs:
cd ..
- name: Cache Composer dependencies
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: composer-${{ matrix.php }}-${{ hashFiles('phpBB/composer.lock') }}
@ -342,6 +349,13 @@ jobs:
run: |
.github/setup-database.sh $DB $MYISAM
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Setup node dependencies
run: npm ci
- name: Run unit tests
env:
DB: ${{steps.database-type.outputs.db}}
@ -396,7 +410,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- id: database-type
env:
@ -427,7 +441,7 @@ jobs:
cd ..
- name: Cache Composer dependencies
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: composer-${{ matrix.php }}-${{ hashFiles('phpBB/composer.lock') }}
@ -447,6 +461,13 @@ jobs:
run: |
.github/setup-database.sh $DB $MYISAM
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Setup node dependencies
run: npm ci
- name: Run unit tests
env:
DB: ${{steps.database-type.outputs.db}}
@ -470,7 +491,7 @@ jobs:
git config --system core.autocrlf false
git config --system core.eol lf
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
@ -488,7 +509,7 @@ jobs:
cd ..
- name: Cache Composer dependencies
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: composer-${{ matrix.php }}-${{ hashFiles('phpBB/composer.lock') }}
@ -555,6 +576,14 @@ jobs:
psql -c 'create database phpbb_tests;' -U postgres
Set-MpPreference -ExclusionPath "${env:PGDATA}" # Exclude PGDATA directory from Windows Defender
Set-MpPreference -DisableRealtimeMonitoring $true
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Setup node dependencies
run: npm ci
- name: Run unit tests
if: ${{ matrix.type == 'unit' }}
run: |

View file

@ -3,8 +3,8 @@
<project name="phpBB" description="The phpBB forum software" default="all" basedir="../">
<!-- a few settings for the build -->
<property name="newversion" value="4.0.0-a1-dev" />
<property name="prevversion" value="3.3.10" />
<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, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6, 3.2.7, 3.2.8, 3.2.9, 3.2.10, 3.2.11, 3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.3.5, 3.3.6, 3.3.7, 3.3.8, 3.3.9" />
<property name="prevversion" value="3.3.12-RC1" />
<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, 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6, 3.2.7, 3.2.8, 3.2.9, 3.2.10, 3.2.11, 3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.3.5, 3.3.6, 3.3.7, 3.3.8, 3.3.9, 3.3.10, 3.3.11" />
<!-- no configuration should be needed beyond this point -->
<property name="oldversions" value="${olderversions}, ${prevversion}" />

Binary file not shown.

Binary file not shown.

View file

@ -34,6 +34,12 @@ then
ticket_id=$(sed -E 's/(ticket\/)(security\/)?([0-9]+)(.+$)?/\3/gm;t;d' <<< "$branch");
branch_title=$(sed -E 's/(ticket\/)(security\/)?([0-9]+)(.+$)?/\1\2\3/gm;t;d' <<< "$branch");
# Fall back to branch name if no ticket ID
if [ -z "$branch_title" ];
then
branch_title="$branch";
fi
if [ "security/" = "$(sed -E 's/(ticket\/)(security\/)?([0-9]+)(.+$)?/\2/gm;t;d' <<< "$branch")" ];
then
tail="$(printf '\n\nSECURITY-%s' "$ticket_id")";

View file

@ -2,8 +2,7 @@
const gulp = require('gulp');
const rename = require('gulp-rename');
const sourcemaps = require('gulp-sourcemaps');
const concat = require('gulp-concat-css');
const concat = require('gulp-concat');
const postcss = require('gulp-postcss');
const autoprefixer = require('autoprefixer');
const cssnano = require('cssnano');
@ -19,16 +18,14 @@ const paths = {
};
function styles() {
return gulp.src(paths.styles.src)
.pipe(sourcemaps.init())
return gulp.src(paths.styles.src, { sourcemaps: true })
.pipe(
postcss([
autoprefixer(),
sorting(sortOrder),
]),
)
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest(paths.styles.css));
.pipe(gulp.dest(paths.styles.css, { sourcemaps: './' }));
}
function minify() {
@ -47,8 +44,7 @@ function minify() {
paths.styles.css + 'colours.css',
paths.styles.css + 'responsive.css',
paths.styles.css + 'bidi.css',
])
.pipe(sourcemaps.init())
], { sourcemaps: true })
.pipe(concat('stylesheet.css'))
.pipe(
postcss([
@ -59,8 +55,7 @@ function minify() {
suffix: '.min',
extname: '.css',
}))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest(paths.styles.css));
.pipe(gulp.dest(paths.styles.css, { sourcemaps: './' }));
}
function watch() {

9808
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -56,11 +56,7 @@
"always"
],
"no-lonely-if": "off",
"unicorn/prefer-module": "off",
"space-before-function-paren": [
"error",
"never"
]
"unicorn/prefer-module": "off"
},
"env": {
"es6": true,
@ -107,14 +103,14 @@
"cssnano": "^5.1.7",
"eslint": "^8.13.0",
"eslint-config-xo": "^0.40.0",
"gulp": "^4.0.2",
"gulp-concat-css": "^3.1.0",
"gulp": "^5.0.0",
"gulp-concat": "^2.6.1",
"gulp-postcss": "^9.0.1",
"gulp-rename": "^2.0.0",
"gulp-sourcemaps": "^3.0.0",
"postcss": "^8.4.12",
"postcss": "^8.4.31",
"postcss-sorting": "^7.0.1",
"stylelint": "^14.7.0",
"stylelint-order": "^5.0.0"
"stylelint-order": "^5.0.0",
"web-push-testing": "^1.1.1"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 385 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 420 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 826 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 344 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 570 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 239 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 239 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 662 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 708 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 681 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 725 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 240 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

View file

@ -63,12 +63,13 @@ $template->set_custom_style(
],
[
$phpbb_admin_path . 'style',
$phpbb_root_path . 'styles/all/imgs/',
$phpbb_root_path . 'styles/all/template/',
],
);
$template->assign_var('T_ASSETS_PATH', $phpbb_root_path . 'assets');
$template->assign_var('T_TEMPLATE_PATH', $phpbb_admin_path . 'style');
$template->assign_var('T_ASSETS_PATH', $phpbb_path_helper->update_web_root_path($phpbb_root_path . 'assets'));
$template->assign_var('T_TEMPLATE_PATH', $phpbb_path_helper->update_web_root_path($phpbb_root_path . 'style'));
// Instantiate new module
$module = new p_master();

View file

@ -17,52 +17,52 @@
<div class="avatar-cropper-buttons" id="avatar-cropper-buttons">
<div class="button-group">
<button class="button" type="button" title="{{ lang('ZOOM_IN') }}" data-cropper-action="zoom,0.1">
<i class="icon fa-search-plus fa-fw"></i>
{{ Icon('font', 'search-plus', '', true) }}
</button>
<button class="button" type="button" title="{{ lang('ZOOM_OUT') }}" data-cropper-action="zoom,-0.1">
<i class="icon fa-search-minus fa-fw"></i>
{{ Icon('font', 'search-minus', '', true) }}
</button>
</div>
<div class="button-group">
<button class="button" type="button" title="{{ lang('MOVE_LEFT') }}" data-cropper-action="move,-10,0">
<i class="icon fa-arrow-left fa-fw"></i>
{{ Icon('font', 'arrow-left', '', true) }}
</button>
<button class="button" type="button" title="{{ lang('MOVE_RIGHT') }}" data-cropper-action="move,10,0">
<i class="icon fa-arrow-right fa-fw"></i>
{{ Icon('font', 'arrow-right', '', true) }}
</button>
<button class="button" type="button" title="{{ lang('MOVE_UP') }}" data-cropper-action="move,0,-10">
<i class="icon fa-arrow-up fa-fw"></i>
{{ Icon('font', 'arrow-up', '', true) }}
</button>
<button class="button" type="button" title="{{ lang('MOVE_DOWN') }}" data-cropper-action="move,0,10">
<i class="icon fa-arrow-down fa-fw"></i>
{{ Icon('font', 'arrow-down', '', true) }}
</button>
</div>
<div class="button-group">
<button class="button" type="button" title="{{ lang('ROTATE_LEFT') }}" data-cropper-action="rotate,-90">
<i class="icon fa-rotate-left fa-fw"></i>
{{ Icon('font', 'rotate-left', '', true) }}
</button>
<button class="button" type="button" title="{{ lang('ROTATE_RIGHT') }}" data-cropper-action="rotate,90">
<i class="icon fa-rotate-right fa-fw"></i>
{{ Icon('font', 'rotate-right', '', true) }}
</button>
</div>
<div class="button-group">
<button class="button" type="button" title="{{ lang('FLIP_HORIZONTALLY') }}" data-cropper-action="scaleX">
<i class="icon fa-arrows-h fa-fw"></i>
{{ Icon('font', 'arrows-left-right', '', true) }}
</button>
<button class="button" type="button" title="{{ lang('FLIP_VERTICALLY') }}" data-cropper-action="scaleY">
<i class="icon fa-arrows-v fa-fw"></i>
{{ Icon('font', 'arrows-up-down', '', true) }}
</button>
</div>
<div class="button-group">
<button class="button" type="button" title="{{ lang('RESET') }}" data-cropper-action="reset">
<i class="icon fa-refresh fa-fw"></i>
{{ Icon('font', 'arrows-rotate', '', true) }}
</button>
<button class="button" type="button" title="{{ lang('CLEAR') }}" data-cropper-action="clear">
<i class="icon fa-times fa-fw"></i>
{{ Icon('font', 'xmark', '', true) }}
</button>
</div>
</div>

View file

@ -11,11 +11,11 @@
<script>
// <![CDATA[
var ban_length = new Array();
ban_length[-1] = '';
var ban_reason = new Array();
const ban_length = [];
ban_length[-1] = '';
const ban_reason = [];
ban_reason[-1] = '';
var ban_give_reason = new Array();
const ban_give_reason = [];
ban_give_reason[-1] = '';
<!-- BEGIN bans -->
@ -43,6 +43,19 @@
}
}
document.addEventListener("DOMContentLoaded", () => {
const $unbanSelect = document.getElementById('unban');
if ($unbanSelect) {
$unbanSelect.addEventListener('change', function () {
if (this.selectedIndex > -1) {
display_details(this.options[this.selectedIndex].value);
} else {
display_details(-1);
}
});
}
});
// ]]>
</script>
@ -60,11 +73,6 @@
<dd><label for="banlength"><select name="banlength" id="banlength" onchange="if(this.value==-1){document.getElementById('banlengthother').style.display = 'block';}else{document.getElementById('banlengthother').style.display='none';}">{S_BAN_END_OPTIONS}</select></label></dd>
<dd id="banlengthother" style="display: none;"><label><input type="text" name="banlengthother" class="inputbox" /><br /><span>{L_YEAR_MONTH_DAY}</span></label></dd>
</dl>
<dl>
<dt><label for="banexclude">{L_BAN_EXCLUDE}{L_COLON}</label><br /><span>{L_BAN_EXCLUDE_EXPLAIN}</span></dt>
<dd><label><input type="radio" name="banexclude" value="1" class="radio" /> {L_YES}</label>
<label><input type="radio" name="banexclude" id="banexclude" value="0" checked="checked" class="radio" /> {L_NO}</label></dd>
</dl>
<dl>
<dt><label for="banreason">{L_BAN_REASON}{L_COLON}</label></dt>
<dd><input name="banreason" type="text" class="text medium" maxlength="255" id="banreason" /></dd>
@ -90,44 +98,41 @@
<p>{L_UNBAN_EXPLAIN}</p>
<form id="acp_unban" method="post" action="{U_ACTION}">
<form id="acp_unban" method="post" action="{{ U_ACTION }}">
<fieldset>
<legend>{L_UNBAN_TITLE}</legend>
<legend>{{ lang('UNBAN_TITLE') }}</legend>
<!-- IF S_BANNED_OPTIONS -->
{% if BANNED_SELECT %}
<dl>
<dt><label for="unban">{L_BAN_CELL}{L_COLON}</label></dt>
<dd><select id="unban" name="unban[]" multiple="multiple" size="10" style="width: 50%" onchange="if (this.selectedIndex > -1) display_details(this.options[this.selectedIndex].value); else display_details(-1);">{BANNED_OPTIONS}</select></dd>
<dt><label for="unban">{{ lang('BAN_CELL') ~ lang('COLON') }}</label></dt>
<dd>
{{ FormsSelect(BANNED_SELECT) }}
</dd>
</dl>
<dl>
<dt><label for="unbanlength">{L_BAN_LENGTH}{L_COLON}</label></dt>
<dt><label for="unbanlength">{{ lang('BAN_LENGTH') ~ lang('COLON') }}</label></dt>
<dd><input style="border: 0;" type="text" class="text full" readonly="readonly" name="unbanlength" id="unbanlength" /></dd>
</dl>
<dl>
<dt><label for="unbanreason">{L_BAN_REASON}{L_COLON}</label></dt>
<dt><label for="unbanreason">{{ lang('BAN_REASON') ~ lang('COLON') }}</label></dt>
<dd><textarea style="border: 0;" class="text full" readonly="readonly" name="unbanreason" id="unbanreason" rows="5" cols="80">&nbsp;</textarea></dd>
</dl>
<dl>
<dt><label for="unbangivereason">{L_BAN_GIVE_REASON}{L_COLON}</label></dt>
<dt><label for="unbangivereason">{{ lang('BAN_GIVE_REASON') ~ lang('COLON') }}</label></dt>
<dd><textarea style="border: 0;" class="text full" readonly="readonly" name="unbangivereason" id="unbangivereason" rows="5" cols="80">&nbsp;</textarea></dd>
</dl>
<p class="submit-buttons">
<input class="button1" type="submit" id="unbansubmit" name="unbansubmit" value="{L_SUBMIT}" />&nbsp;
<input class="button2" type="reset" id="unbanreset" name="unbanreset" value="{L_RESET}" />
<input class="button1" type="submit" id="unbansubmit" name="unbansubmit" value="{{ lang('SUBMIT') }}" />&nbsp;
<input class="button2" type="reset" id="unbanreset" name="unbanreset" value="{{ lang('RESET') }}" />
</p>
{S_FORM_TOKEN}
</fieldset>
<!-- ELSE -->
<p>{L_NO_BAN_CELL}</p>
{S_FORM_TOKEN}
{% else %}
<p>{{ lang('NO_BAN_CELL') }}</p>
{% endif %}
{{ S_FORM_TOKEN }}
</fieldset>
<!-- ENDIF -->
</form>
<!-- INCLUDE overall_footer.html -->

View file

@ -52,7 +52,7 @@
<td style="text-align: center;">
<!-- IF enabled.S_VERSIONCHECK -->
<strong class="<!-- IF enabled.S_UP_TO_DATE -->current-ext<!-- ELSE -->outdated-ext<!-- ENDIF -->">{enabled.META_VERSION}</strong>
<!-- IF not enabled.S_UP_TO_DATE --><i class="fa fa-exclamation-circle outdated-ext" aria-hidden="true"></i><!-- ENDIF -->
<!-- IF not enabled.S_UP_TO_DATE -->{{ Icon('font', 'circle-exclamation', '', true, 'fas outdated-ext') }}<!-- ENDIF -->
<!-- ELSE -->
{enabled.META_VERSION}
<!-- ENDIF -->
@ -78,7 +78,7 @@
<td style="text-align: center;">
<!-- IF disabled.S_VERSIONCHECK -->
<strong class="<!-- IF disabled.S_UP_TO_DATE -->current-ext<!-- ELSE -->outdated-ext<!-- ENDIF -->">{disabled.META_VERSION}</strong>
<!-- IF not disabled.S_UP_TO_DATE --><i class="fa fa-exclamation-circle outdated-ext" aria-hidden="true"></i><!-- ENDIF -->
<!-- IF not disabled.S_UP_TO_DATE -->{{ Icon('font', 'circle-exclamation', '', true, 'fas outdated-ext') }}<!-- ENDIF -->
<!-- ELSE -->
{disabled.META_VERSION}
<!-- ENDIF -->

View file

@ -348,7 +348,7 @@
<!-- EVENT acp_forums_rules_settings_append -->
</fieldset>
</div>
<!-- EVENT acp_forums_custom_settings -->
<fieldset class="submit-buttons">
@ -472,7 +472,17 @@
<tbody>
<!-- BEGIN forums -->
<tr>
<td class="folder">{forums.FOLDER_IMAGE}</td>
<td class="folder">
<span class="fa-stack fa-2x">
{{ Icon('font', 'circle', '', true, 'fas fa-stack-2x') }}
{{ Icon('font', {
'link' : forums.S_FORUM_LINK,
'lock' : forums.S_FORUM_LOCKED,
'comments' : forums.S_SUBFORUMS,
'comment' : true,
}, '', true, 'fas fa-inverse fa-stack-1x') }}
</span>
</td>
<td class="forum-desc">
<!-- IF forums.FORUM_IMAGE --><div style="float: {S_CONTENT_FLOW_BEGIN}; margin-right: 5px;">{forums.FORUM_IMAGE}</div><!-- ENDIF -->
<strong><!-- IF forums.S_FORUM_LINK -->{forums.FORUM_NAME}<!-- ELSE --><a href="{forums.U_FORUM}">{forums.FORUM_NAME}</a><!-- ENDIF --></strong>

View file

@ -225,6 +225,7 @@
<fieldset>
<legend>{L_ADD_USERS}</legend>
{% EVENT acp_groups_add_user_options_before %}
<dl>
<dt><label for="leader">{L_USER_GROUP_LEADER}{L_COLON}</label></dt>
<dd><label><input name="leader" type="radio" class="radio" value="1" /> {L_YES}</label>
@ -235,11 +236,13 @@
<dd><label><input name="default" type="radio" class="radio" value="1" /> {L_YES}</label>
<label><input name="default" type="radio" class="radio" id="default" value="0" checked="checked" /> {L_NO}</label></dd>
</dl>
{% EVENT acp_groups_add_user_usernames_before %}
<dl>
<dt><label for="usernames">{L_USERNAME}{L_COLON}</label><br /><span>{L_USERNAMES_EXPLAIN}</span></dt>
<dd><textarea id="usernames" name="usernames" cols="40" rows="5"></textarea></dd>
<dd><!-- EVENT acp_groups_find_username_prepend -->[ <a href="{U_FIND_USERNAME}" onclick="find_username(this.href); return false;">{L_FIND_USERNAME}</a> ]<!-- EVENT acp_groups_find_username_append --></dd>
</dl>
{% EVENT acp_groups_add_user_options_after %}
<p class="quick">
<input class="button2" type="submit" name="addusers" value="{L_SUBMIT}" />

View file

@ -8,11 +8,11 @@
<div class="send-stats-row">
<!-- EVENT acp_help_phpbb_stats_before -->
<div class="send-stats-tile">
<h2><i class="icon fa-bar-chart"></i>{L_SEND_STATISTICS}</h2>
<h2>{{ Icon('font', 'chart-column', lang('SEND_STATISTICS')) }}</h2>
<p>{L_EXPLAIN_SEND_STATISTICS}</p>
<div class="send-stats-row">
<div class="send-stats-data-row send-stats-data-only-row">
<a id="trigger-configlist" data-ajax="toggle_link" data-overlay="false" data-toggle-text="{L_HIDE_STATISTICS}"><span>{L_SHOW_STATISTICS}</span><i class="icon fa-angle-down"></i></a>
<a id="trigger-configlist" data-ajax="toggle_link" data-overlay="false" data-toggle-text="{L_HIDE_STATISTICS}"><span>{L_SHOW_STATISTICS}</span>{{ Icon('font', 'angle-down', '', true) }}</a>
</div>
<div class="send-stats-data-row">
<div class="configlist" id="configlist">

View file

@ -14,27 +14,40 @@
<p>{L_ADMIN_INTRO}</p>
<!-- IF S_UPDATE_INCOMPLETE -->
{% if S_UPDATE_INCOMPLETE %}
<div class="errorbox">
<p>{L_UPDATE_INCOMPLETE} <a href="{U_VERSIONCHECK}">{L_MORE_INFORMATION}</a></p>
<p>{{ lang('UPDATE_INCOMPLETE') }} <a href="{{ U_VERSIONCHECK }}">{{ lang('MORE_INFORMATION') }}</a></p>
</div>
<!-- ELSEIF S_VERSIONCHECK_FAIL -->
{% elseif S_VERSIONCHECK_FAIL %}
<div class="errorbox notice">
<p>{L_VERSIONCHECK_FAIL}</p>
<p>{VERSIONCHECK_FAIL_REASON}</p>
<p><a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a> &middot; <a href="{U_VERSIONCHECK}">{L_MORE_INFORMATION}</a></p>
<p>{{ lang('VERSIONCHECK_FAIL') }}</p>
<p>{{ VERSIONCHECK_FAIL_REASON }}</p>
<p><a href="{{ U_VERSIONCHECK_FORCE }}">{{ lang('VERSIONCHECK_FORCE_UPDATE') }}</a> &middot; <a href="{{ U_VERSIONCHECK }}">{{ lang('MORE_INFORMATION') }}</a></p>
</div>
<!-- ELSEIF not S_VERSION_UP_TO_DATE -->
{% elseif not S_VERSION_UP_TO_DATE %}
<div class="errorbox">
<p>{L_VERSION_NOT_UP_TO_DATE_TITLE}</p>
<p><a href="{U_VERSIONCHECK_FORCE}">{L_VERSIONCHECK_FORCE_UPDATE}</a> &middot; <a href="{U_VERSIONCHECK}">{L_MORE_INFORMATION}</a></p>
<p>{{ lang('VERSION_NOT_UP_TO_DATE_TITLE') }}</p>
<p><a href="{{ U_VERSIONCHECK_FORCE }}">{{ lang('VERSIONCHECK_FORCE_UPDATE') }}</a> &middot; <a href="{{ U_VERSIONCHECK }}">{{ lang('MORE_INFORMATION') }}</a></p>
</div>
<!-- ENDIF -->
<!-- IF S_VERSION_UPGRADEABLE -->
{% elseif S_VERSION_UP_TO_DATE && S_VERSIONCHECK_FORCE %}
<div class="successbox">
<p>{{ lang('VERSION_UP_TO_DATE_ACP') }}</p>
</div>
{% endif %}
{% if S_VERSION_UPGRADEABLE %}
<div class="errorbox notice">
<p>{UPGRADE_INSTRUCTIONS}</p>
<p>{{ UPGRADE_INSTRUCTIONS }}</p>
</div>
<!-- ENDIF -->
{% endif %}
{% if S_CAPTCHA_UNSAFE %}
<div class="errorbox">
<p>{{ lang('CAPTCHA_UNSAFE_WARNING') }}</p>
</div>
{% elseif S_CAPTCHA_INCOMPLETE %}
<div class="errorbox">
<p>{{ lang('CAPTCHA_INCOMPLETE_WARNING') }}</p>
</div>
{% endif %}
<!-- IF S_SEARCH_INDEX_MISSING -->
<div class="errorbox">

View file

@ -132,7 +132,16 @@
<tbody>
<!-- BEGIN modules -->
<tr>
<td style="width: 5%; text-align: center;">{modules.MODULE_IMAGE}</td>
<td style="width: 5%; text-align: center;">
<span class="fa-stack fa-2x">
{{ Icon('font', 'circle', '', true, 'fas fa-stack-2x') }}
{{ Icon('font', {
'lock' : not modules.MODULE_ENABLED,
'folder-tree' : modules.S_SUB_MODULE,
'folder' : true,
}, '', true, 'fas fa-inverse fa-stack-1x') }}
</span>
</td>
<td><a href="{modules.U_MODULE}">{modules.MODULE_TITLE}</a><!-- IF not modules.MODULE_DISPLAYED --> <span class="small">[{L_HIDDEN_MODULE}]</span><!-- ENDIF --></td>
<td style="width: 15%; white-space: nowrap; text-align: center; vertical-align: middle;">&nbsp;<!-- IF modules.MODULE_ENABLED --><a href="{modules.U_DISABLE}">{L_DISABLE}</a><!-- ELSE --><a href="{modules.U_ENABLE}">{L_ENABLE}</a><!-- ENDIF -->&nbsp;</td>
<td class="actions">

View file

@ -288,6 +288,10 @@ li {
padding-right: 10px;
}
.w-50 {
width: 50%;
}
@media only screen and (max-width: 700px), only screen and (max-device-width: 700px) {
#wrap,
#page-body,
@ -330,7 +334,8 @@ li {
}
#content {
background: #f3f3f3 url("../images/innerbox_bg.gif") repeat-x top;
background: #f3f3f3;
background: linear-gradient(to bottom, #dbdee2 0%, #e0e2e5 27%, #ecedee 65%, #f3f3f3 100%);
padding: 5px;
}
@ -497,7 +502,8 @@ li {
/* Main Panel
---------------------------------------- */
#acp {
background: #f3f3f3 url("../images/innerbox_bg.gif") repeat-x top;
background: #f3f3f3;
background: linear-gradient(to bottom, #dbdee2 0%, #e0e2e5 27%, #ecedee 65%, #f3f3f3 100%);
border: 1px #999999 solid;
border-radius: 5px;
box-shadow: #ffffff 0 0 0 1px inset;
@ -513,7 +519,8 @@ li {
}
.panel {
background: #f3f3f3 url("../images/innerbox_bg.gif") repeat-x top;
background: #f3f3f3;
background: linear-gradient(to bottom, #dbdee2 0%, #e0e2e5 27%, #ecedee 65%, #f3f3f3 100%);
border-radius: 5px;
overflow: hidden;
padding: 5px 0;
@ -600,25 +607,47 @@ li {
#menu li#activemenu a span {
font-weight: bold;
text-decoration: none;
background: transparent url("../images/arrow_right.gif") 0% 50% no-repeat;
color: #1180b7;
}
.rtl #menu li#activemenu a span {
background: transparent url("../images/arrow_left.gif") 100% 50% no-repeat;
}
#menu li#activemenu a:hover span,
#menu li#activemenu span {
font-weight: bold;
text-decoration: none;
background: #ffffff url("../images/arrow_right.gif") 1% 50% no-repeat;
color: #bc2a4d;
}
.rtl #menu li#activemenu a:hover span,
.rtl #menu li#activemenu span {
background: #ffffff url("../images/arrow_left.gif") 99% 50% no-repeat;
#menu li#activemenu a span:before,
#menu li#activemenu a:hover span:before,
#menu li#activemenu span:before {
font-family: "Font Awesome 6 Free";
color: #515f77;
margin-right: 3px;
margin-left: -10px;
content: "\f105";
}
#menu li#activemenu a:hover span:before,
#menu li#activemenu span:before {
margin-right: 1px;
margin-left: -8px;
}
.rtl #menu li#activemenu a span:before,
.rtl #menu li#activemenu a:hover span:before,
.rtl #menu li#activemenu span:before {
font-family: "Font Awesome 6 Free";
color: #515f77;
margin-right: -10px;
margin-left: 3px;
content: "\f104";
}
.rtl #menu li#activemenu a:hover span:before,
.rtl #menu li#activemenu span:before {
margin-right: -8px;
margin-left: 1px;
}
#menu li a:active,
@ -629,16 +658,30 @@ li {
#menu li span.completed {
text-decoration: none;
background: url("../images/arrow_down.gif") 1% 50% no-repeat;
padding: 3px 3px 3px 12px;
}
#menu li span.completed:before {
font-family: "Font Awesome 6 Free";
color: #515f77;
margin-right: 1px;
margin-left: -8px;
content: "\f107";
}
.rtl #menu li span.completed {
text-decoration: none;
background: url("../images/arrow_down.gif") 99% 50% no-repeat;
padding: 3px 12px 3px 3px;
}
.rtl #menu li span.completed:before {
font-family: "Font Awesome 6 Free";
color: #515f77;
margin-right: -8px;
margin-left: 1px;
content: "\f107";
}
#menu .header {
font-family: Tahoma, Helvetica, sans-serif;
font-size: 0.75em;
@ -730,7 +773,8 @@ th {
font-size: 0.75em;
text-align: left;
text-transform: uppercase;
background: #70aed3 url("../images/gradient2b.gif") bottom left repeat-x;
background: #70aed3;
background: linear-gradient(to bottom, #70aed3 0%, #5ba0c9 100%);
border-top: 1px solid #6dacd2;
border-bottom: 1px solid #327aa5;
color: #ffffff;
@ -1015,7 +1059,8 @@ table.fixed-width-table {
font-weight: bold;
text-align: left;
text-transform: uppercase;
background: #70aed3 url("../images/gradient2b.gif") bottom left repeat-x;
background: #70aed3;
background: linear-gradient(to bottom, #70aed3 0%, #5ba0c9 100%);
border-top: 1px solid #6dacd2;
border-bottom: 1px solid #327aa5;
color: #ffffff;
@ -1715,7 +1760,8 @@ a.button2,
input.button2 {
font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif;
font-size: 0.85em;
background: #efefef url("../images/bg_button.gif") repeat-x top;
background: #efefef;
background: linear-gradient(to bottom, #ffffff 0%, #d2d2d2 4%, #dfdfdf 26%, #efefef 65%, #efefef 100%);
color: #000000;
width: auto !important;
padding: 1px 3px 0;
@ -1759,7 +1805,8 @@ a.button1:hover,
input.button1:hover,
a.button2:hover,
input.button2:hover {
background: #efefef url("../images/bg_button.gif") repeat bottom;
background: #efefef;
background: linear-gradient(to bottom, #ffffff 0%, #d2d2d2 4%, #dfdfdf 26%, #efefef 65%, #efefef 100%);
border: 1px solid #bc2a4d;
color: #bc2a4d;
}
@ -1819,24 +1866,18 @@ input.button2:focus {
display: none;
width: 620px;
margin: 0 auto;
padding: 25px;
padding: 0 25px 20px;
}
.phpbb_alert .alert_close {
text-decoration: none !important;
background: transparent url("../images/alert_close.png") 0 0 no-repeat;
display: block;
font-size: 14px;
float: right;
overflow: hidden;
width: 16px;
height: 16px;
margin-top: -7px;
margin-right: -31px;
margin-top: 2px;
margin-right: -22px;
}
.phpbb_alert .alert_close:hover {
background-position: 0 -16px;
color: #bc2a4d;
}
.phpbb_alert p {
@ -2347,11 +2388,11 @@ fieldset.permissions .permissions-switch {
font-size: 0.85em;
line-height: normal;
min-width: 570px;
margin: 0 0 -1px 7px;
margin: 0 0 0 7px;
}
.rtl .permissions-category {
margin: 0 7px -1px 0;
margin: 0 7px 0 0;
}
.permissions-category ul {
@ -2372,7 +2413,9 @@ fieldset.permissions .permissions-switch {
.permissions-category a {
text-decoration: none;
background: url("../images/bg_tabs_alt1.gif") no-repeat 0% -35px;
background: #bcccd8;
border: 1px solid transparent;
border-radius: 4px 4px 0 0;
position: relative;
float: left;
margin: 0 1px 0 0;
@ -2385,7 +2428,6 @@ fieldset.permissions .permissions-switch {
.permissions-category a span.tabbg {
white-space: nowrap;
background: url("../images/bg_tabs_alt2.gif") no-repeat 100% -35px;
color: #536482;
display: block;
float: left;
@ -2396,41 +2438,34 @@ fieldset.permissions .permissions-switch {
float: right;
}
/* Commented Backslash Hack hides rule from IE5-Mac \ */
.permissions-category a span.tabbg,
.rtl .permissions-category a span.tabbg {
float: none;
}
/* End hack */
.permissions-category a:hover,
.permissions-category a:hover span.tabbg {
background-position: 100% -70px;
background: #dfedfa;
color: #dd6900;
}
.permissions-category .activetab a,
.permissions-category .activetab a:hover,
.permissions-category .activetab a span.tabbg {
background: #ccdcea;
background: linear-gradient(to bottom, #eaf2f9 0%, #ccdcea 100%);
color: #333333;
}
.permissions-category .activetab a {
background-position: 0 0;
border-color: #cadceb;
box-shadow: 0 1px 1px #f2f9ff inset;
}
.permissions-category .activetab a span.tabbg {
background-position: 100% 0;
color: #333333;
padding-bottom: 7px;
}
.permissions-category a:hover {
background-position: 0 -70px;
}
.permissions-category .activetab a:hover span.tabbg {
background-position: 100% 0;
color: #333333;
}
.permissions-category .activetab a:hover {
background-position: 0 0;
}
.permissions-category a span.colour {
border: 1px solid #536482;
display: block;
@ -2804,8 +2839,16 @@ fieldset.permissions .permissions-switch {
user-select: none;
}
.roles-options > .button:hover {
background: transparent;
}
.roles-options > .button:active {
padding: 4px;
}
.roles-options > span {
background: url("../images/arrow_down.gif") no-repeat 245px 0.7em;
background: transparent;
border: 1px solid #dedede;
border-radius: 3px;
display: none;
@ -2813,8 +2856,16 @@ fieldset.permissions .permissions-switch {
padding: 4px;
}
.rtl .roles-options > span {
background: url("../images/arrow_down.gif") no-repeat 7px 0.7em;
.roles-options > span:after {
font-family: "Font Awesome 6 Free";
float: right;
content: "\f107";
}
.rtl .roles-options > span:after {
font-family: "Font Awesome 6 Free";
float: left;
content: "\f107";
}
.roles-options li {
@ -2956,11 +3007,6 @@ fieldset.permissions .permissions-switch {
padding-right: 0.3em;
}
.icon {
font-family: FontAwesome;
font-style: normal;
}
.send-stats-data-row {
background: #f9f9f9;
border: #dedede 1px solid;
@ -3009,12 +3055,14 @@ fieldset.permissions .permissions-switch {
}
.send-stats-settings input[type="checkbox"] + label:before {
font-family: FontAwesome;
font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands";
font-size: 1.5em;
content: "\f096";
font-weight: 400;
content: "\f0c8";
}
.send-stats-settings input[type="checkbox"]:checked + label:before {
font-weight: 900;
color: #3c763d;
content: "\f14a";
}
@ -3052,6 +3100,28 @@ fieldset.permissions .permissions-switch {
overflow-x: scroll;
}
.o-icon {
vertical-align: middle !important;
}
.o-icon-font {
font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands";
font-style: normal;
font-variant: normal;
-webkit-font-smoothing: antialiased;
vertical-align: baseline;
display: inline-block;
/* stylelint-disable order/properties-order */
-moz-osx-font-smoothing: grayscale;
/* stylelint-enable order/properties-order */
text-rendering: auto; /* optimizelegibility throws things off #1094 */
}
.o-icon + span,
span + .o-icon {
padding-left: 4px;
}
.acp-icon {
font-size: 1.5em;
}

View file

@ -157,6 +157,55 @@ phpbb.addAjaxCallback('row_delete', function(res) {
}
});
/**
* This callback generates the VAPID keys for the web push notification service.
*/
phpbb.addAjaxCallback('generate_vapid_keys', () => {
/**
* Generate VAPID keypair with public and private key string
*
* @returns {Promise<{privateKey: string, publicKey: string}|null>}
*/
async function generateVAPIDKeys() {
try {
// Generate a new key pair using the Subtle Crypto API
const keyPair = await crypto.subtle.generateKey(
{
name: 'ECDH',
namedCurve: 'P-256',
},
true,
['deriveKey', 'deriveBits']
);
const privateKeyJwk = await crypto.subtle.exportKey('jwk', keyPair.privateKey);
const privateKeyString = privateKeyJwk.d;
const publicKeyBuffer = await crypto.subtle.exportKey('raw', keyPair.publicKey);
const publicKeyString = phpbb.base64UrlEncode(phpbb.rawKeyToBase64(publicKeyBuffer));
return {
privateKey: privateKeyString,
publicKey: publicKeyString
};
} catch (error) {
console.error('Error generating keys with SubtleCrypto:', error);
return null;
}
}
generateVAPIDKeys().then(keyPair => {
if (!keyPair) {
return;
}
const publicKeyInput = document.querySelector('#webpush_vapid_public');
const privateKeyInput = document.querySelector('#webpush_vapid_private');
publicKeyInput.value = keyPair.publicKey;
privateKeyInput.value = keyPair.privateKey;
})
})
/**
* Handler for submitting permissions form in chunks
* This call will submit permissions forms in chunks of 5 fieldsets.

View file

@ -1,74 +0,0 @@
<!-- INCLUDE overall_header.html -->
<a id="maincontent"></a>
<a href="{U_ACTION}" style="float: {S_CONTENT_FLOW_END};">&laquo; {L_BACK}</a>
<h1>{L_ACP_VC_SETTINGS}</h1>
<p>{L_ACP_VC_SETTINGS_EXPLAIN}</p>
<form id="acp_captcha" method="post" action="{U_ACTION}">
<fieldset>
<legend>{L_GENERAL_OPTIONS}</legend>
<dl>
<dt><label for="captcha_gd_foreground_noise">{L_CAPTCHA_GD_FOREGROUND_NOISE}{L_COLON}</label><br /><span>{L_CAPTCHA_GD_FOREGROUND_NOISE_EXPLAIN}</span></dt>
<dd><label><input id="captcha_gd_foreground_noise" name="captcha_gd_foreground_noise" value="1" class="radio" type="radio"<!-- IF CAPTCHA_GD_FOREGROUND_NOISE --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input name="captcha_gd_foreground_noise" value="0" class="radio" type="radio"<!-- IF not CAPTCHA_GD_FOREGROUND_NOISE --> checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
</dl>
<dl>
<dt><label for="captcha_gd_x_grid">{L_CAPTCHA_GD_X_GRID}{L_COLON}</label><br /><span>{L_CAPTCHA_GD_X_GRID_EXPLAIN}</span></dt>
<dd><input id="captcha_gd_x_grid" name="captcha_gd_x_grid" value="{CAPTCHA_GD_X_GRID}" type="number" /></dd>
</dl>
<dl>
<dt><label for="captcha_gd_y_grid">{L_CAPTCHA_GD_Y_GRID}{L_COLON}</label><br /><span>{L_CAPTCHA_GD_Y_GRID_EXPLAIN}</span></dt>
<dd><input id="captcha_gd_y_grid" name="captcha_gd_y_grid" value="{CAPTCHA_GD_Y_GRID}" type="number" /></dd>
</dl>
<dl>
<dt><label for="captcha_gd_wave">{L_CAPTCHA_GD_WAVE}{L_COLON}</label><br /><span>{L_CAPTCHA_GD_WAVE_EXPLAIN}</span></dt>
<dd><label><input id="captcha_gd_wave" name="captcha_gd_wave" value="1" class="radio" type="radio"<!-- IF CAPTCHA_GD_WAVE --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input name="captcha_gd_wave" value="0" class="radio" type="radio"<!-- IF not CAPTCHA_GD_WAVE --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<dl>
<dt><label for="captcha_gd_3d_noise">{L_CAPTCHA_GD_3D_NOISE}{L_COLON}</label><br /><span>{L_CAPTCHA_GD_3D_NOISE_EXPLAIN}</span></dt>
<dd><label><input id="captcha_gd_3d_noise" name="captcha_gd_3d_noise" value="1" class="radio" type="radio"<!-- IF CAPTCHA_GD_3D_NOISE --> checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input name="captcha_gd_3d_noise" value="0" class="radio" type="radio"<!-- IF not CAPTCHA_GD_3D_NOISE --> checked="checked"<!-- ENDIF --> /> {L_NO}</label>
</dd>
</dl>
<dl>
<dt><label for="captcha_gd_fonts">{L_CAPTCHA_GD_FONTS}{L_COLON}</label><br /><span>{L_CAPTCHA_GD_FONTS_EXPLAIN}</span></dt>
<dd><label><input id="captcha_gd_fonts" name="captcha_gd_fonts" value="1" class="radio" type="radio"<!-- IF CAPTCHA_GD_FONTS == 1 --> checked="checked"<!-- ENDIF --> /> {L_CAPTCHA_FONT_DEFAULT}</label>
<label><input name="captcha_gd_fonts" value="2" class="radio" type="radio"<!-- IF CAPTCHA_GD_FONTS == 2 --> checked="checked"<!-- ENDIF --> /> {L_CAPTCHA_FONT_NEW}</label>
<label><input name="captcha_gd_fonts" value="3" class="radio" type="radio"<!-- IF CAPTCHA_GD_FONTS == 3 --> checked="checked"<!-- ENDIF --> /> {L_CAPTCHA_FONT_LOWER}</label>
</dd>
</dl>
</fieldset>
<fieldset>
<legend>{L_PREVIEW}</legend>
<!-- IF CAPTCHA_PREVIEW -->
<!-- INCLUDE {CAPTCHA_PREVIEW} -->
<!-- ENDIF -->
</fieldset>
<fieldset>
<legend>{L_ACP_SUBMIT_CHANGES}</legend>
<p class="submit-buttons">
<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />&nbsp;
<input class="button2" type="submit" id="preview" name="preview" value="{L_PREVIEW}" />&nbsp;
</p>
<input type="hidden" name="select_captcha" value="{CAPTCHA_NAME}" />
<input type="hidden" name="configure" value="1" />
{S_FORM_TOKEN}
</fieldset>
</form>
<!-- INCLUDE overall_footer.html -->

View file

@ -1,4 +1,3 @@
<!-- IF S_RECAPTCHA_AVAILABLE -->
<dl>
<dd>
<noscript>
@ -7,9 +6,6 @@
{L_RECAPTCHA_INVISIBLE}
<script src="{RECAPTCHA_SERVER}.js?hl={LA_RECAPTCHA_LANG}" async defer></script>
<div class="g-recaptcha" data-sitekey="{RECAPTCHA_PUBKEY}" data-size="invisible"></div>
<div class="g-recaptcha" data-sitekey="{% if RECAPTCHA_PUBKEY %}{{ RECAPTCHA_PUBKEY }}{% else %}6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI{% endif %}" data-size="invisible"></div>
</dd>
</dl>
<!-- ELSE -->
{L_RECAPTCHA_NOT_AVAILABLE}
<!-- ENDIF -->

View file

@ -23,9 +23,10 @@ installLang = {
</script>
<script src="{T_JQUERY_LINK}"></script>
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery-3.6.0.min.js">\x3C/script>');</script><!-- ENDIF -->
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery-3.7.1.min.js">\x3C/script>');</script><!-- ENDIF -->
<script src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
<!-- INCLUDEJS admin.js -->
{$SCRIPTS}
</body>

View file

@ -7,6 +7,7 @@
<!-- IF META -->{META}<!-- ENDIF -->
<title>{PAGE_TITLE}</title>
<link href="{T_FONT_AWESOME_LINK}" rel="stylesheet">
<link href="{T_TEMPLATE_PATH}/admin.css" rel="stylesheet" type="text/css" media="screen" />
</head>

View file

@ -4,7 +4,7 @@
<p>{L_FILES_DELETED_EXPLAIN}</p>
<fieldset id="deleted">
<legend><img src="{T_IMAGE_PATH}/icon_delete.gif" alt="{L_STATUS_DELETED}" /></legend>
<legend>{{ Icon('font', 'circle-xmark', lang('STATUS_DELETED'), true, '', {'style' : 'color:red;'}) }}</legend>
<!-- BEGIN deleted -->
<dl>
<dt style="width: 100%;"><!-- IF deleted.DIR_PART -->{deleted.DIR_PART}<!-- ENDIF --><strong>{deleted.FILE_PART}</strong></dt>
@ -20,7 +20,7 @@
<p>{L_FILES_CONFLICT_EXPLAIN}</p>
<fieldset id="conflict">
<legend><img src="{T_IMAGE_PATH}/file_conflict.gif" alt="{L_STATUS_CONFLICT}" /></legend>
<legend>{{ Icon('font', 'circle-exclamation', lang('STATUS_CONFLICT'), true, '', {'style' : 'color:red;'}) }}</legend>
<!-- BEGIN conflict -->
<dl>
<dt style="width: 100%;"><!-- IF conflict.DIR_PART -->{conflict.DIR_PART}<!-- ENDIF --><strong>{conflict.FILE_PART}</strong></dt>
@ -36,7 +36,7 @@
<p>{L_FILES_MODIFIED_EXPLAIN}</p>
<fieldset id="modified">
<legend><img src="{T_IMAGE_PATH}/file_modified.gif" alt="{L_STATUS_MODIFIED}" /></legend>
<legend>{{ Icon('font', 'circle-arrow-left', lang('STATUS_MODIFIED'), true, '', {'style' : 'color:#ffd43b;'}) }}</legend>
<!-- BEGIN modified -->
<dl>
<dt style="width: 100%;"><!-- IF modified.DIR_PART -->{modified.DIR_PART}<!-- ENDIF --><strong>{modified.FILE_PART}</strong></dt>
@ -52,7 +52,7 @@
<p>{L_FILES_NEW_EXPLAIN}</p>
<fieldset id="new_files" style="display: none;">
<legend><img src="{T_IMAGE_PATH}/file_new.gif" alt="{L_STATUS_NEW}" /></legend>
<legend>{{ Icon('font', 'circle-plus', lang('STATUS_NEW'), true, '', {'style' : 'color:#ffd43b;'}) }}</legend>
<!-- BEGIN new -->
<dl>
<dt style="width: 100%;"><!-- IF new.DIR_PART -->{new.DIR_PART}<!-- ENDIF --><strong>{new.FILE_PART}</strong>
@ -69,7 +69,7 @@
<p>{L_FILES_NOT_MODIFIED_EXPLAIN}</p>
<fieldset id="not_modified" style="display: none;">
<legend><img src="{T_IMAGE_PATH}/file_not_modified.gif" alt="{L_STATUS_NOT_MODIFIED}" /></legend>
<legend>{{ Icon('font', 'lock', lang('STATUS_NOT_MODIFIED'), true, '', {'style' : 'color:#1180b7;'}) }}</legend>
<!-- BEGIN not_modified -->
<dl>
<dt style="width: 100%;"><!-- IF not_modified.DIR_PART -->{not_modified.DIR_PART}<!-- ENDIF --><strong>{not_modified.FILE_PART}</strong></dt>

View file

@ -30,21 +30,34 @@
</div>
<div id="phpbb_alert" class="phpbb_alert" data-l-err="{L_ERROR}" data-l-timeout-processing-req="{L_TIMEOUT_PROCESSING_REQ}">
<a href="#" class="alert_close"></a>
<a href="#" class="alert_close">{{ Icon('font', 'circle-xmark', '', true) }}</a>
<h3 class="alert_title">&nbsp;</h3><p class="alert_text"></p>
</div>
<div id="phpbb_confirm" class="phpbb_alert">
<a href="#" class="alert_close"></a>
<a href="#" class="alert_close">{{ Icon('font', 'circle-xmark', '', true) }}</a>
<div class="alert_text"></div>
</div>
</div>
</div>
<script src="{T_JQUERY_LINK}"></script>
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery-3.6.0.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery-3.7.1.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 -->
{% if S_ALLOW_CDN %}
<script>
(function($){
const $fa_cdn = $('head').find('link[rel="stylesheet"]').first(),
$span = $('<span class="fa" style="display:none"></span>').appendTo('body');
if ($span.css('fontFamily') !== '"Font Awesome 6 Free"') {
$fa_cdn.after('<link href="{{ T_ASSETS_PATH ~ '/css/font-awesome.min.css' }}" rel="stylesheet">');
$fa_cdn.remove();
}
$span.remove();
})(jQuery);
</script>
{% endif %}
<!-- EVENT acp_overall_footer_after -->
{$SCRIPTS}

View file

@ -27,7 +27,7 @@
<fieldset class="permissions" id="perm{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}">
<legend id="legend{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}">
<!-- IF not p_mask.S_VIEW -->
<input type="checkbox" style="display: none;" class="permissions-checkbox" name="inherit[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]" id="checkbox{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" value="1" onclick="toggle_opacity('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}')" />
<input type="checkbox" style="display: none;" class="permissions-checkbox" name="inherit[{p_mask.f_mask.UG_ID}][{p_mask.f_mask.FORUM_ID}]" id="checkbox{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}" value="1" onclick="toggle_opacity('{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}')" />
<!-- ELSE -->
<!-- ENDIF -->
<!-- IF p_mask.f_mask.PADDING --><span class="padding">{p_mask.f_mask.PADDING}{p_mask.f_mask.PADDING}</span><!-- ENDIF -->{p_mask.f_mask.NAME}
@ -73,7 +73,7 @@
<div class="permissions-category">
<ul>
<!-- ENDIF -->
<!-- IF p_mask.f_mask.category.S_YES -->
<li class="permissions-preset-yes<!-- IF p_mask.S_FIRST_ROW and p_mask.f_mask.S_FIRST_ROW and p_mask.f_mask.category.S_FIRST_ROW --> activetab<!-- ENDIF -->" id="tab{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}{p_mask.f_mask.category.S_ROW_COUNT}">
<!-- ELSEIF p_mask.f_mask.category.S_NEVER -->
@ -116,7 +116,7 @@
<tbody>
<!-- BEGIN mask -->
<!-- IF p_mask.f_mask.category.mask.S_ROW_COUNT is even --><tr class="row4"><!-- ELSE --><tr class="row3"><!-- ENDIF -->
<th class="permissions-name<!-- IF p_mask.f_mask.category.mask.S_ROW_COUNT is even --> row4<!-- ELSE --> row3<!-- ENDIF -->"><!-- IF p_mask.f_mask.category.mask.U_TRACE --><a href="{p_mask.f_mask.category.mask.U_TRACE}" class="trace" onclick="popup(this.href, 750, 515, '_trace'); return false;" title="{L_TRACE_SETTING}"><img src="images/icon_trace.gif" alt="{L_TRACE_SETTING}" /></a> <!-- ENDIF -->{p_mask.f_mask.category.mask.PERMISSION}</th>
<th class="permissions-name<!-- IF p_mask.f_mask.category.mask.S_ROW_COUNT is even --> row4<!-- ELSE --> row3<!-- ENDIF -->"><!-- IF p_mask.f_mask.category.mask.U_TRACE --><a href="{p_mask.f_mask.category.mask.U_TRACE}" class="trace" onclick="popup(this.href, 750, 515, '_trace'); return false;" title="{L_TRACE_SETTING}">{{ Icon('font', 'eye', lang('TRACE_SETTING'), true, '', {'style' : 'color:#1180b7;'}) }}</a> <!-- ENDIF -->{p_mask.f_mask.category.mask.PERMISSION}</th>
<!-- IF p_mask.S_VIEW -->
<td<!-- IF p_mask.f_mask.category.mask.S_YES --> class="yes"<!-- ENDIF -->>&nbsp;</td>
<td<!-- IF p_mask.f_mask.category.mask.S_NEVER --> class="never"<!-- ENDIF -->></td>
@ -130,7 +130,7 @@
</tbody>
</table>
</div>
<!-- IF not p_mask.S_VIEW -->
<fieldset class="quick" style="margin-{S_CONTENT_FLOW_END}{L_COLON} 11px;">
<p class="small">{L_APPLY_PERMISSIONS_EXPLAIN}</p>
@ -139,7 +139,7 @@
<p class="small"><a href="#" onclick="reset_opacity(0, '{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); return false;">{L_MARK_ALL}</a> &bull; <a href="#" onclick="reset_opacity(1, '{p_mask.S_ROW_COUNT}{p_mask.f_mask.S_ROW_COUNT}'); return false;">{L_UNMARK_ALL}</a></p>
<!-- ENDIF -->
</fieldset>
<!-- ENDIF -->
</div>

View file

@ -17,8 +17,21 @@
</div>
<script src="{T_JQUERY_LINK}"></script>
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery-3.6.0.min.js?assets_version={T_ASSETS_VERSION}">\x3C/script>');</script><!-- ENDIF -->
<!-- IF S_ALLOW_CDN --><script>window.jQuery || document.write('\x3Cscript src="{T_ASSETS_PATH}/javascript/jquery-3.7.1.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>
{% if S_ALLOW_CDN %}
<script>
(function($){
const $fa_cdn = $('head').find('link[rel="stylesheet"]').first(),
$span = $('<span class="fa" style="display:none"></span>').appendTo('body');
if ($span.css('fontFamily') !== '"Font Awesome 6 Free"') {
$fa_cdn.after('<link href="{{ T_ASSETS_PATH ~ '/css/font-awesome.min.css' }}" rel="stylesheet">');
$fa_cdn.remove();
}
$span.remove();
})(jQuery);
</script>
{% endif %}
<!-- EVENT acp_simple_footer_after -->
{$SCRIPTS}

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 434 KiB

View file

@ -1677,6 +1677,33 @@ phpbb.getFunctionByName = function (functionName) {
return context[func];
};
/**
* Convert raw key ArrayBuffer to base64 string.
*
* @param {ArrayBuffer} rawKey Raw key array buffer as exported by SubtleCrypto exportKey()
* @returns {string} Base64 encoded raw key string
*/
phpbb.rawKeyToBase64 = (rawKey) => {
const keyBuffer = new Uint8Array(rawKey);
let keyText = '';
const keyLength = keyBuffer.byteLength;
for (let i = 0; i < keyLength; i++) {
keyText += String.fromCharCode(keyBuffer[i]);
}
return window.btoa(keyText);
};
/**
* Base64URL encode base64 encoded string
*
* @param {string} base64String Base64 encoded string
* @returns {string} Base64URL encoded string
*/
phpbb.base64UrlEncode = (base64String) => {
return base64String.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
};
/**
* Register page dropdowns.
*/

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,300 @@
/* global phpbb */
'use strict';
function PhpbbWebpush() {
/** @type {string} URL to service worker */
let serviceWorkerUrl = '';
/** @type {string} URL to subscribe to push */
let subscribeUrl = '';
/** @type {string} URL to unsubscribe from push */
let unsubscribeUrl = '';
/** @type { {creationTime: number, formToken: string} } Form tokens */
this.formTokens = {
creationTime: 0,
formToken: '',
};
/** @type {{endpoint: string, expiration: string}[]} Subscriptions */
let subscriptions;
/** @type {string} Title of error message */
let ajaxErrorTitle = '';
/** @type {string} VAPID public key */
let vapidPublicKey = '';
/** @type {HTMLElement} Subscribe button */
let subscribeButton;
/** @type {HTMLElement} Unsubscribe button */
let unsubscribeButton;
/**
* Init function for phpBB Web Push
* @type {array} options
*/
this.init = function(options) {
serviceWorkerUrl = options.serviceWorkerUrl;
subscribeUrl = options.subscribeUrl;
unsubscribeUrl = options.unsubscribeUrl;
this.formTokens = options.formTokens;
subscriptions = options.subscriptions;
ajaxErrorTitle = options.ajaxErrorTitle;
vapidPublicKey = options.vapidPublicKey;
subscribeButton = document.querySelector('#subscribe_webpush');
unsubscribeButton = document.querySelector('#unsubscribe_webpush');
// Service workers are only supported in secure context
if (window.isSecureContext !== true) {
subscribeButton.disabled = true;
return;
}
if ('serviceWorker' in navigator && 'PushManager' in window) {
navigator.serviceWorker.register(serviceWorkerUrl)
.then(() => {
subscribeButton.addEventListener('click', subscribeButtonHandler);
unsubscribeButton.addEventListener('click', unsubscribeButtonHandler);
updateButtonState();
})
.catch(error => {
console.info(error);
// Service worker could not be registered
subscribeButton.disabled = true;
});
} else {
subscribeButton.disabled = true;
}
};
/**
* Update button state depending on notifications state
*
* @return void
*/
function updateButtonState() {
if (Notification.permission === 'granted') {
navigator.serviceWorker.getRegistration(serviceWorkerUrl)
.then(registration => {
if (typeof registration === 'undefined') {
return;
}
registration.pushManager.getSubscription()
.then(subscribed => {
if (isValidSubscription(subscribed)) {
setSubscriptionState(true);
}
});
});
}
}
/**
* Check whether subscription is valid
*
* @param {PushSubscription} subscription
* @returns {boolean}
*/
const isValidSubscription = subscription => {
if (!subscription) {
return false;
}
if (subscription.expirationTime && subscription.expirationTime <= Date.now()) {
return false;
}
for (const curSubscription of subscriptions) {
if (subscription.endpoint === curSubscription.endpoint) {
return true;
}
}
// Subscription is not in valid subscription list for user
return false;
};
/**
* Set subscription state for buttons
*
* @param {boolean} subscribed True if subscribed, false if not
*/
function setSubscriptionState(subscribed) {
if (subscribed) {
subscribeButton.classList.add('hidden');
unsubscribeButton.classList.remove('hidden');
} else {
subscribeButton.classList.remove('hidden');
unsubscribeButton.classList.add('hidden');
}
}
/**
* Handler for pushing subscribe button
*
* @param {Object} event Subscribe button push event
* @returns {Promise<void>}
*/
async function subscribeButtonHandler(event) {
event.preventDefault();
subscribeButton.addEventListener('click', subscribeButtonHandler);
// Prevent the user from clicking the subscribe button multiple times.
const result = await Notification.requestPermission();
if (result === 'denied') {
return;
}
const registration = await navigator.serviceWorker.getRegistration(serviceWorkerUrl);
// We might already have a subscription that is unknown to this instance of phpBB.
// Unsubscribe before trying to subscribe again.
if (typeof registration !== 'undefined') {
const subscribed = await registration.pushManager.getSubscription();
if (subscribed) {
await subscribed.unsubscribe();
}
}
const newSubscription = await registration.pushManager.subscribe({
userVisibleOnly: true,
applicationServerKey: urlB64ToUint8Array(vapidPublicKey),
});
const loadingIndicator = phpbb.loadingIndicator();
fetch(subscribeUrl, {
method: 'POST',
headers: {
'X-Requested-With': 'XMLHttpRequest',
},
body: getFormData(newSubscription),
})
.then(response => {
loadingIndicator.fadeOut(phpbb.alertTime);
return response.json();
})
.then(handleSubscribe)
.catch(error => {
loadingIndicator.fadeOut(phpbb.alertTime);
phpbb.alert(ajaxErrorTitle, error);
});
}
/**
* Handler for pushing unsubscribe button
*
* @param {Object} event Unsubscribe button push event
* @returns {Promise<void>}
*/
async function unsubscribeButtonHandler(event) {
event.preventDefault();
const registration = await navigator.serviceWorker.getRegistration(serviceWorkerUrl);
if (typeof registration === 'undefined') {
return;
}
const subscription = await registration.pushManager.getSubscription();
const loadingIndicator = phpbb.loadingIndicator();
fetch(unsubscribeUrl, {
method: 'POST',
headers: {
'X-Requested-With': 'XMLHttpRequest',
},
body: getFormData({ endpoint: subscription.endpoint }),
})
.then(() => {
loadingIndicator.fadeOut(phpbb.alertTime);
return subscription.unsubscribe();
})
.then(unsubscribed => {
if (unsubscribed) {
setSubscriptionState(false);
}
})
.catch(error => {
loadingIndicator.fadeOut(phpbb.alertTime);
phpbb.alert(ajaxErrorTitle, error);
});
}
/**
* Handle subscribe response
*
* @param {Object} response Response from subscription endpoint
*/
function handleSubscribe(response) {
if (response.success) {
setSubscriptionState(true);
if ('form_tokens' in response) {
updateFormTokens(response.form_tokens);
}
}
}
/**
* Get form data object including form tokens
*
* @param {Object} data Data to create form data from
* @returns {FormData} Form data
*/
function getFormData(data) {
const formData = new FormData();
formData.append('form_token', phpbb.webpush.formTokens.formToken);
formData.append('creation_time', phpbb.webpush.formTokens.creationTime.toString());
formData.append('data', JSON.stringify(data));
return formData;
}
/**
* Update form tokens with supplied ones
*
* @param {Object} formTokens
*/
function updateFormTokens(formTokens) {
phpbb.webpush.formTokens.creationTime = formTokens.creation_time;
phpbb.webpush.formTokens.formToken = formTokens.form_token;
}
/**
* Convert a base64 string to Uint8Array
*
* @param base64String
* @returns {Uint8Array}
*/
function urlB64ToUint8Array(base64String) {
const padding = '='.repeat((4 - (base64String.length % 4)) % 4);
const base64 = (base64String + padding).replace(/-/g, '+').replace(/_/g, '/');
const rawData = window.atob(base64);
const outputArray = new Uint8Array(rawData.length);
for (let i = 0; i < rawData.length; ++i) {
outputArray[i] = rawData.charCodeAt(i);
}
return outputArray;
}
}
function domReady(callBack) {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callBack);
} else {
callBack();
}
}
phpbb.webpush = new PhpbbWebpush();
domReady(() => {
/* global phpbbWebpushOptions */
phpbb.webpush.init(phpbbWebpushOptions);
});

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -12,7 +12,7 @@
*/
/**
* Minimum Requirement: PHP 7.1.3
* Minimum Requirement: PHP 7.2.0
*/
if (!defined('IN_PHPBB'))
@ -51,20 +51,10 @@ if (!defined('PHPBB_INSTALLED'))
$server_port = 443;
}
$script_name = (!empty($_SERVER['REQUEST_URI'])) ? $_SERVER['REQUEST_URI'] : getenv('REQUEST_URI');
if (!$script_name)
{
$script_name = (!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : getenv('PHP_SELF');
}
// $phpbb_root_path accounts for redirects from e.g. /adm
$script_path = trim(dirname($script_name)) . '/' . $phpbb_root_path . 'install/app.' . $phpEx;
// Replace any number of consecutive backslashes and/or slashes with a single slash
// (could happen on some proxy setups and/or Windows servers)
$script_path = preg_replace('#[\\\\/]{2,}#', '/', $script_path);
$script_path = phpbb_get_install_redirect($phpbb_root_path, $phpEx);
// Eliminate . and .. from the path
require($phpbb_root_path . 'phpbb/filesystem.' . $phpEx);
require($phpbb_root_path . 'phpbb/filesystem/helper.' . $phpEx);
$script_path = \phpbb\filesystem\helper::clean_path($script_path);
$url = (($secure) ? 'https://' : 'http://') . $server_name;

View file

@ -28,9 +28,10 @@
"require": {
"php": "^8.1",
"ext-json": "*",
"ext-mbstring": "*",
"ext-pdo": "*",
"ext-zlib": "*",
"bantu/ini-get-wrapper": "~1.0",
"carlos-mg89/oauth": "^0.8.15",
"chita/topological_sort": "^3.0",
"composer/composer": "^2.0",
"composer/installers": "^1.9",
@ -38,8 +39,8 @@
"doctrine/dbal": "~3.3.6",
"google/recaptcha": "~1.1",
"guzzlehttp/guzzle": "~6.3",
"lusitanian/oauth": "^0.8.1",
"marc1706/fast-image-size": "^1.1",
"minishlink/web-push": "^8.0",
"s9e/text-formatter": "^2.0",
"symfony/config": "^6.3",
"symfony/console": "^6.3",
@ -50,6 +51,7 @@
"symfony/finder": "^6.3",
"symfony/http-foundation": "^6.3",
"symfony/http-kernel": "^6.3",
"symfony/polyfill-mbstring": "^1.23",
"symfony/mime": "^6.3",
"symfony/process": "^6.3",
"symfony/proxy-manager-bridge": "^6.3",
@ -68,8 +70,11 @@
"symfony/css-selector": "^6.3",
"symfony/dom-crawler": "^6.3",
"symfony/http-client": "^6.3",
"vimeo/psalm": "^4.14",
"psalm/plugin-symfony": "^3.1"
"vimeo/psalm": "^5.18.0",
"psalm/plugin-symfony": "^v5.1.0"
},
"suggest": {
"ext-mbstring": "Better performance in search"
},
"extra": {
"branch-alias": {

3048
phpBB/composer.lock generated

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,9 @@
imports:
- { resource: services_assets.yml }
- { resource: services_attachment.yml }
- { resource: services_auth.yml }
- { resource: services_avatar.yml }
- { resource: services_ban.yml }
- { resource: services_captcha.yml }
- { resource: services_console.yml }
- { resource: services_content.yml }
@ -124,6 +126,13 @@ services:
arguments:
- '%core.root_path%'
form_helper:
class: phpbb\form\form_helper
arguments:
- '@config'
- '@request'
- '@user'
group_helper:
class: phpbb\group\helper
arguments:

View file

@ -0,0 +1,4 @@
services:
assets.bag:
class: phpbb\template\assets_bag
shared: false

View file

@ -56,11 +56,11 @@ services:
class: phpbb\avatar\driver\upload
arguments:
- '@config'
- '@controller.helper'
- '%core.root_path%'
- '%core.php_ext%'
- '@storage.avatar'
- '@path_helper'
- '@routing.helper'
- '@event_dispatcher'
- '@files.factory'
- '@php_ini'

View file

@ -0,0 +1,54 @@
services:
# ----- Ban management -----
ban.manager:
class: \phpbb\ban\manager
arguments:
- '@ban.type_collection'
- '@cache.driver'
- '@dbal.conn'
- '@language'
- '@log'
- '@user'
- '%tables.bans%'
- '%tables.users%'
# ----- Ban types -----
ban.type_collection:
class: \phpbb\di\service_collection
arguments:
- '@service_container'
tags:
- { name: service_collection, tag: ban.type }
ban.type.email:
class: \phpbb\ban\type\email
arguments:
- '@dbal.conn'
- '%tables.bans%'
- '%tables.users%'
- '%tables.sessions%'
- '%tables.sessions_keys%'
tags:
- { name: ban.type }
ban.type.ip:
class: \phpbb\ban\type\ip
arguments:
- '@dbal.conn'
- '%tables.bans%'
- '%tables.users%'
- '%tables.sessions%'
- '%tables.sessions_keys%'
tags:
- { name: ban.type }
ban.type.user:
class: \phpbb\ban\type\user
arguments:
- '@dbal.conn'
- '%tables.bans%'
- '%tables.users%'
- '%tables.sessions%'
- '%tables.sessions_keys%'
tags:
- { name: ban.type }

View file

@ -14,27 +14,16 @@ services:
tags:
- { name: service_collection, tag: captcha.plugins }
core.captcha.plugins.gd:
class: phpbb\captcha\plugins\gd
core.captcha.plugins.incomplete:
class: phpbb\captcha\plugins\incomplete
shared: false
arguments:
- '@config'
- '@template'
- '%core.root_path%'
- '%core.php_ext%'
calls:
- [set_name, [core.captcha.plugins.gd]]
tags:
- { name: captcha.plugins }
core.captcha.plugins.gd_wave:
class: phpbb\captcha\plugins\gd_wave
shared: false
calls:
- [set_name, [core.captcha.plugins.gd_wave]]
tags:
- { name: captcha.plugins }
core.captcha.plugins.nogd:
class: phpbb\captcha\plugins\nogd
shared: false
calls:
- [set_name, [core.captcha.plugins.nogd]]
- [ set_name, [ core.captcha.plugins.incomplete ] ]
tags:
- { name: captcha.plugins }

View file

@ -19,6 +19,7 @@ services:
- '@user'
- '@cache.driver'
- '@dbal.conn'
- '@dbal.tools'
- '@auth'
- '@log'
- '@config'

View file

@ -65,6 +65,13 @@ services:
- '@controller.helper'
- '@event_dispatcher'
posting.lock:
class: phpbb\lock\posting
shared: false
arguments:
- '@cache.driver'
- '@config'
viewonline_helper:
class: phpbb\viewonline_helper
arguments:

View file

@ -9,6 +9,7 @@ services:
arguments:
- '@template'
- '@language'
- '@user'
- '%debug.exceptions%'
tags:
- { name: kernel.event_subscriber }

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