PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 1.31.0
Advanced Ads – Ad Manager & AdSense v1.31.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_content.php
advanced-ads / classes Last commit date
EDD_SL_Plugin_Updater.php 4 years ago ad-ajax.php 5 years ago ad-debug.php 6 years ago ad-expiration.php 4 years ago ad-health-notices.php 5 years ago ad-model.php 5 years ago ad-select.php 9 years ago ad.php 4 years ago ad_ajax_callbacks.php 5 years ago ad_group.php 4 years ago ad_placements.php 4 years ago ad_type_abstract.php 5 years ago ad_type_content.php 5 years ago ad_type_dummy.php 5 years ago ad_type_group.php 5 years ago ad_type_image.php 5 years ago ad_type_plain.php 4 years ago checks.php 4 years ago compatibility.php 4 years ago display-conditions.php 4 years ago filesystem.php 8 years ago frontend-notices.php 6 years ago frontend_checks.php 4 years ago in-content-injector.php 4 years ago inline-css.php 4 years ago plugin.php 4 years ago upgrades.php 6 years ago utils.php 4 years ago visitor-conditions.php 4 years ago widget.php 4 years ago
ad_type_content.php
153 lines
1 <?php
2 /**
3 * Advanced Ads Content 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 about the content ad type
12 * this should also work as an example for other ad types
13 *
14 * see also includes/ad-type-abstract.php for basic object
15 *
16 */
17 class Advanced_Ads_Ad_Type_Content extends Advanced_Ads_Ad_Type_Abstract{
18
19 /**
20 * ID - internal type of the ad type
21 *
22 * must be static so set your own ad type ID here
23 * use slug like format, only lower case, underscores and hyphens
24 *
25 * @since 1.0.0
26 */
27 public $ID = 'content';
28
29 /**
30 * Set basic attributes
31 *
32 * @since 1.0.0
33 */
34 public function __construct() {
35 $this->title = __( 'Rich Content', 'advanced-ads' );
36 $this->description = __( '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' );
37 $this->parameters = array(
38 'content' => ''
39 );
40 }
41
42
43 /**
44 * Output for the ad parameters metabox
45 *
46 * this will be loaded using ajax when changing the ad type radio buttons
47 * echo the output right away here
48 * name parameters must be in the "advanced_ads" array
49 *
50 * @param obj $ad ad object
51 * @since 1.0.0
52 */
53 public function render_parameters($ad){
54 // load tinymc content exitor
55 $content = (isset($ad->content)) ? $ad->content : '';
56
57 /**
58 * Build the tinymc editor
59 * @link http://codex.wordpress.org/Function_Reference/wp_editor
60 *
61 * don’t build it when ajax is used; display message and buttons instead
62 */
63 if ( defined( 'DOING_AJAX' ) ){ ?>
64 <textarea id="advads-ad-content-plain" style="display:none;" cols="40" rows="10" name="advanced_ad[content]"><?php echo esc_textarea( $content ); ?></textarea>
65 <?php
66 } else {
67 if ( ! user_can_richedit() ) {
68 $content = esc_textarea( $content );
69 }
70 $args = array(
71 'textarea_name' => 'advanced_ad[content]',
72 'textarea_rows' => 10,
73 'drag_drop_upload' => true
74 );
75 wp_editor( $content, 'advanced-ad-parameters-content', $args );
76 }
77 ?>
78 <br class="clear"/>
79
80 <input type="hidden" name="advanced_ad[output][allow_shortcodes]" value="1" /><?php
81 include ADVADS_BASE_PATH . 'admin/views/ad-info-after-textarea.php';
82 }
83
84 /**
85 * Sanitize content field on save
86 *
87 * @param str $content ad content
88 * @return str $content sanitized ad content
89 * @since 1.0.0
90 */
91 public function sanitize_content($content = ''){
92 // use WordPress core content filter
93 $content = apply_filters( 'content_save_pre', $content );
94
95 // remove slashes from content
96 $content = wp_unslash( $content );
97 return $content;
98 }
99
100 /**
101 * Prepare the ads frontend output.
102 *
103 * @param Advanced_Ads_Ad $ad The ad object.
104 *
105 * @return string $content ad content prepared for frontend output.
106 * @since 1.0.0
107 */
108 public function prepare_output( $ad ) {
109
110 // apply functions normally running through the_content filter
111 // the_content filter is not used here because it created an infinite loop (ads within ads for "before content" and other auto injections)
112 // maybe the danger is not here yet, but changing it to use the_content filter changes a lot
113
114 $output = $ad->content;
115
116 if ( isset( $GLOBALS['wp_embed'] ) ) {
117 // temporarily replace the global $post variable with the current ad (post)
118 $old_post = $GLOBALS['post'];
119 $GLOBALS['post'] = $ad->id;
120
121 // get the [embed] shortcode to run before wpautop()
122 $output = $GLOBALS['wp_embed']->run_shortcode( $output );
123 // attempts to embed all URLs in a post
124 $output = $GLOBALS['wp_embed']->autoembed( $output );
125
126 $GLOBALS['post'] = $old_post;
127 }
128
129 $output = wptexturize( $output );
130 $output = convert_smilies( $output );
131 $output = convert_chars( $output );
132 $output = wpautop( $output );
133 $output = shortcode_unautop( $output );
134 $output = $this->do_shortcode( $output, $ad );
135
136 if ( defined( 'ADVADS_DISABLE_RESPONSIVE_IMAGES' ) && ADVADS_DISABLE_RESPONSIVE_IMAGES ) {
137 return $output;
138 }
139
140 // Make included images responsive, since WordPress 4.4, before WordPress 5.5.
141 if ( function_exists( 'wp_make_content_images_responsive' ) && ! function_exists( 'wp_filter_content_tags' ) ) {
142 return wp_make_content_images_responsive( $output );
143 }
144
145 // Function wp_make_content_images_responsive has been deprecated with WordPress 5.5.
146 if ( function_exists( 'wp_filter_content_tags' ) ) {
147 return wp_filter_content_tags( $output );
148 }
149
150 return $output;
151 }
152 }
153