servnest/nic/register.php

173 lines
7.3 KiB
PHP
Raw Normal View History

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