plugin-compatibility.php ➔ give_disable_mandrill_nl2br()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Plugin Compatibility
4
 *
5
 * Functions for compatibility with other plugins.
6
 *
7
 * @package     Give
8
 * @subpackage  Functions/Compatibility
9
 * @copyright   Copyright (c) 2016, WordImpress
10
 * @license     https://opensource.org/licenses/gpl-license GNU Public License
11
 * @since       1.4
12
 */
13
14
15
/**
16
 * Disables the mandrill_nl2br filter while sending Give emails.
17
 *
18
 * @since 1.4
19
 * @return void
20
 */
21
function give_disable_mandrill_nl2br() {
22 42
	add_filter( 'mandrill_nl2br', '__return_false' );
23 42
}
24
25
add_action( 'give_email_send_before', 'give_disable_mandrill_nl2br' );
26
27
28
/**
29
 * This function will clear the Yoast SEO sitemap cache on update of settings
30
 *
31
 * @since 1.8.9
32
 *
33
 * @return void
34
 */
35
function give_clear_seo_sitemap_cache_on_settings_change() {
36
	// Load required file if the fn 'is_plugin_active' doesn't exists.
37
	if ( ! function_exists( 'is_plugin_active' ) ) {
38
		require_once ABSPATH . 'wp-admin/includes/plugin.php';
39
	}
40
41
	if ( ( is_plugin_active( 'wordpress-seo/wp-seo.php' )
42
	       || is_plugin_active( 'wordpress-seo-premium/wp-seo-premium.php' ) )
43
	     && class_exists( 'WPSEO_Sitemaps_Cache' )
44
	) {
45
46
		$forms_singular_option = give_get_option( 'forms_singular' );
47
		$forms_archive_option  = give_get_option( 'forms_singular' );
48
49
		// If there is change detected for Single Form View and Form Archives options then proceed.
50
		if (
51
			( isset( $_POST['forms_singular'] ) && $_POST['forms_singular'] !== $forms_singular_option ) ||
52
			( isset( $_POST['forms_archives'] ) && $_POST['forms_archives'] !== $forms_archive_option )
53
		) {
54
			// If Yoast SEO or Yoast SEO Premium plugin exists, then update seo sitemap cache.
55
			$yoast_sitemaps_cache = new WPSEO_Sitemaps_Cache();
56
			if ( method_exists( $yoast_sitemaps_cache, 'clear' ) ) {
57
				WPSEO_Sitemaps_Cache::clear();
58
			}
59
		}
60
	}
61
}
62
63
add_action( 'give-settings_save_display', 'give_clear_seo_sitemap_cache_on_settings_change' );
64
65
/**
66
 * This is support for the plugin Elementor. This function
67
 * disables the Give Shortcodes button on the Elementor's
68
 * editor page.
69
 *
70
 * See link: https://github.com/WordImpress/Give/issues/3171#issuecomment-387471355
71
 *
72
 * @since 2.1.3
73
 *
74
 * @return boolean
75
 */
76
function give_elementor_hide_shortcodes_button() {
77
78
	/**
79
	 * Is the plugin: Elementor activated?
80
	 */
81
	if ( is_plugin_active( 'elementor/elementor.php' ) ) {
82
83
		/**
84
		 * Check user is on the Elementor's editor page, then hide Give Shortcodes Button.
85
		 */
86
		if ( isset( $_GET['action'] ) && 'elementor' === give_clean( $_GET['action'] ) ) {
0 ignored issues
show
introduced by
Detected access of super global var $_GET, probably need manual inspection.
Loading history...
introduced by
Detected usage of a non-sanitized input variable: $_GET
Loading history...
87
			return false;
88
		}
89
	}
90
91
	return true;
92
}
93
94
add_filter( 'give_shortcode_button_condition', 'give_elementor_hide_shortcodes_button', 11 );
95