PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.24
Advanced Ads – Ad Manager & AdSense v2.0.24
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 / includes / class-autoloader.php
advanced-ads / includes Last commit date
abstracts 1 day ago admin 1 week ago ads 1 week ago compatibility 1 week ago crons 1 week ago frontend 1 week ago groups 1 day ago importers 1 day ago installation 1 year ago interfaces 5 months ago license 3 months ago placements 1 week ago rest 1 day ago traits 1 week ago utilities 1 week ago cap_map.php 3 years ago class-assets-registry.php 4 weeks ago class-autoloader.php 1 week ago class-cache-invalidator.php 1 week ago class-constants.php 1 year ago class-content-injector.php 4 weeks ago class-entities.php 3 months ago class-modal.php 1 year ago class-modules.php 1 year ago class-options.php 1 year ago class-plugin.php 1 week ago class-post-data.php 10 months ago class-shortcodes.php 1 week ago class-upgrades.php 1 day ago class-widget.php 11 months ago default-hooks.php 5 months ago functions-ad.php 1 week ago functions-components.php 3 months ago functions-conditional.php 1 year ago functions-core.php 1 year ago functions-group.php 1 day ago functions-placement.php 1 week ago functions.php 1 week ago index.php 2 years ago load_modules.php 2 years ago
class-autoloader.php
129 lines
1 <?php
2 /**
3 * The class is responsible for locating and loading the autoloader file used in the plugin.
4 *
5 * @package AdvancedAds
6 * @author Advanced Ads <info@wpadvancedads.com>
7 * @since 1.47.0
8 */
9
10 namespace AdvancedAds;
11
12 defined( 'ABSPATH' ) || exit;
13
14 /**
15 * Autoloader.
16 */
17 class Autoloader {
18
19 /**
20 * Hold autoloader.
21 *
22 * @var mixed
23 */
24 private $autoloader;
25
26 /**
27 * Main instance
28 *
29 * Ensure only one instance is loaded or can be loaded.
30 *
31 * @return Autoloader
32 */
33 public static function get(): Autoloader {
34 static $instance;
35
36 if ( null === $instance ) {
37 $instance = new Autoloader();
38 }
39
40 return $instance;
41 }
42
43 /**
44 * Get hold autoloader.
45 *
46 * @return mixed
47 */
48 public function get_autoloader() {
49 return $this->autoloader;
50 }
51
52 /**
53 * Runs this initializer.
54 *
55 * @return void
56 */
57 public function initialize(): void {
58 $locate = $this->locate();
59
60 if ( ! $locate ) {
61 add_action( 'admin_notices', [ $this, 'missing_autoloader' ] );
62 return;
63 }
64
65 $this->autoloader = require $locate;
66 $this->register_wordpress();
67 }
68
69 /**
70 * Locate the autoload file
71 *
72 * This function searches for the autoload file in the packages directory and vendor directory.
73 *
74 * @return bool|string
75 */
76 private function locate() {
77 $directory = dirname( ADVADS_FILE );
78 $packages = $directory . '/packages/autoload.php';
79 $vendors = $directory . '/vendor/autoload.php';
80 $is_debug = ( defined( 'WP_DEBUG' ) && WP_DEBUG ) || 'local' === wp_get_environment_type();
81
82 if ( is_readable( $packages ) && ( ! $is_debug || ! is_readable( $vendors ) ) ) {
83 return $packages;
84 }
85
86 if ( is_readable( $vendors ) ) {
87 return $vendors;
88 }
89
90 return false;
91 }
92
93 /**
94 * Add WordPress classes to map
95 *
96 * @return void
97 */
98 private function register_wordpress(): void {
99 $this->autoloader->addClassmap(
100 [
101 'WP_List_Table' => ABSPATH . 'wp-admin/includes/class-wp-list-table.php',
102 'WP_Terms_List_Table' => ABSPATH . 'wp-admin/includes/class-wp-terms-list-table.php',
103 ]
104 );
105 }
106
107 /**
108 * If the autoloader is missing, add an admin notice.
109 *
110 * @return void
111 */
112 protected function missing_autoloader(): void {
113 ?>
114 <div class="notice notice-error">
115 <p>
116 <?php
117 printf(
118 /* translators: 1: is a link to a support document. 2: closing link */
119 esc_html__( 'Your installation of Advanced Ads is incomplete. If you installed Advanced Ads from GitHub, %1$s please refer to this document%2$s to set up your development environment.', 'advanced-ads' ),
120 '<a href="' . esc_url( 'https://github.com/advanced-ads/advanced-ads/wiki/How-to-set-up-development-environment' ) . '" target="_blank" rel="noopener noreferrer">',
121 '</a>'
122 );
123 ?>
124 </p>
125 </div>
126 <?php
127 }
128 }
129