servnest/nic/register.php

179 lines
8.4 KiB
PHP
Raw Normal View History

2021-01-22 21:58:46 +01:00
<?php include "../top.inc.php"; ?>
Enregistrer la possession d'un domaine sur son compte
2021-01-22 21:58:46 +01:00
<form method="post">
<label for="subdomain">Domaine</label>
<br>
<input id="subdomain" pattern="[a-z]{4,63}" required="" placeholder="nic" name="subdomain" type="text">.atope.art.
<!--
2021-01-25 13:39:31 +01:00
<select required="" name="suffix">
<option selected="" value=".atope.art.">.atope.art.</option>
2021-01-25 13:39:31 +01:00
<optgroup label="Organisations">
<option value=".asso.atope.art.">.asso.atope.art.</option>
<option value=".org.atope.art.">.org.atope.art.</option>
2021-01-25 13:39:31 +01:00
</optgroup>
<optgroup label="Personnels">
<option value=".perso.atope.art.">.perso.atope.art.</option>
<option value=".blog.atope.art.">.blog.atope.art.</option>
2021-02-16 19:20:19 +01:00
<option value=".gemlog.atope.art.">.gemlog.atope.art.</option>
<option value=".me.atope.art.">.me.atope.art.</option>
2021-01-25 13:39:31 +01:00
</optgroup>
<optgroup label="Connaissance">
<option value=".edu.atope.art.">.edu.atope.art.</option>
<option value=".info.atope.art.">.info.atope.art.</option>
<option value=".wiki.atope.art.">.wiki.atope.art.</option>
2021-02-16 19:20:19 +01:00
<option value=".sci.atope.art.">.sci.atope.art.</option>
2021-01-25 13:39:31 +01:00
</optgroup>
<optgroup label="Politique">
<option value=".pol.atope.art.">.pol.atope.art.</option>
<option value=".libre.atope.art.">.libre.atope.art.</option>
<option value=".fem.atope.art.">.fem.atope.art.</option>
<option value=".eco.atope.art.">.eco.atope.art.</option>
<option value=".veg.atope.art.">.veg.atope.art.</option>
2021-02-16 19:20:19 +01:00
<option value=".bio.atope.art.">.bio.atope.art.</option>
<option value=".anar.atope.art.">.anar.atope.art.</option>
<option value=".ancom.atope.art.">.ancom.atope.art.</option>
<option value=".acab.atope.art.">.acab.atope.art.</option>
<option value=".handi.atope.art.">.handi.atope.art.</option>
2021-01-25 13:39:31 +01:00
</optgroup>
<optgroup label="LGBT+">
<option value=".queer.atope.art.">.queer.atope.art.</option>
<option value=".gay.atope.art.">.gay.atope.art.</option>
<option value=".enby.atope.art.">.enby.atope.art.</option>
<option value=".trans.atope.art.">.trans.atope.art.</option>
2021-01-25 13:39:31 +01:00
</optgroup>
<optgroup label="Technologie">
<option value=".net.atope.art.">.net.atope.art.</option>
<option value=".tech.atope.art.">.tech.atope.art.</option>
<option value=".io.atope.art.">.io.atope.art.</option>
<option value=".sec.atope.art.">.sec.atope.art.</option>
<option value=".cyber.atope.art.">.cyber.atope.art.</option>
<option value=".dev.atope.art.">.dev.atope.art.</option>
<option value=".geek.atope.art.">.geek.atope.art.</option>
<option value=".fs.atope.art.">.fs.atope.art.</option>
<option value=".ht.atope.art.">.ht.atope.art.</option>
<option value=".hyper.atope.art.">.hyper.atope.art.</option>
<option value=".git.atope.art.">.git.atope.art.</option>
<option value=".forge.atope.art.">.forge.atope.art.</option>
<option value=".code.atope.art.">.code.atope.art.</option>
<option value=".lab.atope.art.">.lab.atope.art.</option>
<option value=".labs.atope.art.">.labs.atope.art.</option>
<option value=".gemini.atope.art.">.gemini.atope.art.</option>
<option value=".gmi.atope.art.">.gmi.atope.art.</option>
<option value=".mail.atope.art.">.mail.atope.art.</option>
<option value=".ynh.atope.art.">.ynh.atope.art.</option>
<option value=".yuno.atope.art.">.yuno.atope.art.</option>
2021-01-25 13:39:31 +01:00
</optgroup>
<optgroup label="Fédiverse">
<option value=".fed.atope.art.">.fed.atope.art.</option>
<option value=".fedi.atope.art.">.fedi.atope.art.</option>
<option value=".soc.atope.art.">.soc.atope.art.</option>
<option value=".masto.atope.art.">.masto.atope.art.</option>
<option value=".plero.atope.art.">.plero.atope.art.</option>
<option value=".pix.atope.art.">.pix.atope.art.</option>
<option value=".mobi.atope.art.">.mobi.atope.art.</option>
2021-01-25 13:39:31 +01:00
</optgroup>
<optgroup label="Arts">
<option value=".art.atope.art.">.art.atope.art.</option>
<option value=".music.atope.art.">.music.atope.art.</option>
<option value=".video.atope.art.">.video.atope.art.</option>
<option value=".draw.atope.art.">.draw.atope.art.</option>
<option value=".audio.atope.art.">.audio.atope.art.</option>
2021-02-16 19:20:19 +01:00
<option value=".ink.atope.art.">.ink.atope.art.</option>
2021-01-25 13:39:31 +01:00
</optgroup>
<optgroup label="Neurodiversité">
<option value=".na.atope.art.">.na.atope.art.</option>
<option value=".psy.atope.art.">.psy.atope.art.</option>
<option value=".neuro.atope.art.">.neuro.atope.art.</option>
<option value=".autism.atope.art.">.autism.atope.art.</option>
<option value=".plural.atope.art.">.plural.atope.art.</option>
2021-01-25 13:39:31 +01:00
</optgroup>
<optgroup label="Couleurs">
<option value=".blue.atope.art.">.blue.atope.art.</option>
<option value=".red.atope.art.">.red.atope.art.</option>
<option value=".pink.atope.art.">.pink.atope.art.</option>
<option value=".green.atope.art.">.green.atope.art.</option>
<option value=".black.atope.art.">.black.atope.art.</option>
2021-01-25 13:39:31 +01:00
</optgroup>
<optgroup label="Communauté">
<option value=".city.atope.art.">.city.atope.art.</option>
<option value=".town.atope.art.">.town.atope.art.</option>
<option value=".cafe.atope.art.">.cafe.atope.art.</option>
<option value=".home.atope.art.">.home.atope.art.</option>
<option value=".forum.atope.art.">.forum.atope.art.</option>
2021-01-25 13:39:31 +01:00
</optgroup>
<optgroup label="Divers">
<option value=".dream.atope.art.">.dream.atope.art.</option>
<option value=".space.atope.art.">.space.atope.art.</option>
<option value=".forest.atope.art.">.forest.atope.art.</option>
<option value=".rain.atope.art.">.rain.atope.art.</option>
<option value=".snow.atope.art.">.snow.atope.art.</option>
<option value=".sun.atope.art.">.sun.atope.art.</option>
<option value=".earth.atope.art.">.earth.atope.art.</option>
<option value=".world.atope.art.">.world.atope.art.</option>
<option value=".soft.atope.art.">.soft.atope.art.</option>
<option value=".cute.atope.art.">.cute.atope.art.</option>
<option value=".cutie.atope.art.">.cutie.atope.art.</option>
2021-02-16 19:20:19 +01:00
<option value=".fun.atope.art.">.fun.atope.art.</option>
<option value=".play.atope.art.">.play.atope.art.</option>
<option value=".game.atope.art.">.game.atope.art.</option>
2021-01-25 13:39:31 +01:00
</optgroup>
</select>
2021-01-22 21:58:46 +01:00
-->
<br>
<input value="Valider" type="submit">
2021-01-22 21:58:46 +01:00
</form>
<?php
if (isset($_POST['subdomain']) AND isset($_SESSION['username'])) {
if (preg_match("#[a-z]{4,63}#", $_POST['subdomain'])) {
$domain = $_POST['subdomain'] . ".atope.art.";
if (filter_var($domain, FILTER_VALIDATE_DOMAIN)) {
2021-01-22 21:58:46 +01:00
$domainArray[0] = $domain;
2021-01-22 21:58:46 +01:00
$db = new PDO('sqlite:' . $dbPath);
2021-01-22 21:58:46 +01:00
$req = $db->prepare('SELECT domain FROM registry WHERE domain = ?');
$req->execute($domainArray);
2021-01-22 21:58:46 +01:00
$domainFound = $req->fetch()['domain'];
2021-01-22 21:58:46 +01:00
if (isset($domainFound)) {
echo "Le domaine " . $domainFound . " est déjà utilisé.";
} else {
$db = new PDO('sqlite:' . $dbPath);
$stmt = $db->prepare("INSERT INTO registry(domain, username, last_renewal) VALUES(:domain, :username, :last_renewal)");
$username = $_SESSION['username'];
2021-01-22 21:58:46 +01:00
$time = time();
2021-01-22 21:58:46 +01:00
$stmt->bindParam(':domain', $domain);
$stmt->bindParam(':username', $username);
$stmt->bindParam(':last_renewal', $time);
2021-01-22 21:58:46 +01:00
$stmt->execute();
2021-01-22 21:58:46 +01:00
echo "Nouveau domaine enregistré";
}
2021-01-22 21:58:46 +01:00
} else {
echo "Erreur : Nom de domaine invalide";
}
2021-01-22 21:58:46 +01:00
} else {
echo "Erreur : Le nom de domaine doit être composé d'entre 4 et 63 lettres minuscules (a-z)";
2021-01-22 21:58:46 +01:00
}
2021-01-22 21:58:46 +01:00
} else {
echo "Rien n'a été appliqué lors du dernier chargement.";
}
?>
<?php include "../bottom.inc.php"; ?>