]> jfr.im git - irc/unrealircd/unrealircd-webpanel.git/blob - tools/ip-whois.php
Make IP whois search bar look cleaner
[irc/unrealircd/unrealircd-webpanel.git] / tools / ip-whois.php
1 <?php
2
3 require_once "../common.php";
4 require_once "../header.php";
5
6 $ip_info = [];
7 $ip = NULL;
8 $noip = NULL;
9 if (isset($_GET['ip']))
10 $_POST['ip'] = $_GET['ip'];
11
12 if (isset($_POST['ip']))
13 $ip = $_POST['ip'];
14
15 $title = "IP WHOIS Lookup";
16 $title .= (isset($noip)) ? "" : " for $ip";
17
18 echo "<h4>$title</h4>";
19
20
21 if (!isset($ip))
22 $noip = true;
23
24 else
25 {
26 $whois = get_ip_whois($ip);
27 $file = split($whois, "\n");
28
29 $i = 0;
30
31 $start = false;
32 foreach ($file as $line) {
33 if (!strlen($line) && $start)
34 $i++;
35
36 if (($line && !ctype_alnum($line[0])) || !$line) // we don't care about your opinion we just want the info
37 continue;
38 $start = true;
39 $tok = split($line);
40 foreach ($tok as &$t)
41 if (!strlen($t))
42 $t = NULL;
43
44 $resplit = split(glue($tok));
45
46 $key = trim($resplit[0], ":");
47 $resplit[0] = NULL;
48 $value = glue($resplit);
49
50 if (!isset($ip_info[$i][$key]))
51 $ip_info[$i][$key] = $value;
52 else
53 $ip_info[$i][$key] .= "\n $value";
54 }
55 }
56 ?>
57
58 <br>
59 <form method="get" action="ip-whois.php">
60 <div class="input-group">
61 <input class="short-form-control" id="ip" name="ip" type="text" value=<?php echo $ip; ?>>
62 <div class="input-group-append">
63 <br><button type="submit" class="btn btn-primary">Go</button>
64 </div>
65 </div>
66 </form>
67
68 <?php
69
70 if ($ip)
71 {
72 ?>
73 <div class="container-xxl mt-3">
74 <div class="row">
75 <div class="col">
76 <?php generate_ip_whois_table($ip_info); ?>
77 </div>
78 <div class="col-sm">
79 <div class="btn btn-sm btn-info" data-toggle="modal" data-target="#ip_whois_raw">View RAW</div>
80 </div>
81 </div>
82 </div>
83
84 <?php
85 }
86
87 ?>
88
89 <div class="modal fade" id="ip_whois_raw" tabindex="-1" role="dialog" aria-labelledby="confirmModalCenterTitle" aria-hidden="true">
90 <div class="modal-dialog modal-xl modal-dialog-centered" role="document">
91 <div class="modal-content">
92 <div class="modal-header">
93 <h5 class="modal-title" id="myModalLabel">RAW IP WHOIS Information</h5>
94 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
95 <span aria-hidden="true">&times;</span>
96 </button>
97 </div>
98 <div class="modal-body">
99 <code><?php echo str_replace("\n", "<br>",$whois); ?></code>
100 </div>
101 <div class="modal-footer">
102 <button id="CloseButton" type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
103 </div>
104 </div>
105 </div>
106 </div>
107
108 <?php require_once("../footer.php");