PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 1.8.26
Advanced Ads – Ad Manager & AdSense v1.8.26
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 9 years ago ad-debug.php 8 years ago ad-model.php 9 years ago ad-select.php 9 years ago ad.php 8 years ago ad_ajax_callbacks.php 8 years ago ad_group.php 8 years ago ad_placements.php 8 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 8 years ago ad_type_plain.php 8 years ago checks.php 8 years ago display-conditions.php 8 years ago filesystem.php 8 years ago frontend_checks.php 8 years ago plugin.php 8 years ago upgrades.php 9 years ago utils.php 8 years ago visitor-conditions.php 8 years ago widget.php 8 years ago
checks.php
229 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 $update_data = wp_get_update_data();
76 $count = absint( $update_data['counts']['plugins'] );
77
78 if( $count ){
79 return true;
80 }
81
82 return false;
83 }
84
85 /**
86 * check if license keys are missing or invalid or expired
87 *
88 * @since 1.6.6
89 * @update 1.6.9 moved from Advanced_Ads_Plugin
90 * @update 1.8.21 also check for expired licenses
91 * @return true if there are missing licenses
92 */
93 public static function licenses_invalid(){
94
95 $add_ons = apply_filters( 'advanced-ads-add-ons', array() );
96
97 if( $add_ons === array() ) {
98 return false;
99 }
100
101 foreach( $add_ons as $_add_on_key => $_add_on ){
102 $status = Advanced_Ads_Admin_Licenses::get_instance()->get_license_status( $_add_on['options_slug'] );
103
104 // check expiry date
105 $expiry_date = Advanced_Ads_Admin_Licenses::get_instance()->get_license_expires( $_add_on['options_slug'] );
106
107 if( $expiry_date && 'lifetime' !== $expiry_date && strtotime( $expiry_date ) < time() ){
108 return true;
109 }
110
111 // don’t check if license is valid
112 if( $status === 'valid' ) {
113 continue;
114 }
115
116 // retrieve our license key from the DB
117 $licenses = Advanced_Ads_Admin_Licenses::get_instance()->get_licenses();
118
119 $license_key = isset($licenses[$_add_on_key]) ? $licenses[$_add_on_key] : false;
120
121 if( ! $license_key || $status !== 'valid' ){
122 return true;
123 }
124 }
125
126 return false;
127 }
128
129 /**
130 * Autoptimize plugin installed
131 * can change ad tags, especially inline css and scripts
132 *
133 * @link https://wordpress.org/plugins/autoptimize/
134 * @return bool true if Autoptimize is installed
135 */
136 public static function active_autoptimize(){
137
138 if( defined( 'AUTOPTIMIZE_CACHE_DIR' ) ){
139 return true;
140 }
141
142 return false;
143 }
144
145 /**
146 * check for additional conflicting plugins
147 *
148 * @return arr $plugins names of conflicting plugins
149 */
150 public static function conflicting_plugins(){
151
152 $conflicting_plugins = array();
153
154 if( defined( 'Publicize_Base' ) ){ // JetPack Publicize module
155 $conflicting_plugins[] = 'Jetpack – Publicize';
156 }
157 if( defined( 'PF__PLUGIN_DIR' ) ){ // Facebook Instant Articles & Google AMP Pages by PageFrog
158 $conflicting_plugins[] = 'Facebook Instant Articles & Google AMP Pages by PageFrog';
159 }
160 if( defined( 'GT_VERSION' ) ){ // GT ShortCodes
161 $conflicting_plugins[] = 'GT ShortCodes';
162 }
163 if( class_exists( 'ITSEC_Core', false ) && defined ( 'AAP_VERSION' ) ){ // iThemes Security, but only if Pro is enabled
164 $conflicting_plugins[] = 'iThemes Security';
165 }
166
167 return $conflicting_plugins;
168 }
169
170 /**
171 * check if any of the global hide ads options is set
172 * ignore feed setting, because it is standard
173 *
174 * @since 1.7.10
175 * @return bool
176 */
177 public static function ads_disabled(){
178 $options = Advanced_Ads::get_instance()->options();
179 if( isset( $options['disabled-ads'] ) && is_array( $options['disabled-ads'] ) ){
180 foreach( $options['disabled-ads'] as $_key => $_value ){
181 // don’t warn if "feed" and "404" option are enabled, because they are normally not critical
182 if( !empty( $_value ) && !in_array($_key, array( 'feed', '404') ) ){
183 return true;
184 }
185 }
186 }
187 return false;
188 }
189
190 /**
191 * check for required php extensions
192 *
193 * @since 1.8.21
194 * @return bool
195 */
196 public static function php_extensions(){
197
198 $missing_extensions = array();
199
200 if( !extension_loaded('dom') ){
201 $missing_extensions[] = 'dom';
202 }
203
204 if( !extension_loaded('xml') ){
205 $missing_extensions[] = 'xml';
206 }
207
208 return $missing_extensions;
209 }
210
211
212 /**
213 * check for potential jQuery errors
214 * only script, so no return, but direct output
215 *
216 */
217 public static function jquery_ui_conflict(){
218 ?>
219 <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>
220 <script>// string from jquery-ui source code
221 jQuery(document).ready(function(){
222 var needle = 'var g="string"==typeof f,h=c.call(arguments,1)';
223 if ( jQuery.fn.button.toString().indexOf( needle ) === -1 || jQuery.fn.tooltip.toString().indexOf( needle ) === -1 ) {
224 jQuery( '#advads-jqueryui-conflict-message' ).show();
225 }
226 });
227 </script><?php
228 }
229 }