PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 1.6.7
Advanced Ads – Ad Manager & AdSense v1.6.7
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 11 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 11 years ago ad_type_plain.php 10 years ago plugin.php 10 years ago visitor-conditions.php 10 years ago widget.php 10 years ago
widget.php
134 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 $widget_ops = array('classname' => 'advads_widget', 'description' => __( 'Display Ads and Ad Groups.', ADVADS_SLUG ));
20 $control_ops = array();
21 parent::__construct( 'advads_ad_widget','Advanced Ads', $widget_ops, $control_ops );
22 }
23
24 function widget($args, $instance) {
25 /** This filter is documented in wp-includes/default-widgets.php */
26 $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base );
27
28
29 extract( $args );
30 $item_id = empty($instance['item_id']) ? '' : $instance['item_id'];
31 $title = empty($instance['title']) ? '' : $instance['title'];
32
33 $output = self::output( $item_id );
34 if( $output == '' ){
35 return;
36 }
37
38 echo $before_widget;
39 if ( ! empty( $title ) ) {
40 echo $before_title . $title . $after_title;
41 }
42 echo $output;
43 echo $after_widget;
44 }
45
46 function update($new_instance, $old_instance) {
47 $instance = $old_instance;
48 $instance['title'] = $new_instance['title'];
49 $instance['item_id'] = $new_instance['item_id'];
50 return $instance;
51 }
52
53 function form($instance) {
54 $instance = wp_parse_args( (array) $instance, array('title' => '', 'item_id' => '') );
55 $title = strip_tags( $instance['title'] );
56 $elementid = $instance['item_id'];
57
58 ?><p><label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
59 <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
60
61 $items = self::items_for_select();
62 ?>
63 <select id="<?php echo $this->get_field_id( 'item_id' ); ?>" name="<?php echo $this->get_field_name( 'item_id' ); ?>">
64 <option value=""><?php _e( '--empty--', ADVADS_SLUG ); ?></option>
65 <?php if ( isset($items['groups']) ) : ?>
66 <optgroup label="<?php _e( 'Ad Groups', ADVADS_SLUG ); ?>">
67 <?php foreach ( $items['groups'] as $_item_id => $_item_title ) : ?>
68 <option value="<?php echo $_item_id; ?>" <?php selected( $_item_id, $elementid ); ?>><?php echo $_item_title; ?></option>
69 <?php endforeach; ?>
70 </optgroup>
71 <?php endif; ?>
72 <?php if ( isset($items['ads']) ) : ?>
73 <optgroup label="<?php _e( 'Ads', ADVADS_SLUG ); ?>">
74 <?php foreach ( $items['ads'] as $_item_id => $_item_title ) : ?>
75 <option value="<?php echo $_item_id; ?>" <?php selected( $_item_id, $elementid ); ?>><?php echo $_item_title; ?></option>
76 <?php endforeach; ?>
77 </optgroup>
78 <?php endif; ?>
79 </select><?php
80 }
81
82 /**
83 * get items for widget select field
84 *
85 * @since 1.2
86 * @return arr $select items for select field
87 */
88 static function items_for_select(){
89 $select = array();
90 $model = Advanced_Ads::get_instance()->get_model();
91
92 // load all ads
93 $ads = $model->get_ads( array('orderby' => 'name', 'order' => 'ASC') );
94 foreach ( $ads as $_ad ){
95 $select['ads']['ad_' . $_ad->ID] = $_ad->post_title;
96 }
97
98 // load all ad groups
99 $groups = $model->get_ad_groups();
100 foreach ( $groups as $_group ){
101 $select['groups']['group_' . $_group->term_id] = $_group->name;
102 }
103
104 return $select;
105 }
106
107 /**
108 * return content of an in a widget
109 *
110 * @since 1.2
111 * @param string $id slug of the display
112 */
113 static function output($id = ''){
114 // get placement data for the slug
115 if ( empty($id) ) { return; }
116
117 $item = explode( '_', $id );
118
119 if ( isset($item[1]) ) {
120 $item_id = absint( $item[1] ); }
121 elseif (empty($item_id)) return;
122
123 // return either ad or group content
124 if ( $item[0] == 'ad' ){
125 return get_ad( $item_id );
126 } elseif ( $item[0] == 'group' ){
127 return get_ad_group( $item_id );
128 }
129
130 return;
131 }
132
133 }
134