Code Duplication    Length = 40-43 lines in 2 locations

class.jetpack-gutenberg.php 1 location

@@ 98-137 (lines=40) @@
95
	 *
96
	 * @return boolean True if the version of gutenberg required by the block or plugin is available.
97
	 */
98
	public static function is_gutenberg_version_available( $version_requirements, $slug ) {
99
		global $wp_version;
100
101
		// Bail if we don't at least have the gutenberg version requirement, the WP version is optional.
102
		if ( empty( $version_requirements['gutenberg'] ) ) {
103
			return false;
104
		}
105
106
		// If running a local dev build of gutenberg plugin GUTENBERG_DEVELOPMENT_MODE is set so assume correct version.
107
		if ( defined( 'GUTENBERG_DEVELOPMENT_MODE' ) && GUTENBERG_DEVELOPMENT_MODE ) {
108
			return true;
109
		}
110
111
		$version_available = false;
112
113
		// If running a production build of the gutenberg plugin then GUTENBERG_VERSION is set, otherwise if WP version
114
		// with required version of Gutenberg is known check that.
115
		if ( defined( 'GUTENBERG_VERSION' ) ) {
116
			$version_available = version_compare( GUTENBERG_VERSION, $version_requirements['gutenberg'], '>=' );
117
		} elseif ( ! empty( $version_requirements['wp'] ) ) {
118
			$version_available = version_compare( $wp_version, $version_requirements['wp'], '>=' );
119
		}
120
121
		if ( ! $version_available ) {
122
			self::set_extension_unavailable(
123
				$slug,
124
				'incorrect_gutenberg_version',
125
				array(
126
					'required_feature' => $slug,
127
					'required_version' => $version_requirements,
128
					'current_version'  => array(
129
						'wp'        => $wp_version,
130
						'gutenberg' => defined( 'GUTENBERG_VERSION' ) ? GUTENBERG_VERSION : null,
131
					),
132
				)
133
			);
134
		}
135
136
		return $version_available;
137
	}
138
139
	/**
140
	 * Prepend the 'jetpack/' prefix to a block name

packages/blocks/src/class-blocks.php 1 location

@@ 133-175 (lines=43) @@
130
	 *
131
	 * @return boolean True if the version of Gutenberg required by the block or plugin is available.
132
	 */
133
	public static function is_gutenberg_version_available( $version_requirements, $slug ) {
134
		global $wp_version;
135
136
		// Bail if we don't at least have the Gutenberg version requirement, the WP version is optional.
137
		if ( empty( $version_requirements['gutenberg'] ) ) {
138
			return false;
139
		}
140
141
		// If running a local dev build of Gutenberg plugin GUTENBERG_DEVELOPMENT_MODE is set so assume correct version.
142
		if ( defined( 'GUTENBERG_DEVELOPMENT_MODE' ) && GUTENBERG_DEVELOPMENT_MODE ) {
143
			return true;
144
		}
145
146
		$version_available = false;
147
148
		// If running a production build of the Gutenberg plugin then GUTENBERG_VERSION is set, otherwise if WP version
149
		// with required version of Gutenberg is known check that.
150
		if ( defined( 'GUTENBERG_VERSION' ) ) {
151
			$version_available = version_compare( GUTENBERG_VERSION, $version_requirements['gutenberg'], '>=' );
152
		} elseif ( ! empty( $version_requirements['wp'] ) ) {
153
			$version_available = version_compare( $wp_version, $version_requirements['wp'], '>=' );
154
		}
155
156
		if (
157
			! $version_available
158
			&& class_exists( Jetpack_Gutenberg::class ) // This is only useful in Jetpack.
159
		) {
160
			Jetpack_Gutenberg::set_extension_unavailable(
161
				$slug,
162
				'incorrect_gutenberg_version',
163
				array(
164
					'required_feature' => $slug,
165
					'required_version' => $version_requirements,
166
					'current_version'  => array(
167
						'wp'        => $wp_version,
168
						'gutenberg' => defined( 'GUTENBERG_VERSION' ) ? GUTENBERG_VERSION : null,
169
					),
170
				)
171
			);
172
		}
173
174
		return $version_available;
175
	}
176
177
	/**
178
	 * Get CSS classes for a block.