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 / ads / types / type-content.php
advanced-ads / includes / ads / types Last commit date
type-amp.php 1 year ago type-content.php 10 months ago type-dummy.php 1 year ago type-gam.php 1 year ago type-group.php 1 year ago type-image.php 1 year ago type-plain.php 1 year ago type-unknown.php 1 year ago
type-content.php
162 lines
1 <?php
2 /**
3 * This class represents the "Content" ad type.
4 *
5 * @package AdvancedAds
6 * @author Advanced Ads <info@wpadvancedads.com>
7 * @since 1.48.0
8 */
9
10 namespace AdvancedAds\Ads\Types;
11
12 use AdvancedAds\Ads\Ad_Content;
13 use AdvancedAds\Interfaces\Ad_Type;
14
15 defined( 'ABSPATH' ) || exit;
16
17 /**
18 * Type Content.
19 */
20 class Content implements Ad_Type {
21
22 /**
23 * Get the unique identifier (ID) of the ad type.
24 *
25 * @return string The unique ID of the ad type.
26 */
27 public function get_id(): string {
28 return 'content';
29 }
30
31 /**
32 * Get the class name of the object as a string.
33 *
34 * @return string
35 */
36 public function get_classname(): string {
37 return Ad_Content::class;
38 }
39
40 /**
41 * Get the title or name of the ad type.
42 *
43 * @return string The title of the ad type.
44 */
45 public function get_title(): string {
46 return __( 'Rich Content', 'advanced-ads' );
47 }
48
49 /**
50 * Get a description of the ad type.
51 *
52 * @return string The description of the ad type.
53 */
54 public function get_description(): string {
55 return __( 'The full content editor from WordPress with all features like shortcodes, image upload or styling, but also simple text/html mode for scripts and code.', 'advanced-ads' );
56 }
57
58 /**
59 * Check if this ad type requires premium.
60 *
61 * @return bool True if premium is required; otherwise, false.
62 */
63 public function is_premium(): bool {
64 return false;
65 }
66
67 /**
68 * Get the URL for upgrading to this ad type.
69 *
70 * @return string The upgrade URL for the ad type.
71 */
72 public function get_upgrade_url(): string {
73 return '';
74 }
75
76 /**
77 * Get the URL for upgrading to this ad type.
78 *
79 * @return string The upgrade URL for the ad type.
80 */
81 public function get_image(): string {
82 return ADVADS_BASE_URL . 'assets/img/ad-types/content.svg';
83 }
84
85 /**
86 * Check if this ad type has size parameters.
87 *
88 * @return bool True if has size parameters; otherwise, false.
89 */
90 public function has_size(): bool {
91 return true;
92 }
93
94 /**
95 * Output for the ad parameters metabox
96 *
97 * @param Ad_Content $ad Ad instance.
98 *
99 * @return void
100 */
101 public function render_parameters( $ad ): void {
102 $content = $ad->get_content() ?? '';
103
104 /**
105 * Build the tinymc editor
106 *
107 * @link http://codex.wordpress.org/Function_Reference/wp_editor
108 *
109 * Don't build it when ajax is used; display message and buttons instead
110 */
111 if ( wp_doing_ajax() ) :
112 // IMPORTANT: Keep textarea on a single line to prevent whitespace from being added to the content.
113 ?>
114 <textarea id="advads-ad-content-plain" style="display:none;" cols="40" rows="10" name="advanced_ad[content]"><?php echo esc_textarea( $content ); ?></textarea>
115 <?php
116 else :
117 if ( ! user_can_richedit() ) {
118 $content = esc_textarea( $content );
119 }
120 add_filter( 'tiny_mce_before_init', [ $this, 'tiny_mce_before_init' ], 10, 2 );
121
122 $args = [
123 'textarea_name' => 'advanced_ad[content]',
124 'textarea_rows' => 10,
125 'drag_drop_upload' => true,
126 ];
127 wp_editor( $content, 'advanced-ad-parameters-content', $args );
128 endif;
129 ?>
130 <br class="clear"/>
131 <input type="hidden" name="advanced_ad[output][allow_shortcodes]" value="1" />
132 <?php
133 include ADVADS_ABSPATH . 'views/admin/metaboxes/ads/ad-info-after-textarea.php';
134 }
135
136 /**
137 * Add JS into tinyMCE
138 *
139 * @param array $init_array TinyMCE arguments.
140 * @param string $editor_id Editor id.
141 *
142 * @return array
143 */
144 public function tiny_mce_before_init( array $init_array, $editor_id ): array {
145 if ( 'advanced-ad-parameters-content' !== $editor_id ) {
146 return $init_array;
147 }
148
149 // Add a JS listener to trigger an `input` event for the rich text textarea.
150 $init_array['setup'] = <<<'JS'
151 [editor => {
152 const textarea = document.getElementById('advanced-ad-parameters-content');
153 editor.on('Dirty', event => {
154 textarea.value = editor.getContent();
155 textarea.dispatchEvent(new Event('input'));
156 });
157 }][0]
158 JS;
159 return $init_array;
160 }
161 }
162