aboutsummaryrefslogtreecommitdiff
path: root/app/genealogy/index.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/genealogy/index.php')
-rw-r--r--app/genealogy/index.php237
1 files changed, 188 insertions, 49 deletions
diff --git a/app/genealogy/index.php b/app/genealogy/index.php
index f944d59..892e511 100644
--- a/app/genealogy/index.php
+++ b/app/genealogy/index.php
@@ -1,49 +1,188 @@
-<?php
-
-require_once $_SERVER['DOCUMENT_ROOT'] . "/../session.php";
-
-/** @var string $_FULLNAME
- * @var string $_USER
- * @var string $_SUID
- * @var array $_PROFILE
- */
-
-?>
-
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <title>Familine Help</title>
- <link rel="icon" href="https://familine.minteck.org/icns/familine-help.svg">
- <link rel="stylesheet" href="https://familine.minteck.org/styles.css">
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
-</head>
-<body>
- <div class="container" style="margin-top:30px;">
- <h1>Centre d'aide de Familine</h1>
- <p>Obtenez de l'aide avec Familine, rapidement et simplement. Pour commencer, choisissez la catégorie correspondante à votre question.</p>
- <div class="list-group">
- <a href="/account" class="list-group-item list-group-item-action">Compte Familine</a>
- <a href="/media" class="list-group-item list-group-item-action">Service en ligne multimédia (Familine Movies et Photos)</a>
- <a href="/money" class="list-group-item list-group-item-action">Comptes bancaires Familine Money (Faminey)</a>
- <a href="/review" class="list-group-item list-group-item-action">Stockage en réseau (Familine Review)</a>
- <a href="/share" class="list-group-item list-group-item-action">Partager des fichiers avec Familine Share</a>
- <a href="/wiki" class="list-group-item list-group-item-action">Accéder à la nouvelle version de Famiwiki (Familine Docs)</a>
- <a href="/legal" class="list-group-item list-group-item-action">Mentions légales</a>
- </div>
- </div>
- <script>
- console.log("Injecting Familine header")
- document.body.innerHTML = document.body.innerHTML + "<iframe style=\"position:fixed;left:0;right:0;top:0;border: none;width: 100%;height:32px;\" src=\"https://<?= /** @var array $_CONFIG */
- $_CONFIG["Global"]["domain"] ?>/statusbar.php\"></iframe>";
- document.getElementsByTagName("html")[0].style.marginTop = "32px";
- document.getElementsByTagName("html")[0].style.height = "calc(100vh - 32px)";
- </script>
-</body>
-</html> \ No newline at end of file
+<?php $_TITLE = "Accueil"; require_once $_SERVER['DOCUMENT_ROOT'] . "/private/header.php"; ?>
+<div class="container" style="text-align: center;">
+ <h1>Familine Recall</h1>
+ <p><i>La généalogie familiale simplifiée et accessible à tous</i></p>
+
+ <h2>Pour vous</h2>
+ <div class="list-group">
+ <a href="/me" class="list-group-item list-group-item-action">Consulter la généalogie à partir de vous</a>
+ </div>
+ <br>
+
+ <h2>Statistiques</h2>
+ <ul class="list-group">
+ <li class="list-group-item"><?= count($data); ?> personnes</li>
+ <li class="list-group-item">
+ <?php
+
+ $male = 0;
+ $female = 0;
+ foreach ($data as $id => $person) {
+ if (isset($person["sex"])) {
+ if ($person["sex"] === "F") {
+ $female++;
+ } else {
+ $male++;
+ }
+ }
+ }
+ $total = $male + $female;
+ echo(round(($female/$total) * 100, 2) . "% de femmes pour " . round(($male/$total) * 100, 2) . "% d'hommes");
+
+ ?>
+ </li>
+ <li class="list-group-item"><?php
+
+ $uniqueNames = [];
+ foreach ($data as $person) {
+ if (!in_array($person["famname"], $uniqueNames)) {
+ $uniqueNames[] = $person["famname"];
+ }
+ }
+
+ echo(count($uniqueNames) . " noms de familles uniques")
+
+ ?></li>
+ <li class="list-group-item"><?= round(filesize($_SERVER['DOCUMENT_ROOT'] . "/private/data/people.json") / 1024) ?> Ko de données</li>
+ <li class="list-group-item">
+ <?php
+
+ $numChildren = [];
+ foreach ($data as $person) {
+ if (isset($person["family"])) {
+ $numChildren[] = count($person["family"]["children"]);
+ }
+ }
+ echo(round(array_sum($numChildren)/count($numChildren), 2) . " enfants en moyenne par famille");
+ echo(" <span class='text-muted'>(statistiques calculées sur " . count($numChildren) . " familles)</span>");
+
+ ?>
+ </li>
+ <li class="list-group-item">
+ <?php
+
+ $deathAge = [];
+ foreach ($data as $id => $person) {
+ if (isset($person["death"]["date"]["year"]) && isset($person["birth"]["date"]["year"])) {
+ $deathAge[$id] = $person["death"]["date"]["year"] - $person["birth"]["date"]["year"];
+ }
+ }
+ echo("Décès en moyenne à " . round(array_sum($deathAge)/count($deathAge), 2) . " ans");
+ echo(" <span class='text-muted'>(statistiques calculées sur " . count($deathAge) . " personnes)</span>");
+
+ ?>
+ </li>
+ <li class="list-group-item">
+ <?php
+
+ $deathAge = [];
+ foreach ($data as $id => $person) {
+ if (isset($person["death"]["date"]["year"]) && isset($person["birth"]["date"]["year"])) {
+ $deathAge[$id] = $person["death"]["date"]["year"] - $person["birth"]["date"]["year"];
+ }
+ }
+ echo("Personne la plus vieille décédée à " . max($deathAge) . " ans");
+ echo(" (<a href='/person/?_=" . array_search(max($deathAge), $deathAge) . "'>" . $data[array_search(max($deathAge), $deathAge)]["famname"] . " " . $data[array_search(max($deathAge), $deathAge)]["surname"] . "</a>, †" . $data[array_search(max($deathAge), $deathAge)]["death"]["date"]["year"] . ")");
+ echo(" <span class='text-muted'>(statistiques calculées sur " . count($deathAge) . " personnes)</span>");
+
+ ?>
+ </li>
+ <li class="list-group-item">
+ <?php
+
+ $deathAge = [];
+ foreach ($data as $id => $person) {
+ if (isset($person["death"]["date"]["year"]) && isset($person["birth"]["date"]["year"])) {
+ $deathAge[$id] = $person["death"]["date"]["year"] - $person["birth"]["date"]["year"];
+ }
+ }
+ echo("Personne la plus jeune décédée à " . min($deathAge) . " ans");
+ echo(" (<a href='/person/?_=" . array_search(min($deathAge), $deathAge) . "'>" . $data[array_search(min($deathAge), $deathAge)]["famname"] . " " . $data[array_search(min($deathAge), $deathAge)]["surname"] . "</a>, †" . $data[array_search(min($deathAge), $deathAge)]["death"]["date"]["year"] . ")");
+ echo(" <span class='text-muted'>(statistiques calculées sur " . count($deathAge) . " personnes)</span>");
+
+ ?>
+ </li>
+ <li class="list-group-item">
+ <?php
+
+ $numChildren = [];
+ foreach ($data as $id => $person) {
+ if (isset($person["family"])) {
+ $numChildren[$id] = count($person["family"]["children"]);
+ }
+ }
+ echo("Famille la plus grande avec " . max($numChildren) . " enfants");
+ echo(" (<a href='/person/?_=" . array_search(max($numChildren), $numChildren) . "'>" . $data[array_search(max($numChildren), $numChildren)]["famname"] . " " . $data[array_search(max($numChildren), $numChildren)]["surname"] . "</a>)");
+ echo(" <span class='text-muted'>(statistiques calculées sur " . count($numChildren) . " familles)</span>");
+
+ ?>
+ </li>
+
+ <li class="list-group-item">
+ <?php
+
+ $ageWhenMarried = [];
+ foreach ($data as $id => $person) {
+ if (isset($person["family"])) {
+ if (isset($person["family"]["marriage"]["date"]["year"]) && isset($person["birth"]["date"]["year"])) {
+ $ageWhenMarried[$id] = $person["family"]["marriage"]["date"]["year"] - $person["birth"]["date"]["year"];
+ }
+ }
+ }
+ echo("Mariage en moyenne à " . round(array_sum($ageWhenMarried)/count($ageWhenMarried), 2) . " ans");
+ echo(" <span class='text-muted'>(statistiques calculées sur " . count($ageWhenMarried) . " familles)</span>");
+
+ ?>
+ </li>
+ <li class="list-group-item">
+ <?php
+
+ $ageWhenMarried = [];
+ foreach ($data as $id => $person) {
+ if (isset($person["family"])) {
+ if (isset($person["family"]["marriage"]["date"]["year"]) && isset($person["birth"]["date"]["year"])) {
+ $ageWhenMarried[$id] = $person["family"]["marriage"]["date"]["year"] - $person["birth"]["date"]["year"];
+ }
+ }
+ }
+ echo("Mariage le plus tard à " . max($ageWhenMarried) . " ans");
+ echo(" (<a href='/person/?_=" . array_search(max($ageWhenMarried), $ageWhenMarried) . "'>" . $data[array_search(max($ageWhenMarried), $ageWhenMarried)]["famname"] . " " . $data[array_search(max($ageWhenMarried), $ageWhenMarried)]["surname"] . "</a>)");
+ echo(" <span class='text-muted'>(statistiques calculées sur " . count($ageWhenMarried) . " familles)</span>");
+
+ ?>
+ </li>
+ <li class="list-group-item">
+ <?php
+
+ $ageWhenMarried = [];
+ foreach ($data as $id => $person) {
+ if (isset($person["family"])) {
+ if (isset($person["family"]["marriage"]["date"]["year"]) && isset($person["birth"]["date"]["year"])) {
+ $ageWhenMarried[$id] = $person["family"]["marriage"]["date"]["year"] - $person["birth"]["date"]["year"];
+ }
+ }
+ }
+ echo("Mariage le plus tôt à " . min($ageWhenMarried) . " ans");
+ echo(" (<a href='/person/?_=" . array_search(min($ageWhenMarried), $ageWhenMarried) . "'>" . $data[array_search(min($ageWhenMarried), $ageWhenMarried)]["famname"] . " " . $data[array_search(min($ageWhenMarried), $ageWhenMarried)]["surname"] . "</a>)");
+ echo(" <span class='text-muted'>(statistiques calculées sur " . count($ageWhenMarried) . " familles)</span>");
+
+ ?>
+ </li>
+ </ul>
+ <br>
+
+ <h2>Lancer une recherche</h2>
+ <div class="list-group">
+ <a href="/search/name" class="list-group-item list-group-item-action">Rechercher par prénom</a>
+ <a href="/search/lastname" class="list-group-item list-group-item-action">Rechercher par nom</a>
+ <a href="/search/birth" class="list-group-item list-group-item-action">Rechercher par date de naissance</a>
+ <a href="/search/death" class="list-group-item list-group-item-action">Rechercher par date de décès</a>
+ <a href="/search/marriage" class="list-group-item list-group-item-action">Rechercher par date de mariage</a>
+ <a href="/search/city" class="list-group-item list-group-item-action">Rechercher par ville</a>
+ <a href="/search/dept" class="list-group-item list-group-item-action">Rechercher par département</a>
+ <a href="/search/state" class="list-group-item list-group-item-action">Rechercher par région</a>
+ </div>
+
+</div>
+<br>
+<?php require_once $_SERVER['DOCUMENT_ROOT'] . "/private/footer.php"; ?> \ No newline at end of file