PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.24
Advanced Ads – Ad Manager & AdSense v2.0.24
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 / placements / class-placement-types.php
advanced-ads / includes / placements Last commit date
types 3 months ago class-placement-after-content.php 1 year ago class-placement-before-content.php 1 year ago class-placement-content.php 1 year ago class-placement-factory.php 1 week ago class-placement-footer.php 1 year ago class-placement-header.php 1 year ago class-placement-repository.php 1 week ago class-placement-sidebar-widget.php 1 year ago class-placement-standard.php 1 year ago class-placement-types.php 3 months ago class-placements.php 1 year ago index.php 1 year ago
class-placement-types.php
115 lines
1 <?php
2 /**
3 * Placements types manager..
4 *
5 * @package AdvancedAds
6 * @author Advanced Ads <info@wpadvancedads.com>
7 * @since 1.47.0
8 */
9
10 namespace AdvancedAds\Placements;
11
12 use AdvancedAds\Abstracts\Types;
13 use AdvancedAds\Placements\Types\Footer;
14 use AdvancedAds\Placements\Types\Header;
15 use AdvancedAds\Placements\Types\Content;
16 use AdvancedAds\Placements\Types\Unknown;
17 use AdvancedAds\Interfaces\Placement_Type;
18 use AdvancedAds\Placements\Types\Standard;
19 use AdvancedAds\Placements\Types\After_Content;
20 use AdvancedAds\Placements\Types\Before_Content;
21 use AdvancedAds\Placements\Types\Sidebar_Widget;
22
23 defined( 'ABSPATH' ) || exit;
24
25 /**
26 * Placements Types.
27 */
28 class Placement_Types extends Types {
29
30 /**
31 * Hook to filter types.
32 *
33 * @var string
34 */
35 protected $hook = 'advanced-ads-placement-types';
36
37 /**
38 * Class for unknown type.
39 *
40 * @var string
41 */
42 protected $type_unknown = Unknown::class;
43
44 /**
45 * Type interface to check.
46 *
47 * @var string
48 */
49 protected $type_interface = Placement_Type::class;
50
51 /**
52 * Register custom types.
53 *
54 * @return void
55 */
56 public function register_types(): void {
57 parent::register_types();
58
59 $this->sort_types();
60 }
61
62 /**
63 * Register default types.
64 *
65 * @return void
66 */
67 protected function register_default_types(): void {
68 $this->register_type( After_Content::class );
69 $this->register_type( Before_Content::class );
70 $this->register_type( Content::class );
71 $this->register_type( Footer::class );
72 $this->register_type( Header::class );
73 $this->register_type( Sidebar_Widget::class );
74 $this->register_type( Standard::class );
75 }
76
77 /**
78 * Get type dropdown options
79 *
80 * @return array
81 */
82 public function get_dropdown_options(): array {
83 $options = [];
84
85 foreach ( $this->get_types() as $type ) {
86 $options[ $type->get_id() ] = $type->get_title();
87 }
88
89 asort( $options );
90
91 return $options;
92 }
93
94 /**
95 * Sort screens by order.
96 *
97 * @return void
98 */
99 private function sort_types(): void {
100 uasort(
101 $this->types,
102 static function ( $a, $b ) {
103 $order_a = $a->get_order();
104 $order_b = $b->get_order();
105
106 if ( $order_a === $order_b ) {
107 return 0;
108 }
109
110 return ( $order_a < $order_b ) ? -1 : 1;
111 }
112 );
113 }
114 }
115