Browse Source

Try and fix double logins

causefx 7 years ago
parent
commit
548f808005
5 changed files with 39 additions and 32 deletions
  1. 1 1
      api/functions/api-functions.php
  2. 1 1
      api/functions/token-functions.php
  3. 36 30
      js/custom.js
  4. 0 0
      js/custom.min.js
  5. 1 0
      js/functions.js

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

@@ -130,7 +130,7 @@ function login($array)
 					ssoCheck($username, $password, $token); //need to work on this
 					return true;
 				} else {
-					return 'error';
+					return 'Token Creation Error';
 				}
 			} else {
 				// Create User

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

@@ -94,7 +94,7 @@ function createToken($username, $email, $image, $group, $groupID, $key, $days =
 		$database->query('INSERT INTO [tokens]', $addToken);
 		return $jwttoken;
 	} catch (Dibi\Exception $e) {
-		writeLog('error', $e, 'SYSTEM');
+		writeLog('error', 'Token Error: ' . $e, 'SYSTEM');
 		return false;
 	}
 }

+ 36 - 30
js/custom.js

@@ -337,37 +337,43 @@ function doneTypingMediaSearch () {
 }
 $(document).on("click", ".login-button", function(e) {
     e.preventDefault;
-    $('div.login-box').block({
-        message: '<h5><img width="20" src="plugins/images/busy.gif" /> Just a moment...</h4>',
-        css: {
-            color: '#fff',
-            border: '1px solid #2cabe3',
-            backgroundColor: '#2cabe3'
-        }
-    });
-    var post = $( '#loginform' ).serializeArray();
-    organizrAPI('POST','api/?v1/login',post).success(function(data) {
-        var html = JSON.parse(data);
-        if(html.data == true){
-            location.reload();
-        }else if(html.data == 'mismatch') {
-            $('div.login-box').unblock({});
-            message('Login Error', ' Wrong username/email/password combo', activeInfo.settings.notifications.position, '#FFF', 'warning', '10000');
-            console.error('Organizr Function: Login failed - wrong username/email/password');
-        }else if(html.data == '2FA'){
-            $('div.login-box').unblock({});
-            $('#tfa-div').removeClass('hidden');
-            $('#loginform [name=tfaCode]').focus()
-        }else{
+    var check = (local('g','loggingIn'));
+    if(check == null) {
+        local('s','loggingIn', true);
+        $('div.login-box').block({
+            message: '<h5><img width="20" src="plugins/images/busy.gif" /> Just a moment...</h4>',
+            css: {
+                color: '#fff',
+                border: '1px solid #2cabe3',
+                backgroundColor: '#2cabe3'
+            }
+        });
+        var post = $('#loginform').serializeArray();
+        organizrAPI('POST', 'api/?v1/login', post).success(function (data) {
+            var html = JSON.parse(data);
+            if (html.data == true) {
+                location.reload();
+            } else if (html.data == 'mismatch') {
+                $('div.login-box').unblock({});
+                message('Login Error', ' Wrong username/email/password combo', activeInfo.settings.notifications.position, '#FFF', 'warning', '10000');
+                console.error('Organizr Function: Login failed - wrong username/email/password');
+            } else if (html.data == '2FA') {
+                $('div.login-box').unblock({});
+                $('#tfa-div').removeClass('hidden');
+                $('#loginform [name=tfaCode]').focus()
+            } else {
+                $('div.login-box').unblock({});
+                message('Login Error', html.data, activeInfo.settings.notifications.position, '#FFF', 'warning', '10000');
+                console.error('Organizr Function: Login failed');
+            }
+            local('r','loggingIn');
+        }).fail(function (xhr) {
             $('div.login-box').unblock({});
-            message('Login Error',html.data,activeInfo.settings.notifications.position,'#FFF','warning','10000');
-            console.error('Organizr Function: Login failed');
-        }
-    }).fail(function(xhr) {
-        $('div.login-box').unblock({});
-        message('Login Error','API Connection Failed',activeInfo.settings.notifications.position,'#FFF','warning','10000');
-        console.error("Organizr Function: API Connection Failed");
-    });
+            message('Login Error', 'API Connection Failed', activeInfo.settings.notifications.position, '#FFF', 'warning', '10000');
+            console.error("Organizr Function: API Connection Failed");
+            local('r','loggingIn');
+        });
+    }
 });
 $(document).on("click", ".unlockButton", function(e) {
     e.preventDefault;

File diff suppressed because it is too large
+ 0 - 0
js/custom.min.js


+ 1 - 0
js/functions.js

@@ -17,6 +17,7 @@ var timeouts = {};
 // Start Organizr
 $(document).ready(function () {
     launch();
+    local('r','loggingIn');
 });
 /* NORMAL FUNCTIONS */
 function setLangCookie(lang){

Some files were not shown because too many files changed in this diff