PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 1.40.0
Advanced Ads – Ad Manager & AdSense v1.40.0
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 / classes / ad_type_abstract.php
advanced-ads / classes Last commit date
Advanced_Ads_Modal.php 3 years ago EDD_SL_Plugin_Updater.php 4 years ago ad-ajax.php 3 years ago ad-debug.php 3 years ago ad-expiration.php 3 years ago ad-health-notices.php 3 years ago ad-model.php 3 years ago ad-select.php 3 years ago ad.php 3 years ago ad_ajax_callbacks.php 3 years ago ad_group.php 3 years ago ad_placements.php 3 years ago ad_type_abstract.php 3 years ago ad_type_content.php 3 years ago ad_type_dummy.php 3 years ago ad_type_group.php 3 years ago ad_type_image.php 3 years ago ad_type_plain.php 3 years ago checks.php 3 years ago compatibility.php 3 years ago display-conditions.php 3 years ago filesystem.php 3 years ago frontend-notices.php 3 years ago frontend_checks.php 3 years ago in-content-injector.php 3 years ago inline-css.php 3 years ago plugin.php 3 years ago upgrades.php 6 years ago utils.php 3 years ago visitor-conditions.php 3 years ago widget.php 3 years ago
ad_type_abstract.php
161 lines
1 <?php
2 /**
3 * Advanced Ads Abstract Ad Type
4 *
5 * @package Advanced_Ads
6 * @author Thomas Maier <support@wpadvancedads.com>
7 * @license GPL-2.0+
8 * @link https://wpadvancedads.com
9 * @copyright 2014 Thomas Maier, Advanced Ads GmbH
10 *
11 * Class containing information that are defaults for all the other ad types
12 *
13 * see ad_type_content.php for an example on ad type
14 *
15 */
16 class Advanced_Ads_Ad_Type_Abstract {
17
18 /**
19 * ID - internal type of the ad type
20 *
21 * must be static so set your own ad type ID here
22 * use slug like format, only lower case, underscores and hyphens
23 *
24 * @since 1.0.0
25 */
26 public $ID = '';
27
28 /**
29 * Public title
30 *
31 * will be set within __construct so one can localize it
32 *
33 * @since 1.0.0
34 */
35 public $title = '';
36
37 /**
38 * Description of the ad type
39 *
40 * will be set within __construct so one can localize it
41 *
42 * @since 1.0.0
43 */
44 public $description = '';
45
46 /**
47 * Parameters of the ad
48 *
49 * defaults are set in construct
50 */
51 public $parameters = [];
52
53 /**
54 * Output for the ad parameters metabox
55 *
56 * @param Advanced_Ads_Ad $ad ad object.
57 */
58 public function render_parameters( Advanced_Ads_Ad $ad ) {
59 /**
60 * This will be loaded by default or using ajax when changing the ad type radio buttons
61 * echo the output right away here
62 * name parameters must be in the "advanced_ads" array
63 */
64 }
65
66 /**
67 * Render icon on the ad overview list.
68 *
69 * @param Advanced_Ads_Ad $ad ad object.
70 *
71 * @return void
72 */
73 public function render_icon( Advanced_Ads_Ad $ad ) {
74 $icon_path = sprintf( 'admin/assets/img/ad-types/%s.svg', esc_attr( $ad->type ) );
75 if ( ! file_exists( ADVADS_BASE_PATH . $icon_path ) ) {
76 $icon_path = 'admin/assets/img/ad-types/empty.svg';
77 }
78 printf( '<img src="%s" width="50" height="50"/>', esc_url( ADVADS_BASE_URL . $icon_path ) );
79 }
80
81 /**
82 * Render preview on the ad overview list
83 *
84 * @param Advanced_Ads_Ad $ad ad object.
85 */
86 public function render_preview( Advanced_Ads_Ad $ad ) {}
87
88 /**
89 * Render additional information in the ad type tooltip on the ad overview page
90 *
91 * @param Advanced_Ads_Ad $ad ad object.
92 */
93 public function render_ad_type_tooltip( Advanced_Ads_Ad $ad ) {}
94
95 /**
96 * Sanitize ad options on save
97 *
98 * @param array $options all ad options.
99 * @return array sanitized ad options.
100 * @since 1.0.0
101 */
102 public function sanitize_options( $options = [] ) {
103 return $options;
104 }
105
106 /**
107 * Sanitize content field on save
108 *
109 * @param str $content ad content
110 * @return str $content sanitized ad content
111 * @since 1.0.0
112 */
113 public function sanitize_content($content = ''){
114 return $content = wp_unslash( $content );
115 }
116
117 /**
118 * Load content field for the ad
119 *
120 * @param obj $post WP post object
121 * @return str $content ad content
122 * @since 1.0.0
123 */
124 public function load_content($post){
125 return $post->post_content;
126 }
127
128 /**
129 * Prepare the ads frontend output
130 *
131 * @param Advanced_Ads_Ad $ad The current ad object.
132 *
133 * @return string $content ad content prepared for frontend output
134 * @since 1.0.0
135 */
136 public function prepare_output( $ad ) {
137 return $ad->content;
138 }
139
140 /**
141 * Process shortcodes.
142 *
143 * @param string $output Ad content.
144 * @param Advanced_Ads_Ad $ad The current ad object.
145 *
146 * @return string
147 */
148 protected function do_shortcode( $output, Advanced_Ads_Ad $ad ) {
149 $ad_options = $ad->options();
150
151 if ( ! isset( $ad_options['output']['has_shortcode'] ) || $ad_options['output']['has_shortcode'] ) {
152 // Store arguments so that shortcode hooks can access it.
153 $ad_args = $ad->args;
154 $ad_args['shortcode_ad_id'] = $ad->id;
155 $output = preg_replace( '/\[(the_ad_group|the_ad_placement|the_ad)/', '[$1 ad_args="' . urlencode( json_encode( $ad_args ) ) . '"', $output );
156 }
157
158 return do_shortcode( $output );
159 }
160 }
161