externals.php
1.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
namespace EnableMediaReplace;
use EnableMediaReplace\ShortPixelLogger\ShortPixelLogger as Log;
use EnableMediaReplace\Notices\NoticeController as Notices;
use EnableMediaReplace\Externals\Elementor as Elementor;
use EnableMediaReplace\Externals\WpBakery as WpBakery;
class Externals
{
protected $replaceType = null;
protected $replaceSearchType = null;
protected $messages = array();
public function __construct()
{
// These hooks prevent loading of options when plugin conflicts arise.
add_filter('emr_display_replace_type_options', array($this, 'get_replace_type'));
add_filter('emr_enable_replace_and_search', array($this, 'get_replacesearch_type'));
add_action('emr_after_replace_type_options', array($this, 'get_messages'));
$this->check();
// integrations
$this->loadElementor();
$this->loadBakery(); // in case of urlencoded issues, this class should be used probably.
}
protected function check() // check if any of the options should be disabled due to conflicts
{
/*if (class_exists('FLBuilder'))
{
$this->replaceSearchType = false;
$this->messages[] = __('Replace and Search feature is not compatible with Beaver Builder.', 'enable-media-replace');
} */
}
public function get_replace_type($bool)
{
if ($this->replaceType === null)
return $bool;
return $this->replaceType;
}
public function get_replacesearch_type($bool)
{
if ($this->replaceSearchType === null)
return $bool;
return $this->replaceSearchType;
}
public function get_messages()
{
foreach($this->messages as $message)
{
echo '<span class="nofeature-notice"><p>'. $message . '</p></span>';
}
}
public function loadElementor()
{
Elementor::getInstance();
}
public function loadBakery()
{
WpBakery::getInstance();
}
} // class