diff --git a/docs/_images/php-logo.svg b/docs/_images/php-logo.svg new file mode 100644 index 000000000..2046d1bdd --- /dev/null +++ b/docs/_images/php-logo.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/fieldtypes/relationships.md b/docs/fieldtypes/relationships.md index 5e7ac3b5a..e5506caf1 100755 --- a/docs/fieldtypes/relationships.md +++ b/docs/fieldtypes/relationships.md @@ -94,6 +94,7 @@ The following parameters are available to all looping relationship tags, allowin - `channel` - `entry_id` - `group_id` +- `limit` - `offset` - `orderby` - `show_expired` diff --git a/docs/installation/changelog.md b/docs/installation/changelog.md index 799ba4b34..edc37d510 100755 --- a/docs/installation/changelog.md +++ b/docs/installation/changelog.md @@ -8,6 +8,53 @@ --> # ExpressionEngine v7 Change Log +## Version 7.4.6 +(Release: April 1, 2024) + +- **Contributors** 🙌 +
+
+ +
+
+ +**Enhancements** 🚀 + +- Improved Avatar image to ensure it correctly displays images of all aspect ratios; [#4175](https://github.com/ExpressionEngine/ExpressionEngine/issues/4175) +- Default search in Entry Manager to "Titles only"; [#3431](https://github.com/ExpressionEngine/ExpressionEngine/issues/3431) +- Added `{index}` and `{total_items}` variables to options fieldtypes; [#3363](https://github.com/ExpressionEngine/ExpressionEngine/issues/3363) +- Enable on-the-fly cropping from image center; [#2947](https://github.com/ExpressionEngine/ExpressionEngine/issues/2947) +- Added Debug Channel Entries Utility; [#3024](https://github.com/ExpressionEngine/ExpressionEngine/issues/3024) +- Modified the addon update process to stay on Updates tab if more updates are available; [#2860](https://github.com/ExpressionEngine/ExpressionEngine/issues/2860) +- Enabled testing of email configuration from email settings page + +**Bug Fixes** 💃🐛 + +- Resolved issue where language was not fully loaded for date picker in channel form +- Resolved [#4180](https://github.com/ExpressionEngine/ExpressionEngine/issues/4180) where some regular expression patterns could not be used for validation +- Updated CKEditor version for RTE fieldtype +- Added more plugins and better support for advanced configuration of CKEditor in RTE +- Resolved issue when using out-of-date translation files could cause language keys to show instead of messages +- Resolved [#3950](https://github.com/ExpressionEngine/ExpressionEngine/issues/3950) where order of upload directories and folders was not consistent in dropdowns +- Resolved [#4045](https://github.com/ExpressionEngine/ExpressionEngine/issues/4045) where Relationship field did not fully respect "sort by date" setting +- Resolved [#3959](https://github.com/ExpressionEngine/ExpressionEngine/issues/3959) where sort order of categories in Entry Manager filter could have been wrong +- Resolved issue where template conditionals could show PHP warning +- Resolved [#4165](https://github.com/ExpressionEngine/ExpressionEngine/issues/4165) where Pro Variables prolet was showing PHP warning if single variables were used +- Resolved [#3844](https://github.com/ExpressionEngine/ExpressionEngine/issues/3844) where applying `search:field="IS_EMPTY"` parameter to Grid field would cause PHP warning +- Resolved issue where the Pro Variables prolet could have bad links +- Resolved [#4159](https://github.com/ExpressionEngine/ExpressionEngine/issues/4159) where on-the-fly image manipulations were not cleared +- Resolved [#4135](https://github.com/ExpressionEngine/ExpressionEngine/issues/4135) where removing page with children from Structure was giving an error +- Resolved [#4152](https://github.com/ExpressionEngine/ExpressionEngine/issues/4152) where Channel Form stylesheet was overriding some custom styles +- Resolved [#4098](https://github.com/ExpressionEngine/ExpressionEngine/issues/4098) where Date field by default was not setting time to current +- Resolved [#4141](https://github.com/ExpressionEngine/ExpressionEngine/issues/4141) where password reset pages were not using custom branded logo +- Resolved [#4167](https://github.com/ExpressionEngine/ExpressionEngine/issues/4167) where filter dropdown sometimes requires more space + ## Version 7.4.5 (Release: March 20, 2024) diff --git a/docs/installation/requirements.md b/docs/installation/requirements.md index 264519d7b..aaa3c11cf 100755 --- a/docs/installation/requirements.md +++ b/docs/installation/requirements.md @@ -104,7 +104,7 @@ If the [Server Compatibility Wizard](#server-compatibility-wizard) lists URL Seg ## Local Development -ExpressionEngine can be ran locally on a number of local development environments. Below are just a few to help you get started. +ExpressionEngine can be run locally on a number of local development environments. Below are just a few to help you get started. NOTE: **Note:** When setting up your local environment, you must make sure it still meets the requirements listed above. @@ -115,3 +115,197 @@ NOTE: **Note:** When setting up your local environment, you must make sure it st - **[Devilbox](http://devilbox.org/)** - (macOS, Windows, Linux) Devilbox is another great stack which allows user to quickly get up and running with Docker environments. To install ExpressionEngine on Devilbox simply follow the [Setup ExpressionEngine Docs](https://devilbox.readthedocs.io/en/latest/examples/setup-expressionengine.html). - **[MAMP](https://www.mamp.info/en/)** - (macOS, Windows) MAMP can be very convenient for local development, but it has some quirks. If you are using MAMP, you will need to use PHP 7+ due to outdated cURL and OpenSSL libraries that MAMP ships with its older versions of PHP. + +## PHP Version Requirements Across EE Versions + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
4.05.67.07.27.48.08.28.3
+ + ExpressionEngine 7.47.4 + + PHP 4.0PHP 5.6PHP 7.0PHP 7.2PHP 7.4PHP 8.0PHP 8.2PHP 8.3
+ + ExpressionEngine 7.2.8 + 7.2.8 + + PHP 4.0PHP 5.6PHP 7.0PHP 7.2PHP 7.4PHP 8.0PHP 8.2PHP 8.3
+ + ExpressionEngine 7.0 + 7.0 + + PHP 4.0PHP 5.6PHP 7.0PHP 7.2PHP 7.4PHP 8.0PHP 8.2PHP 8.3
+ + ExpressionEngine 6.4.15 + 6.4.15 + + PHP 4.0PHP 5.6PHP 7.0PHP 7.2PHP 7.4PHP 8.0PHP 8.2PHP 8.3
+ + ExpressionEngine 6.0.0 + 6.0.0 + + PHP 4.0PHP 5.6PHP 7.0PHP 7.2PHP 7.4PHP 8.0PHP 8.2PHP 8.3
+ + ExpressionEngine 5.4.3 + 5.4.3 + + PHP 4.0PHP 5.6PHP 7.0PHP 7.2PHP 7.4PHP 8.0PHP 8.2PHP 8.3
+ + ExpressionEngine 4.3.8 + 4.3.8 + + PHP 4.0PHP 5.6PHP 7.0PHP 7.2PHP 7.4PHP 8.0PHP 8.2PHP 8.3
+ + ExpressionEngine 3.5.1 + 3.5.17 + + PHP 4.0PHP 5.6PHP 7.0PHP 7.2PHP 7.4PHP 8.0PHP 8.2PHP 8.3
+ + ExpressionEngine 2.11.9 + 2.11.9 + + PHP 4.0PHP 5.6PHP 7.0PHP 7.2PHP 7.4PHP 8.0PHP 8.2PHP 8.3
+ + ExpressionEngine 1.7.3 + 1.7.3 + + PHP 4.0PHP 5.6PHP 7.0PHP 7.2PHP 7.4PHP 8.0PHP 8.2PHP 8.3
+
+
+ +
+ + - the PHP version is fully supported by this ExpressionEngine version + + - the system will not work under this PHP version, or a significant part of functionality will not work + + - some of the functionality might work incorrectly, or compatibility has not been checked + +
diff --git a/docs/member/password-validation.md b/docs/member/password-validation.md index 9af2cc5b3..6cbbe20ef 100644 --- a/docs/member/password-validation.md +++ b/docs/member/password-validation.md @@ -17,7 +17,7 @@ It is recommended to select good a [password security policy](control-panel/sett ## Validation URL - `{exp:member:validation_url fields="password_rank"}` + {exp:member:validation_url fields="password_rank"} Return URL that is serving as the endpoint for validating member data and getting password rank. It can only accept POST requests sent via AJAX. It returns a JSON string that can contain following keys: diff --git a/docs/templates/conditionals.md b/docs/templates/conditionals.md index a5f7afd45..a28ccc1af 100755 --- a/docs/templates/conditionals.md +++ b/docs/templates/conditionals.md @@ -429,7 +429,7 @@ You can test against the username of the currently logged in user. Whether Multi-Factor Authentication is enabled for logged in user. - `{if !mfa_enabled}Enable multi-factor authentication for more security{/if}` + {if !mfa_enabled}Enable multi-factor authentication for more security{/if} ### `segment_*X*` diff --git a/theme/_assets/default.min.css b/theme/_assets/default.min.css index a3f0af6ce..5ab44bbcf 100755 --- a/theme/_assets/default.min.css +++ b/theme/_assets/default.min.css @@ -48,7 +48,7 @@ * @link https://expressionengine.com/ * @copyright Copyright (c) 2003-2020, EllisLab, Inc. (https://packettide.com) * @license https://expressionengine.com/license Licensed under Apache License, Version 2.0 - */.button{display:inline-block;border-radius:5px;border:1px solid #225aba;color:#225aba!important;padding:10px 14px;padding:8px 14px}a.button:hover{border:1px solid #225aba!important}.text-center{text-align:center}.light-shadow{box-shadow:0 1px 10px rgba(34,90,186,.2)}.large-shadow{box-shadow:0 4px 14px rgba(2,7,14,.2)}.i-arrow-down{display:inline-block;width:0;height:0;margin-left:6px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-menu{display:none;position:absolute;z-index:50;left:0}.dropdown-menu-inner{background-color:#fff;margin-top:10px;border:1px solid #ebecf4;border-radius:5px;min-width:60px;box-shadow:0 4px 14px rgba(2,7,14,.2)}.dropdown-menu a{color:#000!important;padding:6px 10px;text-decoration:none;display:block}.dropdown-menu a.active{font-weight:700}.dropdown-menu a:hover{color:#225aba!important}.dropdown.show .dropdown-menu,.dropdown:hover .dropdown-menu{display:block}.hamburger{height:16px;width:24px;min-width:24px;position:relative}.hamburger span{width:100%;height:2px;top:50%;margin-top:-1px;position:absolute;border-radius:1px;background-color:#fff;transition:all .2s ease}.hamburger span:first-child{top:0;margin-top:0}.hamburger span:last-child{top:auto;margin-top:0;bottom:0}.hamburger.close span:first-child{top:50%;margin-top:-1;transform:rotate(45deg)}.hamburger.close span:nth-child(2){transform:scale(1.6);opacity:0}.hamburger.close span:last-child{top:50%;margin-top:-1;transform:rotate(135deg)}.flex-container{display:flex}/*! + */.button{display:inline-block;border-radius:5px;border:1px solid #225aba;color:#225aba!important;padding:10px 14px;padding:8px 14px}a.button:hover{border:1px solid #225aba!important}.text-center{text-align:center}.light-shadow{box-shadow:0 1px 10px rgba(34,90,186,.2)}.large-shadow{box-shadow:0 4px 14px rgba(2,7,14,.2)}.i-arrow-down{display:inline-block;width:0;height:0;margin-left:6px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-menu{display:none;position:absolute;z-index:50;left:0}.dropdown-menu-inner{background-color:#fff;margin-top:10px;border:1px solid #ebecf4;border-radius:5px;min-width:60px;box-shadow:0 4px 14px rgba(2,7,14,.2)}.dropdown-menu a{color:#000!important;padding:6px 10px;text-decoration:none;display:block}.dropdown-menu a.active{font-weight:700}.dropdown-menu a:hover{color:#225aba!important}.dropdown.show .dropdown-menu,.dropdown:hover .dropdown-menu{display:block}.hamburger{height:16px;width:24px;min-width:24px;position:relative}.hamburger span{width:100%;height:2px;top:50%;margin-top:-1px;position:absolute;border-radius:1px;background-color:#fff;transition:all .2s ease}.hamburger span:first-child{top:0;margin-top:0}.hamburger span:last-child{top:auto;margin-top:0;bottom:0}.hamburger.close span:first-child{top:50%;margin-top:-1;transform:rotate(45deg)}.hamburger.close span:nth-child(2){transform:scale(1.6);opacity:0}.hamburger.close span:last-child{top:50%;margin-top:-1;transform:rotate(135deg)}.flex-container{display:flex}.docs-content-wrapper .content .ee-version-compatiblity td span{display:none}.docs-content-wrapper .content .ee-version-compatiblity .php-logo{height:18px;float:left;margin:5px 5px 0 0}.docs-content-wrapper .content .ee-version-compatiblity td.ee-version{background-color:#f7f8fa;min-width:105px}.docs-content-wrapper .content .ee-version-compatiblity td.ee-version span{display:flex;align-items:center}.docs-content-wrapper .content .ee-version-compatiblity td.ee-version img{height:20px;margin-bottom:0;border-radius:0;margin-right:5px}.docs-content-wrapper .content .ee-version-compatiblity .ee-fail{background-color:#f80808}.docs-content-wrapper .content .ee-version-compatiblity .ee-works{background-color:#00c571}.docs-content-wrapper .content .ee-version-compatiblity .ee-maybe{background-color:#ffb40b}.docs-content-wrapper .content .ee-version-compatiblity-legend span{display:inline-block;width:50px;height:25px;vertical-align:middle}.docs-content-wrapper .content .ee-version-compatiblity-legend span.ee-works{background:#00c571}.docs-content-wrapper .content .ee-version-compatiblity-legend span.ee-fail{background:#f80808}.docs-content-wrapper .content .ee-version-compatiblity-legend span.ee-maybe{background:#ffb40b}/*! * This source file is part of the open source project * ExpressionEngine User Guide (https://github.com/ExpressionEngine/ExpressionEngine-User-Guide) * diff --git a/theme/_assets/images/ee-logo-black.svg b/theme/_assets/images/ee-logo-black.svg new file mode 100755 index 000000000..fb18ce5ac --- /dev/null +++ b/theme/_assets/images/ee-logo-black.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/theme/assets-src/images/ee-logo-black.svg b/theme/assets-src/images/ee-logo-black.svg new file mode 100755 index 000000000..fb18ce5ac --- /dev/null +++ b/theme/assets-src/images/ee-logo-black.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/theme/assets-src/styles/utility.less b/theme/assets-src/styles/utility.less index ee260352e..cd430207f 100755 --- a/theme/assets-src/styles/utility.less +++ b/theme/assets-src/styles/utility.less @@ -155,3 +155,71 @@ a.button { .flex-container { display: flex; } + +// ------------------------------------------------------------------- +// PHP Version Compatibility table +.docs-content-wrapper .content { + .ee-version-compatiblity { + td { + span { + display: none; + } + } + + .php-logo { + height: 18px; + float: left; + margin: 5px 5px 0px 0px; + } + + td.ee-version { + background-color: #f7f8fa; + min-width: 105px; + + span { + display: flex; + align-items: center; + } + + img { + height: 20px; + margin-bottom: 0; + border-radius: 0; + margin-right: 5px; + } + } + + .ee-fail { + background-color: #f80808; + } + + .ee-works { + background-color: #00c571; + } + + .ee-maybe { + background-color: #ffb40b; + } + } + + .ee-version-compatiblity-legend { + span { + display: inline-block; + width: 50px; + height: 25px; + vertical-align: middle; + + &.ee-works { + background: #00c571; + } + + &.ee-fail { + background: #f80808; + } + + &.ee-maybe { + background: #ffb40b; + } + } + } +} \ No newline at end of file diff --git a/theme/doc-page-template.html b/theme/doc-page-template.html index 69d1870e2..93060081e 100755 --- a/theme/doc-page-template.html +++ b/theme/doc-page-template.html @@ -16,7 +16,7 @@ - +