Add 'all' listing

dev
gravel 2 years ago
parent e0c5c21967
commit ca322ff7cc
Signed by: gravel
GPG Key ID: C0538F3C906B308F

@ -103,4 +103,9 @@ name=18+ Communities
rating=nsfw
rooms[]=womanbodybeauty+13f6
rooms[]=piao+2cd5
rooms[]=AINSFW+fc30
rooms[]=AINSFW+fc30
[all]
name=All Communities
rating=unsafe
rooms[]=*

@ -47,8 +47,9 @@
$servers_raw = file_get_contents($ROOMS_FILE);
$server_data = json_decode($servers_raw, true);
$servers = CommunityServer::from_details_array($server_data);
$rooms_all = CommunityServer::enumerate_rooms($servers);
$rooms_by_id = [];
foreach (CommunityServer::enumerate_rooms($servers) as $room) {
foreach ($rooms_all as $room) {
$rooms_by_id[$room->get_room_identifier()] = $room;
}
$sogs_by_pubkey = [];
@ -58,8 +59,13 @@
$listings = [];
foreach ($listings_raw as $id => $listing_props) {
$rooms = [];
// TODO: Blocklist option
if (isset($listing_props['rooms'])) {
foreach ($listing_props['rooms'] as $room_id) {
if ($room_id == '*') {
$rooms = $rooms_all;
break;
}
if (isset($rooms_by_id[$room_id])) {
$rooms[] = $rooms_by_id[$room_id];
} else {
@ -84,7 +90,7 @@
$listing_props['rating'],
$rooms
);
}
}
return $listings;
}

Loading…
Cancel
Save