PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.26
Advanced Ads – Ad Manager & AdSense v2.0.26
2.0.26 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 / includes / class-modules.php
advanced-ads / includes Last commit date
abstracts 3 weeks ago admin 3 weeks ago ads 3 weeks ago compatibility 3 weeks ago crons 3 weeks ago frontend 3 weeks ago groups 3 weeks ago importers 3 weeks ago installation 3 weeks ago interfaces 3 weeks ago license 3 weeks ago placements 3 weeks ago rest 3 weeks ago traits 3 weeks ago utilities 3 weeks ago class-assets-registry.php 1 month ago class-autoloader.php 1 month ago class-cache-invalidator.php 3 weeks ago class-constants.php 3 weeks ago class-content-injector.php 3 weeks ago class-entities.php 5 months ago class-modal.php 3 weeks ago class-modules.php 3 weeks ago class-options.php 3 weeks ago class-plugin.php 3 weeks ago class-post-data.php 1 year ago class-shortcodes.php 3 weeks ago class-upgrades.php 3 weeks ago class-widget.php 3 weeks ago default-hooks.php 6 months ago functions-ad.php 3 weeks ago functions-components.php 3 weeks ago functions-conditional.php 1 year ago functions-core.php 1 year ago functions-group.php 3 weeks ago functions-placement.php 3 weeks ago functions.php 3 weeks ago index.php 2 years ago load_modules.php 3 weeks ago
class-modules.php
93 lines
1 <?php
2 /**
3 * Modules.
4 *
5 * @package AdvancedAds
6 * @author Advanced Ads <info@wpadvancedads.com>
7 * @since 1.50.0
8 */
9
10 namespace AdvancedAds;
11
12 use AdvancedAds\Interfaces\Module_Interface;
13 use AdvancedAds\Framework\Interfaces\Initializer_Interface;
14
15 defined( 'ABSPATH' ) || exit;
16
17 /**
18 * Modules.
19 */
20 class Modules implements Initializer_Interface {
21 /**
22 * Modules.
23 *
24 * @var array<string, mixed>
25 */
26 private $modules = [];
27
28 /**
29 * Running modules.
30 *
31 * @var array<string, mixed>
32 */
33 private $running = [];
34
35 /**
36 * Runs this initializer.
37 *
38 * @return void
39 */
40 public function initialize(): void {
41 add_action( 'init', [ $this, 'load_modules' ], 0 );
42 }
43
44 /**
45 * Register a module.
46 *
47 * @param string $module Module class name.
48 *
49 * @return void
50 */
51 public function register_module( string $module ): void {
52 $module = new $module();
53 $name = $module->get_name();
54
55 $this->modules[ $name ] = $module;
56 }
57
58 /**
59 * Load modules.
60 *
61 * @return void
62 */
63 public function load_modules(): void {
64 foreach ( $this->modules as $module ) {
65 if ( $this->can_load( $module ) ) {
66 $module->load();
67 }
68 }
69 }
70
71 /**
72 * Check if a module can be loaded.
73 *
74 * @param Module_Interface $module Module object.
75 *
76 * @return bool
77 */
78 private function can_load( Module_Interface $module ): bool {
79 $check = apply_filters( 'advanced-ads-can-load-module', true, $module );
80 if ( ! $check ) {
81 return false;
82 }
83
84 if ( in_array( $module->get_name(), $this->running, true ) ) {
85 return false;
86 }
87
88 $this->running[] = $module->get_name();
89
90 return true;
91 }
92 }
93