PluginProbe
Super RSS Reader – Add attractive RSS Feed Widget / 5.4
Super RSS Reader – Add attractive RSS Feed Widget v5.4
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
← All changes | includes/widget-admin.php +226 -99 4.35.4 View file →
@@ -44,13 +44,14 @@
44 44 public function update( $new_instance, $old_instance ){
45 45
46 46 $instance = $old_instance;
47 47
48 - $instance[ 'title' ] = stripslashes( $new_instance['title'] );
49 - $instance[ 'urls' ] = stripslashes( $new_instance['urls']) ;
50 - $instance[ 'tab_titles' ] = stripslashes( $new_instance['tab_titles'] );
48 + $instance[ 'title' ] = sanitize_text_field( $new_instance['title'] );
49 + $instance[ 'urls' ] = sanitize_textarea_field( $new_instance['urls'] ) ;
50 + $instance[ 'tab_titles' ] = wp_kses_post( $new_instance['tab_titles'] );
51 51
52 52 $instance[ 'count' ] = intval( $new_instance['count'] );
53 + $instance[ 'show_title' ] = intval( isset( $new_instance['show_title'] ) ? $new_instance['show_title'] : 0 );
53 54 $instance[ 'show_date' ] = intval( isset( $new_instance['show_date'] ) ? $new_instance['show_date'] : 0 );
54 55 $instance[ 'show_desc' ] = intval( isset( $new_instance['show_desc'] ) ? $new_instance['show_desc'] : 0 );
55 56 $instance[ 'show_author' ] = intval( isset( $new_instance['show_author'] ) ? $new_instance['show_author'] : 0 );
56 57 $instance[ 'show_thumb' ] = intval( isset( $new_instance['show_thumb'] ) ? $new_instance['show_thumb'] : 0 );
@@ -55,22 +56,29 @@
55 56 $instance[ 'show_author' ] = intval( isset( $new_instance['show_author'] ) ? $new_instance['show_author'] : 0 );
56 57 $instance[ 'show_thumb' ] = intval( isset( $new_instance['show_thumb'] ) ? $new_instance['show_thumb'] : 0 );
57 58 $instance[ 'strip_desc' ] = intval( $new_instance['strip_desc'] );
58 59 $instance[ 'strip_title' ] = intval( $new_instance['strip_title'] );
59 - $instance[ 'date_format' ] = stripslashes( $new_instance['date_format'] );
60 - $instance[ 'order_by' ] = stripslashes( $new_instance['order_by'] );
61 - $instance[ 'read_more' ] = stripslashes( $new_instance['read_more'] );
60 + $instance[ 'offset' ] = intval( $new_instance['offset'] );
61 + $instance[ 'date_format' ] = sanitize_text_field( $new_instance['date_format'] );
62 + $instance[ 'date_timezone' ] = sanitize_text_field( $new_instance['date_timezone'] );
63 + $instance[ 'order_by' ] = sanitize_text_field( $new_instance['order_by'] );
64 + $instance[ 'read_more' ] = sanitize_text_field( $new_instance['read_more'] );
62 65 $instance[ 'add_nofollow' ] = intval( isset( $new_instance['add_nofollow'] ) ? $new_instance['add_nofollow'] : 0 );
63 66 $instance[ 'open_newtab' ] = intval( isset( $new_instance['open_newtab'] ) ? $new_instance['open_newtab'] : 0 );
64 67 $instance[ 'rich_desc' ] = intval( isset( $new_instance['rich_desc'] ) ? $new_instance['rich_desc'] : 0 );
65 - $instance[ 'thumbnail_position' ] = stripslashes( $new_instance['thumbnail_position'] );
66 - $instance[ 'thumbnail_size' ] = stripslashes( $new_instance['thumbnail_size'] );
67 - $instance[ 'thumbnail_default' ] = stripslashes( $new_instance['thumbnail_default'] );
68 + $instance[ 'link_desc' ] = intval( isset( $new_instance['link_desc'] ) ? $new_instance['link_desc'] : 0 );
69 + $instance[ 'desc_type' ] = sanitize_text_field( $new_instance['desc_type'] );
70 + $instance[ 'thumbnail_position' ] = sanitize_text_field( $new_instance['thumbnail_position'] );
71 + $instance[ 'thumbnail_size' ] = sanitize_text_field( $new_instance['thumbnail_size'] );
72 + $instance[ 'thumbnail_default' ] = sanitize_text_field( $new_instance['thumbnail_default'] );
73 + $instance[ 'thumbnail_type' ] = sanitize_text_field( $new_instance['thumbnail_type'] );
74 + $instance[ 'no_feed_text' ] = wp_kses_post( $new_instance['no_feed_text'] );
68 75
69 - $instance[ 'color_style' ] = stripslashes( $new_instance['color_style']);
70 - $instance[ 'display_type' ] = stripslashes( $new_instance['display_type']);
71 - $instance[ 'visible_items' ] = intval( $new_instance['visible_items']);
72 - $instance[ 'ticker_speed' ] = intval( $new_instance['ticker_speed']);
76 + $instance[ 'color_style' ] = sanitize_text_field( $new_instance['color_style']);
77 + $instance[ 'display_type' ] = sanitize_text_field( $new_instance['display_type']);
78 + $instance[ 'visible_items' ] = intval( $new_instance['visible_items'] );
79 + $instance[ 'ticker_speed' ] = intval( $new_instance['ticker_speed'] );
80 + $instance[ 'scroll_height' ] = sanitize_text_field( $new_instance['scroll_height'] );
73 81
74 82 return $instance;
75 83 }
76 84
@@ -78,34 +86,42 @@
78 86 public function form( $instance ){
79 87
80 88 $instance = wp_parse_args( (array) $instance, SRR_Options::defaults() );
81 89
82 - $title = htmlspecialchars( isset( $instance['title'] ) ? $instance[ 'title' ] : '' );
83 - $urls = htmlspecialchars($instance['urls']);
84 - $tab_titles = htmlspecialchars($instance['tab_titles']);
90 + $title = isset( $instance['title'] ) ? $instance[ 'title' ] : '';
91 + $urls = $instance['urls'];
92 + $tab_titles = $instance['tab_titles'];
85 93
86 - $count = intval($instance['count']);
87 - $show_date = intval($instance['show_date']);
88 - $show_desc = intval($instance['show_desc']);
89 - $show_author = intval($instance['show_author']);
90 - $show_thumb = intval($instance['show_thumb']);
91 - $open_newtab = intval($instance['open_newtab']);
92 - $add_nofollow = intval($instance['add_nofollow']);
93 - $strip_desc = intval($instance['strip_desc']);
94 - $strip_title = intval($instance['strip_title']);
95 - $date_format = htmlspecialchars($instance['date_format']);
96 - $order_by = htmlspecialchars($instance['order_by']);
97 - $read_more = htmlspecialchars($instance['read_more']);
98 - $rich_desc = intval($instance['rich_desc']);
99 - $thumbnail_position = htmlspecialchars($instance['thumbnail_position']);
100 - $thumbnail_size = htmlspecialchars($instance['thumbnail_size']);
101 - $thumbnail_default = htmlspecialchars($instance['thumbnail_default']);
94 + $count = $instance['count'];
95 + $show_title = $instance['show_title'];
96 + $show_date = $instance['show_date'];
97 + $show_desc = $instance['show_desc'];
98 + $show_author = $instance['show_author'];
99 + $show_thumb = $instance['show_thumb'];
100 + $open_newtab = $instance['open_newtab'];
101 + $add_nofollow = $instance['add_nofollow'];
102 + $strip_desc = $instance['strip_desc'];
103 + $strip_title = $instance['strip_title'];
104 + $offset = $instance['offset'];
105 + $date_format = $instance['date_format'];
106 + $date_timezone = $instance['date_timezone'];
107 + $order_by = $instance['order_by'];
108 + $read_more = $instance['read_more'];
109 + $rich_desc = $instance['rich_desc'];
110 + $desc_type = $instance['desc_type'];
111 + $link_desc = $instance['link_desc'];
112 + $thumbnail_position = $instance['thumbnail_position'];
113 + $thumbnail_size = $instance['thumbnail_size'];
114 + $thumbnail_default = $instance['thumbnail_default'];
115 + $thumbnail_type = $instance['thumbnail_type'];
116 + $no_feed_text = $instance['no_feed_text'];
102 117
103 - $color_style = stripslashes($instance['color_style']);
104 - $display_type = stripslashes($instance['display_type']);
105 - $visible_items = intval($instance['visible_items']);
106 - $ticker_speed = intval($instance['ticker_speed']);
107 -
118 + $color_style = $instance['color_style'];
119 + $display_type = $instance['display_type'];
120 + $visible_items = $instance['visible_items'];
121 + $ticker_speed = $instance['ticker_speed'];
122 + $scroll_height = $instance['scroll_height'];
123 +
108 124 $option_lists = SRR_Options::select_options();
109 125
110 126 // Replacing commas with new lines
111 127 $urls = str_replace( ',', "\n", $urls );
@@ -115,55 +131,61 @@
115 131
116 132 <div class="srr_settings">
117 133
118 134 <div class="srr_row">
119 - <div class="srr_label srr_xsm"><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e( 'Title', 'super-rss-reader' ); ?></label></div>
120 - <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>
135 + <div class="srr_label srr_xsm"><label for="<?php echo esc_attr( $this->get_field_id('title') ); ?>"><?php esc_html_e( 'Title', 'super-rss-reader' ); ?></label></div>
136 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('title') ); ?>" name="<?php echo esc_attr( $this->get_field_name('title') ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" class="widefat"/></div>
121 137 </div>
122 138
123 139 <div class="srr_row">
124 - <div class="srr_label srr_xsm"><label for="<?php echo $this->get_field_id('urls'); ?>"><?php _e( 'URL(s)', 'super-rss-reader' ); ?></label></div>
125 - <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>
126 - <small class="srr_small_text"><?php _e( 'Can enter multiple RSS/atom feed URLs in new line', 'super-rss-reader' ); ?></small></div>
140 + <div class="srr_label srr_xsm"><label for="<?php echo esc_attr( $this->get_field_id('urls') ); ?>"><?php esc_html_e( 'URL(s)', 'super-rss-reader' ); ?></label></div>
141 + <div class="srr_field"><textarea id="<?php echo esc_attr( $this->get_field_id('urls') ); ?>" name="<?php echo esc_attr( $this->get_field_name('urls') ); ?>" class="widefat"><?php echo esc_html( $urls ); ?></textarea>
142 + <small class="srr_small_text"><?php esc_html_e( 'Can enter multiple RSS/atom feed URLs in new line', 'super-rss-reader' ); ?></small></div>
127 143 </div>
128 144
129 145 <div class="srr_row">
130 - <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>
131 - <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>
132 - <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>
146 + <div class="srr_label srr_xsm"><label for="<?php echo esc_attr( $this->get_field_id('tab_titles') ); ?>"><?php esc_html_e( 'Tab titles', 'super-rss-reader' ); ?></label></div>
147 + <div class="srr_field"><textarea id="<?php echo esc_attr( $this->get_field_id('tab_titles') ); ?>" name="<?php echo esc_attr( $this->get_field_name('tab_titles') ); ?>" class="widefat"><?php echo esc_html( $tab_titles ); ?></textarea>
148 + <small class="srr_small_text"><?php esc_html_e( 'Enter corresponding tab titles in new line. Leave empty to take from feed.', 'super-rss-reader' ); ?></small></div>
133 149 </div>
134 150
135 151 <ul class="srr_tab_list">
136 - <li><a href="#" data-tab="general" class="active"><?php _e( 'General', 'super-rss-reader' ); ?></a></li>
137 - <li><a href="#" data-tab="content"><?php _e( 'Content', 'super-rss-reader' ); ?></a></li>
138 - <li><a href="#" data-tab="display"><?php _e( 'Display', 'super-rss-reader' ); ?></a></li>
152 + <li><a href="#" data-tab="general" class="active"><?php esc_html_e( 'General', 'super-rss-reader' ); ?></a></li>
153 + <li><a href="#" data-tab="content"><?php esc_html_e( 'Content', 'super-rss-reader' ); ?></a></li>
154 + <li><a href="#" data-tab="display"><?php esc_html_e( 'Display', 'super-rss-reader' ); ?></a></li>
155 + <li><a href="#" data-tab="filter"><?php esc_html_e( 'Filter', 'super-rss-reader' ); ?><span class="srr_pro_tag">PRO</span></a></li>
139 156 </ul>
140 157
141 158 <section data-tab-id="general" class="active">
142 159
143 160 <div class="srr_row">
144 - <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>
145 - <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>
161 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('count') ); ?>"><?php esc_html_e( 'Total items to show', 'super-rss-reader' ); ?></label><?php $this->tt( __( 'Number of feed items to be displayed', 'super-rss-reader' ) ); ?></div>
162 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('count') ); ?>" name="<?php echo esc_attr( $this->get_field_name('count') ); ?>" type="number" value="<?php echo esc_attr( $count ); ?>" class="widefat" /></div>
146 163 </div>
147 164
148 165 <div class="srr_row">
149 - <div class="srr_label"><label for="<?php echo $this->get_field_id('show_desc'); ?>"><?php _e( 'Show Description', 'super-rss-reader' ); ?></label></div>
150 - <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>
166 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('show_title') ); ?>"><?php esc_html_e( 'Show title', 'super-rss-reader' ); ?></label></div>
167 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('show_title') ); ?>" type="checkbox" name="<?php echo esc_attr( $this->get_field_name('show_title') ); ?>" value="1" <?php echo $show_title == "1" ? 'checked="checked"' : ""; ?> /></div>
151 168 </div>
152 169
153 170 <div class="srr_row">
154 - <div class="srr_label"><label for="<?php echo $this->get_field_id('show_date'); ?>"><?php _e( 'Show Date', 'super-rss-reader' ); ?></label></div>
155 - <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>
171 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('show_desc') ); ?>"><?php esc_html_e( 'Show Description', 'super-rss-reader' ); ?></label></div>
172 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('show_desc') ); ?>" type="checkbox" name="<?php echo esc_attr( $this->get_field_name('show_desc') ); ?>" value="1" <?php echo $show_desc == "1" ? 'checked="checked"' : ""; ?> /></div>
156 173 </div>
174 +
175 + <div class="srr_row">
176 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('show_date') ); ?>"><?php esc_html_e( 'Show Date', 'super-rss-reader' ); ?></label></div>
177 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('show_date') ); ?>" type="checkbox" name="<?php echo esc_attr( $this->get_field_name('show_date') ); ?>" value="1" <?php echo $show_date == "1" ? 'checked="checked"' : ""; ?> /></div>
178 + </div>
157 179
158 180 <div class="srr_row">
159 - <div class="srr_label"><label for="<?php echo $this->get_field_id('show_author'); ?>"><?php _e( 'Show Author', 'super-rss-reader' ); ?></label></div>
160 - <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>
181 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('show_author') ); ?>"><?php esc_html_e( 'Show Author', 'super-rss-reader' ); ?></label></div>
182 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('show_author') ); ?>" type="checkbox" name="<?php echo esc_attr( $this->get_field_name('show_author') ); ?>" value="1" <?php echo $show_author == "1" ? 'checked="checked"' : ""; ?> /></div>
161 183 </div>
162 184
163 185 <div class="srr_row">
164 - <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>
165 - <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>
186 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('show_thumb') ); ?>"><?php esc_html_e( 'Show thumbnail if present', 'super-rss-reader' ); ?></label></div>
187 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('show_thumb') ); ?>" type="checkbox" name="<?php echo esc_attr( $this->get_field_name('show_thumb') ); ?>" value="1" <?php echo $show_thumb == "1" ? 'checked="checked"' : ""; ?> /></div>
166 188 </div>
167 189 </section>
168 190
169 191 <section data-tab-id="content">
@@ -168,34 +190,34 @@
168 190
169 191 <section data-tab-id="content">
170 192
171 193 <div class="srr_row">
172 - <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>
173 - <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>
194 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('add_nofollow') ); ?>"><?php esc_html_e( 'Add "no follow" attribute to links', 'super-rss-reader' ); ?></label></div>
195 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('add_nofollow') ); ?>" type="checkbox" name="<?php echo esc_attr( $this->get_field_name('add_nofollow') ); ?>" value="1" <?php echo $add_nofollow == "1" ? 'checked="checked"' : ""; ?> /></div>
174 196 </div>
175 197
176 198 <div class="srr_row">
177 - <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>
178 - <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>
199 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('open_newtab') ); ?>"><?php esc_html_e( 'Open links in new tab', 'super-rss-reader' ); ?></label></div>
200 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('open_newtab') ); ?>" type="checkbox" name="<?php echo esc_attr( $this->get_field_name('open_newtab') ); ?>" value="1" <?php echo $open_newtab == "1" ? 'checked="checked"' : ""; ?> /></div>
179 201 </div>
180 202
181 203 <div class="srr_row">
182 - <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>
183 - <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>
204 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('strip_title') ); ?>"><?php esc_html_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>
205 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('strip_title') ); ?>" name="<?php echo esc_attr( $this->get_field_name('strip_title') ); ?>" type="number" value="<?php echo esc_attr( $strip_title ); ?>" class="widefat" /></div>
184 206 </div>
185 207
186 208 <div class="srr_row">
187 - <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>
188 - <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>
209 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('offset') ); ?>"><?php esc_html_e( 'Offset', 'super-rss-reader' ); ?></label><?php $this->tt( __( 'The number of RSS feed items to skip from the top', 'super-rss-reader' ) ); ?></div>
210 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('offset') ); ?>" name="<?php echo esc_attr( $this->get_field_name('offset') ); ?>" type="number" value="<?php echo esc_attr( $offset ); ?>" class="widefat" /></div>
189 211 </div>
190 212
191 213 <div class="srr_row">
192 - <div class="srr_label"><label for="<?php echo $this->get_field_id('order_by');?>"><?php _e( 'Order feed items by', 'super-rss-reader' ); ?></label></div>
214 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('order_by') ); ?>"><?php esc_html_e( 'Order feed items by', 'super-rss-reader' ); ?></label></div>
193 215 <div class="srr_field">
194 216 <?php
195 217 echo '<select name="' . $this->get_field_name('order_by') . '" id="' . $this->get_field_id('order_by') . '">';
196 218 foreach( $option_lists[ 'order_by' ] as $k => $v ){
197 - echo '<option value="' . $k . '" ' . selected( $order_by, $k ) . '>' . $v . '</option>';
219 + echo '<option value="' . $k . '" ' . selected( $order_by, $k, false ) . '>' . $v . '</option>';
198 220 }
199 221 echo '</select>';
200 222 ?>
201 223 </div>
@@ -200,38 +222,63 @@
200 222 ?>
201 223 </div>
202 224 </div>
203 225
204 - <h4><?php _e( 'Description', 'super-rss-reader' ); ?></h4>
226 + <div class="srr_row">
227 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('date_format') ); ?>"><?php esc_html_e( 'Date format', 'super-rss-reader' ); ?></label><?php $this->tt( __( 'The format of the feed item date.', 'super-rss-reader' ) ); ?></div>
228 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('date_format') ); ?>" name="<?php echo esc_attr( $this->get_field_name('date_format') ); ?>" type="text" value="<?php echo esc_attr( $date_format ); ?>" class="widefat" />
229 + <small class="srr_small_text"><a href="https://wordpress.org/support/article/formatting-date-and-time/" target="_blank"><?php esc_html_e( 'Refer format codes here', 'super-rss-reader' ); ?></a> <?php echo wp_kses( __( 'Default: <code>j F Y</code> or type <code>relative</code> for relative format (example 2 days ago)', 'super-rss-reader' ), array( 'code' => array() ) ); ?></small>
230 + </div>
231 + </div>
205 232
233 + <h4><?php esc_html_e( 'Description', 'super-rss-reader' ); ?></h4>
234 +
206 235 <div class="srr_row">
207 - <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>
208 - <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>
236 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('desc_type') ); ?>"><?php esc_html_e( 'Description to prefer', 'super-rss-reader' ); ?></label><?php $this->tt( __( 'Sometimes feed items have both summary and the full post content. Select the type to prefer.', 'super-rss-reader' ) ); ?></div>
237 + <div class="srr_field">
238 + <?php
239 + echo '<select name="' . esc_attr( $this->get_field_name('desc_type') ) . '" id="' . esc_attr( $this->get_field_id('desc_type') ) . '">';
240 + foreach( $option_lists[ 'desc_type' ] as $k => $v ){
241 + echo '<option value="' . esc_attr( $k ) . '" ' . selected( $desc_type, $k, false ) . '>' . esc_html( $v ) . '</option>';
242 + }
243 + echo '</select>';
244 + ?>
245 + </div>
209 246 </div>
210 247
211 248 <div class="srr_row">
212 - <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>
213 - <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>
249 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('strip_desc') ); ?>"><?php esc_html_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>
250 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('strip_desc') ); ?>" name="<?php echo esc_attr( $this->get_field_name('strip_desc') ); ?>" type="number" value="<?php echo esc_attr( $strip_desc ); ?>" class="widefat" /></div>
214 251 </div>
215 252
216 253 <div class="srr_row">
217 - <div class="srr_label"><label for="<?php echo $this->get_field_id('rich_desc'); ?>"><?php _e( 'Enable rich description', 'super-rss-reader' ); ?></label></div>
218 - <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>
254 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('read_more') ); ?>"><?php esc_html_e( 'Read more text', 'super-rss-reader' ); ?></label><?php $this->tt( __( 'Leave blank to hide read more text', 'super-rss-reader' ) ); ?></div>
255 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('read_more') ); ?>" name="<?php echo esc_attr( $this->get_field_name('read_more') ); ?>" type="text" value="<?php echo esc_attr( $read_more ); ?>" class="widefat" /></div>
219 256 </div>
220 257
258 + <div class="srr_row">
259 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('link_desc') ); ?>"><?php esc_html_e( 'Link description text', 'super-rss-reader' ); ?></label><?php $this->tt( __( 'Wrap the description text with the link of the RSS feed item. Works only when rich description is disabled.', 'super-rss-reader' ) ); ?></div>
260 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('link_desc') ); ?>" type="checkbox" name="<?php echo esc_attr( $this->get_field_name('link_desc') ); ?>" value="1" <?php echo $link_desc == "1" ? 'checked="checked"' : ""; ?> /></div>
261 + </div>
262 +
263 + <div class="srr_row">
264 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('rich_desc') ); ?>"><?php esc_html_e( 'Enable rich description', 'super-rss-reader' ); ?></label></div>
265 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('rich_desc') ); ?>" type="checkbox" name="<?php echo esc_attr( $this->get_field_name('rich_desc') ); ?>" value="1" <?php echo $rich_desc == "1" ? 'checked="checked"' : ""; ?> /></div>
266 + </div>
267 +
221 268 <?php if( $rich_desc == 1 ): ?>
222 - <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>
269 + <span class="srr_note"><?php esc_html_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>
223 270 <?php endif; ?>
224 271
225 - <h4><?php _e( 'Thumbnail', 'super-rss-reader' ); ?></h4>
272 + <h4><?php esc_html_e( 'Thumbnail', 'super-rss-reader' ); ?></h4>
226 273
227 274 <div class="srr_row">
228 - <div class="srr_label"><label for="<?php echo $this->get_field_id('thumbnail_position');?>"><?php _e( 'Thumbnail position', 'super-rss-reader' ); ?></label></div>
275 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('thumbnail_position') ); ?>"><?php esc_html_e( 'Thumbnail position', 'super-rss-reader' ); ?></label></div>
229 276 <div class="srr_field">
230 277 <?php
231 - echo '<select name="' . $this->get_field_name('thumbnail_position') . '" id="' . $this->get_field_id('thumbnail_position') . '">';
278 + echo '<select name="' . esc_attr( $this->get_field_name('thumbnail_position') ) . '" id="' . esc_attr( $this->get_field_id('thumbnail_position') ) . '">';
232 279 foreach( $option_lists[ 'thumbnail_position' ] as $k => $v ){
233 - echo '<option value="' . $k . '" ' . selected( $thumbnail_position, $k ) . '>' . $v . '</option>';
280 + echo '<option value="' . esc_attr( $k ) . '" ' . selected( $thumbnail_position, $k, false ) . '>' . esc_html( $v ) . '</option>';
234 281 }
235 282 echo '</select>';
236 283 ?>
237 284 </div>
@@ -237,28 +284,67 @@
237 284 </div>
238 285 </div>
239 286
240 287 <div class="srr_row">
241 - <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>
242 - <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>
288 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('thumbnail_size') ); ?>"><?php esc_html_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>
289 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('thumbnail_size') ); ?>" name="<?php echo esc_attr( $this->get_field_name('thumbnail_size') ); ?>" type="text" value="<?php echo esc_attr( $thumbnail_size ); ?>" class="widefat" /></div>
243 290 </div>
244 291
245 292 <div class="srr_row">
246 - <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>
247 - <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>
293 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('thumbnail_force') ); ?>"><?php esc_html_e( 'Fetch thumbnail from the page (feed URL) directly if not available.', 'super-rss-reader' ); ?></label><?php $this->tt( __( 'If feed item does not have an image, then fetch it from the page directly. This feature is available in the PRO version', 'super-rss-reader' ) ); ?></div>
294 + <div class="srr_field">
295 + <select>
296 + <option disabled selected>No</option>
297 + <option disabled>When absent in feed item</option>
298 + <option disabled>Always</option>
299 + </select>
300 + <a class="srr_pro_tag" href="https://www.aakashweb.com/wordpress-plugins/super-rss-reader/?utm_source=admin&utm_medium=thumbnail&utm_campaign=srr-pro#pro" target="_blank" title="Upgrade to PRO version">PRO</a>
301 + </div>
248 302 </div>
249 303
304 + <div class="srr_row">
305 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('thumbnail_type') ); ?>"><?php esc_html_e( 'The size of image to pick', 'super-rss-reader' ); ?></label><?php $this->tt( __( 'If the feed contains both thumbnail and full-size images, choose which image size to use.', 'super-rss-reader' ) ); ?></div>
306 + <div class="srr_field">
307 + <?php
308 + echo '<select name="' . esc_attr( $this->get_field_name('thumbnail_type') ) . '" id="' . esc_attr( $this->get_field_id('thumbnail_type') ) . '">';
309 + foreach( $option_lists[ 'thumbnail_type' ] as $k => $v ){
310 + echo '<option value="' . esc_attr( $k ) . '" ' . selected( $thumbnail_type, $k, false ) . '>' . esc_html( $v ) . '</option>';
311 + }
312 + echo '</select>';
313 + ?>
314 + </div>
315 + </div>
316 +
317 + <div class="srr_row">
318 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('thumbnail_default') ); ?>"><?php esc_html_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>
319 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('thumbnail_default') ); ?>" name="<?php echo esc_attr( $this->get_field_name('thumbnail_default') ); ?>" type="text" value="<?php echo esc_attr( $thumbnail_default ); ?>" class="widefat" /></div>
320 + </div>
321 +
322 + <h4><?php esc_html_e( 'Misc', 'super-rss-reader' ); ?></h4>
323 +
324 + <div class="srr_row">
325 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('date_timezone') ); ?>"><?php esc_html_e( 'Date timezone', 'super-rss-reader' ); ?></label><?php $this->tt( __( 'The timezone of the feed item date.', 'super-rss-reader' ) ); ?></div>
326 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('date_timezone') ); ?>" name="<?php echo esc_attr( $this->get_field_name('date_timezone') ); ?>" type="text" value="<?php echo esc_attr( $date_timezone ); ?>" class="widefat" />
327 + <small class="srr_small_text"><a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones" target="_blank"><?php esc_html_e( 'Refer timezone name here', 'super-rss-reader' ); ?>.</a> <?php esc_html_e( 'Example: ', 'super-rss-reader' ); ?> <code>Asia/Taipei</code> <?php esc_html_e( 'Default: ', 'super-rss-reader' ); ?> <code>UTC</code></small>
328 + </div>
329 + </div>
330 +
331 + <div class="srr_row">
332 + <div class="srr_label"><label for="<?php echo esc_attr( $this->get_field_id('no_feed_text') ); ?>"><?php esc_html_e( 'No feed items text', 'super-rss-reader' ); ?></label><?php $this->tt( __( 'Text to display when there are no feed items', 'super-rss-reader' ) ); ?></div>
333 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('no_feed_text') ); ?>" name="<?php echo esc_attr( $this->get_field_name('no_feed_text') ); ?>" type="text" value="<?php echo esc_attr( $no_feed_text ); ?>" class="widefat" /></div>
334 + </div>
335 +
250 336 </section>
251 337
252 338 <section data-tab-id="display">
253 339
254 340 <div class="srr_row">
255 - <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>
341 + <div class="srr_label srr_sm"><label for="<?php echo esc_attr( $this->get_field_id('color_style') ); ?>"><?php esc_html_e( 'Color theme', 'super-rss-reader' ); ?></label></div>
256 342 <div class="srr_field">
257 343 <?php
258 - echo '<select name="' . $this->get_field_name('color_style') . '" id="' . $this->get_field_id('color_style') . '">';
344 + echo '<select name="' . esc_attr( $this->get_field_name('color_style') ) . '" id="' . esc_attr( $this->get_field_id('color_style') ) . '">';
259 345 foreach( $option_lists[ 'color_style' ] as $k => $v ){
260 - echo '<option value="' . $k . '" ' . selected( $color_style, $k ) . '>' . $v . '</option>';
346 + echo '<option value="' . esc_attr( $k ) . '" ' . selected( $color_style, $k, false ) . '>' . esc_html( $v ) . '</option>';
261 347 }
262 348 echo '</select>';
263 349 ?>
264 350 </div>
@@ -264,14 +350,14 @@
264 350 </div>
265 351 </div>
266 352
267 353 <div class="srr_row">
268 - <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>
354 + <div class="srr_label srr_sm"><label for="<?php echo esc_attr( $this->get_field_id('display_type') ); ?>"><?php esc_html_e( 'Display type', 'super-rss-reader' ); ?></label></div>
269 355 <div class="srr_field">
270 356 <?php
271 - echo '<select name="' . $this->get_field_name('display_type') . '" id="' . $this->get_field_id('display_type') . '">';
357 + echo '<select name="' . esc_attr( $this->get_field_name('display_type') ) . '" id="' . esc_attr( $this->get_field_id('display_type') ) . '">';
272 358 foreach( $option_lists[ 'display_type' ] as $k => $v ){
273 - echo '<option value="' . $k . '" ' . selected( $display_type, $k ) . '>' . $v . '</option>';
359 + echo '<option value="' . esc_attr( $k ) . '" ' . selected( $display_type, $k, false ) . '>' . esc_html( $v ) . '</option>';
274 360 }
275 361 echo '</select>';
276 362 ?>
277 363 </div>
@@ -276,39 +362,80 @@
276 362 ?>
277 363 </div>
278 364 </div>
279 365
366 + <h4><?php esc_html_e( 'Ticker type settings', 'super-rss-reader' ); ?></h4>
367 +
280 368 <div class="srr_row">
281 - <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>
282 - <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>
369 + <div class="srr_label srr_sm"><label for="<?php echo esc_attr( $this->get_field_id('ticker_speed') ); ?>"><?php esc_html_e( 'Ticker speed', 'super-rss-reader' ); ?></label></div>
370 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('ticker_speed') ); ?>" name="<?php echo esc_attr( $this->get_field_name('ticker_speed') ); ?>" type="number" value="<?php echo esc_attr( $ticker_speed ); ?>" title="Speed of the ticker in seconds"/> seconds</div>
283 371 </div>
284 372
285 373 <div class="srr_row">
286 - <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>
287 - <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/>
288 - <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>
289 - <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>
374 + <div class="srr_label srr_sm"><label for="<?php echo esc_attr( $this->get_field_id('visible_items') ); ?>"><?php esc_html_e( 'Widget height', 'super-rss-reader' ); ?><?php $this->tt( __( 'The height of the widget when display type is "ticker"', 'super-rss-reader' ) ); ?></label></div>
375 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('visible_items') ); ?>" name="<?php echo esc_attr( $this->get_field_name('visible_items') ); ?>" type="number" value="<?php echo esc_attr( $visible_items ); ?>" /><br/>
376 + <small class="srr_small_text"><?php esc_html_e( 'Set value less than 20 to show visible feed items. Example: 5 items', 'super-rss-reader' ); ?></small></br>
377 + <small class="srr_small_text"><?php esc_html_e( 'Set value greater than 20 for fixed widget height. Example: 400 px', 'super-rss-reader' ); ?></small></div>
290 378 </div>
291 379
380 + <h4><?php esc_html_e( 'Scroll type settings', 'super-rss-reader' ); ?></h4>
381 +
382 + <div class="srr_row">
383 + <div class="srr_label srr_sm"><label for="<?php echo esc_attr( $this->get_field_id('scroll_height') ); ?>"><?php esc_html_e( 'Maximum height of the widget', 'super-rss-reader' ); ?></label></div>
384 + <div class="srr_field"><input id="<?php echo esc_attr( $this->get_field_id('scroll_height') ); ?>" name="<?php echo esc_attr( $this->get_field_name('scroll_height') ); ?>" type="text" value="<?php echo esc_attr( $scroll_height ); ?>" title="Maximum height of the widget"/><br/>
385 + <small class="srr_small_text"><?php esc_html_e( 'Example: 400px', 'super-rss-reader' ); ?></small>
386 + </div>
387 + </div>
388 +
292 389 </section>
293 390
391 + <section data-tab-id="filter" class="srr_pro_sec">
392 +
393 + <p>You can build rules to show/hide feed items based on feed title, URL and description. This feature is available in the <a href="https://www.aakashweb.com/wordpress-plugins/super-rss-reader/?utm_source=admin&utm_medium=filter&utm_campaign=srr-pro#pro" target="_blank">PRO version</a>.</p>
394 +
395 + <div>
396 + <h4><?php esc_html_e( 'Filter RSS feed items', 'super-rss-reader' ); ?></h4>
397 +
398 + <div class="srr_row">
399 + <div class="srr_label"><label><?php esc_html_e( 'Filter type', 'super-rss-reader' ); ?></label></div>
400 + <div class="srr_field">
401 + <?php
402 + echo '<select disabled="disabled">';
403 + echo '<option>Show items based on filter</option>';
404 + echo '</select>';
405 + ?>
406 + </div>
407 + </div>
408 +
409 + <div class="srr_row">
410 + <div class="srr_label"><label><?php esc_html_e( 'Filter rules', 'super-rss-reader' ); ?></label><?php $this->tt( __( 'The rules for the keyword filters', 'super-rss-reader' ) ); ?></div>
411 + <div class="srr_field"><a href="#"><?php esc_html_e( 'View/Edit filter rules', 'super-rss-reader' ); ?></a></div>
412 + </div>
413 + </div>
414 +
415 + </section>
416 +
294 417 </div>
295 418
296 419 <div class="srr_pro">
297 420 <div class="srr_pro_intro">
298 421 <div><span class="srr_pro_label">PRO</span></div>
299 - <p>Get the PRO version to enjoy more features like<br/> <span>Shortcode, Grid display, Custom feed item template</span> and more !</p>
422 + <p>Get the PRO version to enjoy more features like<br/> <span>Shortcode, Grid display, Filter by keyword, Pagination</span> and more !</p>
300 423 <div><span class="dashicons dashicons-arrow-down-alt2 srr_pro_more"></span></div>
301 424 </div>
302 425 <div class="srr_pro_details">
303 426 <ul class="srr_pro_features">
427 + <li>Merge feeds - <span>Merge multiple feeds into one</span></li>
304 428 <li>Shortcode - <span>Display RSS feed anywhere in your website</span></li>
305 429 <li>Grid display - <span>Display feed item in rows and columns</span></li>
430 + <li>Paginated display - <span>Display feed item in different pages.</span></li>
431 + <li>Filter by keyword - <span>Show/hide feed items based on keyword</span></li>
306 432 <li>Custom template - <span>Change order of feed item content, add HTML</span></li>
433 + <li>Fetch thumbnail - <span>Forcefully fetches the thumbnail from feed URL.</span></li>
307 434 <li>4+ new color themes</li>
308 435 <li>Updates and support for 1 year</li>
309 436 </ul>
310 - <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>
437 + <p><a href="https://www.aakashweb.com/wordpress-plugins/super-rss-reader/?utm_source=admin&utm_medium=widget-get&utm_campaign=srr-pro#pro" class="button button-primary">Get PRO version</a> <a href="https://www.aakashweb.com/wordpress-plugins/super-rss-reader/?utm_source=admin&utm_medium=widget-info&utm_campaign=srr-pro" class="button">More information</a></p>
311 438 </div>
312 439 </div>
313 440
314 441 <div class="srr_info">
@@ -318,10 +445,10 @@
318 445 <?php
319 446 }
320 447
321 448 public function tt( $text ){
322 - echo '<div class="srr_tt" tabindex="0"><span class="dashicons dashicons-editor-help"></span><span class="srr_tt_text"><span>' . $text . '</span></span></div>';
449 + echo '<div class="srr_tt" tabindex="0"><span class="dashicons dashicons-editor-help"></span><span class="srr_tt_text"><span>' . esc_html( $text ) . '</span></span></div>';
323 450 }
324 451
325 452 }
326 453
327 454 ?>