Browse Source

Added recent item limit to plex and emby
fix recent filter for music

causefx 8 years ago
parent
commit
2fcadff1c6

+ 138 - 138
api/config/default.php

@@ -1,146 +1,146 @@
 <?php
 return array(
-    'branch' => 'v2-develop',
-    'authType' => 'internal',
-    'authBackend' => '',
-    'authBackendHost' => '',
-    'authBaseDN' => '',
-    'authBackendDomain' => '',
-    'logo' => 'plugins/images/organizr/logo-wide.png',
-    'loginWallpaper' => '',
-    'title' => 'Organizr V2',
-    'useLogo' => false,
-    'headerColor' => '',
-    'headerTextColor' => '',
-    'sidebarColor' => '',
-    'sidebarTextColor' => '',
+	'branch' => 'v2-develop',
+	'authType' => 'internal',
+	'authBackend' => '',
+	'authBackendHost' => '',
+	'authBaseDN' => '',
+	'authBackendDomain' => '',
+	'logo' => 'plugins/images/organizr/logo-wide.png',
+	'loginWallpaper' => '',
+	'title' => 'Organizr V2',
+	'useLogo' => false,
+	'headerColor' => '',
+	'headerTextColor' => '',
+	'sidebarColor' => '',
+	'sidebarTextColor' => '',
 	'accentColor' => '',
-    'accentTextColor' => '',
+	'accentTextColor' => '',
 	'buttonColor' => '',
 	'buttonTextColor' => '',
 	'buttonHoverColor' => '',
-    'buttonTextHoverColor' => '',
+	'buttonTextHoverColor' => '',
 	'alternateHomepageHeaders' => false,
-    'lockScreen' => false,
-    'theme'=>'Organizr',
-    'style'=>'dark',
-    'plexURL' => '',
-    'plexTabURL' => '',
-    'plexToken' => '',
-    'plexTabName' => '',
-    'plexAdmin' => '',
-    'embyTabURL' => '',
-    'embyTabName' => '',
-    'embyURL' => '',
-    'embyToken' => '',
-    'plexID' => '',
-    'tautulliURL' => '',
-    'ombiURL' => '',
-    'ombiToken' => '',
-    'ssoPlex' => false,
-    'ssoOmbi' => false,
-    'ssoTautulli' => false,
-    'sonarrURL' => '',
-    'sonarrToken' => '',
-    'radarrURL' => '',
-    'radarrToken' => '',
-    'couchpotatoURL' => '',
-    'couchpotatoToken' => '',
-    'sickrageURL' => '',
-    'sickrageToken' => '',
-    'sabnzbdURL' => '',
-    'sabnzbdToken' => '',
-    'nzbgetURL' => '',
-    'nzbgetUsername' => '',
-    'nzbgetPassword' => '',
-    'transmissionURL' => '',
-    'transmissionUsername' => '',
-    'transmissionPassword' => '',
-    'transmissionHideSeeding' => false,
-    'transmissionHideCompleted' => false,
-    'delugeURL' => '',
-    'delugePassword' => '',
-    'delugeHideSeeding' => false,
-    'delugeHideCompleted' => false,
-    'qBittorrentURL' => '',
-    'qBittorrentUsername' => '',
-    'qBittorrentPassword' => '',
-    'qBittorrentHideSeeding' => false,
-    'qBittorrentHideCompleted' => false,
-    'qBittorrentSortOrder' => 'eta',
-    'qBittorrentReverseSorting' => false,
-    'homepagCustomHTMLoneEnabled' => false,
-    'homepagCustomHTMLoneAuth' => '1',
-    'homepagCustomHTMLtwoEnabled' => false,
-    'homepagCustomHTMLtwoAuth' => '1',
-    'homepageDelugeEnabled' => false,
-    'homepageDelugeAuth' => '1',
-    'homepageSabnzbdEnabled' => false,
-    'homepageSabnzbdAuth' => '1',
-    'homepageSonarrEnabled' => false,
-    'homepageSonarrAuth' => '1',
-    'homepageCouchpotatoEnabled' => false,
-    'homepageCouchpotatoAuth' => '1',
-    'homepageSickrageEnabled' => false,
-    'homepageSickrageAuth' => '1',
-    'homepageRadarrEnabled' => false,
-    'homepageRadarrAuth' => '1',
-    'homepageTransmissionEnabled' => false,
-    'homepageTransmissionAuth' => '1',
-    'homepageqBittorrentEnabled' => false,
-    'homepageqBittorrentAuth' => '1',
-    'homepageNzbgetEnabled' => false,
-    'homepageNzbgetAuth' => '1',
-    'homepagePlexEnabled' => false,
-    'homepagePlexAuth' => '1',
-    'homepageEmbyEnabled' => false,
-    'homepageEmbyAuth' => '1',
-    'homepageOmbiEnabled' => false,
-    'homepageOmbiAuth' => '1',
-    'ombiLimitUser' => false,
-    'ombiRefresh' => '600000',
-    'homepageOrdercustomhtml' => '1',
-    'homepageOrdercustomhtmlTwo' => '2',
-    'homepageOrdertransmission' => '3',
-    'homepageOrderqBittorrent' => '4',
-    'homepageOrderdeluge' => '5',
-    'homepageOrdernzbget' => '6',
-    'homepageOrdersabnzbd' => '7',
-    'homepageOrderplexnowplaying' => '8',
-    'homepageOrderplexrecent' => '9',
-    'homepageOrderplexplaylist' => '10',
-    'homepageOrderembynowplaying' => '11',
-    'homepageOrderembyrecent' => '12',
-    'homepageOrderombi' => '13',
-    'homepageOrdercalendar' => '14',
-    'homepageShowStreamNames' => false,
-    'homepageShowStreamNamesAuth' => '1',
-    'homepageStreamRefresh' => '60000',
-    'homepageRecentRefresh' => '60000',
-    'homepageDownloadRefresh' => '60000',
-    'homepagePlexStreams' => false,
-    'homepagePlexStreamsAuth' => '1',
-    'homepagePlexRecent' => false,
-    'homepagePlexRecentAuth' => '1',
-    'homepagePlexPlaylist' => false,
-    'homepagePlexPlaylistAuth' => '1',
-    'homepageEmbyStreams' => false,
-    'homepageEmbyStreamsAuth' => '1',
-    'homepageEmbyRecent' => false,
-    'homepageEmbyRecentAuth' => '1',
-    'calendarDefault' => 'month',
-    'calendarFirstDay' => '1',
-    'calendarStart' => '14',
-    'calendarEnd' => '14',
-    'calendarRefresh' => '60000',
-    'calendarTimeFormat' => 'h(:mm)t',
-    'calendarLimit' => '1000',
-    'customCss' => '',
-    'customHTMLone' => '',
-    'customHTMLtwo' => '',
-    'mediaSearch' => false,
-    'mediaSearchType' => '',
-    'mediaSearchAuth' => '1',
-    'registrationPassword' => ''
-
+	'lockScreen' => false,
+	'theme' => 'Organizr',
+	'style' => 'dark',
+	'plexURL' => '',
+	'plexTabURL' => '',
+	'plexToken' => '',
+	'plexTabName' => '',
+	'plexAdmin' => '',
+	'embyTabURL' => '',
+	'embyTabName' => '',
+	'embyURL' => '',
+	'embyToken' => '',
+	'plexID' => '',
+	'tautulliURL' => '',
+	'ombiURL' => '',
+	'ombiToken' => '',
+	'ssoPlex' => false,
+	'ssoOmbi' => false,
+	'ssoTautulli' => false,
+	'sonarrURL' => '',
+	'sonarrToken' => '',
+	'radarrURL' => '',
+	'radarrToken' => '',
+	'couchpotatoURL' => '',
+	'couchpotatoToken' => '',
+	'sickrageURL' => '',
+	'sickrageToken' => '',
+	'sabnzbdURL' => '',
+	'sabnzbdToken' => '',
+	'nzbgetURL' => '',
+	'nzbgetUsername' => '',
+	'nzbgetPassword' => '',
+	'transmissionURL' => '',
+	'transmissionUsername' => '',
+	'transmissionPassword' => '',
+	'transmissionHideSeeding' => false,
+	'transmissionHideCompleted' => false,
+	'delugeURL' => '',
+	'delugePassword' => '',
+	'delugeHideSeeding' => false,
+	'delugeHideCompleted' => false,
+	'qBittorrentURL' => '',
+	'qBittorrentUsername' => '',
+	'qBittorrentPassword' => '',
+	'qBittorrentHideSeeding' => false,
+	'qBittorrentHideCompleted' => false,
+	'qBittorrentSortOrder' => 'eta',
+	'qBittorrentReverseSorting' => false,
+	'homepagCustomHTMLoneEnabled' => false,
+	'homepagCustomHTMLoneAuth' => '1',
+	'homepagCustomHTMLtwoEnabled' => false,
+	'homepagCustomHTMLtwoAuth' => '1',
+	'homepageDelugeEnabled' => false,
+	'homepageDelugeAuth' => '1',
+	'homepageSabnzbdEnabled' => false,
+	'homepageSabnzbdAuth' => '1',
+	'homepageSonarrEnabled' => false,
+	'homepageSonarrAuth' => '1',
+	'homepageCouchpotatoEnabled' => false,
+	'homepageCouchpotatoAuth' => '1',
+	'homepageSickrageEnabled' => false,
+	'homepageSickrageAuth' => '1',
+	'homepageRadarrEnabled' => false,
+	'homepageRadarrAuth' => '1',
+	'homepageTransmissionEnabled' => false,
+	'homepageTransmissionAuth' => '1',
+	'homepageqBittorrentEnabled' => false,
+	'homepageqBittorrentAuth' => '1',
+	'homepageNzbgetEnabled' => false,
+	'homepageNzbgetAuth' => '1',
+	'homepagePlexEnabled' => false,
+	'homepagePlexAuth' => '1',
+	'homepageEmbyEnabled' => false,
+	'homepageEmbyAuth' => '1',
+	'homepageOmbiEnabled' => false,
+	'homepageOmbiAuth' => '1',
+	'ombiLimitUser' => false,
+	'ombiRefresh' => '600000',
+	'homepageOrdercustomhtml' => '1',
+	'homepageOrdercustomhtmlTwo' => '2',
+	'homepageOrdertransmission' => '3',
+	'homepageOrderqBittorrent' => '4',
+	'homepageOrderdeluge' => '5',
+	'homepageOrdernzbget' => '6',
+	'homepageOrdersabnzbd' => '7',
+	'homepageOrderplexnowplaying' => '8',
+	'homepageOrderplexrecent' => '9',
+	'homepageOrderplexplaylist' => '10',
+	'homepageOrderembynowplaying' => '11',
+	'homepageOrderembyrecent' => '12',
+	'homepageOrderombi' => '13',
+	'homepageOrdercalendar' => '14',
+	'homepageShowStreamNames' => false,
+	'homepageShowStreamNamesAuth' => '1',
+	'homepageStreamRefresh' => '60000',
+	'homepageRecentRefresh' => '60000',
+	'homepageDownloadRefresh' => '60000',
+	'homepagePlexStreams' => false,
+	'homepagePlexStreamsAuth' => '1',
+	'homepagePlexRecent' => false,
+	'homepageRecentLimit' => '50',
+	'homepagePlexRecentAuth' => '1',
+	'homepagePlexPlaylist' => false,
+	'homepagePlexPlaylistAuth' => '1',
+	'homepageEmbyStreams' => false,
+	'homepageEmbyStreamsAuth' => '1',
+	'homepageEmbyRecent' => false,
+	'homepageEmbyRecentAuth' => '1',
+	'calendarDefault' => 'month',
+	'calendarFirstDay' => '1',
+	'calendarStart' => '14',
+	'calendarEnd' => '14',
+	'calendarRefresh' => '60000',
+	'calendarTimeFormat' => 'h(:mm)t',
+	'calendarLimit' => '1000',
+	'customCss' => '',
+	'customHTMLone' => '',
+	'customHTMLtwo' => '',
+	'mediaSearch' => false,
+	'mediaSearchType' => '',
+	'mediaSearchAuth' => '1',
+	'registrationPassword' => ''
 );

+ 2 - 2
api/functions/homepage-connect-functions.php

@@ -454,7 +454,7 @@ function plexConnect($action, $key = null)
 				$url = $url . "/status/sessions?X-Plex-Token=" . $GLOBALS['plexToken'];
 				break;
 			case 'recent':
-				$url = $url . "/library/recentlyAdded?X-Plex-Token=" . $GLOBALS['plexToken'];
+				$url = $url . "/library/recentlyAdded?X-Plex-Token=" . $GLOBALS['plexToken'] . "&limit=" . $GLOBALS['homepageRecentLimit'];
 				break;
 			case 'metadata':
 				$url = $url . "/library/metadata/" . $key . "?X-Plex-Token=" . $GLOBALS['plexToken'];
@@ -571,7 +571,7 @@ function embyConnect($action, $key = null, $skip = false)
 				} catch (Requests_Exception $e) {
 					writeLog('error', 'Emby Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
 				};
-				$url = $url . '/Users/' . $userId . '/Items/Latest?EnableImages=false&Limit=100&api_key=' . $GLOBALS['embyToken'] . ($showPlayed ? '' : '&IsPlayed=false');
+				$url = $url . '/Users/' . $userId . '/Items/Latest?EnableImages=false&Limit=' . $GLOBALS['homepageRecentLimit'] . '&api_key=' . $GLOBALS['embyToken'] . ($showPlayed ? '' : '&IsPlayed=false');
 				break;
 			case 'metadata':
 				$skip = true;

+ 14 - 0
api/functions/homepage-functions.php

@@ -519,6 +519,13 @@ function getHomepageList()
 						'value' => $GLOBALS['homepagePlexRecentAuth'],
 						'options' => $groups
 					),
+					array(
+						'type' => 'text',
+						'attr' => 'onkeypress="return isNumberKey(event)"',
+						'name' => 'homepageRecentLimit',
+						'label' => 'Item Limit',
+						'value' => $GLOBALS['homepageRecentLimit'],
+					),
 					array(
 						'type' => 'select',
 						'name' => 'homepageRecentRefresh',
@@ -681,6 +688,13 @@ function getHomepageList()
 						'value' => $GLOBALS['homepageEmbyRecentAuth'],
 						'options' => $groups
 					),
+					array(
+						'type' => 'text',
+						'attr' => 'onkeypress="return isNumberKey(event)"',
+						'name' => 'homepageRecentLimit',
+						'label' => 'Item Limit',
+						'value' => $GLOBALS['homepageRecentLimit'],
+					),
 					array(
 						'type' => 'select',
 						'name' => 'homepageRecentRefresh',

+ 3 - 0
css/organizr.css

@@ -815,4 +815,7 @@ input.has-success {
 .loginLogo {
     max-width: 350px;
     max-height: 225px;
+}
+.recent-items .owl-item {
+    height: 225px;
 }

+ 10 - 1
js/functions.js

@@ -81,6 +81,12 @@ function contains(target, pattern){
     });
     return (value === 1)
 }
+function isNumberKey(evt) {
+    var charCode = (evt.which) ? evt.which : event.keyCode;
+    if ((charCode < 48 || charCode > 57))
+        return false;
+    return true;
+}
 function timerIncrement() {
     idleTime = idleTime + 1;
     if (idleTime > 19) { // 20 minutes
@@ -597,6 +603,9 @@ function buildFormItem(item){
 		case 'text':
 			return smallLabel+'<input data-changed="false" lang="en" type="text" class="form-control'+extraClass+'"'+placeholder+value+id+name+disabled+type+attr+' autocomplete="new-password" />';
 			break;
+        case 'number':
+            return smallLabel+'<input data-changed="false" lang="en" type="number" class="form-control'+extraClass+'"'+placeholder+value+id+name+disabled+type+attr+' autocomplete="new-password" />';
+            break;
 		case 'textbox':
 			return smallLabel+'<textarea data-changed="false" class="form-control'+extraClass+'"'+placeholder+id+name+disabled+type+attr+' autocomplete="new-password">'+textarea+'</textarea>';
 			break;
@@ -2475,7 +2484,7 @@ function buildRecent(array, type){
 	dropdown += (recent && movie) ? `<li><a data-filter="recent-movie" server-filter="`+type+`" href="javascript:void(0);">Movies</a></li>` : '';
 	dropdown += (recent && tv) ? `<li><a data-filter="recent-tv" server-filter="`+type+`" href="javascript:void(0);">Shows</a></li>` : '';
 	dropdown += (recent && video) ? `<li><a data-filter="recent-video" server-filter="`+type+`" href="javascript:void(0);">Videos</a></li>` : '';
-	//dropdown += (recent && music) ? `<li><a data-filter="recent-music" server-filter="`+type+`" href="javascript:void(0);">Music</a></li>` : '';
+	dropdown += (recent && music) ? `<li><a data-filter="recent-music" server-filter="`+type+`" href="javascript:void(0);">Music</a></li>` : '';
 	var dropdownMenu = `
 	<div class="btn-group pull-right">
 		<button aria-expanded="false" data-toggle="dropdown" class="btn btn-info dropdown-toggle waves-effect waves-light" type="button">