Skip to content

Commit d393c67

Browse files
authored
Merge pull request #214 from iMattPro/develop
Update for version 1.6.5
2 parents ee16a49 + b6651ed commit d393c67

26 files changed

+80
-76
lines changed

CHANGELOG.md

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# QuickInstall Changelog
22

3+
## Version 1.6.5
4+
- [Feature] Added support for browser interface theme-color, currently used in Safari 15.
5+
- [Fix] Fixed an issue where refreshing the Settings, Docs or PHP info pages would result in the sidebar not correctly highlighting the current section being viewed.
6+
- [Fix] Fixed an issue to ensure new versions of QI will load the newest JS and CSS instead of older cached files.
7+
- [Change] Updated the date-time format for new boards to use phpBB's default format instead of a custom format.
8+
- [Change] Updated Bootstrap to 5.1.1 and other internal dependencies.
9+
310
## Version 1.6.4
411
- [Fix] Switched AJAX from `onload` to `loadend` to _hopefully_ prevent potential hangs when creating a board.
512
- [Change] Redesigned appearance of the navigation bar for a more streamlined look.
@@ -166,7 +173,7 @@
166173
- [Fix] Issue #38 Subsilver2 was not installed for 3.1.x boards.
167174
- [Fix] The "boards" tab was not hidden when there were errors in submitting first/only config.
168175
- [Fix] QI tried to write to the `settings` folder even if it was not writable.
169-
- [Fix] The explanation text for the Boards tab was not up to date.
176+
- [Fix] The explanation text for the Boards tab was not up-to-date.
170177
- [Fix] Issue #42 the installation note box got more or less unreadable in some screen resolutions.
171178
- [Fix] "schema.json" was removed in phpBB 3.1.3. QI used it to create the 3.1 DB. Now install of 3.1.x works again.
172179
- [Fix] Ticket #44 QI removed uppercase letters from directory names due to a missing Hyphen "-".

README.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ phpBB boards require a web server running PHP and one of the following database
4242

4343
| phpBB | PHP | MySQL | MariaDB | PostgreSQL | SQLite | MS SQL |
4444
| -------------- | ------------- |------- |-------- |----------- |--------------- |------------- |
45-
| 3.0.x | 5.4.7 - 5.6.x | 3.23+ | - | 7.x | SQLite 2 | Server 2000 |
46-
| 3.1.x | 5.4.7 - 5.6.x | 3.23+ | 5.1+ | 8.3+ | SQLite 2 or 3 | Server 2000+ |
47-
| 3.2.0 - 3.2.1 | 5.4.7 - 7.1.x | 3.23+ | 5.1+ | 8.3+ | SQLite 3.6.15+ | Server 2000+ |
48-
| 3.2.2 - 3.2.x | 5.4.7 - 7.2.x | 3.23+ | 5.1+ | 8.3+ | SQLite 3.6.15+ | Server 2000+ |
49-
| 3.3.x | 7.1.3 - 8.x | 4.1.3+ | 5.1+ | 8.3+ | SQLite 3.6.15+ | Server 2000+ |
5045
| 4.0.x (alpha) | 7.3.0 - 8.x | 4.1.3+ | 5.1+ | 8.3+ | SQLite 3.6.15+ | Server 2000+ |
46+
| 3.3.x | 7.1.3 - 8.x | 4.1.3+ | 5.1+ | 8.3+ | SQLite 3.6.15+ | Server 2000+ |
47+
| 3.2.2 - 3.2.x | 5.4.7 - 7.2.x | 3.23+ | 5.1+ | 8.3+ | SQLite 3.6.15+ | Server 2000+ |
48+
| 3.2.0 - 3.2.1 | 5.4.7 - 7.1.x | 3.23+ | 5.1+ | 8.3+ | SQLite 3.6.15+ | Server 2000+ |
49+
| 3.1.x | 5.4.7 - 5.6.x | 3.23+ | 5.1+ | 8.3+ | SQLite 2 or 3 | Server 2000+ |
50+
| 3.0.x | 5.4.7 - 5.6.x | 3.23+ | - | 7.x | SQLite 2 | Server 2000 |
5151

5252
## 🐞 Support
5353
You can receive support at the [phpBB3 QuickInstall Discussion/Support](https://www.phpbb.com/customise/db/official_tool/phpbb3_quickinstall/support) forum.

composer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "phpbb/quickinstall",
33
"description": "QuickInstall is a developer tool used to create multiple phpBB3 installations.",
44
"homepage": "https://www.phpbb.com/customise/db/official_tool/phpbb3_quickinstall",
5-
"version": "1.6.4",
5+
"version": "1.6.5",
66
"license": "GPL-2.0-only",
77
"authors": [
88
{

composer.lock

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

includes/qi_version_helper.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ public function force_stability($stability)
115115
* @param string $version2 Second version number
116116
* @param string $operator Comparison operator (optional)
117117
*
118-
* @return mixed Boolean (true, false) if comparison operator is specified.
118+
* @return bool|int Boolean (true, false) if comparison operator is specified.
119119
* Integer (-1, 0, 1) otherwise.
120120
*/
121121
public function compare($version1, $version2, $operator = null)

includes/settings.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public function validate()
131131

132132
$validation_errors = [];
133133

134-
// Lets check simple required string settings...
134+
// Let's check simple required string settings...
135135
foreach (['cache_dir', 'boards_dir', 'boards_url', 'dbms', 'dbhost', 'table_prefix', 'qi_lang', 'qi_tz', 'db_prefix', 'admin_email', 'email_domain', 'site_name', 'server_name', 'server_port', 'board_email', 'default_lang'] as $setting)
136136
{
137137
if ($this->settings[$setting] === '')
@@ -422,7 +422,7 @@ public function set_settings($data)
422422
}
423423

424424
/**
425-
* Get the boards directory path
425+
* Get the board's directory path
426426
*
427427
* @return string Board directory path from settings, otherwise QI's default
428428
*/
@@ -458,7 +458,7 @@ public function get_cache_dir()
458458
*/
459459
public function get_server_protocol()
460460
{
461-
//There is no setting for server_protocol ATM, but there might be in the future so let's keep this for now.
461+
// There is no setting for server_protocol ATM, but there might be in the future so let's keep this for now.
462462
return empty($this->settings['server_protocol']) ? 'http://' : $this->settings['server_protocol'];
463463
}
464464

includes/twig.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public function display($templateFile, $templateExt = 'twig')
8787
/**
8888
* Assign a single scalar value to a single key.
8989
*
90-
* Value can be a string, an integer or a boolean.
90+
* Value can be a string, an integer or boolean.
9191
*
9292
* @param string $varname Variable name
9393
* @param string $varval Value to assign to variable

language/en/phpbb.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282

8383
// The default dateformat which will be used on new installs in this language
8484
// Translators should change this if a the usual date format is different
85-
'default_dateformat' => 'M jS, ’y, H:i', // Mon Jan 01, 2007 1:37 pm
85+
'default_dateformat' => 'D M d, Y g:i a', // Mon Jan 01, 2007 1:37 pm
8686

8787
// From phpBB 3.1.2 language/en/common.php
8888
// Timezones can be translated. We use this for the Etc/GMT timezones here,

package-lock.json

+16-15
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "quickinstall",
3-
"version": "1.6.4",
3+
"version": "1.6.5",
44
"license": "GPL-2.0-only",
55
"dependencies": {
66
"autoprefixer": "^10.3.4",
@@ -19,7 +19,7 @@
1919
"css-compile": "sass scss/qi_bootstrap.scss scss/qi_bootstrap.css",
2020
"css-prefix": "postcss --use autoprefixer --replace scss/qi_bootstrap.css",
2121
"css-minify": "cleancss -O1 --format breakWith=lf --with-rebase --source-map --source-map-inline-sources --output scss/qi_bootstrap.min.css scss/qi_bootstrap.css",
22-
"copy": "npm-run-all copy-bs-css copy-bs-js copy-bs-icons copy-bs-dark",
22+
"copy": "npm-run-all --parallel copy-*",
2323
"copy-bs-css": "copyfiles --flat scss/qi_bootstrap.min.css scss/qi_bootstrap.min.css.map style/assets/css",
2424
"copy-bs-js": "copyfiles --flat node_modules/bootstrap/dist/js/bootstrap.min.js node_modules/bootstrap/dist/js/bootstrap.min.js.map style/assets/js",
2525
"copy-bs-icons": "copyfiles --flat node_modules/bootstrap-icons/bootstrap-icons.svg style/assets/img",

scss/qi_bootstrap.css

+6-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

scss/qi_bootstrap.css.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

scss/qi_bootstrap.min.css

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

scss/qi_bootstrap.min.css.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

style/assets/css/qi_bootstrap.min.css

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

style/assets/css/qi_bootstrap.min.css.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

style/assets/css/qi_style.css

+4-8
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,6 @@
1313
filter: brightness(0) saturate(100%) invert(46%) sepia(52%) saturate(3716%) hue-rotate(170deg) brightness(96%) contrast(101%); /* #009bdf */
1414
}
1515

16-
.navbar-light {
17-
background-color: #ffffff;
18-
}
19-
2016
.navbar-light .navbar-toggler-icon-qi-boards {
2117
background-image: url("data:image/svg+xml,<svg viewBox='0 0 16 16' fill='rgba%280, 0, 0, 0.55%29' xmlns='http://www.w3.org/2000/svg'><path d='M2.5 3.5a.5.5 0 010-1h11a.5.5 0 010 1h-11zm2-2a.5.5 0 010-1h7a.5.5 0 010 1h-7zM0 13a1.5 1.5 0 001.5 1.5h13A1.5 1.5 0 0016 13V6a1.5 1.5 0 00-1.5-1.5h-13A1.5 1.5 0 000 6v7zm1.5.5A.5.5 0 011 13V6a.5.5 0 01.5-.5h13a.5.5 0 01.5.5v7a.5.5 0 01-.5.5h-13z'/></svg>");
2218
}
@@ -84,15 +80,15 @@ svg.bi {
8480

8581
/* Dark mode adjustments */
8682
@media (prefers-color-scheme: dark) {
87-
.navbar-light {
88-
background-color: #222222;
89-
}
90-
9183
body.bg-secondary,
9284
.navbar.bg-secondary {
9385
background-color: #0d1117 !important; /* !important to override bootstrap's !important */
9486
}
9587

88+
.navbar.bg-body {
89+
background-color: #1f1f1f !important; /* !important to override bootstrap's !important */
90+
}
91+
9692
.callout-primary { border-left-color: #375a7f; }
9793
.callout-info { border-left-color: #17a2b8; }
9894
.callout-warning { border-left-color: #f39c12; }

style/assets/js/bootstrap.min.js

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

style/assets/js/bootstrap.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

style/assets/js/scripts.js

+5-6
Original file line numberDiff line numberDiff line change
@@ -84,21 +84,20 @@
8484
if ($toggleAll) {
8585
const $targetForm = $toggleAll.closest('form');
8686
const $checkboxes = $$('[data-qi-mark]', $targetForm);
87-
const checkboxCount = $checkboxes.length;
8887
$toggleAll.addEventListener('change', () => {
89-
for (let i = 0; i < checkboxCount; i++) {
90-
$checkboxes[i].checked = $toggleAll.checked;
88+
for (const box of $checkboxes) {
89+
box.checked = $toggleAll.checked;
9190
}
9291
});
93-
for (let i = 0; i < checkboxCount; i++) {
94-
$checkboxes[i].addEventListener('change', event => {
92+
for (const box of $checkboxes) {
93+
box.addEventListener('change', event => {
9594
const $check = event.target;
9695
if ($check.checked === false) {
9796
$toggleAll.checked = false;
9897
return;
9998
}
10099

101-
if ($$('[data-qi-mark]:checked', $targetForm).length === checkboxCount) {
100+
if ($$('[data-qi-mark]:checked', $targetForm).length === $checkboxes.length) {
102101
$toggleAll.checked = true;
103102
}
104103
});

style/error.twig

+6-6
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@
33
<head>
44
<meta charset="utf-8">
55
<meta name="viewport" content="width=device-width, initial-scale=1">
6-
76
<!-- The page supports both light and dark color schemes, with light being default -->
87
<meta name="color-scheme" content="light dark">
9-
8+
<!-- Defines them color of browser interface, if supported -->
9+
<meta name="theme-color" content="#29303D">
1010
<link rel="preconnect" href="https://fonts.gstatic.com">
1111
<link href="https://fonts.googleapis.com/css2?family=Open+Sans&display=auto" rel="stylesheet">
1212
<!-- Bootstrap CSS -->
13-
<link href="{{ QI_ROOT_PATH }}style/assets/css/qi_bootstrap.min.css" rel="stylesheet" media="screen">
13+
<link href="{{ QI_ROOT_PATH }}style/assets/css/qi_bootstrap.min.css?v={{ QI_VERSION }}" rel="stylesheet" media="screen">
1414
<!-- Bootstrap-Dark Variant CSS (the media attribute is for dark auto-switching) -->
15-
<link href="{{ QI_ROOT_PATH }}style/assets/css/bootstrap-nightfall.min.css" rel="stylesheet" media="(prefers-color-scheme: dark)">
16-
<link href="{{ QI_ROOT_PATH }}style/assets/css/qi_style.css" rel="stylesheet" media="screen">
15+
<link href="{{ QI_ROOT_PATH }}style/assets/css/bootstrap-nightfall.min.css?v={{ QI_VERSION }}" rel="stylesheet" media="(prefers-color-scheme: dark)">
16+
<link href="{{ QI_ROOT_PATH }}style/assets/css/qi_style.css?v={{ QI_VERSION }}" rel="stylesheet" media="screen">
1717
<title>{{ ERROR_MSG_TITLE }}</title>
1818
</head>
1919
<body class="bg-secondary">
@@ -32,7 +32,7 @@
3232
<p class="mb-0"><small>{{ lang('POWERED_BY_PHPBB') }}</small></p>
3333
</footer>
3434
</div>
35-
<script src="{{ QI_ROOT_PATH }}style/assets/js/bootstrap.min.js"></script>
35+
<script src="{{ QI_ROOT_PATH }}style/assets/js/bootstrap.min.js?v={{ QI_VERSION }}"></script>
3636
<script src="{{ QI_ROOT_PATH }}style/assets/js/scripts.js?v={{ QI_VERSION }}"></script>
3737
</body>
3838
</html>

style/navbar.twig

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<nav class="navbar navbar-light sticky-top navbar-expand-lg {% if S_SETTINGS or S_BOARDS or S_ERROR %}bg-secondary{% endif %} mb-2 border-bottom">
1+
<nav class="navbar navbar-light sticky-top navbar-expand-lg {% if S_SETTINGS or S_BOARDS or S_ERROR %}bg-secondary{% else %}bg-body{% endif %} mb-2 border-bottom">
22
<div class="container-fluid px-0">
33
<span class="navbar-brand"><span class="phpbb-logo-nb"></span><span class="fs-4 text-primary">{{ lang('QUICKINSTALL_LOGO', '<svg class="bi" width="20" height="20" fill="currentColor"><use xlink:href="' ~ QI_ROOT_PATH ~ 'style/assets/img/bootstrap-icons.svg#lightning-fill"/></svg>') }}</span></span>
44
<div>

style/overall_footer.twig

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
</div>
1010
</div>
1111

12-
<script src="{{ QI_ROOT_PATH }}style/assets/js/bootstrap.min.js"></script>
12+
<script src="{{ QI_ROOT_PATH }}style/assets/js/bootstrap.min.js?v={{ QI_VERSION }}"></script>
1313
<script src="{{ QI_ROOT_PATH }}style/assets/js/scripts.js?v={{ QI_VERSION }}"></script>
1414

1515
</body>

style/overall_header.twig

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@
33
<head>
44
<meta charset="utf-8">
55
<meta name="viewport" content="width=device-width, initial-scale=1">
6-
76
<!-- The page supports both light and dark color schemes, with light being default -->
87
<meta name="color-scheme" content="light dark">
9-
8+
<!-- Defines them color of browser interface, if supported -->
9+
<meta name="theme-color" content="#29303D">
1010
<link rel="preconnect" href="https://fonts.gstatic.com">
1111
<link href="https://fonts.googleapis.com/css2?family=Open+Sans&display=auto" rel="stylesheet">
1212
<!-- Bootstrap CSS -->
1313
<link href="{{ QI_ROOT_PATH }}style/assets/css/qi_bootstrap.min.css?v={{ QI_VERSION }}" rel="stylesheet" media="screen">
1414
<!-- Bootstrap-Dark Variant CSS (the media attribute is for dark auto-switching) -->
15-
<link href="{{ QI_ROOT_PATH }}style/assets/css/bootstrap-nightfall.min.css" rel="stylesheet" media="(prefers-color-scheme: dark)">
15+
<link href="{{ QI_ROOT_PATH }}style/assets/css/bootstrap-nightfall.min.css?v={{ QI_VERSION }}" rel="stylesheet" media="(prefers-color-scheme: dark)">
1616
<link href="{{ QI_ROOT_PATH }}style/assets/css/qi_style.css?v={{ QI_VERSION }}" rel="stylesheet" media="screen">
1717
<title>{{ PAGE_TITLE }} &bull; {{ lang('PHPBB_QI_TITLE') }}</title>
1818
</head>
1919

20-
<body class="{{ S_CONTENT_DIRECTION }} position-relative {% if S_SETTINGS or S_BOARDS %}bg-secondary{% endif %}"{% if not S_BOARDS %} data-bs-spy="scroll" data-bs-target="#sidebar"{% endif %}>
20+
<body class="{{ S_CONTENT_DIRECTION }} position-relative{% if S_SETTINGS or S_BOARDS %} bg-secondary{% endif %}"{% if not S_BOARDS %} data-bs-spy="scroll" data-bs-target="#sidebar"{% endif %}>
2121

2222
{% if U_VERSION_CHECK_URL %}
2323
<div class="toast-container position-fixed top-0 end-0 p-3 mt-5" style="z-index: 1045">

style/settings_body.twig

+1-1
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@
163163
<input class="form-control" type="password" id="dbpasswd" name="qi_config[dbpasswd]" value="{{ CONFIG_DBPASSWD }}">
164164
<div class="form-check form-switch">
165165
<input type="hidden" value="0" name="qi_config[no_dbpasswd]">
166-
<input type="checkbox" class="form-check-input" id="qi_config[no_dbpasswd]" name="qi_config[no_dbpasswd]" value="1"{% if CONFIG_NO_PASSWORD == 1 %} checked="checked"{% endif %}>
166+
<input type="checkbox" role="switch" class="form-check-input" id="qi_config[no_dbpasswd]" name="qi_config[no_dbpasswd]" value="1"{% if CONFIG_NO_PASSWORD == 1 %} checked="checked"{% endif %}>
167167
<label class="form-check-label text-muted" for="qi_config[no_dbpasswd]">{{ lang('NO_PASSWORD') }}</label>
168168
</div>
169169
</div>

style/sidebar_boards.twig

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@
88
<div class="list-group-item py-2 px-0 bg-transparent">
99
<div class="d-flex w-100 align-items-center justify-content-between">
1010
<div class="form-check form-switch m-1 overflow-hidden">
11-
<input type="checkbox" class="form-check-input" data-qi-mark id="del_board_{{ loop.index }}" name="select[]" value="{{ board.BOARD_NAME }}" title="{{ lang('MARK_FOR_DELETION') }}">
11+
<input type="checkbox" role="switch" class="form-check-input" data-qi-mark id="del_board_{{ loop.index }}" name="select[]" value="{{ board.BOARD_NAME }}" title="{{ lang('MARK_FOR_DELETION') }}">
1212
<label class="form-check-label fw-strong" for="del_board_{{ loop.index }}"><a href="{{ board.BOARD_URL }}" title="{{ lang('GOTO_BOARD', board.BOARD_NAME) }}">{{ board.BOARD_NAME }}</a></label>
1313
</div>
1414
{% if board.VERSION %}<span class="badge rounded-pill fw- m-1">{{ board.VERSION }}</span>{% endif %}
1515
</div>
1616
</div>
1717
{% if loop.last %}
1818
<div class="form-check form-switch my-3 mx-1">
19-
<input type="checkbox" class="form-check-input" id="toggle_all" data-qi-mark-list="markall" data-qi-mark-target="#del_board">
19+
<input type="checkbox" role="switch" class="form-check-input" id="toggle_all" data-qi-mark-list="markall" data-qi-mark-target="#del_board">
2020
<label class="form-check-label text-muted" for="toggle_all">{{ lang('SELECT_ALL') }}</label>
2121
</div>
2222
<div>

0 commit comments

Comments
 (0)