PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 1.8.16
Advanced Ads – Ad Manager & AdSense v1.8.16
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 / widget.php
advanced-ads / classes Last commit date
EDD_SL_Plugin_Updater.php 8 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 8 years ago ad_ajax_callbacks.php 8 years ago ad_group.php 8 years ago ad_placements.php 8 years ago ad_type_abstract.php 11 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 8 years ago ad_type_plain.php 8 years ago checks.php 8 years ago display-conditions.php 8 years ago filesystem.php 8 years ago frontend_checks.php 8 years ago plugin.php 8 years ago upgrades.php 8 years ago utils.php 8 years ago visitor-conditions.php 8 years ago widget.php 8 years ago
widget.php
180 lines
1 <?php
2 /**
3 * Advanced Ads Widget
4 *
5 * @package Advanced_Ads_Widget
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
12 /**
13 * Ad widget
14 *
15 */
16 class Advanced_Ads_Widget extends WP_Widget {
17
18 function __construct() {
19 $prefix = Advanced_Ads_Plugin::get_instance()->get_frontend_prefix();
20 $classname = $prefix . 'widget';
21
22 $widget_ops = array('classname' => $classname, 'description' => __( 'Display Ads and Ad Groups.', 'advanced-ads' ));
23 $control_ops = array();
24 $base_id = Advanced_Ads_Widget::get_base_id();
25
26 parent::__construct( $base_id,'Advanced Ads', $widget_ops, $control_ops );
27 }
28
29 function widget($args, $instance) {
30 /** This filter is documented in wp-includes/default-widgets.php */
31 $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base );
32
33 extract( $args );
34 $item_id = empty($instance['item_id']) ? '' : $instance['item_id'];
35
36 $output = self::output( $item_id );
37 if( $output == '' ){
38 return;
39 }
40
41 echo $before_widget;
42 if ( ! empty( $title ) ) {
43 echo $before_title . $title . $after_title;
44 }
45 echo $output;
46 echo $after_widget;
47 }
48
49 function update($new_instance, $old_instance) {
50 $instance = $old_instance;
51 $instance['title'] = $new_instance['title'];
52 $instance['item_id'] = $new_instance['item_id'];
53 return $instance;
54 }
55
56 function form($instance) {
57 $instance = wp_parse_args( (array) $instance, array('title' => '', 'item_id' => '') );
58 $title = strip_tags( $instance['title'] );
59 $elementid = $instance['item_id'];
60
61 ?><p><label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'advanced-ads' ); ?></label>
62 <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" /></p><?php
63
64 $items = array_merge( self::items_for_select(), self::widget_placements_for_select() );
65 ?>
66 <select id="<?php echo $this->get_field_id( 'item_id' ); ?>" name="<?php echo $this->get_field_name( 'item_id' ); ?>">
67 <option value=""><?php _e( '--empty--', 'advanced-ads' ); ?></option>
68 <?php if ( isset($items['placements']) ) : ?>
69 <optgroup label="<?php _e( 'Placements', 'advanced-ads' ); ?>">
70 <?php foreach ( $items['placements'] as $_item_id => $_item_title ) : ?>
71 <option value="<?php echo $_item_id; ?>" <?php selected( $_item_id, $elementid ); ?>><?php echo $_item_title; ?></option>
72 <?php endforeach; ?>
73 </optgroup>
74 <?php endif; ?>
75 <?php if ( isset($items['groups']) ) : ?>
76 <optgroup label="<?php _e( 'Ad Groups', 'advanced-ads' ); ?>">
77 <?php foreach ( $items['groups'] as $_item_id => $_item_title ) : ?>
78 <option value="<?php echo $_item_id; ?>" <?php selected( $_item_id, $elementid ); ?>><?php echo $_item_title; ?></option>
79 <?php endforeach; ?>
80 </optgroup>
81 <?php endif; ?>
82 <?php if ( isset($items['ads']) ) : ?>
83 <optgroup label="<?php _e( 'Ads', 'advanced-ads' ); ?>">
84 <?php foreach ( $items['ads'] as $_item_id => $_item_title ) : ?>
85 <option value="<?php echo $_item_id; ?>" <?php selected( $_item_id, $elementid ); ?>><?php echo $_item_title; ?></option>
86 <?php endforeach; ?>
87 </optgroup>
88 <?php endif; ?>
89 </select><?php
90 }
91
92 /**
93 * get items for widget select field
94 *
95 * @since 1.2
96 * @return arr $select items for select field
97 */
98 static function items_for_select(){
99 $select = array();
100 $model = Advanced_Ads::get_instance()->get_model();
101
102 // load all ads
103 $ads = $model->get_ads( array('orderby' => 'title', 'order' => 'ASC') );
104 foreach ( $ads as $_ad ){
105 $select['ads']['ad_' . $_ad->ID] = $_ad->post_title;
106 }
107
108 // load all ad groups
109 $groups = $model->get_ad_groups();
110 foreach ( $groups as $_group ){
111 $select['groups']['group_' . $_group->term_id] = $_group->name;
112 }
113
114 return $select;
115 }
116
117 /**
118 * get widget placements for select field
119 *
120 * @since 1.6.11
121 * @return arr $items for select field
122 */
123 public static function widget_placements_for_select(){
124 $select = array();
125 $placements = Advanced_Ads::get_ad_placements_array();
126
127 foreach( $placements as $_placement_slug => $_placement ){
128 if( isset( $_placement['type'] ) && 'sidebar_widget' === $_placement['type'] ){
129 $select['placements']['placement_' . $_placement_slug ] = $_placement['name'];
130 }
131 }
132
133 return $select;
134 }
135
136 /**
137 * return content of an in a widget
138 *
139 * @since 1.2
140 * @param string $id slug of the display
141 */
142 static function output($id = ''){
143 // get placement data for the slug
144 if ( empty($id) ) { return; }
145
146 $item = explode( '_', $id, 2 );
147
148 if ( isset($item[1]) ) {
149 $item_id = $item[1];
150 } elseif (empty($item_id)) {
151 return;
152 }
153
154 // return either ad or group content
155 if ( $item[0] == 'ad' ){
156 return get_ad( absint( $item_id ) );
157 } elseif ( $item[0] == 'group' ){
158 return get_ad_group( absint( $item_id ) );
159 } elseif ( $item[0] == 'placement' ){
160 return get_ad_placement( $item_id );
161 }
162
163 return;
164 }
165
166 /**
167 * get the base id of the widget
168 *
169 * @return string
170 */
171 public static function get_base_id() {
172 $options = Advanced_Ads_Plugin::get_instance()->options();
173
174 // deprecated to keep previously changed prefixed working
175 $prefix2 = ( isset( $options['id-prefix'] ) && $options['id-prefix'] !== '' ) ? $options['id-prefix'] : 'advads_ad_';
176 return $prefix2 . 'widget';
177 }
178
179 }
180