PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 1.10.7
Advanced Ads – Ad Manager & AdSense v1.10.7
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 7 years ago ad-ajax.php 8 years ago ad-debug.php 8 years ago ad-model.php 8 years ago ad-select.php 9 years ago ad.php 7 years ago ad_ajax_callbacks.php 7 years ago ad_group.php 7 years ago ad_placements.php 7 years ago ad_type_abstract.php 8 years ago ad_type_content.php 8 years ago ad_type_dummy.php 8 years ago ad_type_group.php 8 years ago ad_type_image.php 7 years ago ad_type_plain.php 8 years ago checks.php 7 years ago compatibility.php 7 years ago display-conditions.php 7 years ago filesystem.php 8 years ago frontend_checks.php 7 years ago plugin.php 7 years ago upgrades.php 9 years ago utils.php 7 years ago visitor-conditions.php 7 years ago widget.php 7 years ago
ad_type_content.php
139 lines
1 <?php
2 /**
3 * Advanced Ads Content Ad Type
4 *
5 * @package Advanced_Ads
6 * @author Thomas Maier <thomas.maier@webgilde.com>
7 * @license GPL-2.0+
8 * @link http://webgilde.com
9 * @copyright 2014 Thomas Maier, webgilde 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 } ?><br class="clear"/> <input type="hidden" name="advanced_ad[output][allow_shortcodes]" value="1" /><?php
77 include ADVADS_BASE_PATH . 'admin/views/ad-info-after-textarea.php';
78 }
79
80 /**
81 * sanitize content field on save
82 *
83 * @param str $content ad content
84 * @return str $content sanitized ad content
85 * @since 1.0.0
86 */
87 public function sanitize_content($content = ''){
88 // use WordPress core content filter
89 $content = apply_filters( 'content_save_pre', $content );
90
91 // remove slashes from content
92 $content = wp_unslash( $content );
93 return $content;
94 }
95
96 /**
97 * prepare the ads frontend output
98 *
99 * @param obj $ad ad object
100 * @return str $content ad content prepared for frontend output
101 * @since 1.0.0
102 */
103 public function prepare_output($ad){
104
105 // apply functions normally running through the_content filter
106 // the_content filter is not used here because it created an infinite loop (ads within ads for "before content" and other auto injections)
107 // maybe the danger is not here yet, but changing it to use the_content filter changes a lot
108
109 $output = $ad->content;
110
111 if ( isset( $GLOBALS['wp_embed'] ) ) {
112 // temporarily replace the global $post variable with the current ad (post)
113 $old_post = $GLOBALS['post'];
114 $GLOBALS['post'] = $ad->id;
115
116 // get the [embed] shortcode to run before wpautop()
117 $output = $GLOBALS['wp_embed']->run_shortcode( $output );
118 // attempts to embed all URLs in a post
119 $output = $GLOBALS['wp_embed']->autoembed( $output );
120
121 $GLOBALS['post'] = $old_post;
122 }
123
124 $output = wptexturize( $output );
125 $output = convert_smilies( $output );
126 $output = convert_chars( $output );
127 $output = wpautop( $output );
128 $output = shortcode_unautop( $output );
129 $output = $this->do_shortcode( $output, $ad );
130 $output = prepend_attachment( $output );
131 // make included images responsive, since WordPress 4.4
132 if( ! defined( 'ADVADS_DISABLE_RESPONSIVE_IMAGES' ) && function_exists( 'wp_make_content_images_responsive' ) ){
133 $output = wp_make_content_images_responsive( $output );
134 }
135
136 return $output;
137 }
138 }
139