PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 1.10
Advanced Ads – Ad Manager & AdSense v1.10
2.0.25 2.0.24 2.0.23 2.0.22 2.0.21 1.38.0 1.39.0 1.39.1 1.39.2 1.39.3 1.39.4 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.40.0 1.40.1 1.40.2 1.41.0 1.42.0 1.42.1 1.42.2 1.43.0 1.44.0 1.44.1 1.45.0 1.45.1 1.46.0 1.47.0 1.47.1 1.47.2 1.47.3 1.47.4 1.47.5 1.48.0 1.48.1 1.49.0 1.5.0 1.5.0.1 1.5.1 1.5.2 1.5.2.1 1.5.4 1.5.4.1 1.5.5 1.50.0 1.51.0 1.51.1 1.51.2 1.51.3 1.52.0 1.52.1 1.52.2 1.52.3 1.52.4 1.53.0 1.53.1 1.53.2 1.54.0 1.54.1 1.55.0 1.56.0 1.56.1 1.56.2 1.56.3 1.56.4 1.6 1.6.1 1.6.10 1.6.10.1 1.6.10.2 1.6.11 1.6.11.1 1.6.12 1.6.13 1.6.14 1.6.15 1.6.16 1.6.17 1.6.17.1 1.6.17.2 1.6.2 1.6.2.1 1.6.3 1.6.4 1.6.4.1 1.6.5 1.6.6 1.6.6.1 1.6.7 1.6.7.1 1.6.8 1.6.8.1 1.6.8.2 1.6.8.3 1.6.9 1.6.9.1 1.6.9.2 1.6.9.3 1.6.9.4 1.7 1.7.0.1 1.7.0.2 1.7.0.3 1.7.1 1.7.1.1 1.7.1.2 1.7.1.3 1.7.1.4 1.7.1.5 1.7.10 trunk 1.7.11 1.0.1 1.7.12 1.0.2 1.7.13 1.0.3 1.7.14 1.1.0 1.7.15 1.1.1 1.7.16 1.1.2 1.7.17 1.1.3 1.7.18 1.10 1.7.19 1.10.1 1.7.2 1.10.10 1.7.2.1 1.10.11 1.7.20 1.10.12 1.7.21 1.10.2 1.7.22 1.10.3 1.7.23 1.10.4 1.7.24 1.10.5 1.7.25 1.10.6 1.7.3 1.10.7 1.7.4 1.10.8 1.7.4.1 1.10.9 1.7.4.2 1.11 1.7.4.3 1.11.1 1.7.4.4 1.11.2 1.7.4.5 1.12 1.7.5 1.13 1.7.5.1 1.13.1 1.7.6 1.13.2 1.7.7 1.13.3 1.7.8 1.13.4 1.7.9 1.13.5 1.7.9.1 1.13.6 1.7.9.2 1.13.7 1.7.9.3 1.13.8 1.8 1.14 1.8.1 1.14.1 1.8.10 1.14.10 1.8.11 1.14.11 1.8.12 1.14.2 1.8.13 1.14.3 1.8.14 1.14.4 1.8.15 1.14.5 1.8.16 1.14.6 1.8.17 1.14.7 1.8.18 1.14.8 1.8.19 1.14.9 1.8.2 1.15 1.8.20 1.16 1.8.21 1.16.1 1.8.22 1.17 1.8.23 1.17.1 1.8.24 1.17.10 1.8.25 1.17.10-rc.1 1.8.26 1.17.11 1.8.27 1.17.12 1.8.28 1.17.12-rc.1 1.8.29 1.17.2 1.8.3 1.17.3 1.8.30 1.17.4 1.8.4 1.17.5 1.8.5 1.17.6 1.8.6 1.17.7 1.8.7 1.17.8 1.8.8 1.17.9 1.8.9 1.17.9-beta.1 1.9 1.18.0 2.0.0 1.19.0 2.0.1 1.19.1 2.0.10 1.2 2.0.11 1.2.1 2.0.12 1.2.2 2.0.13 1.2.3 2.0.14 1.2.4 2.0.15 1.2.5 2.0.16 1.2.6 2.0.17 1.2.7 2.0.18 1.20.0 2.0.19 1.20.0-rc.1 2.0.2 1.20.0-rc.2 2.0.20 1.20.1 2.0.3 1.20.2 2.0.4 1.20.3 2.0.5 1.21.0 2.0.6 1.21.1 2.0.7 1.22.0 2.0.8 1.22.1 2.0.9 1.22.2 1.23.0 1.23.1 1.23.2 1.24.0 1.24.1 1.24.2 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.29.0 1.29.1 1.3 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.16 1.3.17 1.3.18 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.30.0 1.30.1 1.30.2 1.30.2-rc.1 1.30.3 1.30.4 1.30.4-rc.1 1.30.5 1.31.0 1.31.1 1.32.0 1.32.0-rc.1 1.33.0 1.33.1 1.33.2 1.34.0 1.35.0 1.35.1 1.36.0 1.36.1 1.36.2 1.36.3 1.37.0 1.37.1 1.37.2
advanced-ads / classes / checks.php
advanced-ads / classes Last commit date
EDD_SL_Plugin_Updater.php 8 years ago ad-ajax.php 8 years ago ad-debug.php 8 years ago ad-model.php 8 years ago ad-select.php 10 years ago ad.php 7 years ago ad_ajax_callbacks.php 7 years ago ad_group.php 7 years ago ad_placements.php 7 years ago ad_type_abstract.php 8 years ago ad_type_content.php 8 years ago ad_type_dummy.php 8 years ago ad_type_group.php 8 years ago ad_type_image.php 7 years ago ad_type_plain.php 8 years ago checks.php 7 years ago compatibility.php 7 years ago display-conditions.php 7 years ago filesystem.php 8 years ago frontend_checks.php 7 years ago plugin.php 7 years ago upgrades.php 9 years ago utils.php 7 years ago visitor-conditions.php 7 years ago widget.php 7 years ago
checks.php
232 lines
1 <?php
2
3 /**
4 * checks for various things
5 *
6 * @since 1.6.9
7 */
8 class Advanced_Ads_Checks {
9
10 /**
11 * show the list of potential issues
12 */
13 public static function show_issues(){
14 include_once ADVADS_BASE_PATH . '/admin/views/checks.php';
15 }
16
17 /**
18 * php version minimum 5.3
19 *
20 * @return bool true if 5.3 and higher
21 */
22 public static function php_version_minimum(){
23
24 if (version_compare(phpversion(), '5.3', '>=')) {
25 return true;
26 }
27
28 return false;
29 }
30
31 /**
32 * caching used
33 *
34 * @return bool true if active
35 */
36 public static function cache(){
37 if ( ( defined( 'WP_CACHE' ) && WP_CACHE ) // general cache constant
38 || defined('W3TC') // W3 Total Cache
39 || function_exists( 'wp_super_cache_text_domain' ) // WP SUper Cache
40 || defined( 'WP_ROCKET_SLUG' ) //WP Rocket
41 || defined( 'WPFC_WP_CONTENT_DIR' ) //WP Fastest Cache
42 || class_exists( 'HyperCache', false ) // Hyper Cache
43 || defined( 'CE_CACHE_DIR' ) // Cache Enabler
44 ){
45 return true;
46 }
47
48 return false;
49 }
50
51 /**
52 * WordPress update available
53 *
54 * @return bool true if WordPress update available
55 */
56 public static function wp_update_available(){
57
58 $update_data = wp_get_update_data();
59 $count = absint( $update_data['counts']['wordpress'] );
60
61 if( $count ){
62 return true;
63 }
64
65 return false;
66 }
67
68 /**
69 * any plugin updates available
70 *
71 * @return bool true if plugin updates are available
72 */
73 public static function plugin_updates_available(){
74
75 // iterate throught the plugins and check if any of them is ours (i.e., starts with the string "advanced-ads")
76 $update_plugins = get_site_transient( 'update_plugins' );
77 if ( ! empty( $update_plugins->response ) ) {
78 foreach( $update_plugins->response as $_key => $_responsive ){
79 if( 0 === strpos( $_key, 'advanced-ads') ){
80 return true;
81 }
82 }
83 }
84
85 return false;
86 }
87
88 /**
89 * check if license keys are missing or invalid or expired
90 *
91 * @since 1.6.6
92 * @update 1.6.9 moved from Advanced_Ads_Plugin
93 * @update 1.8.21 also check for expired licenses
94 * @return true if there are missing licenses
95 */
96 public static function licenses_invalid(){
97
98 $add_ons = apply_filters( 'advanced-ads-add-ons', array() );
99
100 if( $add_ons === array() ) {
101 return false;
102 }
103
104 foreach( $add_ons as $_add_on_key => $_add_on ){
105 $status = Advanced_Ads_Admin_Licenses::get_instance()->get_license_status( $_add_on['options_slug'] );
106
107 // check expiry date
108 $expiry_date = Advanced_Ads_Admin_Licenses::get_instance()->get_license_expires( $_add_on['options_slug'] );
109
110 if( $expiry_date && 'lifetime' !== $expiry_date && strtotime( $expiry_date ) < time() ){
111 return true;
112 }
113
114 // don’t check if license is valid
115 if( $status === 'valid' ) {
116 continue;
117 }
118
119 // retrieve our license key from the DB
120 $licenses = Advanced_Ads_Admin_Licenses::get_instance()->get_licenses();
121
122 $license_key = isset($licenses[$_add_on_key]) ? $licenses[$_add_on_key] : false;
123
124 if( ! $license_key || $status !== 'valid' ){
125 return true;
126 }
127 }
128
129 return false;
130 }
131
132 /**
133 * Autoptimize plugin installed
134 * can change ad tags, especially inline css and scripts
135 *
136 * @link https://wordpress.org/plugins/autoptimize/
137 * @return bool true if Autoptimize is installed
138 */
139 public static function active_autoptimize(){
140
141 if( defined( 'AUTOPTIMIZE_CACHE_DIR' ) ){
142 return true;
143 }
144
145 return false;
146 }
147
148 /**
149 * check for additional conflicting plugins
150 *
151 * @return arr $plugins names of conflicting plugins
152 */
153 public static function conflicting_plugins(){
154
155 $conflicting_plugins = array();
156
157 if( defined( 'Publicize_Base' ) ){ // JetPack Publicize module
158 $conflicting_plugins[] = 'Jetpack – Publicize';
159 }
160 if( defined( 'PF__PLUGIN_DIR' ) ){ // Facebook Instant Articles & Google AMP Pages by PageFrog
161 $conflicting_plugins[] = 'Facebook Instant Articles & Google AMP Pages by PageFrog';
162 }
163 if( defined( 'GT_VERSION' ) ){ // GT ShortCodes
164 $conflicting_plugins[] = 'GT ShortCodes';
165 }
166 if( class_exists( 'ITSEC_Core', false ) && defined ( 'AAP_VERSION' ) ){ // iThemes Security, but only if Pro is enabled
167 $conflicting_plugins[] = 'iThemes Security';
168 }
169
170 return $conflicting_plugins;
171 }
172
173 /**
174 * check if any of the global hide ads options is set
175 * ignore feed setting, because it is standard
176 *
177 * @since 1.7.10
178 * @return bool
179 */
180 public static function ads_disabled(){
181 $options = Advanced_Ads::get_instance()->options();
182 if( isset( $options['disabled-ads'] ) && is_array( $options['disabled-ads'] ) ){
183 foreach( $options['disabled-ads'] as $_key => $_value ){
184 // don’t warn if "feed" and "404" option are enabled, because they are normally not critical
185 if( !empty( $_value ) && !in_array($_key, array( 'feed', '404') ) ){
186 return true;
187 }
188 }
189 }
190 return false;
191 }
192
193 /**
194 * check for required php extensions
195 *
196 * @since 1.8.21
197 * @return bool
198 */
199 public static function php_extensions(){
200
201 $missing_extensions = array();
202
203 if( !extension_loaded('dom') ){
204 $missing_extensions[] = 'dom';
205 }
206
207 if( !extension_loaded('xml') ){
208 $missing_extensions[] = 'xml';
209 }
210
211 return $missing_extensions;
212 }
213
214
215 /**
216 * check for potential jQuery errors
217 * only script, so no return, but direct output
218 *
219 */
220 public static function jquery_ui_conflict(){
221 ?>
222 <div id="advads-jqueryui-conflict-message" style="display:none;" class="message error"><p><?php printf( __( 'Possible conflict between jQueryUI library, used by Advanced Ads and other libraries (probably <a href="%s">Twitter Bootstrap</a>). This might lead to misfortunate formats in forms, but should not damage features.', 'advanced-ads' ), 'http://getbootstrap.com/javascript/#js-noconflict' ); ?></p></div>
223 <script>// string from jquery-ui source code
224 jQuery(document).ready(function(){
225 var needle = 'var g="string"==typeof f,h=c.call(arguments,1)';
226 if ( jQuery.fn.button.toString().indexOf( needle ) === -1 || jQuery.fn.tooltip.toString().indexOf( needle ) === -1 ) {
227 jQuery( '#advads-jqueryui-conflict-message' ).show();
228 }
229 });
230 </script><?php
231 }
232 }