Procházet zdrojové kódy

Email Fixes and code improvements

causefx před 8 roky
rodič
revize
a06301f41e
6 změnil soubory, kde provedl 88 přidání a 50 odebrání
  1. 1 1
      check.php
  2. 1 1
      error.php
  3. 13 3
      functions.php
  4. 7 10
      homepage.php
  5. 13 12
      index.php
  6. 53 23
      settings.php

+ 1 - 1
check.php

@@ -149,7 +149,7 @@ function getFilePermission($file) {
         
     </head>
 
-    <body class="gray-bg" style="padding: 0;">
+    <body id="body-check" class="gray-bg" style="padding: 0;">
 
         <div id="main-wrapper" class="main-wrapper">
 

+ 1 - 1
error.php

@@ -62,7 +62,7 @@ $errorImage = ($codes[$status][2]) ? $codes[$status][2] : "confused";
         <link rel="stylesheet" href="<?php echo checkRootPath(dirname($_SERVER['SCRIPT_NAME'])); ?>css/style.css">
 		<style><?php customCSS(); ?></style>
     </head>
-    <body class="gray-bg" style="padding: 0;">
+    <body id="body-error" class="gray-bg" style="padding: 0;">
         <div class="main-wrapper" style="position: initial;">
             <div style="margin:0 20px; overflow:hidden">
                 <div class="table-wrapper" style="background:<?=$sidebar;?>;">

+ 13 - 3
functions.php

@@ -4580,11 +4580,10 @@ function getEmails($type = 'org'){
 }
 
 function printEmails($emails){
-	$result = '<select multiple="true" id="email-users" class="form-control">';
+	$result = '';
 	foreach($emails as $k => $v){
 		$result .= '<option value="'.$v.'">'.$k.'</option>';
 	}
-	$result .= '</select>';
 	return $result;
 }
 
@@ -4593,7 +4592,18 @@ function massEmail($to, $subject, $message){
 		$GLOBALS['file_db'] = new PDO('sqlite:'.DATABASE_LOCATION.'users.db');
 		$GLOBALS['file_db']->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 	}
-	sendEmail(null, null, $subject, orgEmail("Message From Admin", "Important Information", "There", $message, null, null, "Thank You!", "Thanks for taking the time to read this message from me."),null,$to);
+	sendEmail(null, null, $subject, orgEmail("Message From Admin", "Important Information", "There", $message, null, null, "Thank You!", "Thanks for taking the time to read this message from me."),$GLOBALS['USER']->adminEmail,$to);
+}
+
+function q2a($q){
+	if (is_array($q) || is_object($q)){
+		foreach ($q as $k => $v){
+			$a[$k] = $v;
+		}
+		if(!empty($a)){
+			return $a;
+		}
+	}
 }
 
 class Mobile_Detect

+ 7 - 10
homepage.php

@@ -55,7 +55,6 @@ foreach(loadAppearance() as $key => $value) {
         <script src="bower_components/jquery.nicescroll/jquery.nicescroll.min.js"></script>
         <script src="bower_components/slimScroll/jquery.slimscroll.min.js"></script>
         <script src="bower_components/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.js"></script>
-        <script src="bower_components/jquery.nicescroll/jquery.nicescroll.min.js"></script>
         <script src="bower_components/cta/dist/cta.min.js"></script>
         <script src="bower_components/fullcalendar/dist/fullcalendar.js?v=<?php echo INSTALLEDVERSION; ?>"></script>
         <script src="bower_components/slick/slick.js?v=<?php echo INSTALLEDVERSION; ?>"></script>
@@ -189,7 +188,7 @@ foreach(loadAppearance() as $key => $value) {
         </style>
     </head>
 
-    <body class="scroller-body" style="padding: 0px;">
+    <body id="body-homepage" class="scroller-body" style="padding: 0px;">
         <div class="main-wrapper" style="position: initial;">
             <div id="content" class="container-fluid">
                 <br/>
@@ -757,25 +756,23 @@ foreach(loadAppearance() as $key => $value) {
                     .slick('slickFilter' , '.'+filter );
             });
 
-            /*$("body").niceScroll({
-                railpadding: {top:0,right:0,left:0,bottom:0},
-                scrollspeed: 30,
-                mousescrollstep: 60
-            });*/
             $("body").niceScroll({
                 //cursorwidth: "12px"
                 scrollspeed: 30,
-                mousescrollstep: 60
+                mousescrollstep: 60,
+                grabcursorenabled: false
             });
             $(".table-responsive").niceScroll({
                 railpadding: {top:0,right:0,left:0,bottom:0},
                 scrollspeed: 30,
-                mousescrollstep: 60
+                mousescrollstep: 60,
+                grabcursorenabled: false
             });
             $(".playlist-listing").niceScroll({
                 railpadding: {top:0,right:0,left:0,bottom:0},
                 scrollspeed: 30,
-                mousescrollstep: 60
+                mousescrollstep: 60,
+                grabcursorenabled: false
             });
 
             <?php if((NZBGETURL != "" && qualifyUser(NZBGETHOMEAUTH)) || (SABNZBDURL != "" && qualifyUser(SABNZBDHOMEAUTH))){ ?>

+ 13 - 12
index.php

@@ -27,6 +27,7 @@ $action = "";
 $loadingIcon = "images/organizr-load-w-thick.gif";
 $baseURL = "";
 $dbcreated = false;
+$splash = false;
 
 // Get Action
 if(isset($_POST['action'])) {
@@ -83,8 +84,8 @@ if (file_exists('config/config.php')) {
 	$db = DATABASE_LOCATION  . constant('User::DATABASE_NAME') . ".db";
 	$file_db = new PDO("sqlite:" . $db);
 	$file_db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
-	$dbTab = $file_db->query('SELECT name FROM sqlite_master WHERE type="table" AND name="tabs"');
-	$dbOptions = $file_db->query('SELECT name FROM sqlite_master WHERE type="table" AND name="options"');
+	$dbTab = q2a($file_db->query('SELECT name FROM sqlite_master WHERE type="table" AND name="tabs"'));
+	$dbOptions = q2a($file_db->query('SELECT name FROM sqlite_master WHERE type="table" AND name="options"'));
 
 	foreach($dbTab as $row) :
 
@@ -111,13 +112,13 @@ if (file_exists('config/config.php')) {
 
 	endforeach;
 
-	if($tabSetup == "No") :
+	if($tabSetup == "No") :		
 
 		if($USER->authenticated && $USER->role == "admin") :
 
-			$result = $file_db->query('SELECT * FROM tabs WHERE active = "true" ORDER BY `order` asc');
-			$splash = $file_db->query('SELECT * FROM tabs WHERE active = "true" AND splash = "true" ORDER BY `order` asc');
-			$getsettings = $file_db->query('SELECT * FROM tabs WHERE active = "true" ORDER BY `order` asc');
+			$result = q2a($file_db->query('SELECT * FROM tabs WHERE active = "true" ORDER BY `order` asc'));
+			$splash = q2a($file_db->query('SELECT * FROM tabs WHERE active = "true" AND splash = "true" ORDER BY `order` asc'));
+			$getsettings = q2a($file_db->query('SELECT * FROM tabs WHERE active = "true" ORDER BY `order` asc'));
 
 			foreach($getsettings as $row) :
 
@@ -131,13 +132,13 @@ if (file_exists('config/config.php')) {
 
 		elseif($USER->authenticated && $USER->role == "user") :
 
-			$result = $file_db->query('SELECT * FROM tabs WHERE active = "true" AND user = "true" ORDER BY `order` asc');
-			$splash = $file_db->query('SELECT * FROM tabs WHERE active = "true" AND splash = "true" AND user = "true" ORDER BY `order` asc');
+			$result = q2a($file_db->query('SELECT * FROM tabs WHERE active = "true" AND user = "true" ORDER BY `order` asc'));
+			$splash = q2a($file_db->query('SELECT * FROM tabs WHERE active = "true" AND splash = "true" AND user = "true" ORDER BY `order` asc'));
 
 		else :
 
-			$result = $file_db->query('SELECT * FROM tabs WHERE active = "true" AND guest = "true" ORDER BY `order` asc');
-			$splash = $file_db->query('SELECT * FROM tabs WHERE active = "true" AND splash = "true" AND guest = "true" ORDER BY `order` asc');
+			$result = q2a($file_db->query('SELECT * FROM tabs WHERE active = "true" AND guest = "true" ORDER BY `order` asc'));
+			$splash = q2a($file_db->query('SELECT * FROM tabs WHERE active = "true" AND splash = "true" AND guest = "true" ORDER BY `order` asc'));
 
 		endif;
 
@@ -493,7 +494,7 @@ if(file_exists("images/settings2.png")) : $iconRotate = "false"; $settingsIcon =
 		<?php customCSS(); ?>
 	</style>
 
-	<body style="overflow: hidden">
+	<body id="body-index" style="overflow: hidden">
 
 		<?php if (LOADINGSCREEN == "true") : ?>
 		<!--Preloader-->
@@ -1039,7 +1040,7 @@ if(file_exists("images/settings2.png")) : $iconRotate = "false"; $settingsIcon =
 			</div>
 		</div>
 		<?php } ?>
-		<?php if (file_exists('config/config.php') && $configReady == "Yes" && $tabSetup == "No" && SPLASH == "true") {?>
+		<?php if (file_exists('config/config.php') && $configReady == "Yes" && $tabSetup == "No" && SPLASH == "true" && $splash) {?>
 		<div id="splashScreen" class="splash-modal modal fade">
 			<div style="background:<?=$sidebar;?>;" class="table-wrapper big-box">
 				

+ 53 - 23
settings.php

@@ -99,7 +99,7 @@ $themeVersion = (!empty(INSTALLEDTHEME) ? explode("-", INSTALLEDTHEME)[1] : null
         <script src="bower_components/metisMenu/dist/metisMenu.min.js"></script>
         <script src="bower_components/Waves/dist/waves.min.js"></script>
         <script src="bower_components/moment/min/moment.min.js"></script>
-        <script src="bower_components/jquery.nicescroll/jquery.nicescroll.min.js"></script>
+        <script src="bower_components/jquery.nicescroll/jquery.nicescroll.min.js?v=<?php echo INSTALLEDVERSION; ?>"></script>
         <script src="bower_components/slimScroll/jquery.slimscroll.min.js"></script>
         <script src="bower_components/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.js"></script>
         <script src="bower_components/cta/dist/cta.min.js"></script>
@@ -203,7 +203,6 @@ $themeVersion = (!empty(INSTALLEDTHEME) ? explode("-", INSTALLEDTHEME)[1] : null
 			}
 			button.settingsMenuActive {
 				margin-left: 0px !important;
-				color: black !important;
 				opacity: 1 !important;
 			}
 			button.settingsMenuInactive {
@@ -328,7 +327,7 @@ $themeVersion = (!empty(INSTALLEDTHEME) ? explode("-", INSTALLEDTHEME)[1] : null
         </style>
     </head>
 
-    <body class="scroller-body" style="padding: 0; background: #273238; overflow: hidden">
+    <body id="body-settings" class="scroller-body" style="padding: 0; background: #273238; overflow: hidden">
         <div id="main-wrapper" class="main-wrapper">
 
             <!--Content-->
@@ -433,7 +432,7 @@ $buildMenu = array(
 		'icon_1' => 'email',
 		'icon_2' => 'mail',
 		'color' => 'yellow',
-		'color2' => 'palette-Deep-Orange-A400 bg',
+		'color2' => 'palette-Pink-A700 bg',
 		'padding' => '2',
 	),
 	array(
@@ -1931,15 +1930,18 @@ echo buildSettings(
                                    
 
                                         <div class="mail-header">
-                                            <p><button class="btn btn-success waves generateEmails">Choose Users</button></p>
-                                            <div class="form-group" id="emailSelect">
-                                                
+                                            <p>
+                                                <button class="btn btn-success waves generateEmails">Choose Users</button>
+                                                <button id="selectAllEmail" style="display: none;" class="btn btn-success waves">Select All</button>
+                                            </p>
+                                            <div style="display: none;"class="form-group" id="emailSelect">
+                                            <select multiple="true" size="10" id="email-users" class="form-control"></select>
                                             </div>
                                             <div class="form-group">
-                                                <input type="text" class="form-control" id="mailTo" placeholder="To">
+                                                <input type="text" class="form-control material" id="mailTo" placeholder="To">
                                             </div>
                                             <div class="form-group">
-                                                <input type="text" class="form-control" id="subject" placeholder="Subject">
+                                                <input type="text" class="form-control material" id="subject" placeholder="Subject">
                                             </div>
                                         </div>
 
@@ -2827,17 +2829,34 @@ echo buildSettings(
                 $('.generateEmails').text("Loading...");
                 ajax_request('POST', 'get-emails', {type : 'plex'}).done(function(data){
                     console.log('start');
-                    $('#emailSelect').html(data);
-                    $("#email-users").niceScroll({
-                        railpadding: {top:0,right:0,left:0,bottom:0}
-                    });
-                    $('#email-users').change(function(e) {
-                        var selected = $(e.target).val();
-                        $('#mailTo').val(selected);
-                    }); 
+                    $('#email-users').html(data);
+                    $('#emailSelect').show();
                     $('.generateEmails').hide();
+                    $('#selectAllEmail').show();
                 });
-            })
+            });
+            $(function() {
+                /*$("#email-users").niceScroll({
+                    cursorwidth: "12px",
+                    railpadding: {top:0,right:0,left:0,bottom:0},
+                    scrollspeed: 30,
+                    mousescrollstep: 60,
+                    grabcursorenabled: false,
+                    autohidemode: false
+                });*/
+                $('#email-users').slimScroll({
+                    width: '100%',
+                    railVisible: true,
+                    alwaysVisible: true,
+                    allowPageScroll: true
+                });
+            });
+
+            $("#email-users").on('change click', function (e) {
+                var selected = $("#email-users").val();
+                $('#mailTo').val(selected);
+                console.log(selected);
+            });
             $("#sendEmail").click(function() {
                 var to = $('#mailTo').val();
                 var subject = $('#subject').val();
@@ -2852,6 +2871,12 @@ echo buildSettings(
                 });
 
             })
+            $('#selectAllEmail').click(function() {
+                $('#email-users option').prop('selected', true);
+                var selected = $("#email-users").val();
+                $('#mailTo').val(selected);
+                console.log(selected);
+            });
             //IP INFO
             $(".ipInfo").click(function(){
                 $.getJSON("https://ipinfo.io/"+$(this).text()+"/?token=<?php echo IPINFOTOKEN;?>", function (response) {
@@ -3688,21 +3713,26 @@ echo buildSettings(
             $( "div[class^='jFiler jFiler-theme-dragdropbox']" ).hide();
             //Set Some Scrollbars
 			$(".note-editable panel-body").niceScroll({
-                railpadding: {top:0,right:0,left:0,bottom:0}
+                railpadding: {top:0,right:0,left:0,bottom:0},
+                grabcursorenabled: false
             });
             $(".scroller-body").niceScroll({
-                railpadding: {top:0,right:0,left:0,bottom:0}
+                railpadding: {top:0,right:0,left:0,bottom:0},
+                grabcursorenabled: false
             });
             $(".email-content").niceScroll({
-                railpadding: {top:0,right:0,left:0,bottom:0}
+                railpadding: {top:0,right:0,left:0,bottom:0},
+                grabcursorenabled: false
             });
             $("textarea").niceScroll({
-                railpadding: {top:0,right:0,left:0,bottom:0}
+                railpadding: {top:0,right:0,left:0,bottom:0},
+                grabcursorenabled: false
             });
 			$(".iconpicker-items").niceScroll({
 				railpadding: {top:0,right:0,left:0,bottom:0},
 				scrollspeed: 30,
-                mousescrollstep: 60
+                mousescrollstep: 60,
+                grabcursorenabled: false
             });
             //Stop Div behind From Scrolling
             $( '.email-content' ).on( 'mousewheel', function ( e ) {