1: <?php
2: /**
3: * @deprecated
4: * @package event-post
5: */
6:
7: if ( ! defined( 'ABSPATH' ) ) exit;
8:
9: class EventPost_Search extends WP_Widget {
10: var $defaults;
11: function __construct() {
12: parent::__construct(false, __( 'Events Search Form', 'event-post' ),array('description'=>__( 'List of future events posts', 'event-post' )));
13: $this->defaults = array(
14: 'numberposts' => '',
15: 'widgettitle' => '',
16: 'cat' => '',
17: 'tag' => '',
18: 'future' => 0,
19: 'past' => 0,
20: 'thumbnail' => 0,
21: 'thumbnail_size' => '',
22: 'excerpt' => 0,
23: 'feed' => 0,
24: 'order' => 'ASC',
25: 'excerpt' => '',
26: 'excerpt' => '',
27: 'excerpt' => '',
28: );
29:
30: }
31: function EventPost_Search(){
32: $this->__construct();
33: }
34: function widget($args, $local_instance) {
35: if(!defined('ALLOW_DEPRECATED') || !ALLOW_DEPRECATED) {
36: _deprecated_function(__FUNCTION__, '5.9.0', esc_html__('Legacy widgets have been deprecated. Consider using blocks instead.', 'event-post'));
37: }
38: extract( $args );
39: $instance = wp_parse_args( (array) $local_instance, $this->defaults );
40:
41: global $EventPost;
42: $numberposts = intval($instance['numberposts']);
43: $future = intval($instance['future']);
44: $past = intval($instance['past']);
45: $cat = sanitize_text_field($instance['cat']);
46: $tag = sanitize_text_field($instance['tag']);
47: $order = sanitize_text_field($instance['order']);
48:
49: $events = $EventPost->get_events(
50: array(
51: 'nb'=>$numberposts,
52: 'future'=>$future,
53: 'past'=>$past,
54: 'geo'=>0,
55: 'cat'=>$cat,
56: 'tag'=>$tag,
57: 'order'=>$order
58: )
59: );
60: if(count($events)==0){
61: return;
62: }
63:
64: echo wp_kses($args['before_widget'], EventPost()->kses_tags);
65: if(!empty($instance['widgettitle'])){
66: echo wp_kses($args['before_title'], EventPost()->kses_tags);
67: echo esc_html($instance['widgettitle']);
68: if(!empty($instance['cat']) && $instance['feed']){
69: $rss_link = admin_url('admin-ajax.php') . '?action=EventPostFeed&cat=' . $instance['cat'];
70: // Translators: %s is the category name
71: echo' <a href="' . esc_url($rss_link) . '" title="'.esc_attr(sprintf(__('feed of %s', 'event-post'), $instance['cat'])).'"><span class="dashicons dashicons-rss"></span></a>';
72: }
73: echo wp_kses($args['after_title'], EventPost()->kses_tags);
74: }
75: $atts=array(
76: 'events' => $events,
77: 'class' => 'eventpost_widget',
78: 'thumbnail' => esc_attr($instance['thumbnail']),
79: 'thumbnail_size' => esc_attr($instance['thumbnail_size']),
80: 'excerpt' => esc_attr($instance['excerpt']),
81: 'order' => $order
82: );
83: echo wp_kses($EventPost->list_events($atts, 'event_list', 'widget'), EventPost()->kses_tags);
84: echo wp_kses($args['after_widget'], EventPost()->kses_tags);
85: }
86:
87: function update($new_instance, $old_instance) {
88: return $new_instance;
89: }
90:
91: function form($local_instance) {
92: global $EventPost;
93: $instance = wp_parse_args( (array) $local_instance, $this->defaults );
94:
95: $cats = get_categories();
96: $tags = get_tags();
97: $thumbnail_sizes = $EventPost->get_thumbnail_sizes();
98: ?>
99: <input type="hidden" id="<?php echo esc_attr($this->get_field_id('widgettitle')); ?>-title" value="<?php echo esc_attr($instance['widgettitle']); ?>">
100: <p>
101: <label for="<?php echo esc_attr($this->get_field_id('widgettitle')); ?>"><?php esc_html_e('Title','event-post'); ?>
102: <input class="widefat" id="<?php echo esc_attr($this->get_field_id('widgettitle')); ?>" name="<?php echo esc_attr($this->get_field_name('widgettitle')); ?>" type="text" value="<?php echo esc_attr($instance['widgettitle']); ?>" />
103: </label>
104: </p>
105:
106: <p style="margin-top:10px;">
107: <label for="<?php echo esc_attr($this->get_field_id('numberposts')); ?>"><?php esc_html_e('Number of posts','event-post'); ?>
108: <input id="<?php echo esc_attr($this->get_field_id('numberposts')); ?>" name="<?php echo esc_attr($this->get_field_name('numberposts')); ?>" type="number" value="<?php echo esc_attr($instance['numberposts']); ?>" />
109: </label> <?php esc_html_e('(-1 is no limit)','event-post'); ?>
110: </p>
111:
112:
113: <p style="margin-top:10px;">
114: <label for="<?php echo esc_attr($this->get_field_id('future')); ?>">
115: <input id="<?php echo esc_attr($this->get_field_id('future')); ?>" name="<?php echo esc_attr($this->get_field_name('future')); ?>" type="checkbox" value="1" <?php checked($instance['future'], true, true); ?> />
116: <?php esc_html_e('Display future events','event-post'); ?>
117: </label>
118: </p>
119: <p style="margin-top:10px;">
120: <label for="<?php echo esc_attr($this->get_field_id('past')); ?>">
121: <input id="<?php echo esc_attr($this->get_field_id('past')); ?>" name="<?php echo esc_attr($this->get_field_name('past')); ?>" type="checkbox" value="1" <?php checked($instance['past'], true, true); ?> />
122: <?php esc_html_e('Display past events','event-post'); ?>
123: </label>
124: </p>
125:
126: <p>
127: <label for="<?php echo esc_attr($this->get_field_id('cat')); ?>">
128: <span class="dashicons dashicons-category"></span>
129: <?php esc_html_e('Only in:','event-post'); ?>
130: <select class="widefat" id="<?php echo esc_attr($this->get_field_id('cat')); ?>" name="<?php echo esc_attr($this->get_field_name('cat')); ?>">
131: <option value=''><?php esc_html_e('All categories','event-post') ?></option>
132: <?php foreach($cats as $_cat){ ?>
133: <option value="<?php echo esc_attr($_cat->slug); ?>" <?php selected($_cat->slug, $instance['cat'], true); ?>><?php echo esc_html($_cat->cat_name); ?></option>
134: <?php } ?>
135: </select>
136: </label>
137: </p>
138:
139: <p style="margin-top:10px;">
140: <label for="<?php echo esc_attr($this->get_field_id('feed')); ?>">
141: <input id="<?php echo esc_attr($this->get_field_id('feed')); ?>" name="<?php echo esc_attr($this->get_field_name('feed')); ?>" type="checkbox" value="1" <?php checked($instance['feed'], true, true); ?> />
142: <?php esc_html_e('Show category ICS link','event-post'); ?>
143: </label>
144: </p>
145: <hr>
146:
147: <p>
148: <label for="<?php echo esc_attr($this->get_field_id('tag')); ?>">
149: <span class="dashicons dashicons-tag"></span>
150: <?php esc_html_e('Only in:','event-post'); ?>
151: <select class="widefat" id="<?php echo esc_attr($this->get_field_id('tag')); ?>" name="<?php echo esc_attr($this->get_field_name('tag')); ?>">
152: <option value=''><?php esc_html_e('All tags','event-post') ?></option>
153: <?php foreach($tags as $_tag){?>
154: <option value="<?php echo esc_attr($_tag->slug); ?>" <?php selected($_tag->slug, $instance['tag'], true); ?>><?php echo esc_html($_tag->name); ?></option>
155: <?php } ?>
156: </select>
157: </label>
158: </p>
159:
160: <hr>
161: <p style="margin-top:10px;">
162: <label for="<?php echo esc_attr($this->get_field_id('thumbnail')); ?>">
163: <input id="<?php echo esc_attr($this->get_field_id('thumbnail')); ?>" name="<?php echo esc_attr($this->get_field_name('thumbnail')); ?>" type="checkbox" value="1" <?php checked($instance['thumbnail'], true, true); ?> />
164: <?php esc_html_e('Show thumbnails','event-post'); ?>
165: </label>
166: </p>
167: <p>
168: <label for="<?php echo esc_attr($this->get_field_id('thumbnail_size')); ?>">
169: <?php esc_html_e('Thumbnail size:','event-post'); ?>
170: <select class="widefat" id="<?php echo esc_attr($this->get_field_id('thumbnail_size')); ?>" name="<?php echo esc_attr($this->get_field_name('thumbnail_size')); ?>">
171: <option value=''></option>
172: <?php foreach($thumbnail_sizes as $size){?>
173: <option value="<?php echo esc_attr($size); ?>" <?php selected($size, $instance['thumbnail_size'], true); ?>><?php echo esc_html($size); ?></option>
174: <?php } ?>
175: </select>
176: </label>
177: </p>
178:
179:
180: <p style="margin-top:10px;">
181: <label for="<?php echo esc_attr($this->get_field_id('excerpt')); ?>">
182: <input id="<?php echo esc_attr($this->get_field_id('excerpt')); ?>" name="<?php echo esc_attr($this->get_field_name('excerpt')); ?>" type="checkbox" value="1" <?php checked($instance['excerpt'], true, true); ?> />
183: <?php esc_html_e('Show excerpt','event-post'); ?>
184: </label>
185: </p>
186:
187: <p>
188: <label for="<?php echo esc_attr($this->get_field_id('order')); ?>">
189: <?php esc_html_e('Order:','event-post'); ?>
190: <select class="widefat" id="<?php echo esc_attr($this->get_field_id('order')); ?>" name="<?php echo esc_attr($this->get_field_name('order')); ?>">
191: <option value='DESC' <?php selected('DESC', $instance['order'], true); ?>><?php esc_html_e('Reverse chronological','event-post') ?></option>
192: <option value='ASC' <?php selected('ASC', $instance['order'], true); ?>><?php esc_html_e('Chronological','event-post') ?></option>
193: </select>
194: </label>
195: </p>
196: <?php
197: }
198:
199: }
200: