Explorar el Código

added refresh image on posters
testing out Code Beautifier

causefx hace 8 años
padre
commit
c9b82b7527
Se han modificado 5 ficheros con 632 adiciones y 565 borrados
  1. 206 188
      api/functions/api-functions.php
  2. 392 368
      api/functions/organizr-functions.php
  3. 7 0
      css/organizr.css
  4. 17 3
      js/custom.js
  5. 10 6
      js/functions.js

+ 206 - 188
api/functions/api-functions.php

@@ -1,16 +1,17 @@
 <?php
 
-function login($array){
+function login($array)
+{
     // Grab username and Password from login form
     foreach ($array['data'] as $items) {
         foreach ($items as $key => $value) {
-            if($key == 'name'){
+            if ($key == 'name') {
                 $newKey = $value;
             }
-            if($key == 'value'){
+            if ($key == 'value') {
                 $newValue = $value;
             }
-            if(isset($newKey) && isset($newValue)){
+            if (isset($newKey) && isset($newValue)) {
                 $$newKey = $newValue;
             }
         }
@@ -18,82 +19,84 @@ function login($array){
     $username = strtolower($username);
     $days = (isset($remember)) ? 7 : 1;
     try {
-    	$database = new Dibi\Connection([
-    		'driver' => 'sqlite3',
-    		'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
-    	]);
+        $database = new Dibi\Connection([
+            'driver' => 'sqlite3',
+            'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
+        ]);
         $authSuccess = false;
-    	$function = 'plugin_auth_'.$GLOBALS['authBackend'];
-        $result = $database->fetch('SELECT * FROM users WHERE username = ? COLLATE NOCASE OR email = ? COLLATE NOCASE',$username,$username);
-    	switch ($GLOBALS['authType']) {
-    		case 'external':
-    			if (function_exists($function)) {
-    				$authSuccess = $function($username, $password);
-    			}
-    			break;
-    		case 'both':
-    			if (function_exists($function)) {
-    				$authSuccess = $function($username, $password);
-    			}
-    		default: // Internal
-    			if (!$authSuccess) {
-    				// perform the internal authentication step
-    				if(password_verify($password, $result['password'])){
+        $function = 'plugin_auth_'.$GLOBALS['authBackend'];
+        $result = $database->fetch('SELECT * FROM users WHERE username = ? COLLATE NOCASE OR email = ? COLLATE NOCASE', $username, $username);
+        switch ($GLOBALS['authType']) {
+            case 'external':
+                if (function_exists($function)) {
+                    $authSuccess = $function($username, $password);
+                }
+                break;
+            case 'both':
+                if (function_exists($function)) {
+                    $authSuccess = $function($username, $password);
+                }
+                // no break
+            default: // Internal
+                if (!$authSuccess) {
+                    // perform the internal authentication step
+                    if (password_verify($password, $result['password'])) {
                         $authSuccess = true;
                     }
-    			}
-    	}
+                }
+        }
         if ($authSuccess) {
-			// Make sure user exists in database
-			$userExists = false;
+            // Make sure user exists in database
+            $userExists = false;
             $token = (is_array($authSuccess) && isset($authSuccess['token']) ? $authSuccess['token'] : '');
-            if($result['username']){
+            if ($result['username']) {
                 $userExists = true;
-				$username = $result['username'];
+                $username = $result['username'];
                 $passwordMatches = (password_verify($password, $result['password'])) ? true : false;
             }
-			if ($userExists) {
+            if ($userExists) {
                 //does org password need to be updated
-                if(!$passwordMatches){
+                if (!$passwordMatches) {
                     $database->query('
                     	UPDATE users SET', [
-                    		'password' => password_hash($password, PASSWORD_BCRYPT)
-                    	], '
+                            'password' => password_hash($password, PASSWORD_BCRYPT)
+                        ], '
                     	WHERE id=?', $result['id']);
                     writeLog('success', 'Login Function - User Password updated from backend', $username);
                 }
-				// authentication passed - 1) mark active and update token
-                if(createToken($result['username'],$result['email'],$result['image'],$result['group'],$result['group_id'],$GLOBALS['organizrHash'],$days)){
+                // authentication passed - 1) mark active and update token
+                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);
                     ssoCheck($username, $password, $token); //need to work on this
                     return true;
-                }else{
+                } else {
                     return 'error';
                 }
-			} else {
-				// Create User
+            } else {
+                // Create User
                 ssoCheck($username, $password, $token);
-                return authRegister((is_array($authSuccess) && isset($authSuccess['username']) ? $authSuccess['username'] : $username),$password,'',(is_array($authSuccess) && isset($authSuccess['email']) ? $authSuccess['email'] : ''));
-			}
-		} else {
-			// authentication failed
+                return authRegister((is_array($authSuccess) && isset($authSuccess['username']) ? $authSuccess['username'] : $username), $password, '', (is_array($authSuccess) && isset($authSuccess['email']) ? $authSuccess['email'] : ''));
+            }
+        } else {
+            // authentication failed
             writeLoginLog($username, 'error');
             writeLog('error', 'Login Function - Wrong Password', $username);
-			return 'mismatch';
-		}
+            return 'mismatch';
+        }
     } catch (Dibi\Exception $e) {
-    	return 'error';
+        return 'error';
     }
 }
-function createDB($path,$filename) {
+function createDB($path, $filename)
+{
     try {
-    	$createDB = new Dibi\Connection([
-    		'driver' => 'sqlite3',
-    		'database' => $path.$filename,
-    	]);
+        $createDB = new Dibi\Connection([
+            'driver' => 'sqlite3',
+            'database' => $path.$filename,
+        ]);
         // Create Users
-    	$users = $createDB->query('CREATE TABLE `users` (
+        $users = $createDB->query('CREATE TABLE `users` (
     		`id`	INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE,
     		`username`	TEXT UNIQUE,
     		`password`	TEXT,
@@ -129,8 +132,8 @@ function createDB($path,$filename) {
     		`image`	TEXT,
             `default` INTEGER
     	);');
-    	// Create Tabs
-    	$tabs = $createDB->query('CREATE TABLE `tabs` (
+        // Create Tabs
+        $tabs = $createDB->query('CREATE TABLE `tabs` (
     		`id`	INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE,
     		`order`	INTEGER,
     		`category_id`	INTEGER,
@@ -146,14 +149,14 @@ function createDB($path,$filename) {
     		`ping`		INTEGER,
     		`ping_url`	TEXT
     	);');
-    	// Create Options
-    	$options = $createDB->query('CREATE TABLE `options` (
+        // Create Options
+        $options = $createDB->query('CREATE TABLE `options` (
     		`id`	INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE,
     		`name`	TEXT UNIQUE,
     		`value`	TEXT
     	);');
-    	// Create Invites
-    	$invites = $createDB->query('CREATE TABLE `invites` (
+        // Create Invites
+        $invites = $createDB->query('CREATE TABLE `invites` (
     		`id`	INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE,
     		`code`	TEXT UNIQUE,
     		`date`	TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
@@ -171,23 +174,24 @@ function createDB($path,$filename) {
     }
 }
 // Upgrade Database
-function updateDB($path,$filename,$oldVerNum = false) {
+function updateDB($path, $filename, $oldVerNum = false)
+{
     try {
         $connect = new Dibi\Connection([
             'driver' => 'sqlite3',
             'database' => $path.$filename,
         ]);
         // Cache current DB
-    	$cache = array();
-    	foreach($connect->query('SELECT name FROM sqlite_master WHERE type="table";') as $table) {
-    		foreach($connect->query('SELECT * FROM '.$table['name'].';') as $key => $row) {
-    			foreach($row as $k => $v) {
-    				if (is_string($k)) {
-    					$cache[$table['name']][$key][$k] = $v;
-    				}
-    			}
-    		}
-    	}
+        $cache = array();
+        foreach ($connect->query('SELECT name FROM sqlite_master WHERE type="table";') as $table) {
+            foreach ($connect->query('SELECT * FROM '.$table['name'].';') as $key => $row) {
+                foreach ($row as $k => $v) {
+                    if (is_string($k)) {
+                        $cache[$table['name']][$key][$k] = $v;
+                    }
+                }
+            }
+        }
         $connect->disconnect();
     } catch (Dibi\Exception $e) {
         return $e;
@@ -199,7 +203,7 @@ function updateDB($path,$filename,$oldVerNum = false) {
         unlink($path.$filename);
     }
     // Create New Database
-    $success = createDB($path,$filename);
+    $success = createDB($path, $filename);
     try {
         $GLOBALS['connect'] = new Dibi\Connection([
             'driver' => 'sqlite3',
@@ -208,17 +212,17 @@ function updateDB($path,$filename,$oldVerNum = false) {
 
         // Restore Items
         if ($success) {
-            foreach($cache as $table => $tableData) {
+            foreach ($cache as $table => $tableData) {
                 if ($tableData) {
-                    $queryBase = 'INSERT INTO '.$table.' (`'.implode('`,`',array_keys(current($tableData))).'`) values ';
+                    $queryBase = 'INSERT INTO '.$table.' (`'.implode('`,`', array_keys(current($tableData))).'`) values ';
                     $insertValues = array();
                     reset($tableData);
-                    foreach($tableData as $key => $value) {
-                        $insertValues[] = '('.implode(',',array_map(function($d) {
-                            return (isset($d)?str_replace('\/', '/',json_encode($d)):'null');
+                    foreach ($tableData as $key => $value) {
+                        $insertValues[] = '('.implode(',', array_map(function ($d) {
+                            return (isset($d)?str_replace('\/', '/', json_encode($d)):'null');
                         }, $value)).')';
                     }
-                    $GLOBALS['connect']->query($queryBase.implode(',',$insertValues).';');
+                    $GLOBALS['connect']->query($queryBase.implode(',', $insertValues).';');
                 }
             }
         }
@@ -227,12 +231,13 @@ function updateDB($path,$filename,$oldVerNum = false) {
         return $e;
     }
 }
-function createFirstAdmin($path,$filename,$username,$password,$email) {
+function createFirstAdmin($path, $filename, $username, $password, $email)
+{
     try {
-    	$createDB = new Dibi\Connection([
-    		'driver' => 'sqlite3',
-    		'database' => $path.$filename,
-    	]);
+        $createDB = new Dibi\Connection([
+            'driver' => 'sqlite3',
+            'database' => $path.$filename,
+        ]);
         $userInfo = [
             'username' => $username,
             'password'  => password_hash($password, PASSWORD_BCRYPT),
@@ -304,7 +309,7 @@ function createFirstAdmin($path,$filename,$username,$password,$email) {
             'order' => 1,
             'category' => 'Unsorted',
             'category_id' => 0,
-			'image' => 'plugins/images/categories/unsorted.png',
+            'image' => 'plugins/images/categories/unsorted.png',
             'default' => true
         ];
         $createDB->query('INSERT INTO [users]', $userInfo);
@@ -323,43 +328,46 @@ function createFirstAdmin($path,$filename,$username,$password,$email) {
         return false;
     }
 }
-function defaultUserGroup(){
+function defaultUserGroup()
+{
     try {
-    	$connect = new Dibi\Connection([
-    		'driver' => 'sqlite3',
-    		'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
-    	]);
+        $connect = new Dibi\Connection([
+            'driver' => 'sqlite3',
+            'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
+        ]);
         $all = $connect->fetch('SELECT * FROM groups WHERE `default` = 1');
         return $all;
     } catch (Dibi\Exception $e) {
         return false;
     }
 }
-function defaulTabCategory(){
+function defaulTabCategory()
+{
     try {
-    	$connect = new Dibi\Connection([
-    		'driver' => 'sqlite3',
-    		'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
-    	]);
+        $connect = new Dibi\Connection([
+            'driver' => 'sqlite3',
+            'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
+        ]);
         $all = $connect->fetch('SELECT * FROM categories WHERE `default` = 1');
         return $all;
     } catch (Dibi\Exception $e) {
         return false;
     }
 }
-function getGuest(){
-    if(isset($GLOBALS['dbLocation'])){
+function getGuest()
+{
+    if (isset($GLOBALS['dbLocation'])) {
         try {
-        	$connect = new Dibi\Connection([
-        		'driver' => 'sqlite3',
-        		'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
-        	]);
+            $connect = new Dibi\Connection([
+                'driver' => 'sqlite3',
+                'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
+            ]);
             $all = $connect->fetch('SELECT * FROM groups WHERE `group` = "Guest"');
             return $all;
         } catch (Dibi\Exception $e) {
             return false;
         }
-    }else{
+    } else {
         return array(
             'group' => 'Guest',
             'group_id' => 999,
@@ -367,7 +375,8 @@ function getGuest(){
         );
     }
 }
-function adminEditGroup($array){
+function adminEditGroup($array)
+{
     switch ($array['data']['action']) {
         case 'changeDefaultGroup':
             try {
@@ -378,10 +387,10 @@ function adminEditGroup($array){
                 $connect->query('UPDATE groups SET `default` = 0');
                 $connect->query('
                 	UPDATE groups SET', [
-                		'default' => 1
-                	], '
+                        'default' => 1
+                    ], '
                 	WHERE id=?', $array['data']['id']);
-                    writeLog('success', 'Group Management Function -  Changed Default Group from ['.$array['data']['oldGroupName'].'] to ['.$array['data']['newGroupName'].']', $GLOBALS['organizrUser']['username']);
+                writeLog('success', 'Group Management Function -  Changed Default Group from ['.$array['data']['oldGroupName'].'] to ['.$array['data']['newGroupName'].']', $GLOBALS['organizrUser']['username']);
                 return true;
             } catch (Dibi\Exception $e) {
                 return false;
@@ -394,7 +403,7 @@ function adminEditGroup($array){
                     'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
                 ]);
                 $connect->query('DELETE FROM groups WHERE id = ?', $array['data']['id']);
-                    writeLog('success', 'Group Management Function -  Deleted Group ['.$array['data']['groupName'].']', $GLOBALS['organizrUser']['username']);
+                writeLog('success', 'Group Management Function -  Deleted Group ['.$array['data']['groupName'].']', $GLOBALS['organizrUser']['username']);
                 return true;
             } catch (Dibi\Exception $e) {
                 return false;
@@ -413,7 +422,7 @@ function adminEditGroup($array){
                     'image' => $array['data']['newGroupImage'],
                 ];
                 $connect->query('INSERT INTO [groups]', $newGroup);
-                    writeLog('success', 'Group Management Function -  Added Group ['.$array['data']['newGroupName'].']', $GLOBALS['organizrUser']['username']);
+                writeLog('success', 'Group Management Function -  Added Group ['.$array['data']['newGroupName'].']', $GLOBALS['organizrUser']['username']);
                 return true;
             } catch (Dibi\Exception $e) {
                 return false;
@@ -428,10 +437,10 @@ function adminEditGroup($array){
                 $connect->query('
                 	UPDATE groups SET', [
                         'group' => $array['data']['groupName'],
-                		'image' => $array['data']['groupImage'],
-                	], '
+                        'image' => $array['data']['groupImage'],
+                    ], '
                 	WHERE id=?', $array['data']['id']);
-                    writeLog('success', 'Group Management Function -  Edited Group Info for ['.$array['data']['oldGroupName'].']', $GLOBALS['organizrUser']['username']);
+                writeLog('success', 'Group Management Function -  Edited Group Info for ['.$array['data']['oldGroupName'].']', $GLOBALS['organizrUser']['username']);
                 return true;
             } catch (Dibi\Exception $e) {
                 return false;
@@ -442,7 +451,8 @@ function adminEditGroup($array){
             break;
     }
 }
-function adminEditUser($array){
+function adminEditUser($array)
+{
     switch ($array['data']['action']) {
         case 'changeGroup':
             try {
@@ -452,11 +462,11 @@ function adminEditUser($array){
                 ]);
                 $connect->query('
                 	UPDATE users SET', [
-                		'group' => $array['data']['newGroupName'],
-                		'group_id' => $array['data']['newGroupID'],
-                	], '
+                        'group' => $array['data']['newGroupName'],
+                        'group_id' => $array['data']['newGroupID'],
+                    ], '
                 	WHERE id=?', $array['data']['id']);
-                    writeLog('success', 'User Management Function - User: '.$array['data']['username'].'\'s group was changed from ['.$array['data']['oldGroup'].'] to ['.$array['data']['newGroupName'].']', $GLOBALS['organizrUser']['username']);
+                writeLog('success', 'User Management Function - User: '.$array['data']['username'].'\'s group was changed from ['.$array['data']['oldGroup'].'] to ['.$array['data']['newGroupName'].']', $GLOBALS['organizrUser']['username']);
                 return true;
             } catch (Dibi\Exception $e) {
                 writeLog('error', 'User Management Function - Error - User: '.$array['data']['username'].'\'s group was changed from ['.$array['data']['oldGroup'].'] to ['.$array['data']['newGroupName'].']', $GLOBALS['organizrUser']['username']);
@@ -469,14 +479,14 @@ function adminEditUser($array){
                     'driver' => 'sqlite3',
                     'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
                 ]);
-                if(!usernameTakenExcept($array['data']['username'],$array['data']['email'],$array['data']['id'])){
+                if (!usernameTakenExcept($array['data']['username'], $array['data']['email'], $array['data']['id'])) {
                     $connect->query('
                         UPDATE users SET', [
                             'username' => $array['data']['username'],
                             'email' => $array['data']['email'],
                         ], '
                         WHERE id=?', $array['data']['id']);
-                    if(!empty($array['data']['password'])){
+                    if (!empty($array['data']['password'])) {
                         $connect->query('
                             UPDATE users SET', [
                                 'password' => password_hash($array['data']['password'], PASSWORD_BCRYPT)
@@ -485,7 +495,7 @@ function adminEditUser($array){
                     }
                     writeLog('success', 'User Management Function - User: '.$array['data']['username'].'\'s info was changed', $GLOBALS['organizrUser']['username']);
                     return true;
-                }else{
+                } else {
                     return false;
                 }
             } catch (Dibi\Exception $e) {
@@ -495,10 +505,10 @@ function adminEditUser($array){
             break;
         case 'addNewUser':
             $defaults = defaultUserGroup();
-            if(createUser($array['data']['username'],$array['data']['password'],$defaults,$array['data']['email'])){
+            if (createUser($array['data']['username'], $array['data']['password'], $defaults, $array['data']['email'])) {
                 writeLog('success', 'Create User Function - Acount created for ['.$array['data']['username'].']', $GLOBALS['organizrUser']['username']);
                 return true;
-            }else{
+            } else {
                 writeLog('error', 'Registration Function - An error occured', $GLOBALS['organizrUser']['username']);
                 return 'username taken';
             }
@@ -510,7 +520,7 @@ function adminEditUser($array){
                     'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
                 ]);
                 $connect->query('DELETE FROM users WHERE id = ?', $array['data']['id']);
-                    writeLog('success', 'User Management Function -  Deleted User ['.$array['data']['username'].']', $GLOBALS['organizrUser']['username']);
+                writeLog('success', 'User Management Function -  Deleted User ['.$array['data']['username'].']', $GLOBALS['organizrUser']['username']);
                 return true;
             } catch (Dibi\Exception $e) {
                 return false;
@@ -521,7 +531,8 @@ function adminEditUser($array){
             break;
     }
 }
-function editTabs($array){
+function editTabs($array)
+{
     switch ($array['data']['action']) {
         case 'changeGroup':
             try {
@@ -531,10 +542,10 @@ function editTabs($array){
                 ]);
                 $connect->query('
                 	UPDATE tabs SET', [
-                		'group_id' => $array['data']['newGroupID'],
-                	], '
+                        'group_id' => $array['data']['newGroupID'],
+                    ], '
                 	WHERE id=?', $array['data']['id']);
-                    writeLog('success', 'Tab Editor Function - Tab: '.$array['data']['tab'].'\'s group was changed to ['.$array['data']['newGroupName'].']', $GLOBALS['organizrUser']['username']);
+                writeLog('success', 'Tab Editor Function - Tab: '.$array['data']['tab'].'\'s group was changed to ['.$array['data']['newGroupName'].']', $GLOBALS['organizrUser']['username']);
                 return true;
             } catch (Dibi\Exception $e) {
                 return false;
@@ -551,7 +562,7 @@ function editTabs($array){
                             'category_id' => $array['data']['newCategoryID'],
                         ], '
                         WHERE id=?', $array['data']['id']);
-                        writeLog('success', 'Tab Editor Function - Tab: '.$array['data']['tab'].'\'s category was changed to ['.$array['data']['newCategoryName'].']', $GLOBALS['organizrUser']['username']);
+                    writeLog('success', 'Tab Editor Function - Tab: '.$array['data']['tab'].'\'s category was changed to ['.$array['data']['newCategoryName'].']', $GLOBALS['organizrUser']['username']);
                     return true;
                 } catch (Dibi\Exception $e) {
                     return false;
@@ -568,7 +579,7 @@ function editTabs($array){
                             'type' => $array['data']['newTypeID'],
                         ], '
                         WHERE id=?', $array['data']['id']);
-                        writeLog('success', 'Tab Editor Function - Tab: '.$array['data']['tab'].'\'s type was changed to ['.$array['data']['newTypeName'].']', $GLOBALS['organizrUser']['username']);
+                    writeLog('success', 'Tab Editor Function - Tab: '.$array['data']['tab'].'\'s type was changed to ['.$array['data']['newTypeName'].']', $GLOBALS['organizrUser']['username']);
                     return true;
                 } catch (Dibi\Exception $e) {
                     return false;
@@ -585,7 +596,7 @@ function editTabs($array){
                             'enabled' => $array['data']['tabEnabled'],
                         ], '
                         WHERE id=?', $array['data']['id']);
-                        writeLog('success', 'Tab Editor Function - Tab: '.$array['data']['tab'].'\'s enable status was changed to ['.$array['data']['tabEnabledWord'].']', $GLOBALS['organizrUser']['username']);
+                    writeLog('success', 'Tab Editor Function - Tab: '.$array['data']['tab'].'\'s enable status was changed to ['.$array['data']['tabEnabledWord'].']', $GLOBALS['organizrUser']['username']);
                     return true;
                 } catch (Dibi\Exception $e) {
                     return false;
@@ -602,7 +613,7 @@ function editTabs($array){
                             'splash' => $array['data']['tabSplash'],
                         ], '
                         WHERE id=?', $array['data']['id']);
-                        writeLog('success', 'Tab Editor Function - Tab: '.$array['data']['tab'].'\'s splash status was changed to ['.$array['data']['tabSplashWord'].']', $GLOBALS['organizrUser']['username']);
+                    writeLog('success', 'Tab Editor Function - Tab: '.$array['data']['tab'].'\'s splash status was changed to ['.$array['data']['tabSplashWord'].']', $GLOBALS['organizrUser']['username']);
                     return true;
                 } catch (Dibi\Exception $e) {
                     return false;
@@ -620,7 +631,7 @@ function editTabs($array){
                         'default' => 1
                     ], '
                     WHERE id=?', $array['data']['id']);
-                    writeLog('success', 'Tab Editor Function -  Changed Default Tab to ['.$array['data']['tab'].']', $GLOBALS['organizrUser']['username']);
+                writeLog('success', 'Tab Editor Function -  Changed Default Tab to ['.$array['data']['tab'].']', $GLOBALS['organizrUser']['username']);
                 return true;
             } catch (Dibi\Exception $e) {
                 return false;
@@ -633,7 +644,7 @@ function editTabs($array){
                     'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
                 ]);
                 $connect->query('DELETE FROM tabs WHERE id = ?', $array['data']['id']);
-                    writeLog('success', 'Tab Editor Function -  Deleted Tab ['.$array['data']['tab'].']', $GLOBALS['organizrUser']['username']);
+                writeLog('success', 'Tab Editor Function -  Deleted Tab ['.$array['data']['tab'].']', $GLOBALS['organizrUser']['username']);
                 return true;
             } catch (Dibi\Exception $e) {
                 return false;
@@ -652,7 +663,7 @@ function editTabs($array){
                         'image' => $array['data']['tabImage'],
                     ], '
                     WHERE id=?', $array['data']['id']);
-                    writeLog('success', 'Tab Editor Function -  Edited Tab Info for ['.$array['data']['tabName'].']', $GLOBALS['organizrUser']['username']);
+                writeLog('success', 'Tab Editor Function -  Edited Tab Info for ['.$array['data']['tabName'].']', $GLOBALS['organizrUser']['username']);
                 return true;
             } catch (Dibi\Exception $e) {
                 return false;
@@ -664,13 +675,13 @@ function editTabs($array){
                     'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
                 ]);
                 foreach ($array['data']['tabs']['tab'] as $key => $value) {
-                    if($value['order'] != $value['originalOrder']){
+                    if ($value['order'] != $value['originalOrder']) {
                         $connect->query('
                             UPDATE tabs SET', [
                                 'order' => $value['order'],
                             ], '
                             WHERE id=?', $value['id']);
-                            writeLog('success', 'Tab Editor Function - '.$value['name'].' Order Changed From '.$value['order'].' to '.$value['originalOrder'], $GLOBALS['organizrUser']['username']);
+                        writeLog('success', 'Tab Editor Function - '.$value['name'].' Order Changed From '.$value['order'].' to '.$value['originalOrder'], $GLOBALS['organizrUser']['username']);
                     }
                 }
                 writeLog('success', 'Tab Editor Function - Tab Order Changed', $GLOBALS['organizrUser']['username']);
@@ -711,7 +722,7 @@ function editTabs($array){
                     'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
                 ]);
                 $connect->query('DELETE FROM tabs WHERE id = ?', $array['data']['id']);
-                    writeLog('success', 'Tab Editor Function -  Deleted Tab ['.$array['data']['name'].']', $GLOBALS['organizrUser']['username']);
+                writeLog('success', 'Tab Editor Function -  Deleted Tab ['.$array['data']['name'].']', $GLOBALS['organizrUser']['username']);
                 return true;
             } catch (Dibi\Exception $e) {
                 return false;
@@ -722,7 +733,8 @@ function editTabs($array){
             break;
     }
 }
-function editCategories($array){
+function editCategories($array)
+{
     switch ($array['data']['action']) {
         case 'changeDefault':
             try {
@@ -733,10 +745,10 @@ function editCategories($array){
                 $connect->query('UPDATE categories SET `default` = 0');
                 $connect->query('
                 	UPDATE categories SET', [
-                		'default' => 1
-                	], '
+                        'default' => 1
+                    ], '
                 	WHERE id=?', $array['data']['id']);
-                    writeLog('success', 'Category Editor Function -  Changed Default Category from ['.$array['data']['oldCategoryName'].'] to ['.$array['data']['newCategoryName'].']', $GLOBALS['organizrUser']['username']);
+                writeLog('success', 'Category Editor Function -  Changed Default Category from ['.$array['data']['oldCategoryName'].'] to ['.$array['data']['newCategoryName'].']', $GLOBALS['organizrUser']['username']);
                 return true;
             } catch (Dibi\Exception $e) {
                 return false;
@@ -749,7 +761,7 @@ function editCategories($array){
                     'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
                 ]);
                 $connect->query('DELETE FROM categories WHERE id = ?', $array['data']['id']);
-                    writeLog('success', 'Category Editor Function -  Deleted Category ['.$array['data']['category'].']', $GLOBALS['organizrUser']['username']);
+                writeLog('success', 'Category Editor Function -  Deleted Category ['.$array['data']['category'].']', $GLOBALS['organizrUser']['username']);
                 return true;
             } catch (Dibi\Exception $e) {
                 return false;
@@ -769,7 +781,7 @@ function editCategories($array){
                     'image' => $array['data']['categoryImage'],
                 ];
                 $connect->query('INSERT INTO [categories]', $newCategory);
-                    writeLog('success', 'Category Editor Function -  Added Category ['.$array['data']['categoryName'].']', $GLOBALS['organizrUser']['username']);
+                writeLog('success', 'Category Editor Function -  Added Category ['.$array['data']['categoryName'].']', $GLOBALS['organizrUser']['username']);
                 return true;
             } catch (Dibi\Exception $e) {
                 return $e;
@@ -784,10 +796,10 @@ function editCategories($array){
                 $connect->query('
                 	UPDATE categories SET', [
                         'category' => $array['data']['name'],
-                		'image' => $array['data']['image'],
-                	], '
+                        'image' => $array['data']['image'],
+                    ], '
                 	WHERE id=?', $array['data']['id']);
-                    writeLog('success', 'Category Editor Function -  Edited Category Info for ['.$array['data']['name'].']', $GLOBALS['organizrUser']['username']);
+                writeLog('success', 'Category Editor Function -  Edited Category Info for ['.$array['data']['name'].']', $GLOBALS['organizrUser']['username']);
                 return true;
             } catch (Dibi\Exception $e) {
                 return false;
@@ -800,13 +812,13 @@ function editCategories($array){
                     'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
                 ]);
                 foreach ($array['data']['categories']['category'] as $key => $value) {
-                    if($value['order'] != $value['originalOrder']){
+                    if ($value['order'] != $value['originalOrder']) {
                         $connect->query('
                             UPDATE categories SET', [
                                 'order' => $value['order'],
                             ], '
                             WHERE id=?', $value['id']);
-                            writeLog('success', 'Category Editor Function - '.$value['name'].' Order Changed From '.$value['order'].' to '.$value['originalOrder'], $GLOBALS['organizrUser']['username']);
+                        writeLog('success', 'Category Editor Function - '.$value['name'].' Order Changed From '.$value['order'].' to '.$value['originalOrder'], $GLOBALS['organizrUser']['username']);
                     }
                 }
                 writeLog('success', 'Category Editor Function - Category Order Changed', $GLOBALS['organizrUser']['username']);
@@ -820,12 +832,13 @@ function editCategories($array){
             break;
     }
 }
-function allUsers(){
+function allUsers()
+{
     try {
-    	$connect = new Dibi\Connection([
-    		'driver' => 'sqlite3',
-    		'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
-    	]);
+        $connect = new Dibi\Connection([
+            'driver' => 'sqlite3',
+            'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
+        ]);
         $users = $connect->fetchAll('SELECT * FROM users');
         $groups = $connect->fetchAll('SELECT * FROM groups ORDER BY group_id ASC');
         foreach ($users as $k => $v) {
@@ -839,38 +852,41 @@ function allUsers(){
         return false;
     }
 }
-function usernameTaken($username,$email){
+function usernameTaken($username, $email)
+{
     try {
-    	$connect = new Dibi\Connection([
-    		'driver' => 'sqlite3',
-    		'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
-    	]);
-        $all = $connect->fetch('SELECT * FROM users WHERE username = ? COLLATE NOCASE OR email = ? COLLATE NOCASE',$username,$email);
+        $connect = new Dibi\Connection([
+            'driver' => 'sqlite3',
+            'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
+        ]);
+        $all = $connect->fetch('SELECT * FROM users WHERE username = ? COLLATE NOCASE OR email = ? COLLATE NOCASE', $username, $email);
         return ($all) ? true : false;
     } catch (Dibi\Exception $e) {
         return false;
     }
 }
-function usernameTakenExcept($username,$email,$id){
+function usernameTakenExcept($username, $email, $id)
+{
     try {
-    	$connect = new Dibi\Connection([
-    		'driver' => 'sqlite3',
-    		'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
-    	]);
-        $all = $connect->fetch('SELECT * FROM users WHERE id IS NOT ? AND username = ? COLLATE NOCASE OR id IS NOT ? AND email = ? COLLATE NOCASE',$id,$username,$id,$email);
+        $connect = new Dibi\Connection([
+            'driver' => 'sqlite3',
+            'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
+        ]);
+        $all = $connect->fetch('SELECT * FROM users WHERE id IS NOT ? AND username = ? COLLATE NOCASE OR id IS NOT ? AND email = ? COLLATE NOCASE', $id, $username, $id, $email);
         return ($all) ? true : false;
     } catch (Dibi\Exception $e) {
         return false;
     }
 }
-function createUser($username,$password,$defaults,$email=null) {
+function createUser($username, $password, $defaults, $email=null)
+{
     $email = ($email) ? $email : random_ascii_string(10).'@placeholder.eml';
     try {
-        if(!usernameTaken($username,$email)){
+        if (!usernameTaken($username, $email)) {
             $createDB = new Dibi\Connection([
-        		'driver' => 'sqlite3',
-        		'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
-        	]);
+                'driver' => 'sqlite3',
+                'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
+            ]);
             $userInfo = [
                 'username' => $username,
                 'password'  => password_hash($password, PASSWORD_BCRYPT),
@@ -882,21 +898,21 @@ function createUser($username,$password,$defaults,$email=null) {
             ];
             $createDB->query('INSERT INTO [users]', $userInfo);
             return true;
-        }else{
+        } else {
             return false;
         }
-
     } catch (Dibi\Exception $e) {
         return false;
     }
 }
-function allTabs(){
-    if(file_exists('config'.DIRECTORY_SEPARATOR.'config.php')){
+function allTabs()
+{
+    if (file_exists('config'.DIRECTORY_SEPARATOR.'config.php')) {
         try {
-        	$connect = new Dibi\Connection([
-        		'driver' => 'sqlite3',
-        		'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
-        	]);
+            $connect = new Dibi\Connection([
+                'driver' => 'sqlite3',
+                'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
+            ]);
             $all['tabs'] = $connect->fetchAll('SELECT * FROM tabs ORDER BY `order` ASC');
             $all['categories'] = $connect->fetchAll('SELECT * FROM categories ORDER BY `order` ASC');
             $all['groups'] = $connect->fetchAll('SELECT * FROM groups ORDER BY `group_id` ASC');
@@ -906,13 +922,14 @@ function allTabs(){
         }
     }
 }
-function allGroups(){
-    if(file_exists('config'.DIRECTORY_SEPARATOR.'config.php')){
+function allGroups()
+{
+    if (file_exists('config'.DIRECTORY_SEPARATOR.'config.php')) {
         try {
-        	$connect = new Dibi\Connection([
-        		'driver' => 'sqlite3',
-        		'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
-        	]);
+            $connect = new Dibi\Connection([
+                'driver' => 'sqlite3',
+                'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
+            ]);
             $all = $connect->fetchAll('SELECT * FROM groups ORDER BY `group_id` ASC');
             return $all;
         } catch (Dibi\Exception $e) {
@@ -920,20 +937,21 @@ function allGroups(){
         }
     }
 }
-function loadTabs(){
-    if(file_exists('config'.DIRECTORY_SEPARATOR.'config.php')){
+function loadTabs()
+{
+    if (file_exists('config'.DIRECTORY_SEPARATOR.'config.php')) {
         try {
-        	$connect = new Dibi\Connection([
-        		'driver' => 'sqlite3',
-        		'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
-        	]);
-            $tabs = $connect->fetchAll('SELECT * FROM tabs WHERE `group_id` >= ? AND `enabled` = 1 ORDER BY `order` DESC',$GLOBALS['organizrUser']['groupID']);
+            $connect = new Dibi\Connection([
+                'driver' => 'sqlite3',
+                'database' => $GLOBALS['dbLocation'].$GLOBALS['dbName'],
+            ]);
+            $tabs = $connect->fetchAll('SELECT * FROM tabs WHERE `group_id` >= ? AND `enabled` = 1 ORDER BY `order` DESC', $GLOBALS['organizrUser']['groupID']);
             $categories = $connect->fetchAll('SELECT * FROM categories ORDER BY `order` ASC');
             $all['tabs'] = $tabs;
             foreach ($tabs as $k => $v) {
                 $v['access_url'] = isset($v['url_local']) && $_SERVER['SERVER_ADDR'] == userIP() ? $v['url_local'] : $v['url'];
             }
-            $count = array_map(function($element){
+            $count = array_map(function ($element) {
                 return $element['category_id'];
             }, $tabs);
             $count = (array_count_values($count));

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 392 - 368
api/functions/organizr-functions.php


+ 7 - 0
css/organizr.css

@@ -361,10 +361,13 @@ background: #2cabe3;
 }
 .hover-homepage-item:hover {
 	background: radial-gradient(farthest-corner at 50% 50%,rgba(50,50,50,.5) 50%,#323232 100%);
+	opacity: 1;
+	transition: linear .5s;
 }
 .hover-homepage-item {
   width: 100%;
   height: 100%;
+  opacity: 0;
 }
 input#inviteCodeInput {
   font-size: 400%;
@@ -468,3 +471,7 @@ span.homepage-text {
 	margin: auto;
 	background-repeat: no-repeat;
 }
+.btn-link, a {
+  color: #2cabe3;
+  text-decoration: none;
+}

+ 17 - 3
js/custom.js

@@ -1530,10 +1530,23 @@ $(document).on("click", ".playlist-filter li>a", function () {
 $(document).on("click", ".refreshImage", function(e) {
     message('',' Refreshing Image...','bottom-right','#FFF','success','1000');
     e.preventDefault;
-    var orginalElement = $(this).parent().parent().parent().parent().find('.imageSource');
-    //console.log(orginalElement)
     var original = $(this).attr('data-image');
-    orginalElement.attr('src', original);
+    var type = $(this).attr('data-type');
+    switch (type) {
+        case 'nowPlaying':
+            var orginalElement = $(this).parent().parent().parent().parent().find('.imageSource');
+            orginalElement.attr('src', original);
+            break;
+        case 'recent-item':
+            var orginalElementAlt = $(this).parent().parent().parent().find('.imageSourceAlt');
+            var orginalElement = $(this).parent().parent().parent().find('.imageSource');
+            orginalElement.attr('style', 'background-image: url("'+original+'");');
+            orginalElementAlt.attr('src', original);
+            break;
+        default:
+
+    }
+    //console.log(orginalElement)
     //console.log('replaced image with : '+original);
     setTimeout(function(){
         message('Image Refreshed ',' Clear Cache Please','bottom-right','#FFF','success','3000');
@@ -1565,6 +1578,7 @@ $(document).on("click", ".request-item", function(e) {
 });
 // metadata start
 $(document).on("click", ".metadata-get", function(e) {
+    if($(e.target).hasClass('mdi-refresh')) return;
     $("#preloader").fadeIn();
     var key = $(this).attr('data-key');
     var uid = $(this).attr('data-uid');

+ 10 - 6
js/functions.js

@@ -2164,7 +2164,7 @@ function buildStreamItem(array,source){
 								<li><a class="btn default btn-outline inline-popups" href="#`+v.session+`" data-effect="mfp-zoom-out"><i class="mdi mdi-server-network mdi-24px"></i></a></li>
 								<li><a class="btn default btn-outline metadata-get" data-source="`+source+`" data-key="`+v.metadataKey+`" data-uid="`+v.uid+`"><i class="mdi mdi-information mdi-24px"></i></a></li>
 								<li><a class="btn default btn-outline openTab" data-tab-name="`+v.tabName+`" data-type="`+v.type+`" data-open-tab="`+v.openTab+`" data-url="`+v.address+`" href="javascript:void(0);"><i class=" mdi mdi-`+source+` mdi-24px"></i></a></li>
-								<li><a class="btn default btn-outline refreshImage" data-image="`+v.nowPlayingOriginalImage+`" href="javascript:void(0);"><i class="mdi mdi-refresh mdi-24px"></i></a></li>
+								<li><a class="btn default btn-outline refreshImage" data-type="nowPlaying" data-image="`+v.nowPlayingOriginalImage+`" href="javascript:void(0);"><i class="mdi mdi-refresh mdi-24px"></i></a></li>
 								<a class="inline-popups `+v.uid+` hidden" href="#`+v.uid+`-metadata-div" data-effect="mfp-zoom-out"></a>
 							</ul>
 						</div>
@@ -2223,7 +2223,7 @@ function buildRecentItem(array, type, extra=null){
 			switch (v.type) {
 				case 'music':
 					className = 'recent-cover recent-item recent-music';
-					extraImg = '<img src="'+v.imageURL+'" class="imageSource imageSourceTop recent-cover"><img src="'+v.imageURL+'" class="imageSource imageSourceBottom recent-cover">';
+					extraImg = '<img src="'+v.imageURL+'" class="imageSourceAlt imageSourceTop recent-cover"><img src="'+v.imageURL+'" class="imageSourceAlt imageSourceBottom recent-cover">';
 					break;
 				case 'movie':
 					className = 'recent-poster recent-item recent-movie';
@@ -2238,9 +2238,11 @@ function buildRecentItem(array, type, extra=null){
 
 			}
 			items += `
-			<div class="item lazyload `+className+` metadata-get mouse" data-source="`+type+`" data-key="`+v.metadataKey+`" data-uid="`+v.uid+`" data-src="`+v.imageURL+`">
+			<div class="item lazyload `+className+` metadata-get mouse imageSource" data-source="`+type+`" data-key="`+v.metadataKey+`" data-uid="`+v.uid+`" data-src="`+v.imageURL+`">
 				`+extraImg+`
-				<div class="hover-homepage-item"></div>
+				<div class="hover-homepage-item">
+					<a class="btn default refreshImage" data-type="recent-item" data-image="`+v.originalImage+`" href="javascript:void(0);"><i class="mdi mdi-refresh mdi-24px"></i></a>
+				</div>
 				<span class="elip recent-title">`+v.title+`</span>
 				<div id="`+v.uid+`-metadata-div" class="white-popup mfp-with-anim mfp-hide">
 			        <div class="col-md-8 col-md-offset-2 `+v.uid+`-metadata-info"></div>
@@ -2262,8 +2264,10 @@ function buildPlaylistItem(array, type, extra=null){
 		if(i !== 'title'){
 			if(extra == null){
 				items += `
-				<div class="item lazyload recent-poster metadata-get mouse" data-source="`+type+`" data-key="`+v.metadataKey+`" data-uid="`+v.uid+`" data-src="`+v.imageURL+`">
-					<div class="hover-homepage-item"></div>
+				<div class="item lazyload recent-poster metadata-get mouse imageSource" data-source="`+type+`" data-key="`+v.metadataKey+`" data-uid="`+v.uid+`" data-src="`+v.imageURL+`">
+					<div class="hover-homepage-item">
+						<a class="btn default refreshImage" data-type="recent-item" data-image="`+v.originalImage+`" href="javascript:void(0);"><i class="mdi mdi-refresh mdi-24px"></i></a>
+					</div>
 					<span class="elip recent-title">`+v.title+`</span>
 					<div id="`+v.uid+`-metadata-div" class="white-popup mfp-with-anim mfp-hide">
 				        <div class="col-md-8 col-md-offset-2 `+v.uid+`-metadata-info"></div>

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio