mirror of
https://github.com/moparisthebest/SickRage
synced 2024-11-10 11:25:05 -05:00
Feature/config_provider_improvements
* Styled config_providers to match new config_general styling * Removed qtip from providers and converted back to a tab * Removed superfish-1.4.8.js and supersubs-0.2b.js as they no longer break provider sorting with qtip removed and is no longer required due to new UI
This commit is contained in:
parent
4ab2b141a1
commit
6489905690
@ -1,4 +1,4 @@
|
||||
### 0.x.x (2014-10-27 xx:xx:xx UTC)
|
||||
### 0.x.x (2014-10-29 xx:xx:xx UTC)
|
||||
|
||||
* Add Bootstrap for UI features
|
||||
* Change UI to resize fluidly on different display sizes, fixes the issue where top menu items would disappear on smaller screens.
|
||||
@ -26,6 +26,9 @@
|
||||
* Fix Layout "Poster" sort of Paused, Ended, and Continuing shows as they were random
|
||||
* Fix Layout "Simple" sort of tvrage "New" and "Returning" series by changing status column text to "Continuing"
|
||||
* Add dark spinner to "Add New Show" (searching indexers), "Add existing shows" (Loading Folders), Coming Eps and all config pages (when saving)
|
||||
* Styled config_providers to match new config_general styling
|
||||
* Removed qtip from providers and converted back to a tab
|
||||
* Removed superfish-1.4.8.js and supersubs-0.2b.js as they no longer break provider sorting with qtip removed and is no longer required due to new UI
|
||||
|
||||
|
||||
### 0.2.1 (2014-10-22 06:41:00 UTC)
|
||||
|
@ -1498,7 +1498,7 @@ config*.tmpl
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
#config .nocheck, #config div #customQuality, .metadataDiv, .providerDiv {
|
||||
#config .nocheck, #config div #customQuality, .metadataDiv {
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
|
@ -1475,7 +1475,7 @@ config*.tmpl
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
#config .nocheck, #config div #customQuality, .metadataDiv, .providerDiv {
|
||||
#config .nocheck, #config div #customQuality, .metadataDiv {
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
|
@ -1534,7 +1534,7 @@ config*.tmpl
|
||||
float: left;
|
||||
}
|
||||
|
||||
#config .nocheck, #config div #customQuality, .metadataDiv, .providerDiv {
|
||||
#config .nocheck, #config div #customQuality, .metadataDiv {
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
|
@ -11,9 +11,9 @@
|
||||
#include $os.path.join($sickbeard.PROG_DIR, "gui/slick/interfaces/default/inc_top.tmpl")
|
||||
|
||||
#if $varExists('header')
|
||||
<h1 class="header">$header</h1>
|
||||
<h1 class="header">$header</h1>
|
||||
#else
|
||||
<h1 class="title">$title</h1>
|
||||
<h1 class="title">$title</h1>
|
||||
#end if
|
||||
<script type="text/javascript" src="$sbRoot/js/configProviders.js?$sbPID"></script>
|
||||
<script type="text/javascript" src="$sbRoot/js/config.js?$sbPID"></script>
|
||||
@ -43,19 +43,19 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
|
||||
#end if
|
||||
|
||||
<div id="config">
|
||||
<div id="config-content">
|
||||
<div id="config-content">
|
||||
|
||||
<form id="configForm" action="saveProviders" method="post">
|
||||
<form id="configForm" action="saveProviders" method="post">
|
||||
|
||||
<div id="config-components">
|
||||
<ul>
|
||||
<li><a href="#core-component-group1">Provider Priorities</a></li>
|
||||
<li><a href="#core-component-group2">Configure Built-In Providers</a></li>
|
||||
<li><a href="#core-component-group1">Provider Priorities</a></li>
|
||||
<li><a href="#core-component-group2">Provider Options</a></li>
|
||||
#if $sickbeard.USE_NZBS
|
||||
<li><a href="#core-component-group3">Configure Custom Newznab Providers</a></li>
|
||||
<li><a href="#core-component-group3">Configure Custom Newznab Providers</a></li>
|
||||
#end if
|
||||
#if $sickbeard.USE_TORRENTS
|
||||
<li><a href="#core-component-group4">Configure Custom Torrent Providers</a></li>
|
||||
<li><a href="#core-component-group4">Configure Custom Torrent Providers</a></li>
|
||||
#end if
|
||||
</ul>
|
||||
|
||||
@ -63,7 +63,7 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
|
||||
|
||||
<div class="component-group-desc">
|
||||
<h3>Provider Priorities</h3>
|
||||
<p>Check off, configure and drag the providers into the order you want them to be used.</p>
|
||||
<p>Check off and drag the providers into the order you want them to be used.</p>
|
||||
<p>At least one provider is required but two are recommended.</p>
|
||||
|
||||
#if not $sickbeard.USE_NZBS or not $sickbeard.USE_TORRENTS:
|
||||
@ -75,7 +75,7 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
|
||||
<div>
|
||||
<h4 class="note">*</h4><p class="note">Provider does not support backlog searches at this time.</p>
|
||||
<h4 class="note">**</h4><p class="note">Provider supports <b>limited</b> backlog searches, all episodes/qualities may not be available.</p>
|
||||
<h4 class="note">!</h4><p class="note">Provider is <b>NOT WORKING</b>.</p>
|
||||
<h4 class="note">!</h4><p class="note">Provider is <b>NOT WORKING</b>.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -106,14 +106,15 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
|
||||
<div id="core-component-group2" class="component-group">
|
||||
|
||||
<div class="component-group-desc">
|
||||
<h3>Configure Built-In<br />Providers</h3>
|
||||
<h3>Provider Options</h3>
|
||||
<p>Configure individual provider settings here.</p>
|
||||
<p>Check with provider's website on how to obtain an API key if needed.</p>
|
||||
</div>
|
||||
|
||||
<fieldset class="component-group-list">
|
||||
<div class="field-pair">
|
||||
<label for="editAProvider">
|
||||
<span class="component-title jumbo">Configure Provider:</span>
|
||||
<span class="component-title">Configure provider:</span>
|
||||
<span class="component-desc">
|
||||
#set $provider_config_list = []
|
||||
#for $curProvider in $sickbeard.providers.sortedProviderList():
|
||||
@ -126,8 +127,8 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
|
||||
#end for
|
||||
|
||||
#if $provider_config_list:
|
||||
<select id="editAProvider">
|
||||
#for $cur_provider in $provider_config_list + [$curProvider for $curProvider in $sickbeard.newznabProviderList if $sickbeard.USE_NZBS]:
|
||||
<select id="editAProvider" class="form-control input-sm">
|
||||
#for $cur_provider in $provider_config_list:
|
||||
<option value="$cur_provider.getID()">$cur_provider.name</option>
|
||||
#end for
|
||||
</select>
|
||||
@ -139,295 +140,301 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
|
||||
</div>
|
||||
|
||||
|
||||
<!-- start div for editing providers //-->
|
||||
#for $curNewznabProvider in [$curProvider for $curProvider in $sickbeard.newznabProviderList]:
|
||||
<div class="providerDiv" id="${curNewznabProvider.getID()}Div">
|
||||
<!-- start div for editing providers //-->
|
||||
#for $curNewznabProvider in [$curProvider for $curProvider in $sickbeard.newznabProviderList]:
|
||||
<div class="providerDiv" id="${curNewznabProvider.getID()}Div">
|
||||
#if $curNewznabProvider.default and $curNewznabProvider.needs_auth
|
||||
<div class="field-pair">
|
||||
<label>
|
||||
<label for="${curNewznabProvider.getID()}_url">
|
||||
<span class="component-title">URL:</span>
|
||||
<input class="component-desc" type="text" id="${curNewznabProvider.getID()}_url" value="$curNewznabProvider.url" size="40" disabled/>
|
||||
<span class="component-desc">
|
||||
<input type="text" id="${curNewznabProvider.getID()}_url" value="$curNewznabProvider.url" class="form-control input-sm input350" disabled/>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="field-pair">
|
||||
<label>
|
||||
<span class="component-title">API Key:</span>
|
||||
<input class="component-desc newznab_key" type="text" id="${curNewznabProvider.getID()}_hash" value="$curNewznabProvider.key" newznab_name="${curNewznabProvider.getID()}_hash" size="40" />
|
||||
<label for="${curNewznabProvider.getID()}_hash">
|
||||
<span class="component-title">API key:</span>
|
||||
<span class="component-desc">
|
||||
<input type="text" id="${curNewznabProvider.getID()}_hash" value="$curNewznabProvider.key" newznab_name="${curNewznabProvider.getID()}_hash" class="newznab_key form-control input-sm input350" />
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curNewznabProvider, 'enable_daily'):
|
||||
#if $hasattr($curNewznabProvider, 'enable_daily'):
|
||||
<div class="field-pair">
|
||||
<input type="checkbox" name="${curNewznabProvider.getID()}_enable_daily" id="${curNewznabProvider.getID()}_enable_daily" #if $curNewznabProvider.enable_daily then "checked=\"checked\"" else ""#/>
|
||||
<label for="${curNewznabProvider.getID()}_enable_daily">
|
||||
<span class="component-title">Enable Daily Searches</span>
|
||||
<span class="component-title">Enable daily searches</span>
|
||||
<span class="component-desc">
|
||||
Enables daily searches
|
||||
</span>
|
||||
<input type="checkbox" name="${curNewznabProvider.getID()}_enable_daily" id="${curNewznabProvider.getID()}_enable_daily" #if $curNewznabProvider.enable_daily then "checked=\"checked\"" else ""#/>
|
||||
<p>enable provider to perform daily searches.</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
|
||||
#if $hasattr($curNewznabProvider, 'enable_backlog'):
|
||||
<div class="field-pair">
|
||||
<input type="checkbox" name="${curNewznabProvider.getID()}_enable_backlog" id="${curNewznabProvider.getID()}_enable_backlog" #if $curNewznabProvider.enable_backlog then "checked=\"checked\"" else ""#/>
|
||||
<label for="${curNewznabProvider.getID()}_enable_backlog">
|
||||
<span class="component-title">Enable Backlog Searches</span>
|
||||
<span class="component-title">Enable backlog searches</span>
|
||||
<span class="component-desc">
|
||||
Enables backlog searches
|
||||
</span>
|
||||
<input type="checkbox" name="${curNewznabProvider.getID()}_enable_backlog" id="${curNewznabProvider.getID()}_enable_backlog" #if $curNewznabProvider.enable_backlog then "checked=\"checked\"" else ""#/>
|
||||
<p>enable provider to perform backlog searches.</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curNewznabProvider, 'search_fallback'):
|
||||
<div class="field-pair">
|
||||
<input type="checkbox" name="${curNewznabProvider.getID()}_search_fallback" id="${curNewznabProvider.getID()}_search_fallback" #if $curNewznabProvider.search_fallback then "checked=\"checked\"" else ""#/>
|
||||
<label for="${curNewznabProvider.getID()}_search_fallback">
|
||||
<span class="component-title">Season Search Fallback</span>
|
||||
<span class="component-title">Season search fallback</span>
|
||||
<span class="component-desc">
|
||||
When searching for a complete season depending on search mode you may return no results, this helps by restarting the search using the opposite search mode.
|
||||
</span>
|
||||
<input type="checkbox" name="${curNewznabProvider.getID()}_search_fallback" id="${curNewznabProvider.getID()}_search_fallback" #if $curNewznabProvider.search_fallback then "checked=\"checked\"" else ""#/>
|
||||
<p>when searching for a complete season depending on search mode you may return no results, this helps by restarting the search using the opposite search mode.</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curNewznabProvider, 'search_mode'):
|
||||
<div class="field-pair">
|
||||
<label class="nocheck">
|
||||
<span class="component-title">Season Search Mode</span>
|
||||
<span class="component-desc2">
|
||||
When searching for complete seasons you can choose to have it look for season packs ONLY or choose to have it build a complete season from just single episodes.
|
||||
</span>
|
||||
|
||||
<label>
|
||||
<span class="component-title">Season search mode</span>
|
||||
<span class="component-desc">
|
||||
<p>when searching for complete seasons you can choose to have it look for season packs only, or choose to have it build a complete season from just single episodes.</p>
|
||||
</span>
|
||||
</label>
|
||||
<label>
|
||||
<span class="component-title"></span>
|
||||
<input type="radio" name="${curNewznabProvider.getID()}_search_mode" id="${curNewznabProvider.getID()}_search_mode_sponly" value="sponly" class="radio" #if $curNewznabProvider.search_mode=="sponly" then "checked=\"checked\"" else ""# />Season Packs ONLY!<br />
|
||||
<span class="component-title"></span>
|
||||
<input type="radio" name="${curNewznabProvider.getID()}_search_mode" id="${curNewznabProvider.getID()}_search_mode_eponly" value="eponly" class="radio" #if $curNewznabProvider.search_mode=="eponly" then "checked=\"checked\"" else ""# />Episodes ONLY!<br />
|
||||
</span>
|
||||
<span class="component-desc">
|
||||
<input type="radio" name="${curNewznabProvider.getID()}_search_mode" id="${curNewznabProvider.getID()}_search_mode_sponly" value="sponly" #if $curNewznabProvider.search_mode=="sponly" then "checked=\"checked\"" else ""# />season packs only.
|
||||
</span>
|
||||
</label>
|
||||
<label>
|
||||
<span class="component-title"></span>
|
||||
<span class="component-desc">
|
||||
<input type="radio" name="${curNewznabProvider.getID()}_search_mode" id="${curNewznabProvider.getID()}_search_mode_eponly" value="eponly" #if $curNewznabProvider.search_mode=="eponly" then "checked=\"checked\"" else ""# />episodes only.
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
</div>
|
||||
#end for
|
||||
</div>
|
||||
#end for
|
||||
|
||||
#for $curNzbProvider in [$curProvider for $curProvider in $sickbeard.providers.sortedProviderList() if $curProvider.providerType == $GenericProvider.NZB]:
|
||||
<div class="providerDiv" id="${curNzbProvider.getID()}Div">
|
||||
#for $curNzbProvider in [$curProvider for $curProvider in $sickbeard.providers.sortedProviderList() if $curProvider.providerType == $GenericProvider.NZB and $curProvider not in $sickbeard.newznabProviderList]:
|
||||
<div class="providerDiv" id="${curNzbProvider.getID()}Div">
|
||||
#if $hasattr($curNzbProvider, 'username'):
|
||||
<div class="field-pair">
|
||||
<label>
|
||||
<span class="component-title">UserName:</span>
|
||||
<input class="component-desc" type="text" name="${curNzbProvider.getID()}_username" value="$curNzbProvider.username" size="40" />
|
||||
<label for="${curNzbProvider.getID()}_username">
|
||||
<span class="component-title">Username:</span>
|
||||
<span class="component-desc">
|
||||
<input type="text" name="${curNzbProvider.getID()}_username" value="$curNzbProvider.username" class="form-control input-sm input350" />
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curNzbProvider, 'api_key'):
|
||||
<div class="field-pair">
|
||||
<label>
|
||||
<span class="component-title">API Key:</span>
|
||||
<input class="component-desc" type="text" name="${curNzbProvider.getID()}_api_key" value="$curNzbProvider.api_key" size="40" />
|
||||
<label for="${curNzbProvider.getID()}_api_key">
|
||||
<span class="component-title">API key:</span>
|
||||
<span class="component-desc">
|
||||
<input type="text" name="${curNzbProvider.getID()}_api_key" value="$curNzbProvider.api_key" class="form-control input-sm input350" />
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
|
||||
#if $hasattr($curNzbProvider, 'enable_daily'):
|
||||
<div class="field-pair">
|
||||
<input type="checkbox" name="${curNzbProvider.getID()}_enable_daily" id="${curNzbProvider.getID()}_enable_daily" #if $curNzbProvider.enable_daily then "checked=\"checked\"" else ""#/>
|
||||
<label for="${curNzbProvider.getID()}_enable_daily">
|
||||
<span class="component-title">Enable Daily Searches</span>
|
||||
<span class="component-desc">
|
||||
Enables daily searches
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curNzbProvider, 'enable_backlog'):
|
||||
<div class="field-pair">
|
||||
<input type="checkbox" name="${curNzbProvider.getID()}_enable_backlog" id="${curNzbProvider.getID()}_enable_backlog" #if $curNzbProvider.enable_backlog then "checked=\"checked\"" else ""#/>
|
||||
<label for="${curNzbProvider.getID()}_enable_backlog">
|
||||
<span class="component-title">Enable Backlog Searches</span>
|
||||
<span class="component-desc">
|
||||
Enables backlog searches
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
#if $hasattr($curNzbProvider, 'enable_daily'):
|
||||
<div class="field-pair">
|
||||
<label for="${curNzbProvider.getID()}_enable_daily">
|
||||
<span class="component-title">Enable daily searches</span>
|
||||
<span class="component-desc">
|
||||
<input type="checkbox" name="${curNzbProvider.getID()}_enable_daily" id="${curNzbProvider.getID()}_enable_daily" #if $curNzbProvider.enable_daily then "checked=\"checked\"" else ""#/>
|
||||
<p>enable provider to perform daily searches.</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curNzbProvider, 'enable_backlog'):
|
||||
<div class="field-pair">
|
||||
<label for="${curNzbProvider.getID()}_enable_backlog">
|
||||
<span class="component-title">Enable backlog searches</span>
|
||||
<span class="component-desc">
|
||||
<input type="checkbox" name="${curNzbProvider.getID()}_enable_backlog" id="${curNzbProvider.getID()}_enable_backlog" #if $curNzbProvider.enable_backlog then "checked=\"checked\"" else ""#/>
|
||||
<p>enable provider to perform backlog searches.</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curNzbProvider, 'search_fallback'):
|
||||
<div class="field-pair">
|
||||
<input type="checkbox" name="${curNzbProvider.getID()}_search_fallback" id="${curNzbProvider.getID()}_search_fallback" #if $curNzbProvider.search_fallback then "checked=\"checked\"" else ""#/>
|
||||
<label for="${curNzbProvider.getID()}_search_fallback">
|
||||
<span class="component-title">Season Search Fallback</span>
|
||||
<span class="component-title">Season search fallback</span>
|
||||
<span class="component-desc">
|
||||
When searching for a complete season depending on search mode you may return no results, this helps by restarting the search using the opposite search mode.
|
||||
</span>
|
||||
<input type="checkbox" name="${curNzbProvider.getID()}_search_fallback" id="${curNzbProvider.getID()}_search_fallback" #if $curNzbProvider.search_fallback then "checked=\"checked\"" else ""#/>
|
||||
<p>when searching for a complete season depending on search mode you may return no results, this helps by restarting the search using the opposite search mode.</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curNzbProvider, 'search_mode'):
|
||||
<div class="field-pair">
|
||||
<label class="nocheck">
|
||||
<span class="component-title">Season Search Mode</span>
|
||||
<span class="component-desc2">
|
||||
When searching for complete seasons you can choose to have it look for season packs ONLY or choose to have it build a complete season from just single episodes.
|
||||
</span>
|
||||
|
||||
<span class="component-title"></span>
|
||||
<input type="radio" style="margin-top: 2px !important;" name="${curNzbProvider.getID()}_search_mode" id="${curNzbProvider.getID()}_search_mode_sponly" value="sponly" class="radio" #if $curNzbProvider.search_mode=="sponly" then "checked=\"checked\"" else ""# />Season Packs ONLY!<br />
|
||||
<span class="component-title"></span>
|
||||
<input type="radio" style="margin-top: 2px !important;" name="${curNzbProvider.getID()}_search_mode" id="${curNzbProvider.getID()}_search_mode_eponly" value="eponly" class="radio" #if $curNzbProvider.search_mode=="eponly" then "checked=\"checked\"" else ""# />Episodes ONLY!<br />
|
||||
<label>
|
||||
<span class="component-title">Season search mode</span>
|
||||
<span class="component-desc">
|
||||
<p>when searching for complete seasons you can choose to have it look for season packs only, or choose to have it build a complete season from just single episodes.</p>
|
||||
</span>
|
||||
</label>
|
||||
<label>
|
||||
<span class="component-title"></span>
|
||||
<span class="component-desc">
|
||||
<input type="radio" name="${curNzbProvider.getID()}_search_mode" id="${curNzbProvider.getID()}_search_mode_sponly" value="sponly" #if $curNzbProvider.search_mode=="sponly" then "checked=\"checked\"" else ""# />season packs only.
|
||||
</span>
|
||||
</label>
|
||||
<label>
|
||||
<span class="component-title"></span>
|
||||
<span class="component-desc">
|
||||
<input type="radio" name="${curNzbProvider.getID()}_search_mode" id="${curNzbProvider.getID()}_search_mode_eponly" value="eponly" #if $curNzbProvider.search_mode=="eponly" then "checked=\"checked\"" else ""# />episodes only.
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
</div>
|
||||
#end for
|
||||
</div>
|
||||
#end for
|
||||
|
||||
#for $curTorrentProvider in [$curProvider for $curProvider in $sickbeard.providers.sortedProviderList() if $curProvider.providerType == $GenericProvider.TORRENT]:
|
||||
<div class="providerDiv" id="${curTorrentProvider.getID()}Div">
|
||||
#for $curTorrentProvider in [$curProvider for $curProvider in $sickbeard.providers.sortedProviderList() if $curProvider.providerType == $GenericProvider.TORRENT]:
|
||||
<div class="providerDiv" id="${curTorrentProvider.getID()}Div">
|
||||
#if $hasattr($curTorrentProvider, 'api_key'):
|
||||
<div class="field-pair">
|
||||
<label>
|
||||
<span class="component-title">Api Key:</span>
|
||||
<input class="component-desc" type="text" name="${curTorrentProvider.getID()}_api_key" id="${curTorrentProvider.getID()}_api_key" value="$curTorrentProvider.api_key" size="40" />
|
||||
<label for="${curTorrentProvider.getID()}_api_key">
|
||||
<span class="component-title">Api key:</span>
|
||||
<span class="component-desc">
|
||||
<input type="text" name="${curTorrentProvider.getID()}_api_key" id="${curTorrentProvider.getID()}_api_key" value="$curTorrentProvider.api_key" class="form-control input-sm input350" />
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curTorrentProvider, 'digest'):
|
||||
<div class="field-pair">
|
||||
<label>
|
||||
<label for="${curTorrentProvider.getID()}_digest">
|
||||
<span class="component-title">Digest:</span>
|
||||
<input class="component-desc" type="text" name="${curTorrentProvider.getID()}_digest" id="${curTorrentProvider.getID()}_digest" value="$curTorrentProvider.digest" size="40" />
|
||||
<span class="component-desc">
|
||||
<input type="text" name="${curTorrentProvider.getID()}_digest" id="${curTorrentProvider.getID()}_digest" value="$curTorrentProvider.digest" class="form-control input-sm input350" />
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curTorrentProvider, 'hash'):
|
||||
<div class="field-pair">
|
||||
<label>
|
||||
<label for="${curTorrentProvider.getID()}_hash">
|
||||
<span class="component-title">Hash:</span>
|
||||
<input class="component-desc" type="text" name="${curTorrentProvider.getID()}_hash" id="${curTorrentProvider.getID()}_hash" value="$curTorrentProvider.hash" size="40" />
|
||||
<span class="component-desc">
|
||||
<input type="text" name="${curTorrentProvider.getID()}_hash" id="${curTorrentProvider.getID()}_hash" value="$curTorrentProvider.hash" class="form-control input-sm input350" />
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curTorrentProvider, 'options'):
|
||||
<div style="width: 340px; padding-bottom: 10px !important;">
|
||||
<input type="hidden" id="tvtorrents_option_string" />
|
||||
<fieldset style="display: block; border-width: 1px !important; border-radius: 5px !important; border-color: #D0D0D0 !important; border-style: solid !important;">
|
||||
<legend id="seed_options">Advanced Options</legend>
|
||||
<div class="field-pair" style="margin-top: -2px !important;">
|
||||
<label >
|
||||
<span class="component-title" style="width: 130px !important;">Seeding Goal Ratio(%):</span>
|
||||
<input class="seed_option" type="text" id="tvtorrents_seed_ratio" size="5" style="margin-left: -5px !important;"/>
|
||||
</label>
|
||||
</div>
|
||||
<div class="field-pair" style="margin-top: -10px !important;">
|
||||
<label>
|
||||
<span class="component-title" style="width: 130px !important;">Seeding Goal Time(h):</span>
|
||||
<input class="seed_option" type="text" id="tvtorrents_seed_time" size="5" style="margin-left: -5px !important;" />
|
||||
</label>
|
||||
</div>
|
||||
<div style="display: block; text-align: center;margin-top: -10px !important;" class="float-left">
|
||||
<label>
|
||||
<span class="component-title" style="margin-left: -49px !important; width: 201px !important;">Process Method:</span>
|
||||
<select class="seed_option" id="tvtorrents_process_method" class="input-medium" >
|
||||
#set $process_method_text = {'': "", 'copy': "Copy", 'move': "Move", 'hardlink': "Hard Link", 'symlink' : "Symbolic Link"}
|
||||
#for $curAction in ('', 'copy', 'move', 'hardlink', 'symlink'):
|
||||
#set $process_method = ""
|
||||
<option class="seed_option" value="$curAction" $process_method>$process_method_text[$curAction]</option>
|
||||
#end for
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curTorrentProvider, 'username'):
|
||||
<div class="field-pair">
|
||||
<label>
|
||||
<label for="${curTorrentProvider.getID()}_username">
|
||||
<span class="component-title">Username:</span>
|
||||
<input class="component-desc" type="text" name="${curTorrentProvider.getID()}_username" id="${curTorrentProvider.getID()}_username" value="$curTorrentProvider.username" size="40" />
|
||||
<span class="component-desc">
|
||||
<input type="text" name="${curTorrentProvider.getID()}_username" id="${curTorrentProvider.getID()}_username" value="$curTorrentProvider.username" class="form-control input-sm input350" />
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curTorrentProvider, 'password'):
|
||||
<div class="field-pair">
|
||||
<label>
|
||||
<label for="${curTorrentProvider.getID()}_password">
|
||||
<span class="component-title">Password:</span>
|
||||
<input class="component-desc" type="password" name="${curTorrentProvider.getID()}_password" id="${curTorrentProvider.getID()}_password" value="$curTorrentProvider.password" size="40" />
|
||||
<span class="component-desc">
|
||||
<input type="password" name="${curTorrentProvider.getID()}_password" id="${curTorrentProvider.getID()}_password" value="$curTorrentProvider.password" class="form-control input-sm input350" />
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curTorrentProvider, 'passkey'):
|
||||
<div class="field-pair">
|
||||
<label>
|
||||
<label for="${curTorrentProvider.getID()}_passkey">
|
||||
<span class="component-title">Passkey:</span>
|
||||
<input class="component-desc" type="text" name="${curTorrentProvider.getID()}_passkey" id="${curTorrentProvider.getID()}_passkey" value="$curTorrentProvider.passkey" size="40" />
|
||||
<span class="component-desc">
|
||||
<input type="text" name="${curTorrentProvider.getID()}_passkey" id="${curTorrentProvider.getID()}_passkey" value="$curTorrentProvider.passkey" class="form-control input-sm input350" />
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curTorrentProvider, 'ratio'):
|
||||
<div class="field-pair">
|
||||
<label class="nocheck">
|
||||
<span class="component-title" id="${curTorrentProvider.getID()}_ratio_desc">Seed Ratio:</span>
|
||||
<input type="number" step="0.1" name="${curTorrentProvider.getID()}_ratio" id="${curTorrentProvider.getID()}_ratio" value="$curTorrentProvider.ratio" size="2" style="margin-left: 3px !important;" />
|
||||
<label for="${curTorrentProvider.getID()}_ratio">
|
||||
<span class="component-title" id="${curTorrentProvider.getID()}_ratio_desc">Seed ratio:</span>
|
||||
<span class="component-desc">
|
||||
<input type="number" step="0.1" name="${curTorrentProvider.getID()}_ratio" id="${curTorrentProvider.getID()}_ratio" value="$curTorrentProvider.ratio" class="form-control input-sm input75" />
|
||||
</span>
|
||||
</label>
|
||||
<label>
|
||||
<span class="component-title"> </span>
|
||||
<span class="component-desc">
|
||||
Stop transfer when reaching ratio<br>
|
||||
(-1 SickRage default to seed forever)<br>
|
||||
(leave blank for downloader default)</span>
|
||||
<p>stop transfer when ratio is reached<br>(-1 SickRage default to seed forever, or leave blank for downloader default)</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curTorrentProvider, 'minseed'):
|
||||
<div class="field-pair">
|
||||
<label class="nocheck">
|
||||
<span class="component-title" id="${curTorrentProvider.getID()}_minseed_desc">Min Seeders:</span>
|
||||
<input type="number" name="${curTorrentProvider.getID()}_minseed" id="${curTorrentProvider.getID()}_minseed" value="$curTorrentProvider.minseed" size="40" style="margin-left: 3px !important;" />
|
||||
<label for="${curTorrentProvider.getID()}_minseed">
|
||||
<span class="component-title" id="${curTorrentProvider.getID()}_minseed_desc">Minimum seeders:</span>
|
||||
<span class="component-desc">
|
||||
<input type="number" name="${curTorrentProvider.getID()}_minseed" id="${curTorrentProvider.getID()}_minseed" value="$curTorrentProvider.minseed" class="form-control input-sm input75" />
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curTorrentProvider, 'minleech'):
|
||||
<div class="field-pair">
|
||||
<label class="nocheck">
|
||||
<span class="component-title" id="${curTorrentProvider.getID()}_minleech_desc">Min Leechers:</span>
|
||||
<input type="number" name="${curTorrentProvider.getID()}_minleech" id="${curTorrentProvider.getID()}_minleech" value="$curTorrentProvider.minleech" size="40" style="margin-left: 3px !important;" />
|
||||
<label for="${curTorrentProvider.getID()}_minleech">
|
||||
<span class="component-title" id="${curTorrentProvider.getID()}_minleech_desc">Minimum leechers:</span>
|
||||
<span class="component-desc">
|
||||
<input type="number" name="${curTorrentProvider.getID()}_minleech" id="${curTorrentProvider.getID()}_minleech" value="$curTorrentProvider.minleech" class="form-control input-sm input75" />
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curTorrentProvider, 'proxy'):
|
||||
<div class="field-pair">
|
||||
<input type="checkbox" class="enabler" name="${curTorrentProvider.getID()}_proxy" id="${curTorrentProvider.getID()}_proxy" #if $curTorrentProvider.proxy.enabled then "checked=\"checked\"" else ""#/>
|
||||
<label>
|
||||
<span class="component-title">Access Provider via Proxy</span>
|
||||
<span class="component-desc">To bypass Country Blocking Mechanism</span>
|
||||
<label for="${curTorrentProvider.getID()}_proxy">
|
||||
<span class="component-title">Access provider via proxy</span>
|
||||
<span class="component-desc">
|
||||
<input type="checkbox" class="enabler" name="${curTorrentProvider.getID()}_proxy" id="${curTorrentProvider.getID()}_proxy" #if $curTorrentProvider.proxy.enabled then "checked=\"checked\"" else ""#/>
|
||||
<p>to bypass country blocking mechanisms</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
#if $hasattr($curTorrentProvider.proxy, 'url'):
|
||||
<div class="field-pair content_${curTorrentProvider.getID()}_proxy" id="content_${curTorrentProvider.getID()}_proxy">
|
||||
<label class="nocheck">
|
||||
<label for="${curTorrentProvider.getID()}_proxy_url">
|
||||
<span class="component-title">Proxy URL:</span>
|
||||
<span class="component-desc">
|
||||
<select name="${curTorrentProvider.getID()}_proxy_url" id="${curTorrentProvider.getID()}_proxy_url">
|
||||
<select name="${curTorrentProvider.getID()}_proxy_url" id="${curTorrentProvider.getID()}_proxy_url" class="form-control input-sm">
|
||||
#for $i in $curTorrentProvider.proxy.urls.keys():
|
||||
<option value="$curTorrentProvider.proxy.urls[$i]" #if $curTorrentProvider.proxy.urls[$i] == $curTorrentProvider.proxy.url then "selected=\"selected\"" else ""#>$i</option>
|
||||
#end for
|
||||
@ -440,102 +447,143 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
|
||||
|
||||
#if $hasattr($curTorrentProvider, 'confirmed'):
|
||||
<div class="field-pair">
|
||||
<input type="checkbox" name="${curTorrentProvider.getID()}_confirmed" id="${curTorrentProvider.getID()}_confirmed" #if $curTorrentProvider.confirmed then "checked=\"checked\"" else ""#/>
|
||||
<label for="${curTorrentProvider.getID()}_confirmed">
|
||||
<span class="component-title">Confirmed Download</span>
|
||||
<span class="component-desc">Download torrent only from trusted/verified uploaders?</span>
|
||||
<span class="component-title">Confirmed download</span>
|
||||
<span class="component-desc">
|
||||
<input type="checkbox" name="${curTorrentProvider.getID()}_confirmed" id="${curTorrentProvider.getID()}_confirmed" #if $curTorrentProvider.confirmed then "checked=\"checked\"" else ""#/>
|
||||
<p>only download torrents from trusted or verified uploaders ?</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curTorrentProvider, 'freeleech'):
|
||||
<div class="field-pair">
|
||||
<input type="checkbox" name="${curTorrentProvider.getID()}_freeleech" id="${curTorrentProvider.getID()}_freeleech" #if $curTorrentProvider.freeleech then "checked=\"checked\"" else ""#/>
|
||||
<label for="${curTorrentProvider.getID()}_freeleech">
|
||||
<span class="component-title">FreeLeech</span>
|
||||
<span class="component-desc">This will only download <b>[FreeLeech]</b> torrents.</span>
|
||||
<span class="component-title">Freeleech</span>
|
||||
<span class="component-desc">
|
||||
<input type="checkbox" name="${curTorrentProvider.getID()}_freeleech" id="${curTorrentProvider.getID()}_freeleech" #if $curTorrentProvider.freeleech then "checked=\"checked\"" else ""#/>
|
||||
<p>only download <b>[FreeLeech]</b> torrents.</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curTorrentProvider, 'enable_daily'):
|
||||
<div class="field-pair">
|
||||
<input type="checkbox" name="${curTorrentProvider.getID()}_enable_daily" id="${curTorrentProvider.getID()}_enable_daily" #if $curTorrentProvider.enable_daily then "checked=\"checked\"" else ""#/>
|
||||
<label for="${curTorrentProvider.getID()}_enable_daily">
|
||||
<span class="component-title">Enable Daily Searches</span>
|
||||
<span class="component-desc">
|
||||
Enables daily searches
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curTorrentProvider, 'enable_backlog'):
|
||||
<div class="field-pair">
|
||||
<input type="checkbox" name="${curTorrentProvider.getID()}_enable_backlog" id="${curTorrentProvider.getID()}_enable_backlog" #if $curTorrentProvider.enable_backlog then "checked=\"checked\"" else ""#/>
|
||||
<label for="${curTorrentProvider.getID()}_enable_backlog">
|
||||
<span class="component-title">Enable Backlog Searches</span>
|
||||
<span class="component-desc">
|
||||
Enables backlog searches
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
#if $hasattr($curTorrentProvider, 'enable_daily'):
|
||||
<div class="field-pair">
|
||||
<label for="${curTorrentProvider.getID()}_enable_daily">
|
||||
<span class="component-title">Enable daily searches</span>
|
||||
<span class="component-desc">
|
||||
<input type="checkbox" name="${curTorrentProvider.getID()}_enable_daily" id="${curTorrentProvider.getID()}_enable_daily" #if $curTorrentProvider.enable_daily then "checked=\"checked\"" else ""#/>
|
||||
<p>enable provider to perform daily searches.</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curTorrentProvider, 'enable_backlog'):
|
||||
<div class="field-pair">
|
||||
<label for="${curTorrentProvider.getID()}_enable_backlog">
|
||||
<span class="component-title">Enable backlog searches</span>
|
||||
<span class="component-desc">
|
||||
<input type="checkbox" name="${curTorrentProvider.getID()}_enable_backlog" id="${curTorrentProvider.getID()}_enable_backlog" #if $curTorrentProvider.enable_backlog then "checked=\"checked\"" else ""#/>
|
||||
<p>enable provider to perform backlog searches.</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curTorrentProvider, 'search_fallback'):
|
||||
<div class="field-pair">
|
||||
<input type="checkbox" name="${curTorrentProvider.getID()}_search_fallback" id="${curTorrentProvider.getID()}_search_fallback" #if $curTorrentProvider.search_fallback then "checked=\"checked\"" else ""#/>
|
||||
<label for="${curTorrentProvider.getID()}_search_fallback">
|
||||
<span class="component-title">Season Search Fallback</span>
|
||||
<span class="component-title">Season search fallback</span>
|
||||
<span class="component-desc">
|
||||
When searching for a complete season depending on search mode you may return no results, this helps by restarting the search using the opposite search mode.
|
||||
</span>
|
||||
<input type="checkbox" name="${curTorrentProvider.getID()}_search_fallback" id="${curTorrentProvider.getID()}_search_fallback" #if $curTorrentProvider.search_fallback then "checked=\"checked\"" else ""#/>
|
||||
<p>when searching for a complete season depending on search mode you may return no results, this helps by restarting the search using the opposite search mode.</p>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curTorrentProvider, 'search_mode'):
|
||||
<div class="field-pair">
|
||||
<label class="nocheck">
|
||||
<span class="component-title">Season Search Mode</span>
|
||||
<span class="component-desc2">
|
||||
When searching for complete seasons you can choose to have it look for season packs ONLY or choose to have it build a complete season from just single episodes.
|
||||
</span>
|
||||
|
||||
<span class="component-title"></span>
|
||||
<input type="radio" style="margin-top: 2px !important;" name="${curTorrentProvider.getID()}_search_mode" id="${curTorrentProvider.getID()}_search_mode_sponly" value="sponly" class="radio" #if $curTorrentProvider.search_mode=="sponly" then "checked=\"checked\"" else ""# />Season Packs ONLY!<br />
|
||||
<span class="component-title"></span>
|
||||
<input type="radio" style="margin-top: 2px !important;" name="${curTorrentProvider.getID()}_search_mode" id="${curTorrentProvider.getID()}_search_mode_eponly" value="eponly" class="radio" #if $curTorrentProvider.search_mode=="eponly" then "checked=\"checked\"" else ""# />Episodes ONLY!<br />
|
||||
<label>
|
||||
<span class="component-title">Season search mode</span>
|
||||
<span class="component-desc">
|
||||
<p>when searching for complete seasons you can choose to have it look for season packs only, or choose to have it build a complete season from just single episodes.</p>
|
||||
</span>
|
||||
</label>
|
||||
<label>
|
||||
<span class="component-title"></span>
|
||||
<span class="component-desc">
|
||||
<input type="radio" name="${curTorrentProvider.getID()}_search_mode" id="${curTorrentProvider.getID()}_search_mode_sponly" value="sponly" #if $curTorrentProvider.search_mode=="sponly" then "checked=\"checked\"" else ""# />season packs only.
|
||||
</span>
|
||||
</label>
|
||||
<label>
|
||||
<span class="component-title"></span>
|
||||
<span class="component-desc">
|
||||
<input type="radio" name="${curTorrentProvider.getID()}_search_mode" id="${curTorrentProvider.getID()}_search_mode_eponly" value="eponly" #if $curTorrentProvider.search_mode=="eponly" then "checked=\"checked\"" else ""# />episodes only.
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
#end if
|
||||
|
||||
#if $hasattr($curTorrentProvider, 'options'):
|
||||
<br>
|
||||
<input type="hidden" id="tvtorrents_option_string" />
|
||||
<fieldset>
|
||||
<legend id="seed_options">Advanced options</legend>
|
||||
<div class="field-pair">
|
||||
<label >
|
||||
<span class="component-title">Seeding ratio(%) goal:</span>
|
||||
<input type="text" id="tvtorrents_seed_ratio" class="seed_option form-control input-sm input75" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="field-pair">
|
||||
<label>
|
||||
<span class="component-title">Seeding time(h) goal:</span>
|
||||
<input type="text" id="tvtorrents_seed_time" class="seed_option form-control input-sm input75" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="field-pair">
|
||||
<label>
|
||||
<span class="component-title">Process method:</span>
|
||||
<select id="tvtorrents_process_method" class="seed_option form-control input-sm" >
|
||||
#set $process_method_text = {'': "", 'copy': "Copy", 'move': "Move", 'hardlink': "Hard Link", 'symlink' : "Symbolic Link"}
|
||||
#for $curAction in ('', 'copy', 'move', 'hardlink', 'symlink'):
|
||||
#set $process_method = ""
|
||||
<option class="seed_option" value="$curAction" $process_method>$process_method_text[$curAction]</option>
|
||||
#end for
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</fieldset>
|
||||
<br>
|
||||
#end if
|
||||
|
||||
</div>
|
||||
#end for
|
||||
</div>
|
||||
#end for
|
||||
|
||||
|
||||
<!-- end div for editing providers -->
|
||||
<!-- end div for editing providers -->
|
||||
|
||||
<input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
|
||||
|
||||
</fieldset>
|
||||
</div><!-- /component-group2 //-->
|
||||
|
||||
#if $sickbeard.USE_NZBS
|
||||
#if $sickbeard.USE_NZBS
|
||||
<div id="core-component-group3" class="component-group">
|
||||
|
||||
<div class="component-group-desc">
|
||||
<h3>Configure Custom<br />Newznab Providers</h3>
|
||||
<p>Add and setup custom Newznab providers.</p>
|
||||
<p>Some built-in Newznab providers are already available above.</p>
|
||||
<p>Add and setup or remove custom Newznab providers.</p>
|
||||
</div>
|
||||
|
||||
<fieldset class="component-group-list">
|
||||
<div class="field-pair">
|
||||
<label class="nocheck">
|
||||
<span class="component-title">Select Provider:</span>
|
||||
<label for="newznab_string">
|
||||
<span class="component-title">Select provider:</span>
|
||||
<span class="component-desc">
|
||||
<input type="hidden" name="newznab_string" id="newznab_string" />
|
||||
<select id="editANewznabProvider" class="form-control input-sm">
|
||||
@ -545,122 +593,121 @@ var show_nzb_providers = #if $sickbeard.USE_NZBS then "true" else "false"#;
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="newznabProviderDiv" id="addNewznab">
|
||||
<div class="newznabProviderDiv" id="addNewznab">
|
||||
<div class="field-pair">
|
||||
<label class="nocheck">
|
||||
<span class="component-title">Provider Name:</span>
|
||||
<label for="newznab_name">
|
||||
<span class="component-title">Provider name:</span>
|
||||
<input type="text" id="newznab_name" class="form-control input-sm input200" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="field-pair">
|
||||
<label class="nocheck">
|
||||
<label for="newznab_url">
|
||||
<span class="component-title">Site URL:</span>
|
||||
<input type="text" id="newznab_url" class="form-control input-sm input350" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="field-pair">
|
||||
<label class="nocheck">
|
||||
<span class="component-title">API Key:</span>
|
||||
<label for="newznab_key">
|
||||
<span class="component-title">API key:</span>
|
||||
<input type="text" id="newznab_key" class="form-control input-sm input350" />
|
||||
</label>
|
||||
<label class="nocheck">
|
||||
<label>
|
||||
<span class="component-title"> </span>
|
||||
<span class="component-desc">(if not required, type 0)</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="field-pair">
|
||||
<label class="nocheck">
|
||||
<span class="component-title">NewzNab search categories</span>
|
||||
<select id="newznab_cap" multiple="multiple" style="min-width:10em;" ></select>
|
||||
<select id="newznab_cat" multiple="multiple" style="min-width:10em;" ></select>
|
||||
</label>
|
||||
<label class="nocheck">
|
||||
<span class="component-title"> </span>
|
||||
<span class="component-desc">(Select your Newznab categories on the left, and click the "update categories" button to use them for searching.) <b>Don't forget to to save the form!</b></span>
|
||||
</label>
|
||||
<label class="nocheck">
|
||||
<span class="component-title"> </span>
|
||||
<span class="component-desc"><input class="btn" type="button" class="newznab_cat_update" id="newznab_cat_update" value="Update Categories" /></span>
|
||||
</label>
|
||||
|
||||
<div class="field-pair">
|
||||
<label>
|
||||
<span class="component-title">Newznab search categories:</span>
|
||||
<select id="newznab_cap" multiple="multiple" style="min-width:10em;" ></select>
|
||||
<select id="newznab_cat" multiple="multiple" style="min-width:10em;" ></select>
|
||||
</label>
|
||||
<label>
|
||||
<span class="component-title"> </span>
|
||||
<span class="component-desc">(select your Newznab categories on the left, and click the "update categories" button to use them for searching.) <b>don't forget to to save the form!</b></span>
|
||||
</label>
|
||||
<label>
|
||||
<span class="component-title"> </span>
|
||||
<span class="component-desc"><input class="btn" type="button" class="newznab_cat_update" id="newznab_cat_update" value="Update Categories" /></span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div id="newznab_add_div">
|
||||
<input class="btn" type="button" class="newznab_save" id="newznab_add" value="Add" />
|
||||
</div>
|
||||
<div id="newznab_update_div" style="display: none;">
|
||||
<input class="btn btn-danger newznab_delete" type="button" class="newznab_delete" id="newznab_delete" value="Delete" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="newznab_add_div">
|
||||
<input class="btn" type="button" class="newznab_save" id="newznab_add" value="Add" />
|
||||
</div>
|
||||
<div id="newznab_update_div" style="display: none;">
|
||||
<input class="btn btn-danger newznab_delete" type="button" class="newznab_delete" id="newznab_delete" value="Delete" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
</div><!-- /component-group3 //-->
|
||||
#end if
|
||||
#end if
|
||||
|
||||
#if $sickbeard.USE_TORRENTS:
|
||||
#if $sickbeard.USE_TORRENTS:
|
||||
|
||||
<div id="core-component-group4" class="component-group">
|
||||
|
||||
<div class="component-group-desc">
|
||||
<h3>Configure Custom Torrent Providers</h3>
|
||||
<p>Add and setup custom RSS providers.</p>
|
||||
<p> </p>
|
||||
<p>Add and setup or remove custom RSS providers.</p>
|
||||
</div>
|
||||
|
||||
<fieldset class="component-group-list">
|
||||
<div class="field-pair">
|
||||
<label class="nocheck">
|
||||
<span class="component-title">Select Provider:</span>
|
||||
<label for="torrentrss_string">
|
||||
<span class="component-title">Select provider:</span>
|
||||
<span class="component-desc">
|
||||
<input type="hidden" name="torrentrss_string" id="torrentrss_string" />
|
||||
<select id="editATorrentRssProvider" class="form-control input-sm">
|
||||
<option value="addTorrentRss">-- add new provider --</option>
|
||||
</select>
|
||||
<select id="editATorrentRssProvider" class="form-control input-sm">
|
||||
<option value="addTorrentRss">-- add new provider --</option>
|
||||
</select>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="torrentRssProviderDiv" id="addTorrentRss">
|
||||
<div class="torrentRssProviderDiv" id="addTorrentRss">
|
||||
<div class="field-pair">
|
||||
<label class="nocheck">
|
||||
<span class="component-title">Provider Name:</span>
|
||||
<label for="torrentrss_name">
|
||||
<span class="component-title">Provider name:</span>
|
||||
<input type="text" id="torrentrss_name" class="form-control input-sm input200" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="field-pair">
|
||||
<label class="nocheck">
|
||||
<label for="torrentrss_url">
|
||||
<span class="component-title">RSS URL:</span>
|
||||
<input type="text" id="torrentrss_url" class="form-control input-sm input350" />
|
||||
</label>
|
||||
</div>
|
||||
<div class="field-pair">
|
||||
<label class="nocheck">
|
||||
<label for="torrentrss_cookies">
|
||||
<span class="component-title">Cookies:</span>
|
||||
<input type="text" id="torrentrss_cookies" class="form-control input-sm input350" />
|
||||
</label>
|
||||
<label class="nocheck">
|
||||
<label>
|
||||
<span class="component-title"> </span>
|
||||
<span class="component-desc">eg. uid=xx;pass=yy</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div id="torrentrss_add_div">
|
||||
<input type="button" class="btn torrentrss_save" id="torrentrss_add" value="Add" />
|
||||
</div>
|
||||
<div id="torrentrss_update_div" style="display: none;">
|
||||
<input type="button" class="btn btn-danger torrentrss_delete" id="torrentrss_delete" value="Delete" />
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div id="torrentrss_add_div">
|
||||
<input type="button" class="btn torrentrss_save" id="torrentrss_add" value="Add" />
|
||||
</div>
|
||||
<div id="torrentrss_update_div" style="display: none;">
|
||||
<input type="button" class="btn btn-danger torrentrss_delete" id="torrentrss_delete" value="Delete" />
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div><!-- /component-group4 //-->
|
||||
#end if
|
||||
#end if
|
||||
|
||||
<br/><input type="submit" class="btn config_submitter" value="Save Changes" /><br/>
|
||||
|
||||
</div><!-- /config-components //-->
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
|
@ -57,8 +57,6 @@
|
||||
<script type="text/javascript" src="$sbRoot/js/lib/bootstrap.min.js?$sbPID"></script>
|
||||
<script type="text/javascript" src="$sbRoot/js/lib/bootstrap-hover-dropdown.min.js?$sbPID"></script>
|
||||
<script type="text/javascript" src="$sbRoot/js/lib/jquery-ui-1.10.4.custom.min.js?$sbPID"></script>
|
||||
<script type="text/javascript" src="$sbRoot/js/lib/superfish-1.4.8.js?$sbPID"></script> <!-- Don't remove providers sort list breaks, needs to be fixed //-->
|
||||
<script type="text/javascript" src="$sbRoot/js/lib/supersubs-0.2b.js?$sbPID"></script> <!-- Don't remove providers sort list breaks, needs to be fixed //-->
|
||||
<script type="text/javascript" src="$sbRoot/js/lib/jquery.cookie.js?$sbPID"></script>
|
||||
<script type="text/javascript" src="$sbRoot/js/lib/jquery.cookiejar.js?$sbPID"></script>
|
||||
<script type="text/javascript" src="$sbRoot/js/lib/jquery.json-2.2.min.js?$sbPID"></script>
|
||||
|
@ -5,11 +5,11 @@ $(document).ready(function(){
|
||||
var providerName = $(this).attr('id');
|
||||
var selectedProvider = $('#editAProvider :selected').val();
|
||||
|
||||
if (selectedProvider+'Div' == providerName)
|
||||
if (selectedProvider + 'Div' == providerName) {
|
||||
$(this).show();
|
||||
else
|
||||
} else {
|
||||
$(this).hide();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -25,7 +25,6 @@ $(document).ready(function(){
|
||||
var url = selectedProvider[1];
|
||||
var key = selectedProvider[2];
|
||||
|
||||
|
||||
if (!name)
|
||||
return;
|
||||
|
||||
@ -205,12 +204,8 @@ $(document).ready(function(){
|
||||
else {
|
||||
updateNewznabCaps( null, data );
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ifExists = function(loopThroughArray, searchFor) {
|
||||
@ -252,12 +247,8 @@ $(document).ready(function(){
|
||||
});
|
||||
$("#newznab_cap").replaceOptions(newCapOptions);
|
||||
}
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
$.fn.makeNewznabProviderString = function() {
|
||||
@ -326,91 +317,9 @@ $(document).ready(function(){
|
||||
$("#provider_order").val(finalArr.join(' '));
|
||||
}
|
||||
|
||||
$.fn.hideConfigTab = function () {
|
||||
|
||||
$("#config-components").tabs( "disable", 1 );
|
||||
$("#config-components ul li:eq(1)").hide();
|
||||
|
||||
};
|
||||
|
||||
$.fn.showProvidersConfig = function () {
|
||||
|
||||
$("#provider_order_list li").each(function( index ) {
|
||||
|
||||
if ($(this).find("input").attr("checked")) {
|
||||
$(this).addTip();
|
||||
} else {
|
||||
$(this).qtip('destroy');
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
$.fn.addTip = function() {
|
||||
|
||||
var config_id = $(this).find("input").attr('id').replace("enable_", "") + "Div";
|
||||
var config_form = '<div id="config"><form id="configForm_tip" action="saveProviders" method="post"><fieldset class="component-group-list tip_scale"><div class="providerDiv_tip">' + $("div[id*="+config_id+"]").html() + '</div></fieldset></form></div>'
|
||||
var provider_name = $.trim($(this).text()).replace('*','')
|
||||
|
||||
if ($("div[id*="+config_id+"]").length == 0) {
|
||||
return false
|
||||
}
|
||||
|
||||
$(this).qtip({
|
||||
|
||||
overwrite: true,
|
||||
position: {
|
||||
adjust: {
|
||||
x: 0, y: 0,
|
||||
},
|
||||
my: 'left top',
|
||||
at: 'top right',
|
||||
},
|
||||
show: {
|
||||
event: 'mouseenter', // Show it on click...
|
||||
target: false,
|
||||
solo: true,
|
||||
delay: 90,
|
||||
effect: true,
|
||||
},
|
||||
hide: {
|
||||
fixed: true,
|
||||
delay: 900,
|
||||
},
|
||||
content: {
|
||||
text: config_form,
|
||||
title: {
|
||||
text: provider_name + ' Config',
|
||||
button: true
|
||||
}
|
||||
},
|
||||
style: {
|
||||
border: {
|
||||
width: 5,
|
||||
radius: 2,
|
||||
color: '#e1e1e1'
|
||||
},
|
||||
width: 400,
|
||||
background: '#FFF',
|
||||
padding: 15,
|
||||
tip: true, // Give it a speech bubble tip with automatic corner detection
|
||||
classes: 'qtip-dark qtip-shadow',
|
||||
},
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
var newznabProviders = new Array();
|
||||
var torrentRssProviders = new Array();
|
||||
|
||||
$("#provider_order_list li").on('change', function() {
|
||||
if ($(this).find("input").attr("checked")) {
|
||||
$(this).addTip();
|
||||
$(this).qtip('show');
|
||||
} else {
|
||||
$(this).qtip('destroy');
|
||||
}
|
||||
});
|
||||
|
||||
$(this).on('change', '.newznab_key', function(){
|
||||
|
||||
var provider_id = $(this).attr('id');
|
||||
@ -660,18 +569,13 @@ $(document).ready(function(){
|
||||
|
||||
|
||||
$.fn.newznabProvidersCapabilities = [];
|
||||
|
||||
$(this).hideConfigTab();
|
||||
|
||||
$(this).showHideProviders();
|
||||
|
||||
$(this).showProvidersConfig();
|
||||
|
||||
$("#provider_order_list").sortable({
|
||||
placeholder: 'ui-state-highlight',
|
||||
update: function (event, ui) {
|
||||
$(this).refreshProviderList();
|
||||
ui.item.qtip('reposition');
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -1,120 +0,0 @@
|
||||
|
||||
/*
|
||||
* Superfish v1.4.8 - jQuery menu widget
|
||||
* Copyright (c) 2008 Joel Birch
|
||||
*
|
||||
* Dual licensed under the MIT and GPL licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
*
|
||||
* CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
|
||||
*/
|
||||
|
||||
;(function($){
|
||||
$.fn.superfish = function(op){
|
||||
|
||||
var sf = $.fn.superfish,
|
||||
c = sf.c,
|
||||
$arrow = $(['<span class="',c.arrowClass,'"> »</span>'].join('')),
|
||||
over = function(){
|
||||
var $$ = $(this), menu = getMenu($$);
|
||||
clearTimeout(menu.sfTimer);
|
||||
$$.showSuperfishUl().siblings().hideSuperfishUl();
|
||||
},
|
||||
out = function(){
|
||||
var $$ = $(this), menu = getMenu($$), o = sf.op;
|
||||
clearTimeout(menu.sfTimer);
|
||||
menu.sfTimer=setTimeout(function(){
|
||||
o.retainPath=($.inArray($$[0],o.$path)>-1);
|
||||
$$.hideSuperfishUl();
|
||||
if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
|
||||
},o.delay);
|
||||
},
|
||||
getMenu = function($menu){
|
||||
var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
|
||||
sf.op = sf.o[menu.serial];
|
||||
return menu;
|
||||
},
|
||||
addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
|
||||
|
||||
return this.each(function() {
|
||||
var s = this.serial = sf.o.length;
|
||||
var o = $.extend({},sf.defaults,op);
|
||||
o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
|
||||
$(this).addClass([o.hoverClass,c.bcClass].join(' '))
|
||||
.filter('li:has(ul)').removeClass(o.pathClass);
|
||||
});
|
||||
sf.o[s] = sf.op = o;
|
||||
|
||||
$('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
|
||||
if (o.autoArrows) addArrow( $('>a:first-child',this) );
|
||||
})
|
||||
.not('.'+c.bcClass)
|
||||
.hideSuperfishUl();
|
||||
|
||||
var $a = $('a',this);
|
||||
$a.each(function(i){
|
||||
var $li = $a.eq(i).parents('li');
|
||||
$a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
|
||||
});
|
||||
o.onInit.call(this);
|
||||
|
||||
}).each(function() {
|
||||
var menuClasses = [c.menuClass];
|
||||
if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
|
||||
$(this).addClass(menuClasses.join(' '));
|
||||
});
|
||||
};
|
||||
|
||||
var sf = $.fn.superfish;
|
||||
sf.o = [];
|
||||
sf.op = {};
|
||||
sf.IE7fix = function(){
|
||||
var o = sf.op;
|
||||
if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined)
|
||||
this.toggleClass(sf.c.shadowClass+'-off');
|
||||
};
|
||||
sf.c = {
|
||||
bcClass : 'sf-breadcrumb',
|
||||
menuClass : 'sf-js-enabled',
|
||||
anchorClass : 'sf-with-ul',
|
||||
arrowClass : 'sf-sub-indicator',
|
||||
shadowClass : 'sf-shadow'
|
||||
};
|
||||
sf.defaults = {
|
||||
hoverClass : 'sfHover',
|
||||
pathClass : 'overideThisToUse',
|
||||
pathLevels : 1,
|
||||
delay : 800,
|
||||
animation : {opacity:'show'},
|
||||
speed : 'normal',
|
||||
autoArrows : true,
|
||||
dropShadows : true,
|
||||
disableHI : false, // true disables hoverIntent detection
|
||||
onInit : function(){}, // callback functions
|
||||
onBeforeShow: function(){},
|
||||
onShow : function(){},
|
||||
onHide : function(){}
|
||||
};
|
||||
$.fn.extend({
|
||||
hideSuperfishUl : function(){
|
||||
var o = sf.op,
|
||||
not = (o.retainPath===true) ? o.$path : '';
|
||||
o.retainPath = false;
|
||||
var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass)
|
||||
.find('>ul').hide().css('visibility','hidden');
|
||||
o.onHide.call($ul);
|
||||
return this;
|
||||
},
|
||||
showSuperfishUl : function(){
|
||||
var o = sf.op,
|
||||
sh = sf.c.shadowClass+'-off',
|
||||
$ul = this.addClass(o.hoverClass)
|
||||
.find('>ul:hidden').css('visibility','visible');
|
||||
sf.IE7fix.call($ul);
|
||||
o.onBeforeShow.call($ul);
|
||||
$ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); });
|
||||
return this;
|
||||
}
|
||||
});
|
||||
})(jQuery);
|
@ -1,90 +0,0 @@
|
||||
|
||||
/*
|
||||
* Supersubs v0.2b - jQuery plugin
|
||||
* Copyright (c) 2008 Joel Birch
|
||||
*
|
||||
* Dual licensed under the MIT and GPL licenses:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
* http://www.gnu.org/licenses/gpl.html
|
||||
*
|
||||
*
|
||||
* This plugin automatically adjusts submenu widths of suckerfish-style menus to that of
|
||||
* their longest list item children. If you use this, please expect bugs and report them
|
||||
* to the jQuery Google Group with the word 'Superfish' in the subject line.
|
||||
*
|
||||
*/
|
||||
|
||||
;(function($){ // $ will refer to jQuery within this closure
|
||||
|
||||
$.fn.supersubs = function(options){
|
||||
var opts = $.extend({}, $.fn.supersubs.defaults, options);
|
||||
// return original object to support chaining
|
||||
return this.each(function() {
|
||||
// cache selections
|
||||
var $$ = $(this);
|
||||
// support metadata
|
||||
var o = $.meta ? $.extend({}, opts, $$.data()) : opts;
|
||||
// get the font size of menu.
|
||||
// .css('fontSize') returns various results cross-browser, so measure an em dash instead
|
||||
var fontsize = $('<li id="menu-fontsize">—</li>').css({
|
||||
'padding' : 0,
|
||||
'position' : 'absolute',
|
||||
'top' : '-999em',
|
||||
'width' : 'auto'
|
||||
}).appendTo($$).width(); //clientWidth is faster, but was incorrect here
|
||||
// remove em dash
|
||||
$('#menu-fontsize').remove();
|
||||
// cache all ul elements
|
||||
$ULs = $$.find('ul');
|
||||
// loop through each ul in menu
|
||||
$ULs.each(function(i) {
|
||||
// cache this ul
|
||||
var $ul = $ULs.eq(i);
|
||||
// get all (li) children of this ul
|
||||
var $LIs = $ul.children();
|
||||
// get all anchor grand-children
|
||||
var $As = $LIs.children('a');
|
||||
// force content to one line and save current float property
|
||||
var liFloat = $LIs.css('white-space','nowrap').css('float');
|
||||
// remove width restrictions and floats so elements remain vertically stacked
|
||||
var emWidth = $ul.add($LIs).add($As).css({
|
||||
'float' : 'none',
|
||||
'width' : 'auto'
|
||||
})
|
||||
// this ul will now be shrink-wrapped to longest li due to position:absolute
|
||||
// so save its width as ems. Clientwidth is 2 times faster than .width() - thanks Dan Switzer
|
||||
.end().end()[0].clientWidth / fontsize;
|
||||
// add more width to ensure lines don't turn over at certain sizes in various browsers
|
||||
emWidth += o.extraWidth;
|
||||
// restrict to at least minWidth and at most maxWidth
|
||||
if (emWidth > o.maxWidth) { emWidth = o.maxWidth; }
|
||||
else if (emWidth < o.minWidth) { emWidth = o.minWidth; }
|
||||
emWidth += 'em';
|
||||
// set ul to width in ems
|
||||
$ul.css('width',emWidth);
|
||||
// restore li floats to avoid IE bugs
|
||||
// set li width to full width of this ul
|
||||
// revert white-space to normal
|
||||
$LIs.css({
|
||||
'float' : liFloat,
|
||||
'width' : '100%',
|
||||
'white-space' : 'normal'
|
||||
})
|
||||
// update offset position of descendant ul to reflect new width of parent
|
||||
.each(function(){
|
||||
var $childUl = $('>ul',this);
|
||||
var offsetDirection = $childUl.css('left')!==undefined ? 'left' : 'right';
|
||||
$childUl.css(offsetDirection,emWidth);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
};
|
||||
// expose defaults
|
||||
$.fn.supersubs.defaults = {
|
||||
minWidth : 9, // requires em unit.
|
||||
maxWidth : 25, // requires em unit.
|
||||
extraWidth : 0 // extra width can ensure lines don't sometimes turn over due to slight browser differences in how they round-off values
|
||||
};
|
||||
|
||||
})(jQuery); // plugin code ends
|
Loading…
Reference in New Issue
Block a user