mirror of
https://github.com/itflow-org/itflow
synced 2026-03-01 03:14:52 +00:00
Merge pull request #363 from wrongecho/services-certs
Add functionality to link certificates to services
This commit is contained in:
@@ -154,7 +154,7 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- TODO: Services related to other services & certificates -->
|
<!-- TODO: Services related to other services -->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -207,6 +207,23 @@
|
|||||||
?>
|
?>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="certificates">Certificates</label>
|
||||||
|
<p></p>
|
||||||
|
<select class="form-select" id="certificates" name="certificates[]" multiple="multiple">
|
||||||
|
<option value="">- Certificates -</option>
|
||||||
|
<?php
|
||||||
|
$sql = mysqli_query($mysqli, "SELECT * FROM certificates WHERE certificate_client_id = '$client_id'");
|
||||||
|
while($row = mysqli_fetch_array($sql)){
|
||||||
|
$cert_id = $row['certificate_id'];
|
||||||
|
$cert_name = $row['certificate_name'];
|
||||||
|
$cert_domain = $row['certificate_domain'];
|
||||||
|
echo "<option value=\"$cert_id\">$cert_name ($cert_domain)</option>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -89,17 +89,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- TODO: We need a way of adding multiple (optional) URLs? Ideas? -->
|
|
||||||
<!-- <div class="form-group">
|
|
||||||
<label>URL</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="text" class="form-control" name="url" placeholder="URL" autofocus>
|
|
||||||
</div>
|
|
||||||
</div> -->
|
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Notes</label>
|
<label>Notes</label>
|
||||||
<textarea class="form-control" rows="3" placeholder="Enter some notes" name="note"><?php echo $service_notes ?></textarea>
|
<textarea class="form-control" rows="3" placeholder="Enter some notes" name="note"><?php echo $service_notes ?></textarea>
|
||||||
@@ -184,7 +173,7 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- TODO: Services related to other services & certificates -->
|
<!-- TODO: Services related to other services -->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -262,6 +251,31 @@
|
|||||||
?>
|
?>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="certificates">Certificates</label>
|
||||||
|
<p></p>
|
||||||
|
<select class="form-select" id="certificates" name="certificates[]" multiple="multiple">
|
||||||
|
<option value="">- Certificates -</option>
|
||||||
|
<?php
|
||||||
|
$selected_ids = array_column(mysqli_fetch_all($sql_certificates,MYSQLI_ASSOC), "certificate_id");
|
||||||
|
|
||||||
|
$sql_all = mysqli_query($mysqli, "SELECT * FROM certificates WHERE certificate_client_id = '$client_id'");
|
||||||
|
while($row_all = mysqli_fetch_array($sql_all)){
|
||||||
|
$cert_id = $row_all['certificate_id'];
|
||||||
|
$cert_name = $row_all['certificate_name'];
|
||||||
|
|
||||||
|
if(in_array($cert_id, $selected_ids)){
|
||||||
|
echo "<option value=\"$cert_id\" selected>$cert_name</option>";
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
echo "<option value=\"$cert_id\">$cert_name</option>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -139,6 +139,27 @@
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
<!-- Certificates -->
|
||||||
|
<?php
|
||||||
|
if(mysqli_num_rows($sql_certificates) > 0){ ?>
|
||||||
|
<h5><i class="nav-icon fas fa-lock"></i> Certificates</h5>
|
||||||
|
<ul>
|
||||||
|
<?php
|
||||||
|
// Reset the $sql_certificates pointer to the start
|
||||||
|
mysqli_data_seek($sql_certificates, 0);
|
||||||
|
|
||||||
|
// Showing linked certs
|
||||||
|
while($row = mysqli_fetch_array($sql_certificates)){
|
||||||
|
if(!empty($row['certificate_name'])){
|
||||||
|
echo "<li><a href=\"client.php?client_id=$client_id&tab=certificates&q=$row[certificate_name]\">$row[certificate_name] ($row[certificate_domain])</a></li>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</ul>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -245,17 +266,6 @@
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!-- <h5><i class="nav-icon fas fa-lock"></i> Certificates</h5>-->
|
|
||||||
<!-- <ul>-->
|
|
||||||
<!-- <li>SSLs related to a domain - Coming soon!</li>-->
|
|
||||||
<!-- </ul>-->
|
|
||||||
<!---->
|
|
||||||
<!-- <h5><i class="nav-icon fas fa-hdd"></i> Backed up by</h5>-->
|
|
||||||
<!-- <ul>-->
|
|
||||||
<!-- <li>Asset - Coming soon!</li>-->
|
|
||||||
<!-- </ul>-->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Documents -->
|
<!-- Documents -->
|
||||||
<?php
|
<?php
|
||||||
if(mysqli_num_rows($sql_docs) > 0){ ?>
|
if(mysqli_num_rows($sql_docs) > 0){ ?>
|
||||||
|
|||||||
@@ -123,6 +123,11 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()"));
|
|||||||
LEFT JOIN domains
|
LEFT JOIN domains
|
||||||
ON service_domains.domain_id = domains.domain_id
|
ON service_domains.domain_id = domains.domain_id
|
||||||
WHERE service_id = '$service_id'");
|
WHERE service_id = '$service_id'");
|
||||||
|
// Associated Certificates
|
||||||
|
$sql_certificates = mysqli_query($mysqli, "SELECT * FROM service_certificates
|
||||||
|
LEFT JOIN certificates
|
||||||
|
ON service_certificates.certificate_id = certificates.certificate_id
|
||||||
|
WHERE service_id = '$service_id'");
|
||||||
|
|
||||||
// Associated URLs ---- REMOVED for now
|
// Associated URLs ---- REMOVED for now
|
||||||
//$sql_urls = mysqli_query($mysqli, "SELECT * FROM service_urls
|
//$sql_urls = mysqli_query($mysqli, "SELECT * FROM service_urls
|
||||||
|
|||||||
13
db.sql
13
db.sql
@@ -978,6 +978,19 @@ CREATE TABLE `service_assets` (
|
|||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `service_certificates`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `service_certificates`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `service_certificates` (
|
||||||
|
`service_id` int(11) NOT NULL,
|
||||||
|
`certificate_id` int(11) NOT NULL
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table structure for table `service_contacts`
|
-- Table structure for table `service_contacts`
|
||||||
--
|
--
|
||||||
|
|||||||
26
post.php
26
post.php
@@ -5731,8 +5731,6 @@ if(isset($_POST['add_service'])){
|
|||||||
// Create Service
|
// Create Service
|
||||||
$service_sql = mysqli_query($mysqli, "INSERT INTO services SET service_name = '$service_name', service_description = '$service_description', service_category = '$service_category', service_importance = '$service_importance', service_backup = '$service_backup', service_notes = '$service_notes', service_created_at = NOW(), service_client_id = '$client_id', company_id = '$session_company_id'");
|
$service_sql = mysqli_query($mysqli, "INSERT INTO services SET service_name = '$service_name', service_description = '$service_description', service_category = '$service_category', service_importance = '$service_importance', service_backup = '$service_backup', service_notes = '$service_notes', service_created_at = NOW(), service_client_id = '$client_id', company_id = '$session_company_id'");
|
||||||
|
|
||||||
// TODO: Support for URLs
|
|
||||||
|
|
||||||
// Create links to assets
|
// Create links to assets
|
||||||
if($service_sql){
|
if($service_sql){
|
||||||
$service_id = $mysqli->insert_id;
|
$service_id = $mysqli->insert_id;
|
||||||
@@ -5782,7 +5780,7 @@ if(isset($_POST['add_service'])){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!empty($_POST['logins'])){
|
if(!empty($_POST['domains'])){
|
||||||
$service_domain_ids = $_POST['domains'];
|
$service_domain_ids = $_POST['domains'];
|
||||||
foreach($service_domain_ids as $domain_id){
|
foreach($service_domain_ids as $domain_id){
|
||||||
if(intval($domain_id)){
|
if(intval($domain_id)){
|
||||||
@@ -5791,6 +5789,15 @@ if(isset($_POST['add_service'])){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!empty($_POST['certificates'])){
|
||||||
|
$service_cert_ids = $_POST['certificates'];
|
||||||
|
foreach($service_cert_ids as $cert_id){
|
||||||
|
if(intval($cert_id)){
|
||||||
|
mysqli_query($mysqli, "INSERT INTO service_certificates SET service_id = '$service_id', certificate_id = '$cert_id'");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//Logging
|
//Logging
|
||||||
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Service', log_action = 'Create', log_description = '$session_name created service $service_name', log_created_at = NOW(), log_client_id = $client_id, company_id = $session_company_id, log_user_id = $session_user_id");
|
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Service', log_action = 'Create', log_description = '$session_name created service $service_name', log_created_at = NOW(), log_client_id = $client_id, company_id = $session_company_id, log_user_id = $session_user_id");
|
||||||
|
|
||||||
@@ -5824,6 +5831,7 @@ if(isset($_POST['edit_service'])){
|
|||||||
mysqli_query($mysqli, "DELETE FROM service_assets WHERE service_id = '$service_id'");
|
mysqli_query($mysqli, "DELETE FROM service_assets WHERE service_id = '$service_id'");
|
||||||
mysqli_query($mysqli, "DELETE FROM service_logins WHERE service_id = '$service_id'");
|
mysqli_query($mysqli, "DELETE FROM service_logins WHERE service_id = '$service_id'");
|
||||||
mysqli_query($mysqli, "DELETE FROM service_domains WHERE service_id = '$service_id'");
|
mysqli_query($mysqli, "DELETE FROM service_domains WHERE service_id = '$service_id'");
|
||||||
|
mysqli_query($mysqli, "DELETE FROM service_certificates WHERE service_id = '$service_id'");
|
||||||
|
|
||||||
// Relink
|
// Relink
|
||||||
if(!empty($_POST['contacts'])){
|
if(!empty($_POST['contacts'])){
|
||||||
@@ -5871,7 +5879,7 @@ if(isset($_POST['edit_service'])){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!empty($_POST['logins'])){
|
if(!empty($_POST['domains'])){
|
||||||
$service_domain_ids = $_POST['domains'];
|
$service_domain_ids = $_POST['domains'];
|
||||||
foreach($service_domain_ids as $domain_id){
|
foreach($service_domain_ids as $domain_id){
|
||||||
if(intval($domain_id)){
|
if(intval($domain_id)){
|
||||||
@@ -5880,6 +5888,15 @@ if(isset($_POST['edit_service'])){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!empty($_POST['certificates'])){
|
||||||
|
$service_cert_ids = $_POST['certificates'];
|
||||||
|
foreach($service_cert_ids as $cert_id){
|
||||||
|
if(intval($cert_id)){
|
||||||
|
mysqli_query($mysqli, "INSERT INTO service_certificates SET service_id = '$service_id', certificate_id = '$cert_id'");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//Logging
|
//Logging
|
||||||
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Service', log_action = 'Modified', log_description = '$session_name modified service $service_name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id");
|
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Service', log_action = 'Modified', log_description = '$session_name modified service $service_name', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id");
|
||||||
|
|
||||||
@@ -5903,6 +5920,7 @@ if(isset($_GET['delete_service'])){
|
|||||||
mysqli_query($mysqli, "DELETE FROM service_assets WHERE service_id = '$service_id'");
|
mysqli_query($mysqli, "DELETE FROM service_assets WHERE service_id = '$service_id'");
|
||||||
mysqli_query($mysqli, "DELETE FROM service_logins WHERE service_id = '$service_id'");
|
mysqli_query($mysqli, "DELETE FROM service_logins WHERE service_id = '$service_id'");
|
||||||
mysqli_query($mysqli, "DELETE FROM service_domains WHERE service_id = '$service_id'");
|
mysqli_query($mysqli, "DELETE FROM service_domains WHERE service_id = '$service_id'");
|
||||||
|
mysqli_query($mysqli, "DELETE FROM service_certificates WHERE service_id = '$service_id'");
|
||||||
|
|
||||||
//Logging
|
//Logging
|
||||||
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Service', log_action = 'Deleted', log_description = '$session_name deleted service $service_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id");
|
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Service', log_action = 'Deleted', log_description = '$session_name deleted service $service_id', log_created_at = NOW(), company_id = $session_company_id, log_user_id = $session_user_id");
|
||||||
|
|||||||
Reference in New Issue
Block a user