PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 1.7.1
Advanced Ads – Ad Manager & AdSense v1.7.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 / 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 display-conditions.php 10 years ago plugin.php 10 years ago upgrades.php 10 years ago visitor-conditions.php 10 years ago widget.php 10 years ago
widget.php
173 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
42 $output = self::output( $item_id );
43 if( $output == '' ){
44 return;
45 }
46
47 echo $before_widget;
48 if ( ! empty( $title ) ) {
49 echo $before_title . $title . $after_title;
50 }
51 echo $output;
52 echo $after_widget;
53 }
54
55 function update($new_instance, $old_instance) {
56 $instance = $old_instance;
57 $instance['title'] = $new_instance['title'];
58 $instance['item_id'] = $new_instance['item_id'];
59 return $instance;
60 }
61
62 function form($instance) {
63 $instance = wp_parse_args( (array) $instance, array('title' => '', 'item_id' => '') );
64 $title = strip_tags( $instance['title'] );
65 $elementid = $instance['item_id'];
66
67 ?><p><label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
68 <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
69
70 $items = array_merge( self::items_for_select(), self::widget_placements_for_select() );
71 ?>
72 <select id="<?php echo $this->get_field_id( 'item_id' ); ?>" name="<?php echo $this->get_field_name( 'item_id' ); ?>">
73 <option value=""><?php _e( '--empty--', 'advanced-ads' ); ?></option>
74 <?php if ( isset($items['placements']) ) : ?>
75 <optgroup label="<?php _e( 'Placements', 'advanced-ads' ); ?>">
76 <?php foreach ( $items['placements'] as $_item_id => $_item_title ) : ?>
77 <option value="<?php echo $_item_id; ?>" <?php selected( $_item_id, $elementid ); ?>><?php echo $_item_title; ?></option>
78 <?php endforeach; ?>
79 </optgroup>
80 <?php endif; ?>
81 <?php if ( isset($items['groups']) ) : ?>
82 <optgroup label="<?php _e( 'Ad Groups', 'advanced-ads' ); ?>">
83 <?php foreach ( $items['groups'] as $_item_id => $_item_title ) : ?>
84 <option value="<?php echo $_item_id; ?>" <?php selected( $_item_id, $elementid ); ?>><?php echo $_item_title; ?></option>
85 <?php endforeach; ?>
86 </optgroup>
87 <?php endif; ?>
88 <?php if ( isset($items['ads']) ) : ?>
89 <optgroup label="<?php _e( 'Ads', 'advanced-ads' ); ?>">
90 <?php foreach ( $items['ads'] as $_item_id => $_item_title ) : ?>
91 <option value="<?php echo $_item_id; ?>" <?php selected( $_item_id, $elementid ); ?>><?php echo $_item_title; ?></option>
92 <?php endforeach; ?>
93 </optgroup>
94 <?php endif; ?>
95 </select><?php
96 }
97
98 /**
99 * get items for widget select field
100 *
101 * @since 1.2
102 * @return arr $select items for select field
103 */
104 static function items_for_select(){
105 $select = array();
106 $model = Advanced_Ads::get_instance()->get_model();
107
108 // load all ads
109 $ads = $model->get_ads( array('orderby' => 'name', 'order' => 'ASC') );
110 foreach ( $ads as $_ad ){
111 $select['ads']['ad_' . $_ad->ID] = $_ad->post_title;
112 }
113
114 // load all ad groups
115 $groups = $model->get_ad_groups();
116 foreach ( $groups as $_group ){
117 $select['groups']['group_' . $_group->term_id] = $_group->name;
118 }
119
120 return $select;
121 }
122
123 /**
124 * get widget placements for select field
125 *
126 * @since 1.6.11
127 * @return arr $items for select field
128 */
129 public static function widget_placements_for_select(){
130 $select = array();
131 $placements = Advanced_Ads::get_ad_placements_array();
132
133 foreach( $placements as $_placement_slug => $_placement ){
134 if( isset( $_placement['type'] ) && 'sidebar_widget' === $_placement['type'] ){
135 $select['placements']['placement_' . $_placement_slug ] = $_placement['name'];
136 }
137 }
138
139 return $select;
140 }
141
142 /**
143 * return content of an in a widget
144 *
145 * @since 1.2
146 * @param string $id slug of the display
147 */
148 static function output($id = ''){
149 // get placement data for the slug
150 if ( empty($id) ) { return; }
151
152 $item = explode( '_', $id, 2 );
153
154 if ( isset($item[1]) ) {
155 $item_id = $item[1];
156 } elseif (empty($item_id)) {
157 return;
158 }
159
160 // return either ad or group content
161 if ( $item[0] == 'ad' ){
162 return get_ad( absint( $item_id ) );
163 } elseif ( $item[0] == 'group' ){
164 return get_ad_group( absint( $item_id ) );
165 } elseif ( $item[0] == 'placement' ){
166 return get_ad_placement( $item_id );
167 }
168
169 return;
170 }
171
172 }
173