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 / traits / class-wrapper.php
advanced-ads / includes / traits Last commit date
class-entity.php 1 year ago class-extras.php 1 year ago class-wrapper.php 1 week ago index.php 2 years ago
class-wrapper.php
155 lines
1 <?php
2 /**
3 * Traits Wrapper.
4 *
5 * @package AdvancedAds
6 * @author Advanced Ads <info@wpadvancedads.com>
7 * @since 1.48.2
8 */
9
10 namespace AdvancedAds\Traits;
11
12 use AdvancedAds\Framework\Utilities\HTML;
13
14 defined( 'ABSPATH' ) || exit;
15
16 /**
17 * Traits Wrapper.
18 */
19 trait Wrapper {
20
21 /**
22 * Get the wrapper ID for the entity.
23 *
24 * @param string $context What the value is for. Valid values are view and edit.
25 *
26 * @return string
27 */
28 public function get_wrapper_id( $context = 'view' ): string {
29 return (string) $this->get_prop( 'wrapper-id', $context );
30 }
31
32 /**
33 * Get the wrapper classes for the entity.
34 *
35 * @param string $context What the value is for. Valid values are view and edit.
36 *
37 * @return string
38 */
39 public function get_wrapper_class( $context = 'view' ): string {
40 return (string) $this->get_prop( 'wrapper-class', $context );
41 }
42
43 /**
44 * Set wrapper id.
45 *
46 * @param string $wrapper_id Entity wrapper id.
47 *
48 * @return void
49 */
50 public function set_wrapper_id( $wrapper_id ): void {
51 if ( property_exists( $this, 'wrapper' ) ) {
52 $this->wrapper = null;
53 }
54
55 $this->set_prop( 'wrapper-id', sanitize_key( $wrapper_id ) );
56 }
57
58 /**
59 * Set wrapper class.
60 *
61 * @param string $wrapper_class Entity wrapper class.
62 *
63 * @return void
64 */
65 public function set_wrapper_class( $wrapper_class ): void {
66 if ( property_exists( $this, 'wrapper' ) ) {
67 $this->wrapper = null;
68 }
69
70 $this->set_prop( 'wrapper-class', sanitize_text_field( $wrapper_class ) );
71 }
72
73 /**
74 * Creates a wrapper element with the specified tag, attributes, and content.
75 *
76 * @param string $tag The HTML tag for the wrapper element.
77 * @param array $attrs Optional. An array of attributes to add to the wrapper element. Default is an empty array.
78 * @param string $content Optional. The content to be placed inside the wrapper element. Default is an empty string.
79 *
80 * @return string The generated wrapper element.
81 */
82 public function create_wrapper( $tag, $attrs = [], $content = '' ) {
83 $attrs = HTML::build_attributes( $attrs );
84
85 return "<{$tag} {$attrs}>{$content}</{$tag}>";
86 }
87
88
89 /**
90 * Sets the wrapper styles based on the given position.
91 *
92 * @param array $wrapper The wrapper array to store the styles.
93 * @param string $position The position of the ad.
94 * @param bool $use_position Whether to use the position or not.
95 *
96 * @return void
97 */
98 protected function get_wrapper_styles( &$wrapper, $position, $use_position = false ): void {
99 // Always keep margin before handling position (Specific to Ads).
100 if ( method_exists( $this, 'get_margin' ) ) {
101 $margin = $this->get_margin();
102 foreach ( $margin as $key => $value ) {
103 if ( ! empty( $value ) ) {
104 $wrapper['style'][ 'margin-' . $key ] = $value . 'px';
105 }
106 }
107 }
108
109 switch ( $position ) {
110 case 'left':
111 case 'left_float':
112 case 'left_nofloat':
113 $wrapper['style']['float'] = 'left';
114 break;
115 case 'right':
116 case 'right_float':
117 case 'right_nofloat':
118 $wrapper['style']['float'] = 'right';
119 break;
120 case 'center':
121 case 'center_nofloat':
122 case 'center_float':
123 if ( method_exists( $this, 'get_margin' ) ) {
124 $wrapper['style']['margin-left'] = 'auto';
125 $wrapper['style']['margin-right'] = 'auto';
126 }
127
128 $width = method_exists( $this, 'get_width' ) ? $this->get_width() : 0;
129 $add_wrapper_sizes = method_exists( $this, 'get_prop' ) ? $this->get_prop( 'add_wrapper_sizes' ) : false;
130
131 if ( empty( $width ) || empty( $add_wrapper_sizes ) || $use_position ) {
132 $wrapper['style']['text-align'] = 'center';
133 }
134 break;
135 case 'clearfix':
136 $wrapper['style']['clear'] = 'both';
137 break;
138 }
139
140 if ( method_exists( $this, 'is_space_reserved' ) && $this->is_space_reserved() ) {
141 if ( method_exists( $this, 'get_width' ) && ! empty( $this->get_width() ) ) {
142 $wrapper['style']['width'] = $this->get_width() . 'px';
143 }
144
145 if ( method_exists( $this, 'get_height' ) && ! empty( $this->get_height() ) ) {
146 $wrapper['style']['height'] = $this->get_height() . 'px';
147 }
148 }
149
150 if ( method_exists( $this, 'get_clearfix' ) && ! empty( $this->get_clearfix() ) ) {
151 $wrapper['style']['clear'] = 'both';
152 }
153 }
154 }
155