Updated Client logins gui and DB structure

This commit is contained in:
johnny@pittpc.com 2020-01-28 09:48:00 -05:00
parent eb6615ad47
commit 1471543f65
8 changed files with 94 additions and 51 deletions

View File

@ -16,7 +16,10 @@
<a class="nav-link active" id="pills-login-tab" data-toggle="pill" href="#pills-login">Login</a>
</li>
<li class="nav-item">
<a class="nav-link" id="pills-link-tab" data-toggle="pill" href="#pills-link">Link</a>
<a class="nav-link" id="pills-notes-tab" data-toggle="pill" href="#pills-notes">Notes</a>
</li>
<li class="nav-item">
<a class="nav-link" id="pills-relation-tab" data-toggle="pill" href="#pills-relation">Relation</a>
</li>
</ul>
@ -27,12 +30,12 @@
<div class="tab-pane fade show active" id="pills-login">
<div class="form-group">
<label>Description <strong class="text-danger">*</strong></label>
<label>Name <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-info-circle"></i></span>
</div>
<input type="text" class="form-control" name="description" placeholder="Description of the login" required autofocus>
<input type="text" class="form-control" name="name" placeholder="Name of Login" required autofocus>
</div>
</div>
@ -53,23 +56,35 @@
<span class="input-group-text"><i class="fa fa-fw fa-lock"></i></span>
</div>
<input type="text" class="form-control" name="password" placeholder="Password" required>
<div class="input-group-append">
<span class="input-group-text"><i class="fa fa-fw fa-eye"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label>URI</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-globe"></i></span>
</div>
<input type="url" class="form-control" name="uri" placeholder="ex. https://google.com">
</div>
</div>
</div>
<div class="tab-pane fade" id="pills-link">
<div class="tab-pane fade" id="pills-notes">
<div class="form-group">
<label>Web Link</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-link"></i></span>
</div>
<input type="url" class="form-control" name="web_link" placeholder="Please include http://">
</div>
<label>Notes</label>
<textarea class="form-control" rows="5" name="note"></textarea>
</div>
</div>
<div class="tab-pane fade" id="pills-relation">
<div class="form-group">
<label>Vendor</label>
<div class="input-group">

View File

@ -74,8 +74,8 @@
</div>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="customControlAutosizingCopy<?php echo $trip_id; ?>" name="roundtrip" value="1" >
<label class="custom-control-label" for="customControlAutosizingCopy<?php echo $trip_id; ?>">Round Trip</label>
<input type="checkbox" <?php if($round_trip == 1){ echo "checked"; } ?> class="custom-control-input" id="customControlAutosizing<?php echo $trip_id; ?>" name="roundtrip" value="1" >
<label class="custom-control-label" for="customControlAutosizing<?php echo $trip_id; ?>">Round Trip</label>
</div>
</div>

View File

@ -23,7 +23,7 @@ if(isset($_GET['q'])){
if(!empty($_GET['sb'])){
$sb = mysqli_real_escape_string($mysqli,$_GET['sb']);
}else{
$sb = "login_description";
$sb = "login_name";
}
if(isset($_GET['o'])){
@ -42,7 +42,7 @@ if(isset($_GET['o'])){
$sql = mysqli_query($mysqli,"SELECT SQL_CALC_FOUND_ROWS *, AES_DECRYPT(login_password, '$config_aes_key') AS login_password FROM logins
WHERE client_id = $client_id
AND (login_description LIKE '%$q%' OR login_username LIKE '%$q%')
AND (login_name LIKE '%$q%' OR login_username LIKE '%$q%')
ORDER BY $sb $o LIMIT $record_from, $record_to");
$num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
@ -72,7 +72,7 @@ $total_pages = ceil($total_found_rows / 10);
<table class="table table-striped table-borderless table-hover">
<thead class="text-dark <?php if($num_rows[0] == 0){ echo "d-none"; } ?>">
<tr>
<th><a class="text-secondary" href="?<?php echo $url_query_strings_sb; ?>&sb=login_description&o=<?php echo $disp; ?>">Description</a></th>
<th><a class="text-secondary" href="?<?php echo $url_query_strings_sb; ?>&sb=login_name&o=<?php echo $disp; ?>">Name</a></th>
<th><a class="text-secondary" href="?<?php echo $url_query_strings_sb; ?>&sb=login_username&o=<?php echo $disp; ?>">Username</a></th>
<th>Password</th>
<th class="text-center">Action</th>
@ -83,22 +83,23 @@ $total_pages = ceil($total_found_rows / 10);
while($row = mysqli_fetch_array($sql)){
$login_id = $row['login_id'];
$login_description = $row['login_description'];
$login_web_link = $row['login_web_link'];
if(!empty($login_web_link)){
$login_description_td = "<a href='$login_web_link' target='_blank'>$login_description <i class='fa fa-link'></i></a>";
}else{
$login_description_td = $row['login_description'];
}
$login_name = $row['login_name'];
$login_uri = $row['login_uri'];
$login_username = $row['login_username'];
$login_password = $row['login_password'];
$login_note = $row['login_note'];
$vendor_id = $row['vendor_id'];
$asset_id = $row['asset_id'];
$software_id = $row['software_id'];
?>
<tr>
<td><a class="text-dark" href="#" data-toggle="modal" data-target="#editLoginModal<?php echo $login_id; ?>"><?php echo $login_description_td; ?></a></td>
<td>
<a class="text-dark" href="#" data-toggle="modal" data-target="#editLoginModal<?php echo $login_id; ?>"><?php echo $login_name; ?></a>
<br>
<small class="text-secondary"><?php echo $login_uri; ?></small>
</td>
<td><?php echo $login_username; ?></td>
<td><?php echo $login_password; ?></td>
<td>
@ -107,6 +108,7 @@ $total_pages = ceil($total_found_rows / 10);
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<?php if(!empty($login_uri)){ ?> <a class="dropdown-item" href="<?php echo $login_uri; ?>" target='_blank'><i class="fa fa-link"></i> Open URI</a> <?php } ?>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#editLoginModal<?php echo $login_id; ?>">Edit</a>
<a class="dropdown-item" href="post.php?delete_login=<?php echo $login_id; ?>">Delete</a>
</div>

6
db.sql
View File

@ -387,8 +387,8 @@ DROP TABLE IF EXISTS `logins`;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `logins` (
`login_id` int(11) NOT NULL AUTO_INCREMENT,
`login_description` varchar(200) NOT NULL,
`login_web_link` varchar(200) DEFAULT NULL,
`login_name` varchar(200) NOT NULL,
`login_uri` varchar(200) DEFAULT NULL,
`login_username` varchar(200) NOT NULL,
`login_password` varbinary(200) DEFAULT NULL,
`login_note` text DEFAULT NULL,
@ -820,4 +820,4 @@ CREATE TABLE `vendors` (
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2020-01-20 17:04:20
-- Dump completed on 2020-01-28 9:47:23

View File

@ -2,7 +2,7 @@
<div class="modal-dialog">
<div class="modal-content bg-dark">
<div class="modal-header text-white">
<h5 class="modal-title"><i class="fa fa-fw fa-lock mr-2"></i><?php echo $login_description; ?></h5>
<h5 class="modal-title"><i class="fa fa-fw fa-lock mr-2"></i><?php echo $login_name; ?></h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span aria-hidden="true">&times;</span>
</button>
@ -16,7 +16,10 @@
<a class="nav-link active" id="pills-login-tab<?php echo $login_id; ?>" data-toggle="pill" href="#pills-login<?php echo $login_id; ?>">Login</a>
</li>
<li class="nav-item">
<a class="nav-link" id="pills-link-tab<?php echo $login_id; ?>" data-toggle="pill" href="#pills-link<?php echo $login_id; ?>">Link</a>
<a class="nav-link" id="pills-notes-tab" data-toggle="pill" href="#pills-notes<?php echo $login_id; ?>">Notes</a>
</li>
<li class="nav-item">
<a class="nav-link" id="pills-relation-tab<?php echo $login_id; ?>" data-toggle="pill" href="#pills-relation<?php echo $login_id; ?>">Relation</a>
</li>
</ul>
@ -27,12 +30,12 @@
<div class="tab-pane fade show active" id="pills-login<?php echo $login_id; ?>">
<div class="form-group">
<label>Description <strong class="text-danger">*</strong></label>
<label>Name <strong class="text-danger">*</strong></label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-info-circle"></i></span>
</div>
<input type="text" class="form-control" name="description" placeholder="Description of the login" value="<?php echo $login_description; ?>" required>
<input type="text" class="form-control" name="name" placeholder="Name of Login" value="<?php echo $login_name; ?>" required>
</div>
</div>
@ -53,23 +56,44 @@
<span class="input-group-text"><i class="fa fa-fw fa-lock"></i></span>
</div>
<input type="text" class="form-control" name="password" placeholder="Password" value="<?php echo $login_password; ?>" required>
<div class="input-group-append">
<span class="input-group-text"><i class="fa fa-fw fa-eye"></i></span>
</div>
<div class="input-group-append">
<span class="input-group-text"><i class="fa fa-fw fa-copy"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label>URI</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-globe"></i></span>
</div>
<input type="url" class="form-control" name="uri" placeholder="ex. https://google.com" value="<?php echo $login_uri; ?>">
<div class="input-group-append">
<span class="input-group-text"><i class="fa fa-fw fa-link"></i></span>
</div>
<div class="input-group-append">
<span class="input-group-text"><i class="fa fa-fw fa-copy"></i></span>
</div>
</div>
</div>
</div>
<div class="tab-pane fade" id="pills-link<?php echo $login_id; ?>">
<div class="tab-pane fade" id="pills-notes<?php echo $login_id; ?>">
<div class="form-group">
<label>Web Link</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-link"></i></span>
</div>
<input type="url" class="form-control" name="web_link" placeholder="Please include http://" value="<?php echo $login_web_link; ?>">
</div>
<label>Notes</label>
<textarea class="form-control" rows="5" name="note"><?php echo $login_note; ?></textarea>
</div>
</div>
<div class="tab-pane fade" id="pills-relation<?php echo $login_id; ?>">
<div class="form-group">
<label>Vendor</label>
<div class="input-group">

View File

@ -3015,8 +3015,8 @@ if(isset($_GET['delete_asset'])){
if(isset($_POST['add_login'])){
$client_id = intval($_POST['client_id']);
$description = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['description'])));
$web_link = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['web_link'])));
$name = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['name'])));
$uri = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['uri'])));
$username = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['username'])));
$password = strip_tags(mysqli_real_escape_string($mysqli,$_POST['password']));
$note = trim(strip_tags(mysqli_real_escape_string($mysqli,$_POST['note'])));
@ -3024,10 +3024,10 @@ if(isset($_POST['add_login'])){
$asset_id = intval($_POST['asset']);
$software_id = intval($_POST['software']);
mysqli_query($mysqli,"INSERT INTO logins SET login_description = '$description', login_web_link = '$web_link', login_username = '$username', login_password = AES_ENCRYPT('$password','$config_aes_key'), login_note = '$note', login_created_at = NOW(), vendor_id = $vendor_id, asset_id = $asset_id, software_id = $software_id, client_id = $client_id, company_id = $session_company_id");
mysqli_query($mysqli,"INSERT INTO logins SET login_name = '$name', login_uri = '$uri', login_username = '$username', login_password = AES_ENCRYPT('$password','$config_aes_key'), login_note = '$note', login_created_at = NOW(), vendor_id = $vendor_id, asset_id = $asset_id, software_id = $software_id, client_id = $client_id, company_id = $session_company_id");
//Logging
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Login', log_action = 'Created', log_description = '$description', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id");
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Login', log_action = 'Created', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id");
$_SESSION['alert_message'] = "Login added";
@ -3038,8 +3038,8 @@ if(isset($_POST['add_login'])){
if(isset($_POST['edit_login'])){
$login_id = intval($_POST['login_id']);
$description = strip_tags(mysqli_real_escape_string($mysqli,$_POST['description']));
$web_link = strip_tags(mysqli_real_escape_string($mysqli,$_POST['web_link']));
$name = strip_tags(mysqli_real_escape_string($mysqli,$_POST['name']));
$uri = strip_tags(mysqli_real_escape_string($mysqli,$_POST['uri']));
$username = strip_tags(mysqli_real_escape_string($mysqli,$_POST['username']));
$password = strip_tags(mysqli_real_escape_string($mysqli,$_POST['password']));
$note = strip_tags(mysqli_real_escape_string($mysqli,$_POST['note']));
@ -3047,10 +3047,10 @@ if(isset($_POST['edit_login'])){
$asset_id = intval($_POST['asset']);
$software_id = intval($_POST['software']);
mysqli_query($mysqli,"UPDATE logins SET login_description = '$description', login_web_link = '$web_link', login_username = '$username', login_password = AES_ENCRYPT('$password','$config_aes_key'), login_note = '$note', login_updated_at = NOW(), vendor_id = $vendor_id, asset_id = $asset_id, software_id = $software_id WHERE login_id = $login_id AND company_id = $session_company_id");
mysqli_query($mysqli,"UPDATE logins SET login_name = '$name', login_uri = '$uri', login_username = '$username', login_password = AES_ENCRYPT('$password','$config_aes_key'), login_note = '$note', login_updated_at = NOW(), vendor_id = $vendor_id, asset_id = $asset_id, software_id = $software_id WHERE login_id = $login_id AND company_id = $session_company_id");
//Logging
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Login', log_action = 'Modified', log_description = '$description', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id");
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Login', log_action = 'Modified', log_description = '$name', log_created_at = NOW(), company_id = $session_company_id, user_id = $session_user_id");
$_SESSION['alert_message'] = "Login updated";

View File

@ -11,7 +11,9 @@
<!-- Sidebar Menu -->
<nav class="mt-2">
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false">
<li class="nav-item">
<a href="dashboard.php" class="nav-link <?php if(basename($_SERVER["PHP_SELF"]) == "dashboard.php") { echo "active"; } ?>">
<i class="nav-icon fas fa-tachometer-alt"></i>

View File

@ -34,13 +34,13 @@
<li class="nav-item dropdown user-menu">
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">
<img src="<?php echo $session_avatar; ?>" class="user-image img-circle elevation-2" alt="User Image">
<img src="<?php echo $session_avatar; ?>" class="user-image img-circle" alt="User Image">
<span class="d-none d-md-inline"><?php echo $session_name; ?></span>
</a>
<ul class="dropdown-menu dropdown-menu-lg dropdown-menu-right">
<!-- User image -->
<li class="user-header bg-gray-dark">
<img src="<?php echo "$session_avatar"; ?>" class="img-circle elevation-2" alt="User Image">
<img src="<?php echo "$session_avatar"; ?>" class="img-circle" alt="User Image">
<p>
<?php echo $session_name; ?>