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-modules.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-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
25 */
26 private $modules = [];
27
28 /**
29 * Running modules.
30 *
31 * @var array
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