[Slim-Checkins] r10827 - in /trunk/server/Plugins/RSSNews: HTML/
HTML/EN/ HTML/EN/plugins/
HTML/EN/plugins/RSSNews/ HTML/EN/plugins/RSSNews/settings/
HTML/EN/plugins/RSSNews/settings/basic.html Plugin.pm Settings.pm
dsully at svn.slimdevices.com
dsully at svn.slimdevices.com
Fri Dec 1 15:13:39 PST 2006
Author: dsully
Date: Fri Dec 1 15:13:39 2006
New Revision: 10827
URL: http://svn.slimdevices.com?rev=10827&view=rev
Log:
Bug: N/A
Description: Convert RSSNews
Added:
trunk/server/Plugins/RSSNews/HTML/
trunk/server/Plugins/RSSNews/HTML/EN/
trunk/server/Plugins/RSSNews/HTML/EN/plugins/
trunk/server/Plugins/RSSNews/HTML/EN/plugins/RSSNews/
trunk/server/Plugins/RSSNews/HTML/EN/plugins/RSSNews/settings/
trunk/server/Plugins/RSSNews/HTML/EN/plugins/RSSNews/settings/basic.html (with props)
trunk/server/Plugins/RSSNews/Settings.pm (with props)
Modified:
trunk/server/Plugins/RSSNews/Plugin.pm
Added: trunk/server/Plugins/RSSNews/HTML/EN/plugins/RSSNews/settings/basic.html
URL: http://svn.slimdevices.com/trunk/server/Plugins/RSSNews/HTML/EN/plugins/RSSNews/settings/basic.html?rev=10827&view=auto
==============================================================================
--- trunk/server/Plugins/RSSNews/HTML/EN/plugins/RSSNews/settings/basic.html (added)
+++ trunk/server/Plugins/RSSNews/HTML/EN/plugins/RSSNews/settings/basic.html Fri Dec 1 15:13:39 2006
@@ -1,0 +1,46 @@
+[% PROCESS settings/header.html %]
+
+ <div class="settingSection">
+ <div class="groupHead">[% "PLUGIN_RSSNEWS" | string | upper %]</div>
+ <div class="groupDesc">[% "SETUP_GROUP_PLUGIN_RSSNEWS_DESC" | string %]</div>
+ </div>
+
+ <div class="settingSection">
+ <div class="prefHead">[% "SETUP_PLUGIN_RSSNEWS_ITEMS_PER_FEED" | string | upper %]</div>
+ <div class="prefDesc">[% "SETUP_PLUGIN_RSSNEWS_ITEMS_PER_FEED_DESC" | string %]</div>
+
+ <input type="text" class="stdedit" name="plugin_RssNews_items_per_feed" id="plugin_RssNews_items_per_feed" value="[% prefs.plugin_RssNews_items_per_feed %]" size="5" />
+
+ </div>
+
+ <div class="settingSection">
+ <div class="prefHead">[% "SETUP_PLUGIN_RSSNEWS_FEEDS" | string | upper %]</div>
+ <div class="prefDesc">[% "SETUP_PLUGIN_RSSNEWS_FEEDS_DESC" | string %]</div>
+
+ <table border="0" cellspacing="7" cellpadding="7">
+
+ <tr>
+ <td><label for="new_feed" class="stdlabel">[% "SETUP_PLUGIN_PODCAST_ADD_FEED" | string %]</label></td>
+
+ <td><input type="text" class="stdedit" name="plugin_podcast_feeds" id="new_feed" value="" size="60" /></td>
+ </tr>
+
+ <tr></tr>
+ <tr></tr>
+ <tr><td><label>[% "SETUP_PLUGIN_PODCAST_EXISTING_FEEDS" | string %]</label></td><td></td></tr>
+
+ [% FOREACH pref = prefs.feeds %]
+
+ <tr>
+ <td><label for="plugin_podcast_feeds" class="stdlabel">[% pref.1 %]</label></td>
+
+ <td><input type="text" class="stdedit" name="plugin_podcast_feeds" id="plugin_podcast_feeds" value="[% pref.0 %]" size="60" /></td>
+
+ </tr>
+
+ [% END %]
+
+ </table>
+ </div>
+
+[% PROCESS settings/footer.html %]
Propchange: trunk/server/Plugins/RSSNews/HTML/EN/plugins/RSSNews/settings/basic.html
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: trunk/server/Plugins/RSSNews/HTML/EN/plugins/RSSNews/settings/basic.html
------------------------------------------------------------------------------
svn:keywords = Id Author LastChangedDate LastChangedBy
Propchange: trunk/server/Plugins/RSSNews/HTML/EN/plugins/RSSNews/settings/basic.html
------------------------------------------------------------------------------
svn:mime-type = text/html
Modified: trunk/server/Plugins/RSSNews/Plugin.pm
URL: http://svn.slimdevices.com/trunk/server/Plugins/RSSNews/Plugin.pm?rev=10827&r1=10826&r2=10827&view=diff
==============================================================================
--- trunk/server/Plugins/RSSNews/Plugin.pm (original)
+++ trunk/server/Plugins/RSSNews/Plugin.pm Fri Dec 1 15:13:39 2006
@@ -18,6 +18,8 @@
use HTML::Entities;
use XML::Simple;
+
+use Plugins::RSSNews::Settings;
use Slim::Buttons::XMLBrowser;
use Slim::Formats::XML;
@@ -81,6 +83,8 @@
$log->info("Initializing.");
+ Plugins::RSSNews::Settings->new;
+
Slim::Buttons::Common::addMode('PLUGIN.RSS', getFunctions(), \&setMode);
my @feedURLPrefs = Slim::Utils::Prefs::getArray("plugin_RssNews_feeds");
@@ -245,73 +249,6 @@
$cache->set( 'rss_opml', $opml, '10days' );
}
-# for configuring via web interface
-sub setupGroup {
- my %Group = (
- PrefOrder => [
- 'plugin_RssNews_items_per_feed',
- 'plugin_RssNews_reset',
- 'plugin_RssNews_feeds',
- ],
- GroupHead => 'PLUGIN_RSSNEWS',
- GroupDesc => 'SETUP_GROUP_PLUGIN_RSSNEWS_DESC',
- GroupLine => 1,
- GroupSub => 1,
- Suppress_PrefSub => 1,
- Suppress_PrefLine => 1,
- );
-
- my %Prefs = (
-
- plugin_RssNews_items_per_feed => {
- 'validate' => \&Slim::Utils::Validate::isInt,
- 'validateArgs' => [1,undef,1],
- 'onChange' => sub {
- $screensaver_items_per_feed = $_[1]->{plugin_RssNews_items_per_feed}->{new};
- Slim::Utils::Prefs::set('plugin_RssNews_items_per_feed', $screensaver_items_per_feed);
- },
- },
-
- plugin_RssNews_reset => {
- 'onChange' => sub {
- Slim::Utils::Prefs::set("plugin_RssNews_feeds_modified", undef);
- Slim::Utils::Prefs::set("plugin_RssNews_feeds_version", undef);
- revertToDefaults();
- },
- 'inputTemplate' => 'setup_input_submit.html',
- 'changeIntro' => 'PLUGIN_RSSNEWS_RESETTING',
- 'ChangeButton' => 'SETUP_PLUGIN_RSSNEWS_RESET_BUTTON',
- 'dontSet' => 1,
- 'changeMsg' => '',
- },
-
- plugin_RssNews_feeds => {
- 'isArray' => 1,
- 'arrayAddExtra' => 1,
- 'arrayDeleteNull' => 1,
- 'arrayDeleteValue' => '',
- 'arrayBasicValue' => 0,
- 'PrefSize' => 'large',
- 'inputTemplate' => 'setup_input_array_txt.html',
- 'PrefInTable' => 1,
- 'showTextExtValue' => 1,
- 'externalValue' => sub {
- my ($client, $value, $key) = @_;
-
- if ($key =~ /^(\D*)(\d+)$/ && ($2 < scalar(@feeds))) {
- return $feeds[$2]->{'name'};
- }
-
- return '';
- },
- 'onChange' => \&updateFeedNames,
- 'changeMsg' => 'SETUP_PLUGIN_RSSNEWS_FEEDS_CHANGE',
- },
- );
-
- return (\%Group, \%Prefs);
-}
-
sub updateFeedNames {
my @feedURLPrefs = Slim::Utils::Prefs::getArray("plugin_RssNews_feeds");
my @feedNamePrefs;
@@ -396,7 +333,6 @@
updateOPMLCache( \@feeds );
}
-
}
################################
Added: trunk/server/Plugins/RSSNews/Settings.pm
URL: http://svn.slimdevices.com/trunk/server/Plugins/RSSNews/Settings.pm?rev=10827&view=auto
==============================================================================
--- trunk/server/Plugins/RSSNews/Settings.pm (added)
+++ trunk/server/Plugins/RSSNews/Settings.pm Fri Dec 1 15:13:39 2006
@@ -1,0 +1,59 @@
+package Plugins::RSSNews::Settings;
+
+# SlimServer Copyright (C) 2001-2006 Slim Devices Inc.
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License,
+# version 2.
+
+use strict;
+use base qw(Slim::Web::Settings);
+
+sub name {
+ return 'PLUGIN_RSSNews';
+}
+
+sub page {
+ return 'plugins/RSSNews/settings/basic.html';
+}
+
+sub handler {
+ my ($class, $client, $params) = @_;
+
+ my @prefs = qw(
+ plugin_RssNews_items_per_feed
+ );
+
+ if ($params->{'submit'}) {
+
+ # Remove empty feeds.
+ my @feeds = grep { $_ ne '' } @{$params->{'plugin_RssNews_feeds'}};
+
+ Slim::Utils::Prefs::set('plugin_RssNews_feeds', \@feeds);
+
+ Plugins::RSSNews::Plugin::updateFeedNames();
+
+ for my $pref (@prefs) {
+
+ Slim::Utils::Prefs::set($pref, $params->{$pref});
+ }
+ }
+
+ my @feeds = Slim::Utils::Prefs::getArray('plugin_RssNews_feeds');
+ my @names = Slim::Utils::Prefs::getArray('plugin_RssNews_names');
+
+ for (my $i = 0; $i < @feeds; $i++) {
+
+ push @{$params->{'prefs'}->{'feeds'}}, [ $feeds[$i], $names[$i] ];
+ }
+
+ for my $pref (@prefs) {
+
+ $params->{'prefs'}->{$pref} = Slim::Utils::Prefs::get($pref);
+ }
+
+ return $class->SUPER::handler($client, $params);
+}
+
+1;
+
+__END__
Propchange: trunk/server/Plugins/RSSNews/Settings.pm
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: trunk/server/Plugins/RSSNews/Settings.pm
------------------------------------------------------------------------------
svn:keywords = Id Author LastChangedDate LastChangedBy
Propchange: trunk/server/Plugins/RSSNews/Settings.pm
------------------------------------------------------------------------------
svn:mime-type = text/plain
More information about the checkins
mailing list