Browse Source

Merge pull request #1114 from causefx/v2-develop

V2 develop
causefx 7 năm trước cách đây
mục cha
commit
956de51956

+ 2 - 1
api/config/default.php

@@ -210,5 +210,6 @@ return array(
 	'rememberMe' => true,
 	'plexStrictFriends' => true,
 	'debugAreaAuth' => '1',
-	'commit' => 'n/a'
+	'commit' => 'n/a',
+	'ombiLimit' => '50'
 );

+ 3 - 0
api/functions.php

@@ -10,6 +10,7 @@ foreach (glob(__DIR__ . DIRECTORY_SEPARATOR . 'functions' . DIRECTORY_SEPARATOR
 // Set Root Directory
 $GLOBALS['root'] = dirname(__DIR__, 1);
 $GLOBALS['uuid'] = '';
+$GLOBALS['rememberMeDays'] = '99';
 // Add in default and custom settings
 configLazy();
 // Define Logs and files after db location is set
@@ -37,6 +38,8 @@ if (isset($GLOBALS['dbLocation'])) {
 	//Upgrade Check
 	upgradeCheck();
 }
+// Reset RememberMe if zero
+$GLOBALS['rememberMeDays'] = ($GLOBALS['rememberMeDays'] == '0') ? '99' : $GLOBALS['rememberMeDays'];
 // Cookie name
 $GLOBALS['cookieName'] = $GLOBALS['uuid'] !== '' ? 'organizr_token_' . $GLOBALS['uuid'] : 'organizr_token_temp';
 // Validate Token if set and set guest if not - sets GLOBALS

+ 1 - 1
api/functions/api-functions.php

@@ -127,7 +127,7 @@ function login($array)
 				if (createToken($result['username'], $result['email'], $result['image'], $result['group'], $result['group_id'], $GLOBALS['organizrHash'], $days)) {
 					writeLoginLog($username, 'success');
 					writeLog('success', 'Login Function - A User has logged in', $username);
-					$ssoUser = (empty($result['email'])) ? $result['username'] : $result['email'];
+					$ssoUser = (empty($result['email'])) ? $result['username'] : (strpos($result['email'], 'placeholder') !== false) ? $result['username'] : $result['email'];
 					ssoCheck($ssoUser, $password, $token); //need to work on this
 					return true;
 				} else {

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

@@ -49,7 +49,7 @@ function homepageConnect($array)
 			return getCalendar();
 			break;
 		case 'getRequests':
-			return getOmbiRequests();
+			return getOmbiRequests($GLOBALS['ombiLimit']);
 			break;
 		default:
 			# code...
@@ -1971,7 +1971,7 @@ function ombiAction($id, $action, $type, $fullArray = null)
 	return isset($success['ok']) ? $success : false;
 }
 
-function getOmbiRequests($type = "both")
+function getOmbiRequests($type = "both", $limit = 50)
 {
 	if ($GLOBALS['homepageOmbiEnabled'] && !empty($GLOBALS['ombiURL']) && !empty($GLOBALS['ombiToken']) && qualifyRequest($GLOBALS['homepageOmbiAuth'])) {
 		$url = qualifyURL($GLOBALS['ombiURL']);
@@ -2066,7 +2066,7 @@ function getOmbiRequests($type = "both")
 			writeLog('error', 'OMBI Connect Function - Error: ' . $e->getMessage(), 'SYSTEM');
 		};
 	}
-	$api['content'] = isset($requests) ? $requests : false;
+	$api['content'] = isset($requests) ? array_slice($requests, 0, $limit) : false;
 	return $api;
 }
 

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

@@ -2008,6 +2008,12 @@ function getHomepageList()
 						'label' => 'Limit to User',
 						'value' => $GLOBALS['ombiLimitUser']
 					),
+					array(
+						'type' => 'number',
+						'name' => 'ombiLimit',
+						'label' => 'Item Limit',
+						'value' => $GLOBALS['ombiLimit'],
+					),
 					array(
 						'type' => 'select',
 						'name' => 'ombiRefresh',

+ 16 - 16
api/functions/organizr-functions.php

@@ -905,6 +905,22 @@ function getSSO()
 				'value' => $GLOBALS['ssoPlex']
 			)
 		),
+		'Tautulli' => array(
+			array(
+				'type' => 'input',
+				'name' => 'tautulliURL',
+				'label' => 'Tautulli URL',
+				'value' => $GLOBALS['tautulliURL'],
+				'help' => 'Please make sure to use local IP address and port - You also may use local dns name too.',
+				'placeholder' => 'http(s)://hostname:port'
+			),
+			array(
+				'type' => 'switch',
+				'name' => 'ssoTautulli',
+				'label' => 'Enable',
+				'value' => $GLOBALS['ssoTautulli']
+			)
+		),
 		'Ombi' => array(
 			array(
 				'type' => 'input',
@@ -926,22 +942,6 @@ function getSSO()
 				'label' => 'Enable',
 				'value' => $GLOBALS['ssoOmbi']
 			)
-		),
-		'Tautulli' => array(
-			array(
-				'type' => 'input',
-				'name' => 'tautulliURL',
-				'label' => 'Tautulli URL',
-				'value' => $GLOBALS['tautulliURL'],
-				'help' => 'Please make sure to use local IP address and port - You also may use local dns name too.',
-				'placeholder' => 'http(s)://hostname:port'
-			),
-			array(
-				'type' => 'switch',
-				'name' => 'ssoTautulli',
-				'label' => 'Enable',
-				'value' => $GLOBALS['ssoTautulli']
-			)
 		)
 	);
 }

+ 1 - 1
api/functions/static-globals.php

@@ -1,7 +1,7 @@
 <?php
 // ===================================
 // Organizr Version
-$GLOBALS['installedVersion'] = '2.0.49';
+$GLOBALS['installedVersion'] = '2.0.70';
 // ===================================
 // Quick php Version check
 $GLOBALS['minimumPHP'] = '7.1.3';

+ 11 - 2
api/index.php

@@ -15,8 +15,17 @@ if ($function === false) {
 	$result['statusText'] = "No API Path Supplied";
 	exit(json_encode($result));
 }
-if ($function !== 'v1_auth' && $function !== 'v1_wizard_config' && $function !== 'v1_login' && $function !== 'v1_wizard_path') {
-	if (isApprovedRequest($method, $_POST) === false) {
+$approvedFunctionsBypass = array(
+	'v1_upgrade',
+	'v1_update',
+	'v1_force',
+	'v1_auth',
+	'v1_wizard_config',
+	'v1_login',
+	'v1_wizard_path',
+);
+if (!in_array($function, $approvedFunctionsBypass)) {
+	if (isApprovedRequest($method) === false) {
 		$result['status'] = "error";
 		$result['statusText'] = "Not Authorized";
 		writeLog('success', 'Killed Attack From [' . (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'No Referer') . ']', $GLOBALS['organizrUser']['username']);

+ 15 - 2
css/organizr.css

@@ -1259,7 +1259,6 @@ span.fc-title {
     padding: 1px 0px;
     text-align: center;
     font-size: 15px;
-    border-radius: 0px 0px 0px 0px;
     opacity: 0;
     -webkit-transition: all .4s ease-in-out;
     transition: all .4s ease-in-out;
@@ -1273,6 +1272,20 @@ span.fc-title {
     -webkit-transition: all .4s ease;
     transition: all .4s ease;
 }
+/* Fix for bootstrap screen width bug */
+@media (min-width: 992px) and (max-width: 1200px) {
+    .col-lg-12 {
+        float: left;
+        width: 100%;
+    }
+    .col-md-12 {
+        float: none;
+    }
+}
+#newRequestButton {
+    border-top-right-radius: 3px;
+    border-bottom-right-radius: 3px;
+}
 /*
 body,
 html {
@@ -1290,4 +1303,4 @@ html {
 .internal-listing .simplebar-track.horizontal {
     display: none;
 }
-*/
+*/

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
css/organizr.min.css


+ 9 - 3
index.php

@@ -41,8 +41,12 @@
     <style id="custom-theme-css"></style>
     <style id="custom-css"></style>
     <!--[if lt IE 9]>
-    <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
-    <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
+    <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"
+            integrity="sha384-0s5Pv64cNZJieYFkXYOTId2HMA2Lfb6q2nAcx2n0RTLUnCAoTTsS0nKEO27XyKcY"
+            crossorigin="anonymous"></script>
+    <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"
+            integrity="sha384-ZoaMbDF+4LeFxg6WdScQ9nnR1QC2MIRxA1O9KWEXQwns1G8UNyIEZIQidzb0T1fo"
+            crossorigin="anonymous"></script>
     <![endif]-->
 </head>
 
@@ -290,7 +294,9 @@
 <script src="js/custom.min.js?v=<?php echo $GLOBALS['fileHash']; ?>"></script>
 <script id="custom-theme-javascript"></script>
 <script id="custom-javascript"></script>
-<script src="https://js.pusher.com/4.1/pusher.min.js"></script>
+<script src="https://js.pusher.com/4.1/pusher.min.js"
+        integrity="sha384-e9MoFh6Cw/uluf+NZ6MJwfJ1Dm7UOvJf9oTBxxCYDyStJeeAF0q53ztnEbLLDSQP"
+        crossorigin="anonymous"></script>
 <?php echo pluginFiles('js');
 echo formKey(); ?>
 </body>

+ 26 - 7
js/functions.js

@@ -675,7 +675,10 @@ function reloadTab(tab, type){
 		case 0:
 		case '0':
 		case 'internal':
-
+		    var dataURL = $('.frame-'+cleanClass(tab)).attr('data-url');
+		    var dataName = $('.frame-'+cleanClass(tab)).attr('data-name');
+            $('#frame-'+cleanClass(tab)).html('');
+            loadInternal(dataURL,dataName);
 			break;
 		case 1:
 		case '1':
@@ -799,15 +802,17 @@ function closeCurrentTab(){
 	}
 }
 function tabActions(event,name, type){
-    $('.splash-screen').removeClass('in').addClass('hidden');
-	if(event.ctrlKey){
+	if(event.ctrlKey && !event.shiftKey && !event.altKey){
 		popTab(cleanClass(name), type);
-	}else if(event.altKey){
+	}else if(event.altKey && !event.shiftKey && !event.ctrlKey){
         closeTab(name);
-	}else if(event.shiftKey){
+	}else if(event.shiftKey && !event.ctrlKey && !event.altKey){
 		reloadTab(cleanClass(name), type);
-	}else{
+	}else if(event.ctrlKey && event.shiftKey && !event.altKey){
+        switchTab(cleanClass(name), type);
+    }else{
 		switchTab(cleanClass(name), type);
+        $('.splash-screen').removeClass('in').addClass('hidden');
 	}
 }
 function reverseObject(object) {
@@ -3388,7 +3393,8 @@ function organizrAPI(type,path,data=null){
 				url:path,
 				method:"GET",
 				beforeSend: function(request) {
-					request.setRequestHeader("Token", activeInfo.token);
+                    request.setRequestHeader("Token", activeInfo.token);
+                    request.setRequestHeader("formKey", local('g','formKey'));
 				},
 				timeout: timeout,
 			});
@@ -3402,6 +3408,7 @@ function organizrAPI(type,path,data=null){
 				method:"POST",
 				beforeSend: function(request) {
 					request.setRequestHeader("Token", activeInfo.token);
+                    request.setRequestHeader("formKey", local('g','formKey'));
 				},
 				data:{
 					data: data,
@@ -6560,6 +6567,17 @@ function closeOrgError(){
     $('#main-org-error-container').removeClass('show');
     $('#main-org-error').html('');
 }
+function isJSON(data) {
+    if (typeof data != 'string'){
+        data = JSON.stringify(data);
+    }
+    try {
+        JSON.parse(data);
+        return true;
+    } catch (e) {
+        return false;
+    }
+}
 function launch(){
 	organizrConnect('api/?v1/launch_organizr').success(function (data) {
         try {
@@ -6633,5 +6651,6 @@ function launch(){
 			default:
 				console.error('Organizr Function: Action not set or defined');
 		}
+		console.log('Organizr DOM Fully loaded');
 	});
 }

+ 24 - 24
js/langpack/de[German].json

@@ -341,7 +341,7 @@
         "Authentication Type": "Authentifizierungsart",
         "Generate": "Generieren",
         "Generate New API Key": "Generieren Sie einen neuen API-Schlüssel",
-        "Organizr API": "Organizar API",
+        "Organizr API": "Organizr API",
         "Force Install Branch": "Installation der Branch erzwingen",
         "Branch": "Branch",
         "SSO": "SSO",
@@ -482,13 +482,13 @@
         "Results For cmd:": "Ergebnis für cmd:",
         "Organizr Information:": "Organizr Informationen:",
         "DB Schema": "DB Schema",
-        "Misc SSO": "",
-        "Tautulli SSO": "",
-        "Plex SSO": "",
-        "Ombi SSO": "",
+        "Misc SSO": "Misc SSO",
+        "Tautulli SSO": "Tautulli SSO",
+        "Plex SSO": "Plex SSO",
+        "Ombi SSO": "Ombi SSO",
         "Commands": "Kommandos",
         "Input Command": "Eingabekommando",
-        "Organizr Debug Area": "",
+        "Organizr Debug Area": "Organizr Debug Area",
         "Google Ads": "Google Werbung",
         "DB Folder": "DB Ordner",
         "API Folder": "API Ordner",
@@ -497,24 +497,24 @@
         "Organizr News": "Organizr Neuigkeiten",
         "Close Error": "Fehler schließen",
         "An Error Occured": "Ein Fehler ist aufgetreten",
-        "Debug Area": "",
-        "Tab Local URL": "",
-        "PRELOAD": "",
-        "Use Ombi Alias Names": "",
-        "TV Show Default Request": "",
-        "Add to Combined Downloader": "",
+        "Debug Area": "Debug Area",
+        "Tab Local URL": "Tab Local URL",
+        "PRELOAD": "PRELOAD",
+        "Use Ombi Alias Names": "Use Ombi Alias Names",
+        "TV Show Default Request": "TV Show Default Request",
+        "Add to Combined Downloader": "Add to Combined Downloader",
         "http(s)://hostname:port/xmlrpc": "http(s)://hostname:port/xmlrpc",
-        "rTorrent API URL Override": "",
-        "Enable Notify Sounds": "",
-        "Remember Me Length": "",
-        "Minimum Authentication for Debug Area": "",
-        "Account DN": "",
-        "Bind Username": "",
-        "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld": "",
-        "Account Suffix": "",
-        "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "",
-        "Account Prefix": "",
-        "LDAP Backend Type": "",
-        "Strict Plex Friends": ""
+        "rTorrent API URL Override": "rTorrent API URL Override",
+        "Enable Notify Sounds": "Enable Notify Sounds",
+        "Remember Me Length": "Remember Me Length",
+        "Minimum Authentication for Debug Area": "Minimum Authentication for Debug Area",
+        "Account DN": "Account DN",
+        "Bind Username": "Bind Username",
+        "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld": "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld",
+        "Account Suffix": "Account Suffix",
+        "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP",
+        "Account Prefix": "Account Prefix",
+        "LDAP Backend Type": "LDAP Backend Type",
+        "Strict Plex Friends": "Strict Plex Friends"
     }
 }

+ 61 - 61
js/langpack/it[Italian].json

@@ -240,50 +240,50 @@
         "Loading Playlists...": "Caricamento Playlist...",
         "Loading Download Queue...": "Caricamento Coda Download...",
         "Organizr Mod Picks": "Organizr Mod Picks",
-        "Requests": "Requests",
-        "Become Sponsor": "Become Sponsor",
+        "Requests": "Richieste",
+        "Become Sponsor": "Diventa Sponsor",
         "Splash Page": "Splash Page",
-        "Lock Screen": "Lock Screen",
+        "Lock Screen": "Blocca schermo",
         "If you signed in with a Emby Acct... Please use the following link to change your password there:": "If you signed in with a Emby Acct... Please use the following link to change your password there:",
         "Password Notice": "Password Notice",
         "If you signed in with a Plex Acct... Please use the following link to change your password there:": "If you signed in with a Plex Acct... Please use the following link to change your password there:",
-        "Active Tokens": "Active Tokens",
-        "Deactivate": "Deactivate",
-        "Activate": "Activate",
-        "Current": "Current",
-        "Save": "Save",
-        "STATUS": "STATUS",
-        "PLUGIN": "PLUGIN",
-        "Plugin Marketplace": "Plugin Marketplace",
-        "Marketplace": "Marketplace",
+        "Active Tokens": "Token attivi",
+        "Deactivate": "Disattiva",
+        "Activate": "Attiva",
+        "Current": "Attuale",
+        "Save": "Salva",
+        "STATUS": "Status",
+        "PLUGIN": "Plugin",
+        "Plugin Marketplace": "Negozio plugin",
+        "Marketplace": "Negozio",
         "Chat": "Chat",
-        "Current Directory: ": "Current Directory: ",
-        "Suggested Directory: ": "Suggested Directory: ",
+        "Current Directory: ": "Cartella corrente: ",
+        "Suggested Directory: ": "Cartella suggerita: ",
         "The Registration Password will lockout the registration field with this password. {User-Generated]": "The Registration Password will lockout the registration field with this password. {User-Generated]",
         "The Hash Key will be used to decrypt all passwords etc... on the server. {User-Generated]": "The Hash Key will be used to decrypt all passwords etc... on the server. {User-Generated]",
         "If using Plex or Emby - It is suggested that you use the username and email of the Admin account.": "If using Plex or Emby - It is suggested that you use the username and email of the Admin account.",
         "Business has Media items hidden [Plex, Emby etc...]": "Business has Media items hidden [Plex, Emby etc...]",
         "Personal has everything unlocked - no restrictions": "Personal has everything unlocked - no restrictions",
-        "Continue To Website": "Continue To Website",
+        "Continue To Website": "Continua al sito",
         "Patreon": "Patreon",
-        "Cryptos": "Cryptos",
+        "Cryptos": "Crypto",
         "Square Cash": "Square Cash",
         "PayPal": "PayPal",
         "Beerpay.io": "Beerpay.io",
         "Sponsors": "Sponsors",
-        "THEME": "THEME",
-        "Theme Marketplace": "Theme Marketplace",
-        "Test Tab": "Test Tab",
-        "Select or type Icon": "Select or type Icon",
-        "Choose Icon": "Choose Icon",
-        "Choose Image": "Choose Image",
+        "THEME": "Tema",
+        "Theme Marketplace": "Negozio temi",
+        "Test Tab": "Testa tab",
+        "Select or type Icon": "Seleziona o scrivi l'icona",
+        "Choose Icon": "Scegli icona",
+        "Choose Image": "Scegli immagine",
         "Ping URL": "Ping URL",
         "Please set tab as [New Window] on next screen": "Please set tab as [New Window] on next screen",
         "Tab can be set as iFrame": "Tab can be set as iFrame",
         "Premier": "Premier",
-        "Missing": "Missing",
+        "Missing": "Mancante",
         "Unaired": "Unaired",
-        "Downloaded": "Downloaded",
+        "Downloaded": "Scaricato",
         "All": "All",
         "Choose Media Status": "Choose Media Status",
         "Music": "Music",
@@ -479,42 +479,42 @@
         "Authentication": "Authentication",
         "SMTP Port": "SMTP Port",
         "SMTP Host": "SMTP Host",
-        "Results For cmd:": "",
-        "Organizr Information:": "",
-        "DB Schema": "",
-        "Misc SSO": "",
-        "Tautulli SSO": "",
-        "Plex SSO": "",
-        "Ombi SSO": "",
-        "Commands": "",
-        "Input Command": "",
-        "Organizr Debug Area": "",
-        "Google Ads": "",
-        "DB Folder": "",
-        "API Folder": "",
-        "Root Folder": "",
-        "Organizr Paths": "",
-        "Organizr News": "",
-        "Close Error": "",
-        "An Error Occured": "",
-        "Debug Area": "",
-        "Tab Local URL": "",
-        "PRELOAD": "",
-        "Use Ombi Alias Names": "",
-        "TV Show Default Request": "",
-        "Add to Combined Downloader": "",
-        "http(s)://hostname:port/xmlrpc": "",
-        "rTorrent API URL Override": "",
-        "Enable Notify Sounds": "",
-        "Remember Me Length": "",
-        "Minimum Authentication for Debug Area": "",
-        "Account DN": "",
-        "Bind Username": "",
-        "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld": "",
-        "Account Suffix": "",
-        "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "",
-        "Account Prefix": "",
-        "LDAP Backend Type": "",
-        "Strict Plex Friends": ""
+        "Results For cmd:": "Result For cmd:",
+        "Organizr Information:": "Organizr Information:",
+        "DB Schema": "DB Schema",
+        "Misc SSO": "Misc SSO",
+        "Tautulli SSO": "Tautulli SSO",
+        "Plex SSO": "Plex SSO",
+        "Ombi SSO": "Ombi SSO",
+        "Commands": "Commands",
+        "Input Command": "Input Command",
+        "Organizr Debug Area": "Organizr Debug Area",
+        "Google Ads": "Google Ads",
+        "DB Folder": "DB Folder",
+        "API Folder": "API Folder",
+        "Root Folder": "Root Folder",
+        "Organizr Paths": "Organizr Paths",
+        "Organizr News": "Organizr News",
+        "Close Error": "Close Error",
+        "An Error Occured": "An Error Occurred",
+        "Debug Area": "Debug Area",
+        "Tab Local URL": "Tab Local URL",
+        "PRELOAD": "PRELOAD",
+        "Use Ombi Alias Names": "Use Ombi Alias Names",
+        "TV Show Default Request": "TV Show Default Request",
+        "Add to Combined Downloader": "Add to Combined Downloader",
+        "http(s)://hostname:port/xmlrpc": "http(s)://hostname:port/xmlrpc",
+        "rTorrent API URL Override": "rTorrent API URL Override",
+        "Enable Notify Sounds": "Enable Notify Sounds",
+        "Remember Me Length": "Remember Me Length",
+        "Minimum Authentication for Debug Area": "Minimum Authentication for Debug Area",
+        "Account DN": "Account DN",
+        "Bind Username": "Bind Username",
+        "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld": "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld",
+        "Account Suffix": "Account Suffix",
+        "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP",
+        "Account Prefix": "Account Prefix",
+        "LDAP Backend Type": "LDAP Backend Type",
+        "Strict Plex Friends": "Strict Plex Friends"
     }
 }

+ 25 - 25
js/langpack/nl[Dutch].json

@@ -262,12 +262,12 @@
         "The Registration Password will lockout the registration field with this password. {User-Generated]": "Het registratiewachtwoord blokkeert het registratieveld met dit wachtwoord. [Door Gebruiker Gegenereerd]",
         "The Hash Key will be used to decrypt all passwords etc... on the server. {User-Generated]": "De Hash Sleutel wordt gebruikt om alle wachtwoorden etc. te ontcijferen op deze server. [Door Gebruiker Gegenereerd].",
         "If using Plex or Emby - It is suggested that you use the username and email of the Admin account.": "Als Plex of Emby wordt gebruikt - Het is aangeraden om dezelfde gebruikersnaam of email te gebruiken voor het Admin account.",
-        "Business has Media items hidden [Plex, Emby etc...]": "Business heeft de Media Items verborgen [Plex, Emby, etc...]",
-        "Personal has everything unlocked - no restrictions": "Personal heeft alles ontgrendeld - geen limitaties",
+        "Business has Media items hidden [Plex, Emby etc...]": "Zakelijk heeft de Media Items verborgen [Plex, Emby, etc...]",
+        "Personal has everything unlocked - no restrictions": "Persoonlijk heeft alles ontgrendeld - geen limitaties",
         "Continue To Website": "Ga Naar Website",
         "Patreon": "Patreon",
         "Cryptos": "Crypto's",
-        "Square Cash": "Gewoon Cash",
+        "Square Cash": "Square Cash",
         "PayPal": "PayPal",
         "Beerpay.io": "Beerpay.io",
         "Sponsors": "Sponsoren",
@@ -479,42 +479,42 @@
         "Authentication": "Authenticatie",
         "SMTP Port": "SMTP Pport",
         "SMTP Host": "SMTP Host",
-        "Results For cmd:": "",
+        "Results For cmd:": "Result For cmd:",
         "Organizr Information:": "Organizr Informatie:",
-        "DB Schema": "",
+        "DB Schema": "DB Schema",
         "Misc SSO": "Overige SSO",
         "Tautulli SSO": "Tautulli SSO",
         "Plex SSO": "Plex SSO",
         "Ombi SSO": "Ombi SSO",
-        "Commands": "",
-        "Input Command": "",
-        "Organizr Debug Area": "",
-        "Google Ads": "",
-        "DB Folder": "",
-        "API Folder": "",
+        "Commands": "Commands",
+        "Input Command": "Input Command",
+        "Organizr Debug Area": "Organizr Debug Area",
+        "Google Ads": "Google Ads",
+        "DB Folder": "DB Map",
+        "API Folder": "API Folder",
         "Root Folder": "Root-map",
-        "Organizr Paths": "",
+        "Organizr Paths": "Organizr Mappen",
         "Organizr News": "Organizr Nieuws",
-        "Close Error": "",
-        "An Error Occured": "",
-        "Debug Area": "",
+        "Close Error": "Close Error",
+        "An Error Occured": "Er is een fout opgetreden",
+        "Debug Area": "Debug Area",
         "Tab Local URL": "Lokale Tabblad URL",
-        "PRELOAD": "",
+        "PRELOAD": "PRELOAD",
         "Use Ombi Alias Names": "Gebruik Ombi Alias Namen",
         "TV Show Default Request": "TV Show Standaard Aanvraag",
         "Add to Combined Downloader": "Voeg toe aan Gecombineerde Downloader",
-        "http(s)://hostname:port/xmlrpc": "",
-        "rTorrent API URL Override": "",
+        "http(s)://hostname:port/xmlrpc": "http(s)://hostnaam:poort/xmlrpc",
+        "rTorrent API URL Override": "rTorrent API URL Override",
         "Enable Notify Sounds": "Zet Notify geluiden aan",
         "Remember Me Length": "Onthoudt Mij Lengte",
-        "Minimum Authentication for Debug Area": "",
-        "Account DN": "",
-        "Bind Username": "",
-        "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld": "",
+        "Minimum Authentication for Debug Area": "Minimum Authentication for Debug Area",
+        "Account DN": "Account DN",
+        "Bind Username": "Bind Username",
+        "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld": "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld",
         "Account Suffix": "Account Achtervoegsel",
-        "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "",
+        "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP",
         "Account Prefix": "Account Voorvoegsel",
-        "LDAP Backend Type": "",
-        "Strict Plex Friends": ""
+        "LDAP Backend Type": "LDAP Backend Type",
+        "Strict Plex Friends": "Strict Plex Friends"
     }
 }

+ 4 - 4
js/langpack/pl[Polish].json

@@ -11,7 +11,7 @@
         "Login/Register": "Logowanie/Rejestracja",
         "Logout": "Wyloguj się",
         "Inbox": "Odebrane",
-        "Go Back": "Wstecz",
+        "Go Back": "Wróć",
         "Reset": "Zresetuj",
         "Email": "E-mail",
         "Enter your Email and instructions will be sent to you!": "Podaj swój adres e-mail, a otrzymasz na niego instrukcje!",
@@ -208,7 +208,7 @@
         "Parent Directory: ": "Katalog nadrzędny:",
         "The Database will contain sensitive information. Please place in directory outside of root Web Directory.": "Baza zawierać będzie wrażliwe dane. Proszę umieścić ją poza katalogiem strony.",
         "I Want to Help": "Chciał(a)bym pomóc",
-        "Head on over to POEditor and help us translate Organizr into your language": "Przejdź do POEditor i pomóż nam przetłumaczyć Organizr na twój język",
+        "Head on over to POEditor and help us translate Organizr into your language": "Przejdź do POEditor i pomóż nam przetłumaczyć Organizr na Twój język",
         "Want to help translate?": "Chcesz pomóc w tłumaczeniu?",
         "Single Sign-On": "Single Sign-On",
         "Coming Soon...": "Wkrótce...",
@@ -319,7 +319,7 @@
         "Online Sound": "Dźwięk online",
         "Minimum Authentication for Message and Sound": "Minimalne uwierzytelnienie dla wiadomości i dźwięku",
         "Minimum Authentication": "Minimalne uwierzytelnienie",
-        "Nginx Auth Debug": "Nginx Auth Debug",
+        "Nginx Auth Debug": "Debug Nginx Auth",
         "Hide Registration": "Ukryj rejestrację",
         "Lockout Groups To": "Zablokuj grupy do",
         "Lockout Groups From": "Zablokuj grupy od",
@@ -332,7 +332,7 @@
         "Host Base DN": "Podstawowa nazwa DN hosta",
         "http{s) | ftp(s) | ldap(s)://hostname:port": "http{s) | ftp(s) | ldap(s)://nazwa_hosta:port",
         "Host Address": "Adres hosta",
-        "Enable Plex oAuth": "Włącz Plex oAuth",
+        "Enable Plex oAuth": "Włącz Plex OAuth",
         "Retrieve": "Pobierz",
         "Use Get Plex Machine Button": "Użyj przycisku Pobierz ID urządzenia Plex",
         "Use Get Token Button": "Użyj przycisku Pobierz token",

+ 37 - 37
js/langpack/pt[Portuguese].json

@@ -479,42 +479,42 @@
         "Authentication": "Autenticação",
         "SMTP Port": "Porta SMTP",
         "SMTP Host": "Servidor SMTP",
-        "Results For cmd:": "",
-        "Organizr Information:": "",
-        "DB Schema": "",
-        "Misc SSO": "",
-        "Tautulli SSO": "",
-        "Plex SSO": "",
-        "Ombi SSO": "",
-        "Commands": "",
-        "Input Command": "",
-        "Organizr Debug Area": "",
-        "Google Ads": "",
-        "DB Folder": "",
-        "API Folder": "",
-        "Root Folder": "",
-        "Organizr Paths": "",
-        "Organizr News": "",
-        "Close Error": "",
-        "An Error Occured": "",
-        "Debug Area": "",
-        "Tab Local URL": "",
-        "PRELOAD": "",
-        "Use Ombi Alias Names": "",
-        "TV Show Default Request": "",
-        "Add to Combined Downloader": "",
-        "http(s)://hostname:port/xmlrpc": "",
-        "rTorrent API URL Override": "",
-        "Enable Notify Sounds": "",
-        "Remember Me Length": "",
-        "Minimum Authentication for Debug Area": "",
-        "Account DN": "",
-        "Bind Username": "",
-        "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld": "",
-        "Account Suffix": "",
-        "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "",
-        "Account Prefix": "",
-        "LDAP Backend Type": "",
-        "Strict Plex Friends": ""
+        "Results For cmd:": "Result For cmd:",
+        "Organizr Information:": "Organizr Information:",
+        "DB Schema": "DB Schema",
+        "Misc SSO": "Misc SSO",
+        "Tautulli SSO": "Tautulli SSO",
+        "Plex SSO": "Plex SSO",
+        "Ombi SSO": "Ombi SSO",
+        "Commands": "Commands",
+        "Input Command": "Input Command",
+        "Organizr Debug Area": "Organizr Debug Area",
+        "Google Ads": "Google Ads",
+        "DB Folder": "DB Folder",
+        "API Folder": "API Folder",
+        "Root Folder": "Root Folder",
+        "Organizr Paths": "Organizr Paths",
+        "Organizr News": "Organizr News",
+        "Close Error": "Close Error",
+        "An Error Occured": "An Error Occurred",
+        "Debug Area": "Debug Area",
+        "Tab Local URL": "Tab Local URL",
+        "PRELOAD": "PRELOAD",
+        "Use Ombi Alias Names": "Use Ombi Alias Names",
+        "TV Show Default Request": "TV Show Default Request",
+        "Add to Combined Downloader": "Add to Combined Downloader",
+        "http(s)://hostname:port/xmlrpc": "http(s)://hostname:port/xmlrpc",
+        "rTorrent API URL Override": "rTorrent API URL Override",
+        "Enable Notify Sounds": "Enable Notify Sounds",
+        "Remember Me Length": "Remember Me Length",
+        "Minimum Authentication for Debug Area": "Minimum Authentication for Debug Area",
+        "Account DN": "Account DN",
+        "Bind Username": "Bind Username",
+        "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld": "Account suffix - start with comma - ,ou=people,dc=domain,dc=tld",
+        "Account Suffix": "Account Suffix",
+        "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP": "Account prefix - i.e. Controller\\ from Controller\\Username for AD - uid= for OpenLDAP",
+        "Account Prefix": "Account Prefix",
+        "LDAP Backend Type": "LDAP Backend Type",
+        "Strict Plex Friends": "Strict Plex Friends"
     }
 }

+ 7 - 0
js/version.json

@@ -159,5 +159,12 @@
     "new": "Requests now show type of request on hover",
     "fixed": "Plex homepage items don't redirect to Plex when the tab name has special characters (#1096)|Work around for Plex recentlyAdded api call (#1069)|FormKey issues|Calendar misc text issue",
     "notes": "Updated language translations|Please report bugs in GitHub issues page"
+  },
+  "2.0.70": {
+    "date": "2019-03-15 23:40",
+    "title": "Weekly Update",
+    "new": "Radarr 4k Image|SRI Hash for External JS (#1055)|Limit for Ombi items (#1107)|CTRL + SHIFT on splash page to not close it after click",
+    "fixed": "Fix for bootstrap screen width bug @leram84|Ombi on homepage causes site to hang (#1107)|Fix SSO if user is LDAP user|Auto reload on internal tabs|Request button border-radius",
+    "notes": "Updated language translations|Please report bugs in GitHub issues page"
   }
 }

BIN
plugins/images/tabs/radarr4k.png


Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác