| 1 |
<?php |
| 2 |
/* |
| 3 |
* Plugin Name: Super RSS Reader |
| 4 |
* Plugin URI: https://www.aakashweb.com/wordpress-plugins/super-rss-reader/ |
| 5 |
* Author URI: https://www.aakashweb.com/ |
| 6 |
* Description: Super RSS Reader is jQuery based RSS reader widget, which displays the RSS feeds in the widget in an attractive way. It uses the jQuery easy ticker plugin to add a news ticker like effect to the RSS feeds. Multiple RSS feeds can be added for a single widget and they get separated in tabs. |
| 7 |
* Author: Aakash Chakravarthy |
| 8 |
* Version: 2.8 |
| 9 |
*/ |
| 10 |
|
| 11 |
define('SRR_VERSION', '2.8'); |
| 12 |
define('SRR_URL', plugin_dir_url( __FILE__ )); |
| 13 |
|
| 14 |
// Include the required scripts & styles |
| 15 |
function srr_public_scripts(){ |
| 16 |
wp_enqueue_script('jquery-easy-ticker-js', SRR_URL . 'public/js/jquery.easy-ticker.min.js', array( 'jquery', 'super-rss-reader-js' )); |
| 17 |
wp_enqueue_script('super-rss-reader-js', SRR_URL . 'public/js/script.min.js', array( 'jquery' )); |
| 18 |
wp_enqueue_style('super-rss-reader-css', SRR_URL . 'public/css/style.min.css'); |
| 19 |
} |
| 20 |
add_action('wp_enqueue_scripts', 'srr_public_scripts'); |
| 21 |
|
| 22 |
// Default color styles |
| 23 |
function srr_color_styles(){ |
| 24 |
return array( |
| 25 |
'No style' => 'none', |
| 26 |
'Grey' => 'grey', |
| 27 |
'Dark' => 'dark', |
| 28 |
'Orange' => 'orange', |
| 29 |
'Simple modern' => 'smodern' |
| 30 |
); |
| 31 |
} |
| 32 |
|
| 33 |
function srr_defaults(){ |
| 34 |
return array( |
| 35 |
'title' => '', |
| 36 |
'urls' => '', |
| 37 |
'tab_titles' => '', |
| 38 |
'count' => 5, |
| 39 |
'show_date' => 0, |
| 40 |
'show_desc' => 1, |
| 41 |
'show_author' => 0, |
| 42 |
'show_thumb' => 1, |
| 43 |
'open_newtab' => 1, |
| 44 |
'strip_desc' => 100, |
| 45 |
'add_nofollow' => 1, |
| 46 |
'read_more' => '[...]', |
| 47 |
'rich_desc' => 0 , |
| 48 |
'color_style' => 'none', |
| 49 |
'enable_ticker' => 1, |
| 50 |
'visible_items' => 5, |
| 51 |
'strip_title' => 0, |
| 52 |
'ticker_speed' => 4, |
| 53 |
); |
| 54 |
} |
| 55 |
|
| 56 |
// The main RSS Parser |
| 57 |
function srr_rss_parser($instance){ |
| 58 |
|
| 59 |
$instance = wp_parse_args($instance, srr_defaults()); |
| 60 |
|
| 61 |
$urls = stripslashes($instance['urls']); |
| 62 |
$tab_titles = stripslashes($instance['tab_titles']); |
| 63 |
$count = intval($instance['count']); |
| 64 |
|
| 65 |
$show_date = intval($instance['show_date']); |
| 66 |
$show_desc = intval($instance['show_desc']); |
| 67 |
$show_author = intval($instance['show_author']); |
| 68 |
$show_thumb = stripslashes($instance['show_thumb']); |
| 69 |
$open_newtab = intval($instance['open_newtab']); |
| 70 |
$add_nofollow = intval($instance['add_nofollow']); |
| 71 |
$strip_desc = intval($instance['strip_desc']); |
| 72 |
$strip_title = intval($instance['strip_title']); |
| 73 |
$read_more = htmlspecialchars($instance['read_more']); |
| 74 |
$rich_desc = intval($instance['rich_desc']); |
| 75 |
|
| 76 |
$color_style = stripslashes($instance['color_style']); |
| 77 |
$enable_ticker = intval($instance['enable_ticker']); |
| 78 |
$visible_items = intval($instance['visible_items']); |
| 79 |
$ticker_speed = intval($instance['ticker_speed']) * 1000; |
| 80 |
|
| 81 |
if(empty($urls)){ |
| 82 |
return ''; |
| 83 |
} |
| 84 |
|
| 85 |
$rand = array(); |
| 86 |
$url = explode(',', $urls); |
| 87 |
$tab_title = explode(',', $tab_titles); |
| 88 |
$ucount = count($url); |
| 89 |
|
| 90 |
// Generate the Tabs |
| 91 |
if($ucount > 1){ |
| 92 |
echo '<ul class="srr-tab-wrap srr-tab-style-' . $color_style . ' srr-clearfix">'; |
| 93 |
for( $i=0; $i < $ucount; $i++ ){ |
| 94 |
// Get the Feed URL |
| 95 |
$feedUrl = trim( $url[$i] ); |
| 96 |
$rss = fetch_feed( $feedUrl ); |
| 97 |
$rand[$i] = rand(0, 999); |
| 98 |
|
| 99 |
if (!is_wp_error($rss)){ |
| 100 |
|
| 101 |
if( isset( $tab_title[$i] ) && !empty( $tab_title[$i]) ){ |
| 102 |
$rss_title = $tab_title[$i]; |
| 103 |
}else{ |
| 104 |
$rss_title = esc_attr(strip_tags($rss->get_title())); |
| 105 |
} |
| 106 |
|
| 107 |
echo '<li data-tab="srr-tab-' . $rand[$i] . '">' . $rss_title . '</li>'; |
| 108 |
}else{ |
| 109 |
echo '<li data-tab="srr-tab-' . $rand[$i] . '">Error</li>'; |
| 110 |
} |
| 111 |
|
| 112 |
} |
| 113 |
echo '</ul>'; |
| 114 |
} |
| 115 |
|
| 116 |
for($i=0; $i<$ucount; $i++){ |
| 117 |
// Get the Feed URL |
| 118 |
$feedUrl = trim($url[$i]); |
| 119 |
if(isset($url[$i])){ |
| 120 |
$rss = fetch_feed($feedUrl); |
| 121 |
}else{ |
| 122 |
return ''; |
| 123 |
} |
| 124 |
|
| 125 |
if( method_exists( $rss, 'enable_order_by_date' ) ){ |
| 126 |
$rss->enable_order_by_date(false); |
| 127 |
} |
| 128 |
|
| 129 |
// Check for feed errors |
| 130 |
if (!is_wp_error( $rss ) ){ |
| 131 |
$maxitems = $rss->get_item_quantity($count); |
| 132 |
$rss_items = $rss->get_items(0, $maxitems); |
| 133 |
$rss_title = esc_attr(strip_tags($rss->get_title())); |
| 134 |
$rss_desc = esc_attr(strip_tags($rss->get_description())); |
| 135 |
}else{ |
| 136 |
echo '<div class="srr-wrap srr-style-' . $color_style .'" data-id="srr-tab-' . $rand[$i] . '"><p>RSS Error: ' . $rss->get_error_message() . '</p></div>'; |
| 137 |
continue; |
| 138 |
} |
| 139 |
|
| 140 |
$randAttr = isset($rand[$i]) ? ' data-id="srr-tab-' . $rand[$i] . '" ' : ''; |
| 141 |
|
| 142 |
// Outer Wrap start |
| 143 |
echo '<div class="srr-wrap ' . (($enable_ticker == 1 ) ? 'srr-vticker' : '' ) . ' srr-style-' . $color_style . '" data-visible="' . $visible_items . '" data-speed="' . $ticker_speed . '"' . $randAttr . '><div>'; |
| 144 |
|
| 145 |
// Check feed items |
| 146 |
if ($maxitems == 0){ |
| 147 |
echo '<div>No items.</div>'; |
| 148 |
}else{ |
| 149 |
$j=1; |
| 150 |
// Loop through each feed item |
| 151 |
foreach ($rss_items as $item){ |
| 152 |
// Get the link |
| 153 |
$link = $item->get_link(); |
| 154 |
while ( stristr($link, 'http') != $link ){ $link = substr($link, 1); } |
| 155 |
$link = esc_url(strip_tags($link)); |
| 156 |
|
| 157 |
// Get the item title |
| 158 |
$title = esc_attr(strip_tags($item->get_title())); |
| 159 |
if ( empty($title) ) |
| 160 |
$title = __('No Title'); |
| 161 |
|
| 162 |
if( $strip_title != 0 ){ |
| 163 |
$titleLen = strlen($title); |
| 164 |
$title = wp_html_excerpt( $title, $strip_title ); |
| 165 |
$title = ($titleLen > $strip_title) ? $title . ' ...' : $title; |
| 166 |
} |
| 167 |
|
| 168 |
// Open links in new tab |
| 169 |
$newtab = ($open_newtab) ? ' target="_blank"' : ''; |
| 170 |
|
| 171 |
// Add no follow attribute |
| 172 |
$nofollow = ($add_nofollow) ? ' rel="nofollow"' : ''; |
| 173 |
|
| 174 |
// Get the date |
| 175 |
$date = $item->get_date('j F Y'); |
| 176 |
|
| 177 |
// Get thumbnail if present @since v2.2 |
| 178 |
$thumb = ''; |
| 179 |
if ($show_thumb == 1 && $enclosure = $item->get_enclosure()){ |
| 180 |
$thumburl = $enclosure->get_thumbnail(); |
| 181 |
if(!empty($thumburl)) |
| 182 |
$thumb = '<img src="' . $thumburl . '" alt="' . $title . '" class="srr-thumb" align="left"/>'; |
| 183 |
} |
| 184 |
|
| 185 |
// Get the description |
| 186 |
$desc = ''; |
| 187 |
if( $rich_desc == 1 ){ |
| 188 |
$desc = strip_tags( str_replace( 'eval', '', $item->get_description() ) , '<p><a><img><em><strong><font><strike><s><u><i>'); |
| 189 |
|
| 190 |
}else{ |
| 191 |
$rmore = ''; |
| 192 |
$desc = str_replace( array("\n", "\r"), ' ', esc_attr( strip_tags( @html_entity_decode( $item->get_description(), ENT_QUOTES, get_option('blog_charset') ) ) ) ); |
| 193 |
if($strip_desc != 0){ |
| 194 |
$desc = wp_html_excerpt( $desc, $strip_desc ); |
| 195 |
$rmore = (!empty($read_more)) ? '<a href="' . $link . '" title="Read more"' . $newtab . $nofollow . '>' . $read_more . '</a>' : ''; |
| 196 |
|
| 197 |
if ( '[...]' == substr( $desc, -5 ) ) |
| 198 |
$desc = substr( $desc, 0, -5 ); |
| 199 |
elseif ( '[…]' != substr( $desc, -10 ) ) |
| 200 |
$desc .= ''; |
| 201 |
|
| 202 |
$desc = esc_html( $desc ); |
| 203 |
} |
| 204 |
|
| 205 |
$desc = $thumb . $desc . ' ' . $rmore; |
| 206 |
|
| 207 |
} |
| 208 |
|
| 209 |
// Get the author |
| 210 |
$author = $item->get_author(); |
| 211 |
if ( is_object($author) ) { |
| 212 |
$author = $author->get_name(); |
| 213 |
$author = esc_html(strip_tags($author)); |
| 214 |
} |
| 215 |
|
| 216 |
echo "\n\n\t"; |
| 217 |
|
| 218 |
// Display the feed items |
| 219 |
echo '<div class="srr-item ' . (($j%2 == 0) ? 'even' : 'odd') . '">'; |
| 220 |
echo '<div class="srr-title"><a href="' . $link . '"' . $newtab . $nofollow . ' title="Posted on ' . $date . '">' . $title . '</a></div>'; |
| 221 |
echo '<div class="srr-meta">'; |
| 222 |
|
| 223 |
if($show_date && !empty($date)) |
| 224 |
echo '<time class="srr-date">' . $date . '</time>'; |
| 225 |
|
| 226 |
if($show_author && !empty($author)) |
| 227 |
echo ' - <cite class="srr-author">' . $author . '</cite>'; |
| 228 |
|
| 229 |
echo '</div>'; |
| 230 |
|
| 231 |
if($show_desc) |
| 232 |
echo '<p class="srr-summary srr-clearfix">' . $desc . '</p>'; |
| 233 |
|
| 234 |
echo '</div>'; |
| 235 |
// End display |
| 236 |
|
| 237 |
$j++; |
| 238 |
} |
| 239 |
} |
| 240 |
|
| 241 |
// Outer wrap end |
| 242 |
echo "\n\n</div> |
| 243 |
</div> \n\n" ; |
| 244 |
|
| 245 |
if ( ! is_wp_error($rss) ) |
| 246 |
$rss->__destruct(); |
| 247 |
|
| 248 |
unset($rss); |
| 249 |
|
| 250 |
} |
| 251 |
} |
| 252 |
|
| 253 |
class super_rss_reader_widget extends WP_Widget{ |
| 254 |
// Initialize |
| 255 |
public function __construct(){ |
| 256 |
$widget_ops = array( |
| 257 |
'classname' => 'widget_super_rss_reader', |
| 258 |
'description' => 'Enhanced RSS feed reader widget with advanced features.' |
| 259 |
); |
| 260 |
|
| 261 |
$control_ops = array('width' => 500, 'height' => 500); |
| 262 |
parent::__construct('super_rss_reader', 'Super RSS Reader', $widget_ops, $control_ops); |
| 263 |
} |
| 264 |
|
| 265 |
// Display the Widget |
| 266 |
public function widget($args, $instance){ |
| 267 |
extract($args); |
| 268 |
if(empty($instance['title'])){ |
| 269 |
$title = ''; |
| 270 |
}else{ |
| 271 |
$title = $before_title . apply_filters('widget_title', $instance['title'], $instance, $this->id_base) . $after_title; |
| 272 |
} |
| 273 |
|
| 274 |
echo $before_widget . $title; |
| 275 |
echo "\n" . ' |
| 276 |
<!-- Start - Super RSS Reader v' . SRR_VERSION . '--> |
| 277 |
<div class="super-rss-reader-widget">' . "\n"; |
| 278 |
|
| 279 |
srr_rss_parser($instance); |
| 280 |
|
| 281 |
echo "\n" . '</div> |
| 282 |
<!-- End - Super RSS Reader --> |
| 283 |
' . "\n"; |
| 284 |
echo $after_widget; |
| 285 |
} |
| 286 |
|
| 287 |
// Save settings |
| 288 |
public function update($new_instance, $old_instance){ |
| 289 |
$instance = $old_instance; |
| 290 |
$instance['title'] = stripslashes($new_instance['title']); |
| 291 |
$instance['urls'] = stripslashes($new_instance['urls']); |
| 292 |
$instance['tab_titles'] = stripslashes($new_instance['tab_titles']); |
| 293 |
|
| 294 |
$instance['count'] = intval($new_instance['count']); |
| 295 |
$instance['show_date'] = intval($new_instance['show_date']); |
| 296 |
$instance['show_desc'] = intval($new_instance['show_desc']); |
| 297 |
$instance['show_author'] = intval($new_instance['show_author']); |
| 298 |
$instance['show_thumb'] = stripslashes($new_instance['show_thumb']); |
| 299 |
$instance['open_newtab'] = intval($new_instance['open_newtab']); |
| 300 |
$instance['add_nofollow'] = intval($new_instance['add_nofollow']); |
| 301 |
$instance['strip_desc'] = intval($new_instance['strip_desc']); |
| 302 |
$instance['strip_title'] = intval($new_instance['strip_title']); |
| 303 |
$instance['read_more'] = stripslashes($new_instance['read_more']); |
| 304 |
$instance['rich_desc'] = stripslashes($new_instance['rich_desc']); |
| 305 |
|
| 306 |
$instance['color_style'] = stripslashes($new_instance['color_style']); |
| 307 |
$instance['enable_ticker'] = intval($new_instance['enable_ticker']); |
| 308 |
$instance['visible_items'] = intval($new_instance['visible_items']); |
| 309 |
$instance['ticker_speed'] = intval($new_instance['ticker_speed']); |
| 310 |
|
| 311 |
return $instance; |
| 312 |
} |
| 313 |
|
| 314 |
// Widget form |
| 315 |
public function form($instance){ |
| 316 |
|
| 317 |
$instance = wp_parse_args((array) $instance, srr_defaults()); |
| 318 |
|
| 319 |
$title = htmlspecialchars($instance['title']); |
| 320 |
$urls = htmlspecialchars($instance['urls']); |
| 321 |
$tab_titles = htmlspecialchars($instance['tab_titles']); |
| 322 |
|
| 323 |
$count = intval($instance['count']); |
| 324 |
$show_date = intval($instance['show_date']); |
| 325 |
$show_desc = intval($instance['show_desc']); |
| 326 |
$show_author = intval($instance['show_author']); |
| 327 |
$show_thumb = intval($instance['show_thumb']); |
| 328 |
$open_newtab = intval($instance['open_newtab']); |
| 329 |
$add_nofollow = intval($instance['add_nofollow']); |
| 330 |
$strip_desc = intval($instance['strip_desc']); |
| 331 |
$strip_title = intval($instance['strip_title']); |
| 332 |
$read_more = htmlspecialchars($instance['read_more']); |
| 333 |
$rich_desc = htmlspecialchars($instance['rich_desc']); |
| 334 |
|
| 335 |
$color_style = stripslashes($instance['color_style']); |
| 336 |
$enable_ticker = intval($instance['enable_ticker']); |
| 337 |
$visible_items = intval($instance['visible_items']); |
| 338 |
$ticker_speed = intval($instance['ticker_speed']); |
| 339 |
|
| 340 |
?> |
| 341 |
<div class="srr_settings"> |
| 342 |
<table width="100%" height="72" border="0"> |
| 343 |
<tr> |
| 344 |
<td width="13%" height="33"><label for="<?php echo $this->get_field_id('title'); ?>">Title: </label></td> |
| 345 |
<td width="87%"><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"/></td> |
| 346 |
</tr> |
| 347 |
<tr> |
| 348 |
<td><label for="<?php echo $this->get_field_id('urls'); ?>">URLs: </label></td> |
| 349 |
<td><input id="<?php echo $this->get_field_id('urls');?>" name="<?php echo $this->get_field_name('urls'); ?>" type="text" value="<?php echo $urls; ?>" class="widefat"/> |
| 350 |
<small class="srr_smalltext">Can enter multiple RSS/atom feed URLs seperated by a comma.</small> |
| 351 |
</td> |
| 352 |
</tr> |
| 353 |
|
| 354 |
<tr> |
| 355 |
<td><label for="<?php echo $this->get_field_id('tab_titles'); ?>">Tab titles: </label></td> |
| 356 |
<td><input id="<?php echo $this->get_field_id('tab_titles');?>" name="<?php echo $this->get_field_name('tab_titles'); ?>" type="text" value="<?php echo $tab_titles; ?>" class="widefat"/> |
| 357 |
<small class="srr_smalltext">Enter corresponding tab titles seperated by a comma.</small> |
| 358 |
</td> |
| 359 |
</tr> |
| 360 |
|
| 361 |
</table> |
| 362 |
</div> |
| 363 |
|
| 364 |
<div class="srr_settings"> |
| 365 |
<h4>Settings</h4> |
| 366 |
<table width="100%" border="0"> |
| 367 |
<tr> |
| 368 |
<td width="7%" height="28"><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"' : ""; ?> /></td> |
| 369 |
<td width="40%"><label for="<?php echo $this->get_field_id('show_desc'); ?>">Show Description</label></td> |
| 370 |
<td width="28%"><label for="<?php echo $this->get_field_id('count');?>">Total items to show:</label></td> |
| 371 |
<td width="25%"><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" title="No of feed items to parse"/></td> |
| 372 |
</tr> |
| 373 |
<tr> |
| 374 |
<td height="32"><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"' : ""; ?> /></td> |
| 375 |
<td><label for="<?php echo $this->get_field_id('show_date'); ?>">Show Date</label></td> |
| 376 |
<td><label for="<?php echo $this->get_field_id('strip_desc');?>">Strip description characters:</label></td> |
| 377 |
<td><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" title="The number of charaters to be displayed. Use 0 to disable stripping"/> </td> |
| 378 |
</tr> |
| 379 |
<tr> |
| 380 |
<td height="29"><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"' : ""; ?> /></td> |
| 381 |
<td><label for="<?php echo $this->get_field_id('show_author'); ?>">Show Author</label></td> |
| 382 |
<td><label for="<?php echo $this->get_field_id('strip_title'); ?>">Strip title characters:</label></td> |
| 383 |
<td><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" title="The number of charaters to be displayed. Use 0 to disable stripping"/></td> |
| 384 |
</tr> |
| 385 |
<tr> |
| 386 |
<td height="29"><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"' : ""; ?> /></td> |
| 387 |
<td><label for="<?php echo $this->get_field_id('open_newtab'); ?>">Open links in new tab</label></td> |
| 388 |
<td><label for="<?php echo $this->get_field_id('read_more'); ?>">Read more text:</label></td> |
| 389 |
<td><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" title="Leave blank to hide read more text"/></td> |
| 390 |
</tr> |
| 391 |
<tr> |
| 392 |
<td height="29"><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"' : ""; ?> /></td> |
| 393 |
<td><label for="<?php echo $this->get_field_id('show_thumb'); ?>">Show thumbnail if present</label></td> |
| 394 |
<td> </td> |
| 395 |
<td> </td> |
| 396 |
</tr> |
| 397 |
|
| 398 |
<tr> |
| 399 |
<td height="29"><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"' : ""; ?> /></td> |
| 400 |
<td><label for="<?php echo $this->get_field_id('rich_desc'); ?>">Enable full or rich description</label></td> |
| 401 |
<td> </td> |
| 402 |
<td> </td> |
| 403 |
</tr> |
| 404 |
|
| 405 |
<tr> |
| 406 |
<td height="29"><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"' : ""; ?> /></td> |
| 407 |
<td><label for="<?php echo $this->get_field_id('add_nofollow'); ?>">Add "no follow" attribute to links</label></td> |
| 408 |
<td> </td> |
| 409 |
<td> </td> |
| 410 |
</tr> |
| 411 |
|
| 412 |
</table> |
| 413 |
</div> |
| 414 |
|
| 415 |
<?php if( $rich_desc == 1 ): ?> |
| 416 |
<span class="srr_note">Note: You have enabled "Full/Rich HTML" Please make sure that the feed(s) are from trusted sources and do not contain any harmful scripts. If there are some aligment issues in the description, please use custom CSS to fix that. </span> |
| 417 |
<?php endif; ?> |
| 418 |
|
| 419 |
<div class="srr_settings"> |
| 420 |
<h4>Other settings</h4> |
| 421 |
<table width="100%" height="109" border="0"> |
| 422 |
<tr> |
| 423 |
<td height="32"><label for="<?php echo $this->get_field_id('color_style');?>">Color style: </label></td> |
| 424 |
<td> |
| 425 |
<?php |
| 426 |
$color_styles = srr_color_styles(); |
| 427 |
echo '<select name="' . $this->get_field_name('color_style') . '" id="' . $this->get_field_id('color_style') . '">'; |
| 428 |
foreach($color_styles as $k => $v){ |
| 429 |
echo '<option value="' . $v . '" ' . ($color_style == $v ? 'selected="selected"' : "") . '>' . $k . '</option>'; |
| 430 |
} |
| 431 |
echo '</select>'; |
| 432 |
?> |
| 433 |
</td> |
| 434 |
</tr> |
| 435 |
<tr> |
| 436 |
<td height="36"><label for="<?php echo $this->get_field_id('visible_items');?>">Widget height:</label></td> |
| 437 |
<td><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; ?>" title="Height of the RSS feed."/><br/> |
| 438 |
<small>Set value less than 20 to show visible feed items. Example: <b>5</b> items</small></br> |
| 439 |
<small>Set value greater than 20 for fixed widget height. Example: <b>400</b> px</small></br> |
| 440 |
</td> |
| 441 |
</tr> |
| 442 |
<tr> |
| 443 |
<td height="33"><label for="<?php echo $this->get_field_id('enable_ticker'); ?>">Ticker animation:</label> </td> |
| 444 |
<td><input id="<?php echo $this->get_field_id('enable_ticker'); ?>" type="checkbox" name="<?php echo $this->get_field_name('enable_ticker'); ?>" value="1" <?php echo $enable_ticker == "1" ? 'checked="checked"' : ""; ?> /></td> |
| 445 |
</tr> |
| 446 |
<tr> |
| 447 |
<td height="36"><label for="<?php echo $this->get_field_id('ticker_speed');?>">Ticker speed: </label></td> |
| 448 |
<td><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 |
| 449 |
</td> |
| 450 |
</tr> |
| 451 |
</table> |
| 452 |
</div> |
| 453 |
|
| 454 |
<div class="srr_coffee"> |
| 455 |
<p>Thank you for using Super RSS Reader. If you found it useful, please buy me a coffee !</p> |
| 456 |
<div class="srr_coffee_wrap"> |
| 457 |
<select class="srr_coffee_amt"> |
| 458 |
<option value="2">$2</option> |
| 459 |
<option value="3">$3</option> |
| 460 |
<option value="4">$4</option> |
| 461 |
<option value="5">$5</option> |
| 462 |
<option value="6" selected="selected">$6</option> |
| 463 |
<option value="7">$7</option> |
| 464 |
<option value="8">$8</option> |
| 465 |
<option value="9">$9</option> |
| 466 |
<option value="10">$10</option> |
| 467 |
<option value="11">$11</option> |
| 468 |
<option value="12">$12</option> |
| 469 |
<option value="">Custom</option> |
| 470 |
</select> |
| 471 |
<a class="button button-primary srr_coffee_btn" href="https://www.paypal.me/vaakash/6" data-link="https://www.paypal.me/vaakash/" target="_blank">Buy me a coffee !</a> |
| 472 |
</div> |
| 473 |
</div> |
| 474 |
|
| 475 |
<p><a href="https://www.aakashweb.com/docs/super-rss-reader-doc/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> |
| 476 |
|
| 477 |
<?php |
| 478 |
} |
| 479 |
} |
| 480 |
|
| 481 |
function super_rss_reader_init(){ |
| 482 |
register_widget('super_rss_reader_widget'); |
| 483 |
} |
| 484 |
add_action('widgets_init', 'super_rss_reader_init'); |
| 485 |
|
| 486 |
|
| 487 |
function srr_admin_scripts( $hook ){ |
| 488 |
if( $hook == 'widgets.php' ){ |
| 489 |
wp_enqueue_style( 'srr_admin_css', SRR_URL . 'admin/css/style.css' ); |
| 490 |
wp_enqueue_script( 'srr_admin_js', SRR_URL . 'admin/js/script.js' ); |
| 491 |
} |
| 492 |
} |
| 493 |
add_action( 'admin_enqueue_scripts', 'srr_admin_scripts' ); |
| 494 |
|
| 495 |
?> |