PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 1.16.1
Advanced Ads – Ad Manager & AdSense v1.16.1
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_plain.php
advanced-ads / classes Last commit date
EDD_SL_Plugin_Updater.php 6 years ago ad-ajax.php 6 years ago ad-debug.php 8 years ago ad-health-notices.php 6 years ago ad-model.php 8 years ago ad-select.php 9 years ago ad.php 6 years ago ad_ajax_callbacks.php 6 years ago ad_group.php 6 years ago ad_placements.php 6 years ago ad_type_abstract.php 8 years ago ad_type_content.php 6 years ago ad_type_dummy.php 6 years ago ad_type_group.php 8 years ago ad_type_image.php 6 years ago ad_type_plain.php 6 years ago checks.php 6 years ago compatibility.php 6 years ago display-conditions.php 6 years ago filesystem.php 8 years ago frontend_checks.php 6 years ago plugin.php 6 years ago upgrades.php 6 years ago utils.php 6 years ago visitor-conditions.php 6 years ago widget.php 6 years ago
ad_type_plain.php
158 lines
1 <?php
2
3 /**
4 * Advanced Ads Plain Ad Type
5 *
6 * @package Advanced_Ads
7 * @author Thomas Maier <thomas.maier@webgilde.com>
8 * @license GPL-2.0+
9 * @link http://webgilde.com
10 * @copyright 2014 Thomas Maier, webgilde GmbH
11 *
12 * Class containing information about the plain text/code ad type
13 *
14 * see ad-type-content.php for a better sample on ad type
15 *
16 */
17 class Advanced_Ads_Ad_Type_Plain extends Advanced_Ads_Ad_Type_Abstract {
18
19 /**
20 * ID - internal type of the ad type
21 *
22 * @since 1.0.0
23 */
24 public $ID = 'plain';
25
26 /**
27 * Set basic attributes
28 *
29 * @since 1.0.0
30 */
31 public function __construct() {
32 $this->title = __( 'Plain Text and Code', 'advanced-ads' );
33 $this->description = __( 'Any ad network, Amazon, customized AdSense codes, shortcodes, and code like JavaScript, HTML or PHP.', 'advanced-ads' );
34 $this->parameters = array(
35 'content' => '',
36 );
37 }
38
39 /**
40 * Output for the ad parameters metabox
41 *
42 * This will be loaded using ajax when changing the ad type radio buttons
43 * echo the output right away here
44 * name parameters must be in the "advanced_ads" array
45 *
46 * @param object $ad Advanced_Ads_Ad.
47 *
48 * @since 1.0.0
49 */
50 public function render_parameters( $ad ) {
51 // load content.
52 $content = ( isset( $ad->content ) ) ? $ad->content : '';
53
54 ?><p class="description"><?php _e( 'Insert plain text or code into this field.', 'advanced-ads' ); ?></p>
55 <textarea id="advads-ad-content-plain" cols="40" rows="10" name="advanced_ad[content]"
56 onkeyup="Advanced_Ads_Admin.check_ad_source();"><?php echo esc_textarea( $content ); ?></textarea>
57 <?php include ADVADS_BASE_PATH . 'admin/views/ad-info-after-textarea.php'; ?>
58 <input type="hidden" name="advanced_ad[output][allow_php]" value="0"/>
59
60 <?php
61
62 $this->render_php_allow( $ad );
63 $this->render_shortcodes_allow( $ad );
64 ?>
65 <script>jQuery( function () { Advanced_Ads_Admin.check_ad_source() } )</script><?php
66 }
67
68 /**
69 * Render php output field
70 *
71 * @param object $ad Advanced_Ads_Ad object.
72 */
73 public function render_php_allow( $ad ) {
74 if ( defined( 'ADVANCED_ADS_DISALLOW_PHP' ) ) {
75 return;
76 }
77
78 $content = ( isset( $ad->content ) ) ? $ad->content : '';
79
80 // check if php is allowed.
81 if ( isset( $ad->output['allow_php'] ) ) {
82 $allow_php = absint( $ad->output['allow_php'] );
83 } else {
84 /**
85 * For compatibility for ads with PHP added prior to 1.3.18
86 * check if there is php code in the content
87 */
88 if ( preg_match( '/\<\?php/', $content ) ) {
89 $allow_php = 1;
90 } else {
91 $allow_php = 0;
92 }
93 }
94 ?>
95 <label class="label" for="advads-parameters-php"><?php _e( 'Allow PHP', 'advanced-ads' ); ?></label>
96 <div>
97 <input id="advads-parameters-php" type="checkbox" name="advanced_ad[output][allow_php]"
98 value="1" <?php checked( 1, $allow_php ); ?>
99 onChange="Advanced_Ads_Admin.check_ad_source();"/><?php _e( 'Execute PHP code (wrapped in <code>&lt;?php ?&gt;</code>)', 'advanced-ads' );
100 ?>
101 <div class="advads-error-message" id="advads-parameters-php-warning"
102 style="display:none;"><?php _e( 'No PHP tag detected in your code.', 'advanced-ads' ); ?><?php _e( 'Uncheck this checkbox for improved performance.', 'advanced-ads' ); ?></div>
103 </div>
104 <hr/><?php
105
106 }
107
108 /**
109 * Render allow shortcodes field.
110 *
111 * @param object $ad Advanced_Ads_Ad object.
112 */
113 public function render_shortcodes_allow( $ad ) {
114 $allow_shortcodes = ! empty( $ad->output['allow_shortcodes'] );
115 ?>
116 <label class="label"
117 for="advads-parameters-shortcodes"><?php _e( 'Allow shortcodes', 'advanced-ads' ); ?></label>
118 <div>
119 <input id="advads-parameters-shortcodes" type="checkbox" name="advanced_ad[output][allow_shortcodes]"
120 value="1" <?php
121 checked( 1, $allow_shortcodes ); ?>
122 onChange="Advanced_Ads_Admin.check_ad_source();"/><?php _e( 'Execute shortcodes', 'advanced-ads' );
123 ?>
124 <div class="advads-error-message" id="advads-parameters-shortcodes-warning"
125 style="display:none;"><?php _e( 'No shortcode detected in your code.', 'advanced-ads' ); ?><?php _e( 'Uncheck this checkbox for improved performance.', 'advanced-ads' ); ?></div>
126 </div>
127 <hr/><?php
128 }
129
130 /**
131 * Prepare the ads frontend output
132 *
133 * @param object $ad ad object.
134 *
135 * @return string $content ad content prepared for frontend output.
136 * @since 1.0.0
137 */
138 public function prepare_output( $ad ) {
139
140 // evaluate the code as PHP if setting was never saved or is allowed.
141 if ( ! defined( 'ADVANCED_ADS_DISALLOW_PHP' ) && ( ! isset( $ad->output['allow_php'] ) || $ad->output['allow_php'] ) ) {
142 ob_start();
143 // this code only runs if the "Allow PHP" option for plain text ads was enabled.
144 eval( '?>' . $ad->content );
145 $content = ob_get_clean();
146 } else {
147 $content = $ad->content;
148 }
149
150 if ( ! empty( $ad->output['allow_shortcodes'] ) ) {
151 $content = $this->do_shortcode( $content, $ad );
152 }
153
154 return $content;
155 }
156
157 }
158