PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 1.6.9.2
Advanced Ads – Ad Manager & AdSense v1.6.9.2
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 11 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 11 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_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
144 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.', ADVADS_SLUG ));
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 = self::items_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--', ADVADS_SLUG ); ?></option>
75 <?php if ( isset($items['groups']) ) : ?>
76 <optgroup label="<?php _e( 'Ad Groups', ADVADS_SLUG ); ?>">
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', ADVADS_SLUG ); ?>">
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' => 'name', '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 * return content of an in a widget
119 *
120 * @since 1.2
121 * @param string $id slug of the display
122 */
123 static function output($id = ''){
124 // get placement data for the slug
125 if ( empty($id) ) { return; }
126
127 $item = explode( '_', $id );
128
129 if ( isset($item[1]) ) {
130 $item_id = absint( $item[1] ); }
131 elseif (empty($item_id)) return;
132
133 // return either ad or group content
134 if ( $item[0] == 'ad' ){
135 return get_ad( $item_id );
136 } elseif ( $item[0] == 'group' ){
137 return get_ad_group( $item_id );
138 }
139
140 return;
141 }
142
143 }
144