Преглед на файлове

fix sonarr premier
add auth notice
add swap body function
add splash first ui work - not final

causefx преди 8 години
родител
ревизия
c1ab3f9cc0
променени са 4 файла, в които са добавени 81 реда и са изтрити 9 реда
  1. 9 5
      api/functions/homepage-connect-functions.php
  2. 23 0
      api/functions/organizr-functions.php
  3. 1 1
      index.php
  4. 48 3
      js/functions.js

+ 9 - 5
api/functions/homepage-connect-functions.php

@@ -1017,17 +1017,21 @@ function getSonarrCalendar($array, $number)
 			$episodeID = "";
 		}
 		//$episodeName = htmlentities($child['title'], ENT_QUOTES);
-		if ($child['episodeNumber'] == "1") {
-			$episodePremier = "true";
-		} else {
-			$episodePremier = "false";
-		}
 		$episodeAirDate = $child['airDateUtc'];
 		$episodeAirDate = strtotime($episodeAirDate);
 		$episodeAirDate = date("Y-m-d H:i:s", $episodeAirDate);
 		if (new DateTime() < new DateTime($episodeAirDate)) {
 			$unaired = true;
 		}
+		if ($child['episodeNumber'] == "1") {
+			$episodePremier = "true";
+		} else {
+			$episodePremier = "false";
+			$date = new DateTime($episodeAirDate);
+			$date->add(new DateInterval("PT1S"));
+			$date->format(DateTime::ATOM);
+			$child['airDateUtc'] = gmdate('Y-m-d\TH:i:s\Z', strtotime($date->format(DateTime::ATOM)));
+		}
 		$downloaded = $child['hasFile'];
 		if ($downloaded == "0" && isset($unaired) && $episodePremier == "true") {
 			$downloaded = "text-primary animated flash";

+ 23 - 0
api/functions/organizr-functions.php

@@ -602,6 +602,29 @@ function getSettingsMain()
 function getSSO()
 {
 	return array(
+		'FYI' => array(
+			array(
+				'type' => 'html',
+				'label' => 'Important Information',
+				'override' => 12,
+				'html' => '
+				<div class="row">
+						    <div class="col-lg-12">
+						        <div class="panel panel-info">
+						            <div class="panel-heading">
+						                <span lang="en">Notice</span>
+						            </div>
+						            <div class="panel-wrapper collapse in" aria-expanded="true">
+						                <div class="panel-body">
+						                    <span lang="en">This is not the same as database authentication - i.e. Plex Authentication | Emby Authentication | FTP Authentication<br/>Click Main on the sub-menu above.</span>
+						                </div>
+						            </div>
+						        </div>
+						    </div>
+						</div>
+				'
+			)
+		),
 		'Plex' => array(
 			array(
 				'type' => 'password-alt',

+ 1 - 1
index.php

@@ -45,7 +45,7 @@
     <![endif]-->
 </head>
 
-<body class="fix-header">
+<body class="fix-header" data-active-tab="">
 <!-- ============================================================== -->
 <!-- Preloader -->
 <!-- ============================================================== -->

+ 48 - 3
js/functions.js

@@ -285,6 +285,14 @@ function toggleParentActive(tab){
 		}
 	}
 }
+function swapBodyClass(tab){
+    var prior = $('body').attr('data-active-tab');
+    if(prior !== ''){
+        $('body').removeClass('active-tab-'+prior);
+    }
+    $('body').attr('data-active-tab', tab);
+    $('body').addClass('active-tab-'+tab);
+}
 function switchTab(tab, type){
     if(type !== 2){
         hideFrames();
@@ -292,6 +300,7 @@ function switchTab(tab, type){
         removeMenuActive();
         toggleParentActive(tab);
         setHash(tab);
+        swapBodyClass(tab);
     }
 	switch (type) {
 		case 0:
@@ -494,6 +503,7 @@ function closeCurrentTab(){
 	}
 }
 function tabActions(event,name, type){
+    $('.splash-screen').removeClass('in').addClass('hidden');
 	if(event.ctrlKey){
 		popTab(cleanClass(name), type);
 	}else if(event.altKey){
@@ -1225,9 +1235,6 @@ function buildMenuList(name,url,type,icon,ping=null){
     var ping = (ping !== null) ? `<small class="menu-`+cleanClass(ping)+`-ping-ms hidden-xs label label-rouded label-inverse pull-right hidden">
 </small><div class="menu-`+cleanClass(ping)+`-ping" data-tab-name="`+name+`" data-previous-state=""></div>` : '';
 	return `<li id="menu-`+cleanClass(name)+`" type="`+type+`" data-url="`+url+`"><a class="waves-effect" onclick="tabActions(event,'`+cleanClass(name)+`',`+type+`);">`+iconPrefix(icon)+`<span class="hide-menu">`+name+`</span>`+ping+`</a></li>`;
-}
-function splashMenu(arrayItems){
-
 }
 function tabProcess(arrayItems) {
 	var iFrameList = '';
@@ -1305,6 +1312,43 @@ function buildLockscreen(){
 	});
 	$("#preloader").fadeOut();
 }
+function buildSplashScreenItem(arrayItems){
+    var splashList = '';
+    if (Array.isArray(arrayItems['data']['tabs']) && arrayItems['data']['tabs'].length > 0) {
+        $.each(arrayItems['data']['tabs'], function(i,v) {
+            if(v.enabled === 1 && v.splash === 1){
+                splashList += `
+                <div class="col-lg-3 col-xs-12 col-xl-2 mouse" id="menu-`+cleanClass(v.name)+`" type="`+v.type+`" data-url="`+v.url+`" onclick="tabActions(event,'`+cleanClass(v.name)+`',`+v.type+`);">
+                    <div class="panel panel-default">
+                        <div class="panel-heading bg-info p-t-10 p-b-10">
+                            <span class="pull-left m-t-5">`+iconPrefix(v.image)+` &nbsp; `+v.name+`</span>
+                            <div class="clearfix"></div>
+                        </div>
+                    </div>
+                </div>
+                `;
+
+            }
+        });
+    }
+    return (splashList !== '') ? splashList : false;
+}
+function buildSplashScreen(json){
+    var items = buildSplashScreenItem(json);
+    var menu = '<li ><a onclick="$(\'.splash-screen\').removeClass(\'hidden\').addClass(\'in\')"><i class="ti-settings fa-fw"></i> <span lang="en">Splash Page</span></a></li>';
+    if(items){
+        closeSideMenu();
+        console.log("Organizr Function: Adding Splash Screen");
+        var splash = `
+        <section id="splashScreen" class="lock-screen splash-screen fade in">
+            <div class="row p-20">`+items+`</div>
+        </section>
+        `;
+        $(splash).appendTo($('body'));
+        $('.append-menu').after(menu);
+
+    }
+}
 function buildUserGroupSelect(array, userID, groupID){
 	var groupSelect = '';
 	var selected = '';
@@ -4440,6 +4484,7 @@ function launch(){
                     userMenu(json);
                     categoryProcess(json);
                     tabProcess(json);
+                    buildSplashScreen(json);
                     accountManager(json);
                     organizrSpecialSettings(json);
                     getPingList(json);