Code Duplication    Length = 31-33 lines in 2 locations

projects/plugins/jetpack/modules/masterbar/admin-menu/class-atomic-admin-menu.php 1 location

@@ 174-206 (lines=33) @@
171
	/**
172
	 * Adds Jetpack menu.
173
	 */
174
	public function add_jetpack_menu() {
175
		global $menu;
176
177
		$position = 50;
178
		while ( isset( $menu[ $position ] ) ) {
179
			$position++;
180
		}
181
182
		// TODO: Replace with proper SVG data url.
183
		$jetpack_icon = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 32 32' %3E%3Cpath fill='%23a0a5aa' d='M16,0C7.2,0,0,7.2,0,16s7.2,16,16,16s16-7.2,16-16S24.8,0,16,0z'%3E%3C/path%3E%3Cpolygon fill='%23fff' points='15,19 7,19 15,3 '%3E%3C/polygon%3E%3Cpolygon fill='%23fff' points='17,29 17,13 25,13 '%3E%3C/polygon%3E%3C/svg%3E";
184
		$jetpack_slug = 'https://wordpress.com/activity-log/' . $this->domain;
185
186
		$this->add_admin_menu_separator( $position++, 'manage_options' );
187
		add_menu_page( esc_attr__( 'Jetpack', 'jetpack' ), __( 'Jetpack', 'jetpack' ), 'manage_options', $jetpack_slug, null, $jetpack_icon, $position );
188
189
		// Maintain id for jQuery selector.
190
		$menu[ $position ][5] = 'toplevel_page_jetpack'; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
191
192
		remove_menu_page( 'jetpack' );
193
		remove_submenu_page( 'jetpack', 'stats' );
194
195
		$this->migrate_submenus( 'jetpack', $jetpack_slug );
196
197
		add_submenu_page( $jetpack_slug, esc_attr__( 'Activity Log', 'jetpack' ), __( 'Activity Log', 'jetpack' ), 'manage_options', $jetpack_slug, null, 5 );
198
		add_submenu_page( $jetpack_slug, esc_attr__( 'Backup', 'jetpack' ), __( 'Backup', 'jetpack' ), 'manage_options', 'https://wordpress.com/backup/' . $this->domain, null, 10 );
199
200
		add_filter(
201
			'parent_file',
202
			function ( $parent_file ) use ( $jetpack_slug ) {
203
				return 'jetpack' === $parent_file ? $jetpack_slug : $parent_file;
204
			}
205
		);
206
	}
207
208
	/**
209
	 * Adds Tools menu.

projects/plugins/jetpack/modules/masterbar/admin-menu/class-wpcom-admin-menu.php 1 location

@@ 210-240 (lines=31) @@
207
	/**
208
	 * Adds Jetpack menu.
209
	 */
210
	public function add_jetpack_menu() {
211
		global $menu;
212
213
		$position = 50;
214
		while ( isset( $menu[ $position ] ) ) {
215
			$position++;
216
		}
217
218
		// TODO: Replace with proper SVG data url.
219
		$jetpack_icon = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 32 32' %3E%3Cpath fill='%23a0a5aa' d='M16,0C7.2,0,0,7.2,0,16s7.2,16,16,16s16-7.2,16-16S24.8,0,16,0z'%3E%3C/path%3E%3Cpolygon fill='%23fff' points='15,19 7,19 15,3 '%3E%3C/polygon%3E%3Cpolygon fill='%23fff' points='17,29 17,13 25,13 '%3E%3C/polygon%3E%3C/svg%3E";
220
		$jetpack_slug = 'https://wordpress.com/activity-log/' . $this->domain;
221
222
		$this->add_admin_menu_separator( $position++, 'manage_options' );
223
		add_menu_page( esc_attr__( 'Jetpack', 'jetpack' ), __( 'Jetpack', 'jetpack' ), 'manage_options', $jetpack_slug, null, $jetpack_icon, $position );
224
225
		// Maintain id for jQuery selector.
226
		$menu[ $position ][5] = 'toplevel_page_jetpack'; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
227
228
		remove_menu_page( 'jetpack' );
229
		$this->migrate_submenus( 'jetpack', $jetpack_slug );
230
231
		add_submenu_page( $jetpack_slug, esc_attr__( 'Activity Log', 'jetpack' ), __( 'Activity Log', 'jetpack' ), 'manage_options', $jetpack_slug, null, 5 );
232
		add_submenu_page( $jetpack_slug, esc_attr__( 'Backup', 'jetpack' ), __( 'Backup', 'jetpack' ), 'manage_options', 'https://wordpress.com/backup/' . $this->domain, null, 10 );
233
234
		add_filter(
235
			'parent_file',
236
			function ( $parent_file ) use ( $jetpack_slug ) {
237
				return 'jetpack' === $parent_file ? $jetpack_slug : $parent_file;
238
			}
239
		);
240
	}
241
242
	/**
243
	 * Adds Plugins menu.