info.php

main 64 lines · 1.5 KB Raw
Alex Alex Commit Initial commit 01/10/2026 09:20
1<?php
2require_once '../../module.php';
3
4// Module version
5$response['version']['module'] = 1;
6
7// Secure GET name
8$name = getValue($_GET['name'] ?? null);
9
10if ($name === false || $name === '') {
11 $response['error'] = 'Missing name parameter.';
12 SendResponse($response);
13 exit;
14}
15
16$id = user_character_id($name);
17if ($id === false) {
18 $response['error'] = 'Character not found.';
19 SendResponse($response);
20 exit;
21}
22
23// Respect the same "hide my character" flag the rest of the site honours.
24if (user_character_hide($name)) {
25 $response['error'] = 'This character is hidden.';
26 SendResponse($response);
27 exit;
28}
29
30UseClass('player');
31
32$player = new Player($id);
33$data = $player->fetch([
34 'name', 'level', 'vocation', 'sex',
35 'looktype', 'lookhead', 'lookbody', 'looklegs', 'lookfeet', 'lookaddons',
36 'health', 'healthmax', 'mana', 'manamax', 'soul', 'cap',
37 'experience', 'maglevel', 'town_id',
38 'lastlogin', 'lastlogout', 'online', 'created', 'comment',
39]);
40
41if ($data === false) {
42 $response['error'] = 'Character not found.';
43 SendResponse($response);
44 exit;
45}
46
47$data['vocation_name'] = vocation_id_to_name((int)($data['vocation'] ?? -1));
48
49$townId = (int)($data['town_id'] ?? 0);
50$data['town_name'] = $config['towns'][$townId] ?? null;
51
52$guild = get_player_guild_data($id);
53if ($guild !== false) {
54 $data['guild'] = [
55 'name' => get_guild_name((int)$guild['guild_id']) ?: null,
56 'rank_name' => $guild['rank_name'] ?? null,
57 ];
58}
59
60$response['data'] = $data;
61
62SendResponse($response);
63?>
64
Top