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