PluginProbe
Super RSS Reader – Add attractive RSS Feed Widget / 4.0.1
Super RSS Reader – Add attractive RSS Feed Widget v4.0.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.0.1, at includes/widget-admin.php

298 lines 19.2 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[ 'read_more' ] = stripslashes( $new_instance['read_more'] );
60 $instance[ 'add_nofollow' ] = intval( isset( $new_instance['add_nofollow'] ) ? $new_instance['add_nofollow'] : 0 );
61 $instance[ 'open_newtab' ] = intval( isset( $new_instance['open_newtab'] ) ? $new_instance['open_newtab'] : 0 );
62 $instance[ 'rich_desc' ] = intval( isset( $new_instance['rich_desc'] ) ? $new_instance['rich_desc'] : 0 );
63 $instance[ 'thumbnail_position' ] = stripslashes( $new_instance['thumbnail_position'] );
64 $instance[ 'thumbnail_size' ] = stripslashes( $new_instance['thumbnail_size'] );
65
66 $instance[ 'color_style' ] = stripslashes( $new_instance['color_style']);
67 $instance[ 'display_type' ] = stripslashes( $new_instance['display_type']);
68 $instance[ 'visible_items' ] = intval( $new_instance['visible_items']);
69 $instance[ 'ticker_speed' ] = intval( $new_instance['ticker_speed']);
70
71 return $instance;
72 }
73
74 // Widget form
75 public function form( $instance ){
76
77 $instance = wp_parse_args( (array) $instance, SRR_Options::defaults() );
78
79 $title = htmlspecialchars( isset( $instance['title'] ) ? $instance[ 'title' ] : '' );
80 $urls = htmlspecialchars($instance['urls']);
81 $tab_titles = htmlspecialchars($instance['tab_titles']);
82
83 $count = intval($instance['count']);
84 $show_date = intval($instance['show_date']);
85 $show_desc = intval($instance['show_desc']);
86 $show_author = intval($instance['show_author']);
87 $show_thumb = intval($instance['show_thumb']);
88 $open_newtab = intval($instance['open_newtab']);
89 $add_nofollow = intval($instance['add_nofollow']);
90 $strip_desc = intval($instance['strip_desc']);
91 $strip_title = intval($instance['strip_title']);
92 $read_more = htmlspecialchars($instance['read_more']);
93 $rich_desc = intval($instance['rich_desc']);
94 $thumbnail_position = htmlspecialchars($instance['thumbnail_position']);
95 $thumbnail_size = htmlspecialchars($instance['thumbnail_size']);
96
97 $color_style = stripslashes($instance['color_style']);
98 $display_type = stripslashes($instance['display_type']);
99 $visible_items = intval($instance['visible_items']);
100 $ticker_speed = intval($instance['ticker_speed']);
101
102 $option_lists = SRR_Options::select_options();
103
104 // Replacing commas with new lines
105 $urls = str_replace( ',', "\n", $urls );
106 $tab_titles = str_replace( ',', "\n", $tab_titles );
107
108 ?>
109
110 <div class="srr_settings">
111
112 <div class="srr_row">
113 <div class="srr_label srr_xsm"><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e( 'Title', 'super-rss-reader' ); ?></label></div>
114 <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>
115 </div>
116
117 <div class="srr_row">
118 <div class="srr_label srr_xsm"><label for="<?php echo $this->get_field_id('urls'); ?>"><?php _e( 'URL(s)', 'super-rss-reader' ); ?></label></div>
119 <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>
120 <small class="srr_small_text"><?php _e( 'Can enter multiple RSS/atom feed URLs in new line', 'super-rss-reader' ); ?></small></div>
121 </div>
122
123 <div class="srr_row">
124 <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>
125 <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>
126 <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>
127 </div>
128
129 <ul class="srr_tab_list">
130 <li><a href="#" data-tab="general" class="active"><?php _e( 'General', 'super-rss-reader' ); ?></a></li>
131 <li><a href="#" data-tab="content"><?php _e( 'Content', 'super-rss-reader' ); ?></a></li>
132 <li><a href="#" data-tab="display"><?php _e( 'Display', 'super-rss-reader' ); ?></a></li>
133 </ul>
134
135 <section data-tab-id="general" class="active">
136
137 <div class="srr_row">
138 <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>
139 <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>
140 </div>
141
142 <div class="srr_row">
143 <div class="srr_label"><label for="<?php echo $this->get_field_id('show_desc'); ?>"><?php _e( 'Show Description', 'super-rss-reader' ); ?></label></div>
144 <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>
145 </div>
146
147 <div class="srr_row">
148 <div class="srr_label"><label for="<?php echo $this->get_field_id('show_date'); ?>"><?php _e( 'Show Date', 'super-rss-reader' ); ?></label></div>
149 <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>
150 </div>
151
152 <div class="srr_row">
153 <div class="srr_label"><label for="<?php echo $this->get_field_id('show_author'); ?>"><?php _e( 'Show Author', 'super-rss-reader' ); ?></label></div>
154 <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>
155 </div>
156
157 <div class="srr_row">
158 <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>
159 <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>
160 </div>
161 </section>
162
163 <section data-tab-id="content">
164
165 <div class="srr_row">
166 <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>
167 <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>
168 </div>
169
170 <div class="srr_row">
171 <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>
172 <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>
173 </div>
174
175 <div class="srr_row">
176 <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>
177 <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>
178 </div>
179
180 <h4><?php _e( 'Description', 'super-rss-reader' ); ?></h4>
181
182 <div class="srr_row">
183 <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>
184 <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>
185 </div>
186
187 <div class="srr_row">
188 <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>
189 <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>
190 </div>
191
192 <div class="srr_row">
193 <div class="srr_label"><label for="<?php echo $this->get_field_id('rich_desc'); ?>"><?php _e( 'Enable rich description', 'super-rss-reader' ); ?></label></div>
194 <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>
195 </div>
196
197 <?php if( $rich_desc == 1 ): ?>
198 <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>
199 <?php endif; ?>
200
201 <h4><?php _e( 'Thumbnail', 'super-rss-reader' ); ?></h4>
202
203 <div class="srr_row">
204 <div class="srr_label"><label for="<?php echo $this->get_field_id('thumbnail_position');?>"><?php _e( 'Thumbnail position', 'super-rss-reader' ); ?></label></div>
205 <div class="srr_field">
206 <?php
207 echo '<select name="' . $this->get_field_name('thumbnail_position') . '" id="' . $this->get_field_id('thumbnail_position') . '">';
208 foreach( $option_lists[ 'thumbnail_position' ] as $k => $v ){
209 echo '<option value="' . $k . '" ' . selected( $thumbnail_position, $k ) . '>' . $v . '</option>';
210 }
211 echo '</select>';
212 ?>
213 </div>
214 </div>
215
216 <div class="srr_row">
217 <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>
218 <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>
219 </div>
220
221 </section>
222
223 <section data-tab-id="display">
224
225 <div class="srr_row">
226 <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>
227 <div class="srr_field">
228 <?php
229 echo '<select name="' . $this->get_field_name('color_style') . '" id="' . $this->get_field_id('color_style') . '">';
230 foreach( $option_lists[ 'color_style' ] as $k => $v ){
231 echo '<option value="' . $k . '" ' . selected( $color_style, $k ) . '>' . $v . '</option>';
232 }
233 echo '</select>';
234 ?>
235 </div>
236 </div>
237
238 <div class="srr_row">
239 <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>
240 <div class="srr_field">
241 <?php
242 echo '<select name="' . $this->get_field_name('display_type') . '" id="' . $this->get_field_id('display_type') . '">';
243 foreach( $option_lists[ 'display_type' ] as $k => $v ){
244 echo '<option value="' . $k . '" ' . selected( $display_type, $k ) . '>' . $v . '</option>';
245 }
246 echo '</select>';
247 ?>
248 </div>
249 </div>
250
251 <div class="srr_row">
252 <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>
253 <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>
254 </div>
255
256 <div class="srr_row">
257 <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>
258 <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/>
259 <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>
260 <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>
261 </div>
262
263 </section>
264
265 </div>
266
267 <div class="srr_pro">
268 <div class="srr_pro_intro">
269 <div><span class="srr_pro_label">PRO</span></div>
270 <p>Get the PRO version to enjoy more features like<br/> <span>Shortcode, Grid display, Custom feed item template</span> and more !</p>
271 <div><span class="dashicons dashicons-arrow-down-alt2 srr_pro_more"></span></div>
272 </div>
273 <div class="srr_pro_details">
274 <ul class="srr_pro_features">
275 <li>Shortcode - <span>Display RSS feed anywhere in your website</span></li>
276 <li>Grid display - <span>Display feed item in rows and columns</span></li>
277 <li>Custom template - <span>Change order of feed item content, add HTML</span></li>
278 <li>4+ new color themes</li>
279 <li>Updates and support for 1 year</li>
280 </ul>
281 <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>
282 </div>
283 </div>
284
285 <div class="srr_info">
286 <p><a href="https://www.aakashweb.com/docs/super-rss-reader/faq/" target="_blank">FAQ</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>
287 </div>
288
289 <?php
290 }
291
292 public function tt( $text ){
293 echo '<div class="srr_tt" tabindex="0"><span class="dashicons dashicons-editor-help"></span><span class="srr_tt_text"><span>' . $text . '</span></span></div>';
294 }
295
296 }
297
298 ?>