diff --git a/api/actions/profile.php b/api/actions/profile.php index a29d3c3..a6ec639 100644 --- a/api/actions/profile.php +++ b/api/actions/profile.php @@ -6,11 +6,15 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -if (!$database->has("accounts", ["publicid" => $VARS["id"]])) { - sendJsonResp($Strings->get("Could not find a matching account.", false), "ERROR"); -} +if (empty($VARS["id"])) { + $profile = $database->get("accounts", ["[>]authkeys" => ["accountid"]], ["publicid", "name", "username", "type", "verified"], ["key" => $VARS["key"]]); +} else { + if (!$database->has("accounts", ["publicid" => $VARS["id"]])) { + sendJsonResp($Strings->get("Could not find a matching account.", false), "ERROR"); + } -$profile = $database->get("accounts", ["publicid", "name", "username", "type", "verified"], ["publicid" => $VARS["id"]]); + $profile = $database->get("accounts", ["publicid", "name", "username", "type", "verified"], ["publicid" => $VARS["id"]]); +} // Make sure the name field always has something useful if (empty($profile["name"])) { diff --git a/api/apisettings.php b/api/apisettings.php index 25977e9..2cc1a1f 100644 --- a/api/apisettings.php +++ b/api/apisettings.php @@ -63,7 +63,7 @@ $APIS = [ "load" => "profile.php", "vars" => [ "key" => $keyregex, - "id" => "/[0-9a-z]+/" + "id (optional)" => "/[0-9a-z]+/" ] ] ];