PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 1.4.4
Advanced Ads – Ad Manager & AdSense v1.4.4
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
ad.php 11 years ago ad_ajax_callbacks.php 11 years ago ad_group.php 11 years ago ad_placements.php 11 years ago ad_type_abstract.php 12 years ago ad_type_content.php 11 years ago ad_type_plain.php 11 years ago widget.php 11 years ago
ad_type_content.php
122 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 Advads_Ad_Type_Content extends Advads_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', ADVADS_SLUG);
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.', ADVADS_SLUG);
37 $this->parameters = array(
38 'content' => ''
39 );
40 }
41
42 /**
43 * output for the ad parameters metabox
44 *
45 * this will be loaded using ajax when changing the ad type radio buttons
46 * echo the output right away here
47 * name parameters must be in the "advanced_ads" array
48 *
49 * @param obj $ad ad object
50 * @since 1.0.0
51 */
52 public function render_parameters($ad){
53 // load tinymc content exitor
54 $content = (isset($ad->content)) ? $ad->content : '';
55
56 /**
57 * build the tinymc editor
58 * @link http://codex.wordpress.org/Function_Reference/wp_editor
59 *
60 * don’t build it when ajax is used; display message and buttons instead
61 */
62 if(defined('DOING_AJAX')){
63 ?><p><?php _e('Please <strong>save the ad</strong> before changing it to the content type.', ADVADS_SLUG); ?></p><?php
64 $status = get_post_status($ad->id);
65 if ( 'publish' != $status && 'future' != $status && 'pending' != $status ) { ?>
66 <input <?php if ( 'private' == $status ) { ?>style="display:none"<?php } ?> type="submit" name="save" id="save-post" value="<?php esc_attr_e('Save Draft'); ?>" class="button" />
67 <?php } else {
68 ?><input name="original_publish" type="hidden" id="original_publish" value="<?php esc_attr_e('Update') ?>" />
69 <input name="save" type="submit" class="button button-primary button-large" id="publish" accesskey="p" value="<?php esc_attr_e('Update') ?>" /><?php
70 }
71 if(!empty($ad->content)) : ?><textarea id="advads-ad-content-plain" style="display:none;" cols="1" rows="1" name="advanced_ad[content]"><?php
72 echo $ad->content; ?></textarea><br class="clear"/><?php endif;
73 } else {
74 $args = array(
75 'textarea_name' => 'advanced_ad[content]',
76 'textarea_rows' => 10,
77 'drag_drop_upload' => true
78 );
79 wp_editor($content, 'advanced-ad-parameters-content', $args);
80 }
81 }
82
83 /**
84 * sanitize content field on save
85 *
86 * @param str $content ad content
87 * @return str $content sanitized ad content
88 * @since 1.0.0
89 */
90 public function sanitize_content($content = ''){
91
92 // remove slashes from content
93 $content = wp_unslash($content);
94
95 // use WordPress core content filter
96 return $content = apply_filters('content_save_pre', $content);
97 }
98
99 /**
100 * prepare the ads frontend output
101 *
102 * @param obj $ad ad object
103 * @return str $content ad content prepared for frontend output
104 * @since 1.0.0
105 */
106 public function prepare_output($ad){
107
108 // apply functions normally running through the_content filter
109 // the_content filter not used here because it created an infinite loop (ads within ads)
110
111 $output = wptexturize($ad->content);
112 $output = convert_smilies($output);
113 $output = convert_chars($output);
114 $output = wpautop($output);
115 $output = shortcode_unautop($output);
116 $output = do_shortcode($output);
117 $output = prepend_attachment($output);
118
119 return $output;
120 }
121
122 }