First commit

This commit is contained in:
Hypolite Petovan 2018-11-11 21:08:33 -05:00
commit 201edf2e4a
115 changed files with 29451 additions and 0 deletions

View file

@ -0,0 +1,19 @@
<!-- <div class="row">
<h1><?php echo $this->e($title) ?></h1>
</div>-->
<div class="row">
<div class="col-xl-9 col-lg-8">
<?php echo $this->fetch('sub/profiles.phtml', [
'page' => 'directory',
'profiles' => $profiles,
'accountTypeTabs' => $accountTypeTabs,
'pager_full' => $pager_full,
'pager_minimal' => $pager_minimal
]) ?>
</div>
<div class="col-xl-3 col-lg-4">
<?php echo $popularTags ?>
<?php echo $popularCountries ?>
</div>
</div>

View file

@ -0,0 +1,74 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Friendica Directory</title>
<base href="<?php echo $baseUrl ?>">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="assets/css/friendica-directory.min.css">
<link rel="stylesheet" href="assets/vendor/fontawesome/web-fonts-with-css/css/solid.css">
<link rel="stylesheet" href="assets/vendor/fontawesome/web-fonts-with-css/css/fontawesome.css">
</head>
<body>
<!-- Navigation -->
<nav class="navbar navbar-expand-lg navbar-light bg-light static-top">
<div class="container">
<a class="navbar-brand" href="">
<img src="assets/images/friendica-32.png" width="32" height="32" class="d-inline-block align-top" alt="">
Friendica Directory
</a>
<?php if (empty($noNavSearch)): ?>
<form class="form-inline my-2 my-lg-0 d-none d-md-flex" action="search">
<div class="input-group">
<label class="sr-only" for="header_search">Search terms</label>
<input name="q" class="form-control" type="search" id="header_search" placeholder="Search..."
aria-label="Search terms">
<div class="input-group-append">
<button class="btn btn-primary" type="submit">Search</button>
</div>
</div>
</form>
<?php endif; ?>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive"
aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse pt-2" id="navbarResponsive">
<ul class="navbar-nav ml-auto">
<?php if (empty($noNavSearch)): ?>
<li class="nav-item d-md-none">
<form action="search">
<div class="input-group">
<label class="sr-only" for="nav_search">Search terms</label>
<input name="q" class="form-control form-control-sm" type="search" id="nav_search"
placeholder="Search..." aria-label="Search terms">
<div class="input-group-append">
<button class="btn btn-primary btn-sm" type="submit">Search</button>
</div>
</div>
</form>
</li>
<?php endif; ?>
<li class="nav-item">
<a class="nav-link" href=""><i class="fa fa-address-card"></i> Directory
<!--<span class="sr-only">(current)</span>-->
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="servers"><i class="fa fa-hotel"></i> Public Servers</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- Page Content -->
<div class="container pt-3">
<?php echo $content ?>
</div>
<script type="text/javascript" src="assets/vendor/bootstrap.native/dist/bootstrap-native-v4.min.js"></script>
</body>
</html>

View file

@ -0,0 +1,20 @@
<!--<h1>Search</h1>-->
<form action="search">
<div class="input-group">
<label class="sr-only" for="search_search">Search terms</label>
<input name="q" class="form-control" type="search" id="search_search" placeholder="Search..."
aria-label="Search terms" value="<?php echo $this->escapeHtmlAttr($query) ?>">
<div class="input-group-append">
<button class="btn btn-primary" type="submit">Search</button>
</div>
</div>
</form>
<h2><?php echo $count ?> results for "<?php echo $this->e($query) ?>"</h2>
<?php echo $this->fetch('sub/profiles.phtml', [
'page' => 'search',
'profiles' => $profiles,
'accountTypeTabs' => $accountTypeTabs,
'pager_full' => $pager_full,
'pager_minimal' => $pager_minimal
]) ?>

View file

@ -0,0 +1,14 @@
<h1><?php echo $this->e($title) ?></h1>
<nav aria-label="Top servers pagination">
<?php echo $this->fetch('sub/pager_full.phtml', $pager) ?>
</nav>
<div class="row">
<?php foreach ($servers as $server) : ?>
<div class="col-xl-6">
<?php echo $this->fetch('sub/server.phtml', ['server' => $server, 'stable_version' => $stable_version, 'dev_version' => $dev_version]) ?>
</div>
<?php endforeach; ?>
</div>
<nav aria-label="Bottom servers pagination">
<?php echo $this->fetch('sub/pager_full.phtml', $pager) ?>
</nav>

View file

@ -0,0 +1,41 @@
<?php if (!empty($prev) || !empty($next)): ?>
<ul class="pagination justify-content-center">
<?php if (!empty($first)): ?>
<li class="page-item <?php echo $first['class'] ?>">
<a class="page-link" href="<?php echo $first['url'] ?>" tabindex="-1">
<span aria-hidden="true">&laquo;</span>
<?php echo $first['text'] ?>
</a>
</li>
<?php endif; ?>
<?php if (!empty($prev)): ?>
<li class="page-item <?php echo $prev['class'] ?>">
<a class="page-link" href="<?php echo $prev['url'] ?>" tabindex="-1">
<span aria-hidden="true">&lsaquo;</span>
<?php echo $prev['text'] ?>
</a>
</li>
<?php endif; ?>
<?php foreach ($pages as $page): ?>
<li class="page-item <?php echo $page['class'] ?>">
<a class="page-link" href="<?php echo $page['url'] ?>" tabindex="-1"><?php echo $page['text'] ?></a>
</li>
<?php endforeach; ?>
<?php if (!empty($next)): ?>
<li class="page-item <?php echo $next['class'] ?>">
<a class="page-link" href="<?php echo $next['url'] ?>" tabindex="-1">
<?php echo $next['text'] ?>
<span aria-hidden="true">&rsaquo;</span>
</a>
</li>
<?php endif; ?>
<?php if (!empty($last)): ?>
<li class="page-item <?php echo $last['class'] ?>">
<a class="page-link" href="<?php echo $last['url'] ?>" tabindex="-1">
<?php echo $last['text'] ?>
<span aria-hidden="true">&raquo;</span>
</a>
</li>
<?php endif; ?>
</ul>
<?php endif; ?>

View file

@ -0,0 +1,20 @@
<?php if (!empty($prev) || !empty($next)): ?>
<ul class="pagination justify-content-between">
<?php if (!empty($prev)): ?>
<li class="page-item <?php echo $prev['class'] ?>">
<a class="page-link" href="<?php echo $prev['url'] ?>" tabindex="-1">
<span aria-hidden="true">&lsaquo;</span>
<?php echo $prev['text'] ?>
</a>
</li>
<?php endif; ?>
<?php if (!empty($next)): ?>
<li class="page-item <?php echo $next['class'] ?>">
<a class="page-link" href="<?php echo $next['url'] ?>" tabindex="-1">
<?php echo $next['text'] ?>
<span aria-hidden="true">&rsaquo;</span>
</a>
</li>
<?php endif; ?>
</ul>
<?php endif; ?>

View file

@ -0,0 +1,57 @@
<?php
$parts = [];
if (!empty($profile['locality'])) {
$parts[] = $this->escapeHtml($profile['locality']) . ' <a href="search?field=locality&q=' . $this->escapeUrl($profile['locality']) . '"><span class="fa fa-filter" title="Search" aria-hidden="true"></span></a>';
}
if (!empty($profile['region'])
&& strtolower($profile['locality']) != strtolower($profile['region'])) {
$parts[] = $this->escapeHtml($profile['region']) . ' <a href="search?field=region&q=' . $this->escapeUrl($profile['region']) . '"><span class="fa fa-filter" title="Search" aria-hidden="true"></span></a>';
}
if (!empty($profile['country'])) {
$parts[] = $this->escapeHtml($profile['country']) . ' <a href="search?field=country&q=' . $this->escapeUrl($profile['country']) . '"><span class="fa fa-filter" title="Search" aria-hidden="true"></span></a>';
}
?>
<figure id="profile-<?php echo $this->escapeHtmlAttr($profile['id']) ?>" class="bg-light p-3 rounded">
<div class="media">
<a href="<?php echo $this->escapeHtmlAttr($profile['profile_url']) ?>"><img class="mr-3 rounded"
src="photo/<?php echo $profile['id'] ?>.jpg"></a>
<div class="media-body">
<h5 class="name">
<?php if ($profile['dfrn_request']): ?>
<a href="<?php echo $profile['dfrn_request']; ?>" class="card-link btn btn-primary float-right"><i
class="fa fa-external-link-alt"></i> Follow</a>
<?php endif; ?>
<?php echo $this->escapeHtml($profile['name']) ?>
</h5>
<p class="url"><a
href="<?php echo $this->escapeHtmlAttr($profile['profile_url']) ?>"><?php echo $this->escapeHtml($profile['addr']) ?></a>
</p>
<p class="description d-none d-md-block"><?php echo $this->escapeHtml($profile['pdesc']) ?></p>
</div>
</div>
<p class="description d-md-none"><?php echo $this->escapeHtml($profile['pdesc']) ?></p>
<div class="location">
<?php if (count($parts)): ?>
<i class="fa fa-globe"></i>
<?php echo implode(', ', $parts); ?>
<?php endif ?>
</div>
<?php if ($profile['tags']): ?>
<div class="tags">
<?php
$tags = array_map('trim', explode(' ', $profile['tags']));
foreach ($tags as $tag):?>
<span class="badge"><?php echo $this->escapeHtml($tag) ?> <a
href="/search?q=<?php echo $this->escapeUrl($tag) ?>"><i class="fa fa-tag"
title="Search tag"></i></a></span>
<?php endforeach; ?>
</div>
<?php endif; ?>
</figure>

View file

@ -0,0 +1,18 @@
<nav aria-label="Account type tabs" class="mb-3">
<?php echo $accountTypeTabs ?>
</nav>
<nav aria-label="Top <?php echo $page ?> pagination" class="d-none d-md-block">
<?php echo $this->fetch('sub/pager_full.phtml', $pager_full) ?>
</nav>
<nav aria-label="Top <?php echo $page ?> pagination" class="d-md-none">
<?php echo $this->fetch('sub/pager_minimal.phtml', $pager_minimal) ?>
</nav>
<?php foreach ($profiles as $profile) : ?>
<?php echo $this->fetch('sub/profile.phtml', ['profile' => $profile]) ?>
<?php endforeach; ?>
<nav aria-label="Bottom <?php echo $page ?> pagination" class="d-none d-md-block">
<?php echo $this->fetch('sub/pager_full.phtml', $pager_full) ?>
</nav>
<nav aria-label="Bottom <?php echo $page ?> pagination" class="d-md-none">
<?php echo $this->fetch('sub/pager_minimal.phtml', $pager_minimal) ?>
</nav>

View file

@ -0,0 +1,84 @@
<?php
if ($server['health_score'] <= 0) {
$badge_class = 'badge-dark';
} elseif ($server['health_score'] <= 50) {
$badge_class = 'badge-danger';
} elseif ($server['health_score'] <= 80) {
$badge_class = 'badge-warning';
} else {
$badge_class = 'badge-success';
}
if ($server['version'] == $stable_version) {
$version_badge = '<span class="badge badge-success"><i class="fa fa-smile"></i> Stable Version</span>';
} elseif ($server['version'] == $dev_version) {
$version_badge = '<span class="badge badge-secondary"><i class="fa fa-poo"></i> Develop Version</span>';
} else {
$version_badge = '<span class="badge badge-warning"><i class="fa fa-frown"></i> Outdated Version</span>';
}
$base_url = $server['base_url'];
$base_url_display = substr($base_url, strpos($base_url, '/') + 2);
?>
<div class="card mr-2 mb-2 bg-light" id="server-card-<?php echo $server['id'] ?>">
<div class="card-body">
<h5 class="card-title">
<?php echo $this->e($server['name']); ?>
</h5>
<h6 class="card-subtitle mb-2 text-muted">
<?php if ($server['ssl_state']): ?>
<span class="badge badge-success"><i class="fa fa-lock"></i> HTTPS</span>
<?php else: ?>
<span class="badge badge-secondary"><i class="fa fa-lock-open"></i> HTTP</span>
<?php endif; ?>
<a href="<?php echo $base_url; ?>"><?php echo $this->e($base_url_display); ?></a>
</h6>
<p class="card-text">
<span class="badge <?php echo $badge_class ?>"><i
class="fa fa-heartbeat"></i> <?php echo $server['health_score'] ?></span>
<span class="badge badge-secondary"><i
class="fa fa-user"></i> <?php echo $this->e($server['user_count'] ?: '~'); ?> Users</span>
<?php echo $version_badge; ?>
<?php if ($server['admin_profile'] && $server['admin_name']): ?>
<a href="<?php echo $server['admin_profile']; ?>" class="badge badge-primary">
<i class="fa fa-star"></i> Admin: <?php echo $this->e($server['admin_name']); ?>
</a>
<?php endif; ?>
</p>
<?php if ($server['info']) : ?>
<p class="card-text"><?php echo $this->e($server['info']); ?></p>
<?php else: ?>
<p class="card-text text-muted">&lt;No description provided&gt;</p>
<?php endif; ?>
<a href="<?php echo $base_url; ?>" class="card-link btn btn-primary"><i class="fa fa-external-link-alt"></i>
Visit server</a>
</div>
</div>
<?php /*
<div class="site">
<div class="site-supports">
<em>Features</em>
<?php foreach ($server['popular_supports'] as $key => $value): if (!$value) continue; ?>
<div class="supports <?php echo strtolower($key); ?>">
<?php echo $key; ?><?php if ($key == 'HTTPS' && $server['ssl_grade'] != null): ?>,&nbsp;Grade:&nbsp;<?php echo $server['ssl_grade']; ?><?php endif ?>&nbsp;&nbsp;&radic;
</div>
<?php endforeach ?>
<?php if ($server['supports_more'] > 0): ?>
<?php
$more = '';
foreach ($server['less_popular_supports'] as $key => $value) {
if (!$value)
continue;
$more .= $key . PHP_EOL;
}
?>
<abbr class="more" title="<?php echo $more ?>">+<?php echo $server['supports_more']; ?> more</abbr>
<?php endif ?>
</div>
</div>
*/

17
src/templates/tag.phtml Normal file
View file

@ -0,0 +1,17 @@
<h1>Tag</h1>
<div class="row">
<h2><?php echo $count ?> results for "<?php echo $this->e($term) ?>"</h2>
</div>
<nav aria-label="Bottom search pagination">
<?php echo $this->fetch('pager.phtml', $pager) ?>
</nav>
<div class="row">
<?php foreach ($profiles as $profile) : ?>
<div class="col-xl-6">
<?php echo $this->fetch('sub/profile.phtml', ['profile' => $profile]) ?>
</div>
<?php endforeach; ?>
</div>
<nav aria-label="Bottom search pagination">
<?php echo $this->fetch('pager.phtml', $pager) ?>
</nav>

View file

@ -0,0 +1,8 @@
<ul class="nav nav-tabs justify-content-center">
<?php foreach ($tabs as $tab): ?>
<li class="nav-item">
<a class="nav-link<?php echo $tab['active'] ? ' active' : '' ?>"
href="<?php echo $this->escapeHtmlAttr($tab['link']) ?>"><?php echo $this->e($tab['title']) ?></a>
</li>
<?php endforeach; ?>
</ul>

View file

@ -0,0 +1,12 @@
<div>
<h3><?php echo $this->e($title) ?></h3>
<ul>
<?php foreach ($countries as $country): ?>
<li>
<a href="search?field=country&q=<?php echo $this->escapeUrl($country['country']) ?>">
<?php echo $this->e($country['country']) ?>
</a>
</li>
<?php endforeach; ?>
</ul>
</div>

View file

@ -0,0 +1,12 @@
<div>
<h3><?php echo $this->e($title) ?></h3>
<ul>
<?php foreach ($tags as $tag): ?>
<li>
<a href="search?q=<?php echo $this->escapeUrl($tag['term']) ?>">
<?php echo $this->e($tag['term']) ?>
</a>
</li>
<?php endforeach; ?>
</ul>
</div>