Skip to content

Commit e459b73

Browse files
jeherveanomiex
andauthored
General: update minimum required version to WordPress 5.5 (#17820)
Co-authored-by: Brad Jorsch <[email protected]>
1 parent a5cf6ca commit e459b73

File tree

78 files changed

+401
-878
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+401
-878
lines changed

.phpcs.config.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0"?>
22
<ruleset>
3-
<config name="minimum_supported_wp_version" value="5.4" />
3+
<config name="minimum_supported_wp_version" value="5.5" />
44
<config name="testVersion" value="5.6-"/>
55

66
<!-- Check all PHP files in directory tree by default. -->

_inc/client/README.md

+1-16
Original file line numberDiff line numberDiff line change
@@ -64,22 +64,7 @@ Every action creator defined in the **Admin Page** returns a Promise and is buil
6464
The **Admin Page** takes advantage of two core WordPress packages for internationalization purposes:
6565

6666
- [`@wordpress/i18n`](https://www.npmjs.com/package/@wordpress/i18n) gives us access to internationalization functions we're used to in WordPress: `__n`, `_n`, `_x`, `_nx`, and `sprintf`.
67-
- [`@wordpress/element`](https://www.npmjs.com/package/@wordpress/element) and its `createInterpolateElement` function allow us to use React elements in strings. `createInterpolateElement` is available in WordPress 5.5 and in latest versions of the Gutenberg plugin, but it is not available in WordPress 5.4, which we still support. We consequently rely on a wrapper, `jetpackCreateInterpolateElement`.
68-
69-
```jsx
70-
import Gridicon from 'components/gridicon';
71-
import { __ } from '@wordpress/i18n';
72-
import { jetpackCreateInterpolateElement } from 'components/create-interpolate-element';
73-
const getDocumentationLink = () => {
74-
return jetpackCreateInterpolateElement(
75-
__( '<FlagIcon /> Still confused? <a>Check out documentation for more!</a>', 'jetpack' ),
76-
{
77-
FlagIcon: <Gridicon icon="flag" size={ 64 } />
78-
a: <a href="https://jetpack.com" />,
79-
}
80-
);
81-
};
82-
```
67+
- [`@wordpress/element`](https://www.npmjs.com/package/@wordpress/element) and its `createInterpolateElement` function allow us to use React elements in strings.
8368

8469
### Browser compatibility of the Admin Page
8570

_inc/client/at-a-glance/akismet.jsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { get } from 'lodash';
99
/**
1010
* WordPress dependencies
1111
*/
12+
import { createInterpolateElement } from '@wordpress/element';
1213
import { __, _x } from '@wordpress/i18n';
1314

1415
/**
@@ -25,7 +26,6 @@ import { getApiNonce, getUpgradeUrl } from 'state/initial-state';
2526
import { getJetpackProductUpsellByFeature, FEATURE_SPAM_AKISMET_PLUS } from 'lib/plans/constants';
2627
import { isOfflineMode } from 'state/connection';
2728
import JetpackBanner from 'components/jetpack-banner';
28-
import { jetpackCreateInterpolateElement } from 'components/create-interpolate-element';
2929
import { numberFormat } from 'components/number-format';
3030
import restApi from 'rest-api';
3131
import QueryAkismetData from 'components/data/query-akismet-data';
@@ -95,7 +95,7 @@ class DashAkismet extends Component {
9595
};
9696

9797
const getAkismetUpgradeBanner = () => {
98-
const description = jetpackCreateInterpolateElement(
98+
const description = createInterpolateElement(
9999
__( 'Already have a key? <a>Activate Akismet</a>', 'jetpack' ),
100100
{
101101
a: <a href="javascript:void(0)" onClick={ this.onActivateClick } />,

_inc/client/at-a-glance/backups.jsx

+8-4
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,19 @@
44
import PropTypes from 'prop-types';
55
import React, { Component } from 'react';
66
import { connect } from 'react-redux';
7-
import { jetpackCreateInterpolateElement } from 'components/create-interpolate-element';
8-
import DashItem from 'components/dash-item';
97
import { get, isEmpty, noop } from 'lodash';
8+
9+
/**
10+
* WordPress dependencies
11+
*/
12+
import { createInterpolateElement } from '@wordpress/element';
1013
import { __ } from '@wordpress/i18n';
1114

1215
/**
1316
* Internal dependencies
1417
*/
1518
import Card from 'components/card';
19+
import DashItem from 'components/dash-item';
1620
import JetpackBanner from 'components/jetpack-banner';
1721
import QueryVaultPressData from 'components/data/query-vaultpress-data';
1822
import {
@@ -94,7 +98,7 @@ class DashBackups extends Component {
9498
<span>
9599
{ get( vaultPressData, 'message', '' ) }
96100
&nbsp;
97-
{ jetpackCreateInterpolateElement( __( '<a>View backup details</a>.', 'jetpack' ), {
101+
{ createInterpolateElement( __( '<a>View backup details</a>.', 'jetpack' ), {
98102
a: (
99103
<a
100104
href={ getRedirectUrl( 'vaultpress-dashboard' ) }
@@ -114,7 +118,7 @@ class DashBackups extends Component {
114118
return renderCard( {
115119
className: 'jp-dash-item__is-inactive',
116120
status: isVaultPressInstalled ? 'pro-inactive' : 'pro-uninstalled',
117-
content: jetpackCreateInterpolateElement(
121+
content: createInterpolateElement(
118122
__(
119123
'To automatically back up your entire site, please <a>install and activate</a> VaultPress.',
120124
'jetpack'

_inc/client/at-a-glance/connections.jsx

+6-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@
44
import PropTypes from 'prop-types';
55
import React, { Component } from 'react';
66
import { connect } from 'react-redux';
7-
import { jetpackCreateInterpolateElement } from 'components/create-interpolate-element';
7+
8+
/**
9+
* WordPress dependencies
10+
*/
11+
import { createInterpolateElement } from '@wordpress/element';
812
import { __, sprintf, _x } from '@wordpress/i18n';
913

1014
/**
@@ -163,7 +167,7 @@ export class DashConnections extends Component {
163167
src={ this.props.wpComConnectedUser.avatar }
164168
/>
165169
<div className="jp-connection-settings__text">
166-
{ jetpackCreateInterpolateElement(
170+
{ createInterpolateElement(
167171
sprintf(
168172
/* translators: Placeholder is the WordPress user login name. */
169173
__( 'Connected as <span>%s</span>', 'jetpack' ),

_inc/client/at-a-glance/monitor.jsx

+6-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@
44
import PropTypes from 'prop-types';
55
import React, { Component } from 'react';
66
import { connect } from 'react-redux';
7-
import { jetpackCreateInterpolateElement } from 'components/create-interpolate-element';
7+
8+
/**
9+
* WordPress dependencies
10+
*/
11+
import { createInterpolateElement } from '@wordpress/element';
812
import { __ } from '@wordpress/i18n';
913

1014
/**
@@ -65,7 +69,7 @@ class DashMonitor extends Component {
6569
<p className="jp-dash-item__description">
6670
{ this.props.isOfflineMode
6771
? __( 'Unavailable in Offline Mode.', 'jetpack' )
68-
: jetpackCreateInterpolateElement(
72+
: createInterpolateElement(
6973
__(
7074
'<a>Activate Monitor</a> to receive email notifications if your site goes down.',
7175
'jetpack'

_inc/client/at-a-glance/photon.jsx

+6-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@
44
import PropTypes from 'prop-types';
55
import React, { Component } from 'react';
66
import { connect } from 'react-redux';
7-
import { jetpackCreateInterpolateElement } from 'components/create-interpolate-element';
7+
8+
/**
9+
* WordPress dependencies
10+
*/
11+
import { createInterpolateElement } from '@wordpress/element';
812
import { __ } from '@wordpress/i18n';
913

1014
/**
@@ -57,7 +61,7 @@ class DashPhoton extends Component {
5761
<p className="jp-dash-item__description">
5862
{ this.props.isOfflineMode
5963
? __( 'Unavailable in Offline Mode', 'jetpack' )
60-
: jetpackCreateInterpolateElement(
64+
: createInterpolateElement(
6165
__(
6266
"<a>Activate</a> to optimize image sizes and load images from Jetpack's fast global network of servers. This improves your site's performance on desktop and mobile devices.",
6367
'jetpack'

_inc/client/at-a-glance/protect.jsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { connect } from 'react-redux';
88
/**
99
* WordPress dependencies
1010
*/
11+
import { createInterpolateElement } from '@wordpress/element';
1112
import { __ } from '@wordpress/i18n';
1213

1314
/**
@@ -18,7 +19,6 @@ import { getProtectCount } from 'state/at-a-glance';
1819
import getRedirectUrl from 'lib/jp-redirect';
1920
import { isOfflineMode } from 'state/connection';
2021
import { isModuleAvailable } from 'state/modules';
21-
import { jetpackCreateInterpolateElement } from 'components/create-interpolate-element';
2222
import { numberFormat } from 'components/number-format';
2323
import QueryProtectCount from 'components/data/query-dash-protect';
2424

@@ -85,7 +85,7 @@ class DashProtect extends Component {
8585
<p className="jp-dash-item__description">
8686
{ this.props.isOfflineMode
8787
? __( 'Unavailable in Offline Mode', 'jetpack' )
88-
: jetpackCreateInterpolateElement(
88+
: createInterpolateElement(
8989
__(
9090
'<a>Activate Protect</a> to keep your site protected from malicious sign in attempts.',
9191
'jetpack'

_inc/client/at-a-glance/scan.jsx

+5-5
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { connect } from 'react-redux';
88
/**
99
* WordPress dependencies
1010
*/
11+
import { createInterpolateElement } from '@wordpress/element';
1112
import { __, _n } from '@wordpress/i18n';
1213

1314
/**
@@ -29,7 +30,6 @@ import DashItem from 'components/dash-item';
2930
import { get, isArray } from 'lodash';
3031
import { getUpgradeUrl, showBackups } from 'state/initial-state';
3132
import JetpackBanner from 'components/jetpack-banner';
32-
import { jetpackCreateInterpolateElement } from 'components/create-interpolate-element';
3333
import { createNotice, removeNotice } from 'components/global-notices/state/notices/actions';
3434
import {
3535
getPlanClass,
@@ -151,7 +151,7 @@ class DashScan extends Component {
151151
return renderCard( {
152152
className: 'jp-dash-item__is-inactive',
153153
status: 'not-registered',
154-
content: jetpackCreateInterpolateElement(
154+
content: createInterpolateElement(
155155
__(
156156
'VaultPress is having difficulties scanning. Please make sure your <keyLink>registration key is entered</keyLink>. If you require further assistance please <supportLink>contact support</supportLink>.',
157157
'jetpack'
@@ -213,7 +213,7 @@ class DashScan extends Component {
213213
status: 'pro-inactive',
214214
content: [
215215
<p className="jp-dash-item__description" key="inactive-scanning">
216-
{ jetpackCreateInterpolateElement(
216+
{ createInterpolateElement(
217217
__(
218218
'VaultPress is not active, <a>please activate</a> to enable automatic scanning for security for threats.',
219219
'jetpack'
@@ -234,7 +234,7 @@ class DashScan extends Component {
234234
status: 'pro-uninstalled',
235235
content: [
236236
<p className="jp-dash-item__description" key="inactive-scanning">
237-
{ jetpackCreateInterpolateElement(
237+
{ createInterpolateElement(
238238
__(
239239
'VaultPress is not installed, <a>please install</a> to enable automatic scanning for security for threats.',
240240
'jetpack'
@@ -277,7 +277,7 @@ class DashScan extends Component {
277277
{ renderActiveCard( [
278278
<h2 className="jp-dash-item__count is-alert">{ numberFormat( numberOfThreats ) }</h2>,
279279
<p className="jp-dash-item__description">
280-
{ jetpackCreateInterpolateElement(
280+
{ createInterpolateElement(
281281
_n(
282282
'Security threat found. <a>Click here</a> to fix them immediately.',
283283
'Security threats found. <a>Click here</a> to fix them immediately.',

_inc/client/at-a-glance/search.jsx

+7-3
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,14 @@
44
import PropTypes from 'prop-types';
55
import React, { Component } from 'react';
66
import { connect } from 'react-redux';
7-
import { jetpackCreateInterpolateElement } from 'components/create-interpolate-element';
8-
import { __ } from '@wordpress/i18n';
97
import { noop } from 'lodash';
108

9+
/**
10+
* WordPress dependencies
11+
*/
12+
import { createInterpolateElement } from '@wordpress/element';
13+
import { __ } from '@wordpress/i18n';
14+
1115
/**
1216
* Internal dependencies
1317
*/
@@ -157,7 +161,7 @@ class DashSearch extends Component {
157161
return renderCard( {
158162
className: 'jp-dash-item__is-inactive',
159163
pro_inactive: false,
160-
content: jetpackCreateInterpolateElement(
164+
content: createInterpolateElement(
161165
__(
162166
'<a>Activate</a> to help visitors quickly find answers with highly relevant instant search results and powerful filtering.',
163167
'jetpack'

_inc/client/at-a-glance/stats/dash-stats-bottom.jsx

+11-14
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ import React, { Component } from 'react';
77
/**
88
* WordPress dependencies
99
*/
10-
import { __, _x, _n, sprintf } from '@wordpress/i18n';
10+
import { createInterpolateElement } from '@wordpress/element';
1111
import { dateI18n } from '@wordpress/date';
12+
import { __, _x, _n, sprintf } from '@wordpress/i18n';
1213

1314
/**
1415
* Internal dependencies
@@ -18,7 +19,6 @@ import Button from 'components/button';
1819
import Card from 'components/card';
1920
import ConnectButton from 'components/connect-button';
2021
import getRedirectUrl from 'lib/jp-redirect';
21-
import { jetpackCreateInterpolateElement } from 'components/create-interpolate-element';
2222
import { numberFormat } from 'components/number-format';
2323

2424
class DashStatsBottom extends Component {
@@ -104,19 +104,16 @@ class DashStatsBottom extends Component {
104104
<div className="jp-at-a-glance__stats-cta">
105105
<div className="jp-at-a-glance__stats-cta-description" />
106106
<div className="jp-at-a-glance__stats-cta-buttons">
107-
{ jetpackCreateInterpolateElement(
108-
__( '<button>View detailed stats</button>', 'jetpack' ),
109-
{
110-
button: (
111-
<Button
112-
onClick={ this.trackViewDetailedStats }
113-
href={ this.props.siteAdminUrl + 'admin.php?page=stats' }
114-
/>
115-
),
116-
}
117-
) }
107+
{ createInterpolateElement( __( '<button>View detailed stats</button>', 'jetpack' ), {
108+
button: (
109+
<Button
110+
onClick={ this.trackViewDetailedStats }
111+
href={ this.props.siteAdminUrl + 'admin.php?page=stats' }
112+
/>
113+
),
114+
} ) }
118115
{ this.props.isLinked &&
119-
jetpackCreateInterpolateElement(
116+
createInterpolateElement(
120117
__( '<button>View more stats on WordPress.com </button>', 'jetpack' ),
121118
{
122119
button: (

_inc/client/at-a-glance/stats/index.jsx

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ import { connect } from 'react-redux';
99
/**
1010
* WordPress dependencies
1111
*/
12-
import { __, sprintf } from '@wordpress/i18n';
12+
import { createInterpolateElement } from '@wordpress/element';
1313
import { dateI18n } from '@wordpress/date';
14+
import { __, sprintf } from '@wordpress/i18n';
1415

1516
/**
1617
* Internal dependencies
@@ -28,7 +29,6 @@ import { getStatsData, statsSwitchTab, fetchStatsData, getActiveStatsTab } from
2829
import { imagePath } from 'constants/urls';
2930
import { isOfflineMode, isCurrentUserLinked, getConnectUrl } from 'state/connection';
3031
import { isModuleAvailable, getModuleOverride } from 'state/modules';
31-
import { jetpackCreateInterpolateElement } from 'components/create-interpolate-element';
3232
import ModuleOverriddenBanner from 'components/module-overridden-banner';
3333
import { numberFormat } from 'components/number-format';
3434
import QueryStatsData from 'components/data/query-stats-data';
@@ -198,7 +198,7 @@ export class DashStats extends Component {
198198
return (
199199
<div className="jp-at-a-glance__stats-inactive">
200200
<span>
201-
{ jetpackCreateInterpolateElement(
201+
{ createInterpolateElement(
202202
__(
203203
'Something happened while loading stats. Please try again later or <a>view your stats now on WordPress.com</a>',
204204
'jetpack'
@@ -248,7 +248,7 @@ export class DashStats extends Component {
248248
<div className="jp-at-a-glance__stats-inactive-text">
249249
{ this.props.isOfflineMode
250250
? __( 'Unavailable in Offline Mode', 'jetpack' )
251-
: jetpackCreateInterpolateElement(
251+
: createInterpolateElement(
252252
__(
253253
'<a>Activate Site Stats</a> to see detailed stats, likes, followers, subscribers, and more! <a1>Learn More</a1>',
254254
'jetpack'

_inc/client/components/connect-button/index.jsx

+6-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@
44
import PropTypes from 'prop-types';
55
import React from 'react';
66
import { connect } from 'react-redux';
7-
import { jetpackCreateInterpolateElement } from 'components/create-interpolate-element';
7+
8+
/**
9+
* WordPress dependencies
10+
*/
11+
import { createInterpolateElement } from '@wordpress/element';
812
import { __ } from '@wordpress/i18n';
913

1014
/**
@@ -179,7 +183,7 @@ export class ConnectButton extends React.Component {
179183
<div>
180184
{ ! this.props.isSiteConnected && (
181185
<p className="jp-banner__tos-blurb">
182-
{ jetpackCreateInterpolateElement(
186+
{ createInterpolateElement(
183187
__(
184188
'By clicking the button below, you agree to our <tosLink>Terms of Service</tosLink> and to <shareDetailsLink>share details</shareDetailsLink> with WordPress.com.',
185189
'jetpack'

_inc/client/components/create-interpolate-element/README.md

-23
This file was deleted.

0 commit comments

Comments
 (0)