You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					109 lines
				
				2.1 KiB
			
		
		
			
		
	
	
					109 lines
				
				2.1 KiB
			| 
								 
											2 years ago
										 
									 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								use function Hestiacp\quoteshellarg\quoteshellarg;
							 | 
						||
| 
								 | 
							
								$TAB = "DNS";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Main include
							 | 
						||
| 
								 | 
							
								include $_SERVER["DOCUMENT_ROOT"] . "/inc/main.php";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Data & Render page
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if (empty($_GET["domain"])) {
							 | 
						||
| 
								 | 
							
									exec(HESTIA_CMD . "v-list-dns-domains " . $user . " 'json'", $output, $return_var);
							 | 
						||
| 
								 | 
							
									$data = json_decode(implode("", $output), true);
							 | 
						||
| 
								 | 
							
									if ($_SESSION["userSortOrder"] == "name") {
							 | 
						||
| 
								 | 
							
										ksort($data);
							 | 
						||
| 
								 | 
							
									} else {
							 | 
						||
| 
								 | 
							
										$data = array_reverse($data, true);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									unset($output);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									render_page($user, $TAB, "list_dns");
							 | 
						||
| 
								 | 
							
								} elseif (!empty($_GET["action"])) {
							 | 
						||
| 
								 | 
							
									exec(
							 | 
						||
| 
								 | 
							
										HESTIA_CMD .
							 | 
						||
| 
								 | 
							
											"v-list-dnssec-public-key " .
							 | 
						||
| 
								 | 
							
											$user .
							 | 
						||
| 
								 | 
							
											" " .
							 | 
						||
| 
								 | 
							
											quoteshellarg($_GET["domain"]) .
							 | 
						||
| 
								 | 
							
											" 'json'",
							 | 
						||
| 
								 | 
							
										$output,
							 | 
						||
| 
								 | 
							
										$return_var,
							 | 
						||
| 
								 | 
							
									);
							 | 
						||
| 
								 | 
							
									$data = json_decode(implode("", $output), true);
							 | 
						||
| 
								 | 
							
									$domain = $_GET["domain"];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									switch ($data[$domain]["FLAG"]) {
							 | 
						||
| 
								 | 
							
										case 257:
							 | 
						||
| 
								 | 
							
											$flag = "KSK (257)";
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
										case 256:
							 | 
						||
| 
								 | 
							
											$flag = "ZSK (256)";
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									switch ($data[$domain]["ALGORITHM"]) {
							 | 
						||
| 
								 | 
							
										case 3:
							 | 
						||
| 
								 | 
							
											$algorithm = "3 - DSA";
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
										case 5:
							 | 
						||
| 
								 | 
							
											$algorithm = "5 - RSA/SHA1";
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
										case 6:
							 | 
						||
| 
								 | 
							
											$algorithm = "6 - DSA-NSEC3-SHA1";
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
										case 7:
							 | 
						||
| 
								 | 
							
											$algorithm = "7 - RSA/SHA1-NSEC3-SHA1";
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
										case 8:
							 | 
						||
| 
								 | 
							
											$algorithm = "8 - RSA/SHA256";
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
										case 10:
							 | 
						||
| 
								 | 
							
											$algorithm = "10 - RSA/SHA512";
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
										case 12:
							 | 
						||
| 
								 | 
							
											$algorithm = "12 - ECC-GOST";
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
										case 13:
							 | 
						||
| 
								 | 
							
											$algorithm = "13 - ECDSAP256/SHA256";
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
										case 14:
							 | 
						||
| 
								 | 
							
											$algorithm = "14 - ECDSAP384/SHA384";
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
										case 15:
							 | 
						||
| 
								 | 
							
											$algorithm = "15 - ED25519/SHA512";
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
										case 16:
							 | 
						||
| 
								 | 
							
											$algorithm = "16 - ED448/SHA912";
							 | 
						||
| 
								 | 
							
											break;
							 | 
						||
| 
								 | 
							
										default:
							 | 
						||
| 
								 | 
							
											$algorithm = "Unknown";
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									unset($output);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									render_page($user, $TAB, "list_dns_public");
							 | 
						||
| 
								 | 
							
								} else {
							 | 
						||
| 
								 | 
							
									exec(
							 | 
						||
| 
								 | 
							
										HESTIA_CMD .
							 | 
						||
| 
								 | 
							
											"v-list-dns-records " .
							 | 
						||
| 
								 | 
							
											$user .
							 | 
						||
| 
								 | 
							
											" " .
							 | 
						||
| 
								 | 
							
											quoteshellarg($_GET["domain"]) .
							 | 
						||
| 
								 | 
							
											" 'json'",
							 | 
						||
| 
								 | 
							
										$output,
							 | 
						||
| 
								 | 
							
										$return_var,
							 | 
						||
| 
								 | 
							
									);
							 | 
						||
| 
								 | 
							
									$data = json_decode(implode("", $output), true);
							 | 
						||
| 
								 | 
							
									if ($_SESSION["userSortOrder"] == "name") {
							 | 
						||
| 
								 | 
							
										ksort($data);
							 | 
						||
| 
								 | 
							
									} else {
							 | 
						||
| 
								 | 
							
										$data = array_reverse($data, true);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									unset($output);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									render_page($user, $TAB, "list_dns_rec");
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// Back uri
							 | 
						||
| 
								 | 
							
								$_SESSION["back"] = $_SERVER["REQUEST_URI"];
							 |