"language", 'name' => "L", 'name_long' => "Language"], ['id' => "name", 'name' => "Name"], ['id' => "description", 'name' => "About", 'name_long' => "Description"], ['id' => "users", 'name' => "#", 'name_long' => "Active Users"], ['id' => "preview", 'name' => "Preview"], ['id' => "qr_code", 'name' => "QR", 'name_long' => "QR Code (for use in-app)"], ['id' => "server_icon", 'name' => "Host", 'name_long' => "Server host"], ['id' => "join_url", 'name' => "URL", 'name_long' => "Join URL (for use in-app)"], ]; $SERVER_ICON_COLUMN = array_keys(array_filter($TABLE_COLUMNS, function($column){return $column['id'] == "server_icon";}))[0]; ?> $column): ?> id="th_" class="tbl_communities__th"> $room): ?> is_off_record()) { // This can later allow SOGS // to pass server-wide info using hidden dummy rooms. continue; } $pubkey = $room->server->get_pubkey(); $icon_hue = hexdec($pubkey[2] . $pubkey[2]); $icon_color = "hsl($icon_hue, 80%, 50%)"; $server_icon = server_icon($room->server, '64x64'); $pubkey_shorthand = strtoupper($pubkey[0] . $pubkey[1]); $id = html_sanitize($room->get_room_identifier()); $language = html_sanitize($room->get_language_flag()); $name = html_sanitize($room->name); // $name_trunc = truncate($name, 16); $name_trunc = "Community"; $desc = html_sanitize($room->description); $users = html_sanitize($room->active_users); $users_cutoff = html_sanitize($room->format_user_cutoff_period()); $users_tooltip = $room->read ? "$users active users in the last $users_cutoff" : "$users users with read privileges, ??? others"; $users = $room->read ? $users : "—"; $preview_link = html_sanitize($room->get_preview_url()); $join_link = html_sanitize($room->get_join_url()); $pubkey = html_sanitize($pubkey); $hostname = html_sanitize($room->server->get_hostname()); $class_list = ["room-row"]; if ($room->is_stickied_room()) { $class_list[] = "room-row-stickied"; } $classname = implode(" ", $class_list); /** * Note on refactoring: * Icon is hard to move to JSON because it'd have to be generated by fetching code * Icon safety is depended on by CSS styles */ ?> :icon_safety()?>' >
get_showcased_room_tags() as $tag): ?> get_text_sanitized(), 16) ?>
Copy this