]> jfr.im git - irc/unrealircd/unrealircd-webpanel.git/commitdiff
Make search include ASN and GeoIP
authorValerie Pond <redacted>
Mon, 19 Aug 2024 01:32:05 +0000 (09:32 +0800)
committerValerie Pond <redacted>
Mon, 19 Aug 2024 01:32:05 +0000 (09:32 +0800)
api/search.php

index 7acb5257f932286ecb9583523398f3a37c0bf531..e7ae1d9302327d8db00bb7f390aaf6edd6c20df8 100644 (file)
@@ -6,7 +6,10 @@ if (!$rpc)
     die();
 
 if (!$_GET || !isset($_GET['search']))
-    die_json(["error" => "No search query"]);
+{
+    echo json_encode(["error" => "No search query"]);
+    die;
+}
 $search_term = $_GET['search'];
 $users = $rpc->user()->getAll();
 $chans = $rpc->channel()->getAll(2);
@@ -62,7 +65,7 @@ foreach ($users as $u)
         $o->label = "GECOS";
         $search_results['users'][] = $o;
     }
-    if (strcasestr($u->user->account,$search_term))
+    if (@strcasestr($u->user->account,$search_term))
     {
         $o = (object)[];
         $o->name = $u->name;
@@ -70,6 +73,37 @@ foreach ($users as $u)
         $o->label = "account";
         $search_results['users'][] = $o;
     }
+    if (isset($u->geoip))
+    {
+        error_log("It's set");
+        if (@strcasestr($u->geoip->asn,$search_term))
+        {
+            $o = (object)[];
+            $o->name = $u->name;
+            $o->data = $u->name;
+            $o->label = "ASN";
+            $search_results['users'][] = $o;
+        }
+        if (@strcasestr($u->geoip->asname,$search_term))
+        {
+            $o = (object)[];
+            $o->name = $u->name;
+            $o->data = $u->name;
+            $o->label = "ASN Name";
+            $search_results['users'][] = $o;
+        }
+        if (@strcasestr($u->geoip->country_code,$search_term))
+        {
+            $o = (object)[];
+            $o->name = $u->name;
+            $o->data = $u->name;
+            $o->label = "Country Code";
+            $search_results['users'][] = $o;
+        }
+    }
+    else{
+        error_log(json_encode($u));
+    }
 }
 foreach ($chans as $c)
 {