You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
149 lines
4.6 KiB
PHP
149 lines
4.6 KiB
PHP
<?php
|
|
/**
|
|
* \file
|
|
* Generate Community listing page with arbitrary list.
|
|
*/
|
|
|
|
require_once 'php/utils/utils.php';
|
|
require_once 'php/utils/site-generation.php';
|
|
require_once 'php/servers/servers-rooms.php';
|
|
require_once '+components/tbl-communities.php';
|
|
|
|
// Set the last-updated timestamp
|
|
// to the time the server data file was last modified.
|
|
|
|
/**
|
|
* @var int $time_modified
|
|
* Timestamp of last Community data fetch.
|
|
*/
|
|
$time_modified = filemtime($ROOMS_FILE);
|
|
|
|
/**
|
|
* @var string $time_modified_str
|
|
* Timestamp of last Community data fetch.
|
|
*/
|
|
$time_modified_str = date("Y-m-d H:i:s", $time_modified);
|
|
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<?php include "+components/page-head.php" ?>
|
|
|
|
<meta name="modified" content="<?=$time_modified_str?>">
|
|
<meta name="timestamp" content="<?=$time_modified?>">
|
|
<link rel="stylesheet" href="/index.css?<?=md5_file("$DOCUMENT_ROOT/index.css")?>">
|
|
<link rel="stylesheet" href="/css/banner.css?<?=md5_file("$DOCUMENT_ROOT/css/banner.css")?>">
|
|
<script type="module" src="/main.js?<?=md5_file("$DOCUMENT_ROOT/main.js")?>"></script>
|
|
<link rel="modulepreload" href="/js/util.js">
|
|
<link rel="preload" href="/servers.json" as="fetch" crossorigin="anonymous"/>
|
|
<link rel="preload" href="/tags.json" as="fetch" crossorigin="anonymous"/>
|
|
<link rel="help" href="/instructions/">
|
|
|
|
<noscript>
|
|
<style>
|
|
.js-only {
|
|
display: none;
|
|
}
|
|
</style>
|
|
</noscript>
|
|
|
|
<?php include "+components/communities-json-ld.php"; ?>
|
|
</head>
|
|
<body>
|
|
<input type="checkbox" id="toggle-theme-switch">
|
|
<div id="theming-root">
|
|
<?php include "+components/index-header.php" ?>
|
|
|
|
<a
|
|
href="#"
|
|
class="non-anchorstyle"
|
|
><?php include SiteGeneration::getOwnSubDocumentPath('h1'); ?></a>
|
|
|
|
<?php include "custom/site-components/issue-banner.php" ?>
|
|
|
|
<?php include "+components/communities-search.php"; ?>
|
|
|
|
<?php include "+components/qr-modals.php" ?>
|
|
|
|
<?php renderCommunityRoomTable($rooms); ?>
|
|
|
|
<gap></gap>
|
|
|
|
<hr id="footer-divider">
|
|
|
|
<aside id="summary" itemid="<?=$SITE_CANONICAL_URL?>" itemtype="https://schema.org/WebSite">
|
|
<p id="server_summary">
|
|
<?=count($room_database->rooms)?> unique Session Communities
|
|
on <?=count($room_database->servers)?> servers have been found.
|
|
<?php if (SiteGeneration::getTargetDocumentRoute() == '/'): ?>
|
|
<noscript>
|
|
<span>
|
|
(Viewing <?=count($rooms)?>;
|
|
<a
|
|
href="/groups/all/"
|
|
title="Full list of Communities"
|
|
>full list</a>.)
|
|
</span>
|
|
</noscript>
|
|
<?php endif; ?>
|
|
</p>
|
|
<p id="last_checked">
|
|
Last checked <span id="last_checked_value" itemprop="dateModified" value="<?=$time_modified_str?>">
|
|
<?=$time_modified_str?> (UTC)
|
|
</span>.
|
|
</p>
|
|
</aside>
|
|
<aside id="details">
|
|
<details>
|
|
<summary class="carousel-label aside__h2 h2-like">What is Session Messenger?</summary>
|
|
<p class="carousel-target">
|
|
<a href="https://getsession.org/" rel="external">Session</a>
|
|
is a private messaging app that protects your meta-data,
|
|
encrypts your communications, and makes sure your messaging activities
|
|
leave no digital trail behind. <a href="/about/" title="About page">Read more.</a>
|
|
</p>
|
|
</details>
|
|
<details>
|
|
<summary class="carousel-label aside__h2 h2-like">What are Session Communities?</summary>
|
|
<p class="carousel-target">
|
|
Session Communities are public Session chat rooms accessible from within Session Messenger.
|
|
This web project crawls known sources of Session Communities, and
|
|
displays information about them as a static HTML page. <a href="/about/" title="About page">Read more.</a>
|
|
</p>
|
|
</details>
|
|
<p>Disclaimer:</p>
|
|
<p id="content-disclaimer">
|
|
Session chat rooms shown on this list are fetched automatically from
|
|
<a
|
|
href="<?=$REPOSITORY_CANONICAL_URL?>#which-sources-are-crawled"
|
|
target="_blank"
|
|
>various sources</a>.
|
|
<br>
|
|
<span class="js-only">
|
|
We make an attempt to hide Communities containing
|
|
objectionable or illegal content, but
|
|
you should still proceed with caution.
|
|
</span>
|
|
<noscript>
|
|
<span>
|
|
Proceed with caution when joining unofficial Communities.
|
|
As JavaScript is disabled, no Communities are filtered from the list.
|
|
</span>
|
|
</noscript>
|
|
</p>
|
|
<noscript>
|
|
<p>
|
|
SessionCommunities.online works fine without JavaScript.
|
|
However, some interactive features are
|
|
only available with JS enabled.
|
|
</p>
|
|
</noscript>
|
|
</aside>
|
|
<?php include "+components/footer.php"; ?>
|
|
|
|
<div id="copy-snackbar"></div>
|
|
</div>
|
|
</body>
|
|
</html>
|