PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 1.51.3
Advanced Ads – Ad Manager & AdSense v1.51.3
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-plugin.php
advanced-ads / includes Last commit date
abstracts 2 years ago admin 2 years ago database 2 years ago groups 2 years ago installation 2 years ago interfaces 2 years ago traits 2 years ago utilities 2 years ago array_ad_conditions.php 3 years ago cap_map.php 3 years ago class-assets-registry.php 2 years ago class-autoloader.php 2 years ago class-entities.php 2 years ago class-plugin.php 2 years ago functions.php 3 years ago index.php 2 years ago load_modules.php 2 years ago
class-plugin.php
163 lines
1 <?php
2 /**
3 * The plugin bootstrap.
4 *
5 * @package AdvancedAds
6 * @author Advanced Ads <info@wpadvancedads.com>
7 * @since 1.47.0
8 */
9
10 namespace AdvancedAds;
11
12 use AdvancedAds\Admin;
13 use AdvancedAds\Groups;
14 use AdvancedAds\Framework;
15 use AdvancedAds\Framework\Loader;
16 use AdvancedAds\Installation\Install;
17
18 defined( 'ABSPATH' ) || exit;
19
20 /**
21 * Plugin.
22 */
23 class Plugin extends Loader {
24
25 /**
26 * Main instance
27 *
28 * Ensure only one instance is loaded or can be loaded.
29 *
30 * @return Plugin
31 */
32 public static function get(): Plugin {
33 static $instance;
34
35 if ( null === $instance ) {
36 $instance = new Plugin();
37 $instance->setup();
38 }
39
40 return $instance;
41 }
42
43 /**
44 * Get plugin version
45 *
46 * @return string
47 */
48 public function get_version(): string {
49 return ADVADS_VERSION;
50 }
51
52 /**
53 * Bootstrap plugin.
54 *
55 * @return void
56 */
57 private function setup(): void {
58 $this->define_constants();
59 $this->includes();
60
61 /**
62 * Old loading strategy
63 *
64 * TODO: need to remove it in future.
65 */
66
67 // Load public functions (might be used by modules, other plugins or theme).
68 require_once ADVADS_ABSPATH . 'includes/functions.php';
69 require_once ADVADS_ABSPATH . 'includes/cap_map.php';
70
71 // Public-Facing and Core Functionality.
72 \Advanced_Ads::get_instance();
73 \Advanced_Ads_ModuleLoader::loadModules( ADVADS_ABSPATH . 'modules/' ); // enable modules, requires base class.
74
75 // Dashboard and Administrative Functionality.
76 if ( is_admin() ) {
77 \Advanced_Ads_Admin::get_instance();
78 }
79
80 add_action( 'plugins_loaded', [ $this, 'on_plugins_loaded' ], -1 );
81 $this->load();
82 }
83
84 /**
85 * When WordPress has loaded all plugins, trigger the `advanced-ads-loaded` hook.
86 *
87 * @since 1.47.0
88 *
89 * @return void
90 */
91 public function on_plugins_loaded(): void {
92 /**
93 * Action trigger after loading finished.
94 *
95 * @since 1.47.0
96 */
97 do_action( 'advanced-ads-loaded' );
98 }
99
100 /**
101 * Define Advanced Ads constant
102 *
103 * @return void
104 */
105 private function define_constants(): void {
106 $this->define( 'ADVADS_ABSPATH', dirname( ADVADS_FILE ) . '/' );
107 $this->define( 'ADVADS_PLUGIN_BASENAME', plugin_basename( ADVADS_FILE ) );
108 $this->define( 'ADVADS_BASE_URL', plugin_dir_url( ADVADS_FILE ) );
109 $this->define( 'ADVADS_SLUG', 'advanced-ads' );
110
111 // Deprecated Constants.
112 /**
113 * ADVADS_BASE
114 *
115 * @deprecated 1.47.0 use ADVADS_PLUGIN_BASENAME now.
116 */
117 define( 'ADVADS_BASE', ADVADS_PLUGIN_BASENAME );
118
119 /**
120 * ADVADS_BASE_PATH
121 *
122 * @deprecated 1.47.0 use ADVADS_ABSPATH now.
123 */
124 define( 'ADVADS_BASE_PATH', ADVADS_ABSPATH );
125
126 /**
127 * ADVADS_BASE_DIR
128 *
129 * @deprecated 1.47.0 Avoid global declaration of the constant used exclusively in `load_text_domain` function; use localized declaration instead.
130 */
131 define( 'ADVADS_BASE_DIR', dirname( ADVADS_PLUGIN_BASENAME ) );
132
133 /**
134 * ADVADS_URL
135 *
136 * @deprecated 1.47.0 Deprecating the constant in favor of using the direct URL to circumvent costly `esc_url` function; please update code accordingly.
137 */
138 define( 'ADVADS_URL', 'https://wpadvancedads.com/' );
139 }
140
141 /**
142 * Includes core files used in admin and on the frontend.
143 *
144 * @return void
145 */
146 private function includes(): void {
147 $this->register_initializer( Install::class );
148 $this->register_integration( Entities::class );
149 $this->register_integration( Assets_Registry::class );
150 $this->register_integration( Framework\JSON::class, 'json', [ 'advancedAds' ] );
151 $this->register_integration( Groups\Manager::class, 'group_manager' );
152
153 // Only in admin area.
154 if ( is_admin() ) {
155 $this->register_integration( Admin\Action_Links::class );
156 $this->register_integration( Admin\Assets::class );
157 $this->register_integration( Admin\Header::class );
158 $this->register_integration( Admin\TinyMCE::class );
159 $this->register_integration( Admin\Admin_Menu::class );
160 }
161 }
162 }
163