PluginProbe
Super RSS Reader – Add attractive RSS Feed Widget / 4.1
Super RSS Reader – Add attractive RSS Feed Widget v4.1
trunk 0.8 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 3.0 3.1 3.2 4.0 4.0.1 4.1 4.2 4.3 4.4 4.4.1 4.5 4.6 4.7 4.8 All 33 releases
super-rss-reader / includes / widget-admin.php

widget-admin.php in Super RSS Reader – Add attractive RSS Feed Widget 4.1, at includes/widget-admin.php

312 lines 20.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Contains WordPress widget class
4 *
5 */
6
7 class super_rss_reader_widget extends WP_Widget{
8
9 // Initialize
10 public function __construct(){
11 $widget_ops = array(
12 'classname' => 'widget_super_rss_reader',
13 'description' => __( 'An RSS feed reader widget with advanced features', 'super-rss-reader' )
14 );
15
16 $control_ops = array( 'width' => 500, 'height' => 500 );
17 parent::__construct( 'super_rss_reader', 'Super RSS Reader', $widget_ops, $control_ops );
18 }
19
20 // Display the Widget
21 public function widget( $args, $instance ){
22
23 extract( $args );
24
25 if( empty( $instance[ 'title' ] ) ){
26 $title = '';
27 }else{
28 $title = $before_title . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $after_title;
29 }
30
31 echo $before_widget . $title;
32
33 echo '<!-- Start - Super RSS Reader v' . SRR_VERSION . '-->
34 <div class="super-rss-reader-widget">';
35
36 SRR_Widget::render_feed( $instance );
37
38 echo '</div><!-- End - Super RSS Reader -->';
39 echo $after_widget;
40
41 }
42
43 // Save settings
44 public function update( $new_instance, $old_instance ){
45
46 $instance = $old_instance;
47
48 $instance[ 'title' ] = stripslashes( $new_instance['title'] );
49 $instance[ 'urls' ] = stripslashes( $new_instance['urls']) ;
50 $instance[ 'tab_titles' ] = stripslashes( $new_instance['tab_titles'] );
51
52 $instance[ 'count' ] = intval( $new_instance['count'] );
53 $instance[ 'show_date' ] = intval( isset( $new_instance['show_date'] ) ? $new_instance['show_date'] : 0 );
54 $instance[ 'show_desc' ] = intval( isset( $new_instance['show_desc'] ) ? $new_instance['show_desc'] : 0 );
55 $instance[ 'show_author' ] = intval( isset( $new_instance['show_author'] ) ? $new_instance['show_author'] : 0 );
56 $instance[ 'show_thumb' ] = intval( isset( $new_instance['show_thumb'] ) ? $new_instance['show_thumb'] : 0 );
57 $instance[ 'strip_desc' ] = intval( $new_instance['strip_desc'] );
58 $instance[ 'strip_title' ] = intval( $new_instance['strip_title'] );
59 $instance[ 'date_format' ] = stripslashes( $new_instance['date_format'] );
60 $instance[ 'read_more' ] = stripslashes( $new_instance['read_more'] );
61 $instance[ 'add_nofollow' ] = intval( isset( $new_instance['add_nofollow'] ) ? $new_instance['add_nofollow'] : 0 );
62 $instance[ 'open_newtab' ] = intval( isset( $new_instance['open_newtab'] ) ? $new_instance['open_newtab'] : 0 );
63 $instance[ 'rich_desc' ] = intval( isset( $new_instance['rich_desc'] ) ? $new_instance['rich_desc'] : 0 );
64 $instance[ 'thumbnail_position' ] = stripslashes( $new_instance['thumbnail_position'] );
65 $instance[ 'thumbnail_size' ] = stripslashes( $new_instance['thumbnail_size'] );
66 $instance[ 'thumbnail_default' ] = stripslashes( $new_instance['thumbnail_default'] );
67
68 $instance[ 'color_style' ] = stripslashes( $new_instance['color_style']);
69 $instance[ 'display_type' ] = stripslashes( $new_instance['display_type']);
70 $instance[ 'visible_items' ] = intval( $new_instance['visible_items']);
71 $instance[ 'ticker_speed' ] = intval( $new_instance['ticker_speed']);
72
73 return $instance;
74 }
75
76 // Widget form
77 public function form( $instance ){
78
79 $instance = wp_parse_args( (array) $instance, SRR_Options::defaults() );
80
81 $title = htmlspecialchars( isset( $instance['title'] ) ? $instance[ 'title' ] : '' );
82 $urls = htmlspecialchars($instance['urls']);
83 $tab_titles = htmlspecialchars($instance['tab_titles']);
84
85 $count = intval($instance['count']);
86 $show_date = intval($instance['show_date']);
87 $show_desc = intval($instance['show_desc']);
88 $show_author = intval($instance['show_author']);
89 $show_thumb = intval($instance['show_thumb']);
90 $open_newtab = intval($instance['open_newtab']);
91 $add_nofollow = intval($instance['add_nofollow']);
92 $strip_desc = intval($instance['strip_desc']);
93 $strip_title = intval($instance['strip_title']);
94 $date_format = htmlspecialchars($instance['date_format']);
95 $read_more = htmlspecialchars($instance['read_more']);
96 $rich_desc = intval($instance['rich_desc']);
97 $thumbnail_position = htmlspecialchars($instance['thumbnail_position']);
98 $thumbnail_size = htmlspecialchars($instance['thumbnail_size']);
99 $thumbnail_default = htmlspecialchars($instance['thumbnail_default']);
100
101 $color_style = stripslashes($instance['color_style']);
102 $display_type = stripslashes($instance['display_type']);
103 $visible_items = intval($instance['visible_items']);
104 $ticker_speed = intval($instance['ticker_speed']);
105
106 $option_lists = SRR_Options::select_options();
107
108 // Replacing commas with new lines
109 $urls = str_replace( ',', "\n", $urls );
110 $tab_titles = str_replace( ',', "\n", $tab_titles );
111
112 ?>
113
114 <div class="srr_settings">
115
116 <div class="srr_row">
117 <div class="srr_label srr_xsm"><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e( 'Title', 'super-rss-reader' ); ?></label></div>
118 <div class="srr_field"><input id="<?php echo $this->get_field_id('title');?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" class="widefat"/></div>
119 </div>
120
121 <div class="srr_row">
122 <div class="srr_label srr_xsm"><label for="<?php echo $this->get_field_id('urls'); ?>"><?php _e( 'URL(s)', 'super-rss-reader' ); ?></label></div>
123 <div class="srr_field"><textarea id="<?php echo $this->get_field_id('urls');?>" name="<?php echo $this->get_field_name('urls'); ?>" class="widefat"><?php echo $urls; ?></textarea>
124 <small class="srr_small_text"><?php _e( 'Can enter multiple RSS/atom feed URLs in new line', 'super-rss-reader' ); ?></small></div>
125 </div>
126
127 <div class="srr_row">
128 <div class="srr_label srr_xsm"><label for="<?php echo $this->get_field_id('tab_titles'); ?>"><?php _e( 'Tab titles', 'super-rss-reader' ); ?></label></div>
129 <div class="srr_field"><textarea id="<?php echo $this->get_field_id('tab_titles');?>" name="<?php echo $this->get_field_name('tab_titles'); ?>" class="widefat"><?php echo $tab_titles; ?></textarea>
130 <small class="srr_small_text"><?php _e( 'Enter corresponding tab titles in new line. Leave empty to take from feed.', 'super-rss-reader' ); ?></small></div>
131 </div>
132
133 <ul class="srr_tab_list">
134 <li><a href="#" data-tab="general" class="active"><?php _e( 'General', 'super-rss-reader' ); ?></a></li>
135 <li><a href="#" data-tab="content"><?php _e( 'Content', 'super-rss-reader' ); ?></a></li>
136 <li><a href="#" data-tab="display"><?php _e( 'Display', 'super-rss-reader' ); ?></a></li>
137 </ul>
138
139 <section data-tab-id="general" class="active">
140
141 <div class="srr_row">
142 <div class="srr_label"><label for="<?php echo $this->get_field_id('count');?>"><?php _e( 'Total items to show', 'super-rss-reader' ); ?></label><?php $this->tt( __( 'Number of feed items to be displayed', 'super-rss-reader' ) ); ?></div>
143 <div class="srr_field"><input id="<?php echo $this->get_field_id('count');?>" name="<?php echo $this->get_field_name('count'); ?>" type="number" value="<?php echo $count; ?>" class="widefat" /></div>
144 </div>
145
146 <div class="srr_row">
147 <div class="srr_label"><label for="<?php echo $this->get_field_id('show_desc'); ?>"><?php _e( 'Show Description', 'super-rss-reader' ); ?></label></div>
148 <div class="srr_field"><input id="<?php echo $this->get_field_id('show_desc'); ?>" type="checkbox" name="<?php echo $this->get_field_name('show_desc'); ?>" value="1" <?php echo $show_desc == "1" ? 'checked="checked"' : ""; ?> /></div>
149 </div>
150
151 <div class="srr_row">
152 <div class="srr_label"><label for="<?php echo $this->get_field_id('show_date'); ?>"><?php _e( 'Show Date', 'super-rss-reader' ); ?></label></div>
153 <div class="srr_field"><input id="<?php echo $this->get_field_id('show_date'); ?>" type="checkbox" name="<?php echo $this->get_field_name('show_date'); ?>" value="1" <?php echo $show_date == "1" ? 'checked="checked"' : ""; ?> /></div>
154 </div>
155
156 <div class="srr_row">
157 <div class="srr_label"><label for="<?php echo $this->get_field_id('show_author'); ?>"><?php _e( 'Show Author', 'super-rss-reader' ); ?></label></div>
158 <div class="srr_field"><input id="<?php echo $this->get_field_id('show_author'); ?>" type="checkbox" name="<?php echo $this->get_field_name('show_author'); ?>" value="1" <?php echo $show_author == "1" ? 'checked="checked"' : ""; ?> /></div>
159 </div>
160
161 <div class="srr_row">
162 <div class="srr_label"><label for="<?php echo $this->get_field_id('show_thumb'); ?>"><?php _e( 'Show thumbnail if present', 'super-rss-reader' ); ?></label></div>
163 <div class="srr_field"><input id="<?php echo $this->get_field_id('show_thumb'); ?>" type="checkbox" name="<?php echo $this->get_field_name('show_thumb'); ?>" value="1" <?php echo $show_thumb == "1" ? 'checked="checked"' : ""; ?> /></div>
164 </div>
165 </section>
166
167 <section data-tab-id="content">
168
169 <div class="srr_row">
170 <div class="srr_label"><label for="<?php echo $this->get_field_id('add_nofollow'); ?>"><?php _e( 'Add "no follow" attribute to links', 'super-rss-reader' ); ?></label></div>
171 <div class="srr_field"><input id="<?php echo $this->get_field_id('add_nofollow'); ?>" type="checkbox" name="<?php echo $this->get_field_name('add_nofollow'); ?>" value="1" <?php echo $add_nofollow == "1" ? 'checked="checked"' : ""; ?> /></div>
172 </div>
173
174 <div class="srr_row">
175 <div class="srr_label"><label for="<?php echo $this->get_field_id('open_newtab'); ?>"><?php _e( 'Open links in new tab', 'super-rss-reader' ); ?></label></div>
176 <div class="srr_field"><input id="<?php echo $this->get_field_id('open_newtab'); ?>" type="checkbox" name="<?php echo $this->get_field_name('open_newtab'); ?>" value="1" <?php echo $open_newtab == "1" ? 'checked="checked"' : ""; ?> /></div>
177 </div>
178
179 <div class="srr_row">
180 <div class="srr_label"><label for="<?php echo $this->get_field_id('strip_title'); ?>"><?php _e( 'Trim title to words', 'super-rss-reader' ); ?></label><?php $this->tt( __( 'The number of words to be displayed. Use 0 to disable trimming', 'super-rss-reader' ) ); ?></div>
181 <div class="srr_field"><input id="<?php echo $this->get_field_id('strip_title');?>" name="<?php echo $this->get_field_name('strip_title'); ?>" type="number" value="<?php echo $strip_title; ?>" class="widefat" /></div>
182 </div>
183
184 <div class="srr_row">
185 <div class="srr_label"><label for="<?php echo $this->get_field_id('date_format'); ?>"><?php _e( 'Date format', 'super-rss-reader' ); ?></label><?php $this->tt( __( 'The format of the feed item date.', 'super-rss-reader' ) ); ?></div>
186 <div class="srr_field"><input id="<?php echo $this->get_field_id('date_format'); ?>" name="<?php echo $this->get_field_name('date_format'); ?>" type="text" value="<?php echo $date_format; ?>" class="widefat" /><div><a href="https://wordpress.org/support/article/formatting-date-and-time/" target="_blank"><?php _e( 'Refer format codes here', 'super-rss-reader' ); ?></a></div></div>
187 </div>
188
189 <h4><?php _e( 'Description', 'super-rss-reader' ); ?></h4>
190
191 <div class="srr_row">
192 <div class="srr_label"><label for="<?php echo $this->get_field_id('strip_desc');?>"><?php _e( 'Trim description to words', 'super-rss-reader' ); ?></label><?php $this->tt( __( 'The number of words to be displayed. Use 0 to disable trimming', 'super-rss-reader' ) ); ?></div>
193 <div class="srr_field"><input id="<?php echo $this->get_field_id('strip_desc');?>" name="<?php echo $this->get_field_name('strip_desc'); ?>" type="number" value="<?php echo $strip_desc; ?>" class="widefat" /></div>
194 </div>
195
196 <div class="srr_row">
197 <div class="srr_label"><label for="<?php echo $this->get_field_id('read_more'); ?>"><?php _e( 'Read more text', 'super-rss-reader' ); ?></label><?php $this->tt( __( 'Leave blank to hide read more text', 'super-rss-reader' ) ); ?></div>
198 <div class="srr_field"><input id="<?php echo $this->get_field_id('read_more'); ?>" name="<?php echo $this->get_field_name('read_more'); ?>" type="text" value="<?php echo $read_more; ?>" class="widefat" /></div>
199 </div>
200
201 <div class="srr_row">
202 <div class="srr_label"><label for="<?php echo $this->get_field_id('rich_desc'); ?>"><?php _e( 'Enable rich description', 'super-rss-reader' ); ?></label></div>
203 <div class="srr_field"><input id="<?php echo $this->get_field_id('rich_desc'); ?>" type="checkbox" name="<?php echo $this->get_field_name('rich_desc'); ?>" value="1" <?php echo $rich_desc == "1" ? 'checked="checked"' : ""; ?> /></div>
204 </div>
205
206 <?php if( $rich_desc == 1 ): ?>
207 <span class="srr_note"><?php _e( 'Note: You have enabled "Full/Rich HTML". If no description is present, then the full content will be displayed. Please make sure that the feed(s) are from trusted sources and do not contain any harmful scripts. If there are some alignment issues in the description, please use custom CSS to fix that.', 'super-rss-reader' ); ?></span>
208 <?php endif; ?>
209
210 <h4><?php _e( 'Thumbnail', 'super-rss-reader' ); ?></h4>
211
212 <div class="srr_row">
213 <div class="srr_label"><label for="<?php echo $this->get_field_id('thumbnail_position');?>"><?php _e( 'Thumbnail position', 'super-rss-reader' ); ?></label></div>
214 <div class="srr_field">
215 <?php
216 echo '<select name="' . $this->get_field_name('thumbnail_position') . '" id="' . $this->get_field_id('thumbnail_position') . '">';
217 foreach( $option_lists[ 'thumbnail_position' ] as $k => $v ){
218 echo '<option value="' . $k . '" ' . selected( $thumbnail_position, $k ) . '>' . $v . '</option>';
219 }
220 echo '</select>';
221 ?>
222 </div>
223 </div>
224
225 <div class="srr_row">
226 <div class="srr_label"><label for="<?php echo $this->get_field_id('thumbnail_size'); ?>"><?php _e( 'Thumbnail size', 'super-rss-reader' ); ?></label><?php $this->tt( __( 'The size of the thumbnail including the units. Example 64px, 10%', 'super-rss-reader' ) ); ?></div>
227 <div class="srr_field"><input id="<?php echo $this->get_field_id('thumbnail_size');?>" name="<?php echo $this->get_field_name('thumbnail_size'); ?>" type="text" value="<?php echo $thumbnail_size; ?>" class="widefat" /></div>
228 </div>
229
230 <div class="srr_row">
231 <div class="srr_label"><label for="<?php echo $this->get_field_id('thumbnail_default'); ?>"><?php _e( 'Default thumbnail image', 'super-rss-reader' ); ?></label><?php $this->tt( __( 'The URL of the default thumbnail image if not present. Leave empty to skip thumbnail if not present.', 'super-rss-reader' ) ); ?></div>
232 <div class="srr_field"><input id="<?php echo $this->get_field_id('thumbnail_default');?>" name="<?php echo $this->get_field_name('thumbnail_default'); ?>" type="text" value="<?php echo $thumbnail_default; ?>" class="widefat" /></div>
233 </div>
234
235 </section>
236
237 <section data-tab-id="display">
238
239 <div class="srr_row">
240 <div class="srr_label srr_sm"><label for="<?php echo $this->get_field_id('color_style');?>"><?php _e( 'Color theme', 'super-rss-reader' ); ?></label></div>
241 <div class="srr_field">
242 <?php
243 echo '<select name="' . $this->get_field_name('color_style') . '" id="' . $this->get_field_id('color_style') . '">';
244 foreach( $option_lists[ 'color_style' ] as $k => $v ){
245 echo '<option value="' . $k . '" ' . selected( $color_style, $k ) . '>' . $v . '</option>';
246 }
247 echo '</select>';
248 ?>
249 </div>
250 </div>
251
252 <div class="srr_row">
253 <div class="srr_label srr_sm"><label for="<?php echo $this->get_field_id('display_type');?>"><?php _e( 'Display type', 'super-rss-reader' ); ?></label></div>
254 <div class="srr_field">
255 <?php
256 echo '<select name="' . $this->get_field_name('display_type') . '" id="' . $this->get_field_id('display_type') . '">';
257 foreach( $option_lists[ 'display_type' ] as $k => $v ){
258 echo '<option value="' . $k . '" ' . selected( $display_type, $k ) . '>' . $v . '</option>';
259 }
260 echo '</select>';
261 ?>
262 </div>
263 </div>
264
265 <div class="srr_row">
266 <div class="srr_label srr_sm"><label for="<?php echo $this->get_field_id('ticker_speed');?>"><?php _e( 'Ticker speed', 'super-rss-reader' ); ?></label></div>
267 <div class="srr_field"><input id="<?php echo $this->get_field_id('ticker_speed');?>" name="<?php echo $this->get_field_name('ticker_speed'); ?>" type="number" value="<?php echo $ticker_speed; ?>" title="Speed of the ticker in seconds"/> seconds</div>
268 </div>
269
270 <div class="srr_row">
271 <div class="srr_label srr_sm"><label for="<?php echo $this->get_field_id('visible_items');?>"><?php _e( 'Widget height', 'super-rss-reader' ); ?><?php $this->tt( __( 'The height of the widget when display type is "ticker"', 'super-rss-reader' ) ); ?></label></div>
272 <div class="srr_field"><input id="<?php echo $this->get_field_id('visible_items');?>" name="<?php echo $this->get_field_name('visible_items'); ?>" type="number" value="<?php echo $visible_items; ?>" /><br/>
273 <small class="srr_small_text"><?php _e( 'Set value less than 20 to show visible feed items. Example: <b>5</b> items', 'super-rss-reader' ); ?></small></br>
274 <small class="srr_small_text"><?php _e( 'Set value greater than 20 for fixed widget height. Example: <b>400</b> px', 'super-rss-reader' ); ?></small></div>
275 </div>
276
277 </section>
278
279 </div>
280
281 <div class="srr_pro">
282 <div class="srr_pro_intro">
283 <div><span class="srr_pro_label">PRO</span></div>
284 <p>Get the PRO version to enjoy more features like<br/> <span>Shortcode, Grid display, Custom feed item template</span> and more !</p>
285 <div><span class="dashicons dashicons-arrow-down-alt2 srr_pro_more"></span></div>
286 </div>
287 <div class="srr_pro_details">
288 <ul class="srr_pro_features">
289 <li>Shortcode - <span>Display RSS feed anywhere in your website</span></li>
290 <li>Grid display - <span>Display feed item in rows and columns</span></li>
291 <li>Custom template - <span>Change order of feed item content, add HTML</span></li>
292 <li>4+ new color themes</li>
293 <li>Updates and support for 1 year</li>
294 </ul>
295 <p><a href="https://www.aakashweb.com/wordpress-plugins/super-rss-reader-pro/?utm_source=admin&utm_medium=widget-get&utm_campaign=srr-pro#purchase" class="button button-primary">Get PRO version</a> <a href="https://www.aakashweb.com/wordpress-plugins/super-rss-reader-pro/?utm_source=admin&utm_medium=widget-info&utm_campaign=srr-pro" class="button">More information</a></p>
296 </div>
297 </div>
298
299 <div class="srr_info">
300 <p><a href="https://www.aakashweb.com/docs/super-rss-reader/" target="_blank">Docs</a> | <a href="https://www.aakashweb.com/forum/discuss/wordpress-plugins/super-rss-reader/" target="_blank">Report issue</a> | <a href="https://wordpress.org/support/plugin/super-rss-reader/reviews/?rate=5#new-post" target="_blank">Rate 5 stars & review</a> | v<?php echo SRR_VERSION; ?></p>
301 </div>
302
303 <?php
304 }
305
306 public function tt( $text ){
307 echo '<div class="srr_tt" tabindex="0"><span class="dashicons dashicons-editor-help"></span><span class="srr_tt_text"><span>' . $text . '</span></span></div>';
308 }
309
310 }
311
312 ?>