From ccb4aa3c22e681c399308ed0ea7e02b38f1acae4 Mon Sep 17 00:00:00 2001 From: Marcus Hill Date: Fri, 18 Feb 2022 08:35:32 +0000 Subject: [PATCH 1/2] Add functionality to link certificates to services --- client_service_add_modal.php | 19 +++++++++++++++++- client_service_edit_modal.php | 38 ++++++++++++++++++++++++----------- client_service_view_modal.php | 32 +++++++++++++++++++---------- client_services.php | 5 +++++ db.sql | 13 ++++++++++++ post.php | 26 ++++++++++++++++++++---- 6 files changed, 105 insertions(+), 28 deletions(-) diff --git a/client_service_add_modal.php b/client_service_add_modal.php index a7e84f8e..d8148f52 100644 --- a/client_service_add_modal.php +++ b/client_service_add_modal.php @@ -154,7 +154,7 @@ - + @@ -207,6 +207,23 @@ ?> + +
+ +

+ +
diff --git a/client_service_edit_modal.php b/client_service_edit_modal.php index 659d1488..ba5d7c81 100644 --- a/client_service_edit_modal.php +++ b/client_service_edit_modal.php @@ -89,17 +89,6 @@ - - -
@@ -184,7 +173,7 @@
- + @@ -262,6 +251,31 @@ ?> + +
+ +

+ +
+ diff --git a/client_service_view_modal.php b/client_service_view_modal.php index 0bcafbf6..191f72f4 100644 --- a/client_service_view_modal.php +++ b/client_service_view_modal.php @@ -139,6 +139,27 @@ } ?> + + 0){ ?> +
Certificates
+ + + @@ -245,17 +266,6 @@ } ?> - - - - - - - - - - - 0){ ?> diff --git a/client_services.php b/client_services.php index 332576c3..f34b858c 100644 --- a/client_services.php +++ b/client_services.php @@ -123,6 +123,11 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli,"SELECT FOUND_ROWS()")); LEFT JOIN domains ON service_domains.domain_id = domains.domain_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 $sql_urls = mysqli_query($mysqli, "SELECT * FROM service_urls diff --git a/db.sql b/db.sql index 17bcf965..b0e196a6 100644 --- a/db.sql +++ b/db.sql @@ -942,6 +942,19 @@ CREATE TABLE `service_assets` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!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` -- diff --git a/post.php b/post.php index 46691911..f007272a 100644 --- a/post.php +++ b/post.php @@ -5656,8 +5656,6 @@ if(isset($_POST['add_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'"); - // TODO: Support for URLs - // Create links to assets if($service_sql){ $service_id = $mysqli->insert_id; @@ -5707,7 +5705,7 @@ if(isset($_POST['add_service'])){ } } - if(!empty($_POST['logins'])){ + if(!empty($_POST['domains'])){ $service_domain_ids = $_POST['domains']; foreach($service_domain_ids as $domain_id){ if(intval($domain_id)){ @@ -5716,6 +5714,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 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"); @@ -5749,6 +5756,7 @@ if(isset($_POST['edit_service'])){ 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_domains WHERE service_id = '$service_id'"); + mysqli_query($mysqli, "DELETE FROM service_certificates WHERE service_id = '$service_id'"); // Relink if(!empty($_POST['contacts'])){ @@ -5796,7 +5804,7 @@ if(isset($_POST['edit_service'])){ } } - if(!empty($_POST['logins'])){ + if(!empty($_POST['domains'])){ $service_domain_ids = $_POST['domains']; foreach($service_domain_ids as $domain_id){ if(intval($domain_id)){ @@ -5805,6 +5813,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 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"); @@ -5828,6 +5845,7 @@ if(isset($_GET['delete_service'])){ 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_domains WHERE service_id = '$service_id'"); + mysqli_query($mysqli, "DELETE FROM service_certificates WHERE service_id = '$service_id'"); //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"); From 6b98035812e0f0266d469382c732cddf823c6529 Mon Sep 17 00:00:00 2001 From: Marcus Hill Date: Fri, 18 Feb 2022 08:36:52 +0000 Subject: [PATCH 2/2] Typo --- client_service_view_modal.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client_service_view_modal.php b/client_service_view_modal.php index 191f72f4..1ad1b39b 100644 --- a/client_service_view_modal.php +++ b/client_service_view_modal.php @@ -148,7 +148,7 @@ // Reset the $sql_certificates pointer to the start mysqli_data_seek($sql_certificates, 0); - // Showing linked domains + // Showing linked certs while($row = mysqli_fetch_array($sql_certificates)){ if(!empty($row['certificate_name'])){ echo "
  • $row[certificate_name] ($row[certificate_domain])
  • ";