Test Failed
Pull Request — master (#2482)
by Devin
05:37
created

plugins.php ➔ give_get_admin_page_menu_title()   B

Complexity

Conditions 6
Paths 3

Size

Total Lines 22
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 6
eloc 13
nc 3
nop 0
dl 0
loc 22
rs 8.6737
c 0
b 0
f 0
1
<?php
2
/**
3
 * Admin Plugins
4
 *
5
 * @package     Give
6
 * @subpackage  Admin/Plugins
7
 * @copyright   Copyright (c) 2016, WordImpress
8
 * @license     https://opensource.org/licenses/gpl-license GNU Public License
9
 * @since       1.4
10
 */
11
12
// Exit if accessed directly.
13
if ( ! defined( 'ABSPATH' ) ) {
14
	exit;
15
}
16
17
/**
18
 * Plugins row action links
19
 *
20
 * @since 1.4
21
 *
22
 * @param array $actions An array of plugin action links.
23
 *
24
 * @return array An array of updated action links.
25
 */
26
function give_plugin_action_links( $actions ) {
27
	$new_actions = array(
28
		'settings' => sprintf(
29
			'<a href="%1$s">%2$s</a>',
30
			admin_url( 'edit.php?post_type=give_forms&page=give-settings' ),
31
			__( 'Settings', 'give' )
32
		),
33
	);
34
35
	return array_merge( $new_actions, $actions );
36
}
37
38
add_filter( 'plugin_action_links_' . GIVE_PLUGIN_BASENAME, 'give_plugin_action_links' );
39
40
41
/**
42
 * Plugin row meta links
43
 *
44
 * @since 1.4
45
 *
46
 * @param array  $plugin_meta An array of the plugin's metadata.
47
 * @param string $plugin_file Path to the plugin file, relative to the plugins directory.
48
 *
49
 * @return array
50
 */
51
function give_plugin_row_meta( $plugin_meta, $plugin_file ) {
52
	if ( $plugin_file != GIVE_PLUGIN_BASENAME ) {
53
		return $plugin_meta;
54
	}
55
56
	$new_meta_links = array(
57
		sprintf(
58
			'<a href="%1$s" target="_blank">%2$s</a>',
59
			esc_url( add_query_arg( array(
60
					'utm_source'   => 'plugins-page',
61
					'utm_medium'   => 'plugin-row',
62
					'utm_campaign' => 'admin',
63
				), 'https://givewp.com/documentation/' )
0 ignored issues
show
Coding Style introduced by
This line of the multi-line function call does not seem to be indented correctly. Expected 12 spaces, but found 16.
Loading history...
64
			),
65
			__( 'Documentation', 'give' )
66
		),
67
		sprintf(
68
			'<a href="%1$s" target="_blank">%2$s</a>',
69
			esc_url( add_query_arg( array(
70
					'utm_source'   => 'plugins-page',
71
					'utm_medium'   => 'plugin-row',
72
					'utm_campaign' => 'admin',
73
				), 'https://givewp.com/addons/' )
0 ignored issues
show
Coding Style introduced by
This line of the multi-line function call does not seem to be indented correctly. Expected 12 spaces, but found 16.
Loading history...
74
			),
75
			__( 'Add-ons', 'give' )
76
		),
77
	);
78
79
	return array_merge( $plugin_meta, $new_meta_links );
80
}
81
82
add_filter( 'plugin_row_meta', 'give_plugin_row_meta', 10, 2 );
83
84
85
/**
86
 * Get the Parent Page Menu Title in admin section.
87
 * Based on get_admin_page_title WordPress Function.
88
 *
89
 * @since 1.8.17
90
 *
91
 * @global array  $submenu
92
 * @global string $plugin_page
93
 *
94
 * @return string $title Page title
95
 */
96
function give_get_admin_page_menu_title() {
97
	$title = '';
98
	global $submenu, $plugin_page;
99
100
	foreach ( array_keys( $submenu ) as $parent ) {
101
		if( 'edit.php?post_type=give_forms' !== $parent ) {
0 ignored issues
show
introduced by
Space after opening control structure is required
Loading history...
introduced by
No space before opening parenthesis is prohibited
Loading history...
102
			continue;
103
		}
104
105
		foreach ( $submenu[ $parent ] as $submenu_array ) {
106
			if( $plugin_page !== $submenu_array[2] ){
0 ignored issues
show
introduced by
Space after opening control structure is required
Loading history...
introduced by
No space before opening parenthesis is prohibited
Loading history...
107
				continue;
108
			}
109
110
			$title = isset( $submenu_array[0] ) ?
111
				$submenu_array[0] :
112
				$submenu_array[3];
113
		}
114
	}
115
116
	return $title;
117
}
118