Completed
Push — master ( 146458...b94c12 )
by Sudar
01:55
created

util.php ➔ bd_get_addon_url()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 22
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 8
nc 2
nop 2
dl 0
loc 22
rs 9.2
c 0
b 0
f 0
1
<?php
2
/**
3
 * Addons related util functions.
4
 *
5
 * @since      5.5
6
 * @author     Sudar
7
 * @package    BulkDelete\Addon
8
 */
9
10
defined( 'ABSPATH' ) || exit; // Exit if accessed directly
11
12
/**
13
 * Compute class name from addon name.
14
 *
15
 * @since 5.5
16
 *
17
 * @param string $addon_name Name of the addon.
18
 * @return string Computed class name for the addon.
19
 */
20
function bd_get_addon_class_name( $addon_name ) {
21
	$addon_class_name = str_replace( ' ', '_', $addon_name );
22
23
	if ( false !== strpos( $addon_class_name, 'Scheduler' ) ) {
24
		$addon_class_name = str_replace( 'Bulk_Delete', 'BD', $addon_class_name );
25
	}
26
27
	$addon_class_name .= '_Addon';
28
29
	/**
30
	 * Filter to modify addon class name.
31
	 *
32
	 * @since 5.5
33
	 *
34
	 * @param string $addon_class_name Addon class name
35
	 * @param string $addon_name Addon name
36
	 */
37
	return apply_filters( 'bd_addon_class_name', $addon_class_name, $addon_name );
38
}
39
40
/**
41
 * Compute addon url from addon name.
42
 *
43
 * @since 5.5
44
 *
45
 * @param  string $addon_name    Name of the addon.
46
 * @param  array  $campaign_args Campaign_args. Default empty array
47
 * @return string                Computed url for the addon.
48
 */
49
function bd_get_addon_url( $addon_name, $campaign_args = array() ) {
50
	$base = 'http://bulkwp.com/addons/';
51
	$addon_slug = str_replace( ' ', '-', strtolower( $addon_name ) );
52
53
	if ( false !== strpos( $addon_name, 'scheduler' ) ) {
54
		$addon_slug = str_replace( 'bulk-delete-', '', $addon_name );
55
	}
56
57
	$addon_url = $base . $addon_slug;
58
	$addon_url = add_query_arg( $campaign_args, $addon_url );
59
60
	/**
61
	 * Filter to modify addon url.
62
	 *
63
	 * @since 5.5
64
	 *
65
	 * @param string $addon_name Addon name
66
	 * @param string $addon_url Addon url
67
	 * @param array  $campaign_args Campaign_args. Default empty array
68
	 */
69
	return apply_filters( 'bd_addon_url', $addon_url, $addon_name, $campaign_args );
70
}
71
?>
72